yaml 1.4.0 → 1.5.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 (136) hide show
  1. package/README.md +3 -5
  2. package/browser/dist/Anchors.js +1 -3
  3. package/browser/dist/Document.js +94 -37
  4. package/browser/dist/constants.js +34 -0
  5. package/browser/dist/cst/Alias.js +1 -3
  6. package/browser/dist/cst/BlankLine.js +5 -7
  7. package/browser/dist/cst/BlockValue.js +4 -4
  8. package/browser/dist/cst/Collection.js +7 -7
  9. package/browser/dist/cst/CollectionItem.js +6 -8
  10. package/browser/dist/cst/Comment.js +5 -7
  11. package/browser/dist/cst/Directive.js +5 -7
  12. package/browser/dist/cst/Document.js +8 -10
  13. package/browser/dist/cst/FlowCollection.js +5 -7
  14. package/browser/dist/cst/Node.js +12 -40
  15. package/browser/dist/cst/ParseContext.js +32 -34
  16. package/browser/dist/cst/PlainValue.js +1 -3
  17. package/browser/dist/cst/QuoteDouble.js +1 -3
  18. package/browser/dist/cst/QuoteSingle.js +1 -3
  19. package/browser/dist/cst/Range.js +1 -3
  20. package/browser/dist/cst/getLinePos.js +1 -4
  21. package/browser/dist/cst/parse.js +1 -4
  22. package/browser/dist/deprecation.js +34 -0
  23. package/browser/dist/errors.js +50 -59
  24. package/browser/dist/index.js +5 -4
  25. package/browser/dist/listTagNames.js +1 -3
  26. package/browser/dist/schema/Alias.js +85 -10
  27. package/browser/dist/schema/Map.js +14 -121
  28. package/browser/dist/schema/Merge.js +74 -1
  29. package/browser/dist/schema/Node.js +1 -3
  30. package/browser/dist/schema/Pair.js +36 -22
  31. package/browser/dist/schema/Scalar.js +1 -3
  32. package/browser/dist/schema/Seq.js +1 -3
  33. package/browser/dist/schema/index.js +61 -45
  34. package/browser/dist/schema/parseMap.js +18 -21
  35. package/browser/dist/schema/parseSeq.js +9 -12
  36. package/browser/dist/stringify.js +54 -39
  37. package/browser/dist/{schema → tags}/core.js +32 -20
  38. package/browser/dist/tags/failsafe/index.js +17 -0
  39. package/browser/dist/tags/failsafe/map.js +65 -0
  40. package/browser/dist/tags/failsafe/seq.js +54 -0
  41. package/browser/dist/{schema/_string.js → tags/failsafe/string.js} +11 -11
  42. package/browser/dist/tags/index.js +50 -0
  43. package/browser/dist/{schema → tags}/json.js +8 -8
  44. package/browser/dist/tags/options.js +35 -0
  45. package/browser/dist/{schema/_binary.js → tags/yaml-1.1/binary.js} +16 -22
  46. package/browser/dist/{schema/yaml-1.1.js → tags/yaml-1.1/index.js} +43 -29
  47. package/browser/dist/{schema/_omap.js → tags/yaml-1.1/omap.js} +8 -11
  48. package/browser/dist/{schema/_pairs.js → tags/yaml-1.1/pairs.js} +8 -12
  49. package/browser/dist/tags/yaml-1.1/set.js +140 -0
  50. package/browser/dist/{schema/_timestamp.js → tags/yaml-1.1/timestamp.js} +4 -7
  51. package/browser/dist/test-events.js +1 -4
  52. package/browser/dist/toJSON.js +1 -4
  53. package/browser/index.js +1 -0
  54. package/browser/map.js +2 -1
  55. package/browser/pair.js +2 -1
  56. package/browser/parse-cst.js +1 -1
  57. package/browser/scalar.js +2 -1
  58. package/browser/schema.js +7 -4
  59. package/browser/seq.js +2 -1
  60. package/browser/types/binary.js +7 -1
  61. package/browser/types/omap.js +2 -1
  62. package/browser/types/pairs.js +2 -1
  63. package/browser/types/set.js +2 -1
  64. package/browser/types/timestamp.js +10 -1
  65. package/browser/types.js +11 -0
  66. package/browser/util.js +15 -0
  67. package/dist/Anchors.js +1 -3
  68. package/dist/Document.js +38 -25
  69. package/dist/constants.js +34 -0
  70. package/dist/cst/Alias.js +1 -3
  71. package/dist/cst/BlankLine.js +5 -7
  72. package/dist/cst/BlockValue.js +4 -4
  73. package/dist/cst/Collection.js +7 -7
  74. package/dist/cst/CollectionItem.js +6 -8
  75. package/dist/cst/Comment.js +5 -7
  76. package/dist/cst/Directive.js +5 -7
  77. package/dist/cst/Document.js +8 -10
  78. package/dist/cst/FlowCollection.js +5 -7
  79. package/dist/cst/Node.js +12 -40
  80. package/dist/cst/ParseContext.js +32 -34
  81. package/dist/cst/PlainValue.js +1 -3
  82. package/dist/cst/QuoteDouble.js +1 -3
  83. package/dist/cst/QuoteSingle.js +1 -3
  84. package/dist/cst/Range.js +1 -3
  85. package/dist/cst/getLinePos.js +1 -4
  86. package/dist/cst/parse.js +1 -4
  87. package/dist/deprecation.js +34 -0
  88. package/dist/errors.js +29 -35
  89. package/dist/index.js +5 -4
  90. package/dist/listTagNames.js +1 -3
  91. package/dist/schema/Alias.js +66 -12
  92. package/dist/schema/Map.js +9 -77
  93. package/dist/schema/Merge.js +31 -0
  94. package/dist/schema/Node.js +1 -3
  95. package/dist/schema/Pair.js +29 -15
  96. package/dist/schema/Scalar.js +1 -3
  97. package/dist/schema/Seq.js +1 -3
  98. package/dist/schema/index.js +55 -45
  99. package/dist/schema/parseMap.js +18 -21
  100. package/dist/schema/parseSeq.js +9 -12
  101. package/dist/stringify.js +46 -32
  102. package/dist/{schema → tags}/core.js +32 -19
  103. package/dist/tags/failsafe/index.js +17 -0
  104. package/dist/tags/failsafe/map.js +33 -0
  105. package/dist/tags/failsafe/seq.js +34 -0
  106. package/dist/tags/failsafe/string.js +40 -0
  107. package/dist/tags/index.js +50 -0
  108. package/dist/{schema → tags}/json.js +8 -8
  109. package/dist/tags/options.js +35 -0
  110. package/dist/{schema/_binary.js → tags/yaml-1.1/binary.js} +15 -21
  111. package/dist/{schema/yaml-1.1.js → tags/yaml-1.1/index.js} +43 -30
  112. package/dist/{schema/_omap.js → tags/yaml-1.1/omap.js} +8 -9
  113. package/dist/{schema/_pairs.js → tags/yaml-1.1/pairs.js} +8 -10
  114. package/dist/{schema/_set.js → tags/yaml-1.1/set.js} +9 -42
  115. package/dist/{schema/_timestamp.js → tags/yaml-1.1/timestamp.js} +4 -7
  116. package/dist/test-events.js +1 -4
  117. package/dist/toJSON.js +1 -4
  118. package/index.js +1 -0
  119. package/map.js +2 -1
  120. package/package.json +17 -15
  121. package/pair.js +2 -1
  122. package/parse-cst.js +1 -1
  123. package/scalar.js +2 -1
  124. package/schema.js +7 -4
  125. package/seq.js +2 -1
  126. package/types/binary.js +7 -1
  127. package/types/omap.js +2 -1
  128. package/types/pairs.js +2 -1
  129. package/types/set.js +2 -1
  130. package/types/timestamp.js +10 -1
  131. package/types.js +11 -0
  132. package/util.js +15 -0
  133. package/browser/dist/schema/_set.js +0 -215
  134. package/browser/dist/schema/failsafe.js +0 -125
  135. package/dist/schema/_string.js +0 -40
  136. package/dist/schema/failsafe.js +0 -74
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _map = _interopRequireDefault(require("./map"));
9
+
10
+ var _seq = _interopRequireDefault(require("./seq"));
11
+
12
+ var _string = _interopRequireDefault(require("./string"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ var _default = [_map.default, _seq.default, _string.default];
17
+ exports.default = _default;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _Map = _interopRequireDefault(require("../../schema/Map"));
9
+
10
+ var _parseMap = _interopRequireDefault(require("../../schema/parseMap"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function createMap(schema, obj, ctx) {
15
+ const map = new _Map.default();
16
+
17
+ if (obj instanceof Map) {
18
+ for (const [key, value] of obj) map.items.push(schema.createPair(key, value, ctx));
19
+ } else if (obj && typeof obj === 'object') {
20
+ for (const key of Object.keys(obj)) map.items.push(schema.createPair(key, obj[key], ctx));
21
+ }
22
+
23
+ return map;
24
+ }
25
+
26
+ var _default = {
27
+ createNode: createMap,
28
+ default: true,
29
+ nodeClass: _Map.default,
30
+ tag: 'tag:yaml.org,2002:map',
31
+ resolve: _parseMap.default
32
+ };
33
+ exports.default = _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _parseSeq = _interopRequireDefault(require("../../schema/parseSeq"));
9
+
10
+ var _Seq = _interopRequireDefault(require("../../schema/Seq"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function createSeq(schema, obj, ctx) {
15
+ const seq = new _Seq.default();
16
+
17
+ if (obj && obj[Symbol.iterator]) {
18
+ for (const it of obj) {
19
+ const v = schema.createNode(it, ctx.wrapScalars, null, ctx);
20
+ seq.items.push(v);
21
+ }
22
+ }
23
+
24
+ return seq;
25
+ }
26
+
27
+ var _default = {
28
+ createNode: createSeq,
29
+ default: true,
30
+ nodeClass: _Seq.default,
31
+ tag: 'tag:yaml.org,2002:seq',
32
+ resolve: _parseSeq.default
33
+ };
34
+ exports.default = _default;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.resolveString = void 0;
7
+
8
+ var _stringify = require("../../stringify");
9
+
10
+ var _options = require("../options");
11
+
12
+ const resolveString = (doc, node) => {
13
+ // on error, will return { str: string, errors: Error[] }
14
+ const res = node.strValue;
15
+ if (!res) return '';
16
+ if (typeof res === 'string') return res;
17
+ res.errors.forEach(error => {
18
+ if (!error.source) error.source = node;
19
+ doc.errors.push(error);
20
+ });
21
+ return res.str;
22
+ };
23
+
24
+ exports.resolveString = resolveString;
25
+ var _default = {
26
+ identify: value => typeof value === 'string',
27
+ default: true,
28
+ tag: 'tag:yaml.org,2002:str',
29
+ resolve: resolveString,
30
+
31
+ stringify(item, ctx, onComment, onChompKeep) {
32
+ ctx = Object.assign({
33
+ actualString: true
34
+ }, ctx);
35
+ return (0, _stringify.stringifyString)(item, ctx, onComment, onChompKeep);
36
+ },
37
+
38
+ options: _options.strOptions
39
+ };
40
+ exports.default = _default;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.tags = exports.schemas = void 0;
7
+
8
+ var _core = _interopRequireDefault(require("./core"));
9
+
10
+ var _failsafe = _interopRequireDefault(require("./failsafe"));
11
+
12
+ var _json = _interopRequireDefault(require("./json"));
13
+
14
+ var _yaml = _interopRequireDefault(require("./yaml-1.1"));
15
+
16
+ var _map = _interopRequireDefault(require("./failsafe/map"));
17
+
18
+ var _seq = _interopRequireDefault(require("./failsafe/seq"));
19
+
20
+ var _binary = _interopRequireDefault(require("./yaml-1.1/binary"));
21
+
22
+ var _omap = _interopRequireDefault(require("./yaml-1.1/omap"));
23
+
24
+ var _pairs = _interopRequireDefault(require("./yaml-1.1/pairs"));
25
+
26
+ var _set = _interopRequireDefault(require("./yaml-1.1/set"));
27
+
28
+ var _timestamp = require("./yaml-1.1/timestamp");
29
+
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+
32
+ const schemas = {
33
+ core: _core.default,
34
+ failsafe: _failsafe.default,
35
+ json: _json.default,
36
+ yaml11: _yaml.default
37
+ };
38
+ exports.schemas = schemas;
39
+ const tags = {
40
+ binary: _binary.default,
41
+ floatTime: _timestamp.floatTime,
42
+ intTime: _timestamp.intTime,
43
+ map: _map.default,
44
+ omap: _omap.default,
45
+ pairs: _pairs.default,
46
+ seq: _seq.default,
47
+ set: _set.default,
48
+ timestamp: _timestamp.timestamp
49
+ };
50
+ exports.tags = tags;
@@ -5,19 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _failsafe = require("./failsafe");
8
+ var _map = _interopRequireDefault(require("./failsafe/map"));
9
9
 
10
- var _Scalar = _interopRequireDefault(require("./Scalar"));
10
+ var _seq = _interopRequireDefault(require("./failsafe/seq"));
11
11
 
12
- var _string = require("./_string");
12
+ var _Scalar = _interopRequireDefault(require("../schema/Scalar"));
13
+
14
+ var _string = require("./failsafe/string");
13
15
 
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
 
16
- const schema = [_failsafe.map, _failsafe.seq, {
18
+ const schema = [_map.default, _seq.default, {
17
19
  identify: value => typeof value === 'string',
18
20
  default: true,
19
21
  tag: 'tag:yaml.org,2002:str',
20
- resolve: _string.resolve,
22
+ resolve: _string.resolveString,
21
23
  stringify: value => JSON.stringify(value)
22
24
  }, {
23
25
  identify: value => value == null,
@@ -62,6 +64,4 @@ schema.scalarFallback = str => {
62
64
  };
63
65
 
64
66
  var _default = schema;
65
- exports.default = _default;
66
- module.exports = exports.default;
67
- module.exports.default = exports.default;
67
+ exports.default = _default;
@@ -0,0 +1,35 @@
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;
@@ -3,21 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.binary = void 0;
6
+ exports.default = void 0;
7
7
 
8
- var _errors = require("../errors");
8
+ var _constants = require("../../constants");
9
9
 
10
- var _Node = require("../cst/Node");
10
+ var _errors = require("../../errors");
11
11
 
12
- var _stringify = _interopRequireDefault(require("../stringify"));
12
+ var _stringify = require("../../stringify");
13
13
 
14
- var _string = require("./_string");
14
+ var _string = require("../failsafe/string");
15
15
 
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ var _options = require("../options");
17
17
 
18
18
  /* global atob, btoa, Buffer */
19
- // Published as 'yaml/types/binary'
20
- const binary = {
19
+ var _default = {
21
20
  identify: value => value instanceof Uint8Array,
22
21
  // Buffer inherits from Uint8Array
23
22
  default: false,
@@ -33,10 +32,10 @@ const binary = {
33
32
  */
34
33
  resolve: (doc, node) => {
35
34
  if (typeof Buffer === 'function') {
36
- const src = (0, _string.resolve)(doc, node);
35
+ const src = (0, _string.resolveString)(doc, node);
37
36
  return Buffer.from(src, 'base64');
38
37
  } else if (typeof atob === 'function') {
39
- const src = atob((0, _string.resolve)(doc, node));
38
+ const src = atob((0, _string.resolveString)(doc, node));
40
39
  const buffer = new Uint8Array(src.length);
41
40
 
42
41
  for (let i = 0; i < src.length; ++i) buffer[i] = src.charCodeAt(i);
@@ -47,10 +46,7 @@ const binary = {
47
46
  return null;
48
47
  }
49
48
  },
50
- options: {
51
- defaultType: _Node.Type.BLOCK_LITERAL,
52
- lineWidth: 76
53
- },
49
+ options: _options.binaryOptions,
54
50
  stringify: ({
55
51
  comment,
56
52
  type,
@@ -70,14 +66,14 @@ const binary = {
70
66
  throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
71
67
  }
72
68
 
73
- if (!type) type = binary.options.defaultType;
69
+ if (!type) type = _options.binaryOptions.defaultType;
74
70
 
75
- if (type === _Node.Type.QUOTE_DOUBLE) {
71
+ if (type === _constants.Type.QUOTE_DOUBLE) {
76
72
  value = src;
77
73
  } else {
78
74
  const {
79
75
  lineWidth
80
- } = binary.options;
76
+ } = _options.binaryOptions;
81
77
  const n = Math.ceil(src.length / lineWidth);
82
78
  const lines = new Array(n);
83
79
 
@@ -85,16 +81,14 @@ const binary = {
85
81
  lines[i] = src.substr(o, lineWidth);
86
82
  }
87
83
 
88
- value = lines.join(type === _Node.Type.BLOCK_LITERAL ? '\n' : ' ');
84
+ value = lines.join(type === _constants.Type.BLOCK_LITERAL ? '\n' : ' ');
89
85
  }
90
86
 
91
- return (0, _stringify.default)({
87
+ return (0, _stringify.stringifyString)({
92
88
  comment,
93
89
  type,
94
90
  value
95
91
  }, ctx, onComment, onChompKeep);
96
92
  }
97
93
  };
98
- exports.binary = binary;
99
- var _default = [binary];
100
94
  exports.default = _default;
@@ -3,35 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.boolOptions = exports.nullOptions = void 0;
6
+ exports.default = void 0;
7
7
 
8
- var _binary = _interopRequireDefault(require("./_binary"));
8
+ var _Scalar = _interopRequireDefault(require("../../schema/Scalar"));
9
9
 
10
- var _omap = _interopRequireDefault(require("./_omap"));
10
+ var _stringify = require("../../stringify");
11
11
 
12
- var _pairs = _interopRequireDefault(require("./_pairs"));
12
+ var _failsafe = _interopRequireDefault(require("../failsafe"));
13
13
 
14
- var _set = _interopRequireDefault(require("./_set"));
14
+ var _options = require("../options");
15
15
 
16
- var _timestamp = _interopRequireDefault(require("./_timestamp"));
16
+ var _binary = _interopRequireDefault(require("./binary"));
17
17
 
18
- var _core = require("./core");
18
+ var _omap = _interopRequireDefault(require("./omap"));
19
19
 
20
- var _failsafe = _interopRequireDefault(require("./failsafe"));
20
+ var _pairs = _interopRequireDefault(require("./pairs"));
21
21
 
22
- var _Scalar = _interopRequireDefault(require("./Scalar"));
22
+ var _set = _interopRequireDefault(require("./set"));
23
23
 
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ var _timestamp = require("./timestamp");
25
25
 
26
- const nullOptions = {
27
- nullStr: 'null'
28
- };
29
- exports.nullOptions = nullOptions;
30
- const boolOptions = {
31
- trueStr: 'true',
32
- falseStr: 'false'
33
- };
34
- exports.boolOptions = boolOptions;
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
27
 
36
28
  var _default = _failsafe.default.concat([{
37
29
  identify: value => value == null,
@@ -40,28 +32,28 @@ var _default = _failsafe.default.concat([{
40
32
  tag: 'tag:yaml.org,2002:null',
41
33
  test: /^(?:~|[Nn]ull|NULL)?$/,
42
34
  resolve: () => null,
43
- options: nullOptions,
44
- stringify: () => nullOptions.nullStr
35
+ options: _options.nullOptions,
36
+ stringify: () => _options.nullOptions.nullStr
45
37
  }, {
46
38
  identify: value => typeof value === 'boolean',
47
39
  default: true,
48
40
  tag: 'tag:yaml.org,2002:bool',
49
41
  test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
50
42
  resolve: () => true,
51
- options: boolOptions,
43
+ options: _options.boolOptions,
52
44
  stringify: ({
53
45
  value
54
- }) => value ? boolOptions.trueStr : boolOptions.falseStr
46
+ }) => value ? _options.boolOptions.trueStr : _options.boolOptions.falseStr
55
47
  }, {
56
48
  identify: value => typeof value === 'boolean',
57
49
  default: true,
58
50
  tag: 'tag:yaml.org,2002:bool',
59
51
  test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,
60
52
  resolve: () => false,
61
- options: boolOptions,
53
+ options: _options.boolOptions,
62
54
  stringify: ({
63
55
  value
64
- }) => value ? boolOptions.trueStr : boolOptions.falseStr
56
+ }) => value ? _options.boolOptions.trueStr : _options.boolOptions.falseStr
65
57
  }, {
66
58
  identify: value => typeof value === 'number',
67
59
  default: true,
@@ -88,7 +80,7 @@ var _default = _failsafe.default.concat([{
88
80
  tag: 'tag:yaml.org,2002:int',
89
81
  test: /^[-+]?[0-9][0-9_]*$/,
90
82
  resolve: str => parseInt(str.replace(/_/g, ''), 10),
91
- stringify: _core.stringifyNumber
83
+ stringify: _stringify.stringifyNumber
92
84
  }, {
93
85
  identify: value => typeof value === 'number',
94
86
  default: true,
@@ -105,14 +97,35 @@ var _default = _failsafe.default.concat([{
105
97
  tag: 'tag:yaml.org,2002:float',
106
98
  test: /^(?:[-+]?\.inf|(\.nan))$/i,
107
99
  resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
108
- stringify: _core.stringifyNumber
100
+ stringify: _stringify.stringifyNumber
109
101
  }, {
110
102
  identify: value => typeof value === 'number',
111
103
  default: true,
112
104
  tag: 'tag:yaml.org,2002:float',
113
- test: /^[-+]?([0-9][0-9_]*)?\.[0-9_]*([eE][-+]?[0-9]+)?$/,
105
+ format: 'EXP',
106
+ test: /^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,
114
107
  resolve: str => parseFloat(str.replace(/_/g, '')),
115
- stringify: _core.stringifyNumber
116
- }], _binary.default, _omap.default, _pairs.default, _set.default, _timestamp.default);
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);
117
130
 
118
131
  exports.default = _default;
@@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.YAMLOMap = void 0;
7
7
 
8
- var _errors = require("../errors");
8
+ var _errors = require("../../errors");
9
9
 
10
- var _toJSON = _interopRequireDefault(require("../toJSON"));
10
+ var _toJSON = _interopRequireDefault(require("../../toJSON"));
11
11
 
12
- var _Map = _interopRequireDefault(require("./Map"));
12
+ var _Map = _interopRequireDefault(require("../../schema/Map"));
13
13
 
14
- var _Pair = _interopRequireDefault(require("./Pair"));
14
+ var _Pair = _interopRequireDefault(require("../../schema/Pair"));
15
15
 
16
- var _Scalar = _interopRequireDefault(require("./Scalar"));
16
+ var _Scalar = _interopRequireDefault(require("../../schema/Scalar"));
17
17
 
18
- var _Seq = _interopRequireDefault(require("./Seq"));
18
+ var _Seq = _interopRequireDefault(require("../../schema/Seq"));
19
19
 
20
- var _pairs = require("./_pairs");
20
+ var _pairs = require("./pairs");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
@@ -102,7 +102,6 @@ var _default = {
102
102
  default: false,
103
103
  tag: 'tag:yaml.org,2002:omap',
104
104
  resolve: parseOMap,
105
- createNode: createOMap,
106
- stringify: (value, ctx, onComment, onChompKeep) => value.toString(ctx, onComment, onChompKeep)
105
+ createNode: createOMap
107
106
  };
108
107
  exports.default = _default;
@@ -7,15 +7,15 @@ exports.parsePairs = parsePairs;
7
7
  exports.createPairs = createPairs;
8
8
  exports.default = void 0;
9
9
 
10
- var _errors = require("../errors");
10
+ var _errors = require("../../errors");
11
11
 
12
- var _Map = _interopRequireDefault(require("./Map"));
12
+ var _Map = _interopRequireDefault(require("../../schema/Map"));
13
13
 
14
- var _Pair = _interopRequireDefault(require("./Pair"));
14
+ var _Pair = _interopRequireDefault(require("../../schema/Pair"));
15
15
 
16
- var _parseSeq = _interopRequireDefault(require("./parseSeq"));
16
+ var _parseSeq = _interopRequireDefault(require("../../schema/parseSeq"));
17
17
 
18
- var _Seq = _interopRequireDefault(require("./Seq"));
18
+ var _Seq = _interopRequireDefault(require("../../schema/Seq"));
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -64,9 +64,8 @@ function createPairs(schema, iterable, ctx) {
64
64
  key = it;
65
65
  }
66
66
 
67
- const k = schema.createNode(key, ctx.wrapScalars, null, ctx);
68
- const v = schema.createNode(value, ctx.wrapScalars, null, ctx);
69
- pairs.items.push(new _Pair.default(k, v));
67
+ const pair = schema.createPair(key, value, ctx);
68
+ pairs.items.push(pair);
70
69
  }
71
70
 
72
71
  return pairs;
@@ -76,7 +75,6 @@ var _default = {
76
75
  default: false,
77
76
  tag: 'tag:yaml.org,2002:pairs',
78
77
  resolve: parsePairs,
79
- createNode: createPairs,
80
- stringify: (value, ctx, onComment, onChompKeep) => value.toString(ctx, onComment, onChompKeep)
78
+ createNode: createPairs
81
79
  };
82
80
  exports.default = _default;
@@ -5,24 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.YAMLSet = void 0;
7
7
 
8
- var _errors = require("../errors");
8
+ var _errors = require("../../errors");
9
9
 
10
- var _toJSON = _interopRequireDefault(require("../toJSON"));
10
+ var _Map = _interopRequireWildcard(require("../../schema/Map"));
11
11
 
12
- var _Map = _interopRequireWildcard(require("./Map"));
12
+ var _Pair = _interopRequireDefault(require("../../schema/Pair"));
13
13
 
14
- var _Merge = _interopRequireDefault(require("./Merge"));
14
+ var _parseMap = _interopRequireDefault(require("../../schema/parseMap"));
15
15
 
16
- var _Pair = _interopRequireDefault(require("./Pair"));
16
+ var _Scalar = _interopRequireDefault(require("../../schema/Scalar"));
17
17
 
18
- var _parseMap = _interopRequireDefault(require("./parseMap"));
19
-
20
- var _Scalar = _interopRequireDefault(require("./Scalar"));
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
19
 
22
20
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
23
21
 
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
22
  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; }
27
23
 
28
24
  class YAMLSet extends _Map.default {
@@ -54,32 +50,7 @@ class YAMLSet extends _Map.default {
54
50
  }
55
51
 
56
52
  toJSON(_, ctx) {
57
- const set = new Set();
58
- if (ctx && ctx.onCreate) ctx.onCreate(set);
59
-
60
- for (const item of this.items) {
61
- if (item instanceof _Merge.default) {
62
- const {
63
- items
64
- } = item.value;
65
-
66
- for (let i = items.length - 1; i >= 0; --i) {
67
- const {
68
- source
69
- } = items[i];
70
-
71
- if (source instanceof _Map.default) {
72
- for (const [key] of source.toJSMap(ctx)) set.add(key);
73
- } else {
74
- throw new Error('Merge sources must be maps');
75
- }
76
- }
77
- } else {
78
- set.add((0, _toJSON.default)(item.key, '', ctx));
79
- }
80
- }
81
-
82
- return set;
53
+ return super.toJSON(_, ctx, Set);
83
54
  }
84
55
 
85
56
  toString(ctx, onComment, onChompKeep) {
@@ -102,10 +73,7 @@ function parseSet(doc, cst) {
102
73
  function createSet(schema, iterable, ctx) {
103
74
  const set = new YAMLSet();
104
75
 
105
- for (const value of iterable) {
106
- const v = schema.createNode(value, ctx.wrapScalars, null, ctx);
107
- set.items.push(new _Pair.default(v));
108
- }
76
+ for (const value of iterable) set.items.push(schema.createPair(value, null, ctx));
109
77
 
110
78
  return set;
111
79
  }
@@ -116,7 +84,6 @@ var _default = {
116
84
  default: false,
117
85
  tag: 'tag:yaml.org,2002:set',
118
86
  resolve: parseSet,
119
- createNode: createSet,
120
- stringify: (value, ctx, onComment, onChompKeep) => value.toString(ctx, onComment, onChompKeep)
87
+ createNode: createSet
121
88
  };
122
89
  exports.default = _default;
@@ -3,11 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.timestamp = exports.floatTime = exports.intTime = void 0;
6
+ exports.timestamp = exports.floatTime = exports.intTime = void 0;
7
7
 
8
- var _core = require("./core");
8
+ var _stringify = require("../../stringify");
9
9
 
10
- // Published as 'yaml/types/timestamp'
11
10
  const parseSexagesimal = (sign, parts) => {
12
11
  const n = parts.split(':').reduce((n, p) => n * 60 + Number(p), 0);
13
12
  return sign === '-' ? -n : n;
@@ -17,7 +16,7 @@ const parseSexagesimal = (sign, parts) => {
17
16
  const stringifySexagesimal = ({
18
17
  value
19
18
  }) => {
20
- if (isNaN(value) || !isFinite(value)) return (0, _core.stringifyNumber)(value);
19
+ if (isNaN(value) || !isFinite(value)) return (0, _stringify.stringifyNumber)(value);
21
20
  let sign = '';
22
21
 
23
22
  if (value < 0) {
@@ -91,6 +90,4 @@ const timestamp = {
91
90
  value
92
91
  }) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, '')
93
92
  };
94
- exports.timestamp = timestamp;
95
- var _default = [intTime, floatTime, timestamp];
96
- exports.default = _default;
93
+ exports.timestamp = timestamp;
@@ -162,7 +162,4 @@ function addEvents(events, doc, e, node) {
162
162
  const value = node.cstNode.strValue.replace(/\\/g, '\\\\').replace(/\0/g, '\\0').replace(/\x07/g, '\\a').replace(/\x08/g, '\\b').replace(/\t/g, '\\t').replace(/\n/g, '\\n').replace(/\v/g, '\\v').replace(/\f/g, '\\f').replace(/\r/g, '\\r').replace(/\x1b/g, '\\e');
163
163
  events.push(`=VAL${props} ${scalar}${value}`);
164
164
  }
165
- }
166
-
167
- module.exports = exports.default;
168
- module.exports.default = exports.default;
165
+ }