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,102 +0,0 @@
1
- import { Composer } from './compose/composer.js';
2
- import { Document } from './doc/Document.js';
3
- import { prettifyError, YAMLParseError } from './errors.js';
4
- import { warn } from './log.js';
5
- import { isDocument } from './nodes/identity.js';
6
- import { LineCounter } from './parse/line-counter.js';
7
- import { Parser } from './parse/parser.js';
8
-
9
- function parseOptions(options) {
10
- const prettyErrors = options.prettyErrors !== false;
11
- const lineCounter = options.lineCounter || (prettyErrors && new LineCounter()) || null;
12
- return { lineCounter, prettyErrors };
13
- }
14
- /**
15
- * Parse the input as a stream of YAML documents.
16
- *
17
- * Documents should be separated from each other by `...` or `---` marker lines.
18
- *
19
- * @returns If an empty `docs` array is returned, it will be of type
20
- * EmptyStream and contain additional stream information. In
21
- * TypeScript, you should use `'empty' in docs` as a type guard for it.
22
- */
23
- function parseAllDocuments(source, options = {}) {
24
- const { lineCounter, prettyErrors } = parseOptions(options);
25
- const parser = new Parser(lineCounter?.addNewLine);
26
- const composer = new Composer(options);
27
- const docs = Array.from(composer.compose(parser.parse(source)));
28
- if (prettyErrors && lineCounter)
29
- for (const doc of docs) {
30
- doc.errors.forEach(prettifyError(source, lineCounter));
31
- doc.warnings.forEach(prettifyError(source, lineCounter));
32
- }
33
- if (docs.length > 0)
34
- return docs;
35
- return Object.assign([], { empty: true }, composer.streamInfo());
36
- }
37
- /** Parse an input string into a single YAML.Document */
38
- function parseDocument(source, options = {}) {
39
- const { lineCounter, prettyErrors } = parseOptions(options);
40
- const parser = new Parser(lineCounter?.addNewLine);
41
- const composer = new Composer(options);
42
- // `doc` is always set by compose.end(true) at the very latest
43
- let doc = null;
44
- for (const _doc of composer.compose(parser.parse(source), true, source.length)) {
45
- if (!doc)
46
- doc = _doc;
47
- else if (doc.options.logLevel !== 'silent') {
48
- doc.errors.push(new YAMLParseError(_doc.range.slice(0, 2), 'MULTIPLE_DOCS', 'Source contains multiple documents; please use YAML.parseAllDocuments()'));
49
- break;
50
- }
51
- }
52
- if (prettyErrors && lineCounter) {
53
- doc.errors.forEach(prettifyError(source, lineCounter));
54
- doc.warnings.forEach(prettifyError(source, lineCounter));
55
- }
56
- return doc;
57
- }
58
- function parse(src, reviver, options) {
59
- let _reviver = undefined;
60
- if (typeof reviver === 'function') {
61
- _reviver = reviver;
62
- }
63
- else if (options === undefined && reviver && typeof reviver === 'object') {
64
- options = reviver;
65
- }
66
- const doc = parseDocument(src, options);
67
- if (!doc)
68
- return null;
69
- doc.warnings.forEach(warning => warn(doc.options.logLevel, warning));
70
- if (doc.errors.length > 0) {
71
- if (doc.options.logLevel !== 'silent')
72
- throw doc.errors[0];
73
- else
74
- doc.errors = [];
75
- }
76
- return doc.toJS(Object.assign({ reviver: _reviver }, options));
77
- }
78
- function stringify(value, replacer, options) {
79
- let _replacer = null;
80
- if (typeof replacer === 'function' || Array.isArray(replacer)) {
81
- _replacer = replacer;
82
- }
83
- else if (options === undefined && replacer) {
84
- options = replacer;
85
- }
86
- if (typeof options === 'string')
87
- options = options.length;
88
- if (typeof options === 'number') {
89
- const indent = Math.round(options);
90
- options = indent < 1 ? undefined : indent > 8 ? { indent: 8 } : { indent };
91
- }
92
- if (value === undefined) {
93
- const { keepUndefined } = options ?? replacer ?? {};
94
- if (!keepUndefined)
95
- return undefined;
96
- }
97
- if (isDocument(value) && !_replacer)
98
- return value.toString(options);
99
- return new Document(value, _replacer, options).toString(options);
100
- }
101
-
102
- export { parse, parseAllDocuments, parseDocument, stringify };
@@ -1,37 +0,0 @@
1
- import { MAP, SCALAR, SEQ } from '../nodes/identity.js';
2
- import { map } from './common/map.js';
3
- import { seq } from './common/seq.js';
4
- import { string } from './common/string.js';
5
- import { getTags, coreKnownTags } from './tags.js';
6
-
7
- const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
8
- class Schema {
9
- constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) {
10
- this.compat = Array.isArray(compat)
11
- ? getTags(compat, 'compat')
12
- : compat
13
- ? getTags(null, compat)
14
- : null;
15
- this.name = (typeof schema === 'string' && schema) || 'core';
16
- this.knownTags = resolveKnownTags ? coreKnownTags : {};
17
- this.tags = getTags(customTags, this.name, merge);
18
- this.toStringOptions = toStringDefaults ?? null;
19
- Object.defineProperty(this, MAP, { value: map });
20
- Object.defineProperty(this, SCALAR, { value: string });
21
- Object.defineProperty(this, SEQ, { value: seq });
22
- // Used by createMap()
23
- this.sortMapEntries =
24
- typeof sortMapEntries === 'function'
25
- ? sortMapEntries
26
- : sortMapEntries === true
27
- ? sortMapEntriesByKey
28
- : null;
29
- }
30
- clone() {
31
- const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this));
32
- copy.tags = this.tags.slice();
33
- return copy;
34
- }
35
- }
36
-
37
- export { Schema };
@@ -1,17 +0,0 @@
1
- import { isMap } from '../../nodes/identity.js';
2
- import { YAMLMap } from '../../nodes/YAMLMap.js';
3
-
4
- const map = {
5
- collection: 'map',
6
- default: true,
7
- nodeClass: YAMLMap,
8
- tag: 'tag:yaml.org,2002:map',
9
- resolve(map, onError) {
10
- if (!isMap(map))
11
- onError('Expected a mapping for this tag');
12
- return map;
13
- },
14
- createNode: (schema, obj, ctx) => YAMLMap.from(schema, obj, ctx)
15
- };
16
-
17
- export { map };
@@ -1,15 +0,0 @@
1
- import { Scalar } from '../../nodes/Scalar.js';
2
-
3
- const nullTag = {
4
- identify: value => value == null,
5
- createNode: () => new Scalar(null),
6
- default: true,
7
- tag: 'tag:yaml.org,2002:null',
8
- test: /^(?:~|[Nn]ull|NULL)?$/,
9
- resolve: () => new Scalar(null),
10
- stringify: ({ source }, ctx) => typeof source === 'string' && nullTag.test.test(source)
11
- ? source
12
- : ctx.options.nullStr
13
- };
14
-
15
- export { nullTag };
@@ -1,17 +0,0 @@
1
- import { isSeq } from '../../nodes/identity.js';
2
- import { YAMLSeq } from '../../nodes/YAMLSeq.js';
3
-
4
- const seq = {
5
- collection: 'seq',
6
- default: true,
7
- nodeClass: YAMLSeq,
8
- tag: 'tag:yaml.org,2002:seq',
9
- resolve(seq, onError) {
10
- if (!isSeq(seq))
11
- onError('Expected a sequence for this tag');
12
- return seq;
13
- },
14
- createNode: (schema, obj, ctx) => YAMLSeq.from(schema, obj, ctx)
15
- };
16
-
17
- export { seq };
@@ -1,14 +0,0 @@
1
- import { stringifyString } from '../../stringify/stringifyString.js';
2
-
3
- const string = {
4
- identify: value => typeof value === 'string',
5
- default: true,
6
- tag: 'tag:yaml.org,2002:str',
7
- resolve: str => str,
8
- stringify(item, ctx, onComment, onChompKeep) {
9
- ctx = Object.assign({ actualString: true }, ctx);
10
- return stringifyString(item, ctx, onComment, onChompKeep);
11
- }
12
- };
13
-
14
- export { string };
@@ -1,19 +0,0 @@
1
- import { Scalar } from '../../nodes/Scalar.js';
2
-
3
- const boolTag = {
4
- identify: value => typeof value === 'boolean',
5
- default: true,
6
- tag: 'tag:yaml.org,2002:bool',
7
- test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
8
- resolve: str => new Scalar(str[0] === 't' || str[0] === 'T'),
9
- stringify({ source, value }, ctx) {
10
- if (source && boolTag.test.test(source)) {
11
- const sv = source[0] === 't' || source[0] === 'T';
12
- if (value === sv)
13
- return source;
14
- }
15
- return value ? ctx.options.trueStr : ctx.options.falseStr;
16
- }
17
- };
18
-
19
- export { boolTag };
@@ -1,43 +0,0 @@
1
- import { Scalar } from '../../nodes/Scalar.js';
2
- import { stringifyNumber } from '../../stringify/stringifyNumber.js';
3
-
4
- const floatNaN = {
5
- identify: value => typeof value === 'number',
6
- default: true,
7
- tag: 'tag:yaml.org,2002:float',
8
- test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
9
- resolve: str => str.slice(-3).toLowerCase() === 'nan'
10
- ? NaN
11
- : str[0] === '-'
12
- ? Number.NEGATIVE_INFINITY
13
- : Number.POSITIVE_INFINITY,
14
- stringify: stringifyNumber
15
- };
16
- const floatExp = {
17
- identify: value => typeof value === 'number',
18
- default: true,
19
- tag: 'tag:yaml.org,2002:float',
20
- format: 'EXP',
21
- test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
22
- resolve: str => parseFloat(str),
23
- stringify(node) {
24
- const num = Number(node.value);
25
- return isFinite(num) ? num.toExponential() : stringifyNumber(node);
26
- }
27
- };
28
- const float = {
29
- identify: value => typeof value === 'number',
30
- default: true,
31
- tag: 'tag:yaml.org,2002:float',
32
- test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
33
- resolve(str) {
34
- const node = new Scalar(parseFloat(str));
35
- const dot = str.indexOf('.');
36
- if (dot !== -1 && str[str.length - 1] === '0')
37
- node.minFractionDigits = str.length - dot - 1;
38
- return node;
39
- },
40
- stringify: stringifyNumber
41
- };
42
-
43
- export { float, floatExp, floatNaN };
@@ -1,38 +0,0 @@
1
- import { stringifyNumber } from '../../stringify/stringifyNumber.js';
2
-
3
- const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
4
- const intResolve = (str, offset, radix, { intAsBigInt }) => (intAsBigInt ? BigInt(str) : parseInt(str.substring(offset), radix));
5
- function intStringify(node, radix, prefix) {
6
- const { value } = node;
7
- if (intIdentify(value) && value >= 0)
8
- return prefix + value.toString(radix);
9
- return stringifyNumber(node);
10
- }
11
- const intOct = {
12
- identify: value => intIdentify(value) && value >= 0,
13
- default: true,
14
- tag: 'tag:yaml.org,2002:int',
15
- format: 'OCT',
16
- test: /^0o[0-7]+$/,
17
- resolve: (str, _onError, opt) => intResolve(str, 2, 8, opt),
18
- stringify: node => intStringify(node, 8, '0o')
19
- };
20
- const int = {
21
- identify: intIdentify,
22
- default: true,
23
- tag: 'tag:yaml.org,2002:int',
24
- test: /^[-+]?[0-9]+$/,
25
- resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
26
- stringify: stringifyNumber
27
- };
28
- const intHex = {
29
- identify: value => intIdentify(value) && value >= 0,
30
- default: true,
31
- tag: 'tag:yaml.org,2002:int',
32
- format: 'HEX',
33
- test: /^0x[0-9a-fA-F]+$/,
34
- resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
35
- stringify: node => intStringify(node, 16, '0x')
36
- };
37
-
38
- export { int, intHex, intOct };
@@ -1,23 +0,0 @@
1
- import { map } from '../common/map.js';
2
- import { nullTag } from '../common/null.js';
3
- import { seq } from '../common/seq.js';
4
- import { string } from '../common/string.js';
5
- import { boolTag } from './bool.js';
6
- import { floatNaN, floatExp, float } from './float.js';
7
- import { intOct, int, intHex } from './int.js';
8
-
9
- const schema = [
10
- map,
11
- seq,
12
- string,
13
- nullTag,
14
- boolTag,
15
- intOct,
16
- int,
17
- intHex,
18
- floatNaN,
19
- floatExp,
20
- float
21
- ];
22
-
23
- export { schema };
@@ -1,62 +0,0 @@
1
- import { Scalar } from '../../nodes/Scalar.js';
2
- import { map } from '../common/map.js';
3
- import { seq } from '../common/seq.js';
4
-
5
- function intIdentify(value) {
6
- return typeof value === 'bigint' || Number.isInteger(value);
7
- }
8
- const stringifyJSON = ({ value }) => JSON.stringify(value);
9
- const jsonScalars = [
10
- {
11
- identify: value => typeof value === 'string',
12
- default: true,
13
- tag: 'tag:yaml.org,2002:str',
14
- resolve: str => str,
15
- stringify: stringifyJSON
16
- },
17
- {
18
- identify: value => value == null,
19
- createNode: () => new Scalar(null),
20
- default: true,
21
- tag: 'tag:yaml.org,2002:null',
22
- test: /^null$/,
23
- resolve: () => null,
24
- stringify: stringifyJSON
25
- },
26
- {
27
- identify: value => typeof value === 'boolean',
28
- default: true,
29
- tag: 'tag:yaml.org,2002:bool',
30
- test: /^true$|^false$/,
31
- resolve: str => str === 'true',
32
- stringify: stringifyJSON
33
- },
34
- {
35
- identify: intIdentify,
36
- default: true,
37
- tag: 'tag:yaml.org,2002:int',
38
- test: /^-?(?:0|[1-9][0-9]*)$/,
39
- resolve: (str, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str, 10),
40
- stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
41
- },
42
- {
43
- identify: value => typeof value === 'number',
44
- default: true,
45
- tag: 'tag:yaml.org,2002:float',
46
- test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
47
- resolve: str => parseFloat(str),
48
- stringify: stringifyJSON
49
- }
50
- ];
51
- const jsonError = {
52
- default: true,
53
- tag: '',
54
- test: /^/,
55
- resolve(str, onError) {
56
- onError(`Unresolved plain scalar ${JSON.stringify(str)}`);
57
- return str;
58
- }
59
- };
60
- const schema = [map, seq].concat(jsonScalars, jsonError);
61
-
62
- export { schema };
@@ -1,96 +0,0 @@
1
- import { map } from './common/map.js';
2
- import { nullTag } from './common/null.js';
3
- import { seq } from './common/seq.js';
4
- import { string } from './common/string.js';
5
- import { boolTag } from './core/bool.js';
6
- import { floatNaN, floatExp, float } from './core/float.js';
7
- import { intOct, intHex, int } from './core/int.js';
8
- import { schema } from './core/schema.js';
9
- import { schema as schema$1 } from './json/schema.js';
10
- import { binary } from './yaml-1.1/binary.js';
11
- import { merge } from './yaml-1.1/merge.js';
12
- import { omap } from './yaml-1.1/omap.js';
13
- import { pairs } from './yaml-1.1/pairs.js';
14
- import { schema as schema$2 } from './yaml-1.1/schema.js';
15
- import { set } from './yaml-1.1/set.js';
16
- import { timestamp, intTime, floatTime } from './yaml-1.1/timestamp.js';
17
-
18
- const schemas = new Map([
19
- ['core', schema],
20
- ['failsafe', [map, seq, string]],
21
- ['json', schema$1],
22
- ['yaml11', schema$2],
23
- ['yaml-1.1', schema$2]
24
- ]);
25
- const tagsByName = {
26
- binary,
27
- bool: boolTag,
28
- float,
29
- floatExp,
30
- floatNaN,
31
- floatTime,
32
- int,
33
- intHex,
34
- intOct,
35
- intTime,
36
- map,
37
- merge,
38
- null: nullTag,
39
- omap,
40
- pairs,
41
- seq,
42
- set,
43
- timestamp
44
- };
45
- const coreKnownTags = {
46
- 'tag:yaml.org,2002:binary': binary,
47
- 'tag:yaml.org,2002:merge': merge,
48
- 'tag:yaml.org,2002:omap': omap,
49
- 'tag:yaml.org,2002:pairs': pairs,
50
- 'tag:yaml.org,2002:set': set,
51
- 'tag:yaml.org,2002:timestamp': timestamp
52
- };
53
- function getTags(customTags, schemaName, addMergeTag) {
54
- const schemaTags = schemas.get(schemaName);
55
- if (schemaTags && !customTags) {
56
- return addMergeTag && !schemaTags.includes(merge)
57
- ? schemaTags.concat(merge)
58
- : schemaTags.slice();
59
- }
60
- let tags = schemaTags;
61
- if (!tags) {
62
- if (Array.isArray(customTags))
63
- tags = [];
64
- else {
65
- const keys = Array.from(schemas.keys())
66
- .filter(key => key !== 'yaml11')
67
- .map(key => JSON.stringify(key))
68
- .join(', ');
69
- throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`);
70
- }
71
- }
72
- if (Array.isArray(customTags)) {
73
- for (const tag of customTags)
74
- tags = tags.concat(tag);
75
- }
76
- else if (typeof customTags === 'function') {
77
- tags = customTags(tags.slice());
78
- }
79
- if (addMergeTag)
80
- tags = tags.concat(merge);
81
- return tags.reduce((tags, tag) => {
82
- const tagObj = typeof tag === 'string' ? tagsByName[tag] : tag;
83
- if (!tagObj) {
84
- const tagName = JSON.stringify(tag);
85
- const keys = Object.keys(tagsByName)
86
- .map(key => JSON.stringify(key))
87
- .join(', ');
88
- throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`);
89
- }
90
- if (!tags.includes(tagObj))
91
- tags.push(tagObj);
92
- return tags;
93
- }, []);
94
- }
95
-
96
- export { coreKnownTags, getTags };
@@ -1,58 +0,0 @@
1
- import { Scalar } from '../../nodes/Scalar.js';
2
- import { stringifyString } from '../../stringify/stringifyString.js';
3
-
4
- const binary = {
5
- identify: value => value instanceof Uint8Array, // Buffer inherits from Uint8Array
6
- default: false,
7
- tag: 'tag:yaml.org,2002:binary',
8
- /**
9
- * Returns a Buffer in node and an Uint8Array in browsers
10
- *
11
- * To use the resulting buffer as an image, you'll want to do something like:
12
- *
13
- * const blob = new Blob([buffer], { type: 'image/jpeg' })
14
- * document.querySelector('#photo').src = URL.createObjectURL(blob)
15
- */
16
- resolve(src, onError) {
17
- if (typeof atob === 'function') {
18
- // On IE 11, atob() can't handle newlines
19
- const str = atob(src.replace(/[\n\r]/g, ''));
20
- const buffer = new Uint8Array(str.length);
21
- for (let i = 0; i < str.length; ++i)
22
- buffer[i] = str.charCodeAt(i);
23
- return buffer;
24
- }
25
- else {
26
- onError('This environment does not support reading binary tags; either Buffer or atob is required');
27
- return src;
28
- }
29
- },
30
- stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
31
- if (!value)
32
- return '';
33
- const buf = value; // checked earlier by binary.identify()
34
- let str;
35
- if (typeof btoa === 'function') {
36
- let s = '';
37
- for (let i = 0; i < buf.length; ++i)
38
- s += String.fromCharCode(buf[i]);
39
- str = btoa(s);
40
- }
41
- else {
42
- throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
43
- }
44
- type ?? (type = Scalar.BLOCK_LITERAL);
45
- if (type !== Scalar.QUOTE_DOUBLE) {
46
- const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
47
- const n = Math.ceil(str.length / lineWidth);
48
- const lines = new Array(n);
49
- for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
50
- lines[i] = str.substr(o, lineWidth);
51
- }
52
- str = lines.join(type === Scalar.BLOCK_LITERAL ? '\n' : ' ');
53
- }
54
- return stringifyString({ comment, type, value: str }, ctx, onComment, onChompKeep);
55
- }
56
- };
57
-
58
- export { binary };
@@ -1,26 +0,0 @@
1
- import { Scalar } from '../../nodes/Scalar.js';
2
-
3
- function boolStringify({ value, source }, ctx) {
4
- const boolObj = value ? trueTag : falseTag;
5
- if (source && boolObj.test.test(source))
6
- return source;
7
- return value ? ctx.options.trueStr : ctx.options.falseStr;
8
- }
9
- const trueTag = {
10
- identify: value => value === true,
11
- default: true,
12
- tag: 'tag:yaml.org,2002:bool',
13
- test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
14
- resolve: () => new Scalar(true),
15
- stringify: boolStringify
16
- };
17
- const falseTag = {
18
- identify: value => value === false,
19
- default: true,
20
- tag: 'tag:yaml.org,2002:bool',
21
- test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
22
- resolve: () => new Scalar(false),
23
- stringify: boolStringify
24
- };
25
-
26
- export { falseTag, trueTag };
@@ -1,46 +0,0 @@
1
- import { Scalar } from '../../nodes/Scalar.js';
2
- import { stringifyNumber } from '../../stringify/stringifyNumber.js';
3
-
4
- const floatNaN = {
5
- identify: value => typeof value === 'number',
6
- default: true,
7
- tag: 'tag:yaml.org,2002:float',
8
- test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
9
- resolve: (str) => str.slice(-3).toLowerCase() === 'nan'
10
- ? NaN
11
- : str[0] === '-'
12
- ? Number.NEGATIVE_INFINITY
13
- : Number.POSITIVE_INFINITY,
14
- stringify: stringifyNumber
15
- };
16
- const floatExp = {
17
- identify: value => typeof value === 'number',
18
- default: true,
19
- tag: 'tag:yaml.org,2002:float',
20
- format: 'EXP',
21
- test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
22
- resolve: (str) => parseFloat(str.replace(/_/g, '')),
23
- stringify(node) {
24
- const num = Number(node.value);
25
- return isFinite(num) ? num.toExponential() : stringifyNumber(node);
26
- }
27
- };
28
- const float = {
29
- identify: value => typeof value === 'number',
30
- default: true,
31
- tag: 'tag:yaml.org,2002:float',
32
- test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
33
- resolve(str) {
34
- const node = new Scalar(parseFloat(str.replace(/_/g, '')));
35
- const dot = str.indexOf('.');
36
- if (dot !== -1) {
37
- const f = str.substring(dot + 1).replace(/_/g, '');
38
- if (f[f.length - 1] === '0')
39
- node.minFractionDigits = f.length;
40
- }
41
- return node;
42
- },
43
- stringify: stringifyNumber
44
- };
45
-
46
- export { float, floatExp, floatNaN };