yaml 1.8.2 → 1.9.2

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 (142) hide show
  1. package/browser/dist/Anchors.js +10 -13
  2. package/browser/dist/Document.js +72 -67
  3. package/browser/dist/addComment.js +1 -1
  4. package/browser/dist/cst/Alias.js +12 -8
  5. package/browser/dist/cst/BlankLine.js +16 -20
  6. package/browser/dist/cst/BlockValue.js +14 -10
  7. package/browser/dist/cst/Collection.js +17 -13
  8. package/browser/dist/cst/CollectionItem.js +15 -11
  9. package/browser/dist/cst/Comment.js +13 -9
  10. package/browser/dist/cst/Directive.js +13 -9
  11. package/browser/dist/cst/Document.js +17 -13
  12. package/browser/dist/cst/FlowCollection.js +17 -13
  13. package/browser/dist/cst/Node.js +3 -5
  14. package/browser/dist/cst/ParseContext.js +12 -14
  15. package/browser/dist/cst/PlainValue.js +12 -8
  16. package/browser/dist/cst/QuoteDouble.js +13 -9
  17. package/browser/dist/cst/QuoteSingle.js +13 -9
  18. package/browser/dist/cst/Range.js +2 -5
  19. package/browser/dist/cst/parse.js +3 -3
  20. package/browser/dist/errors.js +23 -8
  21. package/browser/dist/foldFlowLines.js +1 -1
  22. package/browser/dist/index.js +71 -21
  23. package/browser/dist/listTagNames.js +5 -5
  24. package/browser/dist/schema/Alias.js +30 -34
  25. package/browser/dist/schema/Collection.js +40 -47
  26. package/browser/dist/schema/Map.js +39 -56
  27. package/browser/dist/schema/Merge.js +37 -46
  28. package/browser/dist/schema/Node.js +2 -5
  29. package/browser/dist/schema/Pair.js +36 -13
  30. package/browser/dist/schema/Scalar.js +13 -9
  31. package/browser/dist/schema/Seq.js +27 -25
  32. package/browser/dist/schema/index.js +25 -39
  33. package/browser/dist/schema/parseMap.js +8 -8
  34. package/browser/dist/schema/parseSeq.js +5 -5
  35. package/browser/dist/schema/parseUtils.js +11 -15
  36. package/browser/dist/stringify.js +2 -1
  37. package/browser/dist/tags/core.js +39 -23
  38. package/browser/dist/tags/failsafe/index.js +4 -4
  39. package/browser/dist/tags/failsafe/map.js +15 -18
  40. package/browser/dist/tags/failsafe/seq.js +14 -18
  41. package/browser/dist/tags/failsafe/string.js +1 -1
  42. package/browser/dist/tags/index.js +10 -10
  43. package/browser/dist/tags/json.js +27 -26
  44. package/browser/dist/tags/options.js +3 -0
  45. package/browser/dist/tags/yaml-1.1/binary.js +10 -8
  46. package/browser/dist/tags/yaml-1.1/index.js +75 -43
  47. package/browser/dist/tags/yaml-1.1/omap.js +34 -39
  48. package/browser/dist/tags/yaml-1.1/pairs.js +17 -20
  49. package/browser/dist/tags/yaml-1.1/set.js +27 -23
  50. package/browser/dist/test-events.js +4 -4
  51. package/browser/dist/toJSON.js +3 -4
  52. package/browser/dist/warnings.js +29 -18
  53. package/browser/index.js +1 -1
  54. package/browser/map.js +4 -2
  55. package/browser/pair.js +4 -2
  56. package/browser/parse-cst.js +1 -1
  57. package/browser/scalar.js +4 -2
  58. package/browser/schema.js +11 -6
  59. package/browser/seq.js +4 -2
  60. package/browser/types/binary.js +5 -6
  61. package/browser/types/omap.js +4 -2
  62. package/browser/types/pairs.js +4 -2
  63. package/browser/types/set.js +4 -2
  64. package/browser/types/timestamp.js +5 -9
  65. package/browser/types.js +12 -10
  66. package/browser/util.js +16 -13
  67. package/dist/Anchors.js +13 -18
  68. package/dist/Document.js +52 -48
  69. package/dist/addComment.js +1 -4
  70. package/dist/constants.js +0 -3
  71. package/dist/cst/Alias.js +8 -13
  72. package/dist/cst/BlankLine.js +8 -24
  73. package/dist/cst/BlockValue.js +12 -17
  74. package/dist/cst/Collection.js +22 -27
  75. package/dist/cst/CollectionItem.js +16 -21
  76. package/dist/cst/Comment.js +6 -11
  77. package/dist/cst/Directive.js +7 -12
  78. package/dist/cst/Document.js +23 -28
  79. package/dist/cst/FlowCollection.js +21 -26
  80. package/dist/cst/Node.js +4 -9
  81. package/dist/cst/ParseContext.js +38 -43
  82. package/dist/cst/PlainValue.js +10 -15
  83. package/dist/cst/QuoteDouble.js +9 -14
  84. package/dist/cst/QuoteSingle.js +9 -14
  85. package/dist/cst/Range.js +2 -5
  86. package/dist/cst/parse.js +5 -10
  87. package/dist/cst/source-utils.js +0 -3
  88. package/dist/errors.js +4 -9
  89. package/dist/foldFlowLines.js +1 -4
  90. package/dist/index.js +59 -17
  91. package/dist/listTagNames.js +9 -14
  92. package/dist/schema/Alias.js +12 -17
  93. package/dist/schema/Collection.js +16 -20
  94. package/dist/schema/Map.js +12 -17
  95. package/dist/schema/Merge.js +13 -18
  96. package/dist/schema/Node.js +2 -5
  97. package/dist/schema/Pair.js +44 -31
  98. package/dist/schema/Scalar.js +6 -11
  99. package/dist/schema/Seq.js +9 -14
  100. package/dist/schema/index.js +22 -27
  101. package/dist/schema/parseMap.js +19 -28
  102. package/dist/schema/parseSeq.js +10 -15
  103. package/dist/schema/parseUtils.js +0 -3
  104. package/dist/stringify.js +6 -12
  105. package/dist/tags/core.js +34 -26
  106. package/dist/tags/failsafe/index.js +6 -11
  107. package/dist/tags/failsafe/map.js +8 -13
  108. package/dist/tags/failsafe/seq.js +8 -13
  109. package/dist/tags/failsafe/string.js +3 -6
  110. package/dist/tags/index.js +20 -29
  111. package/dist/tags/json.js +26 -22
  112. package/dist/tags/options.js +5 -4
  113. package/dist/tags/yaml-1.1/binary.js +11 -11
  114. package/dist/tags/yaml-1.1/index.js +69 -38
  115. package/dist/tags/yaml-1.1/omap.js +19 -24
  116. package/dist/tags/yaml-1.1/pairs.js +12 -17
  117. package/dist/tags/yaml-1.1/set.js +12 -21
  118. package/dist/tags/yaml-1.1/timestamp.js +0 -3
  119. package/dist/test-events.js +4 -9
  120. package/dist/toJSON.js +3 -5
  121. package/dist/warnings.js +31 -22
  122. package/index.d.ts +358 -0
  123. package/index.js +1 -1
  124. package/map.js +1 -1
  125. package/package.json +29 -23
  126. package/pair.js +1 -1
  127. package/parse-cst.d.ts +187 -0
  128. package/parse-cst.js +1 -1
  129. package/scalar.js +1 -1
  130. package/schema.js +2 -2
  131. package/seq.js +1 -1
  132. package/types/binary.js +1 -1
  133. package/types/omap.js +1 -1
  134. package/types/pairs.js +1 -1
  135. package/types/set.js +1 -1
  136. package/types/timestamp.js +1 -1
  137. package/types.d.ts +393 -0
  138. package/types.js +7 -6
  139. package/types.mjs +6 -5
  140. package/util.d.ts +86 -0
  141. package/util.js +6 -5
  142. package/util.mjs +4 -3
@@ -1,65 +1,60 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
3
+ exports.ParseContext = void 0;
7
4
 
8
5
  var _constants = require("../constants");
9
6
 
10
7
  var _errors = require("../errors");
11
8
 
12
- var _Alias = _interopRequireDefault(require("./Alias"));
9
+ var _Alias = require("./Alias");
13
10
 
14
- var _BlockValue = _interopRequireDefault(require("./BlockValue"));
11
+ var _BlockValue = require("./BlockValue");
15
12
 
16
- var _Collection = _interopRequireDefault(require("./Collection"));
13
+ var _Collection = require("./Collection");
17
14
 
18
- var _CollectionItem = _interopRequireDefault(require("./CollectionItem"));
15
+ var _CollectionItem = require("./CollectionItem");
19
16
 
20
- var _FlowCollection = _interopRequireDefault(require("./FlowCollection"));
17
+ var _FlowCollection = require("./FlowCollection");
21
18
 
22
- var _Node = _interopRequireDefault(require("./Node"));
19
+ var _Node = require("./Node");
23
20
 
24
- var _PlainValue = _interopRequireDefault(require("./PlainValue"));
21
+ var _PlainValue = require("./PlainValue");
25
22
 
26
- var _QuoteDouble = _interopRequireDefault(require("./QuoteDouble"));
23
+ var _QuoteDouble = require("./QuoteDouble");
27
24
 
28
- var _QuoteSingle = _interopRequireDefault(require("./QuoteSingle"));
25
+ var _QuoteSingle = require("./QuoteSingle");
29
26
 
30
- var _Range = _interopRequireDefault(require("./Range"));
31
-
32
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ var _Range = require("./Range");
33
28
 
34
29
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
30
 
36
31
  function createNewNode(type, props) {
37
32
  switch (type) {
38
33
  case _constants.Type.ALIAS:
39
- return new _Alias.default(type, props);
34
+ return new _Alias.Alias(type, props);
40
35
 
41
36
  case _constants.Type.BLOCK_FOLDED:
42
37
  case _constants.Type.BLOCK_LITERAL:
43
- return new _BlockValue.default(type, props);
38
+ return new _BlockValue.BlockValue(type, props);
44
39
 
45
40
  case _constants.Type.FLOW_MAP:
46
41
  case _constants.Type.FLOW_SEQ:
47
- return new _FlowCollection.default(type, props);
42
+ return new _FlowCollection.FlowCollection(type, props);
48
43
 
49
44
  case _constants.Type.MAP_KEY:
50
45
  case _constants.Type.MAP_VALUE:
51
46
  case _constants.Type.SEQ_ITEM:
52
- return new _CollectionItem.default(type, props);
47
+ return new _CollectionItem.CollectionItem(type, props);
53
48
 
54
49
  case _constants.Type.COMMENT:
55
50
  case _constants.Type.PLAIN:
56
- return new _PlainValue.default(type, props);
51
+ return new _PlainValue.PlainValue(type, props);
57
52
 
58
53
  case _constants.Type.QUOTE_DOUBLE:
59
- return new _QuoteDouble.default(type, props);
54
+ return new _QuoteDouble.QuoteDouble(type, props);
60
55
 
61
56
  case _constants.Type.QUOTE_SINGLE:
62
- return new _QuoteSingle.default(type, props);
57
+ return new _QuoteSingle.QuoteSingle(type, props);
63
58
 
64
59
  /* istanbul ignore next */
65
60
 
@@ -98,13 +93,13 @@ class ParseContext {
98
93
  return _constants.Type.FLOW_SEQ;
99
94
 
100
95
  case '?':
101
- return !inFlow && _Node.default.atBlank(src, offset + 1, true) ? _constants.Type.MAP_KEY : _constants.Type.PLAIN;
96
+ return !inFlow && _Node.Node.atBlank(src, offset + 1, true) ? _constants.Type.MAP_KEY : _constants.Type.PLAIN;
102
97
 
103
98
  case ':':
104
- return !inFlow && _Node.default.atBlank(src, offset + 1, true) ? _constants.Type.MAP_VALUE : _constants.Type.PLAIN;
99
+ return !inFlow && _Node.Node.atBlank(src, offset + 1, true) ? _constants.Type.MAP_VALUE : _constants.Type.PLAIN;
105
100
 
106
101
  case '-':
107
- return !inFlow && _Node.default.atBlank(src, offset + 1, true) ? _constants.Type.SEQ_ITEM : _constants.Type.PLAIN;
102
+ return !inFlow && _Node.Node.atBlank(src, offset + 1, true) ? _constants.Type.SEQ_ITEM : _constants.Type.PLAIN;
108
103
 
109
104
  case '"':
110
105
  return _constants.Type.QUOTE_DOUBLE;
@@ -126,7 +121,7 @@ class ParseContext {
126
121
  parent
127
122
  } = {}) {
128
123
  _defineProperty(this, "parseNode", (overlay, start) => {
129
- if (_Node.default.atDocumentBoundary(this.src, start)) return null;
124
+ if (_Node.Node.atDocumentBoundary(this.src, start)) return null;
130
125
  const context = new ParseContext(this, overlay);
131
126
  const {
132
127
  props,
@@ -135,7 +130,7 @@ class ParseContext {
135
130
  } = context.parseProps(start);
136
131
  const node = createNewNode(type, props);
137
132
  let offset = node.parse(context, valueStart);
138
- node.range = new _Range.default(start, offset);
133
+ node.range = new _Range.Range(start, offset);
139
134
  /* istanbul ignore if */
140
135
 
141
136
  if (offset <= start) {
@@ -152,9 +147,9 @@ class ParseContext {
152
147
  node.error = new _errors.YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)');
153
148
  }
154
149
 
155
- const collection = new _Collection.default(node);
150
+ const collection = new _Collection.Collection(node);
156
151
  offset = collection.parse(new ParseContext(context), offset);
157
- collection.range = new _Range.default(start, offset);
152
+ collection.range = new _Range.Range(start, offset);
158
153
  return collection;
159
154
  }
160
155
 
@@ -178,11 +173,11 @@ class ParseContext {
178
173
  src
179
174
  } = this;
180
175
  if (inCollection || inFlow) return false;
181
- if (node instanceof _CollectionItem.default) return true; // check for implicit key
176
+ if (node instanceof _CollectionItem.CollectionItem) return true; // check for implicit key
182
177
 
183
178
  let offset = node.range.end;
184
179
  if (src[offset] === '\n' || src[offset - 1] === '\n') return false;
185
- offset = _Node.default.endOfWhiteSpace(src, offset);
180
+ offset = _Node.Node.endOfWhiteSpace(src, offset);
186
181
  return src[offset] === ':';
187
182
  } // Anchor and tag are before type, which determines the node implementation
188
183
  // class; hence this intermediate step.
@@ -196,48 +191,48 @@ class ParseContext {
196
191
  } = this;
197
192
  const props = [];
198
193
  let lineHasProps = false;
199
- offset = _Node.default.endOfWhiteSpace(src, offset);
194
+ offset = _Node.Node.endOfWhiteSpace(src, offset);
200
195
  let ch = src[offset];
201
196
 
202
197
  while (ch === _constants.Char.ANCHOR || ch === _constants.Char.COMMENT || ch === _constants.Char.TAG || ch === '\n') {
203
198
  if (ch === '\n') {
204
199
  const lineStart = offset + 1;
205
200
 
206
- const inEnd = _Node.default.endOfIndent(src, lineStart);
201
+ const inEnd = _Node.Node.endOfIndent(src, lineStart);
207
202
 
208
203
  const indentDiff = inEnd - (lineStart + this.indent);
209
204
  const noIndicatorAsIndent = parent.type === _constants.Type.SEQ_ITEM && parent.context.atLineStart;
210
- if (!_Node.default.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;
205
+ if (!_Node.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;
211
206
  this.atLineStart = true;
212
207
  this.lineStart = lineStart;
213
208
  lineHasProps = false;
214
209
  offset = inEnd;
215
210
  } else if (ch === _constants.Char.COMMENT) {
216
- const end = _Node.default.endOfLine(src, offset + 1);
211
+ const end = _Node.Node.endOfLine(src, offset + 1);
217
212
 
218
- props.push(new _Range.default(offset, end));
213
+ props.push(new _Range.Range(offset, end));
219
214
  offset = end;
220
215
  } else {
221
- let end = _Node.default.endOfIdentifier(src, offset + 1);
216
+ let end = _Node.Node.endOfIdentifier(src, offset + 1);
222
217
 
223
218
  if (ch === _constants.Char.TAG && src[end] === ',' && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, end + 13))) {
224
219
  // Let's presume we're dealing with a YAML 1.0 domain tag here, rather
225
220
  // than an empty but 'foo.bar' private-tagged node in a flow collection
226
221
  // followed without whitespace by a plain string starting with a year
227
222
  // or date divided by something.
228
- end = _Node.default.endOfIdentifier(src, end + 5);
223
+ end = _Node.Node.endOfIdentifier(src, end + 5);
229
224
  }
230
225
 
231
- props.push(new _Range.default(offset, end));
226
+ props.push(new _Range.Range(offset, end));
232
227
  lineHasProps = true;
233
- offset = _Node.default.endOfWhiteSpace(src, end);
228
+ offset = _Node.Node.endOfWhiteSpace(src, end);
234
229
  }
235
230
 
236
231
  ch = src[offset];
237
232
  } // '- &a : b' has an anchor on an empty node
238
233
 
239
234
 
240
- if (lineHasProps && ch === ':' && _Node.default.atBlank(src, offset + 1, true)) offset -= 1;
235
+ if (lineHasProps && ch === ':' && _Node.Node.atBlank(src, offset + 1, true)) offset -= 1;
241
236
  const type = ParseContext.parseType(src, offset, inFlow);
242
237
  return {
243
238
  props,
@@ -255,4 +250,4 @@ class ParseContext {
255
250
 
256
251
  }
257
252
 
258
- exports.default = ParseContext;
253
+ exports.ParseContext = ParseContext;
@@ -1,17 +1,12 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
3
+ exports.PlainValue = void 0;
7
4
 
8
- var _Node = _interopRequireDefault(require("./Node"));
5
+ var _Node = require("./Node");
9
6
 
10
- var _Range = _interopRequireDefault(require("./Range"));
7
+ var _Range = require("./Range");
11
8
 
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- class PlainValue extends _Node.default {
9
+ class PlainValue extends _Node.Node {
15
10
  static endOfLine(src, start, inFlow) {
16
11
  let ch = src[start];
17
12
  let offset = start;
@@ -54,7 +49,7 @@ class PlainValue extends _Node.default {
54
49
  const {
55
50
  fold,
56
51
  offset
57
- } = _Node.default.foldNewline(src, i, -1);
52
+ } = _Node.Node.foldNewline(src, i, -1);
58
53
 
59
54
  str += fold;
60
55
  i = offset;
@@ -87,9 +82,9 @@ class PlainValue extends _Node.default {
87
82
  let valueEnd = start;
88
83
 
89
84
  for (let ch = src[offset]; ch === '\n'; ch = src[offset]) {
90
- if (_Node.default.atDocumentBoundary(src, offset + 1)) break;
85
+ if (_Node.Node.atDocumentBoundary(src, offset + 1)) break;
91
86
 
92
- const end = _Node.default.endOfBlockIndent(src, indent, offset + 1);
87
+ const end = _Node.Node.endOfBlockIndent(src, indent, offset + 1);
93
88
 
94
89
  if (end === null || src[end] === '#') break;
95
90
 
@@ -145,8 +140,8 @@ class PlainValue extends _Node.default {
145
140
  offset = PlainValue.endOfLine(src, start, inFlow);
146
141
  }
147
142
 
148
- this.valueRange = new _Range.default(start, offset);
149
- offset = _Node.default.endOfWhiteSpace(src, offset);
143
+ this.valueRange = new _Range.Range(start, offset);
144
+ offset = _Node.Node.endOfWhiteSpace(src, offset);
150
145
  offset = this.parseComment(offset);
151
146
 
152
147
  if (!this.hasComment || this.valueRange.isEmpty()) {
@@ -158,4 +153,4 @@ class PlainValue extends _Node.default {
158
153
 
159
154
  }
160
155
 
161
- exports.default = PlainValue;
156
+ exports.PlainValue = PlainValue;
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
3
+ exports.QuoteDouble = void 0;
7
4
 
8
5
  var _errors = require("../errors");
9
6
 
10
- var _Node = _interopRequireDefault(require("./Node"));
7
+ var _Node = require("./Node");
11
8
 
12
- var _Range = _interopRequireDefault(require("./Range"));
9
+ var _Range = require("./Range");
13
10
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- class QuoteDouble extends _Node.default {
11
+ class QuoteDouble extends _Node.Node {
17
12
  static endOfQuote(src, offset) {
18
13
  let ch = src[offset];
19
14
 
@@ -49,13 +44,13 @@ class QuoteDouble extends _Node.default {
49
44
  const ch = src[i];
50
45
 
51
46
  if (ch === '\n') {
52
- if (_Node.default.atDocumentBoundary(src, i + 1)) errors.push(new _errors.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
47
+ if (_Node.Node.atDocumentBoundary(src, i + 1)) errors.push(new _errors.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
53
48
 
54
49
  const {
55
50
  fold,
56
51
  offset,
57
52
  error
58
- } = _Node.default.foldNewline(src, i, indent);
53
+ } = _Node.Node.foldNewline(src, i, indent);
59
54
 
60
55
  str += fold;
61
56
  i = offset;
@@ -226,12 +221,12 @@ class QuoteDouble extends _Node.default {
226
221
  src
227
222
  } = context;
228
223
  let offset = QuoteDouble.endOfQuote(src, start + 1);
229
- this.valueRange = new _Range.default(start, offset);
230
- offset = _Node.default.endOfWhiteSpace(src, offset);
224
+ this.valueRange = new _Range.Range(start, offset);
225
+ offset = _Node.Node.endOfWhiteSpace(src, offset);
231
226
  offset = this.parseComment(offset);
232
227
  return offset;
233
228
  }
234
229
 
235
230
  }
236
231
 
237
- exports.default = QuoteDouble;
232
+ exports.QuoteDouble = QuoteDouble;
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
3
+ exports.QuoteSingle = void 0;
7
4
 
8
5
  var _errors = require("../errors");
9
6
 
10
- var _Node = _interopRequireDefault(require("./Node"));
7
+ var _Node = require("./Node");
11
8
 
12
- var _Range = _interopRequireDefault(require("./Range"));
9
+ var _Range = require("./Range");
13
10
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- class QuoteSingle extends _Node.default {
11
+ class QuoteSingle extends _Node.Node {
17
12
  static endOfQuote(src, offset) {
18
13
  let ch = src[offset];
19
14
 
@@ -51,13 +46,13 @@ class QuoteSingle extends _Node.default {
51
46
  const ch = src[i];
52
47
 
53
48
  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'));
49
+ if (_Node.Node.atDocumentBoundary(src, i + 1)) errors.push(new _errors.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
55
50
 
56
51
  const {
57
52
  fold,
58
53
  offset,
59
54
  error
60
- } = _Node.default.foldNewline(src, i, indent);
55
+ } = _Node.Node.foldNewline(src, i, indent);
61
56
 
62
57
  str += fold;
63
58
  i = offset;
@@ -102,12 +97,12 @@ class QuoteSingle extends _Node.default {
102
97
  src
103
98
  } = context;
104
99
  let offset = QuoteSingle.endOfQuote(src, start + 1);
105
- this.valueRange = new _Range.default(start, offset);
106
- offset = _Node.default.endOfWhiteSpace(src, offset);
100
+ this.valueRange = new _Range.Range(start, offset);
101
+ offset = _Node.Node.endOfWhiteSpace(src, offset);
107
102
  offset = this.parseComment(offset);
108
103
  return offset;
109
104
  }
110
105
 
111
106
  }
112
107
 
113
- exports.default = QuoteSingle;
108
+ exports.QuoteSingle = QuoteSingle;
package/dist/cst/Range.js CHANGED
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
3
+ exports.Range = void 0;
7
4
 
8
5
  class Range {
9
6
  static copy(orig) {
@@ -60,4 +57,4 @@ class Range {
60
57
 
61
58
  }
62
59
 
63
- exports.default = Range;
60
+ exports.Range = Range;
package/dist/cst/parse.js CHANGED
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = parse;
3
+ exports.parse = parse;
7
4
 
8
- var _Document = _interopRequireDefault(require("./Document"));
5
+ var _Document = require("./Document");
9
6
 
10
- var _ParseContext = _interopRequireDefault(require("./ParseContext"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
+ var _ParseContext = require("./ParseContext");
13
8
 
14
9
  // Published as 'yaml/parse-cst'
15
10
  function parse(src) {
@@ -26,8 +21,8 @@ function parse(src) {
26
21
  let offset = 0;
27
22
 
28
23
  do {
29
- const doc = new _Document.default();
30
- const context = new _ParseContext.default({
24
+ const doc = new _Document.Document();
25
+ const context = new _ParseContext.ParseContext({
31
26
  src
32
27
  });
33
28
  offset = doc.parse(context, offset);
@@ -1,8 +1,5 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
3
  exports.getLinePos = getLinePos;
7
4
  exports.getLine = getLine;
8
5
  exports.getPrettyContext = getPrettyContext;
package/dist/errors.js CHANGED
@@ -1,21 +1,16 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
3
  exports.YAMLWarning = exports.YAMLSyntaxError = exports.YAMLSemanticError = exports.YAMLReferenceError = exports.YAMLError = void 0;
7
4
 
8
- var _Node = _interopRequireDefault(require("./cst/Node"));
5
+ var _Node = require("./cst/Node");
9
6
 
10
7
  var _sourceUtils = require("./cst/source-utils");
11
8
 
12
- var _Range = _interopRequireDefault(require("./cst/Range"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var _Range = require("./cst/Range");
15
10
 
16
11
  class YAMLError extends Error {
17
12
  constructor(name, source, message) {
18
- if (!message || !(source instanceof _Node.default)) throw new Error(`Invalid arguments for new ${name}`);
13
+ if (!message || !(source instanceof _Node.Node)) throw new Error(`Invalid arguments for new ${name}`);
19
14
  super();
20
15
  this.name = name;
21
16
  this.message = message;
@@ -28,7 +23,7 @@ class YAMLError extends Error {
28
23
  const cst = this.source.context && this.source.context.root;
29
24
 
30
25
  if (typeof this.offset === 'number') {
31
- this.range = new _Range.default(this.offset, this.offset + 1);
26
+ this.range = new _Range.Range(this.offset, this.offset + 1);
32
27
  const start = cst && (0, _sourceUtils.getLinePos)(this.offset, cst);
33
28
 
34
29
  if (start) {
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = foldFlowLines;
3
+ exports.foldFlowLines = foldFlowLines;
7
4
  exports.FOLD_QUOTED = exports.FOLD_BLOCK = exports.FOLD_FLOW = void 0;
8
5
  const FOLD_FLOW = 'flow';
9
6
  exports.FOLD_FLOW = FOLD_FLOW;
package/dist/index.js CHANGED
@@ -1,25 +1,24 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
3
+ exports.YAML = void 0;
7
4
 
8
- var _parse = _interopRequireDefault(require("./cst/parse"));
5
+ var _parse = require("./cst/parse");
9
6
 
10
- var _Document = _interopRequireDefault(require("./Document"));
7
+ var _Document = require("./Document");
11
8
 
12
9
  var _errors = require("./errors");
13
10
 
14
- var _schema = _interopRequireDefault(require("./schema"));
11
+ var _schema = require("./schema");
15
12
 
16
- var _warnings = require("./warnings");
13
+ var _options = require("./tags/options");
17
14
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ var _warnings = require("./warnings");
19
16
 
20
17
  const defaultOptions = {
21
18
  anchorPrefix: 'a',
22
19
  customTags: null,
20
+ indent: 2,
21
+ indentSeq: true,
23
22
  keepCstNodes: false,
24
23
  keepNodeTypes: true,
25
24
  keepBlobsInJSON: true,
@@ -30,6 +29,48 @@ const defaultOptions = {
30
29
  simpleKeys: false,
31
30
  version: '1.2'
32
31
  };
32
+ const scalarOptions = {
33
+ get binary() {
34
+ return _options.binaryOptions;
35
+ },
36
+
37
+ set binary(opt) {
38
+ Object.assign(_options.binaryOptions, opt);
39
+ },
40
+
41
+ get bool() {
42
+ return _options.boolOptions;
43
+ },
44
+
45
+ set bool(opt) {
46
+ Object.assign(_options.boolOptions, opt);
47
+ },
48
+
49
+ get int() {
50
+ return _options.intOptions;
51
+ },
52
+
53
+ set int(opt) {
54
+ Object.assign(_options.intOptions, opt);
55
+ },
56
+
57
+ get null() {
58
+ return _options.nullOptions;
59
+ },
60
+
61
+ set null(opt) {
62
+ Object.assign(_options.nullOptions, opt);
63
+ },
64
+
65
+ get str() {
66
+ return _options.strOptions;
67
+ },
68
+
69
+ set str(opt) {
70
+ Object.assign(_options.strOptions, opt);
71
+ }
72
+
73
+ };
33
74
 
34
75
  function createNode(value, wrapScalars = true, tag) {
35
76
  if (tag === undefined && typeof wrapScalars === 'string') {
@@ -37,12 +78,12 @@ function createNode(value, wrapScalars = true, tag) {
37
78
  wrapScalars = true;
38
79
  }
39
80
 
40
- const options = Object.assign({}, _Document.default.defaults[defaultOptions.version], defaultOptions);
41
- const schema = new _schema.default(options);
81
+ const options = Object.assign({}, _Document.Document.defaults[defaultOptions.version], defaultOptions);
82
+ const schema = new _schema.Schema(options);
42
83
  return schema.createNode(value, wrapScalars, tag);
43
84
  }
44
85
 
45
- class Document extends _Document.default {
86
+ class Document extends _Document.Document {
46
87
  constructor(options) {
47
88
  super(Object.assign({}, defaultOptions, options));
48
89
  }
@@ -53,7 +94,7 @@ function parseAllDocuments(src, options) {
53
94
  const stream = [];
54
95
  let prev;
55
96
 
56
- for (const cstDoc of (0, _parse.default)(src)) {
97
+ for (const cstDoc of (0, _parse.parse)(src)) {
57
98
  const doc = new Document(options);
58
99
  doc.parse(cstDoc, prev);
59
100
  stream.push(doc);
@@ -64,7 +105,7 @@ function parseAllDocuments(src, options) {
64
105
  }
65
106
 
66
107
  function parseDocument(src, options) {
67
- const cst = (0, _parse.default)(src);
108
+ const cst = (0, _parse.parse)(src);
68
109
  const doc = new Document(options).parse(cst[0]);
69
110
 
70
111
  if (cst.length > 1) {
@@ -88,14 +129,15 @@ function stringify(value, options) {
88
129
  return String(doc);
89
130
  }
90
131
 
91
- var _default = {
132
+ const YAML = {
92
133
  createNode,
93
134
  defaultOptions,
94
135
  Document,
95
136
  parse,
96
137
  parseAllDocuments,
97
- parseCST: _parse.default,
138
+ parseCST: _parse.parse,
98
139
  parseDocument,
140
+ scalarOptions,
99
141
  stringify
100
142
  };
101
- exports.default = _default;
143
+ exports.YAML = YAML;
@@ -1,17 +1,12 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
3
+ exports.listTagNames = void 0;
7
4
 
8
- var _Collection = _interopRequireDefault(require("./schema/Collection"));
5
+ var _Collection = require("./schema/Collection");
9
6
 
10
- var _Pair = _interopRequireDefault(require("./schema/Pair"));
7
+ var _Pair = require("./schema/Pair");
11
8
 
12
- var _Scalar = _interopRequireDefault(require("./schema/Scalar"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var _Scalar = require("./schema/Scalar");
15
10
 
16
11
  const visit = (node, tags) => {
17
12
  if (node && typeof node === 'object') {
@@ -19,13 +14,13 @@ const visit = (node, tags) => {
19
14
  tag
20
15
  } = node;
21
16
 
22
- if (node instanceof _Collection.default) {
17
+ if (node instanceof _Collection.Collection) {
23
18
  if (tag) tags[tag] = true;
24
19
  node.items.forEach(n => visit(n, tags));
25
- } else if (node instanceof _Pair.default) {
20
+ } else if (node instanceof _Pair.Pair) {
26
21
  visit(node.key, tags);
27
22
  visit(node.value, tags);
28
- } else if (node instanceof _Scalar.default) {
23
+ } else if (node instanceof _Scalar.Scalar) {
29
24
  if (tag) tags[tag] = true;
30
25
  }
31
26
  }
@@ -33,6 +28,6 @@ const visit = (node, tags) => {
33
28
  return tags;
34
29
  };
35
30
 
36
- var _default = node => Object.keys(visit(node, {}));
31
+ const listTagNames = node => Object.keys(visit(node, {}));
37
32
 
38
- exports.default = _default;
33
+ exports.listTagNames = listTagNames;