1 | 'use strict';
|
2 |
|
3 | function containsNewline(key) {
|
4 | if (!key)
|
5 | return null;
|
6 | switch (key.type) {
|
7 | case 'alias':
|
8 | case 'scalar':
|
9 | case 'double-quoted-scalar':
|
10 | case 'single-quoted-scalar':
|
11 | if (key.source.includes('\n'))
|
12 | return true;
|
13 | if (key.end)
|
14 | for (const st of key.end)
|
15 | if (st.type === 'newline')
|
16 | return true;
|
17 | return false;
|
18 | case 'flow-collection':
|
19 | for (const it of key.items) {
|
20 | for (const st of it.start)
|
21 | if (st.type === 'newline')
|
22 | return true;
|
23 | if (it.sep)
|
24 | for (const st of it.sep)
|
25 | if (st.type === 'newline')
|
26 | return true;
|
27 | if (containsNewline(it.key) || containsNewline(it.value))
|
28 | return true;
|
29 | }
|
30 | return false;
|
31 | default:
|
32 | return true;
|
33 | }
|
34 | }
|
35 |
|
36 | exports.containsNewline = containsNewline;
|