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,222 +0,0 @@
1
- 'use strict';
2
-
3
- var node_process = require('process');
4
- var directives = require('../doc/directives.js');
5
- var Document = require('../doc/Document.js');
6
- var errors = require('../errors.js');
7
- var identity = require('../nodes/identity.js');
8
- var composeDoc = require('./compose-doc.js');
9
- var resolveEnd = require('./resolve-end.js');
10
-
11
- function getErrorPos(src) {
12
- if (typeof src === 'number')
13
- return [src, src + 1];
14
- if (Array.isArray(src))
15
- return src.length === 2 ? src : [src[0], src[1]];
16
- const { offset, source } = src;
17
- return [offset, offset + (typeof source === 'string' ? source.length : 1)];
18
- }
19
- function parsePrelude(prelude) {
20
- let comment = '';
21
- let atComment = false;
22
- let afterEmptyLine = false;
23
- for (let i = 0; i < prelude.length; ++i) {
24
- const source = prelude[i];
25
- switch (source[0]) {
26
- case '#':
27
- comment +=
28
- (comment === '' ? '' : afterEmptyLine ? '\n\n' : '\n') +
29
- (source.substring(1) || ' ');
30
- atComment = true;
31
- afterEmptyLine = false;
32
- break;
33
- case '%':
34
- if (prelude[i + 1]?.[0] !== '#')
35
- i += 1;
36
- atComment = false;
37
- break;
38
- default:
39
- // This may be wrong after doc-end, but in that case it doesn't matter
40
- if (!atComment)
41
- afterEmptyLine = true;
42
- atComment = false;
43
- }
44
- }
45
- return { comment, afterEmptyLine };
46
- }
47
- /**
48
- * Compose a stream of CST nodes into a stream of YAML Documents.
49
- *
50
- * ```ts
51
- * import { Composer, Parser } from 'yaml'
52
- *
53
- * const src: string = ...
54
- * const tokens = new Parser().parse(src)
55
- * const docs = new Composer().compose(tokens)
56
- * ```
57
- */
58
- class Composer {
59
- constructor(options = {}) {
60
- this.doc = null;
61
- this.atDirectives = false;
62
- this.prelude = [];
63
- this.errors = [];
64
- this.warnings = [];
65
- this.onError = (source, code, message, warning) => {
66
- const pos = getErrorPos(source);
67
- if (warning)
68
- this.warnings.push(new errors.YAMLWarning(pos, code, message));
69
- else
70
- this.errors.push(new errors.YAMLParseError(pos, code, message));
71
- };
72
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
73
- this.directives = new directives.Directives({ version: options.version || '1.2' });
74
- this.options = options;
75
- }
76
- decorate(doc, afterDoc) {
77
- const { comment, afterEmptyLine } = parsePrelude(this.prelude);
78
- //console.log({ dc: doc.comment, prelude, comment })
79
- if (comment) {
80
- const dc = doc.contents;
81
- if (afterDoc) {
82
- doc.comment = doc.comment ? `${doc.comment}\n${comment}` : comment;
83
- }
84
- else if (afterEmptyLine || doc.directives.docStart || !dc) {
85
- doc.commentBefore = comment;
86
- }
87
- else if (identity.isCollection(dc) && !dc.flow && dc.items.length > 0) {
88
- let it = dc.items[0];
89
- if (identity.isPair(it))
90
- it = it.key;
91
- const cb = it.commentBefore;
92
- it.commentBefore = cb ? `${comment}\n${cb}` : comment;
93
- }
94
- else {
95
- const cb = dc.commentBefore;
96
- dc.commentBefore = cb ? `${comment}\n${cb}` : comment;
97
- }
98
- }
99
- if (afterDoc) {
100
- Array.prototype.push.apply(doc.errors, this.errors);
101
- Array.prototype.push.apply(doc.warnings, this.warnings);
102
- }
103
- else {
104
- doc.errors = this.errors;
105
- doc.warnings = this.warnings;
106
- }
107
- this.prelude = [];
108
- this.errors = [];
109
- this.warnings = [];
110
- }
111
- /**
112
- * Current stream status information.
113
- *
114
- * Mostly useful at the end of input for an empty stream.
115
- */
116
- streamInfo() {
117
- return {
118
- comment: parsePrelude(this.prelude).comment,
119
- directives: this.directives,
120
- errors: this.errors,
121
- warnings: this.warnings
122
- };
123
- }
124
- /**
125
- * Compose tokens into documents.
126
- *
127
- * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
128
- * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
129
- */
130
- *compose(tokens, forceDoc = false, endOffset = -1) {
131
- for (const token of tokens)
132
- yield* this.next(token);
133
- yield* this.end(forceDoc, endOffset);
134
- }
135
- /** Advance the composer by one CST token. */
136
- *next(token) {
137
- if (node_process.env.LOG_STREAM)
138
- console.dir(token, { depth: null });
139
- switch (token.type) {
140
- case 'directive':
141
- this.directives.add(token.source, (offset, message, warning) => {
142
- const pos = getErrorPos(token);
143
- pos[0] += offset;
144
- this.onError(pos, 'BAD_DIRECTIVE', message, warning);
145
- });
146
- this.prelude.push(token.source);
147
- this.atDirectives = true;
148
- break;
149
- case 'document': {
150
- const doc = composeDoc.composeDoc(this.options, this.directives, token, this.onError);
151
- if (this.atDirectives && !doc.directives.docStart)
152
- this.onError(token, 'MISSING_CHAR', 'Missing directives-end/doc-start indicator line');
153
- this.decorate(doc, false);
154
- if (this.doc)
155
- yield this.doc;
156
- this.doc = doc;
157
- this.atDirectives = false;
158
- break;
159
- }
160
- case 'byte-order-mark':
161
- case 'space':
162
- break;
163
- case 'comment':
164
- case 'newline':
165
- this.prelude.push(token.source);
166
- break;
167
- case 'error': {
168
- const msg = token.source
169
- ? `${token.message}: ${JSON.stringify(token.source)}`
170
- : token.message;
171
- const error = new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg);
172
- if (this.atDirectives || !this.doc)
173
- this.errors.push(error);
174
- else
175
- this.doc.errors.push(error);
176
- break;
177
- }
178
- case 'doc-end': {
179
- if (!this.doc) {
180
- const msg = 'Unexpected doc-end without preceding document';
181
- this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg));
182
- break;
183
- }
184
- this.doc.directives.docEnd = true;
185
- const end = resolveEnd.resolveEnd(token.end, token.offset + token.source.length, this.doc.options.strict, this.onError);
186
- this.decorate(this.doc, true);
187
- if (end.comment) {
188
- const dc = this.doc.comment;
189
- this.doc.comment = dc ? `${dc}\n${end.comment}` : end.comment;
190
- }
191
- this.doc.range[2] = end.offset;
192
- break;
193
- }
194
- default:
195
- this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', `Unsupported token ${token.type}`));
196
- }
197
- }
198
- /**
199
- * Call at end of input to yield any remaining document.
200
- *
201
- * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
202
- * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
203
- */
204
- *end(forceDoc = false, endOffset = -1) {
205
- if (this.doc) {
206
- this.decorate(this.doc, true);
207
- yield this.doc;
208
- this.doc = null;
209
- }
210
- else if (forceDoc) {
211
- const opts = Object.assign({ _directives: this.directives }, this.options);
212
- const doc = new Document.Document(undefined, opts);
213
- if (this.atDirectives)
214
- this.onError(endOffset, 'MISSING_CHAR', 'Missing directives-end indicator line');
215
- doc.range = [0, endOffset, endOffset];
216
- this.decorate(doc, false);
217
- yield doc;
218
- }
219
- }
220
- }
221
-
222
- exports.Composer = Composer;
@@ -1,6 +0,0 @@
1
- import { YAMLMap } from '../nodes/YAMLMap';
2
- import type { BlockMap } from '../parse/cst';
3
- import type { CollectionTag } from '../schema/types';
4
- import type { ComposeContext, ComposeNode } from './compose-node';
5
- import type { ComposeErrorHandler } from './composer';
6
- export declare function resolveBlockMap({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, bm: BlockMap, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLMap.Parsed;
@@ -1,117 +0,0 @@
1
- 'use strict';
2
-
3
- var Pair = require('../nodes/Pair.js');
4
- var YAMLMap = require('../nodes/YAMLMap.js');
5
- var resolveProps = require('./resolve-props.js');
6
- var utilContainsNewline = require('./util-contains-newline.js');
7
- var utilFlowIndentCheck = require('./util-flow-indent-check.js');
8
- var utilMapIncludes = require('./util-map-includes.js');
9
-
10
- const startColMsg = 'All mapping items must start at the same column';
11
- function resolveBlockMap({ composeNode, composeEmptyNode }, ctx, bm, onError, tag) {
12
- const NodeClass = tag?.nodeClass ?? YAMLMap.YAMLMap;
13
- const map = new NodeClass(ctx.schema);
14
- if (ctx.atRoot)
15
- ctx.atRoot = false;
16
- let offset = bm.offset;
17
- let commentEnd = null;
18
- for (const collItem of bm.items) {
19
- const { start, key, sep, value } = collItem;
20
- // key properties
21
- const keyProps = resolveProps.resolveProps(start, {
22
- indicator: 'explicit-key-ind',
23
- next: key ?? sep?.[0],
24
- offset,
25
- onError,
26
- parentIndent: bm.indent,
27
- startOnNewline: true
28
- });
29
- const implicitKey = !keyProps.found;
30
- if (implicitKey) {
31
- if (key) {
32
- if (key.type === 'block-seq')
33
- onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'A block sequence may not be used as an implicit map key');
34
- else if ('indent' in key && key.indent !== bm.indent)
35
- onError(offset, 'BAD_INDENT', startColMsg);
36
- }
37
- if (!keyProps.anchor && !keyProps.tag && !sep) {
38
- commentEnd = keyProps.end;
39
- if (keyProps.comment) {
40
- if (map.comment)
41
- map.comment += '\n' + keyProps.comment;
42
- else
43
- map.comment = keyProps.comment;
44
- }
45
- continue;
46
- }
47
- if (keyProps.newlineAfterProp || utilContainsNewline.containsNewline(key)) {
48
- onError(key ?? start[start.length - 1], 'MULTILINE_IMPLICIT_KEY', 'Implicit keys need to be on a single line');
49
- }
50
- }
51
- else if (keyProps.found?.indent !== bm.indent) {
52
- onError(offset, 'BAD_INDENT', startColMsg);
53
- }
54
- // key value
55
- ctx.atKey = true;
56
- const keyStart = keyProps.end;
57
- const keyNode = key
58
- ? composeNode(ctx, key, keyProps, onError)
59
- : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError);
60
- if (ctx.schema.compat)
61
- utilFlowIndentCheck.flowIndentCheck(bm.indent, key, onError);
62
- ctx.atKey = false;
63
- if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode))
64
- onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
65
- // value properties
66
- const valueProps = resolveProps.resolveProps(sep ?? [], {
67
- indicator: 'map-value-ind',
68
- next: value,
69
- offset: keyNode.range[2],
70
- onError,
71
- parentIndent: bm.indent,
72
- startOnNewline: !key || key.type === 'block-scalar'
73
- });
74
- offset = valueProps.end;
75
- if (valueProps.found) {
76
- if (implicitKey) {
77
- if (value?.type === 'block-map' && !valueProps.hasNewline)
78
- onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'Nested mappings are not allowed in compact mappings');
79
- if (ctx.options.strict &&
80
- keyProps.start < valueProps.found.offset - 1024)
81
- onError(keyNode.range, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit block mapping key');
82
- }
83
- // value value
84
- const valueNode = value
85
- ? composeNode(ctx, value, valueProps, onError)
86
- : composeEmptyNode(ctx, offset, sep, null, valueProps, onError);
87
- if (ctx.schema.compat)
88
- utilFlowIndentCheck.flowIndentCheck(bm.indent, value, onError);
89
- offset = valueNode.range[2];
90
- const pair = new Pair.Pair(keyNode, valueNode);
91
- if (ctx.options.keepSourceTokens)
92
- pair.srcToken = collItem;
93
- map.items.push(pair);
94
- }
95
- else {
96
- // key with no value
97
- if (implicitKey)
98
- onError(keyNode.range, 'MISSING_CHAR', 'Implicit map keys need to be followed by map values');
99
- if (valueProps.comment) {
100
- if (keyNode.comment)
101
- keyNode.comment += '\n' + valueProps.comment;
102
- else
103
- keyNode.comment = valueProps.comment;
104
- }
105
- const pair = new Pair.Pair(keyNode);
106
- if (ctx.options.keepSourceTokens)
107
- pair.srcToken = collItem;
108
- map.items.push(pair);
109
- }
110
- }
111
- if (commentEnd && commentEnd < offset)
112
- onError(commentEnd, 'IMPOSSIBLE', 'Map comment with trailing content');
113
- map.range = [bm.offset, offset, commentEnd ?? offset];
114
- return map;
115
- }
116
-
117
- exports.resolveBlockMap = resolveBlockMap;
@@ -1,11 +0,0 @@
1
- import type { Range } from '../nodes/Node';
2
- import { Scalar } from '../nodes/Scalar';
3
- import type { BlockScalar } from '../parse/cst';
4
- import type { ComposeContext } from './compose-node';
5
- import type { ComposeErrorHandler } from './composer';
6
- export declare function resolveBlockScalar(ctx: ComposeContext, scalar: BlockScalar, onError: ComposeErrorHandler): {
7
- value: string;
8
- type: Scalar.BLOCK_FOLDED | Scalar.BLOCK_LITERAL | null;
9
- comment: string;
10
- range: Range;
11
- };
@@ -1,200 +0,0 @@
1
- 'use strict';
2
-
3
- var Scalar = require('../nodes/Scalar.js');
4
-
5
- function resolveBlockScalar(ctx, scalar, onError) {
6
- const start = scalar.offset;
7
- const header = parseBlockScalarHeader(scalar, ctx.options.strict, onError);
8
- if (!header)
9
- return { value: '', type: null, comment: '', range: [start, start, start] };
10
- const type = header.mode === '>' ? Scalar.Scalar.BLOCK_FOLDED : Scalar.Scalar.BLOCK_LITERAL;
11
- const lines = scalar.source ? splitLines(scalar.source) : [];
12
- // determine the end of content & start of chomping
13
- let chompStart = lines.length;
14
- for (let i = lines.length - 1; i >= 0; --i) {
15
- const content = lines[i][1];
16
- if (content === '' || content === '\r')
17
- chompStart = i;
18
- else
19
- break;
20
- }
21
- // shortcut for empty contents
22
- if (chompStart === 0) {
23
- const value = header.chomp === '+' && lines.length > 0
24
- ? '\n'.repeat(Math.max(1, lines.length - 1))
25
- : '';
26
- let end = start + header.length;
27
- if (scalar.source)
28
- end += scalar.source.length;
29
- return { value, type, comment: header.comment, range: [start, end, end] };
30
- }
31
- // find the indentation level to trim from start
32
- let trimIndent = scalar.indent + header.indent;
33
- let offset = scalar.offset + header.length;
34
- let contentStart = 0;
35
- for (let i = 0; i < chompStart; ++i) {
36
- const [indent, content] = lines[i];
37
- if (content === '' || content === '\r') {
38
- if (header.indent === 0 && indent.length > trimIndent)
39
- trimIndent = indent.length;
40
- }
41
- else {
42
- if (indent.length < trimIndent) {
43
- const message = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';
44
- onError(offset + indent.length, 'MISSING_CHAR', message);
45
- }
46
- if (header.indent === 0)
47
- trimIndent = indent.length;
48
- contentStart = i;
49
- if (trimIndent === 0 && !ctx.atRoot) {
50
- const message = 'Block scalar values in collections must be indented';
51
- onError(offset, 'BAD_INDENT', message);
52
- }
53
- break;
54
- }
55
- offset += indent.length + content.length + 1;
56
- }
57
- // include trailing more-indented empty lines in content
58
- for (let i = lines.length - 1; i >= chompStart; --i) {
59
- if (lines[i][0].length > trimIndent)
60
- chompStart = i + 1;
61
- }
62
- let value = '';
63
- let sep = '';
64
- let prevMoreIndented = false;
65
- // leading whitespace is kept intact
66
- for (let i = 0; i < contentStart; ++i)
67
- value += lines[i][0].slice(trimIndent) + '\n';
68
- for (let i = contentStart; i < chompStart; ++i) {
69
- let [indent, content] = lines[i];
70
- offset += indent.length + content.length + 1;
71
- const crlf = content[content.length - 1] === '\r';
72
- if (crlf)
73
- content = content.slice(0, -1);
74
- /* istanbul ignore if already caught in lexer */
75
- if (content && indent.length < trimIndent) {
76
- const src = header.indent
77
- ? 'explicit indentation indicator'
78
- : 'first line';
79
- const message = `Block scalar lines must not be less indented than their ${src}`;
80
- onError(offset - content.length - (crlf ? 2 : 1), 'BAD_INDENT', message);
81
- indent = '';
82
- }
83
- if (type === Scalar.Scalar.BLOCK_LITERAL) {
84
- value += sep + indent.slice(trimIndent) + content;
85
- sep = '\n';
86
- }
87
- else if (indent.length > trimIndent || content[0] === '\t') {
88
- // more-indented content within a folded block
89
- if (sep === ' ')
90
- sep = '\n';
91
- else if (!prevMoreIndented && sep === '\n')
92
- sep = '\n\n';
93
- value += sep + indent.slice(trimIndent) + content;
94
- sep = '\n';
95
- prevMoreIndented = true;
96
- }
97
- else if (content === '') {
98
- // empty line
99
- if (sep === '\n')
100
- value += '\n';
101
- else
102
- sep = '\n';
103
- }
104
- else {
105
- value += sep + content;
106
- sep = ' ';
107
- prevMoreIndented = false;
108
- }
109
- }
110
- switch (header.chomp) {
111
- case '-':
112
- break;
113
- case '+':
114
- for (let i = chompStart; i < lines.length; ++i)
115
- value += '\n' + lines[i][0].slice(trimIndent);
116
- if (value[value.length - 1] !== '\n')
117
- value += '\n';
118
- break;
119
- default:
120
- value += '\n';
121
- }
122
- const end = start + header.length + scalar.source.length;
123
- return { value, type, comment: header.comment, range: [start, end, end] };
124
- }
125
- function parseBlockScalarHeader({ offset, props }, strict, onError) {
126
- /* istanbul ignore if should not happen */
127
- if (props[0].type !== 'block-scalar-header') {
128
- onError(props[0], 'IMPOSSIBLE', 'Block scalar header not found');
129
- return null;
130
- }
131
- const { source } = props[0];
132
- const mode = source[0];
133
- let indent = 0;
134
- let chomp = '';
135
- let error = -1;
136
- for (let i = 1; i < source.length; ++i) {
137
- const ch = source[i];
138
- if (!chomp && (ch === '-' || ch === '+'))
139
- chomp = ch;
140
- else {
141
- const n = Number(ch);
142
- if (!indent && n)
143
- indent = n;
144
- else if (error === -1)
145
- error = offset + i;
146
- }
147
- }
148
- if (error !== -1)
149
- onError(error, 'UNEXPECTED_TOKEN', `Block scalar header includes extra characters: ${source}`);
150
- let hasSpace = false;
151
- let comment = '';
152
- let length = source.length;
153
- for (let i = 1; i < props.length; ++i) {
154
- const token = props[i];
155
- switch (token.type) {
156
- case 'space':
157
- hasSpace = true;
158
- // fallthrough
159
- case 'newline':
160
- length += token.source.length;
161
- break;
162
- case 'comment':
163
- if (strict && !hasSpace) {
164
- const message = 'Comments must be separated from other tokens by white space characters';
165
- onError(token, 'MISSING_CHAR', message);
166
- }
167
- length += token.source.length;
168
- comment = token.source.substring(1);
169
- break;
170
- case 'error':
171
- onError(token, 'UNEXPECTED_TOKEN', token.message);
172
- length += token.source.length;
173
- break;
174
- /* istanbul ignore next should not happen */
175
- default: {
176
- const message = `Unexpected token in block scalar header: ${token.type}`;
177
- onError(token, 'UNEXPECTED_TOKEN', message);
178
- const ts = token.source;
179
- if (ts && typeof ts === 'string')
180
- length += ts.length;
181
- }
182
- }
183
- }
184
- return { mode, indent, chomp, comment, length };
185
- }
186
- /** @returns Array of lines split up as `[indent, content]` */
187
- function splitLines(source) {
188
- const split = source.split(/\n( *)/);
189
- const first = split[0];
190
- const m = first.match(/^( *)/);
191
- const line0 = m?.[1]
192
- ? [m[1], first.slice(m[1].length)]
193
- : ['', first];
194
- const lines = [line0];
195
- for (let i = 1; i < split.length; i += 2)
196
- lines.push([split[i], split[i + 1]]);
197
- return lines;
198
- }
199
-
200
- exports.resolveBlockScalar = resolveBlockScalar;
@@ -1,6 +0,0 @@
1
- import { YAMLSeq } from '../nodes/YAMLSeq';
2
- import type { BlockSequence } from '../parse/cst';
3
- import type { CollectionTag } from '../schema/types';
4
- import type { ComposeContext, ComposeNode } from './compose-node';
5
- import type { ComposeErrorHandler } from './composer';
6
- export declare function resolveBlockSeq({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, bs: BlockSequence, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLSeq.Parsed;
@@ -1,51 +0,0 @@
1
- 'use strict';
2
-
3
- var YAMLSeq = require('../nodes/YAMLSeq.js');
4
- var resolveProps = require('./resolve-props.js');
5
- var utilFlowIndentCheck = require('./util-flow-indent-check.js');
6
-
7
- function resolveBlockSeq({ composeNode, composeEmptyNode }, ctx, bs, onError, tag) {
8
- const NodeClass = tag?.nodeClass ?? YAMLSeq.YAMLSeq;
9
- const seq = new NodeClass(ctx.schema);
10
- if (ctx.atRoot)
11
- ctx.atRoot = false;
12
- if (ctx.atKey)
13
- ctx.atKey = false;
14
- let offset = bs.offset;
15
- let commentEnd = null;
16
- for (const { start, value } of bs.items) {
17
- const props = resolveProps.resolveProps(start, {
18
- indicator: 'seq-item-ind',
19
- next: value,
20
- offset,
21
- onError,
22
- parentIndent: bs.indent,
23
- startOnNewline: true
24
- });
25
- if (!props.found) {
26
- if (props.anchor || props.tag || value) {
27
- if (value?.type === 'block-seq')
28
- onError(props.end, 'BAD_INDENT', 'All sequence items must start at the same column');
29
- else
30
- onError(offset, 'MISSING_CHAR', 'Sequence item without - indicator');
31
- }
32
- else {
33
- commentEnd = props.end;
34
- if (props.comment)
35
- seq.comment = props.comment;
36
- continue;
37
- }
38
- }
39
- const node = value
40
- ? composeNode(ctx, value, props, onError)
41
- : composeEmptyNode(ctx, props.end, start, null, props, onError);
42
- if (ctx.schema.compat)
43
- utilFlowIndentCheck.flowIndentCheck(bs.indent, value, onError);
44
- offset = node.range[2];
45
- seq.items.push(node);
46
- }
47
- seq.range = [bs.offset, offset, commentEnd ?? offset];
48
- return seq;
49
- }
50
-
51
- exports.resolveBlockSeq = resolveBlockSeq;
@@ -1,6 +0,0 @@
1
- import type { SourceToken } from '../parse/cst';
2
- import type { ComposeErrorHandler } from './composer';
3
- export declare function resolveEnd(end: SourceToken[] | undefined, offset: number, reqSpace: boolean, onError: ComposeErrorHandler): {
4
- comment: string;
5
- offset: number;
6
- };
@@ -1,39 +0,0 @@
1
- 'use strict';
2
-
3
- function resolveEnd(end, offset, reqSpace, onError) {
4
- let comment = '';
5
- if (end) {
6
- let hasSpace = false;
7
- let sep = '';
8
- for (const token of end) {
9
- const { source, type } = token;
10
- switch (type) {
11
- case 'space':
12
- hasSpace = true;
13
- break;
14
- case 'comment': {
15
- if (reqSpace && !hasSpace)
16
- onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters');
17
- const cb = source.substring(1) || ' ';
18
- if (!comment)
19
- comment = cb;
20
- else
21
- comment += sep + cb;
22
- sep = '';
23
- break;
24
- }
25
- case 'newline':
26
- if (comment)
27
- sep += source;
28
- hasSpace = true;
29
- break;
30
- default:
31
- onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${type} at node end`);
32
- }
33
- offset += source.length;
34
- }
35
- }
36
- return { comment, offset };
37
- }
38
-
39
- exports.resolveEnd = resolveEnd;
@@ -1,7 +0,0 @@
1
- import { YAMLMap } from '../nodes/YAMLMap';
2
- import { YAMLSeq } from '../nodes/YAMLSeq';
3
- import type { FlowCollection } from '../parse/cst';
4
- import type { CollectionTag } from '../schema/types';
5
- import type { ComposeContext, ComposeNode } from './compose-node';
6
- import type { ComposeErrorHandler } from './composer';
7
- export declare function resolveFlowCollection({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, fc: FlowCollection, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLMap.Parsed<import('../index').ParsedNode, import('../index').ParsedNode | null> | YAMLSeq.Parsed<import('../index').ParsedNode>;