phantom-pr 0.2.2 → 0.2.4
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/dist/cli.js +7 -0
- package/dist/cli.js.map +1 -1
- package/node_modules/ignore/LICENSE-MIT +21 -0
- package/node_modules/ignore/README.md +452 -0
- package/node_modules/ignore/index.d.ts +81 -0
- package/node_modules/ignore/index.js +784 -0
- package/node_modules/ignore/legacy.js +681 -0
- package/node_modules/ignore/package.json +87 -0
- package/node_modules/yaml/LICENSE +13 -0
- package/node_modules/yaml/README.md +172 -0
- package/node_modules/yaml/bin.mjs +11 -0
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/node_modules/yaml/browser/dist/compose/compose-node.js +102 -0
- package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/node_modules/yaml/browser/dist/compose/composer.js +217 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/node_modules/yaml/browser/dist/errors.js +57 -0
- package/node_modules/yaml/browser/dist/index.js +17 -0
- package/node_modules/yaml/browser/dist/log.js +11 -0
- package/node_modules/yaml/browser/dist/nodes/Alias.js +114 -0
- package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/node_modules/yaml/browser/dist/parse/lexer.js +717 -0
- package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/node_modules/yaml/browser/dist/parse/parser.js +967 -0
- package/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +64 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/node_modules/yaml/browser/dist/stringify/stringify.js +128 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +143 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/node_modules/yaml/browser/dist/util.js +11 -0
- package/node_modules/yaml/browser/dist/visit.js +233 -0
- package/node_modules/yaml/browser/index.js +5 -0
- package/node_modules/yaml/browser/package.json +3 -0
- package/node_modules/yaml/dist/cli.d.ts +8 -0
- package/node_modules/yaml/dist/cli.mjs +201 -0
- package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/node_modules/yaml/dist/compose/compose-node.js +105 -0
- package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/node_modules/yaml/dist/compose/composer.js +222 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
- package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/node_modules/yaml/dist/doc/Document.js +337 -0
- package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/node_modules/yaml/dist/doc/directives.js +178 -0
- package/node_modules/yaml/dist/errors.d.ts +21 -0
- package/node_modules/yaml/dist/errors.js +62 -0
- package/node_modules/yaml/dist/index.d.ts +25 -0
- package/node_modules/yaml/dist/index.js +50 -0
- package/node_modules/yaml/dist/log.d.ts +3 -0
- package/node_modules/yaml/dist/log.js +19 -0
- package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/Alias.js +116 -0
- package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/node_modules/yaml/dist/nodes/Scalar.d.ts +43 -0
- package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/node_modules/yaml/dist/options.d.ts +344 -0
- package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/node_modules/yaml/dist/parse/cst.js +112 -0
- package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/node_modules/yaml/dist/parse/lexer.js +719 -0
- package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/node_modules/yaml/dist/parse/parser.js +972 -0
- package/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/node_modules/yaml/dist/public-api.js +107 -0
- package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/node_modules/yaml/dist/schema/tags.js +99 -0
- package/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +68 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/node_modules/yaml/dist/stringify/stringify.js +131 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.js +145 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/node_modules/yaml/dist/test-events.js +134 -0
- package/node_modules/yaml/dist/util.d.ts +16 -0
- package/node_modules/yaml/dist/util.js +28 -0
- package/node_modules/yaml/dist/visit.d.ts +102 -0
- package/node_modules/yaml/dist/visit.js +236 -0
- package/node_modules/yaml/package.json +97 -0
- package/node_modules/yaml/util.js +2 -0
- package/package.json +5 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Composer } from './compose/composer';
|
|
2
|
+
import type { Reviver } from './doc/applyReviver';
|
|
3
|
+
import type { Replacer } from './doc/Document';
|
|
4
|
+
import { Document } from './doc/Document';
|
|
5
|
+
import type { Node, ParsedNode } from './nodes/Node';
|
|
6
|
+
import type { CreateNodeOptions, DocumentOptions, ParseOptions, SchemaOptions, ToJSOptions, ToStringOptions } from './options';
|
|
7
|
+
export interface EmptyStream extends Array<Document.Parsed>, ReturnType<Composer['streamInfo']> {
|
|
8
|
+
empty: true;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Parse the input as a stream of YAML documents.
|
|
12
|
+
*
|
|
13
|
+
* Documents should be separated from each other by `...` or `---` marker lines.
|
|
14
|
+
*
|
|
15
|
+
* @returns If an empty `docs` array is returned, it will be of type
|
|
16
|
+
* EmptyStream and contain additional stream information. In
|
|
17
|
+
* TypeScript, you should use `'empty' in docs` as a type guard for it.
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseAllDocuments<Contents extends Node = ParsedNode, Strict extends boolean = true>(source: string, options?: ParseOptions & DocumentOptions & SchemaOptions): Array<Contents extends ParsedNode ? Document.Parsed<Contents, Strict> : Document<Contents, Strict>> | EmptyStream;
|
|
20
|
+
/** Parse an input string into a single YAML.Document */
|
|
21
|
+
export declare function parseDocument<Contents extends Node = ParsedNode, Strict extends boolean = true>(source: string, options?: ParseOptions & DocumentOptions & SchemaOptions): Contents extends ParsedNode ? Document.Parsed<Contents, Strict> : Document<Contents, Strict>;
|
|
22
|
+
/**
|
|
23
|
+
* Parse an input string into JavaScript.
|
|
24
|
+
*
|
|
25
|
+
* Only supports input consisting of a single YAML document; for multi-document
|
|
26
|
+
* support you should use `YAML.parseAllDocuments`. May throw on error, and may
|
|
27
|
+
* log warnings using `console.warn`.
|
|
28
|
+
*
|
|
29
|
+
* @param str - A string with YAML formatting.
|
|
30
|
+
* @param reviver - A reviver function, as in `JSON.parse()`
|
|
31
|
+
* @returns The value will match the type of the root value of the parsed YAML
|
|
32
|
+
* document, so Maps become objects, Sequences arrays, and scalars result in
|
|
33
|
+
* nulls, booleans, numbers and strings.
|
|
34
|
+
*/
|
|
35
|
+
export declare function parse(src: string, options?: ParseOptions & DocumentOptions & SchemaOptions & ToJSOptions): any;
|
|
36
|
+
export declare function parse(src: string, reviver: Reviver, options?: ParseOptions & DocumentOptions & SchemaOptions & ToJSOptions): any;
|
|
37
|
+
/**
|
|
38
|
+
* Stringify a value as a YAML document.
|
|
39
|
+
*
|
|
40
|
+
* @param replacer - A replacer array or function, as in `JSON.stringify()`
|
|
41
|
+
* @returns Will always include `\n` as the last character, as is expected of YAML documents.
|
|
42
|
+
*/
|
|
43
|
+
export declare function stringify(value: any, options?: DocumentOptions & SchemaOptions & ParseOptions & CreateNodeOptions & ToStringOptions): string;
|
|
44
|
+
export declare function stringify(value: any, replacer?: Replacer | null, options?: string | number | (DocumentOptions & SchemaOptions & ParseOptions & CreateNodeOptions & ToStringOptions)): string;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var composer = require('./compose/composer.js');
|
|
4
|
+
var Document = require('./doc/Document.js');
|
|
5
|
+
var errors = require('./errors.js');
|
|
6
|
+
var log = require('./log.js');
|
|
7
|
+
var identity = require('./nodes/identity.js');
|
|
8
|
+
var lineCounter = require('./parse/line-counter.js');
|
|
9
|
+
var parser = require('./parse/parser.js');
|
|
10
|
+
|
|
11
|
+
function parseOptions(options) {
|
|
12
|
+
const prettyErrors = options.prettyErrors !== false;
|
|
13
|
+
const lineCounter$1 = options.lineCounter || (prettyErrors && new lineCounter.LineCounter()) || null;
|
|
14
|
+
return { lineCounter: lineCounter$1, prettyErrors };
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Parse the input as a stream of YAML documents.
|
|
18
|
+
*
|
|
19
|
+
* Documents should be separated from each other by `...` or `---` marker lines.
|
|
20
|
+
*
|
|
21
|
+
* @returns If an empty `docs` array is returned, it will be of type
|
|
22
|
+
* EmptyStream and contain additional stream information. In
|
|
23
|
+
* TypeScript, you should use `'empty' in docs` as a type guard for it.
|
|
24
|
+
*/
|
|
25
|
+
function parseAllDocuments(source, options = {}) {
|
|
26
|
+
const { lineCounter, prettyErrors } = parseOptions(options);
|
|
27
|
+
const parser$1 = new parser.Parser(lineCounter?.addNewLine);
|
|
28
|
+
const composer$1 = new composer.Composer(options);
|
|
29
|
+
const docs = Array.from(composer$1.compose(parser$1.parse(source)));
|
|
30
|
+
if (prettyErrors && lineCounter)
|
|
31
|
+
for (const doc of docs) {
|
|
32
|
+
doc.errors.forEach(errors.prettifyError(source, lineCounter));
|
|
33
|
+
doc.warnings.forEach(errors.prettifyError(source, lineCounter));
|
|
34
|
+
}
|
|
35
|
+
if (docs.length > 0)
|
|
36
|
+
return docs;
|
|
37
|
+
return Object.assign([], { empty: true }, composer$1.streamInfo());
|
|
38
|
+
}
|
|
39
|
+
/** Parse an input string into a single YAML.Document */
|
|
40
|
+
function parseDocument(source, options = {}) {
|
|
41
|
+
const { lineCounter, prettyErrors } = parseOptions(options);
|
|
42
|
+
const parser$1 = new parser.Parser(lineCounter?.addNewLine);
|
|
43
|
+
const composer$1 = new composer.Composer(options);
|
|
44
|
+
// `doc` is always set by compose.end(true) at the very latest
|
|
45
|
+
let doc = null;
|
|
46
|
+
for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) {
|
|
47
|
+
if (!doc)
|
|
48
|
+
doc = _doc;
|
|
49
|
+
else if (doc.options.logLevel !== 'silent') {
|
|
50
|
+
doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0, 2), 'MULTIPLE_DOCS', 'Source contains multiple documents; please use YAML.parseAllDocuments()'));
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (prettyErrors && lineCounter) {
|
|
55
|
+
doc.errors.forEach(errors.prettifyError(source, lineCounter));
|
|
56
|
+
doc.warnings.forEach(errors.prettifyError(source, lineCounter));
|
|
57
|
+
}
|
|
58
|
+
return doc;
|
|
59
|
+
}
|
|
60
|
+
function parse(src, reviver, options) {
|
|
61
|
+
let _reviver = undefined;
|
|
62
|
+
if (typeof reviver === 'function') {
|
|
63
|
+
_reviver = reviver;
|
|
64
|
+
}
|
|
65
|
+
else if (options === undefined && reviver && typeof reviver === 'object') {
|
|
66
|
+
options = reviver;
|
|
67
|
+
}
|
|
68
|
+
const doc = parseDocument(src, options);
|
|
69
|
+
if (!doc)
|
|
70
|
+
return null;
|
|
71
|
+
doc.warnings.forEach(warning => log.warn(doc.options.logLevel, warning));
|
|
72
|
+
if (doc.errors.length > 0) {
|
|
73
|
+
if (doc.options.logLevel !== 'silent')
|
|
74
|
+
throw doc.errors[0];
|
|
75
|
+
else
|
|
76
|
+
doc.errors = [];
|
|
77
|
+
}
|
|
78
|
+
return doc.toJS(Object.assign({ reviver: _reviver }, options));
|
|
79
|
+
}
|
|
80
|
+
function stringify(value, replacer, options) {
|
|
81
|
+
let _replacer = null;
|
|
82
|
+
if (typeof replacer === 'function' || Array.isArray(replacer)) {
|
|
83
|
+
_replacer = replacer;
|
|
84
|
+
}
|
|
85
|
+
else if (options === undefined && replacer) {
|
|
86
|
+
options = replacer;
|
|
87
|
+
}
|
|
88
|
+
if (typeof options === 'string')
|
|
89
|
+
options = options.length;
|
|
90
|
+
if (typeof options === 'number') {
|
|
91
|
+
const indent = Math.round(options);
|
|
92
|
+
options = indent < 1 ? undefined : indent > 8 ? { indent: 8 } : { indent };
|
|
93
|
+
}
|
|
94
|
+
if (value === undefined) {
|
|
95
|
+
const { keepUndefined } = options ?? replacer ?? {};
|
|
96
|
+
if (!keepUndefined)
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
if (identity.isDocument(value) && !_replacer)
|
|
100
|
+
return value.toString(options);
|
|
101
|
+
return new Document.Document(value, _replacer, options).toString(options);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
exports.parse = parse;
|
|
105
|
+
exports.parseAllDocuments = parseAllDocuments;
|
|
106
|
+
exports.parseDocument = parseDocument;
|
|
107
|
+
exports.stringify = stringify;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MAP, SCALAR, SEQ } from '../nodes/identity';
|
|
2
|
+
import type { Pair } from '../nodes/Pair';
|
|
3
|
+
import type { SchemaOptions, ToStringOptions } from '../options';
|
|
4
|
+
import type { CollectionTag, ScalarTag } from './types';
|
|
5
|
+
export declare class Schema {
|
|
6
|
+
compat: Array<CollectionTag | ScalarTag> | null;
|
|
7
|
+
knownTags: Record<string, CollectionTag | ScalarTag>;
|
|
8
|
+
name: string;
|
|
9
|
+
sortMapEntries: ((a: Pair, b: Pair) => number) | null;
|
|
10
|
+
tags: Array<CollectionTag | ScalarTag>;
|
|
11
|
+
toStringOptions: Readonly<ToStringOptions> | null;
|
|
12
|
+
readonly [MAP]: CollectionTag;
|
|
13
|
+
readonly [SCALAR]: ScalarTag;
|
|
14
|
+
readonly [SEQ]: CollectionTag;
|
|
15
|
+
constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }: SchemaOptions);
|
|
16
|
+
clone(): Schema;
|
|
17
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var identity = require('../nodes/identity.js');
|
|
4
|
+
var map = require('./common/map.js');
|
|
5
|
+
var seq = require('./common/seq.js');
|
|
6
|
+
var string = require('./common/string.js');
|
|
7
|
+
var tags = require('./tags.js');
|
|
8
|
+
|
|
9
|
+
const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
|
|
10
|
+
class Schema {
|
|
11
|
+
constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) {
|
|
12
|
+
this.compat = Array.isArray(compat)
|
|
13
|
+
? tags.getTags(compat, 'compat')
|
|
14
|
+
: compat
|
|
15
|
+
? tags.getTags(null, compat)
|
|
16
|
+
: null;
|
|
17
|
+
this.name = (typeof schema === 'string' && schema) || 'core';
|
|
18
|
+
this.knownTags = resolveKnownTags ? tags.coreKnownTags : {};
|
|
19
|
+
this.tags = tags.getTags(customTags, this.name, merge);
|
|
20
|
+
this.toStringOptions = toStringDefaults ?? null;
|
|
21
|
+
Object.defineProperty(this, identity.MAP, { value: map.map });
|
|
22
|
+
Object.defineProperty(this, identity.SCALAR, { value: string.string });
|
|
23
|
+
Object.defineProperty(this, identity.SEQ, { value: seq.seq });
|
|
24
|
+
// Used by createMap()
|
|
25
|
+
this.sortMapEntries =
|
|
26
|
+
typeof sortMapEntries === 'function'
|
|
27
|
+
? sortMapEntries
|
|
28
|
+
: sortMapEntries === true
|
|
29
|
+
? sortMapEntriesByKey
|
|
30
|
+
: null;
|
|
31
|
+
}
|
|
32
|
+
clone() {
|
|
33
|
+
const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this));
|
|
34
|
+
copy.tags = this.tags.slice();
|
|
35
|
+
return copy;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
exports.Schema = Schema;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var identity = require('../../nodes/identity.js');
|
|
4
|
+
var YAMLMap = require('../../nodes/YAMLMap.js');
|
|
5
|
+
|
|
6
|
+
const map = {
|
|
7
|
+
collection: 'map',
|
|
8
|
+
default: true,
|
|
9
|
+
nodeClass: YAMLMap.YAMLMap,
|
|
10
|
+
tag: 'tag:yaml.org,2002:map',
|
|
11
|
+
resolve(map, onError) {
|
|
12
|
+
if (!identity.isMap(map))
|
|
13
|
+
onError('Expected a mapping for this tag');
|
|
14
|
+
return map;
|
|
15
|
+
},
|
|
16
|
+
createNode: (schema, obj, ctx) => YAMLMap.YAMLMap.from(schema, obj, ctx)
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.map = map;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Scalar = require('../../nodes/Scalar.js');
|
|
4
|
+
|
|
5
|
+
const nullTag = {
|
|
6
|
+
identify: value => value == null,
|
|
7
|
+
createNode: () => new Scalar.Scalar(null),
|
|
8
|
+
default: true,
|
|
9
|
+
tag: 'tag:yaml.org,2002:null',
|
|
10
|
+
test: /^(?:~|[Nn]ull|NULL)?$/,
|
|
11
|
+
resolve: () => new Scalar.Scalar(null),
|
|
12
|
+
stringify: ({ source }, ctx) => typeof source === 'string' && nullTag.test.test(source)
|
|
13
|
+
? source
|
|
14
|
+
: ctx.options.nullStr
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.nullTag = nullTag;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var identity = require('../../nodes/identity.js');
|
|
4
|
+
var YAMLSeq = require('../../nodes/YAMLSeq.js');
|
|
5
|
+
|
|
6
|
+
const seq = {
|
|
7
|
+
collection: 'seq',
|
|
8
|
+
default: true,
|
|
9
|
+
nodeClass: YAMLSeq.YAMLSeq,
|
|
10
|
+
tag: 'tag:yaml.org,2002:seq',
|
|
11
|
+
resolve(seq, onError) {
|
|
12
|
+
if (!identity.isSeq(seq))
|
|
13
|
+
onError('Expected a sequence for this tag');
|
|
14
|
+
return seq;
|
|
15
|
+
},
|
|
16
|
+
createNode: (schema, obj, ctx) => YAMLSeq.YAMLSeq.from(schema, obj, ctx)
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.seq = seq;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var stringifyString = require('../../stringify/stringifyString.js');
|
|
4
|
+
|
|
5
|
+
const string = {
|
|
6
|
+
identify: value => typeof value === 'string',
|
|
7
|
+
default: true,
|
|
8
|
+
tag: 'tag:yaml.org,2002:str',
|
|
9
|
+
resolve: str => str,
|
|
10
|
+
stringify(item, ctx, onComment, onChompKeep) {
|
|
11
|
+
ctx = Object.assign({ actualString: true }, ctx);
|
|
12
|
+
return stringifyString.stringifyString(item, ctx, onComment, onChompKeep);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.string = string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Scalar = require('../../nodes/Scalar.js');
|
|
4
|
+
|
|
5
|
+
const boolTag = {
|
|
6
|
+
identify: value => typeof value === 'boolean',
|
|
7
|
+
default: true,
|
|
8
|
+
tag: 'tag:yaml.org,2002:bool',
|
|
9
|
+
test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
|
|
10
|
+
resolve: str => new Scalar.Scalar(str[0] === 't' || str[0] === 'T'),
|
|
11
|
+
stringify({ source, value }, ctx) {
|
|
12
|
+
if (source && boolTag.test.test(source)) {
|
|
13
|
+
const sv = source[0] === 't' || source[0] === 'T';
|
|
14
|
+
if (value === sv)
|
|
15
|
+
return source;
|
|
16
|
+
}
|
|
17
|
+
return value ? ctx.options.trueStr : ctx.options.falseStr;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.boolTag = boolTag;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Scalar = require('../../nodes/Scalar.js');
|
|
4
|
+
var stringifyNumber = require('../../stringify/stringifyNumber.js');
|
|
5
|
+
|
|
6
|
+
const floatNaN = {
|
|
7
|
+
identify: value => typeof value === 'number',
|
|
8
|
+
default: true,
|
|
9
|
+
tag: 'tag:yaml.org,2002:float',
|
|
10
|
+
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
|
|
11
|
+
resolve: str => str.slice(-3).toLowerCase() === 'nan'
|
|
12
|
+
? NaN
|
|
13
|
+
: str[0] === '-'
|
|
14
|
+
? Number.NEGATIVE_INFINITY
|
|
15
|
+
: Number.POSITIVE_INFINITY,
|
|
16
|
+
stringify: stringifyNumber.stringifyNumber
|
|
17
|
+
};
|
|
18
|
+
const floatExp = {
|
|
19
|
+
identify: value => typeof value === 'number',
|
|
20
|
+
default: true,
|
|
21
|
+
tag: 'tag:yaml.org,2002:float',
|
|
22
|
+
format: 'EXP',
|
|
23
|
+
test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
|
|
24
|
+
resolve: str => parseFloat(str),
|
|
25
|
+
stringify(node) {
|
|
26
|
+
const num = Number(node.value);
|
|
27
|
+
return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const float = {
|
|
31
|
+
identify: value => typeof value === 'number',
|
|
32
|
+
default: true,
|
|
33
|
+
tag: 'tag:yaml.org,2002:float',
|
|
34
|
+
test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
|
|
35
|
+
resolve(str) {
|
|
36
|
+
const node = new Scalar.Scalar(parseFloat(str));
|
|
37
|
+
const dot = str.indexOf('.');
|
|
38
|
+
if (dot !== -1 && str[str.length - 1] === '0')
|
|
39
|
+
node.minFractionDigits = str.length - dot - 1;
|
|
40
|
+
return node;
|
|
41
|
+
},
|
|
42
|
+
stringify: stringifyNumber.stringifyNumber
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.float = float;
|
|
46
|
+
exports.floatExp = floatExp;
|
|
47
|
+
exports.floatNaN = floatNaN;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var stringifyNumber = require('../../stringify/stringifyNumber.js');
|
|
4
|
+
|
|
5
|
+
const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
|
|
6
|
+
const intResolve = (str, offset, radix, { intAsBigInt }) => (intAsBigInt ? BigInt(str) : parseInt(str.substring(offset), radix));
|
|
7
|
+
function intStringify(node, radix, prefix) {
|
|
8
|
+
const { value } = node;
|
|
9
|
+
if (intIdentify(value) && value >= 0)
|
|
10
|
+
return prefix + value.toString(radix);
|
|
11
|
+
return stringifyNumber.stringifyNumber(node);
|
|
12
|
+
}
|
|
13
|
+
const intOct = {
|
|
14
|
+
identify: value => intIdentify(value) && value >= 0,
|
|
15
|
+
default: true,
|
|
16
|
+
tag: 'tag:yaml.org,2002:int',
|
|
17
|
+
format: 'OCT',
|
|
18
|
+
test: /^0o[0-7]+$/,
|
|
19
|
+
resolve: (str, _onError, opt) => intResolve(str, 2, 8, opt),
|
|
20
|
+
stringify: node => intStringify(node, 8, '0o')
|
|
21
|
+
};
|
|
22
|
+
const int = {
|
|
23
|
+
identify: intIdentify,
|
|
24
|
+
default: true,
|
|
25
|
+
tag: 'tag:yaml.org,2002:int',
|
|
26
|
+
test: /^[-+]?[0-9]+$/,
|
|
27
|
+
resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
|
|
28
|
+
stringify: stringifyNumber.stringifyNumber
|
|
29
|
+
};
|
|
30
|
+
const intHex = {
|
|
31
|
+
identify: value => intIdentify(value) && value >= 0,
|
|
32
|
+
default: true,
|
|
33
|
+
tag: 'tag:yaml.org,2002:int',
|
|
34
|
+
format: 'HEX',
|
|
35
|
+
test: /^0x[0-9a-fA-F]+$/,
|
|
36
|
+
resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
|
|
37
|
+
stringify: node => intStringify(node, 16, '0x')
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.int = int;
|
|
41
|
+
exports.intHex = intHex;
|
|
42
|
+
exports.intOct = intOct;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const schema: (import('../types').CollectionTag | import('../types').ScalarTag)[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var map = require('../common/map.js');
|
|
4
|
+
var _null = require('../common/null.js');
|
|
5
|
+
var seq = require('../common/seq.js');
|
|
6
|
+
var string = require('../common/string.js');
|
|
7
|
+
var bool = require('./bool.js');
|
|
8
|
+
var float = require('./float.js');
|
|
9
|
+
var int = require('./int.js');
|
|
10
|
+
|
|
11
|
+
const schema = [
|
|
12
|
+
map.map,
|
|
13
|
+
seq.seq,
|
|
14
|
+
string.string,
|
|
15
|
+
_null.nullTag,
|
|
16
|
+
bool.boolTag,
|
|
17
|
+
int.intOct,
|
|
18
|
+
int.int,
|
|
19
|
+
int.intHex,
|
|
20
|
+
float.floatNaN,
|
|
21
|
+
float.floatExp,
|
|
22
|
+
float.float
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
exports.schema = schema;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Scalar = require('../../nodes/Scalar.js');
|
|
4
|
+
var map = require('../common/map.js');
|
|
5
|
+
var seq = require('../common/seq.js');
|
|
6
|
+
|
|
7
|
+
function intIdentify(value) {
|
|
8
|
+
return typeof value === 'bigint' || Number.isInteger(value);
|
|
9
|
+
}
|
|
10
|
+
const stringifyJSON = ({ value }) => JSON.stringify(value);
|
|
11
|
+
const jsonScalars = [
|
|
12
|
+
{
|
|
13
|
+
identify: value => typeof value === 'string',
|
|
14
|
+
default: true,
|
|
15
|
+
tag: 'tag:yaml.org,2002:str',
|
|
16
|
+
resolve: str => str,
|
|
17
|
+
stringify: stringifyJSON
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
identify: value => value == null,
|
|
21
|
+
createNode: () => new Scalar.Scalar(null),
|
|
22
|
+
default: true,
|
|
23
|
+
tag: 'tag:yaml.org,2002:null',
|
|
24
|
+
test: /^null$/,
|
|
25
|
+
resolve: () => null,
|
|
26
|
+
stringify: stringifyJSON
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
identify: value => typeof value === 'boolean',
|
|
30
|
+
default: true,
|
|
31
|
+
tag: 'tag:yaml.org,2002:bool',
|
|
32
|
+
test: /^true$|^false$/,
|
|
33
|
+
resolve: str => str === 'true',
|
|
34
|
+
stringify: stringifyJSON
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
identify: intIdentify,
|
|
38
|
+
default: true,
|
|
39
|
+
tag: 'tag:yaml.org,2002:int',
|
|
40
|
+
test: /^-?(?:0|[1-9][0-9]*)$/,
|
|
41
|
+
resolve: (str, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str, 10),
|
|
42
|
+
stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
identify: value => typeof value === 'number',
|
|
46
|
+
default: true,
|
|
47
|
+
tag: 'tag:yaml.org,2002:float',
|
|
48
|
+
test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
|
|
49
|
+
resolve: str => parseFloat(str),
|
|
50
|
+
stringify: stringifyJSON
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
const jsonError = {
|
|
54
|
+
default: true,
|
|
55
|
+
tag: '',
|
|
56
|
+
test: /^/,
|
|
57
|
+
resolve(str, onError) {
|
|
58
|
+
onError(`Unresolved plain scalar ${JSON.stringify(str)}`);
|
|
59
|
+
return str;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const schema = [map.map, seq.seq].concat(jsonScalars, jsonError);
|
|
63
|
+
|
|
64
|
+
exports.schema = schema;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
type JsonSchema = boolean | ArraySchema | ObjectSchema | NumberSchema | StringSchema;
|
|
2
|
+
type JsonType = 'array' | 'object' | 'string' | 'number' | 'integer' | 'boolean' | 'null';
|
|
3
|
+
interface CommonSchema {
|
|
4
|
+
type?: JsonType | JsonType[];
|
|
5
|
+
const?: unknown;
|
|
6
|
+
enum?: unknown[];
|
|
7
|
+
format?: string;
|
|
8
|
+
allOf?: JsonSchema[];
|
|
9
|
+
anyOf?: JsonSchema[];
|
|
10
|
+
oneOf?: JsonSchema[];
|
|
11
|
+
not?: JsonSchema;
|
|
12
|
+
if?: JsonSchema;
|
|
13
|
+
then?: JsonSchema;
|
|
14
|
+
else?: JsonSchema;
|
|
15
|
+
$id?: string;
|
|
16
|
+
$defs?: Record<string, JsonSchema>;
|
|
17
|
+
$anchor?: string;
|
|
18
|
+
$dynamicAnchor?: string;
|
|
19
|
+
$ref?: string;
|
|
20
|
+
$dynamicRef?: string;
|
|
21
|
+
$schema?: string;
|
|
22
|
+
$vocabulary?: Record<string, boolean>;
|
|
23
|
+
$comment?: string;
|
|
24
|
+
default?: unknown;
|
|
25
|
+
deprecated?: boolean;
|
|
26
|
+
readOnly?: boolean;
|
|
27
|
+
writeOnly?: boolean;
|
|
28
|
+
title?: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
examples?: unknown[];
|
|
31
|
+
}
|
|
32
|
+
interface ArraySchema extends CommonSchema {
|
|
33
|
+
prefixItems?: JsonSchema[];
|
|
34
|
+
items?: JsonSchema;
|
|
35
|
+
contains?: JsonSchema;
|
|
36
|
+
unevaluatedItems?: JsonSchema;
|
|
37
|
+
maxItems?: number;
|
|
38
|
+
minItems?: number;
|
|
39
|
+
uniqueItems?: boolean;
|
|
40
|
+
maxContains?: number;
|
|
41
|
+
minContains?: number;
|
|
42
|
+
}
|
|
43
|
+
interface ObjectSchema extends CommonSchema {
|
|
44
|
+
properties?: Record<string, JsonSchema>;
|
|
45
|
+
patternProperties?: Record<string, JsonSchema>;
|
|
46
|
+
additionalProperties?: JsonSchema;
|
|
47
|
+
propertyNames?: JsonSchema;
|
|
48
|
+
unevaluatedProperties?: JsonSchema;
|
|
49
|
+
maxProperties?: number;
|
|
50
|
+
minProperties?: number;
|
|
51
|
+
required?: string[];
|
|
52
|
+
dependentRequired?: Record<string, string[]>;
|
|
53
|
+
dependentSchemas?: Record<string, JsonSchema>;
|
|
54
|
+
}
|
|
55
|
+
interface StringSchema extends CommonSchema {
|
|
56
|
+
maxLength?: number;
|
|
57
|
+
minLength?: number;
|
|
58
|
+
patter?: string;
|
|
59
|
+
contentEncoding?: string;
|
|
60
|
+
contentMediaType?: string;
|
|
61
|
+
contentSchema?: JsonSchema;
|
|
62
|
+
}
|
|
63
|
+
interface NumberSchema extends CommonSchema {
|
|
64
|
+
multipleOf?: number;
|
|
65
|
+
maximum?: number;
|
|
66
|
+
exclusiveMaximum?: number;
|
|
67
|
+
minimum?: number;
|
|
68
|
+
exclusiveMinimum?: number;
|
|
69
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { SchemaOptions } from '../options';
|
|
2
|
+
import type { CollectionTag, ScalarTag } from './types';
|
|
3
|
+
declare const tagsByName: {
|
|
4
|
+
binary: ScalarTag;
|
|
5
|
+
bool: ScalarTag & {
|
|
6
|
+
test: RegExp;
|
|
7
|
+
};
|
|
8
|
+
float: ScalarTag;
|
|
9
|
+
floatExp: ScalarTag;
|
|
10
|
+
floatNaN: ScalarTag;
|
|
11
|
+
floatTime: ScalarTag;
|
|
12
|
+
int: ScalarTag;
|
|
13
|
+
intHex: ScalarTag;
|
|
14
|
+
intOct: ScalarTag;
|
|
15
|
+
intTime: ScalarTag;
|
|
16
|
+
map: CollectionTag;
|
|
17
|
+
merge: ScalarTag & {
|
|
18
|
+
identify(value: unknown): boolean;
|
|
19
|
+
test: RegExp;
|
|
20
|
+
};
|
|
21
|
+
null: ScalarTag & {
|
|
22
|
+
test: RegExp;
|
|
23
|
+
};
|
|
24
|
+
omap: CollectionTag;
|
|
25
|
+
pairs: CollectionTag;
|
|
26
|
+
seq: CollectionTag;
|
|
27
|
+
set: CollectionTag;
|
|
28
|
+
timestamp: ScalarTag & {
|
|
29
|
+
test: RegExp;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export type TagId = keyof typeof tagsByName;
|
|
33
|
+
export type Tags = Array<ScalarTag | CollectionTag | TagId>;
|
|
34
|
+
export declare const coreKnownTags: {
|
|
35
|
+
'tag:yaml.org,2002:binary': ScalarTag;
|
|
36
|
+
'tag:yaml.org,2002:merge': ScalarTag & {
|
|
37
|
+
identify(value: unknown): boolean;
|
|
38
|
+
test: RegExp;
|
|
39
|
+
};
|
|
40
|
+
'tag:yaml.org,2002:omap': CollectionTag;
|
|
41
|
+
'tag:yaml.org,2002:pairs': CollectionTag;
|
|
42
|
+
'tag:yaml.org,2002:set': CollectionTag;
|
|
43
|
+
'tag:yaml.org,2002:timestamp': ScalarTag & {
|
|
44
|
+
test: RegExp;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export declare function getTags(customTags: SchemaOptions['customTags'] | undefined, schemaName: string, addMergeTag?: boolean): (CollectionTag | ScalarTag)[];
|
|
48
|
+
export {};
|