yaml 2.6.1 → 2.7.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 (81) hide show
  1. package/README.md +27 -8
  2. package/browser/dist/compose/resolve-props.js +1 -1
  3. package/browser/dist/log.js +1 -4
  4. package/browser/dist/schema/yaml-1.1/binary.js +2 -11
  5. package/browser/dist/util.js +1 -1
  6. package/dist/compose/compose-collection.d.ts +4 -4
  7. package/dist/compose/compose-doc.d.ts +6 -6
  8. package/dist/compose/compose-node.d.ts +7 -7
  9. package/dist/compose/compose-scalar.d.ts +4 -4
  10. package/dist/compose/composer.d.ts +7 -6
  11. package/dist/compose/composer.js +2 -1
  12. package/dist/compose/resolve-block-map.d.ts +5 -5
  13. package/dist/compose/resolve-block-scalar.d.ts +5 -5
  14. package/dist/compose/resolve-block-seq.d.ts +5 -5
  15. package/dist/compose/resolve-end.d.ts +2 -2
  16. package/dist/compose/resolve-flow-collection.d.ts +7 -7
  17. package/dist/compose/resolve-flow-scalar.d.ts +4 -4
  18. package/dist/compose/resolve-props.d.ts +2 -2
  19. package/dist/compose/resolve-props.js +1 -1
  20. package/dist/compose/util-contains-newline.d.ts +1 -1
  21. package/dist/compose/util-empty-scalar-position.d.ts +1 -1
  22. package/dist/compose/util-flow-indent-check.d.ts +2 -2
  23. package/dist/compose/util-map-includes.d.ts +3 -3
  24. package/dist/doc/Document.d.ts +11 -11
  25. package/dist/doc/anchors.d.ts +2 -2
  26. package/dist/doc/createNode.d.ts +4 -4
  27. package/dist/doc/directives.d.ts +1 -1
  28. package/dist/index.d.ts +21 -18
  29. package/dist/log.js +4 -2
  30. package/dist/nodes/Alias.d.ts +9 -8
  31. package/dist/nodes/Collection.d.ts +4 -4
  32. package/dist/nodes/Node.d.ts +10 -10
  33. package/dist/nodes/Pair.d.ts +9 -8
  34. package/dist/nodes/Scalar.d.ts +4 -3
  35. package/dist/nodes/YAMLMap.d.ts +10 -10
  36. package/dist/nodes/YAMLSeq.d.ts +10 -10
  37. package/dist/nodes/addPairToJSMap.d.ts +3 -3
  38. package/dist/nodes/identity.d.ts +7 -7
  39. package/dist/nodes/toJS.d.ts +2 -2
  40. package/dist/options.d.ts +10 -10
  41. package/dist/parse/cst-scalar.d.ts +4 -4
  42. package/dist/parse/cst-stringify.d.ts +1 -1
  43. package/dist/parse/cst-visit.d.ts +2 -2
  44. package/dist/parse/cst.d.ts +4 -3
  45. package/dist/parse/lexer.d.ts +1 -1
  46. package/dist/parse/parser.d.ts +4 -4
  47. package/dist/parse/parser.js +2 -1
  48. package/dist/public-api.d.ts +6 -5
  49. package/dist/schema/Schema.d.ts +4 -4
  50. package/dist/schema/common/map.d.ts +1 -1
  51. package/dist/schema/common/null.d.ts +1 -1
  52. package/dist/schema/common/seq.d.ts +1 -1
  53. package/dist/schema/common/string.d.ts +1 -1
  54. package/dist/schema/core/bool.d.ts +1 -1
  55. package/dist/schema/core/float.d.ts +1 -1
  56. package/dist/schema/core/int.d.ts +1 -1
  57. package/dist/schema/core/schema.d.ts +1 -1
  58. package/dist/schema/json/schema.d.ts +1 -1
  59. package/dist/schema/tags.d.ts +2 -2
  60. package/dist/schema/types.d.ts +8 -8
  61. package/dist/schema/yaml-1.1/binary.d.ts +1 -1
  62. package/dist/schema/yaml-1.1/binary.js +6 -5
  63. package/dist/schema/yaml-1.1/bool.d.ts +1 -1
  64. package/dist/schema/yaml-1.1/float.d.ts +1 -1
  65. package/dist/schema/yaml-1.1/int.d.ts +1 -1
  66. package/dist/schema/yaml-1.1/merge.d.ts +3 -3
  67. package/dist/schema/yaml-1.1/omap.d.ts +11 -17
  68. package/dist/schema/yaml-1.1/pairs.d.ts +7 -7
  69. package/dist/schema/yaml-1.1/schema.d.ts +1 -1
  70. package/dist/schema/yaml-1.1/set.d.ts +9 -9
  71. package/dist/schema/yaml-1.1/timestamp.d.ts +1 -1
  72. package/dist/stringify/stringify.d.ts +3 -3
  73. package/dist/stringify/stringifyCollection.d.ts +2 -2
  74. package/dist/stringify/stringifyDocument.d.ts +3 -3
  75. package/dist/stringify/stringifyNumber.d.ts +1 -1
  76. package/dist/stringify/stringifyPair.d.ts +2 -2
  77. package/dist/stringify/stringifyString.d.ts +2 -2
  78. package/dist/util.d.ts +16 -12
  79. package/dist/util.js +2 -2
  80. package/dist/visit.d.ts +7 -7
  81. package/package.json +4 -4
package/README.md CHANGED
@@ -55,24 +55,29 @@ The first has the simplest API and "just works", the second gets you all the bel
55
55
 
56
56
  A [command-line tool](https://eemeli.org/yaml/#command-line-tool) is also included.
57
57
 
58
+ ### Parse & Stringify
59
+
58
60
  ```js
59
61
  import { parse, stringify } from 'yaml'
60
- // or
61
- import YAML from 'yaml'
62
- // or
63
- const YAML = require('yaml')
64
62
  ```
65
63
 
66
- ### Parse & Stringify
67
-
68
64
  - [`parse(str, reviver?, options?): value`](https://eemeli.org/yaml/#yaml-parse)
69
65
  - [`stringify(value, replacer?, options?): string`](https://eemeli.org/yaml/#yaml-stringify)
70
66
 
71
67
  ### Documents
72
68
 
69
+ <!-- prettier-ignore -->
70
+ ```js
71
+ import {
72
+ Document,
73
+ isDocument,
74
+ parseAllDocuments,
75
+ parseDocument
76
+ } from 'yaml'
77
+ ```
78
+
73
79
  - [`Document`](https://eemeli.org/yaml/#documents)
74
80
  - [`constructor(value, replacer?, options?)`](https://eemeli.org/yaml/#creating-documents)
75
- - [`#anchors`](https://eemeli.org/yaml/#working-with-anchors)
76
81
  - [`#contents`](https://eemeli.org/yaml/#content-nodes)
77
82
  - [`#directives`](https://eemeli.org/yaml/#stream-directives)
78
83
  - [`#errors`](https://eemeli.org/yaml/#errors)
@@ -83,6 +88,15 @@ const YAML = require('yaml')
83
88
 
84
89
  ### Content Nodes
85
90
 
91
+ <!-- prettier-ignore -->
92
+ ```js
93
+ import {
94
+ isAlias, isCollection, isMap, isNode,
95
+ isPair, isScalar, isSeq, Scalar,
96
+ visit, visitAsync, YAMLMap, YAMLSeq
97
+ } from 'yaml'
98
+ ```
99
+
86
100
  - [`isAlias(foo): boolean`](https://eemeli.org/yaml/#identifying-node-types)
87
101
  - [`isCollection(foo): boolean`](https://eemeli.org/yaml/#identifying-node-types)
88
102
  - [`isMap(foo): boolean`](https://eemeli.org/yaml/#identifying-node-types)
@@ -93,13 +107,18 @@ const YAML = require('yaml')
93
107
  - [`new Scalar(value)`](https://eemeli.org/yaml/#scalar-values)
94
108
  - [`new YAMLMap()`](https://eemeli.org/yaml/#collections)
95
109
  - [`new YAMLSeq()`](https://eemeli.org/yaml/#collections)
96
- - [`doc.createAlias(node, name?): Alias`](https://eemeli.org/yaml/#working-with-anchors)
110
+ - [`doc.createAlias(node, name?): Alias`](https://eemeli.org/yaml/#creating-nodes)
97
111
  - [`doc.createNode(value, options?): Node`](https://eemeli.org/yaml/#creating-nodes)
98
112
  - [`doc.createPair(key, value): Pair`](https://eemeli.org/yaml/#creating-nodes)
99
113
  - [`visit(node, visitor)`](https://eemeli.org/yaml/#finding-and-modifying-nodes)
114
+ - [`visitAsync(node, visitor)`](https://eemeli.org/yaml/#finding-and-modifying-nodes)
100
115
 
101
116
  ### Parsing YAML
102
117
 
118
+ ```js
119
+ import { Composer, Lexer, Parser } from 'yaml'
120
+ ```
121
+
103
122
  - [`new Lexer().lex(src)`](https://eemeli.org/yaml/#lexer)
104
123
  - [`new Parser(onNewLine?).parse(src)`](https://eemeli.org/yaml/#parser)
105
124
  - [`new Composer(options?).compose(tokens)`](https://eemeli.org/yaml/#composer)
@@ -55,7 +55,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn
55
55
  if (atNewline) {
56
56
  if (comment)
57
57
  comment += token.source;
58
- else
58
+ else if (!found || indicator !== 'seq-item-ind')
59
59
  spaceBefore = true;
60
60
  }
61
61
  else
@@ -4,10 +4,7 @@ function debug(logLevel, ...messages) {
4
4
  }
5
5
  function warn(logLevel, warning) {
6
6
  if (logLevel === 'debug' || logLevel === 'warn') {
7
- if (typeof process !== 'undefined' && process.emitWarning)
8
- process.emitWarning(warning);
9
- else
10
- console.warn(warning);
7
+ console.warn(warning);
11
8
  }
12
9
  }
13
10
 
@@ -14,10 +14,7 @@ const binary = {
14
14
  * document.querySelector('#photo').src = URL.createObjectURL(blob)
15
15
  */
16
16
  resolve(src, onError) {
17
- if (typeof Buffer === 'function') {
18
- return Buffer.from(src, 'base64');
19
- }
20
- else if (typeof atob === 'function') {
17
+ if (typeof atob === 'function') {
21
18
  // On IE 11, atob() can't handle newlines
22
19
  const str = atob(src.replace(/[\n\r]/g, ''));
23
20
  const buffer = new Uint8Array(str.length);
@@ -33,13 +30,7 @@ const binary = {
33
30
  stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
34
31
  const buf = value; // checked earlier by binary.identify()
35
32
  let str;
36
- if (typeof Buffer === 'function') {
37
- str =
38
- buf instanceof Buffer
39
- ? buf.toString('base64')
40
- : Buffer.from(buf.buffer).toString('base64');
41
- }
42
- else if (typeof btoa === 'function') {
33
+ if (typeof btoa === 'function') {
43
34
  let s = '';
44
35
  for (let i = 0; i < buf.length; ++i)
45
36
  s += String.fromCharCode(buf[i]);
@@ -1,8 +1,8 @@
1
1
  export { createNode } from './doc/createNode.js';
2
2
  export { debug, warn } from './log.js';
3
3
  export { createPair } from './nodes/Pair.js';
4
- export { findPair } from './nodes/YAMLMap.js';
5
4
  export { toJS } from './nodes/toJS.js';
5
+ export { findPair } from './nodes/YAMLMap.js';
6
6
  export { map as mapTag } from './schema/common/map.js';
7
7
  export { seq as seqTag } from './schema/common/seq.js';
8
8
  export { string as stringTag } from './schema/common/string.js';
@@ -1,7 +1,7 @@
1
- import type { ParsedNode } from '../nodes/Node.js';
2
- import type { BlockMap, BlockSequence, FlowCollection, SourceToken } from '../parse/cst.js';
3
- import type { ComposeContext, ComposeNode } from './compose-node.js';
4
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { ParsedNode } from '../nodes/Node';
2
+ import type { BlockMap, BlockSequence, FlowCollection, SourceToken } from '../parse/cst';
3
+ import type { ComposeContext, ComposeNode } from './compose-node';
4
+ import type { ComposeErrorHandler } from './composer';
5
5
  interface Props {
6
6
  anchor: SourceToken | null;
7
7
  tag: SourceToken | null;
@@ -1,7 +1,7 @@
1
- import type { Directives } from '../doc/directives.js';
2
- import { Document } from '../doc/Document.js';
3
- import type { ParsedNode } from '../nodes/Node.js';
4
- import type { DocumentOptions, ParseOptions, SchemaOptions } from '../options.js';
5
- import type * as CST from '../parse/cst.js';
6
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { Directives } from '../doc/directives';
2
+ import { Document } from '../doc/Document';
3
+ import type { ParsedNode } from '../nodes/Node';
4
+ import type { DocumentOptions, ParseOptions, SchemaOptions } from '../options';
5
+ import type * as CST from '../parse/cst';
6
+ import type { ComposeErrorHandler } from './composer';
7
7
  export declare function composeDoc<Contents extends ParsedNode = ParsedNode, Strict extends boolean = true>(options: ParseOptions & DocumentOptions & SchemaOptions, directives: Directives, { offset, start, value, end }: CST.Document, onError: ComposeErrorHandler): Document.Parsed<Contents, Strict>;
@@ -1,9 +1,9 @@
1
- import type { Directives } from '../doc/directives.js';
2
- import type { ParsedNode } from '../nodes/Node.js';
3
- import type { ParseOptions } from '../options.js';
4
- import type { SourceToken, Token } from '../parse/cst.js';
5
- import type { Schema } from '../schema/Schema.js';
6
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { Directives } from '../doc/directives';
2
+ import type { ParsedNode } from '../nodes/Node';
3
+ import type { ParseOptions } from '../options';
4
+ import type { SourceToken, Token } from '../parse/cst';
5
+ import type { Schema } from '../schema/Schema';
6
+ import type { ComposeErrorHandler } from './composer';
7
7
  export interface ComposeContext {
8
8
  atKey: boolean;
9
9
  atRoot: boolean;
@@ -25,5 +25,5 @@ declare const CN: {
25
25
  };
26
26
  export type ComposeNode = typeof CN;
27
27
  export declare function composeNode(ctx: ComposeContext, token: Token, props: Props, onError: ComposeErrorHandler): ParsedNode;
28
- export declare function composeEmptyNode(ctx: ComposeContext, offset: number, before: Token[] | undefined, pos: number | null, { spaceBefore, comment, anchor, tag, end }: Props, onError: ComposeErrorHandler): import("../index.js").Scalar.Parsed;
28
+ export declare function composeEmptyNode(ctx: ComposeContext, offset: number, before: Token[] | undefined, pos: number | null, { spaceBefore, comment, anchor, tag, end }: Props, onError: ComposeErrorHandler): import('../index').Scalar.Parsed;
29
29
  export {};
@@ -1,5 +1,5 @@
1
- import { Scalar } from '../nodes/Scalar.js';
2
- import type { BlockScalar, FlowScalar, SourceToken } from '../parse/cst.js';
3
- import type { ComposeContext } from './compose-node.js';
4
- import type { ComposeErrorHandler } from './composer.js';
1
+ import { Scalar } from '../nodes/Scalar';
2
+ import type { BlockScalar, FlowScalar, SourceToken } from '../parse/cst';
3
+ import type { ComposeContext } from './compose-node';
4
+ import type { ComposeErrorHandler } from './composer';
5
5
  export declare function composeScalar(ctx: ComposeContext, token: FlowScalar | BlockScalar, tagToken: SourceToken | null, onError: ComposeErrorHandler): Scalar.Parsed;
@@ -1,9 +1,10 @@
1
- import { Directives } from '../doc/directives.js';
2
- import { Document } from '../doc/Document.js';
3
- import { ErrorCode, YAMLParseError, YAMLWarning } from '../errors.js';
4
- import type { ParsedNode, Range } from '../nodes/Node.js';
5
- import type { DocumentOptions, ParseOptions, SchemaOptions } from '../options.js';
6
- import type { Token } from '../parse/cst.js';
1
+ import { Directives } from '../doc/directives';
2
+ import { Document } from '../doc/Document';
3
+ import type { ErrorCode } from '../errors';
4
+ import { YAMLParseError, YAMLWarning } from '../errors';
5
+ import type { ParsedNode, Range } from '../nodes/Node';
6
+ import type { DocumentOptions, ParseOptions, SchemaOptions } from '../options';
7
+ import type { Token } from '../parse/cst';
7
8
  type ErrorSource = number | [number, number] | Range | {
8
9
  offset: number;
9
10
  source?: string;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var node_process = require('node:process');
3
4
  var directives = require('../doc/directives.js');
4
5
  var Document = require('../doc/Document.js');
5
6
  var errors = require('../errors.js');
@@ -133,7 +134,7 @@ class Composer {
133
134
  }
134
135
  /** Advance the composer by one CST token. */
135
136
  *next(token) {
136
- if (process.env.LOG_STREAM)
137
+ if (node_process.env.LOG_STREAM)
137
138
  console.dir(token, { depth: null });
138
139
  switch (token.type) {
139
140
  case 'directive':
@@ -1,6 +1,6 @@
1
- import { YAMLMap } from '../nodes/YAMLMap.js';
2
- import type { BlockMap } from '../parse/cst.js';
3
- import { CollectionTag } from '../schema/types.js';
4
- import type { ComposeContext, ComposeNode } from './compose-node.js';
5
- import type { ComposeErrorHandler } from './composer.js';
1
+ import { YAMLMap } from '../nodes/YAMLMap';
2
+ import type { BlockMap } from '../parse/cst';
3
+ import type { CollectionTag } from '../schema/types';
4
+ import type { ComposeContext, ComposeNode } from './compose-node';
5
+ import type { ComposeErrorHandler } from './composer';
6
6
  export declare function resolveBlockMap({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, bm: BlockMap, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLMap.Parsed;
@@ -1,8 +1,8 @@
1
- import { Range } from '../nodes/Node.js';
2
- import { Scalar } from '../nodes/Scalar.js';
3
- import type { BlockScalar } from '../parse/cst.js';
4
- import type { ComposeContext } from './compose-node.js';
5
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { Range } from '../nodes/Node';
2
+ import { Scalar } from '../nodes/Scalar';
3
+ import type { BlockScalar } from '../parse/cst';
4
+ import type { ComposeContext } from './compose-node';
5
+ import type { ComposeErrorHandler } from './composer';
6
6
  export declare function resolveBlockScalar(ctx: ComposeContext, scalar: BlockScalar, onError: ComposeErrorHandler): {
7
7
  value: string;
8
8
  type: Scalar.BLOCK_FOLDED | Scalar.BLOCK_LITERAL | null;
@@ -1,6 +1,6 @@
1
- import { YAMLSeq } from '../nodes/YAMLSeq.js';
2
- import type { BlockSequence } from '../parse/cst.js';
3
- import { CollectionTag } from '../schema/types.js';
4
- import type { ComposeContext, ComposeNode } from './compose-node.js';
5
- import type { ComposeErrorHandler } from './composer.js';
1
+ import { YAMLSeq } from '../nodes/YAMLSeq';
2
+ import type { BlockSequence } from '../parse/cst';
3
+ import type { CollectionTag } from '../schema/types';
4
+ import type { ComposeContext, ComposeNode } from './compose-node';
5
+ import type { ComposeErrorHandler } from './composer';
6
6
  export declare function resolveBlockSeq({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, bs: BlockSequence, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLSeq.Parsed;
@@ -1,5 +1,5 @@
1
- import type { SourceToken } from '../parse/cst.js';
2
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { SourceToken } from '../parse/cst';
2
+ import type { ComposeErrorHandler } from './composer';
3
3
  export declare function resolveEnd(end: SourceToken[] | undefined, offset: number, reqSpace: boolean, onError: ComposeErrorHandler): {
4
4
  comment: string;
5
5
  offset: number;
@@ -1,7 +1,7 @@
1
- import { YAMLMap } from '../nodes/YAMLMap.js';
2
- import { YAMLSeq } from '../nodes/YAMLSeq.js';
3
- import type { FlowCollection } from '../parse/cst.js';
4
- import { CollectionTag } from '../schema/types.js';
5
- import type { ComposeContext, ComposeNode } from './compose-node.js';
6
- import type { ComposeErrorHandler } from './composer.js';
7
- export declare function resolveFlowCollection({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, fc: FlowCollection, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLMap.Parsed<import("../index.js").ParsedNode, import("../index.js").ParsedNode | null> | YAMLSeq.Parsed<import("../index.js").ParsedNode>;
1
+ import { YAMLMap } from '../nodes/YAMLMap';
2
+ import { YAMLSeq } from '../nodes/YAMLSeq';
3
+ import type { FlowCollection } from '../parse/cst';
4
+ import type { CollectionTag } from '../schema/types';
5
+ import type { ComposeContext, ComposeNode } from './compose-node';
6
+ import type { ComposeErrorHandler } from './composer';
7
+ export declare function resolveFlowCollection({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, fc: FlowCollection, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLMap.Parsed<import('../index').ParsedNode, import('../index').ParsedNode | null> | YAMLSeq.Parsed<import('../index').ParsedNode>;
@@ -1,7 +1,7 @@
1
- import { Range } from '../nodes/Node.js';
2
- import { Scalar } from '../nodes/Scalar.js';
3
- import type { FlowScalar } from '../parse/cst.js';
4
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { Range } from '../nodes/Node';
2
+ import { Scalar } from '../nodes/Scalar';
3
+ import type { FlowScalar } from '../parse/cst';
4
+ import type { ComposeErrorHandler } from './composer';
5
5
  export declare function resolveFlowScalar(scalar: FlowScalar, strict: boolean, onError: ComposeErrorHandler): {
6
6
  value: string;
7
7
  type: Scalar.PLAIN | Scalar.QUOTE_DOUBLE | Scalar.QUOTE_SINGLE | null;
@@ -1,5 +1,5 @@
1
- import type { SourceToken, Token } from '../parse/cst.js';
2
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { SourceToken, Token } from '../parse/cst';
2
+ import type { ComposeErrorHandler } from './composer';
3
3
  export interface ResolvePropsArg {
4
4
  flow?: 'flow map' | 'flow sequence';
5
5
  indicator: 'doc-start' | 'explicit-key-ind' | 'map-value-ind' | 'seq-item-ind';
@@ -57,7 +57,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn
57
57
  if (atNewline) {
58
58
  if (comment)
59
59
  comment += token.source;
60
- else
60
+ else if (!found || indicator !== 'seq-item-ind')
61
61
  spaceBefore = true;
62
62
  }
63
63
  else
@@ -1,2 +1,2 @@
1
- import type { Token } from '../parse/cst.js';
1
+ import type { Token } from '../parse/cst';
2
2
  export declare function containsNewline(key: Token | null | undefined): boolean | null;
@@ -1,2 +1,2 @@
1
- import type { Token } from '../parse/cst.js';
1
+ import type { Token } from '../parse/cst';
2
2
  export declare function emptyScalarPosition(offset: number, before: Token[] | undefined, pos: number | null): number;
@@ -1,3 +1,3 @@
1
- import { Token } from '../parse/cst';
2
- import { ComposeErrorHandler } from './composer';
1
+ import type { Token } from '../parse/cst';
2
+ import type { ComposeErrorHandler } from './composer';
3
3
  export declare function flowIndentCheck(indent: number, fc: Token | null | undefined, onError: ComposeErrorHandler): void;
@@ -1,4 +1,4 @@
1
- import type { ParsedNode } from '../nodes/Node.js';
2
- import type { Pair } from '../nodes/Pair.js';
3
- import type { ComposeContext } from './compose-node.js';
1
+ import type { ParsedNode } from '../nodes/Node';
2
+ import type { Pair } from '../nodes/Pair';
3
+ import type { ComposeContext } from './compose-node';
4
4
  export declare function mapIncludes(ctx: ComposeContext, items: Pair<ParsedNode>[], search: ParsedNode): boolean;
@@ -1,14 +1,14 @@
1
- import type { YAMLError, YAMLWarning } from '../errors.js';
2
- import { Alias } from '../nodes/Alias.js';
3
- import { NODE_TYPE } from '../nodes/identity.js';
4
- import type { Node, NodeType, ParsedNode, Range } from '../nodes/Node.js';
5
- import { Pair } from '../nodes/Pair.js';
6
- import type { Scalar } from '../nodes/Scalar.js';
7
- import type { YAMLMap } from '../nodes/YAMLMap.js';
8
- import type { YAMLSeq } from '../nodes/YAMLSeq.js';
9
- import type { CreateNodeOptions, DocumentOptions, ParseOptions, SchemaOptions, ToJSOptions, ToStringOptions } from '../options.js';
10
- import { Schema } from '../schema/Schema.js';
11
- import { Directives } from './directives.js';
1
+ import type { YAMLError, YAMLWarning } from '../errors';
2
+ import { Alias } from '../nodes/Alias';
3
+ import { NODE_TYPE } from '../nodes/identity';
4
+ import type { Node, NodeType, ParsedNode, Range } from '../nodes/Node';
5
+ import { Pair } from '../nodes/Pair';
6
+ import type { Scalar } from '../nodes/Scalar';
7
+ import type { YAMLMap } from '../nodes/YAMLMap';
8
+ import type { YAMLSeq } from '../nodes/YAMLSeq';
9
+ import type { CreateNodeOptions, DocumentOptions, ParseOptions, SchemaOptions, ToJSOptions, ToStringOptions } from '../options';
10
+ import { Schema } from '../schema/Schema';
11
+ import { Directives } from './directives';
12
12
  export type Replacer = any[] | ((key: any, value: any) => unknown);
13
13
  export declare namespace Document {
14
14
  /** @ts-ignore The typing of directives fails in TS <= 4.2 */
@@ -1,5 +1,5 @@
1
- import type { Node } from '../nodes/Node.js';
2
- import type { Document } from './Document.js';
1
+ import type { Node } from '../nodes/Node';
2
+ import type { Document } from './Document';
3
3
  /**
4
4
  * Verify that the input string is a valid anchor.
5
5
  *
@@ -1,7 +1,7 @@
1
- import type { Node } from '../nodes/Node.js';
2
- import type { Schema } from '../schema/Schema.js';
3
- import type { CollectionTag, ScalarTag } from '../schema/types.js';
4
- import type { Replacer } from './Document.js';
1
+ import type { Node } from '../nodes/Node';
2
+ import type { Schema } from '../schema/Schema';
3
+ import type { CollectionTag, ScalarTag } from '../schema/types';
4
+ import type { Replacer } from './Document';
5
5
  export interface CreateNodeContext {
6
6
  aliasDuplicateObjects: boolean;
7
7
  keepUndefined: boolean;
@@ -1,4 +1,4 @@
1
- import type { Document } from './Document.js';
1
+ import type { Document } from './Document';
2
2
  export declare class Directives {
3
3
  static defaultYaml: Directives['yaml'];
4
4
  static defaultTags: Directives['tags'];
package/dist/index.d.ts CHANGED
@@ -1,22 +1,25 @@
1
- export { Composer } from './compose/composer.js';
2
- export { Document } from './doc/Document.js';
3
- export { Schema } from './schema/Schema.js';
4
- export { ErrorCode, YAMLError, YAMLParseError, YAMLWarning } from './errors.js';
5
- export { Alias } from './nodes/Alias.js';
6
- export { isAlias, isCollection, isDocument, isMap, isNode, isPair, isScalar, isSeq } from './nodes/identity.js';
7
- export { Node, ParsedNode, Range } from './nodes/Node.js';
8
- export { Pair } from './nodes/Pair.js';
9
- export { Scalar } from './nodes/Scalar.js';
10
- export { YAMLMap } from './nodes/YAMLMap.js';
11
- export { YAMLSeq } from './nodes/YAMLSeq.js';
12
- export type { CreateNodeOptions, DocumentOptions, ParseOptions, SchemaOptions, ToJSOptions, ToStringOptions } from './options.js';
13
- export * as CST from './parse/cst.js';
14
- export { Lexer } from './parse/lexer.js';
15
- export { LineCounter } from './parse/line-counter.js';
16
- export { Parser } from './parse/parser.js';
17
- export { EmptyStream, parse, parseAllDocuments, parseDocument, stringify } from './public-api.js';
1
+ export { Composer } from './compose/composer';
2
+ export { Document } from './doc/Document';
3
+ export { Schema } from './schema/Schema';
4
+ export type { ErrorCode } from './errors';
5
+ export { YAMLError, YAMLParseError, YAMLWarning } from './errors';
6
+ export { Alias } from './nodes/Alias';
7
+ export { isAlias, isCollection, isDocument, isMap, isNode, isPair, isScalar, isSeq } from './nodes/identity';
8
+ export type { Node, ParsedNode, Range } from './nodes/Node';
9
+ export { Pair } from './nodes/Pair';
10
+ export { Scalar } from './nodes/Scalar';
11
+ export { YAMLMap } from './nodes/YAMLMap';
12
+ export { YAMLSeq } from './nodes/YAMLSeq';
13
+ export type { CreateNodeOptions, DocumentOptions, ParseOptions, SchemaOptions, ToJSOptions, ToStringOptions } from './options';
14
+ export * as CST from './parse/cst';
15
+ export { Lexer } from './parse/lexer';
16
+ export { LineCounter } from './parse/line-counter';
17
+ export { Parser } from './parse/parser';
18
+ export type { EmptyStream } from './public-api';
19
+ export { parse, parseAllDocuments, parseDocument, stringify } from './public-api';
18
20
  export type { TagId, Tags } from './schema/tags';
19
21
  export type { CollectionTag, ScalarTag } from './schema/types';
20
22
  export type { YAMLOMap } from './schema/yaml-1.1/omap';
21
23
  export type { YAMLSet } from './schema/yaml-1.1/set';
22
- export { asyncVisitor, asyncVisitorFn, visit, visitAsync, visitor, visitorFn } from './visit.js';
24
+ export type { asyncVisitor, asyncVisitorFn, visitor, visitorFn } from './visit';
25
+ export { visit, visitAsync } from './visit';
package/dist/log.js CHANGED
@@ -1,13 +1,15 @@
1
1
  'use strict';
2
2
 
3
+ var node_process = require('node:process');
4
+
3
5
  function debug(logLevel, ...messages) {
4
6
  if (logLevel === 'debug')
5
7
  console.log(...messages);
6
8
  }
7
9
  function warn(logLevel, warning) {
8
10
  if (logLevel === 'debug' || logLevel === 'warn') {
9
- if (typeof process !== 'undefined' && process.emitWarning)
10
- process.emitWarning(warning);
11
+ if (typeof node_process.emitWarning === 'function')
12
+ node_process.emitWarning(warning);
11
13
  else
12
14
  console.warn(warning);
13
15
  }
@@ -1,11 +1,12 @@
1
- import type { Document } from '../doc/Document.js';
2
- import type { FlowScalar } from '../parse/cst.js';
3
- import type { StringifyContext } from '../stringify/stringify.js';
4
- import { NodeBase, Range } from './Node.js';
1
+ import type { Document } from '../doc/Document';
2
+ import type { FlowScalar } from '../parse/cst';
3
+ import type { StringifyContext } from '../stringify/stringify';
4
+ import type { Range } from './Node';
5
+ import { NodeBase } from './Node';
5
6
  import type { Scalar } from './Scalar';
6
- import { ToJSContext } from './toJS.js';
7
- import type { YAMLMap } from './YAMLMap.js';
8
- import type { YAMLSeq } from './YAMLSeq.js';
7
+ import type { ToJSContext } from './toJS';
8
+ import type { YAMLMap } from './YAMLMap';
9
+ import type { YAMLSeq } from './YAMLSeq';
9
10
  export declare namespace Alias {
10
11
  interface Parsed extends Alias {
11
12
  range: Range;
@@ -23,6 +24,6 @@ export declare class Alias extends NodeBase {
23
24
  * instance of the `source` anchor before this node.
24
25
  */
25
26
  resolve(doc: Document): Scalar | YAMLMap | YAMLSeq | undefined;
26
- toJSON(_arg?: unknown, ctx?: ToJSContext): {} | null;
27
+ toJSON(_arg?: unknown, ctx?: ToJSContext): unknown;
27
28
  toString(ctx?: StringifyContext, _onComment?: () => void, _onChompKeep?: () => void): string;
28
29
  }
@@ -1,7 +1,7 @@
1
- import type { Schema } from '../schema/Schema.js';
2
- import { NODE_TYPE } from './identity.js';
3
- import { NodeBase } from './Node.js';
4
- export declare function collectionFromPath(schema: Schema, path: unknown[], value: unknown): import("./Node.js").Node;
1
+ import type { Schema } from '../schema/Schema';
2
+ import { NODE_TYPE } from './identity';
3
+ import { NodeBase } from './Node';
4
+ export declare function collectionFromPath(schema: Schema, path: unknown[], value: unknown): import('./Node').Node;
5
5
  export declare const isEmptyPath: (path: Iterable<unknown> | null | undefined) => path is null | undefined;
6
6
  export declare abstract class Collection extends NodeBase {
7
7
  schema: Schema | undefined;
@@ -1,13 +1,13 @@
1
- import type { Document } from '../doc/Document.js';
2
- import type { ToJSOptions } from '../options.js';
3
- import { Token } from '../parse/cst.js';
4
- import type { StringifyContext } from '../stringify/stringify.js';
5
- import type { Alias } from './Alias.js';
6
- import { NODE_TYPE } from './identity.js';
7
- import type { Scalar } from './Scalar.js';
8
- import { ToJSContext } from './toJS.js';
9
- import type { MapLike, YAMLMap } from './YAMLMap.js';
10
- import type { YAMLSeq } from './YAMLSeq.js';
1
+ import type { Document } from '../doc/Document';
2
+ import type { ToJSOptions } from '../options';
3
+ import type { Token } from '../parse/cst';
4
+ import type { StringifyContext } from '../stringify/stringify';
5
+ import type { Alias } from './Alias';
6
+ import { NODE_TYPE } from './identity';
7
+ import type { Scalar } from './Scalar';
8
+ import type { ToJSContext } from './toJS';
9
+ import type { MapLike, YAMLMap } from './YAMLMap';
10
+ import type { YAMLSeq } from './YAMLSeq';
11
11
  export type Node<T = unknown> = Alias | Scalar<T> | YAMLMap<unknown, T> | YAMLSeq<T>;
12
12
  /** Utility type mapper */
13
13
  export type NodeType<T> = T extends string | number | bigint | boolean | null | undefined ? Scalar<T> : T extends Date ? Scalar<string | Date> : T extends Array<any> ? YAMLSeq<NodeType<T[number]>> : T extends {
@@ -1,11 +1,12 @@
1
- import { CreateNodeContext } from '../doc/createNode.js';
2
- import type { CollectionItem } from '../parse/cst.js';
3
- import type { Schema } from '../schema/Schema.js';
4
- import type { StringifyContext } from '../stringify/stringify.js';
5
- import { addPairToJSMap } from './addPairToJSMap.js';
6
- import { NODE_TYPE } from './identity.js';
7
- import type { ToJSContext } from './toJS.js';
8
- export declare function createPair(key: unknown, value: unknown, ctx: CreateNodeContext): Pair<import("./Node.js").Node, import("./Alias.js").Alias | import("./Scalar.js").Scalar<unknown> | import("./YAMLMap.js").YAMLMap<unknown, unknown> | import("./YAMLSeq.js").YAMLSeq<unknown>>;
1
+ import type { CreateNodeContext } from '../doc/createNode';
2
+ import type { CollectionItem } from '../parse/cst';
3
+ import type { Schema } from '../schema/Schema';
4
+ import type { StringifyContext } from '../stringify/stringify';
5
+ import { addPairToJSMap } from './addPairToJSMap';
6
+ import { NODE_TYPE } from './identity';
7
+ import type { Node } from './Node';
8
+ import type { ToJSContext } from './toJS';
9
+ export declare function createPair(key: unknown, value: unknown, ctx: CreateNodeContext): Pair<Node, Node>;
9
10
  export declare class Pair<K = unknown, V = unknown> {
10
11
  readonly [NODE_TYPE]: symbol;
11
12
  /** Always Node or null when parsed, but can be set to anything. */
@@ -1,6 +1,7 @@
1
- import type { BlockScalar, FlowScalar } from '../parse/cst.js';
2
- import { NodeBase, Range } from './Node.js';
3
- import { ToJSContext } from './toJS.js';
1
+ import type { BlockScalar, FlowScalar } from '../parse/cst';
2
+ import type { Range } from './Node';
3
+ import { NodeBase } from './Node';
4
+ import type { ToJSContext } from './toJS';
4
5
  export declare const isScalarValue: (value: unknown) => boolean;
5
6
  export declare namespace Scalar {
6
7
  interface Parsed extends Scalar {
@@ -1,12 +1,12 @@
1
- import type { BlockMap, FlowCollection } from '../parse/cst.js';
2
- import type { Schema } from '../schema/Schema.js';
3
- import type { StringifyContext } from '../stringify/stringify.js';
4
- import { CreateNodeContext } from '../util.js';
5
- import { Collection } from './Collection.js';
6
- import type { ParsedNode, Range } from './Node.js';
7
- import { Pair } from './Pair.js';
8
- import { Scalar } from './Scalar.js';
9
- import type { ToJSContext } from './toJS.js';
1
+ import type { BlockMap, FlowCollection } from '../parse/cst';
2
+ import type { Schema } from '../schema/Schema';
3
+ import type { StringifyContext } from '../stringify/stringify';
4
+ import type { CreateNodeContext } from '../util';
5
+ import { Collection } from './Collection';
6
+ import type { ParsedNode, Range } from './Node';
7
+ import { Pair } from './Pair';
8
+ import type { Scalar } from './Scalar';
9
+ import type { ToJSContext } from './toJS';
10
10
  export type MapLike = Map<unknown, unknown> | Set<unknown> | Record<string | number | symbol, unknown>;
11
11
  export declare function findPair<K = unknown, V = unknown>(items: Iterable<Pair<K, V>>, key: unknown): Pair<K, V> | undefined;
12
12
  export declare namespace YAMLMap {
@@ -24,7 +24,7 @@ export declare class YAMLMap<K = unknown, V = unknown> extends Collection {
24
24
  * A generic collection parsing method that can be extended
25
25
  * to other node classes that inherit from YAMLMap
26
26
  */
27
- static from(schema: Schema, obj: unknown, ctx: CreateNodeContext): YAMLMap<unknown, unknown>;
27
+ static from(schema: Schema, obj: unknown, ctx: CreateNodeContext): YAMLMap;
28
28
  /**
29
29
  * Adds a value to the collection.
30
30
  *