yaml 2.6.1 → 2.7.1

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 (86) hide show
  1. package/README.md +29 -8
  2. package/browser/dist/compose/compose-collection.js +2 -2
  3. package/browser/dist/compose/resolve-props.js +1 -1
  4. package/browser/dist/log.js +1 -4
  5. package/browser/dist/parse/parser.js +14 -1
  6. package/browser/dist/schema/yaml-1.1/binary.js +4 -11
  7. package/browser/dist/schema/yaml-1.1/timestamp.js +1 -1
  8. package/browser/dist/util.js +1 -1
  9. package/dist/compose/compose-collection.d.ts +4 -4
  10. package/dist/compose/compose-collection.js +2 -2
  11. package/dist/compose/compose-doc.d.ts +6 -6
  12. package/dist/compose/compose-node.d.ts +7 -7
  13. package/dist/compose/compose-scalar.d.ts +4 -4
  14. package/dist/compose/composer.d.ts +7 -6
  15. package/dist/compose/composer.js +2 -1
  16. package/dist/compose/resolve-block-map.d.ts +5 -5
  17. package/dist/compose/resolve-block-scalar.d.ts +5 -5
  18. package/dist/compose/resolve-block-seq.d.ts +5 -5
  19. package/dist/compose/resolve-end.d.ts +2 -2
  20. package/dist/compose/resolve-flow-collection.d.ts +7 -7
  21. package/dist/compose/resolve-flow-scalar.d.ts +4 -4
  22. package/dist/compose/resolve-props.d.ts +2 -2
  23. package/dist/compose/resolve-props.js +1 -1
  24. package/dist/compose/util-contains-newline.d.ts +1 -1
  25. package/dist/compose/util-empty-scalar-position.d.ts +1 -1
  26. package/dist/compose/util-flow-indent-check.d.ts +2 -2
  27. package/dist/compose/util-map-includes.d.ts +3 -3
  28. package/dist/doc/Document.d.ts +11 -11
  29. package/dist/doc/anchors.d.ts +2 -2
  30. package/dist/doc/createNode.d.ts +4 -4
  31. package/dist/doc/directives.d.ts +1 -1
  32. package/dist/index.d.ts +21 -18
  33. package/dist/log.js +4 -2
  34. package/dist/nodes/Alias.d.ts +9 -8
  35. package/dist/nodes/Collection.d.ts +4 -4
  36. package/dist/nodes/Node.d.ts +10 -10
  37. package/dist/nodes/Pair.d.ts +9 -8
  38. package/dist/nodes/Scalar.d.ts +4 -3
  39. package/dist/nodes/YAMLMap.d.ts +10 -10
  40. package/dist/nodes/YAMLSeq.d.ts +10 -10
  41. package/dist/nodes/addPairToJSMap.d.ts +3 -3
  42. package/dist/nodes/identity.d.ts +7 -7
  43. package/dist/nodes/toJS.d.ts +2 -2
  44. package/dist/options.d.ts +10 -10
  45. package/dist/parse/cst-scalar.d.ts +4 -4
  46. package/dist/parse/cst-stringify.d.ts +1 -1
  47. package/dist/parse/cst-visit.d.ts +2 -2
  48. package/dist/parse/cst.d.ts +4 -3
  49. package/dist/parse/lexer.d.ts +1 -1
  50. package/dist/parse/parser.d.ts +4 -4
  51. package/dist/parse/parser.js +16 -2
  52. package/dist/public-api.d.ts +6 -5
  53. package/dist/schema/Schema.d.ts +4 -4
  54. package/dist/schema/common/map.d.ts +1 -1
  55. package/dist/schema/common/null.d.ts +1 -1
  56. package/dist/schema/common/seq.d.ts +1 -1
  57. package/dist/schema/common/string.d.ts +1 -1
  58. package/dist/schema/core/bool.d.ts +1 -1
  59. package/dist/schema/core/float.d.ts +1 -1
  60. package/dist/schema/core/int.d.ts +1 -1
  61. package/dist/schema/core/schema.d.ts +1 -1
  62. package/dist/schema/json/schema.d.ts +1 -1
  63. package/dist/schema/tags.d.ts +2 -2
  64. package/dist/schema/types.d.ts +8 -8
  65. package/dist/schema/yaml-1.1/binary.d.ts +1 -1
  66. package/dist/schema/yaml-1.1/binary.js +8 -5
  67. package/dist/schema/yaml-1.1/bool.d.ts +1 -1
  68. package/dist/schema/yaml-1.1/float.d.ts +1 -1
  69. package/dist/schema/yaml-1.1/int.d.ts +1 -1
  70. package/dist/schema/yaml-1.1/merge.d.ts +3 -3
  71. package/dist/schema/yaml-1.1/omap.d.ts +11 -17
  72. package/dist/schema/yaml-1.1/pairs.d.ts +7 -7
  73. package/dist/schema/yaml-1.1/schema.d.ts +1 -1
  74. package/dist/schema/yaml-1.1/set.d.ts +9 -9
  75. package/dist/schema/yaml-1.1/timestamp.d.ts +1 -1
  76. package/dist/schema/yaml-1.1/timestamp.js +1 -1
  77. package/dist/stringify/stringify.d.ts +3 -3
  78. package/dist/stringify/stringifyCollection.d.ts +2 -2
  79. package/dist/stringify/stringifyDocument.d.ts +3 -3
  80. package/dist/stringify/stringifyNumber.d.ts +1 -1
  81. package/dist/stringify/stringifyPair.d.ts +2 -2
  82. package/dist/stringify/stringifyString.d.ts +2 -2
  83. package/dist/util.d.ts +16 -12
  84. package/dist/util.js +2 -2
  85. package/dist/visit.d.ts +7 -7
  86. package/package.json +4 -4
@@ -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
  *
@@ -1,12 +1,12 @@
1
- import { CreateNodeContext } from '../doc/createNode.js';
2
- import type { BlockSequence, FlowCollection } from '../parse/cst.js';
3
- import type { Schema } from '../schema/Schema.js';
4
- import type { StringifyContext } from '../stringify/stringify.js';
5
- import { Collection } from './Collection.js';
6
- import type { ParsedNode, Range } from './Node.js';
7
- import type { Pair } from './Pair.js';
8
- import { Scalar } from './Scalar.js';
9
- import { ToJSContext } from './toJS.js';
1
+ import type { CreateNodeContext } from '../doc/createNode';
2
+ import type { BlockSequence, FlowCollection } from '../parse/cst';
3
+ import type { Schema } from '../schema/Schema';
4
+ import type { StringifyContext } from '../stringify/stringify';
5
+ import { Collection } from './Collection';
6
+ import type { ParsedNode, Range } from './Node';
7
+ import type { Pair } from './Pair';
8
+ import type { Scalar } from './Scalar';
9
+ import type { ToJSContext } from './toJS';
10
10
  export declare namespace YAMLSeq {
11
11
  interface Parsed<T extends ParsedNode | Pair<ParsedNode, ParsedNode | null> = ParsedNode> extends YAMLSeq<T> {
12
12
  items: T[];
@@ -56,5 +56,5 @@ export declare class YAMLSeq<T = unknown> extends Collection {
56
56
  set(key: unknown, value: T): void;
57
57
  toJSON(_?: unknown, ctx?: ToJSContext): unknown[];
58
58
  toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
59
- static from(schema: Schema, obj: unknown, ctx: CreateNodeContext): YAMLSeq<unknown>;
59
+ static from(schema: Schema, obj: unknown, ctx: CreateNodeContext): YAMLSeq;
60
60
  }
@@ -1,4 +1,4 @@
1
- import type { Pair } from './Pair.js';
2
- import { ToJSContext } from './toJS.js';
3
- import type { MapLike } from './YAMLMap.js';
1
+ import type { Pair } from './Pair';
2
+ import type { ToJSContext } from './toJS';
3
+ import type { MapLike } from './YAMLMap';
4
4
  export declare function addPairToJSMap(ctx: ToJSContext | undefined, map: MapLike, { key, value }: Pair): MapLike;
@@ -1,10 +1,10 @@
1
- import type { Document } from '../doc/Document.js';
2
- import type { Alias } from './Alias.js';
3
- import type { Node } from './Node.js';
4
- import type { Pair } from './Pair.js';
5
- import type { Scalar } from './Scalar.js';
6
- import type { YAMLMap } from './YAMLMap.js';
7
- import type { YAMLSeq } from './YAMLSeq.js';
1
+ import type { Document } from '../doc/Document';
2
+ import type { Alias } from './Alias';
3
+ import type { Node } from './Node';
4
+ import type { Pair } from './Pair';
5
+ import type { Scalar } from './Scalar';
6
+ import type { YAMLMap } from './YAMLMap';
7
+ import type { YAMLSeq } from './YAMLSeq';
8
8
  export declare const ALIAS: unique symbol;
9
9
  export declare const DOC: unique symbol;
10
10
  export declare const MAP: unique symbol;
@@ -1,5 +1,5 @@
1
- import type { Document } from '../doc/Document.js';
2
- import type { Node } from './Node.js';
1
+ import type { Document } from '../doc/Document';
2
+ import type { Node } from './Node';
3
3
  export interface AnchorData {
4
4
  aliasCount: number;
5
5
  count: number;
package/dist/options.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import type { Reviver } from './doc/applyReviver.js';
2
- import type { Directives } from './doc/directives.js';
3
- import type { LogLevelId } from './log.js';
4
- import type { ParsedNode } from './nodes/Node.js';
5
- import type { Pair } from './nodes/Pair.js';
6
- import type { Scalar } from './nodes/Scalar.js';
7
- import type { LineCounter } from './parse/line-counter.js';
8
- import type { Schema } from './schema/Schema.js';
9
- import type { Tags } from './schema/tags.js';
10
- import type { CollectionTag, ScalarTag } from './schema/types.js';
1
+ import type { Reviver } from './doc/applyReviver';
2
+ import type { Directives } from './doc/directives';
3
+ import type { LogLevelId } from './log';
4
+ import type { ParsedNode } from './nodes/Node';
5
+ import type { Pair } from './nodes/Pair';
6
+ import type { Scalar } from './nodes/Scalar';
7
+ import type { LineCounter } from './parse/line-counter';
8
+ import type { Schema } from './schema/Schema';
9
+ import type { Tags } from './schema/tags';
10
+ import type { CollectionTag, ScalarTag } from './schema/types';
11
11
  export type ParseOptions = {
12
12
  /**
13
13
  * Whether integers should be parsed into BigInt rather than number values.
@@ -1,7 +1,7 @@
1
- import { ErrorCode } from '../errors.js';
2
- import { Range } from '../nodes/Node.js';
3
- import type { Scalar } from '../nodes/Scalar.js';
4
- import type { BlockScalar, FlowScalar, SourceToken, Token } from './cst.js';
1
+ import type { ErrorCode } from '../errors';
2
+ import type { Range } from '../nodes/Node';
3
+ import type { Scalar } from '../nodes/Scalar';
4
+ import type { BlockScalar, FlowScalar, SourceToken, Token } from './cst';
5
5
  /**
6
6
  * If `token` is a CST flow or block scalar, determine its string value and a few other attributes.
7
7
  * Otherwise, return `null`.
@@ -1,4 +1,4 @@
1
- import type { CollectionItem, Token } from './cst.js';
1
+ import type { CollectionItem, Token } from './cst';
2
2
  /**
3
3
  * Stringify a CST document, token, or collection item
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { CollectionItem, Document } from './cst.js';
1
+ import type { BlockMap, BlockSequence, CollectionItem, Document, FlowCollection } from './cst';
2
2
  export type VisitPath = readonly ['key' | 'value', number][];
3
3
  export type Visitor = (item: CollectionItem, path: VisitPath) => number | symbol | Visitor | void;
4
4
  /**
@@ -35,5 +35,5 @@ export declare namespace visit {
35
35
  var SKIP: symbol;
36
36
  var REMOVE: symbol;
37
37
  var itemAtPath: (cst: Document | CollectionItem, path: VisitPath) => CollectionItem | undefined;
38
- var parentCollection: (cst: Document | CollectionItem, path: VisitPath) => import("./cst.js").BlockMap | import("./cst.js").BlockSequence | import("./cst.js").FlowCollection;
38
+ var parentCollection: (cst: Document | CollectionItem, path: VisitPath) => BlockMap | BlockSequence | FlowCollection;
39
39
  }
@@ -1,6 +1,7 @@
1
- export { createScalarToken, resolveAsScalar, setScalarValue } from './cst-scalar.js';
2
- export { stringify } from './cst-stringify.js';
3
- export { visit, Visitor, VisitPath } from './cst-visit.js';
1
+ export { createScalarToken, resolveAsScalar, setScalarValue } from './cst-scalar';
2
+ export { stringify } from './cst-stringify';
3
+ export type { Visitor, VisitPath } from './cst-visit';
4
+ export { visit } from './cst-visit';
4
5
  export interface SourceToken {
5
6
  type: 'byte-order-mark' | 'doc-mode' | 'doc-start' | 'space' | 'comment' | 'newline' | 'directive-line' | 'anchor' | 'tag' | 'seq-item-ind' | 'explicit-key-ind' | 'map-value-ind' | 'flow-map-start' | 'flow-map-end' | 'flow-seq-start' | 'flow-seq-end' | 'flow-error-end' | 'comma' | 'block-scalar-header';
6
7
  offset: number;
@@ -59,7 +59,7 @@ export declare class Lexer {
59
59
  *
60
60
  * @returns A generator of lexical tokens
61
61
  */
62
- lex(source: string, incomplete?: boolean): Generator<string, void, any>;
62
+ lex(source: string, incomplete?: boolean): Generator<string, void>;
63
63
  private atLineEnd;
64
64
  private charAt;
65
65
  private continueScalar;
@@ -1,4 +1,4 @@
1
- import { Token } from './cst.js';
1
+ import type { Token } from './cst';
2
2
  /**
3
3
  * A YAML concrete syntax tree (CST) parser
4
4
  *
@@ -57,14 +57,14 @@ export declare class Parser {
57
57
  *
58
58
  * @returns A generator of tokens representing each directive, document, and other structure.
59
59
  */
60
- parse(source: string, incomplete?: boolean): Generator<Token, void, any>;
60
+ parse(source: string, incomplete?: boolean): Generator<Token, void>;
61
61
  /**
62
62
  * Advance the parser by the `source` of one lexical token.
63
63
  */
64
- next(source: string): Generator<Token, void, any>;
64
+ next(source: string): Generator<Token, void>;
65
65
  private lexer;
66
66
  /** Call at end of input to push out any remaining constructions */
67
- end(): Generator<Token, void, any>;
67
+ end(): Generator<Token, void>;
68
68
  private get sourceToken();
69
69
  private step;
70
70
  private peek;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var node_process = require('node:process');
3
4
  var cst = require('./cst.js');
4
5
  var lexer = require('./lexer.js');
5
6
 
@@ -166,7 +167,7 @@ class Parser {
166
167
  */
167
168
  *next(source) {
168
169
  this.source = source;
169
- if (process.env.LOG_TOKENS)
170
+ if (node_process.env.LOG_TOKENS)
170
171
  console.log('|', cst.prettyToken(source));
171
172
  if (this.atScalar) {
172
173
  this.atScalar = false;
@@ -672,7 +673,20 @@ class Parser {
672
673
  default: {
673
674
  const bv = this.startBlockValue(map);
674
675
  if (bv) {
675
- if (atMapIndent && bv.type !== 'block-seq') {
676
+ if (bv.type === 'block-seq') {
677
+ if (!it.explicitKey &&
678
+ it.sep &&
679
+ !includesToken(it.sep, 'newline')) {
680
+ yield* this.pop({
681
+ type: 'error',
682
+ offset: this.offset,
683
+ message: 'Unexpected block-seq-ind on same line with key',
684
+ source: this.source
685
+ });
686
+ return;
687
+ }
688
+ }
689
+ else if (atMapIndent) {
676
690
  map.items.push({ start });
677
691
  }
678
692
  this.stack.push(bv);
@@ -1,8 +1,9 @@
1
- import { Composer } from './compose/composer.js';
2
- import type { Reviver } from './doc/applyReviver.js';
3
- import { Document, Replacer } from './doc/Document.js';
4
- import type { Node, ParsedNode } from './nodes/Node.js';
5
- import type { CreateNodeOptions, DocumentOptions, ParseOptions, SchemaOptions, ToJSOptions, ToStringOptions } from './options.js';
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';
6
7
  export interface EmptyStream extends Array<Document.Parsed>, ReturnType<Composer['streamInfo']> {
7
8
  empty: true;
8
9
  }
@@ -1,7 +1,7 @@
1
- import { MAP, SCALAR, SEQ } from '../nodes/identity.js';
2
- import type { Pair } from '../nodes/Pair.js';
3
- import type { SchemaOptions, ToStringOptions } from '../options.js';
4
- import type { CollectionTag, ScalarTag } from './types.js';
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
5
  export declare class Schema {
6
6
  compat: Array<CollectionTag | ScalarTag> | null;
7
7
  knownTags: Record<string, CollectionTag | ScalarTag>;
@@ -1,2 +1,2 @@
1
- import type { CollectionTag } from '../types.js';
1
+ import type { CollectionTag } from '../types';
2
2
  export declare const map: CollectionTag;
@@ -1,4 +1,4 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const nullTag: ScalarTag & {
3
3
  test: RegExp;
4
4
  };
@@ -1,2 +1,2 @@
1
- import type { CollectionTag } from '../types.js';
1
+ import type { CollectionTag } from '../types';
2
2
  export declare const seq: CollectionTag;
@@ -1,2 +1,2 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const string: ScalarTag;
@@ -1,4 +1,4 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const boolTag: ScalarTag & {
3
3
  test: RegExp;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const floatNaN: ScalarTag;
3
3
  export declare const floatExp: ScalarTag;
4
4
  export declare const float: ScalarTag;
@@ -1,4 +1,4 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const intOct: ScalarTag;
3
3
  export declare const int: ScalarTag;
4
4
  export declare const intHex: ScalarTag;
@@ -1 +1 @@
1
- export declare const schema: (import("../types.js").CollectionTag | import("../types.js").ScalarTag)[];
1
+ export declare const schema: (import('../types').CollectionTag | import('../types').ScalarTag)[];
@@ -1,2 +1,2 @@
1
- import { CollectionTag, ScalarTag } from '../types.js';
1
+ import type { CollectionTag, ScalarTag } from '../types';
2
2
  export declare const schema: (CollectionTag | ScalarTag)[];
@@ -1,5 +1,5 @@
1
- import { SchemaOptions } from '../options.js';
2
- import type { CollectionTag, ScalarTag } from './types.js';
1
+ import type { SchemaOptions } from '../options';
2
+ import type { CollectionTag, ScalarTag } from './types';
3
3
  declare const tagsByName: {
4
4
  binary: ScalarTag;
5
5
  bool: ScalarTag & {
@@ -1,11 +1,11 @@
1
- import type { CreateNodeContext } from '../doc/createNode.js';
2
- import type { Node } from '../nodes/Node.js';
3
- import type { Scalar } from '../nodes/Scalar.js';
4
- import type { YAMLMap } from '../nodes/YAMLMap.js';
5
- import type { YAMLSeq } from '../nodes/YAMLSeq.js';
6
- import type { ParseOptions } from '../options.js';
7
- import type { StringifyContext } from '../stringify/stringify.js';
8
- import type { Schema } from './Schema.js';
1
+ import type { CreateNodeContext } from '../doc/createNode';
2
+ import type { Node } from '../nodes/Node';
3
+ import type { Scalar } from '../nodes/Scalar';
4
+ import type { YAMLMap } from '../nodes/YAMLMap';
5
+ import type { YAMLSeq } from '../nodes/YAMLSeq';
6
+ import type { ParseOptions } from '../options';
7
+ import type { StringifyContext } from '../stringify/stringify';
8
+ import type { Schema } from './Schema';
9
9
  interface TagBase {
10
10
  /**
11
11
  * An optional factory function, used e.g. by collections when wrapping JS objects as AST nodes.
@@ -1,2 +1,2 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const binary: ScalarTag;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var node_buffer = require('node:buffer');
3
4
  var Scalar = require('../../nodes/Scalar.js');
4
5
  var stringifyString = require('../../stringify/stringifyString.js');
5
6
 
@@ -16,8 +17,8 @@ const binary = {
16
17
  * document.querySelector('#photo').src = URL.createObjectURL(blob)
17
18
  */
18
19
  resolve(src, onError) {
19
- if (typeof Buffer === 'function') {
20
- return Buffer.from(src, 'base64');
20
+ if (typeof node_buffer.Buffer === 'function') {
21
+ return node_buffer.Buffer.from(src, 'base64');
21
22
  }
22
23
  else if (typeof atob === 'function') {
23
24
  // On IE 11, atob() can't handle newlines
@@ -33,13 +34,15 @@ const binary = {
33
34
  }
34
35
  },
35
36
  stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
37
+ if (!value)
38
+ return '';
36
39
  const buf = value; // checked earlier by binary.identify()
37
40
  let str;
38
- if (typeof Buffer === 'function') {
41
+ if (typeof node_buffer.Buffer === 'function') {
39
42
  str =
40
- buf instanceof Buffer
43
+ buf instanceof node_buffer.Buffer
41
44
  ? buf.toString('base64')
42
- : Buffer.from(buf.buffer).toString('base64');
45
+ : node_buffer.Buffer.from(buf.buffer).toString('base64');
43
46
  }
44
47
  else if (typeof btoa === 'function') {
45
48
  let s = '';
@@ -1,4 +1,4 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const trueTag: ScalarTag & {
3
3
  test: RegExp;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const floatNaN: ScalarTag;
3
3
  export declare const floatExp: ScalarTag;
4
4
  export declare const float: ScalarTag;
@@ -1,4 +1,4 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const intBin: ScalarTag;
3
3
  export declare const intOct: ScalarTag;
4
4
  export declare const int: ScalarTag;
@@ -1,6 +1,6 @@
1
- import type { ToJSContext } from '../../nodes/toJS.js';
2
- import type { MapLike } from '../../nodes/YAMLMap.js';
3
- import type { ScalarTag } from '../types.js';
1
+ import type { ToJSContext } from '../../nodes/toJS';
2
+ import type { MapLike } from '../../nodes/YAMLMap';
3
+ import type { ScalarTag } from '../types';
4
4
  export declare const merge: ScalarTag & {
5
5
  identify(value: unknown): boolean;
6
6
  test: RegExp;
@@ -1,23 +1,17 @@
1
- import { ToJSContext } from '../../nodes/toJS.js';
2
- import { YAMLSeq } from '../../nodes/YAMLSeq.js';
3
- import { CreateNodeContext } from '../../util.js';
4
- import type { Schema } from '../Schema.js';
5
- import { CollectionTag } from '../types.js';
1
+ import type { ToJSContext } from '../../nodes/toJS';
2
+ import { YAMLMap } from '../../nodes/YAMLMap';
3
+ import { YAMLSeq } from '../../nodes/YAMLSeq';
4
+ import type { CreateNodeContext } from '../../util';
5
+ import type { Schema } from '../Schema';
6
+ import type { CollectionTag } from '../types';
6
7
  export declare class YAMLOMap extends YAMLSeq {
7
8
  static tag: string;
8
9
  constructor();
9
- add: (pair: import("../../index.js").Pair<any, any> | {
10
- key: any;
11
- value: any;
12
- }, overwrite?: boolean) => void;
13
- delete: (key: unknown) => boolean;
14
- get: {
15
- (key: unknown, keepScalar: true): import("../../index.js").Scalar<any> | undefined;
16
- (key: unknown, keepScalar?: false): any;
17
- (key: unknown, keepScalar?: boolean): any;
18
- };
19
- has: (key: unknown) => boolean;
20
- set: (key: any, value: any) => void;
10
+ add: typeof YAMLMap.prototype.add;
11
+ delete: typeof YAMLMap.prototype.delete;
12
+ get: typeof YAMLMap.prototype.get;
13
+ has: typeof YAMLMap.prototype.has;
14
+ set: typeof YAMLMap.prototype.set;
21
15
  /**
22
16
  * If `ctx` is given, the return type is actually `Map<unknown, unknown>`,
23
17
  * but TypeScript won't allow widening the signature of a child method.
@@ -1,10 +1,10 @@
1
- import type { CreateNodeContext } from '../../doc/createNode.js';
2
- import type { ParsedNode } from '../../nodes/Node.js';
3
- import { Pair } from '../../nodes/Pair.js';
4
- import { YAMLMap } from '../../nodes/YAMLMap.js';
5
- import { YAMLSeq } from '../../nodes/YAMLSeq.js';
6
- import type { Schema } from '../../schema/Schema.js';
7
- import type { CollectionTag } from '../types.js';
1
+ import type { CreateNodeContext } from '../../doc/createNode';
2
+ import type { ParsedNode } from '../../nodes/Node';
3
+ import { Pair } from '../../nodes/Pair';
4
+ import type { YAMLMap } from '../../nodes/YAMLMap';
5
+ import { YAMLSeq } from '../../nodes/YAMLSeq';
6
+ import type { Schema } from '../../schema/Schema';
7
+ import type { CollectionTag } from '../types';
8
8
  export declare function resolvePairs(seq: YAMLSeq.Parsed<ParsedNode | Pair<ParsedNode, ParsedNode | null>> | YAMLMap.Parsed, onError: (message: string) => void): YAMLSeq.Parsed<Pair<ParsedNode, ParsedNode | null>>;
9
9
  export declare function createPairs(schema: Schema, iterable: unknown, ctx: CreateNodeContext): YAMLSeq<unknown>;
10
10
  export declare const pairs: CollectionTag;
@@ -1 +1 @@
1
- export declare const schema: (import("../types.js").CollectionTag | import("../types.js").ScalarTag)[];
1
+ export declare const schema: (import('../types').CollectionTag | import('../types').ScalarTag)[];
@@ -1,11 +1,11 @@
1
- import { Pair } from '../../nodes/Pair.js';
2
- import { Scalar } from '../../nodes/Scalar.js';
3
- import { ToJSContext } from '../../nodes/toJS.js';
4
- import { YAMLMap } from '../../nodes/YAMLMap.js';
5
- import type { Schema } from '../../schema/Schema.js';
6
- import type { StringifyContext } from '../../stringify/stringify.js';
7
- import { CreateNodeContext } from '../../util.js';
8
- import type { CollectionTag } from '../types.js';
1
+ import { Pair } from '../../nodes/Pair';
2
+ import type { Scalar } from '../../nodes/Scalar';
3
+ import type { ToJSContext } from '../../nodes/toJS';
4
+ import { YAMLMap } from '../../nodes/YAMLMap';
5
+ import type { Schema } from '../../schema/Schema';
6
+ import type { StringifyContext } from '../../stringify/stringify';
7
+ import type { CreateNodeContext } from '../../util';
8
+ import type { CollectionTag } from '../types';
9
9
  export declare class YAMLSet<T = unknown> extends YAMLMap<T, Scalar<null> | null> {
10
10
  static tag: string;
11
11
  constructor(schema?: Schema);
@@ -23,6 +23,6 @@ export declare class YAMLSet<T = unknown> extends YAMLMap<T, Scalar<null> | null
23
23
  set(key: T, value: null): void;
24
24
  toJSON(_?: unknown, ctx?: ToJSContext): any;
25
25
  toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
26
- static from(schema: Schema, iterable: unknown, ctx: CreateNodeContext): YAMLSet<unknown>;
26
+ static from(schema: Schema, iterable: unknown, ctx: CreateNodeContext): YAMLSet;
27
27
  }
28
28
  export declare const set: CollectionTag;
@@ -1,4 +1,4 @@
1
- import type { ScalarTag } from '../types.js';
1
+ import type { ScalarTag } from '../types';
2
2
  export declare const intTime: ScalarTag;
3
3
  export declare const floatTime: ScalarTag;
4
4
  export declare const timestamp: ScalarTag & {
@@ -97,7 +97,7 @@ const timestamp = {
97
97
  }
98
98
  return new Date(date);
99
99
  },
100
- stringify: ({ value }) => value.toISOString().replace(/(T00:00:00)?\.000Z$/, '')
100
+ stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, '') ?? ''
101
101
  };
102
102
 
103
103
  exports.floatTime = floatTime;
@@ -1,6 +1,6 @@
1
- import type { Document } from '../doc/Document.js';
2
- import type { Alias } from '../nodes/Alias.js';
3
- import type { ToStringOptions } from '../options.js';
1
+ import type { Document } from '../doc/Document';
2
+ import type { Alias } from '../nodes/Alias';
3
+ import type { ToStringOptions } from '../options';
4
4
  export type StringifyContext = {
5
5
  actualString?: boolean;
6
6
  allNullValues?: boolean;
@@ -1,5 +1,5 @@
1
- import { Collection } from '../nodes/Collection.js';
2
- import { StringifyContext } from './stringify.js';
1
+ import type { Collection } from '../nodes/Collection';
2
+ import type { StringifyContext } from './stringify';
3
3
  interface StringifyCollectionOptions {
4
4
  blockItemPrefix: string;
5
5
  flowChars: {
@@ -1,4 +1,4 @@
1
- import type { Document } from '../doc/Document.js';
2
- import type { Node } from '../nodes/Node.js';
3
- import type { ToStringOptions } from '../options.js';
1
+ import type { Document } from '../doc/Document';
2
+ import type { Node } from '../nodes/Node';
3
+ import type { ToStringOptions } from '../options';
4
4
  export declare function stringifyDocument(doc: Readonly<Document<Node, boolean>>, options: ToStringOptions): string;
@@ -1,2 +1,2 @@
1
- import type { Scalar } from '../nodes/Scalar.js';
1
+ import type { Scalar } from '../nodes/Scalar';
2
2
  export declare function stringifyNumber({ format, minFractionDigits, tag, value }: Scalar): string;