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
package/dist/tags/json.js DELETED
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _map = _interopRequireDefault(require("./failsafe/map"));
9
-
10
- var _seq = _interopRequireDefault(require("./failsafe/seq"));
11
-
12
- var _Scalar = _interopRequireDefault(require("../schema/Scalar"));
13
-
14
- var _string = require("./failsafe/string");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- const schema = [_map.default, _seq.default, {
19
- identify: value => typeof value === 'string',
20
- default: true,
21
- tag: 'tag:yaml.org,2002:str',
22
- resolve: _string.resolveString,
23
- stringify: value => JSON.stringify(value)
24
- }, {
25
- identify: value => value == null,
26
- createNode: (schema, value, ctx) => ctx.wrapScalars ? new _Scalar.default(null) : null,
27
- default: true,
28
- tag: 'tag:yaml.org,2002:null',
29
- test: /^null$/,
30
- resolve: () => null,
31
- stringify: value => JSON.stringify(value)
32
- }, {
33
- identify: value => typeof value === 'boolean',
34
- default: true,
35
- tag: 'tag:yaml.org,2002:bool',
36
- test: /^true|false$/,
37
- resolve: str => str === 'true',
38
- stringify: value => JSON.stringify(value)
39
- }, {
40
- identify: value => typeof value === 'number',
41
- default: true,
42
- tag: 'tag:yaml.org,2002:int',
43
- test: /^-?(?:0|[1-9][0-9]*)$/,
44
- resolve: str => parseInt(str, 10),
45
- stringify: value => JSON.stringify(value)
46
- }, {
47
- identify: value => typeof value === 'number',
48
- default: true,
49
- tag: 'tag:yaml.org,2002:float',
50
- test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
51
- resolve: str => parseFloat(str),
52
- stringify: value => JSON.stringify(value)
53
- }];
54
-
55
- schema.scalarFallback = str => {
56
- throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(str)}`);
57
- };
58
-
59
- var _default = schema;
60
- exports.default = _default;
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.strOptions = exports.nullOptions = exports.boolOptions = exports.binaryOptions = void 0;
7
-
8
- var _constants = require("../constants");
9
-
10
- const binaryOptions = {
11
- defaultType: _constants.Type.BLOCK_LITERAL,
12
- lineWidth: 76
13
- };
14
- exports.binaryOptions = binaryOptions;
15
- const boolOptions = {
16
- trueStr: 'true',
17
- falseStr: 'false'
18
- };
19
- exports.boolOptions = boolOptions;
20
- const nullOptions = {
21
- nullStr: 'null'
22
- };
23
- exports.nullOptions = nullOptions;
24
- const strOptions = {
25
- defaultType: _constants.Type.PLAIN,
26
- doubleQuoted: {
27
- jsonEncoding: false,
28
- minMultiLineLength: 40
29
- },
30
- fold: {
31
- lineWidth: 80,
32
- minContentWidth: 20
33
- }
34
- };
35
- exports.strOptions = strOptions;
@@ -1,97 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _constants = require("../../constants");
9
-
10
- var _errors = require("../../errors");
11
-
12
- var _stringify = require("../../stringify");
13
-
14
- var _string = require("../failsafe/string");
15
-
16
- var _options = require("../options");
17
-
18
- /* global atob, btoa, Buffer */
19
- var _default = {
20
- identify: value => value instanceof Uint8Array,
21
- // Buffer inherits from Uint8Array
22
- default: false,
23
- tag: 'tag:yaml.org,2002:binary',
24
-
25
- /**
26
- * Returns a Buffer in node and an Uint8Array in browsers
27
- *
28
- * To use the resulting buffer as an image, you'll want to do something like:
29
- *
30
- * const blob = new Blob([buffer], { type: 'image/jpeg' })
31
- * document.querySelector('#photo').src = URL.createObjectURL(blob)
32
- */
33
- resolve: (doc, node) => {
34
- const src = (0, _string.resolveString)(doc, node);
35
-
36
- if (typeof Buffer === 'function') {
37
- return Buffer.from(src, 'base64');
38
- } else if (typeof atob === 'function') {
39
- // On IE 11, atob() can't handle newlines
40
- const str = atob(src.replace(/[\n\r]/g, ''));
41
- const buffer = new Uint8Array(str.length);
42
-
43
- for (let i = 0; i < str.length; ++i) buffer[i] = str.charCodeAt(i);
44
-
45
- return buffer;
46
- } else {
47
- const msg = 'This environment does not support reading binary tags; either Buffer or atob is required';
48
- doc.errors.push(new _errors.YAMLReferenceError(node, msg));
49
- return null;
50
- }
51
- },
52
- options: _options.binaryOptions,
53
- stringify: ({
54
- comment,
55
- type,
56
- value
57
- }, ctx, onComment, onChompKeep) => {
58
- let src;
59
-
60
- if (typeof Buffer === 'function') {
61
- src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64');
62
- } else if (typeof btoa === 'function') {
63
- let s = '';
64
-
65
- for (let i = 0; i < value.length; ++i) s += String.fromCharCode(value[i]);
66
-
67
- src = btoa(s);
68
- } else {
69
- throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
70
- }
71
-
72
- if (!type) type = _options.binaryOptions.defaultType;
73
-
74
- if (type === _constants.Type.QUOTE_DOUBLE) {
75
- value = src;
76
- } else {
77
- const {
78
- lineWidth
79
- } = _options.binaryOptions;
80
- const n = Math.ceil(src.length / lineWidth);
81
- const lines = new Array(n);
82
-
83
- for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
84
- lines[i] = src.substr(o, lineWidth);
85
- }
86
-
87
- value = lines.join(type === _constants.Type.BLOCK_LITERAL ? '\n' : ' ');
88
- }
89
-
90
- return (0, _stringify.stringifyString)({
91
- comment,
92
- type,
93
- value
94
- }, ctx, onComment, onChompKeep);
95
- }
96
- };
97
- exports.default = _default;
@@ -1,131 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _Scalar = _interopRequireDefault(require("../../schema/Scalar"));
9
-
10
- var _stringify = require("../../stringify");
11
-
12
- var _failsafe = _interopRequireDefault(require("../failsafe"));
13
-
14
- var _options = require("../options");
15
-
16
- var _binary = _interopRequireDefault(require("./binary"));
17
-
18
- var _omap = _interopRequireDefault(require("./omap"));
19
-
20
- var _pairs = _interopRequireDefault(require("./pairs"));
21
-
22
- var _set = _interopRequireDefault(require("./set"));
23
-
24
- var _timestamp = require("./timestamp");
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- const boolStringify = ({
29
- value
30
- }) => value ? _options.boolOptions.trueStr : _options.boolOptions.falseStr;
31
-
32
- var _default = _failsafe.default.concat([{
33
- identify: value => value == null,
34
- createNode: (schema, value, ctx) => ctx.wrapScalars ? new _Scalar.default(null) : null,
35
- default: true,
36
- tag: 'tag:yaml.org,2002:null',
37
- test: /^(?:~|[Nn]ull|NULL)?$/,
38
- resolve: () => null,
39
- options: _options.nullOptions,
40
- stringify: () => _options.nullOptions.nullStr
41
- }, {
42
- identify: value => typeof value === 'boolean',
43
- default: true,
44
- tag: 'tag:yaml.org,2002:bool',
45
- test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
46
- resolve: () => true,
47
- options: _options.boolOptions,
48
- stringify: boolStringify
49
- }, {
50
- identify: value => typeof value === 'boolean',
51
- default: true,
52
- tag: 'tag:yaml.org,2002:bool',
53
- test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,
54
- resolve: () => false,
55
- options: _options.boolOptions,
56
- stringify: boolStringify
57
- }, {
58
- identify: value => typeof value === 'number',
59
- default: true,
60
- tag: 'tag:yaml.org,2002:int',
61
- format: 'BIN',
62
- test: /^0b([0-1_]+)$/,
63
- resolve: (str, bin) => parseInt(bin.replace(/_/g, ''), 2),
64
- stringify: ({
65
- value
66
- }) => '0b' + value.toString(2)
67
- }, {
68
- identify: value => typeof value === 'number',
69
- default: true,
70
- tag: 'tag:yaml.org,2002:int',
71
- format: 'OCT',
72
- test: /^[-+]?0([0-7_]+)$/,
73
- resolve: (str, oct) => parseInt(oct.replace(/_/g, ''), 8),
74
- stringify: ({
75
- value
76
- }) => (value < 0 ? '-0' : '0') + value.toString(8)
77
- }, {
78
- identify: value => typeof value === 'number',
79
- default: true,
80
- tag: 'tag:yaml.org,2002:int',
81
- test: /^[-+]?[0-9][0-9_]*$/,
82
- resolve: str => parseInt(str.replace(/_/g, ''), 10),
83
- stringify: _stringify.stringifyNumber
84
- }, {
85
- identify: value => typeof value === 'number',
86
- default: true,
87
- tag: 'tag:yaml.org,2002:int',
88
- format: 'HEX',
89
- test: /^0x([0-9a-fA-F_]+)$/,
90
- resolve: (str, hex) => parseInt(hex.replace(/_/g, ''), 16),
91
- stringify: ({
92
- value
93
- }) => (value < 0 ? '-0x' : '0x') + value.toString(16)
94
- }, {
95
- identify: value => typeof value === 'number',
96
- default: true,
97
- tag: 'tag:yaml.org,2002:float',
98
- test: /^(?:[-+]?\.inf|(\.nan))$/i,
99
- resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
100
- stringify: _stringify.stringifyNumber
101
- }, {
102
- identify: value => typeof value === 'number',
103
- default: true,
104
- tag: 'tag:yaml.org,2002:float',
105
- format: 'EXP',
106
- test: /^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,
107
- resolve: str => parseFloat(str.replace(/_/g, '')),
108
- stringify: ({
109
- value
110
- }) => Number(value).toExponential()
111
- }, {
112
- identify: value => typeof value === 'number',
113
- default: true,
114
- tag: 'tag:yaml.org,2002:float',
115
- test: /^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,
116
-
117
- resolve(str, frac) {
118
- const node = new _Scalar.default(parseFloat(str.replace(/_/g, '')));
119
-
120
- if (frac) {
121
- const f = frac.replace(/_/g, '');
122
- if (f[f.length - 1] === '0') node.minFractionDigits = f.length;
123
- }
124
-
125
- return node;
126
- },
127
-
128
- stringify: _stringify.stringifyNumber
129
- }], _binary.default, _omap.default, _pairs.default, _set.default, _timestamp.intTime, _timestamp.floatTime, _timestamp.timestamp);
130
-
131
- exports.default = _default;
@@ -1,105 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.YAMLOMap = void 0;
7
-
8
- var _errors = require("../../errors");
9
-
10
- var _toJSON = _interopRequireDefault(require("../../toJSON"));
11
-
12
- var _Map = _interopRequireDefault(require("../../schema/Map"));
13
-
14
- var _Pair = _interopRequireDefault(require("../../schema/Pair"));
15
-
16
- var _Scalar = _interopRequireDefault(require("../../schema/Scalar"));
17
-
18
- var _Seq = _interopRequireDefault(require("../../schema/Seq"));
19
-
20
- var _pairs = require("./pairs");
21
-
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
- 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; }
25
-
26
- class YAMLOMap extends _Seq.default {
27
- constructor() {
28
- super();
29
-
30
- _defineProperty(this, "add", _Map.default.prototype.add.bind(this));
31
-
32
- _defineProperty(this, "delete", _Map.default.prototype.delete.bind(this));
33
-
34
- _defineProperty(this, "get", _Map.default.prototype.get.bind(this));
35
-
36
- _defineProperty(this, "has", _Map.default.prototype.has.bind(this));
37
-
38
- _defineProperty(this, "set", _Map.default.prototype.set.bind(this));
39
-
40
- this.tag = YAMLOMap.tag;
41
- }
42
-
43
- toJSON(_, ctx) {
44
- const map = new Map();
45
- if (ctx && ctx.onCreate) ctx.onCreate(map);
46
-
47
- for (const pair of this.items) {
48
- let key, value;
49
-
50
- if (pair instanceof _Pair.default) {
51
- key = (0, _toJSON.default)(pair.key, '', ctx);
52
- value = (0, _toJSON.default)(pair.value, key, ctx);
53
- } else {
54
- key = (0, _toJSON.default)(pair, '', ctx);
55
- }
56
-
57
- if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys');
58
- map.set(key, value);
59
- }
60
-
61
- return map;
62
- }
63
-
64
- }
65
-
66
- exports.YAMLOMap = YAMLOMap;
67
-
68
- _defineProperty(YAMLOMap, "tag", 'tag:yaml.org,2002:omap');
69
-
70
- function parseOMap(doc, cst) {
71
- const pairs = (0, _pairs.parsePairs)(doc, cst);
72
- const seenKeys = [];
73
-
74
- for (const {
75
- key
76
- } of pairs.items) {
77
- if (key instanceof _Scalar.default) {
78
- if (seenKeys.includes(key.value)) {
79
- const msg = 'Ordered maps must not include duplicate keys';
80
- throw new _errors.YAMLSemanticError(cst, msg);
81
- } else {
82
- seenKeys.push(key.value);
83
- }
84
- }
85
- }
86
-
87
- return Object.assign(new YAMLOMap(), pairs);
88
- }
89
-
90
- function createOMap(schema, iterable, ctx) {
91
- const pairs = (0, _pairs.createPairs)(schema, iterable, ctx);
92
- const omap = new YAMLOMap();
93
- omap.items = pairs.items;
94
- return omap;
95
- }
96
-
97
- var _default = {
98
- identify: value => value instanceof Map,
99
- nodeClass: YAMLOMap,
100
- default: false,
101
- tag: 'tag:yaml.org,2002:omap',
102
- resolve: parseOMap,
103
- createNode: createOMap
104
- };
105
- exports.default = _default;
@@ -1,80 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parsePairs = parsePairs;
7
- exports.createPairs = createPairs;
8
- exports.default = void 0;
9
-
10
- var _errors = require("../../errors");
11
-
12
- var _Map = _interopRequireDefault(require("../../schema/Map"));
13
-
14
- var _Pair = _interopRequireDefault(require("../../schema/Pair"));
15
-
16
- var _parseSeq = _interopRequireDefault(require("../../schema/parseSeq"));
17
-
18
- var _Seq = _interopRequireDefault(require("../../schema/Seq"));
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- function parsePairs(doc, cst) {
23
- const seq = (0, _parseSeq.default)(doc, cst);
24
-
25
- for (let i = 0; i < seq.items.length; ++i) {
26
- let item = seq.items[i];
27
- if (item instanceof _Pair.default) continue;else if (item instanceof _Map.default) {
28
- if (item.items.length > 1) {
29
- const msg = 'Each pair must have its own sequence indicator';
30
- throw new _errors.YAMLSemanticError(cst, msg);
31
- }
32
-
33
- const pair = item.items[0] || new _Pair.default();
34
- if (item.commentBefore) pair.commentBefore = pair.commentBefore ? `${item.commentBefore}\n${pair.commentBefore}` : item.commentBefore;
35
- if (item.comment) pair.comment = pair.comment ? `${item.comment}\n${pair.comment}` : item.comment;
36
- item = pair;
37
- }
38
- seq.items[i] = item instanceof _Pair.default ? item : new _Pair.default(item);
39
- }
40
-
41
- return seq;
42
- }
43
-
44
- function createPairs(schema, iterable, ctx) {
45
- const pairs = new _Seq.default(schema);
46
- pairs.tag = 'tag:yaml.org,2002:pairs';
47
-
48
- for (const it of iterable) {
49
- let key, value;
50
-
51
- if (Array.isArray(it)) {
52
- if (it.length === 2) {
53
- key = it[0];
54
- value = it[1];
55
- } else throw new TypeError(`Expected [key, value] tuple: ${it}`);
56
- } else if (it && it instanceof Object) {
57
- const keys = Object.keys(it);
58
-
59
- if (keys.length === 1) {
60
- key = keys[0];
61
- value = it[key];
62
- } else throw new TypeError(`Expected { key: value } tuple: ${it}`);
63
- } else {
64
- key = it;
65
- }
66
-
67
- const pair = schema.createPair(key, value, ctx);
68
- pairs.items.push(pair);
69
- }
70
-
71
- return pairs;
72
- }
73
-
74
- var _default = {
75
- default: false,
76
- tag: 'tag:yaml.org,2002:pairs',
77
- resolve: parsePairs,
78
- createNode: createPairs
79
- };
80
- exports.default = _default;
@@ -1,91 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.YAMLSet = void 0;
7
-
8
- var _errors = require("../../errors");
9
-
10
- var _Map = _interopRequireWildcard(require("../../schema/Map"));
11
-
12
- var _Pair = _interopRequireDefault(require("../../schema/Pair"));
13
-
14
- var _parseMap = _interopRequireDefault(require("../../schema/parseMap"));
15
-
16
- var _Scalar = _interopRequireDefault(require("../../schema/Scalar"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
21
-
22
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
- 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; }
25
-
26
- class YAMLSet extends _Map.default {
27
- constructor() {
28
- super();
29
- this.tag = YAMLSet.tag;
30
- }
31
-
32
- add(key) {
33
- const pair = key instanceof _Pair.default ? key : new _Pair.default(key);
34
- const prev = (0, _Map.findPair)(this.items, pair.key);
35
- if (!prev) this.items.push(pair);
36
- }
37
-
38
- get(key, keepPair) {
39
- const pair = (0, _Map.findPair)(this.items, key);
40
- return !keepPair && pair instanceof _Pair.default ? pair.key instanceof _Scalar.default ? pair.key.value : pair.key : pair;
41
- }
42
-
43
- set(key, value) {
44
- if (typeof value !== 'boolean') throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
45
- const prev = (0, _Map.findPair)(this.items, key);
46
-
47
- if (prev && !value) {
48
- this.items.splice(this.items.indexOf(prev), 1);
49
- } else if (!prev && value) {
50
- this.items.push(new _Pair.default(key));
51
- }
52
- }
53
-
54
- toJSON(_, ctx) {
55
- return super.toJSON(_, ctx, Set);
56
- }
57
-
58
- toString(ctx, onComment, onChompKeep) {
59
- if (!ctx) return JSON.stringify(this);
60
- if (this.hasAllNullValues()) return super.toString(ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values');
61
- }
62
-
63
- }
64
-
65
- exports.YAMLSet = YAMLSet;
66
-
67
- _defineProperty(YAMLSet, "tag", 'tag:yaml.org,2002:set');
68
-
69
- function parseSet(doc, cst) {
70
- const map = (0, _parseMap.default)(doc, cst);
71
- if (!map.hasAllNullValues()) throw new _errors.YAMLSemanticError(cst, 'Set items must all have null values');
72
- return Object.assign(new YAMLSet(), map);
73
- }
74
-
75
- function createSet(schema, iterable, ctx) {
76
- const set = new YAMLSet();
77
-
78
- for (const value of iterable) set.items.push(schema.createPair(value, null, ctx));
79
-
80
- return set;
81
- }
82
-
83
- var _default = {
84
- identify: value => value instanceof Set,
85
- nodeClass: YAMLSet,
86
- default: false,
87
- tag: 'tag:yaml.org,2002:set',
88
- resolve: parseSet,
89
- createNode: createSet
90
- };
91
- exports.default = _default;
@@ -1,93 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.timestamp = exports.floatTime = exports.intTime = void 0;
7
-
8
- var _stringify = require("../../stringify");
9
-
10
- const parseSexagesimal = (sign, parts) => {
11
- const n = parts.split(':').reduce((n, p) => n * 60 + Number(p), 0);
12
- return sign === '-' ? -n : n;
13
- }; // hhhh:mm:ss.sss
14
-
15
-
16
- const stringifySexagesimal = ({
17
- value
18
- }) => {
19
- if (isNaN(value) || !isFinite(value)) return (0, _stringify.stringifyNumber)(value);
20
- let sign = '';
21
-
22
- if (value < 0) {
23
- sign = '-';
24
- value = Math.abs(value);
25
- }
26
-
27
- const parts = [value % 60]; // seconds, including ms
28
-
29
- if (value < 60) {
30
- parts.unshift(0); // at least one : is required
31
- } else {
32
- value = Math.round((value - parts[0]) / 60);
33
- parts.unshift(value % 60); // minutes
34
-
35
- if (value >= 60) {
36
- value = Math.round((value - parts[0]) / 60);
37
- parts.unshift(value); // hours
38
- }
39
- }
40
-
41
- return sign + parts.map(n => n < 10 ? '0' + String(n) : String(n)).join(':').replace(/000000\d*$/, '') // % 60 may introduce error
42
- ;
43
- };
44
-
45
- const intTime = {
46
- identify: value => typeof value === 'number',
47
- default: true,
48
- tag: 'tag:yaml.org,2002:int',
49
- format: 'TIME',
50
- test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,
51
- resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')),
52
- stringify: stringifySexagesimal
53
- };
54
- exports.intTime = intTime;
55
- const floatTime = {
56
- identify: value => typeof value === 'number',
57
- default: true,
58
- tag: 'tag:yaml.org,2002:float',
59
- format: 'TIME',
60
- test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,
61
- resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')),
62
- stringify: stringifySexagesimal
63
- };
64
- exports.floatTime = floatTime;
65
- const timestamp = {
66
- identify: value => value instanceof Date,
67
- default: true,
68
- tag: 'tag:yaml.org,2002:timestamp',
69
- // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part
70
- // may be omitted altogether, resulting in a date format. In such a case, the time part is
71
- // assumed to be 00:00:00Z (start of day, UTC).
72
- test: RegExp('^(?:' + '([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd
73
- '(?:(?:t|T|[ \\t]+)' + // t | T | whitespace
74
- '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?
75
- '(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30
76
- ')?' + ')$'),
77
- resolve: (str, year, month, day, hour, minute, second, millisec, tz) => {
78
- if (millisec) millisec = (millisec + '00').substr(1, 3);
79
- let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0);
80
-
81
- if (tz && tz !== 'Z') {
82
- let d = parseSexagesimal(tz[0], tz.slice(1));
83
- if (Math.abs(d) < 30) d *= 60;
84
- date -= 60000 * d;
85
- }
86
-
87
- return new Date(date);
88
- },
89
- stringify: ({
90
- value
91
- }) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, '')
92
- };
93
- exports.timestamp = timestamp;