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,131 +0,0 @@
1
- 'use strict';
2
-
3
- var anchors = require('../doc/anchors.js');
4
- var identity = require('../nodes/identity.js');
5
- var stringifyComment = require('./stringifyComment.js');
6
- var stringifyString = require('./stringifyString.js');
7
-
8
- function createStringifyContext(doc, options) {
9
- const opt = Object.assign({
10
- blockQuote: true,
11
- commentString: stringifyComment.stringifyComment,
12
- defaultKeyType: null,
13
- defaultStringType: 'PLAIN',
14
- directives: null,
15
- doubleQuotedAsJSON: false,
16
- doubleQuotedMinMultiLineLength: 40,
17
- falseStr: 'false',
18
- flowCollectionPadding: true,
19
- indentSeq: true,
20
- lineWidth: 80,
21
- minContentWidth: 20,
22
- nullStr: 'null',
23
- simpleKeys: false,
24
- singleQuote: null,
25
- trueStr: 'true',
26
- verifyAliasOrder: true
27
- }, doc.schema.toStringOptions, options);
28
- let inFlow;
29
- switch (opt.collectionStyle) {
30
- case 'block':
31
- inFlow = false;
32
- break;
33
- case 'flow':
34
- inFlow = true;
35
- break;
36
- default:
37
- inFlow = null;
38
- }
39
- return {
40
- anchors: new Set(),
41
- doc,
42
- flowCollectionPadding: opt.flowCollectionPadding ? ' ' : '',
43
- indent: '',
44
- indentStep: typeof opt.indent === 'number' ? ' '.repeat(opt.indent) : ' ',
45
- inFlow,
46
- options: opt
47
- };
48
- }
49
- function getTagObject(tags, item) {
50
- if (item.tag) {
51
- const match = tags.filter(t => t.tag === item.tag);
52
- if (match.length > 0)
53
- return match.find(t => t.format === item.format) ?? match[0];
54
- }
55
- let tagObj = undefined;
56
- let obj;
57
- if (identity.isScalar(item)) {
58
- obj = item.value;
59
- let match = tags.filter(t => t.identify?.(obj));
60
- if (match.length > 1) {
61
- const testMatch = match.filter(t => t.test);
62
- if (testMatch.length > 0)
63
- match = testMatch;
64
- }
65
- tagObj =
66
- match.find(t => t.format === item.format) ?? match.find(t => !t.format);
67
- }
68
- else {
69
- obj = item;
70
- tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass);
71
- }
72
- if (!tagObj) {
73
- const name = obj?.constructor?.name ?? (obj === null ? 'null' : typeof obj);
74
- throw new Error(`Tag not resolved for ${name} value`);
75
- }
76
- return tagObj;
77
- }
78
- // needs to be called before value stringifier to allow for circular anchor refs
79
- function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) {
80
- if (!doc.directives)
81
- return '';
82
- const props = [];
83
- const anchor = (identity.isScalar(node) || identity.isCollection(node)) && node.anchor;
84
- if (anchor && anchors.anchorIsValid(anchor)) {
85
- anchors$1.add(anchor);
86
- props.push(`&${anchor}`);
87
- }
88
- const tag = node.tag ?? (tagObj.default ? null : tagObj.tag);
89
- if (tag)
90
- props.push(doc.directives.tagString(tag));
91
- return props.join(' ');
92
- }
93
- function stringify(item, ctx, onComment, onChompKeep) {
94
- if (identity.isPair(item))
95
- return item.toString(ctx, onComment, onChompKeep);
96
- if (identity.isAlias(item)) {
97
- if (ctx.doc.directives)
98
- return item.toString(ctx);
99
- if (ctx.resolvedAliases?.has(item)) {
100
- throw new TypeError(`Cannot stringify circular structure without alias nodes`);
101
- }
102
- else {
103
- if (ctx.resolvedAliases)
104
- ctx.resolvedAliases.add(item);
105
- else
106
- ctx.resolvedAliases = new Set([item]);
107
- item = item.resolve(ctx.doc);
108
- }
109
- }
110
- let tagObj = undefined;
111
- const node = identity.isNode(item)
112
- ? item
113
- : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) });
114
- tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node));
115
- const props = stringifyProps(node, tagObj, ctx);
116
- if (props.length > 0)
117
- ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1;
118
- const str = typeof tagObj.stringify === 'function'
119
- ? tagObj.stringify(node, ctx, onComment, onChompKeep)
120
- : identity.isScalar(node)
121
- ? stringifyString.stringifyString(node, ctx, onComment, onChompKeep)
122
- : node.toString(ctx, onComment, onChompKeep);
123
- if (!props)
124
- return str;
125
- return identity.isScalar(node) || str[0] === '{' || str[0] === '['
126
- ? `${props} ${str}`
127
- : `${props}\n${ctx.indent}${str}`;
128
- }
129
-
130
- exports.createStringifyContext = createStringifyContext;
131
- exports.stringify = stringify;
@@ -1,17 +0,0 @@
1
- import type { Collection } from '../nodes/Collection';
2
- import type { StringifyContext } from './stringify';
3
- interface StringifyCollectionOptions {
4
- blockItemPrefix: string;
5
- flowChars: {
6
- start: '{';
7
- end: '}';
8
- } | {
9
- start: '[';
10
- end: ']';
11
- };
12
- itemIndent: string;
13
- onChompKeep?: () => void;
14
- onComment?: () => void;
15
- }
16
- export declare function stringifyCollection(collection: Readonly<Collection>, ctx: StringifyContext, options: StringifyCollectionOptions): string;
17
- export {};
@@ -1,145 +0,0 @@
1
- 'use strict';
2
-
3
- var identity = require('../nodes/identity.js');
4
- var stringify = require('./stringify.js');
5
- var stringifyComment = require('./stringifyComment.js');
6
-
7
- function stringifyCollection(collection, ctx, options) {
8
- const flow = ctx.inFlow ?? collection.flow;
9
- const stringify = flow ? stringifyFlowCollection : stringifyBlockCollection;
10
- return stringify(collection, ctx, options);
11
- }
12
- function stringifyBlockCollection({ comment, items }, ctx, { blockItemPrefix, flowChars, itemIndent, onChompKeep, onComment }) {
13
- const { indent, options: { commentString } } = ctx;
14
- const itemCtx = Object.assign({}, ctx, { indent: itemIndent, type: null });
15
- let chompKeep = false; // flag for the preceding node's status
16
- const lines = [];
17
- for (let i = 0; i < items.length; ++i) {
18
- const item = items[i];
19
- let comment = null;
20
- if (identity.isNode(item)) {
21
- if (!chompKeep && item.spaceBefore)
22
- lines.push('');
23
- addCommentBefore(ctx, lines, item.commentBefore, chompKeep);
24
- if (item.comment)
25
- comment = item.comment;
26
- }
27
- else if (identity.isPair(item)) {
28
- const ik = identity.isNode(item.key) ? item.key : null;
29
- if (ik) {
30
- if (!chompKeep && ik.spaceBefore)
31
- lines.push('');
32
- addCommentBefore(ctx, lines, ik.commentBefore, chompKeep);
33
- }
34
- }
35
- chompKeep = false;
36
- let str = stringify.stringify(item, itemCtx, () => (comment = null), () => (chompKeep = true));
37
- if (comment)
38
- str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
39
- if (chompKeep && comment)
40
- chompKeep = false;
41
- lines.push(blockItemPrefix + str);
42
- }
43
- let str;
44
- if (lines.length === 0) {
45
- str = flowChars.start + flowChars.end;
46
- }
47
- else {
48
- str = lines[0];
49
- for (let i = 1; i < lines.length; ++i) {
50
- const line = lines[i];
51
- str += line ? `\n${indent}${line}` : '\n';
52
- }
53
- }
54
- if (comment) {
55
- str += '\n' + stringifyComment.indentComment(commentString(comment), indent);
56
- if (onComment)
57
- onComment();
58
- }
59
- else if (chompKeep && onChompKeep)
60
- onChompKeep();
61
- return str;
62
- }
63
- function stringifyFlowCollection({ items }, ctx, { flowChars, itemIndent }) {
64
- const { indent, indentStep, flowCollectionPadding: fcPadding, options: { commentString } } = ctx;
65
- itemIndent += indentStep;
66
- const itemCtx = Object.assign({}, ctx, {
67
- indent: itemIndent,
68
- inFlow: true,
69
- type: null
70
- });
71
- let reqNewline = false;
72
- let linesAtValue = 0;
73
- const lines = [];
74
- for (let i = 0; i < items.length; ++i) {
75
- const item = items[i];
76
- let comment = null;
77
- if (identity.isNode(item)) {
78
- if (item.spaceBefore)
79
- lines.push('');
80
- addCommentBefore(ctx, lines, item.commentBefore, false);
81
- if (item.comment)
82
- comment = item.comment;
83
- }
84
- else if (identity.isPair(item)) {
85
- const ik = identity.isNode(item.key) ? item.key : null;
86
- if (ik) {
87
- if (ik.spaceBefore)
88
- lines.push('');
89
- addCommentBefore(ctx, lines, ik.commentBefore, false);
90
- if (ik.comment)
91
- reqNewline = true;
92
- }
93
- const iv = identity.isNode(item.value) ? item.value : null;
94
- if (iv) {
95
- if (iv.comment)
96
- comment = iv.comment;
97
- if (iv.commentBefore)
98
- reqNewline = true;
99
- }
100
- else if (item.value == null && ik?.comment) {
101
- comment = ik.comment;
102
- }
103
- }
104
- if (comment)
105
- reqNewline = true;
106
- let str = stringify.stringify(item, itemCtx, () => (comment = null));
107
- if (i < items.length - 1)
108
- str += ',';
109
- if (comment)
110
- str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
111
- if (!reqNewline && (lines.length > linesAtValue || str.includes('\n')))
112
- reqNewline = true;
113
- lines.push(str);
114
- linesAtValue = lines.length;
115
- }
116
- const { start, end } = flowChars;
117
- if (lines.length === 0) {
118
- return start + end;
119
- }
120
- else {
121
- if (!reqNewline) {
122
- const len = lines.reduce((sum, line) => sum + line.length + 2, 2);
123
- reqNewline = ctx.options.lineWidth > 0 && len > ctx.options.lineWidth;
124
- }
125
- if (reqNewline) {
126
- let str = start;
127
- for (const line of lines)
128
- str += line ? `\n${indentStep}${indent}${line}` : '\n';
129
- return `${str}\n${indent}${end}`;
130
- }
131
- else {
132
- return `${start}${fcPadding}${lines.join(' ')}${fcPadding}${end}`;
133
- }
134
- }
135
- }
136
- function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) {
137
- if (comment && chompKeep)
138
- comment = comment.replace(/^\n+/, '');
139
- if (comment) {
140
- const ic = stringifyComment.indentComment(commentString(comment), indent);
141
- lines.push(ic.trimStart()); // Avoid double indent on first line
142
- }
143
- }
144
-
145
- exports.stringifyCollection = stringifyCollection;
@@ -1,10 +0,0 @@
1
- /**
2
- * Stringifies a comment.
3
- *
4
- * Empty comment lines are left empty,
5
- * lines consisting of a single space are replaced by `#`,
6
- * and all other lines are prefixed with a `#`.
7
- */
8
- export declare const stringifyComment: (str: string) => string;
9
- export declare function indentComment(comment: string, indent: string): string;
10
- export declare const lineComment: (str: string, indent: string, comment: string) => string;
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * Stringifies a comment.
5
- *
6
- * Empty comment lines are left empty,
7
- * lines consisting of a single space are replaced by `#`,
8
- * and all other lines are prefixed with a `#`.
9
- */
10
- const stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, '#');
11
- function indentComment(comment, indent) {
12
- if (/^\n+$/.test(comment))
13
- return comment.substring(1);
14
- return indent ? comment.replace(/^(?! *$)/gm, indent) : comment;
15
- }
16
- const lineComment = (str, indent, comment) => str.endsWith('\n')
17
- ? indentComment(comment, indent)
18
- : comment.includes('\n')
19
- ? '\n' + indentComment(comment, indent)
20
- : (str.endsWith(' ') ? '' : ' ') + comment;
21
-
22
- exports.indentComment = indentComment;
23
- exports.lineComment = lineComment;
24
- exports.stringifyComment = stringifyComment;
@@ -1,4 +0,0 @@
1
- import type { Document } from '../doc/Document';
2
- import type { Node } from '../nodes/Node';
3
- import type { ToStringOptions } from '../options';
4
- export declare function stringifyDocument(doc: Readonly<Document<Node, boolean>>, options: ToStringOptions): string;
@@ -1,87 +0,0 @@
1
- 'use strict';
2
-
3
- var identity = require('../nodes/identity.js');
4
- var stringify = require('./stringify.js');
5
- var stringifyComment = require('./stringifyComment.js');
6
-
7
- function stringifyDocument(doc, options) {
8
- const lines = [];
9
- let hasDirectives = options.directives === true;
10
- if (options.directives !== false && doc.directives) {
11
- const dir = doc.directives.toString(doc);
12
- if (dir) {
13
- lines.push(dir);
14
- hasDirectives = true;
15
- }
16
- else if (doc.directives.docStart)
17
- hasDirectives = true;
18
- }
19
- if (hasDirectives)
20
- lines.push('---');
21
- const ctx = stringify.createStringifyContext(doc, options);
22
- const { commentString } = ctx.options;
23
- if (doc.commentBefore) {
24
- if (lines.length !== 1)
25
- lines.unshift('');
26
- const cs = commentString(doc.commentBefore);
27
- lines.unshift(stringifyComment.indentComment(cs, ''));
28
- }
29
- let chompKeep = false;
30
- let contentComment = null;
31
- if (doc.contents) {
32
- if (identity.isNode(doc.contents)) {
33
- if (doc.contents.spaceBefore && hasDirectives)
34
- lines.push('');
35
- if (doc.contents.commentBefore) {
36
- const cs = commentString(doc.contents.commentBefore);
37
- lines.push(stringifyComment.indentComment(cs, ''));
38
- }
39
- // top-level block scalars need to be indented if followed by a comment
40
- ctx.forceBlockIndent = !!doc.comment;
41
- contentComment = doc.contents.comment;
42
- }
43
- const onChompKeep = contentComment ? undefined : () => (chompKeep = true);
44
- let body = stringify.stringify(doc.contents, ctx, () => (contentComment = null), onChompKeep);
45
- if (contentComment)
46
- body += stringifyComment.lineComment(body, '', commentString(contentComment));
47
- if ((body[0] === '|' || body[0] === '>') &&
48
- lines[lines.length - 1] === '---') {
49
- // Top-level block scalars with a preceding doc marker ought to use the
50
- // same line for their header.
51
- lines[lines.length - 1] = `--- ${body}`;
52
- }
53
- else
54
- lines.push(body);
55
- }
56
- else {
57
- lines.push(stringify.stringify(doc.contents, ctx));
58
- }
59
- if (doc.directives?.docEnd) {
60
- if (doc.comment) {
61
- const cs = commentString(doc.comment);
62
- if (cs.includes('\n')) {
63
- lines.push('...');
64
- lines.push(stringifyComment.indentComment(cs, ''));
65
- }
66
- else {
67
- lines.push(`... ${cs}`);
68
- }
69
- }
70
- else {
71
- lines.push('...');
72
- }
73
- }
74
- else {
75
- let dc = doc.comment;
76
- if (dc && chompKeep)
77
- dc = dc.replace(/^\n+/, '');
78
- if (dc) {
79
- if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '')
80
- lines.push('');
81
- lines.push(stringifyComment.indentComment(commentString(dc), ''));
82
- }
83
- }
84
- return lines.join('\n') + '\n';
85
- }
86
-
87
- exports.stringifyDocument = stringifyDocument;
@@ -1,2 +0,0 @@
1
- import type { Scalar } from '../nodes/Scalar';
2
- export declare function stringifyNumber({ format, minFractionDigits, tag, value }: Scalar): string;
@@ -1,26 +0,0 @@
1
- 'use strict';
2
-
3
- function stringifyNumber({ format, minFractionDigits, tag, value }) {
4
- if (typeof value === 'bigint')
5
- return String(value);
6
- const num = typeof value === 'number' ? value : Number(value);
7
- if (!isFinite(num))
8
- return isNaN(num) ? '.nan' : num < 0 ? '-.inf' : '.inf';
9
- let n = Object.is(value, -0) ? '-0' : JSON.stringify(value);
10
- if (!format &&
11
- minFractionDigits &&
12
- (!tag || tag === 'tag:yaml.org,2002:float') &&
13
- /^\d/.test(n)) {
14
- let i = n.indexOf('.');
15
- if (i < 0) {
16
- i = n.length;
17
- n += '.';
18
- }
19
- let d = minFractionDigits - (n.length - i - 1);
20
- while (d-- > 0)
21
- n += '0';
22
- }
23
- return n;
24
- }
25
-
26
- exports.stringifyNumber = stringifyNumber;
@@ -1,3 +0,0 @@
1
- import type { Pair } from '../nodes/Pair';
2
- import type { StringifyContext } from './stringify';
3
- export declare function stringifyPair({ key, value }: Readonly<Pair>, ctx: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
@@ -1,152 +0,0 @@
1
- 'use strict';
2
-
3
- var identity = require('../nodes/identity.js');
4
- var Scalar = require('../nodes/Scalar.js');
5
- var stringify = require('./stringify.js');
6
- var stringifyComment = require('./stringifyComment.js');
7
-
8
- function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
9
- const { allNullValues, doc, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx;
10
- let keyComment = (identity.isNode(key) && key.comment) || null;
11
- if (simpleKeys) {
12
- if (keyComment) {
13
- throw new Error('With simple keys, key nodes cannot have comments');
14
- }
15
- if (identity.isCollection(key) || (!identity.isNode(key) && typeof key === 'object')) {
16
- const msg = 'With simple keys, collection cannot be used as a key value';
17
- throw new Error(msg);
18
- }
19
- }
20
- let explicitKey = !simpleKeys &&
21
- (!key ||
22
- (keyComment && value == null && !ctx.inFlow) ||
23
- identity.isCollection(key) ||
24
- (identity.isScalar(key)
25
- ? key.type === Scalar.Scalar.BLOCK_FOLDED || key.type === Scalar.Scalar.BLOCK_LITERAL
26
- : typeof key === 'object'));
27
- ctx = Object.assign({}, ctx, {
28
- allNullValues: false,
29
- implicitKey: !explicitKey && (simpleKeys || !allNullValues),
30
- indent: indent + indentStep
31
- });
32
- let keyCommentDone = false;
33
- let chompKeep = false;
34
- let str = stringify.stringify(key, ctx, () => (keyCommentDone = true), () => (chompKeep = true));
35
- if (!explicitKey && !ctx.inFlow && str.length > 1024) {
36
- if (simpleKeys)
37
- throw new Error('With simple keys, single line scalar must not span more than 1024 characters');
38
- explicitKey = true;
39
- }
40
- if (ctx.inFlow) {
41
- if (allNullValues || value == null) {
42
- if (keyCommentDone && onComment)
43
- onComment();
44
- return str === '' ? '?' : explicitKey ? `? ${str}` : str;
45
- }
46
- }
47
- else if ((allNullValues && !simpleKeys) || (value == null && explicitKey)) {
48
- str = `? ${str}`;
49
- if (keyComment && !keyCommentDone) {
50
- str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
51
- }
52
- else if (chompKeep && onChompKeep)
53
- onChompKeep();
54
- return str;
55
- }
56
- if (keyCommentDone)
57
- keyComment = null;
58
- if (explicitKey) {
59
- if (keyComment)
60
- str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
61
- str = `? ${str}\n${indent}:`;
62
- }
63
- else {
64
- str = `${str}:`;
65
- if (keyComment)
66
- str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
67
- }
68
- let vsb, vcb, valueComment;
69
- if (identity.isNode(value)) {
70
- vsb = !!value.spaceBefore;
71
- vcb = value.commentBefore;
72
- valueComment = value.comment;
73
- }
74
- else {
75
- vsb = false;
76
- vcb = null;
77
- valueComment = null;
78
- if (value && typeof value === 'object')
79
- value = doc.createNode(value);
80
- }
81
- ctx.implicitKey = false;
82
- if (!explicitKey && !keyComment && identity.isScalar(value))
83
- ctx.indentAtStart = str.length + 1;
84
- chompKeep = false;
85
- if (!indentSeq &&
86
- indentStep.length >= 2 &&
87
- !ctx.inFlow &&
88
- !explicitKey &&
89
- identity.isSeq(value) &&
90
- !value.flow &&
91
- !value.tag &&
92
- !value.anchor) {
93
- // If indentSeq === false, consider '- ' as part of indentation where possible
94
- ctx.indent = ctx.indent.substring(2);
95
- }
96
- let valueCommentDone = false;
97
- const valueStr = stringify.stringify(value, ctx, () => (valueCommentDone = true), () => (chompKeep = true));
98
- let ws = ' ';
99
- if (keyComment || vsb || vcb) {
100
- ws = vsb ? '\n' : '';
101
- if (vcb) {
102
- const cs = commentString(vcb);
103
- ws += `\n${stringifyComment.indentComment(cs, ctx.indent)}`;
104
- }
105
- if (valueStr === '' && !ctx.inFlow) {
106
- if (ws === '\n' && valueComment)
107
- ws = '\n\n';
108
- }
109
- else {
110
- ws += `\n${ctx.indent}`;
111
- }
112
- }
113
- else if (!explicitKey && identity.isCollection(value)) {
114
- const vs0 = valueStr[0];
115
- const nl0 = valueStr.indexOf('\n');
116
- const hasNewline = nl0 !== -1;
117
- const flow = ctx.inFlow ?? value.flow ?? value.items.length === 0;
118
- if (hasNewline || !flow) {
119
- let hasPropsLine = false;
120
- if (hasNewline && (vs0 === '&' || vs0 === '!')) {
121
- let sp0 = valueStr.indexOf(' ');
122
- if (vs0 === '&' &&
123
- sp0 !== -1 &&
124
- sp0 < nl0 &&
125
- valueStr[sp0 + 1] === '!') {
126
- sp0 = valueStr.indexOf(' ', sp0 + 1);
127
- }
128
- if (sp0 === -1 || nl0 < sp0)
129
- hasPropsLine = true;
130
- }
131
- if (!hasPropsLine)
132
- ws = `\n${ctx.indent}`;
133
- }
134
- }
135
- else if (valueStr === '' || valueStr[0] === '\n') {
136
- ws = '';
137
- }
138
- str += ws + valueStr;
139
- if (ctx.inFlow) {
140
- if (valueCommentDone && onComment)
141
- onComment();
142
- }
143
- else if (valueComment && !valueCommentDone) {
144
- str += stringifyComment.lineComment(str, ctx.indent, commentString(valueComment));
145
- }
146
- else if (chompKeep && onChompKeep) {
147
- onChompKeep();
148
- }
149
- return str;
150
- }
151
-
152
- exports.stringifyPair = stringifyPair;
@@ -1,9 +0,0 @@
1
- import { Scalar } from '../nodes/Scalar';
2
- import type { StringifyContext } from './stringify';
3
- interface StringifyScalar {
4
- value: string;
5
- comment?: string | null;
6
- type?: string;
7
- }
8
- export declare function stringifyString(item: Scalar | StringifyScalar, ctx: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
9
- export {};