phantom-pr 0.2.5 → 0.2.6

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 (242) hide show
  1. package/dist/core/index/indexer.js +3 -1
  2. package/dist/core/index/indexer.js.map +1 -1
  3. package/package.json +3 -7
  4. package/node_modules/ignore/LICENSE-MIT +0 -21
  5. package/node_modules/ignore/README.md +0 -452
  6. package/node_modules/ignore/index.d.ts +0 -81
  7. package/node_modules/ignore/index.js +0 -784
  8. package/node_modules/ignore/legacy.js +0 -681
  9. package/node_modules/ignore/package.json +0 -87
  10. package/node_modules/yaml/LICENSE +0 -13
  11. package/node_modules/yaml/README.md +0 -172
  12. package/node_modules/yaml/bin.mjs +0 -11
  13. package/node_modules/yaml/browser/dist/compose/compose-collection.js +0 -88
  14. package/node_modules/yaml/browser/dist/compose/compose-doc.js +0 -43
  15. package/node_modules/yaml/browser/dist/compose/compose-node.js +0 -102
  16. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +0 -86
  17. package/node_modules/yaml/browser/dist/compose/composer.js +0 -217
  18. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +0 -115
  19. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +0 -198
  20. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +0 -49
  21. package/node_modules/yaml/browser/dist/compose/resolve-end.js +0 -37
  22. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +0 -207
  23. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +0 -223
  24. package/node_modules/yaml/browser/dist/compose/resolve-props.js +0 -146
  25. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +0 -34
  26. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +0 -26
  27. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +0 -15
  28. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +0 -13
  29. package/node_modules/yaml/browser/dist/doc/Document.js +0 -335
  30. package/node_modules/yaml/browser/dist/doc/anchors.js +0 -71
  31. package/node_modules/yaml/browser/dist/doc/applyReviver.js +0 -55
  32. package/node_modules/yaml/browser/dist/doc/createNode.js +0 -88
  33. package/node_modules/yaml/browser/dist/doc/directives.js +0 -176
  34. package/node_modules/yaml/browser/dist/errors.js +0 -57
  35. package/node_modules/yaml/browser/dist/index.js +0 -17
  36. package/node_modules/yaml/browser/dist/log.js +0 -11
  37. package/node_modules/yaml/browser/dist/nodes/Alias.js +0 -114
  38. package/node_modules/yaml/browser/dist/nodes/Collection.js +0 -147
  39. package/node_modules/yaml/browser/dist/nodes/Node.js +0 -38
  40. package/node_modules/yaml/browser/dist/nodes/Pair.js +0 -36
  41. package/node_modules/yaml/browser/dist/nodes/Scalar.js +0 -24
  42. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +0 -144
  43. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +0 -113
  44. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +0 -63
  45. package/node_modules/yaml/browser/dist/nodes/identity.js +0 -36
  46. package/node_modules/yaml/browser/dist/nodes/toJS.js +0 -37
  47. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +0 -214
  48. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +0 -61
  49. package/node_modules/yaml/browser/dist/parse/cst-visit.js +0 -97
  50. package/node_modules/yaml/browser/dist/parse/cst.js +0 -98
  51. package/node_modules/yaml/browser/dist/parse/lexer.js +0 -717
  52. package/node_modules/yaml/browser/dist/parse/line-counter.js +0 -39
  53. package/node_modules/yaml/browser/dist/parse/parser.js +0 -967
  54. package/node_modules/yaml/browser/dist/public-api.js +0 -102
  55. package/node_modules/yaml/browser/dist/schema/Schema.js +0 -37
  56. package/node_modules/yaml/browser/dist/schema/common/map.js +0 -17
  57. package/node_modules/yaml/browser/dist/schema/common/null.js +0 -15
  58. package/node_modules/yaml/browser/dist/schema/common/seq.js +0 -17
  59. package/node_modules/yaml/browser/dist/schema/common/string.js +0 -14
  60. package/node_modules/yaml/browser/dist/schema/core/bool.js +0 -19
  61. package/node_modules/yaml/browser/dist/schema/core/float.js +0 -43
  62. package/node_modules/yaml/browser/dist/schema/core/int.js +0 -38
  63. package/node_modules/yaml/browser/dist/schema/core/schema.js +0 -23
  64. package/node_modules/yaml/browser/dist/schema/json/schema.js +0 -62
  65. package/node_modules/yaml/browser/dist/schema/tags.js +0 -96
  66. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +0 -58
  67. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +0 -26
  68. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +0 -46
  69. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +0 -71
  70. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +0 -64
  71. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +0 -74
  72. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +0 -78
  73. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +0 -39
  74. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +0 -93
  75. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +0 -101
  76. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +0 -146
  77. package/node_modules/yaml/browser/dist/stringify/stringify.js +0 -128
  78. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +0 -143
  79. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +0 -20
  80. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +0 -85
  81. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +0 -24
  82. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +0 -150
  83. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +0 -336
  84. package/node_modules/yaml/browser/dist/util.js +0 -11
  85. package/node_modules/yaml/browser/dist/visit.js +0 -233
  86. package/node_modules/yaml/browser/index.js +0 -5
  87. package/node_modules/yaml/browser/package.json +0 -3
  88. package/node_modules/yaml/dist/cli.d.ts +0 -8
  89. package/node_modules/yaml/dist/cli.mjs +0 -201
  90. package/node_modules/yaml/dist/compose/compose-collection.d.ts +0 -11
  91. package/node_modules/yaml/dist/compose/compose-collection.js +0 -90
  92. package/node_modules/yaml/dist/compose/compose-doc.d.ts +0 -7
  93. package/node_modules/yaml/dist/compose/compose-doc.js +0 -45
  94. package/node_modules/yaml/dist/compose/compose-node.d.ts +0 -29
  95. package/node_modules/yaml/dist/compose/compose-node.js +0 -105
  96. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +0 -5
  97. package/node_modules/yaml/dist/compose/compose-scalar.js +0 -88
  98. package/node_modules/yaml/dist/compose/composer.d.ts +0 -63
  99. package/node_modules/yaml/dist/compose/composer.js +0 -222
  100. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +0 -6
  101. package/node_modules/yaml/dist/compose/resolve-block-map.js +0 -117
  102. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +0 -11
  103. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +0 -200
  104. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +0 -6
  105. package/node_modules/yaml/dist/compose/resolve-block-seq.js +0 -51
  106. package/node_modules/yaml/dist/compose/resolve-end.d.ts +0 -6
  107. package/node_modules/yaml/dist/compose/resolve-end.js +0 -39
  108. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +0 -7
  109. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +0 -209
  110. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +0 -10
  111. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +0 -225
  112. package/node_modules/yaml/dist/compose/resolve-props.d.ts +0 -23
  113. package/node_modules/yaml/dist/compose/resolve-props.js +0 -148
  114. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +0 -2
  115. package/node_modules/yaml/dist/compose/util-contains-newline.js +0 -36
  116. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +0 -2
  117. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +0 -28
  118. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +0 -3
  119. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +0 -17
  120. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +0 -4
  121. package/node_modules/yaml/dist/compose/util-map-includes.js +0 -15
  122. package/node_modules/yaml/dist/doc/Document.d.ts +0 -141
  123. package/node_modules/yaml/dist/doc/Document.js +0 -337
  124. package/node_modules/yaml/dist/doc/anchors.d.ts +0 -24
  125. package/node_modules/yaml/dist/doc/anchors.js +0 -76
  126. package/node_modules/yaml/dist/doc/applyReviver.d.ts +0 -9
  127. package/node_modules/yaml/dist/doc/applyReviver.js +0 -57
  128. package/node_modules/yaml/dist/doc/createNode.d.ts +0 -17
  129. package/node_modules/yaml/dist/doc/createNode.js +0 -90
  130. package/node_modules/yaml/dist/doc/directives.d.ts +0 -49
  131. package/node_modules/yaml/dist/doc/directives.js +0 -178
  132. package/node_modules/yaml/dist/errors.d.ts +0 -21
  133. package/node_modules/yaml/dist/errors.js +0 -62
  134. package/node_modules/yaml/dist/index.d.ts +0 -25
  135. package/node_modules/yaml/dist/index.js +0 -50
  136. package/node_modules/yaml/dist/log.d.ts +0 -3
  137. package/node_modules/yaml/dist/log.js +0 -19
  138. package/node_modules/yaml/dist/nodes/Alias.d.ts +0 -29
  139. package/node_modules/yaml/dist/nodes/Alias.js +0 -116
  140. package/node_modules/yaml/dist/nodes/Collection.d.ts +0 -73
  141. package/node_modules/yaml/dist/nodes/Collection.js +0 -151
  142. package/node_modules/yaml/dist/nodes/Node.d.ts +0 -53
  143. package/node_modules/yaml/dist/nodes/Node.js +0 -40
  144. package/node_modules/yaml/dist/nodes/Pair.d.ts +0 -22
  145. package/node_modules/yaml/dist/nodes/Pair.js +0 -39
  146. package/node_modules/yaml/dist/nodes/Scalar.d.ts +0 -43
  147. package/node_modules/yaml/dist/nodes/Scalar.js +0 -27
  148. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +0 -53
  149. package/node_modules/yaml/dist/nodes/YAMLMap.js +0 -147
  150. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +0 -60
  151. package/node_modules/yaml/dist/nodes/YAMLSeq.js +0 -115
  152. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +0 -4
  153. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +0 -65
  154. package/node_modules/yaml/dist/nodes/identity.d.ts +0 -23
  155. package/node_modules/yaml/dist/nodes/identity.js +0 -53
  156. package/node_modules/yaml/dist/nodes/toJS.d.ts +0 -29
  157. package/node_modules/yaml/dist/nodes/toJS.js +0 -39
  158. package/node_modules/yaml/dist/options.d.ts +0 -344
  159. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +0 -64
  160. package/node_modules/yaml/dist/parse/cst-scalar.js +0 -218
  161. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +0 -8
  162. package/node_modules/yaml/dist/parse/cst-stringify.js +0 -63
  163. package/node_modules/yaml/dist/parse/cst-visit.d.ts +0 -39
  164. package/node_modules/yaml/dist/parse/cst-visit.js +0 -99
  165. package/node_modules/yaml/dist/parse/cst.d.ts +0 -109
  166. package/node_modules/yaml/dist/parse/cst.js +0 -112
  167. package/node_modules/yaml/dist/parse/lexer.d.ts +0 -87
  168. package/node_modules/yaml/dist/parse/lexer.js +0 -719
  169. package/node_modules/yaml/dist/parse/line-counter.d.ts +0 -22
  170. package/node_modules/yaml/dist/parse/line-counter.js +0 -41
  171. package/node_modules/yaml/dist/parse/parser.d.ts +0 -84
  172. package/node_modules/yaml/dist/parse/parser.js +0 -972
  173. package/node_modules/yaml/dist/public-api.d.ts +0 -44
  174. package/node_modules/yaml/dist/public-api.js +0 -107
  175. package/node_modules/yaml/dist/schema/Schema.d.ts +0 -17
  176. package/node_modules/yaml/dist/schema/Schema.js +0 -39
  177. package/node_modules/yaml/dist/schema/common/map.d.ts +0 -2
  178. package/node_modules/yaml/dist/schema/common/map.js +0 -19
  179. package/node_modules/yaml/dist/schema/common/null.d.ts +0 -4
  180. package/node_modules/yaml/dist/schema/common/null.js +0 -17
  181. package/node_modules/yaml/dist/schema/common/seq.d.ts +0 -2
  182. package/node_modules/yaml/dist/schema/common/seq.js +0 -19
  183. package/node_modules/yaml/dist/schema/common/string.d.ts +0 -2
  184. package/node_modules/yaml/dist/schema/common/string.js +0 -16
  185. package/node_modules/yaml/dist/schema/core/bool.d.ts +0 -4
  186. package/node_modules/yaml/dist/schema/core/bool.js +0 -21
  187. package/node_modules/yaml/dist/schema/core/float.d.ts +0 -4
  188. package/node_modules/yaml/dist/schema/core/float.js +0 -47
  189. package/node_modules/yaml/dist/schema/core/int.d.ts +0 -4
  190. package/node_modules/yaml/dist/schema/core/int.js +0 -42
  191. package/node_modules/yaml/dist/schema/core/schema.d.ts +0 -1
  192. package/node_modules/yaml/dist/schema/core/schema.js +0 -25
  193. package/node_modules/yaml/dist/schema/json/schema.d.ts +0 -2
  194. package/node_modules/yaml/dist/schema/json/schema.js +0 -64
  195. package/node_modules/yaml/dist/schema/json-schema.d.ts +0 -69
  196. package/node_modules/yaml/dist/schema/tags.d.ts +0 -48
  197. package/node_modules/yaml/dist/schema/tags.js +0 -99
  198. package/node_modules/yaml/dist/schema/types.d.ts +0 -92
  199. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +0 -2
  200. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +0 -70
  201. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +0 -7
  202. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +0 -29
  203. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +0 -4
  204. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +0 -50
  205. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +0 -5
  206. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +0 -76
  207. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +0 -9
  208. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +0 -68
  209. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +0 -22
  210. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +0 -77
  211. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +0 -10
  212. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +0 -82
  213. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +0 -1
  214. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +0 -41
  215. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +0 -28
  216. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +0 -96
  217. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +0 -6
  218. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +0 -105
  219. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +0 -34
  220. package/node_modules/yaml/dist/stringify/foldFlowLines.js +0 -151
  221. package/node_modules/yaml/dist/stringify/stringify.d.ts +0 -21
  222. package/node_modules/yaml/dist/stringify/stringify.js +0 -131
  223. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +0 -17
  224. package/node_modules/yaml/dist/stringify/stringifyCollection.js +0 -145
  225. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +0 -10
  226. package/node_modules/yaml/dist/stringify/stringifyComment.js +0 -24
  227. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +0 -4
  228. package/node_modules/yaml/dist/stringify/stringifyDocument.js +0 -87
  229. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +0 -2
  230. package/node_modules/yaml/dist/stringify/stringifyNumber.js +0 -26
  231. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +0 -3
  232. package/node_modules/yaml/dist/stringify/stringifyPair.js +0 -152
  233. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +0 -9
  234. package/node_modules/yaml/dist/stringify/stringifyString.js +0 -338
  235. package/node_modules/yaml/dist/test-events.d.ts +0 -4
  236. package/node_modules/yaml/dist/test-events.js +0 -134
  237. package/node_modules/yaml/dist/util.d.ts +0 -16
  238. package/node_modules/yaml/dist/util.js +0 -28
  239. package/node_modules/yaml/dist/visit.d.ts +0 -102
  240. package/node_modules/yaml/dist/visit.js +0 -236
  241. package/node_modules/yaml/package.json +0 -97
  242. package/node_modules/yaml/util.js +0 -2
@@ -1,116 +0,0 @@
1
- 'use strict';
2
-
3
- var anchors = require('../doc/anchors.js');
4
- var visit = require('../visit.js');
5
- var identity = require('./identity.js');
6
- var Node = require('./Node.js');
7
- var toJS = require('./toJS.js');
8
-
9
- class Alias extends Node.NodeBase {
10
- constructor(source) {
11
- super(identity.ALIAS);
12
- this.source = source;
13
- Object.defineProperty(this, 'tag', {
14
- set() {
15
- throw new Error('Alias nodes cannot have tags');
16
- }
17
- });
18
- }
19
- /**
20
- * Resolve the value of this alias within `doc`, finding the last
21
- * instance of the `source` anchor before this node.
22
- */
23
- resolve(doc, ctx) {
24
- let nodes;
25
- if (ctx?.aliasResolveCache) {
26
- nodes = ctx.aliasResolveCache;
27
- }
28
- else {
29
- nodes = [];
30
- visit.visit(doc, {
31
- Node: (_key, node) => {
32
- if (identity.isAlias(node) || identity.hasAnchor(node))
33
- nodes.push(node);
34
- }
35
- });
36
- if (ctx)
37
- ctx.aliasResolveCache = nodes;
38
- }
39
- let found = undefined;
40
- for (const node of nodes) {
41
- if (node === this)
42
- break;
43
- if (node.anchor === this.source)
44
- found = node;
45
- }
46
- return found;
47
- }
48
- toJSON(_arg, ctx) {
49
- if (!ctx)
50
- return { source: this.source };
51
- const { anchors, doc, maxAliasCount } = ctx;
52
- const source = this.resolve(doc, ctx);
53
- if (!source) {
54
- const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
55
- throw new ReferenceError(msg);
56
- }
57
- let data = anchors.get(source);
58
- if (!data) {
59
- // Resolve anchors for Node.prototype.toJS()
60
- toJS.toJS(source, null, ctx);
61
- data = anchors.get(source);
62
- }
63
- /* istanbul ignore if */
64
- if (data?.res === undefined) {
65
- const msg = 'This should not happen: Alias anchor was not resolved?';
66
- throw new ReferenceError(msg);
67
- }
68
- if (maxAliasCount >= 0) {
69
- data.count += 1;
70
- if (data.aliasCount === 0)
71
- data.aliasCount = getAliasCount(doc, source, anchors);
72
- if (data.count * data.aliasCount > maxAliasCount) {
73
- const msg = 'Excessive alias count indicates a resource exhaustion attack';
74
- throw new ReferenceError(msg);
75
- }
76
- }
77
- return data.res;
78
- }
79
- toString(ctx, _onComment, _onChompKeep) {
80
- const src = `*${this.source}`;
81
- if (ctx) {
82
- anchors.anchorIsValid(this.source);
83
- if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) {
84
- const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
85
- throw new Error(msg);
86
- }
87
- if (ctx.implicitKey)
88
- return `${src} `;
89
- }
90
- return src;
91
- }
92
- }
93
- function getAliasCount(doc, node, anchors) {
94
- if (identity.isAlias(node)) {
95
- const source = node.resolve(doc);
96
- const anchor = anchors && source && anchors.get(source);
97
- return anchor ? anchor.count * anchor.aliasCount : 0;
98
- }
99
- else if (identity.isCollection(node)) {
100
- let count = 0;
101
- for (const item of node.items) {
102
- const c = getAliasCount(doc, item, anchors);
103
- if (c > count)
104
- count = c;
105
- }
106
- return count;
107
- }
108
- else if (identity.isPair(node)) {
109
- const kc = getAliasCount(doc, node.key, anchors);
110
- const vc = getAliasCount(doc, node.value, anchors);
111
- return Math.max(kc, vc);
112
- }
113
- return 1;
114
- }
115
-
116
- exports.Alias = Alias;
@@ -1,73 +0,0 @@
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
- export declare const isEmptyPath: (path: Iterable<unknown> | null | undefined) => path is null | undefined;
6
- export declare abstract class Collection extends NodeBase {
7
- schema: Schema | undefined;
8
- [NODE_TYPE]: symbol;
9
- items: unknown[];
10
- /** An optional anchor on this node. Used by alias nodes. */
11
- anchor?: string;
12
- /**
13
- * If true, stringify this and all child nodes using flow rather than
14
- * block styles.
15
- */
16
- flow?: boolean;
17
- constructor(type: symbol, schema?: Schema);
18
- /**
19
- * Create a copy of this collection.
20
- *
21
- * @param schema - If defined, overwrites the original's schema
22
- */
23
- clone(schema?: Schema): Collection;
24
- /** Adds a value to the collection. */
25
- abstract add(value: unknown): void;
26
- /**
27
- * Removes a value from the collection.
28
- * @returns `true` if the item was found and removed.
29
- */
30
- abstract delete(key: unknown): boolean;
31
- /**
32
- * Returns item at `key`, or `undefined` if not found. By default unwraps
33
- * scalar values from their surrounding node; to disable set `keepScalar` to
34
- * `true` (collections are always returned intact).
35
- */
36
- abstract get(key: unknown, keepScalar?: boolean): unknown;
37
- /**
38
- * Checks if the collection includes a value with the key `key`.
39
- */
40
- abstract has(key: unknown): boolean;
41
- /**
42
- * Sets a value in this collection. For `!!set`, `value` needs to be a
43
- * boolean to add/remove the item from the set.
44
- */
45
- abstract set(key: unknown, value: unknown): void;
46
- /**
47
- * Adds a value to the collection. For `!!map` and `!!omap` the value must
48
- * be a Pair instance or a `{ key, value }` object, which may not have a key
49
- * that already exists in the map.
50
- */
51
- addIn(path: Iterable<unknown>, value: unknown): void;
52
- /**
53
- * Removes a value from the collection.
54
- * @returns `true` if the item was found and removed.
55
- */
56
- deleteIn(path: Iterable<unknown>): boolean;
57
- /**
58
- * Returns item at `key`, or `undefined` if not found. By default unwraps
59
- * scalar values from their surrounding node; to disable set `keepScalar` to
60
- * `true` (collections are always returned intact).
61
- */
62
- getIn(path: Iterable<unknown>, keepScalar?: boolean): unknown;
63
- hasAllNullValues(allowScalar?: boolean): boolean;
64
- /**
65
- * Checks if the collection includes a value with the key `key`.
66
- */
67
- hasIn(path: Iterable<unknown>): boolean;
68
- /**
69
- * Sets a value in this collection. For `!!set`, `value` needs to be a
70
- * boolean to add/remove the item from the set.
71
- */
72
- setIn(path: Iterable<unknown>, value: unknown): void;
73
- }
@@ -1,151 +0,0 @@
1
- 'use strict';
2
-
3
- var createNode = require('../doc/createNode.js');
4
- var identity = require('./identity.js');
5
- var Node = require('./Node.js');
6
-
7
- function collectionFromPath(schema, path, value) {
8
- let v = value;
9
- for (let i = path.length - 1; i >= 0; --i) {
10
- const k = path[i];
11
- if (typeof k === 'number' && Number.isInteger(k) && k >= 0) {
12
- const a = [];
13
- a[k] = v;
14
- v = a;
15
- }
16
- else {
17
- v = new Map([[k, v]]);
18
- }
19
- }
20
- return createNode.createNode(v, undefined, {
21
- aliasDuplicateObjects: false,
22
- keepUndefined: false,
23
- onAnchor: () => {
24
- throw new Error('This should not happen, please report a bug.');
25
- },
26
- schema,
27
- sourceObjects: new Map()
28
- });
29
- }
30
- // Type guard is intentionally a little wrong so as to be more useful,
31
- // as it does not cover untypable empty non-string iterables (e.g. []).
32
- const isEmptyPath = (path) => path == null ||
33
- (typeof path === 'object' && !!path[Symbol.iterator]().next().done);
34
- class Collection extends Node.NodeBase {
35
- constructor(type, schema) {
36
- super(type);
37
- Object.defineProperty(this, 'schema', {
38
- value: schema,
39
- configurable: true,
40
- enumerable: false,
41
- writable: true
42
- });
43
- }
44
- /**
45
- * Create a copy of this collection.
46
- *
47
- * @param schema - If defined, overwrites the original's schema
48
- */
49
- clone(schema) {
50
- const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
51
- if (schema)
52
- copy.schema = schema;
53
- copy.items = copy.items.map(it => identity.isNode(it) || identity.isPair(it) ? it.clone(schema) : it);
54
- if (this.range)
55
- copy.range = this.range.slice();
56
- return copy;
57
- }
58
- /**
59
- * Adds a value to the collection. For `!!map` and `!!omap` the value must
60
- * be a Pair instance or a `{ key, value }` object, which may not have a key
61
- * that already exists in the map.
62
- */
63
- addIn(path, value) {
64
- if (isEmptyPath(path))
65
- this.add(value);
66
- else {
67
- const [key, ...rest] = path;
68
- const node = this.get(key, true);
69
- if (identity.isCollection(node))
70
- node.addIn(rest, value);
71
- else if (node === undefined && this.schema)
72
- this.set(key, collectionFromPath(this.schema, rest, value));
73
- else
74
- throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
75
- }
76
- }
77
- /**
78
- * Removes a value from the collection.
79
- * @returns `true` if the item was found and removed.
80
- */
81
- deleteIn(path) {
82
- const [key, ...rest] = path;
83
- if (rest.length === 0)
84
- return this.delete(key);
85
- const node = this.get(key, true);
86
- if (identity.isCollection(node))
87
- return node.deleteIn(rest);
88
- else
89
- throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
90
- }
91
- /**
92
- * Returns item at `key`, or `undefined` if not found. By default unwraps
93
- * scalar values from their surrounding node; to disable set `keepScalar` to
94
- * `true` (collections are always returned intact).
95
- */
96
- getIn(path, keepScalar) {
97
- const [key, ...rest] = path;
98
- const node = this.get(key, true);
99
- if (rest.length === 0)
100
- return !keepScalar && identity.isScalar(node) ? node.value : node;
101
- else
102
- return identity.isCollection(node) ? node.getIn(rest, keepScalar) : undefined;
103
- }
104
- hasAllNullValues(allowScalar) {
105
- return this.items.every(node => {
106
- if (!identity.isPair(node))
107
- return false;
108
- const n = node.value;
109
- return (n == null ||
110
- (allowScalar &&
111
- identity.isScalar(n) &&
112
- n.value == null &&
113
- !n.commentBefore &&
114
- !n.comment &&
115
- !n.tag));
116
- });
117
- }
118
- /**
119
- * Checks if the collection includes a value with the key `key`.
120
- */
121
- hasIn(path) {
122
- const [key, ...rest] = path;
123
- if (rest.length === 0)
124
- return this.has(key);
125
- const node = this.get(key, true);
126
- return identity.isCollection(node) ? node.hasIn(rest) : false;
127
- }
128
- /**
129
- * Sets a value in this collection. For `!!set`, `value` needs to be a
130
- * boolean to add/remove the item from the set.
131
- */
132
- setIn(path, value) {
133
- const [key, ...rest] = path;
134
- if (rest.length === 0) {
135
- this.set(key, value);
136
- }
137
- else {
138
- const node = this.get(key, true);
139
- if (identity.isCollection(node))
140
- node.setIn(rest, value);
141
- else if (node === undefined && this.schema)
142
- this.set(key, collectionFromPath(this.schema, rest, value));
143
- else
144
- throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
145
- }
146
- }
147
- }
148
-
149
- exports.Collection = Collection;
150
- exports.collectionFromPath = collectionFromPath;
151
- exports.isEmptyPath = isEmptyPath;
@@ -1,53 +0,0 @@
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
- export type Node<T = unknown> = Alias | Scalar<T> | YAMLMap<unknown, T> | YAMLSeq<T>;
12
- /** Utility type mapper */
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 {
14
- [key: string]: any;
15
- } ? YAMLMap<NodeType<keyof T>, NodeType<T[keyof T]>> : T extends {
16
- [key: number]: any;
17
- } ? YAMLMap<NodeType<keyof T>, NodeType<T[keyof T]>> : Node;
18
- export type ParsedNode = Alias.Parsed | Scalar.Parsed | YAMLMap.Parsed | YAMLSeq.Parsed;
19
- /** `[start, value-end, node-end]` */
20
- export type Range = [number, number, number];
21
- export declare abstract class NodeBase {
22
- readonly [NODE_TYPE]: symbol;
23
- /** A comment on or immediately after this */
24
- comment?: string | null;
25
- /** A comment before this */
26
- commentBefore?: string | null;
27
- /**
28
- * The `[start, value-end, node-end]` character offsets for the part of the
29
- * source parsed into this node (undefined if not parsed). The `value-end`
30
- * and `node-end` positions are themselves not included in their respective
31
- * ranges.
32
- */
33
- range?: Range | null;
34
- /** A blank line before this node and its commentBefore */
35
- spaceBefore?: boolean;
36
- /** The CST token that was composed into this node. */
37
- srcToken?: Token;
38
- /** A fully qualified tag, if required */
39
- tag?: string;
40
- /**
41
- * Customize the way that a key-value pair is resolved.
42
- * Used for YAML 1.1 !!merge << handling.
43
- */
44
- addToJSMap?: (ctx: ToJSContext | undefined, map: MapLike, value: unknown) => void;
45
- /** A plain JS representation of this node */
46
- abstract toJSON(): any;
47
- abstract toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
48
- constructor(type: symbol);
49
- /** Create a copy of this node. */
50
- clone(): NodeBase;
51
- /** A plain JavaScript representation of this node. */
52
- toJS(doc: Document<Node, boolean>, { mapAsMap, maxAliasCount, onAnchor, reviver }?: ToJSOptions): any;
53
- }
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- var applyReviver = require('../doc/applyReviver.js');
4
- var identity = require('./identity.js');
5
- var toJS = require('./toJS.js');
6
-
7
- class NodeBase {
8
- constructor(type) {
9
- Object.defineProperty(this, identity.NODE_TYPE, { value: type });
10
- }
11
- /** Create a copy of this node. */
12
- clone() {
13
- const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
14
- if (this.range)
15
- copy.range = this.range.slice();
16
- return copy;
17
- }
18
- /** A plain JavaScript representation of this node. */
19
- toJS(doc, { mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
20
- if (!identity.isDocument(doc))
21
- throw new TypeError('A document argument is required');
22
- const ctx = {
23
- anchors: new Map(),
24
- doc,
25
- keep: true,
26
- mapAsMap: mapAsMap === true,
27
- mapKeyWarned: false,
28
- maxAliasCount: typeof maxAliasCount === 'number' ? maxAliasCount : 100
29
- };
30
- const res = toJS.toJS(this, '', ctx);
31
- if (typeof onAnchor === 'function')
32
- for (const { count, res } of ctx.anchors.values())
33
- onAnchor(res, count);
34
- return typeof reviver === 'function'
35
- ? applyReviver.applyReviver(reviver, { '': res }, '', res)
36
- : res;
37
- }
38
- }
39
-
40
- exports.NodeBase = NodeBase;
@@ -1,22 +0,0 @@
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>;
10
- export declare class Pair<K = unknown, V = unknown> {
11
- readonly [NODE_TYPE]: symbol;
12
- /** Always Node or null when parsed, but can be set to anything. */
13
- key: K;
14
- /** Always Node or null when parsed, but can be set to anything. */
15
- value: V | null;
16
- /** The CST token that was composed into this pair. */
17
- srcToken?: CollectionItem;
18
- constructor(key: K, value?: V | null);
19
- clone(schema?: Schema): Pair<K, V>;
20
- toJSON(_?: unknown, ctx?: ToJSContext): ReturnType<typeof addPairToJSMap>;
21
- toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
22
- }
@@ -1,39 +0,0 @@
1
- 'use strict';
2
-
3
- var createNode = require('../doc/createNode.js');
4
- var stringifyPair = require('../stringify/stringifyPair.js');
5
- var addPairToJSMap = require('./addPairToJSMap.js');
6
- var identity = require('./identity.js');
7
-
8
- function createPair(key, value, ctx) {
9
- const k = createNode.createNode(key, undefined, ctx);
10
- const v = createNode.createNode(value, undefined, ctx);
11
- return new Pair(k, v);
12
- }
13
- class Pair {
14
- constructor(key, value = null) {
15
- Object.defineProperty(this, identity.NODE_TYPE, { value: identity.PAIR });
16
- this.key = key;
17
- this.value = value;
18
- }
19
- clone(schema) {
20
- let { key, value } = this;
21
- if (identity.isNode(key))
22
- key = key.clone(schema);
23
- if (identity.isNode(value))
24
- value = value.clone(schema);
25
- return new Pair(key, value);
26
- }
27
- toJSON(_, ctx) {
28
- const pair = ctx?.mapAsMap ? new Map() : {};
29
- return addPairToJSMap.addPairToJSMap(ctx, pair, this);
30
- }
31
- toString(ctx, onComment, onChompKeep) {
32
- return ctx?.doc
33
- ? stringifyPair.stringifyPair(this, ctx, onComment, onChompKeep)
34
- : JSON.stringify(this);
35
- }
36
- }
37
-
38
- exports.Pair = Pair;
39
- exports.createPair = createPair;
@@ -1,43 +0,0 @@
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';
5
- export declare const isScalarValue: (value: unknown) => boolean;
6
- export declare namespace Scalar {
7
- interface Parsed extends Scalar {
8
- range: Range;
9
- source: string;
10
- srcToken?: FlowScalar | BlockScalar;
11
- }
12
- type BLOCK_FOLDED = 'BLOCK_FOLDED';
13
- type BLOCK_LITERAL = 'BLOCK_LITERAL';
14
- type PLAIN = 'PLAIN';
15
- type QUOTE_DOUBLE = 'QUOTE_DOUBLE';
16
- type QUOTE_SINGLE = 'QUOTE_SINGLE';
17
- type Type = BLOCK_FOLDED | BLOCK_LITERAL | PLAIN | QUOTE_DOUBLE | QUOTE_SINGLE;
18
- }
19
- export declare class Scalar<T = unknown> extends NodeBase {
20
- static readonly BLOCK_FOLDED = "BLOCK_FOLDED";
21
- static readonly BLOCK_LITERAL = "BLOCK_LITERAL";
22
- static readonly PLAIN = "PLAIN";
23
- static readonly QUOTE_DOUBLE = "QUOTE_DOUBLE";
24
- static readonly QUOTE_SINGLE = "QUOTE_SINGLE";
25
- value: T;
26
- /** An optional anchor on this node. Used by alias nodes. */
27
- anchor?: string;
28
- /**
29
- * By default (undefined), numbers use decimal notation.
30
- * The YAML 1.2 core schema only supports 'HEX' and 'OCT'.
31
- * The YAML 1.1 schema also supports 'BIN' and 'TIME'
32
- */
33
- format?: string;
34
- /** If `value` is a number, use this value when stringifying this node. */
35
- minFractionDigits?: number;
36
- /** Set during parsing to the source string value */
37
- source?: string;
38
- /** The scalar style used for the node's string representation */
39
- type?: Scalar.Type;
40
- constructor(value: T);
41
- toJSON(arg?: any, ctx?: ToJSContext): any;
42
- toString(): string;
43
- }
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- var identity = require('./identity.js');
4
- var Node = require('./Node.js');
5
- var toJS = require('./toJS.js');
6
-
7
- const isScalarValue = (value) => !value || (typeof value !== 'function' && typeof value !== 'object');
8
- class Scalar extends Node.NodeBase {
9
- constructor(value) {
10
- super(identity.SCALAR);
11
- this.value = value;
12
- }
13
- toJSON(arg, ctx) {
14
- return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx);
15
- }
16
- toString() {
17
- return String(this.value);
18
- }
19
- }
20
- Scalar.BLOCK_FOLDED = 'BLOCK_FOLDED';
21
- Scalar.BLOCK_LITERAL = 'BLOCK_LITERAL';
22
- Scalar.PLAIN = 'PLAIN';
23
- Scalar.QUOTE_DOUBLE = 'QUOTE_DOUBLE';
24
- Scalar.QUOTE_SINGLE = 'QUOTE_SINGLE';
25
-
26
- exports.Scalar = Scalar;
27
- exports.isScalarValue = isScalarValue;
@@ -1,53 +0,0 @@
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
- export type MapLike = Map<unknown, unknown> | Set<unknown> | Record<string | number | symbol, unknown>;
11
- export declare function findPair<K = unknown, V = unknown>(items: Iterable<Pair<K, V>>, key: unknown): Pair<K, V> | undefined;
12
- export declare namespace YAMLMap {
13
- interface Parsed<K extends ParsedNode = ParsedNode, V extends ParsedNode | null = ParsedNode | null> extends YAMLMap<K, V> {
14
- items: Pair<K, V>[];
15
- range: Range;
16
- srcToken?: BlockMap | FlowCollection;
17
- }
18
- }
19
- export declare class YAMLMap<K = unknown, V = unknown> extends Collection {
20
- static get tagName(): 'tag:yaml.org,2002:map';
21
- items: Pair<K, V>[];
22
- constructor(schema?: Schema);
23
- /**
24
- * A generic collection parsing method that can be extended
25
- * to other node classes that inherit from YAMLMap
26
- */
27
- static from(schema: Schema, obj: unknown, ctx: CreateNodeContext): YAMLMap;
28
- /**
29
- * Adds a value to the collection.
30
- *
31
- * @param overwrite - If not set `true`, using a key that is already in the
32
- * collection will throw. Otherwise, overwrites the previous value.
33
- */
34
- add(pair: Pair<K, V> | {
35
- key: K;
36
- value: V;
37
- }, overwrite?: boolean): void;
38
- delete(key: unknown): boolean;
39
- get(key: unknown, keepScalar: true): Scalar<V> | undefined;
40
- get(key: unknown, keepScalar?: false): V | undefined;
41
- get(key: unknown, keepScalar?: boolean): V | Scalar<V> | undefined;
42
- has(key: unknown): boolean;
43
- set(key: K, value: V): void;
44
- /**
45
- * @param ctx - Conversion context, originally set in Document#toJS()
46
- * @param {Class} Type - If set, forces the returned collection type
47
- * @returns Instance of Type, Map, or Object
48
- */
49
- toJSON<T extends MapLike = Map<unknown, unknown>>(_?: unknown, ctx?: ToJSContext, Type?: {
50
- new (): T;
51
- }): any;
52
- toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
53
- }