yaml 2.0.0-3 → 2.0.0-7
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.
- package/LICENSE +1 -1
- package/README.md +46 -26
- package/browser/dist/compose/compose-collection.js +59 -0
- package/browser/dist/compose/compose-doc.js +39 -0
- package/browser/dist/compose/compose-node.js +79 -0
- package/browser/dist/compose/compose-scalar.js +74 -0
- package/browser/dist/compose/composer.js +219 -0
- package/browser/dist/compose/resolve-block-map.js +93 -0
- package/browser/dist/compose/resolve-block-scalar.js +185 -0
- package/browser/dist/compose/resolve-block-seq.js +40 -0
- package/browser/dist/compose/resolve-end.js +37 -0
- package/browser/dist/compose/resolve-flow-collection.js +189 -0
- package/browser/dist/compose/resolve-flow-scalar.js +217 -0
- package/browser/dist/compose/resolve-props.js +126 -0
- package/browser/dist/compose/util-contains-newline.js +34 -0
- package/browser/dist/compose/util-empty-scalar-position.js +27 -0
- package/browser/dist/compose/util-map-includes.js +17 -0
- package/browser/dist/doc/Document.js +251 -348
- package/browser/dist/doc/anchors.js +72 -0
- package/browser/dist/doc/applyReviver.js +41 -28
- package/browser/dist/doc/createNode.js +75 -55
- package/browser/dist/doc/directives.js +161 -0
- package/browser/dist/errors.js +50 -72
- package/browser/dist/index.js +16 -72
- package/browser/dist/log.js +11 -7
- package/browser/dist/nodes/Alias.js +94 -0
- package/browser/dist/nodes/Collection.js +133 -0
- package/browser/dist/nodes/Node.js +41 -0
- package/browser/dist/nodes/Pair.js +28 -0
- package/browser/dist/nodes/Scalar.js +23 -0
- package/browser/dist/nodes/YAMLMap.js +116 -0
- package/browser/dist/nodes/YAMLSeq.js +105 -0
- package/browser/dist/nodes/addPairToJSMap.js +103 -0
- package/browser/dist/nodes/toJS.js +35 -0
- package/browser/dist/options.js +14 -95
- package/browser/dist/parse/cst-scalar.js +219 -0
- package/browser/dist/parse/cst-stringify.js +61 -0
- package/browser/dist/parse/cst-visit.js +97 -0
- package/browser/dist/parse/cst.js +98 -0
- package/browser/dist/parse/lexer.js +674 -0
- package/browser/dist/parse/line-counter.js +39 -0
- package/browser/dist/parse/parser.js +876 -0
- package/browser/dist/public-api.js +101 -0
- package/browser/dist/schema/Schema.js +23 -0
- package/browser/dist/schema/common/map.js +42 -0
- package/browser/dist/schema/common/null.js +13 -0
- package/browser/dist/schema/common/seq.js +33 -0
- package/browser/dist/schema/common/string.js +14 -0
- package/browser/dist/schema/core/bool.js +19 -0
- package/browser/dist/schema/core/float.js +40 -0
- package/browser/dist/schema/core/int.js +38 -0
- package/browser/dist/schema/core/schema.js +23 -0
- package/browser/dist/schema/json/schema.js +62 -0
- package/browser/dist/schema/tags.js +79 -0
- package/browser/dist/schema/yaml-1.1/binary.js +66 -0
- package/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/browser/dist/schema/yaml-1.1/float.js +43 -0
- package/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/browser/dist/schema/yaml-1.1/omap.js +73 -0
- package/browser/dist/schema/yaml-1.1/pairs.js +77 -0
- package/browser/dist/schema/yaml-1.1/schema.js +37 -0
- package/browser/dist/schema/yaml-1.1/set.js +87 -0
- package/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/browser/dist/stringify/foldFlowLines.js +121 -139
- package/browser/dist/stringify/stringify.js +87 -72
- package/browser/dist/stringify/stringifyCollection.js +122 -0
- package/browser/dist/stringify/stringifyComment.js +14 -0
- package/browser/dist/stringify/stringifyDocument.js +64 -0
- package/browser/dist/stringify/stringifyNumber.js +20 -23
- package/browser/dist/stringify/stringifyPair.js +111 -0
- package/browser/dist/stringify/stringifyString.js +295 -322
- package/browser/dist/util.js +4 -4
- package/browser/dist/visit.js +134 -71
- package/browser/index.js +4 -1
- package/dist/compose/compose-collection.d.ts +5 -0
- package/dist/compose/compose-collection.js +61 -0
- package/dist/compose/compose-doc.d.ts +6 -0
- package/dist/compose/compose-doc.js +41 -0
- package/dist/compose/compose-node.d.ts +25 -0
- package/dist/compose/compose-node.js +82 -0
- package/dist/compose/compose-scalar.d.ts +5 -0
- package/dist/compose/compose-scalar.js +76 -0
- package/dist/compose/composer.d.ts +62 -0
- package/dist/compose/composer.js +223 -0
- package/dist/compose/resolve-block-map.d.ts +6 -0
- package/dist/compose/resolve-block-map.js +95 -0
- package/dist/compose/resolve-block-scalar.d.ts +10 -0
- package/dist/compose/resolve-block-scalar.js +187 -0
- package/dist/compose/resolve-block-seq.d.ts +5 -0
- package/dist/compose/resolve-block-seq.js +42 -0
- package/dist/compose/resolve-end.d.ts +6 -0
- package/dist/compose/resolve-end.js +39 -0
- package/dist/compose/resolve-flow-collection.d.ts +6 -0
- package/dist/compose/resolve-flow-collection.js +191 -0
- package/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/dist/compose/resolve-flow-scalar.js +219 -0
- package/dist/compose/resolve-props.d.ts +21 -0
- package/dist/compose/resolve-props.js +128 -0
- package/dist/compose/util-contains-newline.d.ts +2 -0
- package/dist/compose/util-contains-newline.js +36 -0
- package/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/dist/compose/util-empty-scalar-position.js +29 -0
- package/dist/compose/util-map-includes.d.ts +4 -0
- package/dist/compose/util-map-includes.js +19 -0
- package/dist/doc/Document.d.ts +130 -0
- package/dist/doc/Document.js +250 -347
- package/dist/doc/anchors.d.ts +24 -0
- package/dist/doc/anchors.js +77 -0
- package/dist/doc/applyReviver.d.ts +9 -0
- package/dist/doc/applyReviver.js +41 -28
- package/dist/doc/createNode.d.ts +16 -0
- package/dist/doc/createNode.js +75 -55
- package/dist/doc/directives.d.ts +46 -0
- package/dist/doc/directives.js +163 -0
- package/dist/errors.d.ts +21 -0
- package/dist/errors.js +51 -74
- package/dist/index.d.ts +19 -0
- package/dist/index.js +39 -70
- package/dist/log.d.ts +3 -0
- package/dist/log.js +11 -6
- package/dist/nodes/Alias.d.ts +24 -0
- package/dist/nodes/Alias.js +96 -0
- package/dist/nodes/Collection.d.ts +67 -0
- package/dist/nodes/Collection.js +137 -0
- package/dist/nodes/Node.d.ts +48 -0
- package/dist/nodes/Node.js +59 -0
- package/dist/nodes/Pair.d.ts +16 -0
- package/dist/nodes/Pair.js +31 -0
- package/dist/nodes/Scalar.d.ts +40 -0
- package/dist/nodes/Scalar.js +26 -0
- package/dist/nodes/YAMLMap.d.ts +39 -0
- package/dist/nodes/YAMLMap.js +119 -0
- package/dist/nodes/YAMLSeq.d.ts +53 -0
- package/dist/nodes/YAMLSeq.js +107 -0
- package/dist/nodes/addPairToJSMap.d.ts +3 -0
- package/dist/nodes/addPairToJSMap.js +105 -0
- package/dist/nodes/toJS.d.ts +30 -0
- package/dist/nodes/toJS.js +37 -0
- package/dist/options.d.ts +278 -0
- package/dist/options.js +13 -96
- package/dist/parse/cst-scalar.d.ts +58 -0
- package/dist/parse/cst-scalar.js +223 -0
- package/dist/parse/cst-stringify.d.ts +8 -0
- package/dist/parse/cst-stringify.js +63 -0
- package/dist/parse/cst-visit.d.ts +39 -0
- package/dist/parse/cst-visit.js +99 -0
- package/dist/parse/cst.d.ts +106 -0
- package/dist/parse/cst.js +112 -0
- package/dist/parse/lexer.d.ts +85 -0
- package/dist/parse/lexer.js +676 -0
- package/dist/parse/line-counter.d.ts +22 -0
- package/dist/parse/line-counter.js +41 -0
- package/dist/parse/parser.d.ts +84 -0
- package/dist/parse/parser.js +880 -0
- package/dist/public-api.d.ts +43 -0
- package/dist/public-api.js +106 -0
- package/dist/schema/Schema.d.ts +16 -0
- package/dist/schema/Schema.js +25 -0
- package/dist/schema/common/map.d.ts +2 -0
- package/dist/schema/common/map.js +44 -0
- package/dist/schema/common/null.d.ts +4 -0
- package/dist/schema/common/null.js +15 -0
- package/dist/schema/common/seq.d.ts +2 -0
- package/dist/schema/common/seq.js +35 -0
- package/dist/schema/common/string.d.ts +2 -0
- package/dist/schema/common/string.js +16 -0
- package/dist/schema/core/bool.d.ts +4 -0
- package/dist/schema/core/bool.js +21 -0
- package/dist/schema/core/float.d.ts +4 -0
- package/dist/schema/core/float.js +44 -0
- package/dist/schema/core/int.d.ts +4 -0
- package/dist/schema/core/int.js +42 -0
- package/dist/schema/core/schema.d.ts +1 -0
- package/dist/schema/core/schema.js +25 -0
- package/dist/schema/json/schema.d.ts +2 -0
- package/dist/schema/json/schema.js +64 -0
- package/dist/schema/tags.d.ts +41 -0
- package/dist/schema/tags.js +82 -0
- package/dist/schema/types.d.ts +82 -0
- package/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/dist/schema/yaml-1.1/binary.js +68 -0
- package/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/dist/schema/yaml-1.1/bool.js +29 -0
- package/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/dist/schema/yaml-1.1/float.js +47 -0
- package/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/dist/schema/yaml-1.1/int.js +76 -0
- package/dist/schema/yaml-1.1/omap.d.ts +21 -0
- package/dist/schema/yaml-1.1/omap.js +76 -0
- package/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/dist/schema/yaml-1.1/pairs.js +81 -0
- package/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/dist/schema/yaml-1.1/schema.js +39 -0
- package/dist/schema/yaml-1.1/set.d.ts +22 -0
- package/dist/schema/yaml-1.1/set.js +90 -0
- package/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/dist/stringify/foldFlowLines.d.ts +34 -0
- package/dist/stringify/foldFlowLines.js +121 -139
- package/dist/stringify/stringify.d.ts +18 -0
- package/dist/stringify/stringify.js +87 -71
- package/dist/stringify/stringifyCollection.d.ts +21 -0
- package/dist/stringify/stringifyCollection.js +124 -0
- package/dist/stringify/stringifyComment.d.ts +2 -0
- package/dist/stringify/stringifyComment.js +17 -0
- package/dist/stringify/stringifyDocument.d.ts +3 -0
- package/dist/stringify/stringifyDocument.js +66 -0
- package/dist/stringify/stringifyNumber.d.ts +2 -0
- package/dist/stringify/stringifyNumber.js +20 -23
- package/dist/stringify/stringifyPair.d.ts +3 -0
- package/dist/stringify/stringifyPair.js +113 -0
- package/dist/stringify/stringifyString.d.ts +3 -0
- package/dist/stringify/stringifyString.js +295 -322
- package/dist/test-events.d.ts +4 -0
- package/dist/test-events.js +124 -148
- package/dist/util.d.ts +6 -0
- package/dist/util.js +9 -12
- package/dist/visit.d.ts +63 -0
- package/dist/visit.js +134 -71
- package/package.json +31 -39
- package/util.js +2 -14
- package/browser/dist/_virtual/_rollupPluginBabelHelpers.js +0 -16
- package/browser/dist/ast/Alias.js +0 -95
- package/browser/dist/ast/Collection.js +0 -192
- package/browser/dist/ast/Merge.js +0 -71
- package/browser/dist/ast/Node.js +0 -3
- package/browser/dist/ast/Pair.js +0 -200
- package/browser/dist/ast/Scalar.js +0 -21
- package/browser/dist/ast/YAMLMap.js +0 -91
- package/browser/dist/ast/YAMLSeq.js +0 -67
- package/browser/dist/ast/toJS.js +0 -29
- package/browser/dist/constants.js +0 -40
- package/browser/dist/cst/Alias.js +0 -26
- package/browser/dist/cst/BlankLine.js +0 -34
- package/browser/dist/cst/BlockValue.js +0 -240
- package/browser/dist/cst/Collection.js +0 -259
- package/browser/dist/cst/CollectionItem.js +0 -123
- package/browser/dist/cst/Comment.js +0 -27
- package/browser/dist/cst/Directive.js +0 -53
- package/browser/dist/cst/Document.js +0 -262
- package/browser/dist/cst/FlowCollection.js +0 -201
- package/browser/dist/cst/Node.js +0 -355
- package/browser/dist/cst/ParseContext.js +0 -234
- package/browser/dist/cst/PlainValue.js +0 -171
- package/browser/dist/cst/QuoteDouble.js +0 -224
- package/browser/dist/cst/QuoteSingle.js +0 -100
- package/browser/dist/cst/Range.js +0 -56
- package/browser/dist/cst/parse.js +0 -46
- package/browser/dist/cst/source-utils.js +0 -169
- package/browser/dist/doc/Anchors.js +0 -115
- package/browser/dist/doc/Schema.js +0 -34
- package/browser/dist/doc/getSchemaTags.js +0 -33
- package/browser/dist/doc/listTagNames.js +0 -27
- package/browser/dist/doc/parseContents.js +0 -60
- package/browser/dist/doc/parseDirectives.js +0 -107
- package/browser/dist/resolve/collection-utils.js +0 -86
- package/browser/dist/resolve/resolveMap.js +0 -315
- package/browser/dist/resolve/resolveNode.js +0 -173
- package/browser/dist/resolve/resolveScalar.js +0 -20
- package/browser/dist/resolve/resolveSeq.js +0 -170
- package/browser/dist/resolve/resolveTag.js +0 -107
- package/browser/dist/resolve/resolveTagName.js +0 -87
- package/browser/dist/stringify/addComment.js +0 -10
- package/browser/dist/stringify/stringifyTag.js +0 -28
- package/browser/dist/tags/core.js +0 -128
- package/browser/dist/tags/failsafe/index.js +0 -7
- package/browser/dist/tags/failsafe/map.js +0 -37
- package/browser/dist/tags/failsafe/seq.js +0 -34
- package/browser/dist/tags/failsafe/string.js +0 -20
- package/browser/dist/tags/index.js +0 -39
- package/browser/dist/tags/json.js +0 -62
- package/browser/dist/tags/options.js +0 -31
- package/browser/dist/tags/yaml-1.1/binary.js +0 -83
- package/browser/dist/tags/yaml-1.1/index.js +0 -174
- package/browser/dist/tags/yaml-1.1/omap.js +0 -86
- package/browser/dist/tags/yaml-1.1/pairs.js +0 -62
- package/browser/dist/tags/yaml-1.1/set.js +0 -78
- package/browser/dist/tags/yaml-1.1/timestamp.js +0 -101
- package/browser/dist/types.js +0 -10
- package/cst.d.ts +0 -185
- package/dist/_virtual/_rollupPluginBabelHelpers.js +0 -18
- package/dist/ast/Alias.js +0 -97
- package/dist/ast/Collection.js +0 -196
- package/dist/ast/Merge.js +0 -74
- package/dist/ast/Node.js +0 -5
- package/dist/ast/Pair.js +0 -203
- package/dist/ast/Scalar.js +0 -24
- package/dist/ast/YAMLMap.js +0 -94
- package/dist/ast/YAMLSeq.js +0 -69
- package/dist/ast/toJS.js +0 -31
- package/dist/constants.js +0 -46
- package/dist/cst/Alias.js +0 -28
- package/dist/cst/BlankLine.js +0 -36
- package/dist/cst/BlockValue.js +0 -243
- package/dist/cst/Collection.js +0 -262
- package/dist/cst/CollectionItem.js +0 -125
- package/dist/cst/Comment.js +0 -29
- package/dist/cst/Directive.js +0 -55
- package/dist/cst/Document.js +0 -264
- package/dist/cst/FlowCollection.js +0 -203
- package/dist/cst/Node.js +0 -357
- package/dist/cst/ParseContext.js +0 -236
- package/dist/cst/PlainValue.js +0 -173
- package/dist/cst/QuoteDouble.js +0 -226
- package/dist/cst/QuoteSingle.js +0 -102
- package/dist/cst/Range.js +0 -58
- package/dist/cst/parse.js +0 -48
- package/dist/cst/source-utils.js +0 -173
- package/dist/doc/Anchors.js +0 -117
- package/dist/doc/Schema.js +0 -36
- package/dist/doc/getSchemaTags.js +0 -35
- package/dist/doc/listTagNames.js +0 -29
- package/dist/doc/parseContents.js +0 -62
- package/dist/doc/parseDirectives.js +0 -109
- package/dist/resolve/collection-utils.js +0 -91
- package/dist/resolve/resolveMap.js +0 -317
- package/dist/resolve/resolveNode.js +0 -175
- package/dist/resolve/resolveScalar.js +0 -22
- package/dist/resolve/resolveSeq.js +0 -172
- package/dist/resolve/resolveTag.js +0 -109
- package/dist/resolve/resolveTagName.js +0 -89
- package/dist/stringify/addComment.js +0 -13
- package/dist/stringify/stringifyTag.js +0 -30
- package/dist/tags/core.js +0 -138
- package/dist/tags/failsafe/index.js +0 -9
- package/dist/tags/failsafe/map.js +0 -39
- package/dist/tags/failsafe/seq.js +0 -36
- package/dist/tags/failsafe/string.js +0 -22
- package/dist/tags/index.js +0 -42
- package/dist/tags/json.js +0 -64
- package/dist/tags/options.js +0 -37
- package/dist/tags/yaml-1.1/binary.js +0 -85
- package/dist/tags/yaml-1.1/index.js +0 -176
- package/dist/tags/yaml-1.1/omap.js +0 -89
- package/dist/tags/yaml-1.1/pairs.js +0 -66
- package/dist/tags/yaml-1.1/set.js +0 -81
- package/dist/tags/yaml-1.1/timestamp.js +0 -105
- package/dist/types.js +0 -29
- package/index.d.ts +0 -519
- package/index.js +0 -1
- package/types.d.ts +0 -379
- package/types.js +0 -17
- package/types.mjs +0 -17
- package/util.d.ts +0 -76
- package/util.mjs +0 -15
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var constants = require('../../constants.js');
|
|
4
|
-
var stringifyString = require('../../stringify/stringifyString.js');
|
|
5
|
-
var options = require('../options.js');
|
|
6
|
-
|
|
7
|
-
/* global atob, btoa, Buffer */
|
|
8
|
-
const binary = {
|
|
9
|
-
identify: value => value instanceof Uint8Array,
|
|
10
|
-
// Buffer inherits from Uint8Array
|
|
11
|
-
default: false,
|
|
12
|
-
tag: 'tag:yaml.org,2002:binary',
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Returns a Buffer in node and an Uint8Array in browsers
|
|
16
|
-
*
|
|
17
|
-
* To use the resulting buffer as an image, you'll want to do something like:
|
|
18
|
-
*
|
|
19
|
-
* const blob = new Blob([buffer], { type: 'image/jpeg' })
|
|
20
|
-
* document.querySelector('#photo').src = URL.createObjectURL(blob)
|
|
21
|
-
*/
|
|
22
|
-
resolve(src, onError) {
|
|
23
|
-
if (typeof Buffer === 'function') {
|
|
24
|
-
return Buffer.from(src, 'base64');
|
|
25
|
-
} else if (typeof atob === 'function') {
|
|
26
|
-
// On IE 11, atob() can't handle newlines
|
|
27
|
-
const str = atob(src.replace(/[\n\r]/g, ''));
|
|
28
|
-
const buffer = new Uint8Array(str.length);
|
|
29
|
-
|
|
30
|
-
for (let i = 0; i < str.length; ++i) buffer[i] = str.charCodeAt(i);
|
|
31
|
-
|
|
32
|
-
return buffer;
|
|
33
|
-
} else {
|
|
34
|
-
onError('This environment does not support reading binary tags; either Buffer or atob is required');
|
|
35
|
-
return src;
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
options: options.binaryOptions,
|
|
40
|
-
stringify: ({
|
|
41
|
-
comment,
|
|
42
|
-
type,
|
|
43
|
-
value
|
|
44
|
-
}, ctx, onComment, onChompKeep) => {
|
|
45
|
-
let src;
|
|
46
|
-
|
|
47
|
-
if (typeof Buffer === 'function') {
|
|
48
|
-
src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64');
|
|
49
|
-
} else if (typeof btoa === 'function') {
|
|
50
|
-
let s = '';
|
|
51
|
-
|
|
52
|
-
for (let i = 0; i < value.length; ++i) s += String.fromCharCode(value[i]);
|
|
53
|
-
|
|
54
|
-
src = btoa(s);
|
|
55
|
-
} else {
|
|
56
|
-
throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (!type) type = options.binaryOptions.defaultType;
|
|
60
|
-
|
|
61
|
-
if (type === constants.Type.QUOTE_DOUBLE) {
|
|
62
|
-
value = src;
|
|
63
|
-
} else {
|
|
64
|
-
const {
|
|
65
|
-
lineWidth
|
|
66
|
-
} = options.binaryOptions;
|
|
67
|
-
const n = Math.ceil(src.length / lineWidth);
|
|
68
|
-
const lines = new Array(n);
|
|
69
|
-
|
|
70
|
-
for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
|
|
71
|
-
lines[i] = src.substr(o, lineWidth);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
value = lines.join(type === constants.Type.BLOCK_LITERAL ? '\n' : ' ');
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return stringifyString.stringifyString({
|
|
78
|
-
comment,
|
|
79
|
-
type,
|
|
80
|
-
value
|
|
81
|
-
}, ctx, onComment, onChompKeep);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
exports.binary = binary;
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Scalar = require('../../ast/Scalar.js');
|
|
4
|
-
var stringifyNumber = require('../../stringify/stringifyNumber.js');
|
|
5
|
-
var index = require('../failsafe/index.js');
|
|
6
|
-
var options = require('../options.js');
|
|
7
|
-
var binary = require('./binary.js');
|
|
8
|
-
var omap = require('./omap.js');
|
|
9
|
-
var pairs = require('./pairs.js');
|
|
10
|
-
var set = require('./set.js');
|
|
11
|
-
var timestamp = require('./timestamp.js');
|
|
12
|
-
|
|
13
|
-
/* global BigInt */
|
|
14
|
-
|
|
15
|
-
const boolStringify = ({
|
|
16
|
-
value,
|
|
17
|
-
sourceStr
|
|
18
|
-
}) => {
|
|
19
|
-
const boolObj = value ? trueObj : falseObj;
|
|
20
|
-
if (sourceStr && boolObj.test.test(sourceStr)) return sourceStr;
|
|
21
|
-
return value ? options.boolOptions.trueStr : options.boolOptions.falseStr;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const boolResolve = (value, str) => {
|
|
25
|
-
const node = new Scalar.Scalar(value);
|
|
26
|
-
node.sourceStr = str;
|
|
27
|
-
return node;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const trueObj = {
|
|
31
|
-
identify: value => value === true,
|
|
32
|
-
default: true,
|
|
33
|
-
tag: 'tag:yaml.org,2002:bool',
|
|
34
|
-
test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
|
|
35
|
-
resolve: str => boolResolve(true, str),
|
|
36
|
-
options: options.boolOptions,
|
|
37
|
-
stringify: boolStringify
|
|
38
|
-
};
|
|
39
|
-
const falseObj = {
|
|
40
|
-
identify: value => value === false,
|
|
41
|
-
default: true,
|
|
42
|
-
tag: 'tag:yaml.org,2002:bool',
|
|
43
|
-
test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,
|
|
44
|
-
resolve: str => boolResolve(false, str),
|
|
45
|
-
options: options.boolOptions,
|
|
46
|
-
stringify: boolStringify
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
const intIdentify = value => typeof value === 'bigint' || Number.isInteger(value);
|
|
50
|
-
|
|
51
|
-
function intResolve(str, offset, radix) {
|
|
52
|
-
const sign = str[0];
|
|
53
|
-
if (sign === '-' || sign === '+') offset += 1;
|
|
54
|
-
str = str.substring(offset).replace(/_/g, '');
|
|
55
|
-
|
|
56
|
-
if (options.intOptions.asBigInt) {
|
|
57
|
-
switch (radix) {
|
|
58
|
-
case 2:
|
|
59
|
-
str = `0b${str}`;
|
|
60
|
-
break;
|
|
61
|
-
|
|
62
|
-
case 8:
|
|
63
|
-
str = `0o${str}`;
|
|
64
|
-
break;
|
|
65
|
-
|
|
66
|
-
case 16:
|
|
67
|
-
str = `0x${str}`;
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const n = BigInt(str);
|
|
72
|
-
return sign === '-' ? BigInt(-1) * n : n;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const n = parseInt(str, radix);
|
|
76
|
-
return sign === '-' ? -1 * n : n;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function intStringify(node, radix, prefix) {
|
|
80
|
-
const {
|
|
81
|
-
value
|
|
82
|
-
} = node;
|
|
83
|
-
|
|
84
|
-
if (intIdentify(value)) {
|
|
85
|
-
const str = value.toString(radix);
|
|
86
|
-
return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return stringifyNumber.stringifyNumber(node);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const yaml11 = index.failsafe.concat([{
|
|
93
|
-
identify: value => value == null,
|
|
94
|
-
createNode: (schema, value, ctx) => ctx.wrapScalars ? new Scalar.Scalar(null) : null,
|
|
95
|
-
default: true,
|
|
96
|
-
tag: 'tag:yaml.org,2002:null',
|
|
97
|
-
test: /^(?:~|[Nn]ull|NULL)?$/,
|
|
98
|
-
resolve: str => {
|
|
99
|
-
const node = new Scalar.Scalar(null);
|
|
100
|
-
node.sourceStr = str;
|
|
101
|
-
return node;
|
|
102
|
-
},
|
|
103
|
-
options: options.nullOptions,
|
|
104
|
-
stringify: ({
|
|
105
|
-
sourceStr
|
|
106
|
-
}) => sourceStr !== null && sourceStr !== void 0 ? sourceStr : options.nullOptions.nullStr
|
|
107
|
-
}, trueObj, falseObj, {
|
|
108
|
-
identify: intIdentify,
|
|
109
|
-
default: true,
|
|
110
|
-
tag: 'tag:yaml.org,2002:int',
|
|
111
|
-
format: 'BIN',
|
|
112
|
-
test: /^[-+]?0b[0-1_]+$/,
|
|
113
|
-
resolve: str => intResolve(str, 2, 2),
|
|
114
|
-
stringify: node => intStringify(node, 2, '0b')
|
|
115
|
-
}, {
|
|
116
|
-
identify: intIdentify,
|
|
117
|
-
default: true,
|
|
118
|
-
tag: 'tag:yaml.org,2002:int',
|
|
119
|
-
format: 'OCT',
|
|
120
|
-
test: /^[-+]?0[0-7_]+$/,
|
|
121
|
-
resolve: str => intResolve(str, 1, 8),
|
|
122
|
-
stringify: node => intStringify(node, 8, '0')
|
|
123
|
-
}, {
|
|
124
|
-
identify: intIdentify,
|
|
125
|
-
default: true,
|
|
126
|
-
tag: 'tag:yaml.org,2002:int',
|
|
127
|
-
test: /^[-+]?[0-9][0-9_]*$/,
|
|
128
|
-
resolve: str => intResolve(str, 0, 10),
|
|
129
|
-
stringify: stringifyNumber.stringifyNumber
|
|
130
|
-
}, {
|
|
131
|
-
identify: intIdentify,
|
|
132
|
-
default: true,
|
|
133
|
-
tag: 'tag:yaml.org,2002:int',
|
|
134
|
-
format: 'HEX',
|
|
135
|
-
test: /^[-+]?0x[0-9a-fA-F_]+$/,
|
|
136
|
-
resolve: str => intResolve(str, 2, 16),
|
|
137
|
-
stringify: node => intStringify(node, 16, '0x')
|
|
138
|
-
}, {
|
|
139
|
-
identify: value => typeof value === 'number',
|
|
140
|
-
default: true,
|
|
141
|
-
tag: 'tag:yaml.org,2002:float',
|
|
142
|
-
test: /^[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN)$/,
|
|
143
|
-
resolve: str => str.slice(-3).toLowerCase() === 'nan' ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
|
|
144
|
-
stringify: stringifyNumber.stringifyNumber
|
|
145
|
-
}, {
|
|
146
|
-
identify: value => typeof value === 'number',
|
|
147
|
-
default: true,
|
|
148
|
-
tag: 'tag:yaml.org,2002:float',
|
|
149
|
-
format: 'EXP',
|
|
150
|
-
test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
|
|
151
|
-
resolve: str => parseFloat(str.replace(/_/g, '')),
|
|
152
|
-
stringify: ({
|
|
153
|
-
value
|
|
154
|
-
}) => Number(value).toExponential()
|
|
155
|
-
}, {
|
|
156
|
-
identify: value => typeof value === 'number',
|
|
157
|
-
default: true,
|
|
158
|
-
tag: 'tag:yaml.org,2002:float',
|
|
159
|
-
test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
|
|
160
|
-
|
|
161
|
-
resolve(str) {
|
|
162
|
-
const node = new Scalar.Scalar(parseFloat(str.replace(/_/g, '')));
|
|
163
|
-
const dot = str.indexOf('.');
|
|
164
|
-
|
|
165
|
-
if (dot !== -1) {
|
|
166
|
-
const f = str.substring(dot + 1).replace(/_/g, '');
|
|
167
|
-
if (f[f.length - 1] === '0') node.minFractionDigits = f.length;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
return node;
|
|
171
|
-
},
|
|
172
|
-
|
|
173
|
-
stringify: stringifyNumber.stringifyNumber
|
|
174
|
-
}], binary.binary, omap.omap, pairs.pairs, set.set, timestamp.intTime, timestamp.floatTime, timestamp.timestamp);
|
|
175
|
-
|
|
176
|
-
exports.yaml11 = yaml11;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
4
|
-
var Pair = require('../../ast/Pair.js');
|
|
5
|
-
var Scalar = require('../../ast/Scalar.js');
|
|
6
|
-
var YAMLMap = require('../../ast/YAMLMap.js');
|
|
7
|
-
var YAMLSeq = require('../../ast/YAMLSeq.js');
|
|
8
|
-
var toJS = require('../../ast/toJS.js');
|
|
9
|
-
var pairs = require('./pairs.js');
|
|
10
|
-
|
|
11
|
-
class YAMLOMap extends YAMLSeq.YAMLSeq {
|
|
12
|
-
constructor() {
|
|
13
|
-
super();
|
|
14
|
-
|
|
15
|
-
_rollupPluginBabelHelpers.defineProperty(this, "add", YAMLMap.YAMLMap.prototype.add.bind(this));
|
|
16
|
-
|
|
17
|
-
_rollupPluginBabelHelpers.defineProperty(this, "delete", YAMLMap.YAMLMap.prototype.delete.bind(this));
|
|
18
|
-
|
|
19
|
-
_rollupPluginBabelHelpers.defineProperty(this, "get", YAMLMap.YAMLMap.prototype.get.bind(this));
|
|
20
|
-
|
|
21
|
-
_rollupPluginBabelHelpers.defineProperty(this, "has", YAMLMap.YAMLMap.prototype.has.bind(this));
|
|
22
|
-
|
|
23
|
-
_rollupPluginBabelHelpers.defineProperty(this, "set", YAMLMap.YAMLMap.prototype.set.bind(this));
|
|
24
|
-
|
|
25
|
-
this.tag = YAMLOMap.tag;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
toJSON(_, ctx) {
|
|
29
|
-
const map = new Map();
|
|
30
|
-
if (ctx && ctx.onCreate) ctx.onCreate(map);
|
|
31
|
-
|
|
32
|
-
for (const pair of this.items) {
|
|
33
|
-
let key, value;
|
|
34
|
-
|
|
35
|
-
if (pair instanceof Pair.Pair) {
|
|
36
|
-
key = toJS.toJS(pair.key, '', ctx);
|
|
37
|
-
value = toJS.toJS(pair.value, key, ctx);
|
|
38
|
-
} else {
|
|
39
|
-
key = toJS.toJS(pair, '', ctx);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys');
|
|
43
|
-
map.set(key, value);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return map;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
_rollupPluginBabelHelpers.defineProperty(YAMLOMap, "tag", 'tag:yaml.org,2002:omap');
|
|
52
|
-
|
|
53
|
-
function parseOMap(seq, onError) {
|
|
54
|
-
const pairs$1 = pairs.parsePairs(seq, onError);
|
|
55
|
-
const seenKeys = [];
|
|
56
|
-
|
|
57
|
-
for (const {
|
|
58
|
-
key
|
|
59
|
-
} of pairs$1.items) {
|
|
60
|
-
if (key instanceof Scalar.Scalar) {
|
|
61
|
-
if (seenKeys.includes(key.value)) {
|
|
62
|
-
onError(`Ordered maps must not include duplicate keys: ${key.value}`);
|
|
63
|
-
} else {
|
|
64
|
-
seenKeys.push(key.value);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return Object.assign(new YAMLOMap(), pairs$1);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function createOMap(schema, iterable, ctx) {
|
|
73
|
-
const pairs$1 = pairs.createPairs(schema, iterable, ctx);
|
|
74
|
-
const omap = new YAMLOMap();
|
|
75
|
-
omap.items = pairs$1.items;
|
|
76
|
-
return omap;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
const omap = {
|
|
80
|
-
identify: value => value instanceof Map,
|
|
81
|
-
nodeClass: YAMLOMap,
|
|
82
|
-
default: false,
|
|
83
|
-
tag: 'tag:yaml.org,2002:omap',
|
|
84
|
-
resolve: parseOMap,
|
|
85
|
-
createNode: createOMap
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
exports.YAMLOMap = YAMLOMap;
|
|
89
|
-
exports.omap = omap;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Pair = require('../../ast/Pair.js');
|
|
4
|
-
var YAMLMap = require('../../ast/YAMLMap.js');
|
|
5
|
-
var YAMLSeq = require('../../ast/YAMLSeq.js');
|
|
6
|
-
|
|
7
|
-
function parsePairs(seq, onError) {
|
|
8
|
-
if (seq instanceof YAMLSeq.YAMLSeq) {
|
|
9
|
-
for (let i = 0; i < seq.items.length; ++i) {
|
|
10
|
-
let item = seq.items[i];
|
|
11
|
-
if (item instanceof Pair.Pair) continue;else if (item instanceof YAMLMap.YAMLMap) {
|
|
12
|
-
if (item.items.length > 1) onError('Each pair must have its own sequence indicator');
|
|
13
|
-
const pair = item.items[0] || new Pair.Pair();
|
|
14
|
-
if (item.commentBefore) pair.commentBefore = pair.commentBefore ? `${item.commentBefore}\n${pair.commentBefore}` : item.commentBefore;
|
|
15
|
-
if (item.comment) pair.comment = pair.comment ? `${item.comment}\n${pair.comment}` : item.comment;
|
|
16
|
-
item = pair;
|
|
17
|
-
}
|
|
18
|
-
seq.items[i] = item instanceof Pair.Pair ? item : new Pair.Pair(item);
|
|
19
|
-
}
|
|
20
|
-
} else onError('Expected a sequence for this tag');
|
|
21
|
-
|
|
22
|
-
return seq;
|
|
23
|
-
}
|
|
24
|
-
function createPairs(schema, iterable, ctx) {
|
|
25
|
-
const {
|
|
26
|
-
replacer
|
|
27
|
-
} = ctx;
|
|
28
|
-
const pairs = new YAMLSeq.YAMLSeq(schema);
|
|
29
|
-
pairs.tag = 'tag:yaml.org,2002:pairs';
|
|
30
|
-
let i = 0;
|
|
31
|
-
|
|
32
|
-
for (let it of iterable) {
|
|
33
|
-
if (typeof replacer === 'function') it = replacer.call(iterable, String(i++), it);
|
|
34
|
-
let key, value;
|
|
35
|
-
|
|
36
|
-
if (Array.isArray(it)) {
|
|
37
|
-
if (it.length === 2) {
|
|
38
|
-
key = it[0];
|
|
39
|
-
value = it[1];
|
|
40
|
-
} else throw new TypeError(`Expected [key, value] tuple: ${it}`);
|
|
41
|
-
} else if (it && it instanceof Object) {
|
|
42
|
-
const keys = Object.keys(it);
|
|
43
|
-
|
|
44
|
-
if (keys.length === 1) {
|
|
45
|
-
key = keys[0];
|
|
46
|
-
value = it[key];
|
|
47
|
-
} else throw new TypeError(`Expected { key: value } tuple: ${it}`);
|
|
48
|
-
} else {
|
|
49
|
-
key = it;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
pairs.items.push(Pair.createPair(key, value, ctx));
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return pairs;
|
|
56
|
-
}
|
|
57
|
-
const pairs = {
|
|
58
|
-
default: false,
|
|
59
|
-
tag: 'tag:yaml.org,2002:pairs',
|
|
60
|
-
resolve: parsePairs,
|
|
61
|
-
createNode: createPairs
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
exports.createPairs = createPairs;
|
|
65
|
-
exports.pairs = pairs;
|
|
66
|
-
exports.parsePairs = parsePairs;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
4
|
-
var Pair = require('../../ast/Pair.js');
|
|
5
|
-
var Scalar = require('../../ast/Scalar.js');
|
|
6
|
-
var YAMLMap = require('../../ast/YAMLMap.js');
|
|
7
|
-
|
|
8
|
-
class YAMLSet extends YAMLMap.YAMLMap {
|
|
9
|
-
constructor(schema) {
|
|
10
|
-
super(schema);
|
|
11
|
-
this.tag = YAMLSet.tag;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
add(key) {
|
|
15
|
-
const pair = key instanceof Pair.Pair ? key : new Pair.Pair(key);
|
|
16
|
-
const prev = YAMLMap.findPair(this.items, pair.key);
|
|
17
|
-
if (!prev) this.items.push(pair);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
get(key, keepPair) {
|
|
21
|
-
const pair = YAMLMap.findPair(this.items, key);
|
|
22
|
-
return !keepPair && pair instanceof Pair.Pair ? pair.key instanceof Scalar.Scalar ? pair.key.value : pair.key : pair;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
set(key, value) {
|
|
26
|
-
if (typeof value !== 'boolean') throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
|
|
27
|
-
const prev = YAMLMap.findPair(this.items, key);
|
|
28
|
-
|
|
29
|
-
if (prev && !value) {
|
|
30
|
-
this.items.splice(this.items.indexOf(prev), 1);
|
|
31
|
-
} else if (!prev && value) {
|
|
32
|
-
this.items.push(new Pair.Pair(key));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
toJSON(_, ctx) {
|
|
37
|
-
return super.toJSON(_, ctx, Set);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
toString(ctx, onComment, onChompKeep) {
|
|
41
|
-
if (!ctx) return JSON.stringify(this);
|
|
42
|
-
if (this.hasAllNullValues()) return super.toString(ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
_rollupPluginBabelHelpers.defineProperty(YAMLSet, "tag", 'tag:yaml.org,2002:set');
|
|
48
|
-
|
|
49
|
-
function parseSet(map, onError) {
|
|
50
|
-
if (map instanceof YAMLMap.YAMLMap) {
|
|
51
|
-
if (map.hasAllNullValues()) return Object.assign(new YAMLSet(), map);else onError('Set items must all have null values');
|
|
52
|
-
} else onError('Expected a mapping for this tag');
|
|
53
|
-
|
|
54
|
-
return map;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function createSet(schema, iterable, ctx) {
|
|
58
|
-
const {
|
|
59
|
-
replacer
|
|
60
|
-
} = ctx;
|
|
61
|
-
const set = new YAMLSet(schema);
|
|
62
|
-
|
|
63
|
-
for (let value of iterable) {
|
|
64
|
-
if (typeof replacer === 'function') value = replacer.call(iterable, value, value);
|
|
65
|
-
set.items.push(Pair.createPair(value, null, ctx));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return set;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const set = {
|
|
72
|
-
identify: value => value instanceof Set,
|
|
73
|
-
nodeClass: YAMLSet,
|
|
74
|
-
default: false,
|
|
75
|
-
tag: 'tag:yaml.org,2002:set',
|
|
76
|
-
resolve: parseSet,
|
|
77
|
-
createNode: createSet
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
exports.YAMLSet = YAMLSet;
|
|
81
|
-
exports.set = set;
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var options = require('../options.js');
|
|
4
|
-
var stringifyNumber = require('../../stringify/stringifyNumber.js');
|
|
5
|
-
|
|
6
|
-
/* global BigInt */
|
|
7
|
-
|
|
8
|
-
const parseSexagesimal = (str, isInt) => {
|
|
9
|
-
const sign = str[0];
|
|
10
|
-
const parts = sign === '-' || sign === '+' ? str.substring(1) : str;
|
|
11
|
-
|
|
12
|
-
const num = n => isInt && options.intOptions.asBigInt ? BigInt(n) : Number(n);
|
|
13
|
-
|
|
14
|
-
const res = parts.replace(/_/g, '').split(':').reduce((res, p) => res * num(60) + num(p), num(0));
|
|
15
|
-
return sign === '-' ? num(-1) * res : res;
|
|
16
|
-
}; // hhhh:mm:ss.sss
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const stringifySexagesimal = ({
|
|
20
|
-
value
|
|
21
|
-
}) => {
|
|
22
|
-
let num = n => n;
|
|
23
|
-
|
|
24
|
-
if (typeof value === 'bigint') num = n => BigInt(n);else if (isNaN(value) || !isFinite(value)) return stringifyNumber.stringifyNumber(value);
|
|
25
|
-
let sign = '';
|
|
26
|
-
|
|
27
|
-
if (value < 0) {
|
|
28
|
-
sign = '-';
|
|
29
|
-
value *= num(-1);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const _60 = num(60);
|
|
33
|
-
|
|
34
|
-
const parts = [value % _60]; // seconds, including ms
|
|
35
|
-
|
|
36
|
-
if (value < 60) {
|
|
37
|
-
parts.unshift(0); // at least one : is required
|
|
38
|
-
} else {
|
|
39
|
-
value = (value - parts[0]) / _60;
|
|
40
|
-
parts.unshift(value % _60); // minutes
|
|
41
|
-
|
|
42
|
-
if (value >= 60) {
|
|
43
|
-
value = (value - parts[0]) / _60;
|
|
44
|
-
parts.unshift(value); // hours
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return sign + parts.map(n => n < 10 ? '0' + String(n) : String(n)).join(':').replace(/000000\d*$/, '') // % 60 may introduce error
|
|
49
|
-
;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
const intTime = {
|
|
53
|
-
identify: value => typeof value === 'bigint' || Number.isInteger(value),
|
|
54
|
-
default: true,
|
|
55
|
-
tag: 'tag:yaml.org,2002:int',
|
|
56
|
-
format: 'TIME',
|
|
57
|
-
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,
|
|
58
|
-
resolve: str => parseSexagesimal(str, true),
|
|
59
|
-
stringify: stringifySexagesimal
|
|
60
|
-
};
|
|
61
|
-
const floatTime = {
|
|
62
|
-
identify: value => typeof value === 'number',
|
|
63
|
-
default: true,
|
|
64
|
-
tag: 'tag:yaml.org,2002:float',
|
|
65
|
-
format: 'TIME',
|
|
66
|
-
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,
|
|
67
|
-
resolve: str => parseSexagesimal(str, false),
|
|
68
|
-
stringify: stringifySexagesimal
|
|
69
|
-
};
|
|
70
|
-
const timestamp = {
|
|
71
|
-
identify: value => value instanceof Date,
|
|
72
|
-
default: true,
|
|
73
|
-
tag: 'tag:yaml.org,2002:timestamp',
|
|
74
|
-
// If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part
|
|
75
|
-
// may be omitted altogether, resulting in a date format. In such a case, the time part is
|
|
76
|
-
// assumed to be 00:00:00Z (start of day, UTC).
|
|
77
|
-
test: RegExp('^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd
|
|
78
|
-
'(?:' + // time is optional
|
|
79
|
-
'(?:t|T|[ \\t]+)' + // t | T | whitespace
|
|
80
|
-
'([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?
|
|
81
|
-
'(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30
|
|
82
|
-
')?$'),
|
|
83
|
-
|
|
84
|
-
resolve(str) {
|
|
85
|
-
let [, year, month, day, hour, minute, second, millisec, tz] = str.match(timestamp.test);
|
|
86
|
-
if (millisec) millisec = (millisec + '00').substr(1, 3);
|
|
87
|
-
let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0);
|
|
88
|
-
|
|
89
|
-
if (tz && tz !== 'Z') {
|
|
90
|
-
let d = parseSexagesimal(tz, false);
|
|
91
|
-
if (Math.abs(d) < 30) d *= 60;
|
|
92
|
-
date -= 60000 * d;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return new Date(date);
|
|
96
|
-
},
|
|
97
|
-
|
|
98
|
-
stringify: ({
|
|
99
|
-
value
|
|
100
|
-
}) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, '')
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
exports.floatTime = floatTime;
|
|
104
|
-
exports.intTime = intTime;
|
|
105
|
-
exports.timestamp = timestamp;
|
package/dist/types.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var options = require('./tags/options.js');
|
|
4
|
-
var Schema = require('./doc/Schema.js');
|
|
5
|
-
var Alias = require('./ast/Alias.js');
|
|
6
|
-
var Collection = require('./ast/Collection.js');
|
|
7
|
-
var Merge = require('./ast/Merge.js');
|
|
8
|
-
var Node = require('./ast/Node.js');
|
|
9
|
-
var Pair = require('./ast/Pair.js');
|
|
10
|
-
var Scalar = require('./ast/Scalar.js');
|
|
11
|
-
var YAMLMap = require('./ast/YAMLMap.js');
|
|
12
|
-
var YAMLSeq = require('./ast/YAMLSeq.js');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
exports.binaryOptions = options.binaryOptions;
|
|
17
|
-
exports.boolOptions = options.boolOptions;
|
|
18
|
-
exports.intOptions = options.intOptions;
|
|
19
|
-
exports.nullOptions = options.nullOptions;
|
|
20
|
-
exports.strOptions = options.strOptions;
|
|
21
|
-
exports.Schema = Schema.Schema;
|
|
22
|
-
exports.Alias = Alias.Alias;
|
|
23
|
-
exports.Collection = Collection.Collection;
|
|
24
|
-
exports.Merge = Merge.Merge;
|
|
25
|
-
exports.Node = Node.Node;
|
|
26
|
-
exports.Pair = Pair.Pair;
|
|
27
|
-
exports.Scalar = Scalar.Scalar;
|
|
28
|
-
exports.YAMLMap = YAMLMap.YAMLMap;
|
|
29
|
-
exports.YAMLSeq = YAMLSeq.YAMLSeq;
|