yaml 1.8.3 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/README.md +4 -4
  2. package/browser/dist/PlainValue-ff5147c6.js +1277 -0
  3. package/browser/dist/Schema-2bf2c74e.js +679 -0
  4. package/browser/dist/index.js +923 -38
  5. package/browser/dist/legacy-exports.js +3 -0
  6. package/browser/dist/parse-cst.js +1904 -0
  7. package/browser/dist/resolveSeq-04825f30.js +2373 -0
  8. package/browser/dist/types.js +4 -0
  9. package/browser/dist/util.js +2 -0
  10. package/browser/dist/warnings-0e4b70d3.js +499 -0
  11. package/browser/index.js +1 -1
  12. package/browser/map.js +2 -2
  13. package/browser/pair.js +2 -2
  14. package/browser/parse-cst.js +1 -1
  15. package/browser/scalar.js +2 -2
  16. package/browser/schema.js +8 -6
  17. package/browser/seq.js +2 -2
  18. package/browser/types/binary.js +3 -2
  19. package/browser/types/omap.js +3 -2
  20. package/browser/types/pairs.js +3 -2
  21. package/browser/types/set.js +3 -2
  22. package/browser/types/timestamp.js +6 -6
  23. package/browser/types.js +1 -11
  24. package/browser/util.js +1 -15
  25. package/dist/Document-2cf6b08c.js +757 -0
  26. package/dist/PlainValue-ec8e588e.js +876 -0
  27. package/dist/Schema-42e9705c.js +522 -0
  28. package/dist/index.js +21 -43
  29. package/dist/legacy-exports.js +16 -0
  30. package/dist/parse-cst.js +1747 -0
  31. package/dist/resolveSeq-4a68b39b.js +2115 -0
  32. package/dist/test-events.js +11 -14
  33. package/dist/types.js +23 -0
  34. package/dist/util.js +19 -0
  35. package/dist/warnings-39684f17.js +416 -0
  36. package/index.d.ts +372 -0
  37. package/index.js +1 -1
  38. package/map.js +2 -2
  39. package/package.json +32 -45
  40. package/pair.js +2 -2
  41. package/parse-cst.d.ts +187 -0
  42. package/parse-cst.js +1 -1
  43. package/scalar.js +2 -2
  44. package/schema.js +8 -6
  45. package/seq.js +2 -2
  46. package/types/binary.js +3 -2
  47. package/types/omap.js +3 -2
  48. package/types/pairs.js +3 -2
  49. package/types/set.js +3 -2
  50. package/types/timestamp.js +6 -6
  51. package/types.d.ts +407 -0
  52. package/types.js +16 -10
  53. package/types.mjs +15 -18
  54. package/util.d.ts +86 -0
  55. package/util.js +14 -13
  56. package/util.mjs +13 -19
  57. package/browser/dist/Anchors.js +0 -133
  58. package/browser/dist/Document.js +0 -819
  59. package/browser/dist/addComment.js +0 -8
  60. package/browser/dist/constants.js +0 -26
  61. package/browser/dist/cst/Alias.js +0 -42
  62. package/browser/dist/cst/BlankLine.js +0 -56
  63. package/browser/dist/cst/BlockValue.js +0 -247
  64. package/browser/dist/cst/Collection.js +0 -274
  65. package/browser/dist/cst/CollectionItem.js +0 -136
  66. package/browser/dist/cst/Comment.js +0 -40
  67. package/browser/dist/cst/Directive.js +0 -72
  68. package/browser/dist/cst/Document.js +0 -282
  69. package/browser/dist/cst/FlowCollection.js +0 -216
  70. package/browser/dist/cst/Node.js +0 -388
  71. package/browser/dist/cst/ParseContext.js +0 -248
  72. package/browser/dist/cst/PlainValue.js +0 -166
  73. package/browser/dist/cst/QuoteDouble.js +0 -241
  74. package/browser/dist/cst/QuoteSingle.js +0 -116
  75. package/browser/dist/cst/Range.js +0 -67
  76. package/browser/dist/cst/parse.js +0 -48
  77. package/browser/dist/cst/source-utils.js +0 -168
  78. package/browser/dist/errors.js +0 -112
  79. package/browser/dist/foldFlowLines.js +0 -138
  80. package/browser/dist/listTagNames.js +0 -28
  81. package/browser/dist/schema/Alias.js +0 -139
  82. package/browser/dist/schema/Collection.js +0 -267
  83. package/browser/dist/schema/Map.js +0 -178
  84. package/browser/dist/schema/Merge.js +0 -127
  85. package/browser/dist/schema/Node.js +0 -7
  86. package/browser/dist/schema/Pair.js +0 -171
  87. package/browser/dist/schema/Scalar.js +0 -38
  88. package/browser/dist/schema/Seq.js +0 -114
  89. package/browser/dist/schema/index.js +0 -382
  90. package/browser/dist/schema/parseMap.js +0 -312
  91. package/browser/dist/schema/parseSeq.js +0 -168
  92. package/browser/dist/schema/parseUtils.js +0 -110
  93. package/browser/dist/stringify.js +0 -331
  94. package/browser/dist/tags/core.js +0 -126
  95. package/browser/dist/tags/failsafe/index.js +0 -4
  96. package/browser/dist/tags/failsafe/map.js +0 -56
  97. package/browser/dist/tags/failsafe/seq.js +0 -43
  98. package/browser/dist/tags/failsafe/string.js +0 -28
  99. package/browser/dist/tags/index.js +0 -36
  100. package/browser/dist/tags/json.js +0 -76
  101. package/browser/dist/tags/options.js +0 -23
  102. package/browser/dist/tags/yaml-1.1/binary.js +0 -87
  103. package/browser/dist/tags/yaml-1.1/index.js +0 -157
  104. package/browser/dist/tags/yaml-1.1/omap.js +0 -142
  105. package/browser/dist/tags/yaml-1.1/pairs.js +0 -81
  106. package/browser/dist/tags/yaml-1.1/set.js +0 -114
  107. package/browser/dist/tags/yaml-1.1/timestamp.js +0 -97
  108. package/browser/dist/test-events.js +0 -163
  109. package/browser/dist/toJSON.js +0 -20
  110. package/browser/dist/warnings.js +0 -28
  111. package/dist/Anchors.js +0 -125
  112. package/dist/Document.js +0 -710
  113. package/dist/addComment.js +0 -17
  114. package/dist/constants.js +0 -34
  115. package/dist/cst/Alias.js +0 -38
  116. package/dist/cst/BlankLine.js +0 -56
  117. package/dist/cst/BlockValue.js +0 -248
  118. package/dist/cst/Collection.js +0 -271
  119. package/dist/cst/CollectionItem.js +0 -140
  120. package/dist/cst/Comment.js +0 -38
  121. package/dist/cst/Directive.js +0 -64
  122. package/dist/cst/Document.js +0 -281
  123. package/dist/cst/FlowCollection.js +0 -218
  124. package/dist/cst/Node.js +0 -365
  125. package/dist/cst/ParseContext.js +0 -258
  126. package/dist/cst/PlainValue.js +0 -161
  127. package/dist/cst/QuoteDouble.js +0 -237
  128. package/dist/cst/QuoteSingle.js +0 -113
  129. package/dist/cst/Range.js +0 -63
  130. package/dist/cst/parse.js +0 -55
  131. package/dist/cst/source-utils.js +0 -178
  132. package/dist/errors.js +0 -102
  133. package/dist/foldFlowLines.js +0 -146
  134. package/dist/listTagNames.js +0 -38
  135. package/dist/schema/Alias.js +0 -110
  136. package/dist/schema/Collection.js +0 -188
  137. package/dist/schema/Map.js +0 -103
  138. package/dist/schema/Merge.js +0 -80
  139. package/dist/schema/Node.js +0 -10
  140. package/dist/schema/Pair.js +0 -161
  141. package/dist/schema/Scalar.js +0 -31
  142. package/dist/schema/Seq.js +0 -78
  143. package/dist/schema/index.js +0 -315
  144. package/dist/schema/parseMap.js +0 -343
  145. package/dist/schema/parseSeq.js +0 -180
  146. package/dist/schema/parseUtils.js +0 -104
  147. package/dist/stringify.js +0 -358
  148. package/dist/tags/core.js +0 -114
  149. package/dist/tags/failsafe/index.js +0 -17
  150. package/dist/tags/failsafe/map.js +0 -37
  151. package/dist/tags/failsafe/seq.js +0 -34
  152. package/dist/tags/failsafe/string.js +0 -40
  153. package/dist/tags/index.js +0 -62
  154. package/dist/tags/json.js +0 -60
  155. package/dist/tags/options.js +0 -35
  156. package/dist/tags/yaml-1.1/binary.js +0 -97
  157. package/dist/tags/yaml-1.1/index.js +0 -131
  158. package/dist/tags/yaml-1.1/omap.js +0 -105
  159. package/dist/tags/yaml-1.1/pairs.js +0 -80
  160. package/dist/tags/yaml-1.1/set.js +0 -91
  161. package/dist/tags/yaml-1.1/timestamp.js +0 -93
  162. package/dist/toJSON.js +0 -23
  163. package/dist/warnings.js +0 -39
@@ -1,113 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _errors = require("../errors");
9
-
10
- var _Node = _interopRequireDefault(require("./Node"));
11
-
12
- var _Range = _interopRequireDefault(require("./Range"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- class QuoteSingle extends _Node.default {
17
- static endOfQuote(src, offset) {
18
- let ch = src[offset];
19
-
20
- while (ch) {
21
- if (ch === "'") {
22
- if (src[offset + 1] !== "'") break;
23
- ch = src[offset += 2];
24
- } else {
25
- ch = src[offset += 1];
26
- }
27
- }
28
-
29
- return offset + 1;
30
- }
31
- /**
32
- * @returns {string | { str: string, errors: YAMLSyntaxError[] }}
33
- */
34
-
35
-
36
- get strValue() {
37
- if (!this.valueRange || !this.context) return null;
38
- const errors = [];
39
- const {
40
- start,
41
- end
42
- } = this.valueRange;
43
- const {
44
- indent,
45
- src
46
- } = this.context;
47
- if (src[end - 1] !== "'") errors.push(new _errors.YAMLSyntaxError(this, "Missing closing 'quote"));
48
- let str = '';
49
-
50
- for (let i = start + 1; i < end - 1; ++i) {
51
- const ch = src[i];
52
-
53
- if (ch === '\n') {
54
- if (_Node.default.atDocumentBoundary(src, i + 1)) errors.push(new _errors.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
55
-
56
- const {
57
- fold,
58
- offset,
59
- error
60
- } = _Node.default.foldNewline(src, i, indent);
61
-
62
- str += fold;
63
- i = offset;
64
- if (error) errors.push(new _errors.YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented'));
65
- } else if (ch === "'") {
66
- str += ch;
67
- i += 1;
68
- if (src[i] !== "'") errors.push(new _errors.YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.'));
69
- } else if (ch === ' ' || ch === '\t') {
70
- // trim trailing whitespace
71
- const wsStart = i;
72
- let next = src[i + 1];
73
-
74
- while (next === ' ' || next === '\t') {
75
- i += 1;
76
- next = src[i + 1];
77
- }
78
-
79
- if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;
80
- } else {
81
- str += ch;
82
- }
83
- }
84
-
85
- return errors.length > 0 ? {
86
- errors,
87
- str
88
- } : str;
89
- }
90
- /**
91
- * Parses a 'single quoted' value from the source
92
- *
93
- * @param {ParseContext} context
94
- * @param {number} start - Index of first character
95
- * @returns {number} - Index of the character after this scalar
96
- */
97
-
98
-
99
- parse(context, start) {
100
- this.context = context;
101
- const {
102
- src
103
- } = context;
104
- let offset = QuoteSingle.endOfQuote(src, start + 1);
105
- this.valueRange = new _Range.default(start, offset);
106
- offset = _Node.default.endOfWhiteSpace(src, offset);
107
- offset = this.parseComment(offset);
108
- return offset;
109
- }
110
-
111
- }
112
-
113
- exports.default = QuoteSingle;
package/dist/cst/Range.js DELETED
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- class Range {
9
- static copy(orig) {
10
- return new Range(orig.start, orig.end);
11
- }
12
-
13
- constructor(start, end) {
14
- this.start = start;
15
- this.end = end || start;
16
- }
17
-
18
- isEmpty() {
19
- return typeof this.start !== 'number' || !this.end || this.end <= this.start;
20
- }
21
- /**
22
- * Set `origStart` and `origEnd` to point to the original source range for
23
- * this node, which may differ due to dropped CR characters.
24
- *
25
- * @param {number[]} cr - Positions of dropped CR characters
26
- * @param {number} offset - Starting index of `cr` from the last call
27
- * @returns {number} - The next offset, matching the one found for `origStart`
28
- */
29
-
30
-
31
- setOrigRange(cr, offset) {
32
- const {
33
- start,
34
- end
35
- } = this;
36
-
37
- if (cr.length === 0 || end <= cr[0]) {
38
- this.origStart = start;
39
- this.origEnd = end;
40
- return offset;
41
- }
42
-
43
- let i = offset;
44
-
45
- while (i < cr.length) {
46
- if (cr[i] > start) break;else ++i;
47
- }
48
-
49
- this.origStart = start + i;
50
- const nextOffset = i;
51
-
52
- while (i < cr.length) {
53
- // if end was at \n, it should now be at \r
54
- if (cr[i] >= end) break;else ++i;
55
- }
56
-
57
- this.origEnd = end + i;
58
- return nextOffset;
59
- }
60
-
61
- }
62
-
63
- exports.default = Range;
package/dist/cst/parse.js DELETED
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = parse;
7
-
8
- var _Document = _interopRequireDefault(require("./Document"));
9
-
10
- var _ParseContext = _interopRequireDefault(require("./ParseContext"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- // Published as 'yaml/parse-cst'
15
- function parse(src) {
16
- const cr = [];
17
-
18
- if (src.indexOf('\r') !== -1) {
19
- src = src.replace(/\r\n?/g, (match, offset) => {
20
- if (match.length > 1) cr.push(offset);
21
- return '\n';
22
- });
23
- }
24
-
25
- const documents = [];
26
- let offset = 0;
27
-
28
- do {
29
- const doc = new _Document.default();
30
- const context = new _ParseContext.default({
31
- src
32
- });
33
- offset = doc.parse(context, offset);
34
- documents.push(doc);
35
- } while (offset < src.length);
36
-
37
- documents.setOrigRanges = () => {
38
- if (cr.length === 0) return false;
39
-
40
- for (let i = 1; i < cr.length; ++i) cr[i] -= i;
41
-
42
- let crOffset = 0;
43
-
44
- for (let i = 0; i < documents.length; ++i) {
45
- crOffset = documents[i].setOrigRanges(cr, crOffset);
46
- }
47
-
48
- cr.splice(0, cr.length);
49
- return true;
50
- };
51
-
52
- documents.toString = () => documents.join('...\n');
53
-
54
- return documents;
55
- }
@@ -1,178 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getLinePos = getLinePos;
7
- exports.getLine = getLine;
8
- exports.getPrettyContext = getPrettyContext;
9
-
10
- function findLineStarts(src) {
11
- const ls = [0];
12
- let offset = src.indexOf('\n');
13
-
14
- while (offset !== -1) {
15
- offset += 1;
16
- ls.push(offset);
17
- offset = src.indexOf('\n', offset);
18
- }
19
-
20
- return ls;
21
- }
22
-
23
- function getSrcInfo(cst) {
24
- let lineStarts, src;
25
-
26
- if (typeof cst === 'string') {
27
- lineStarts = findLineStarts(cst);
28
- src = cst;
29
- } else {
30
- if (Array.isArray(cst)) cst = cst[0];
31
-
32
- if (cst && cst.context) {
33
- if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src);
34
- lineStarts = cst.lineStarts;
35
- src = cst.context.src;
36
- }
37
- }
38
-
39
- return {
40
- lineStarts,
41
- src
42
- };
43
- }
44
- /**
45
- * @typedef {Object} LinePos - One-indexed position in the source
46
- * @property {number} line
47
- * @property {number} col
48
- */
49
-
50
- /**
51
- * Determine the line/col position matching a character offset.
52
- *
53
- * Accepts a source string or a CST document as the second parameter. With
54
- * the latter, starting indices for lines are cached in the document as
55
- * `lineStarts: number[]`.
56
- *
57
- * Returns a one-indexed `{ line, col }` location if found, or
58
- * `undefined` otherwise.
59
- *
60
- * @param {number} offset
61
- * @param {string|Document|Document[]} cst
62
- * @returns {?LinePos}
63
- */
64
-
65
-
66
- function getLinePos(offset, cst) {
67
- if (typeof offset !== 'number' || offset < 0) return null;
68
- const {
69
- lineStarts,
70
- src
71
- } = getSrcInfo(cst);
72
- if (!lineStarts || !src || offset > src.length) return null;
73
-
74
- for (let i = 0; i < lineStarts.length; ++i) {
75
- const start = lineStarts[i];
76
-
77
- if (offset < start) {
78
- return {
79
- line: i,
80
- col: offset - lineStarts[i - 1] + 1
81
- };
82
- }
83
-
84
- if (offset === start) return {
85
- line: i + 1,
86
- col: 1
87
- };
88
- }
89
-
90
- const line = lineStarts.length;
91
- return {
92
- line,
93
- col: offset - lineStarts[line - 1] + 1
94
- };
95
- }
96
- /**
97
- * Get a specified line from the source.
98
- *
99
- * Accepts a source string or a CST document as the second parameter. With
100
- * the latter, starting indices for lines are cached in the document as
101
- * `lineStarts: number[]`.
102
- *
103
- * Returns the line as a string if found, or `null` otherwise.
104
- *
105
- * @param {number} line One-indexed line number
106
- * @param {string|Document|Document[]} cst
107
- * @returns {?string}
108
- */
109
-
110
-
111
- function getLine(line, cst) {
112
- const {
113
- lineStarts,
114
- src
115
- } = getSrcInfo(cst);
116
- if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null;
117
- const start = lineStarts[line - 1];
118
- let end = lineStarts[line]; // undefined for last line; that's ok for slice()
119
-
120
- while (end && end > start && src[end - 1] === '\n') --end;
121
-
122
- return src.slice(start, end);
123
- }
124
- /**
125
- * Pretty-print the starting line from the source indicated by the range `pos`
126
- *
127
- * Trims output to `maxWidth` chars while keeping the starting column visible,
128
- * using `…` at either end to indicate dropped characters.
129
- *
130
- * Returns a two-line string (or `null`) with `\n` as separator; the second line
131
- * will hold appropriately indented `^` marks indicating the column range.
132
- *
133
- * @param {Object} pos
134
- * @param {LinePos} pos.start
135
- * @param {LinePos} [pos.end]
136
- * @param {string|Document|Document[]*} cst
137
- * @param {number} [maxWidth=80]
138
- * @returns {?string}
139
- */
140
-
141
-
142
- function getPrettyContext({
143
- start,
144
- end
145
- }, cst, maxWidth = 80) {
146
- let src = getLine(start.line, cst);
147
- if (!src) return null;
148
- let {
149
- col
150
- } = start;
151
-
152
- if (src.length > maxWidth) {
153
- if (col <= maxWidth - 10) {
154
- src = src.substr(0, maxWidth - 1) + '…';
155
- } else {
156
- const halfWidth = Math.round(maxWidth / 2);
157
- if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + '…';
158
- col -= src.length - maxWidth;
159
- src = '…' + src.substr(1 - maxWidth);
160
- }
161
- }
162
-
163
- let errLen = 1;
164
- let errEnd = '';
165
-
166
- if (end) {
167
- if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) {
168
- errLen = end.col - start.col;
169
- } else {
170
- errLen = Math.min(src.length + 1, maxWidth) - col;
171
- errEnd = '…';
172
- }
173
- }
174
-
175
- const offset = col > 1 ? ' '.repeat(col - 1) : '';
176
- const err = '^'.repeat(errLen);
177
- return `${src}\n${offset}${err}${errEnd}`;
178
- }
package/dist/errors.js DELETED
@@ -1,102 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.YAMLWarning = exports.YAMLSyntaxError = exports.YAMLSemanticError = exports.YAMLReferenceError = exports.YAMLError = void 0;
7
-
8
- var _Node = _interopRequireDefault(require("./cst/Node"));
9
-
10
- var _sourceUtils = require("./cst/source-utils");
11
-
12
- var _Range = _interopRequireDefault(require("./cst/Range"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- class YAMLError extends Error {
17
- constructor(name, source, message) {
18
- if (!message || !(source instanceof _Node.default)) throw new Error(`Invalid arguments for new ${name}`);
19
- super();
20
- this.name = name;
21
- this.message = message;
22
- this.source = source;
23
- }
24
-
25
- makePretty() {
26
- if (!this.source) return;
27
- this.nodeType = this.source.type;
28
- const cst = this.source.context && this.source.context.root;
29
-
30
- if (typeof this.offset === 'number') {
31
- this.range = new _Range.default(this.offset, this.offset + 1);
32
- const start = cst && (0, _sourceUtils.getLinePos)(this.offset, cst);
33
-
34
- if (start) {
35
- const end = {
36
- line: start.line,
37
- col: start.col + 1
38
- };
39
- this.linePos = {
40
- start,
41
- end
42
- };
43
- }
44
-
45
- delete this.offset;
46
- } else {
47
- this.range = this.source.range;
48
- this.linePos = this.source.rangeAsLinePos;
49
- }
50
-
51
- if (this.linePos) {
52
- const {
53
- line,
54
- col
55
- } = this.linePos.start;
56
- this.message += ` at line ${line}, column ${col}`;
57
- const ctx = cst && (0, _sourceUtils.getPrettyContext)(this.linePos, cst);
58
- if (ctx) this.message += `:\n\n${ctx}\n`;
59
- }
60
-
61
- delete this.source;
62
- }
63
-
64
- }
65
-
66
- exports.YAMLError = YAMLError;
67
-
68
- class YAMLReferenceError extends YAMLError {
69
- constructor(source, message) {
70
- super('YAMLReferenceError', source, message);
71
- }
72
-
73
- }
74
-
75
- exports.YAMLReferenceError = YAMLReferenceError;
76
-
77
- class YAMLSemanticError extends YAMLError {
78
- constructor(source, message) {
79
- super('YAMLSemanticError', source, message);
80
- }
81
-
82
- }
83
-
84
- exports.YAMLSemanticError = YAMLSemanticError;
85
-
86
- class YAMLSyntaxError extends YAMLError {
87
- constructor(source, message) {
88
- super('YAMLSyntaxError', source, message);
89
- }
90
-
91
- }
92
-
93
- exports.YAMLSyntaxError = YAMLSyntaxError;
94
-
95
- class YAMLWarning extends YAMLError {
96
- constructor(source, message) {
97
- super('YAMLWarning', source, message);
98
- }
99
-
100
- }
101
-
102
- exports.YAMLWarning = YAMLWarning;
@@ -1,146 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = foldFlowLines;
7
- exports.FOLD_QUOTED = exports.FOLD_BLOCK = exports.FOLD_FLOW = void 0;
8
- const FOLD_FLOW = 'flow';
9
- exports.FOLD_FLOW = FOLD_FLOW;
10
- const FOLD_BLOCK = 'block';
11
- exports.FOLD_BLOCK = FOLD_BLOCK;
12
- const FOLD_QUOTED = 'quoted'; // presumes i+1 is at the start of a line
13
- // returns index of last newline in more-indented block
14
-
15
- exports.FOLD_QUOTED = FOLD_QUOTED;
16
-
17
- const consumeMoreIndentedLines = (text, i) => {
18
- let ch = text[i + 1];
19
-
20
- while (ch === ' ' || ch === '\t') {
21
- do {
22
- ch = text[i += 1];
23
- } while (ch && ch !== '\n');
24
-
25
- ch = text[i + 1];
26
- }
27
-
28
- return i;
29
- };
30
- /**
31
- * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
32
- * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
33
- * terminated with `\n` and started with `indent`.
34
- *
35
- * @param {string} text
36
- * @param {string} indent
37
- * @param {string} [mode='flow'] `'block'` prevents more-indented lines
38
- * from being folded; `'quoted'` allows for `\` escapes, including escaped
39
- * newlines
40
- * @param {Object} options
41
- * @param {number} [options.indentAtStart] Accounts for leading contents on
42
- * the first line, defaulting to `indent.length`
43
- * @param {number} [options.lineWidth=80]
44
- * @param {number} [options.minContentWidth=20] Allow highly indented lines to
45
- * stretch the line width
46
- * @param {function} options.onFold Called once if the text is folded
47
- * @param {function} options.onFold Called once if any line of text exceeds
48
- * lineWidth characters
49
- */
50
-
51
-
52
- function foldFlowLines(text, indent, mode, {
53
- indentAtStart,
54
- lineWidth = 80,
55
- minContentWidth = 20,
56
- onFold,
57
- onOverflow
58
- }) {
59
- if (!lineWidth || lineWidth < 0) return text;
60
- const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
61
- if (text.length <= endStep) return text;
62
- const folds = [];
63
- const escapedFolds = {};
64
- let end = lineWidth - (typeof indentAtStart === 'number' ? indentAtStart : indent.length);
65
- let split = undefined;
66
- let prev = undefined;
67
- let overflow = false;
68
- let i = -1;
69
-
70
- if (mode === FOLD_BLOCK) {
71
- i = consumeMoreIndentedLines(text, i);
72
- if (i !== -1) end = i + endStep;
73
- }
74
-
75
- for (let ch; ch = text[i += 1];) {
76
- if (mode === FOLD_QUOTED && ch === '\\') {
77
- switch (text[i + 1]) {
78
- case 'x':
79
- i += 3;
80
- break;
81
-
82
- case 'u':
83
- i += 5;
84
- break;
85
-
86
- case 'U':
87
- i += 9;
88
- break;
89
-
90
- default:
91
- i += 1;
92
- }
93
- }
94
-
95
- if (ch === '\n') {
96
- if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i);
97
- end = i + endStep;
98
- split = undefined;
99
- } else {
100
- if (ch === ' ' && prev && prev !== ' ' && prev !== '\n' && prev !== '\t') {
101
- // space surrounded by non-space can be replaced with newline + indent
102
- const next = text[i + 1];
103
- if (next && next !== ' ' && next !== '\n' && next !== '\t') split = i;
104
- }
105
-
106
- if (i >= end) {
107
- if (split) {
108
- folds.push(split);
109
- end = split + endStep;
110
- split = undefined;
111
- } else if (mode === FOLD_QUOTED) {
112
- // white-space collected at end may stretch past lineWidth
113
- while (prev === ' ' || prev === '\t') {
114
- prev = ch;
115
- ch = text[i += 1];
116
- overflow = true;
117
- } // i - 2 accounts for not-dropped last char + newline-escaping \
118
-
119
-
120
- folds.push(i - 2);
121
- escapedFolds[i - 2] = true;
122
- end = i - 2 + endStep;
123
- split = undefined;
124
- } else {
125
- overflow = true;
126
- }
127
- }
128
- }
129
-
130
- prev = ch;
131
- }
132
-
133
- if (overflow && onOverflow) onOverflow();
134
- if (folds.length === 0) return text;
135
- if (onFold) onFold();
136
- let res = text.slice(0, folds[0]);
137
-
138
- for (let i = 0; i < folds.length; ++i) {
139
- const fold = folds[i];
140
- const end = folds[i + 1] || text.length;
141
- if (mode === FOLD_QUOTED && escapedFolds[fold]) res += `${text[fold]}\\`;
142
- res += `\n${indent}${text.slice(fold + 1, end)}`;
143
- }
144
-
145
- return res;
146
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _Collection = _interopRequireDefault(require("./schema/Collection"));
9
-
10
- var _Pair = _interopRequireDefault(require("./schema/Pair"));
11
-
12
- var _Scalar = _interopRequireDefault(require("./schema/Scalar"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- const visit = (node, tags) => {
17
- if (node && typeof node === 'object') {
18
- const {
19
- tag
20
- } = node;
21
-
22
- if (node instanceof _Collection.default) {
23
- if (tag) tags[tag] = true;
24
- node.items.forEach(n => visit(n, tags));
25
- } else if (node instanceof _Pair.default) {
26
- visit(node.key, tags);
27
- visit(node.value, tags);
28
- } else if (node instanceof _Scalar.default) {
29
- if (tag) tags[tag] = true;
30
- }
31
- }
32
-
33
- return tags;
34
- };
35
-
36
- var _default = node => Object.keys(visit(node, {}));
37
-
38
- exports.default = _default;