dimcode-darwin-x64 0.0.79-beta.0 → 0.1.0-alpha.11

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 (254) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +2 -0
  3. package/bin/dimcode +2 -2
  4. package/licenses/grok-build/LICENSE +204 -0
  5. package/licenses/grok-build/NOTICE +14 -0
  6. package/licenses/grok-build/xai-ratatui-inline/NOTICE +15 -0
  7. package/licenses/grok-build/xai-ratatui-textarea/NOTICE +8 -0
  8. package/package.json +12 -3
  9. package/release-manifest.json +19 -0
  10. package/bin/node_modules/skills/bin/cli.mjs +0 -14
  11. package/bin/node_modules/skills/dist/_chunks/libs/@clack/core.mjs +0 -767
  12. package/bin/node_modules/skills/dist/_chunks/libs/@clack/prompts.mjs +0 -334
  13. package/bin/node_modules/skills/dist/_chunks/libs/@kwsites/file-exists.mjs +0 -562
  14. package/bin/node_modules/skills/dist/_chunks/libs/@kwsites/promise-deferred.mjs +0 -37
  15. package/bin/node_modules/skills/dist/_chunks/libs/@vercel/detect-agent.mjs +0 -138
  16. package/bin/node_modules/skills/dist/_chunks/libs/simple-git.mjs +0 -3584
  17. package/bin/node_modules/skills/dist/_chunks/libs/xdg-basedir.mjs +0 -14
  18. package/bin/node_modules/skills/dist/_chunks/rolldown-runtime.mjs +0 -24
  19. package/bin/node_modules/skills/dist/cli.d.mts +0 -1
  20. package/bin/node_modules/skills/dist/cli.mjs +0 -6199
  21. package/bin/node_modules/skills/package.json +0 -143
  22. package/bin/node_modules/yaml/LICENSE +0 -13
  23. package/bin/node_modules/yaml/README.md +0 -172
  24. package/bin/node_modules/yaml/bin.mjs +0 -11
  25. package/bin/node_modules/yaml/browser/dist/compose/compose-collection.js +0 -88
  26. package/bin/node_modules/yaml/browser/dist/compose/compose-doc.js +0 -43
  27. package/bin/node_modules/yaml/browser/dist/compose/compose-node.js +0 -109
  28. package/bin/node_modules/yaml/browser/dist/compose/compose-scalar.js +0 -86
  29. package/bin/node_modules/yaml/browser/dist/compose/composer.js +0 -219
  30. package/bin/node_modules/yaml/browser/dist/compose/resolve-block-map.js +0 -115
  31. package/bin/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +0 -198
  32. package/bin/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +0 -49
  33. package/bin/node_modules/yaml/browser/dist/compose/resolve-end.js +0 -37
  34. package/bin/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +0 -207
  35. package/bin/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +0 -225
  36. package/bin/node_modules/yaml/browser/dist/compose/resolve-props.js +0 -146
  37. package/bin/node_modules/yaml/browser/dist/compose/util-contains-newline.js +0 -34
  38. package/bin/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +0 -26
  39. package/bin/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +0 -15
  40. package/bin/node_modules/yaml/browser/dist/compose/util-map-includes.js +0 -13
  41. package/bin/node_modules/yaml/browser/dist/doc/Document.js +0 -335
  42. package/bin/node_modules/yaml/browser/dist/doc/anchors.js +0 -71
  43. package/bin/node_modules/yaml/browser/dist/doc/applyReviver.js +0 -55
  44. package/bin/node_modules/yaml/browser/dist/doc/createNode.js +0 -88
  45. package/bin/node_modules/yaml/browser/dist/doc/directives.js +0 -176
  46. package/bin/node_modules/yaml/browser/dist/errors.js +0 -57
  47. package/bin/node_modules/yaml/browser/dist/index.js +0 -17
  48. package/bin/node_modules/yaml/browser/dist/log.js +0 -11
  49. package/bin/node_modules/yaml/browser/dist/nodes/Alias.js +0 -116
  50. package/bin/node_modules/yaml/browser/dist/nodes/Collection.js +0 -147
  51. package/bin/node_modules/yaml/browser/dist/nodes/Node.js +0 -38
  52. package/bin/node_modules/yaml/browser/dist/nodes/Pair.js +0 -36
  53. package/bin/node_modules/yaml/browser/dist/nodes/Scalar.js +0 -24
  54. package/bin/node_modules/yaml/browser/dist/nodes/YAMLMap.js +0 -144
  55. package/bin/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +0 -113
  56. package/bin/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +0 -63
  57. package/bin/node_modules/yaml/browser/dist/nodes/identity.js +0 -36
  58. package/bin/node_modules/yaml/browser/dist/nodes/toJS.js +0 -37
  59. package/bin/node_modules/yaml/browser/dist/parse/cst-scalar.js +0 -214
  60. package/bin/node_modules/yaml/browser/dist/parse/cst-stringify.js +0 -61
  61. package/bin/node_modules/yaml/browser/dist/parse/cst-visit.js +0 -97
  62. package/bin/node_modules/yaml/browser/dist/parse/cst.js +0 -98
  63. package/bin/node_modules/yaml/browser/dist/parse/lexer.js +0 -721
  64. package/bin/node_modules/yaml/browser/dist/parse/line-counter.js +0 -39
  65. package/bin/node_modules/yaml/browser/dist/parse/parser.js +0 -975
  66. package/bin/node_modules/yaml/browser/dist/public-api.js +0 -102
  67. package/bin/node_modules/yaml/browser/dist/schema/Schema.js +0 -37
  68. package/bin/node_modules/yaml/browser/dist/schema/common/map.js +0 -17
  69. package/bin/node_modules/yaml/browser/dist/schema/common/null.js +0 -15
  70. package/bin/node_modules/yaml/browser/dist/schema/common/seq.js +0 -17
  71. package/bin/node_modules/yaml/browser/dist/schema/common/string.js +0 -14
  72. package/bin/node_modules/yaml/browser/dist/schema/core/bool.js +0 -19
  73. package/bin/node_modules/yaml/browser/dist/schema/core/float.js +0 -43
  74. package/bin/node_modules/yaml/browser/dist/schema/core/int.js +0 -38
  75. package/bin/node_modules/yaml/browser/dist/schema/core/schema.js +0 -23
  76. package/bin/node_modules/yaml/browser/dist/schema/json/schema.js +0 -62
  77. package/bin/node_modules/yaml/browser/dist/schema/tags.js +0 -96
  78. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +0 -58
  79. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +0 -26
  80. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +0 -46
  81. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +0 -71
  82. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +0 -67
  83. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +0 -74
  84. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +0 -78
  85. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +0 -39
  86. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +0 -93
  87. package/bin/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +0 -101
  88. package/bin/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +0 -146
  89. package/bin/node_modules/yaml/browser/dist/stringify/stringify.js +0 -129
  90. package/bin/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +0 -153
  91. package/bin/node_modules/yaml/browser/dist/stringify/stringifyComment.js +0 -20
  92. package/bin/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +0 -85
  93. package/bin/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +0 -25
  94. package/bin/node_modules/yaml/browser/dist/stringify/stringifyPair.js +0 -150
  95. package/bin/node_modules/yaml/browser/dist/stringify/stringifyString.js +0 -336
  96. package/bin/node_modules/yaml/browser/dist/util.js +0 -11
  97. package/bin/node_modules/yaml/browser/dist/visit.js +0 -233
  98. package/bin/node_modules/yaml/browser/index.js +0 -5
  99. package/bin/node_modules/yaml/browser/package.json +0 -3
  100. package/bin/node_modules/yaml/dist/cli.d.ts +0 -8
  101. package/bin/node_modules/yaml/dist/cli.mjs +0 -201
  102. package/bin/node_modules/yaml/dist/compose/compose-collection.d.ts +0 -11
  103. package/bin/node_modules/yaml/dist/compose/compose-collection.js +0 -90
  104. package/bin/node_modules/yaml/dist/compose/compose-doc.d.ts +0 -7
  105. package/bin/node_modules/yaml/dist/compose/compose-doc.js +0 -45
  106. package/bin/node_modules/yaml/dist/compose/compose-node.d.ts +0 -29
  107. package/bin/node_modules/yaml/dist/compose/compose-node.js +0 -112
  108. package/bin/node_modules/yaml/dist/compose/compose-scalar.d.ts +0 -5
  109. package/bin/node_modules/yaml/dist/compose/compose-scalar.js +0 -88
  110. package/bin/node_modules/yaml/dist/compose/composer.d.ts +0 -63
  111. package/bin/node_modules/yaml/dist/compose/composer.js +0 -224
  112. package/bin/node_modules/yaml/dist/compose/resolve-block-map.d.ts +0 -6
  113. package/bin/node_modules/yaml/dist/compose/resolve-block-map.js +0 -117
  114. package/bin/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +0 -11
  115. package/bin/node_modules/yaml/dist/compose/resolve-block-scalar.js +0 -200
  116. package/bin/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +0 -6
  117. package/bin/node_modules/yaml/dist/compose/resolve-block-seq.js +0 -51
  118. package/bin/node_modules/yaml/dist/compose/resolve-end.d.ts +0 -6
  119. package/bin/node_modules/yaml/dist/compose/resolve-end.js +0 -39
  120. package/bin/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +0 -7
  121. package/bin/node_modules/yaml/dist/compose/resolve-flow-collection.js +0 -209
  122. package/bin/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +0 -10
  123. package/bin/node_modules/yaml/dist/compose/resolve-flow-scalar.js +0 -227
  124. package/bin/node_modules/yaml/dist/compose/resolve-props.d.ts +0 -23
  125. package/bin/node_modules/yaml/dist/compose/resolve-props.js +0 -148
  126. package/bin/node_modules/yaml/dist/compose/util-contains-newline.d.ts +0 -2
  127. package/bin/node_modules/yaml/dist/compose/util-contains-newline.js +0 -36
  128. package/bin/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +0 -2
  129. package/bin/node_modules/yaml/dist/compose/util-empty-scalar-position.js +0 -28
  130. package/bin/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +0 -3
  131. package/bin/node_modules/yaml/dist/compose/util-flow-indent-check.js +0 -17
  132. package/bin/node_modules/yaml/dist/compose/util-map-includes.d.ts +0 -4
  133. package/bin/node_modules/yaml/dist/compose/util-map-includes.js +0 -15
  134. package/bin/node_modules/yaml/dist/doc/Document.d.ts +0 -141
  135. package/bin/node_modules/yaml/dist/doc/Document.js +0 -337
  136. package/bin/node_modules/yaml/dist/doc/anchors.d.ts +0 -24
  137. package/bin/node_modules/yaml/dist/doc/anchors.js +0 -76
  138. package/bin/node_modules/yaml/dist/doc/applyReviver.d.ts +0 -9
  139. package/bin/node_modules/yaml/dist/doc/applyReviver.js +0 -57
  140. package/bin/node_modules/yaml/dist/doc/createNode.d.ts +0 -17
  141. package/bin/node_modules/yaml/dist/doc/createNode.js +0 -90
  142. package/bin/node_modules/yaml/dist/doc/directives.d.ts +0 -49
  143. package/bin/node_modules/yaml/dist/doc/directives.js +0 -178
  144. package/bin/node_modules/yaml/dist/errors.d.ts +0 -21
  145. package/bin/node_modules/yaml/dist/errors.js +0 -62
  146. package/bin/node_modules/yaml/dist/index.d.ts +0 -25
  147. package/bin/node_modules/yaml/dist/index.js +0 -50
  148. package/bin/node_modules/yaml/dist/log.d.ts +0 -3
  149. package/bin/node_modules/yaml/dist/log.js +0 -19
  150. package/bin/node_modules/yaml/dist/nodes/Alias.d.ts +0 -29
  151. package/bin/node_modules/yaml/dist/nodes/Alias.js +0 -118
  152. package/bin/node_modules/yaml/dist/nodes/Collection.d.ts +0 -73
  153. package/bin/node_modules/yaml/dist/nodes/Collection.js +0 -151
  154. package/bin/node_modules/yaml/dist/nodes/Node.d.ts +0 -53
  155. package/bin/node_modules/yaml/dist/nodes/Node.js +0 -40
  156. package/bin/node_modules/yaml/dist/nodes/Pair.d.ts +0 -22
  157. package/bin/node_modules/yaml/dist/nodes/Pair.js +0 -39
  158. package/bin/node_modules/yaml/dist/nodes/Scalar.d.ts +0 -47
  159. package/bin/node_modules/yaml/dist/nodes/Scalar.js +0 -27
  160. package/bin/node_modules/yaml/dist/nodes/YAMLMap.d.ts +0 -53
  161. package/bin/node_modules/yaml/dist/nodes/YAMLMap.js +0 -147
  162. package/bin/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +0 -60
  163. package/bin/node_modules/yaml/dist/nodes/YAMLSeq.js +0 -115
  164. package/bin/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +0 -4
  165. package/bin/node_modules/yaml/dist/nodes/addPairToJSMap.js +0 -65
  166. package/bin/node_modules/yaml/dist/nodes/identity.d.ts +0 -23
  167. package/bin/node_modules/yaml/dist/nodes/identity.js +0 -53
  168. package/bin/node_modules/yaml/dist/nodes/toJS.d.ts +0 -29
  169. package/bin/node_modules/yaml/dist/nodes/toJS.js +0 -39
  170. package/bin/node_modules/yaml/dist/options.d.ts +0 -350
  171. package/bin/node_modules/yaml/dist/parse/cst-scalar.d.ts +0 -64
  172. package/bin/node_modules/yaml/dist/parse/cst-scalar.js +0 -218
  173. package/bin/node_modules/yaml/dist/parse/cst-stringify.d.ts +0 -8
  174. package/bin/node_modules/yaml/dist/parse/cst-stringify.js +0 -63
  175. package/bin/node_modules/yaml/dist/parse/cst-visit.d.ts +0 -39
  176. package/bin/node_modules/yaml/dist/parse/cst-visit.js +0 -99
  177. package/bin/node_modules/yaml/dist/parse/cst.d.ts +0 -109
  178. package/bin/node_modules/yaml/dist/parse/cst.js +0 -112
  179. package/bin/node_modules/yaml/dist/parse/lexer.d.ts +0 -87
  180. package/bin/node_modules/yaml/dist/parse/lexer.js +0 -723
  181. package/bin/node_modules/yaml/dist/parse/line-counter.d.ts +0 -22
  182. package/bin/node_modules/yaml/dist/parse/line-counter.js +0 -41
  183. package/bin/node_modules/yaml/dist/parse/parser.d.ts +0 -84
  184. package/bin/node_modules/yaml/dist/parse/parser.js +0 -980
  185. package/bin/node_modules/yaml/dist/public-api.d.ts +0 -44
  186. package/bin/node_modules/yaml/dist/public-api.js +0 -107
  187. package/bin/node_modules/yaml/dist/schema/Schema.d.ts +0 -17
  188. package/bin/node_modules/yaml/dist/schema/Schema.js +0 -39
  189. package/bin/node_modules/yaml/dist/schema/common/map.d.ts +0 -2
  190. package/bin/node_modules/yaml/dist/schema/common/map.js +0 -19
  191. package/bin/node_modules/yaml/dist/schema/common/null.d.ts +0 -4
  192. package/bin/node_modules/yaml/dist/schema/common/null.js +0 -17
  193. package/bin/node_modules/yaml/dist/schema/common/seq.d.ts +0 -2
  194. package/bin/node_modules/yaml/dist/schema/common/seq.js +0 -19
  195. package/bin/node_modules/yaml/dist/schema/common/string.d.ts +0 -2
  196. package/bin/node_modules/yaml/dist/schema/common/string.js +0 -16
  197. package/bin/node_modules/yaml/dist/schema/core/bool.d.ts +0 -4
  198. package/bin/node_modules/yaml/dist/schema/core/bool.js +0 -21
  199. package/bin/node_modules/yaml/dist/schema/core/float.d.ts +0 -4
  200. package/bin/node_modules/yaml/dist/schema/core/float.js +0 -47
  201. package/bin/node_modules/yaml/dist/schema/core/int.d.ts +0 -4
  202. package/bin/node_modules/yaml/dist/schema/core/int.js +0 -42
  203. package/bin/node_modules/yaml/dist/schema/core/schema.d.ts +0 -1
  204. package/bin/node_modules/yaml/dist/schema/core/schema.js +0 -25
  205. package/bin/node_modules/yaml/dist/schema/json/schema.d.ts +0 -2
  206. package/bin/node_modules/yaml/dist/schema/json/schema.js +0 -64
  207. package/bin/node_modules/yaml/dist/schema/json-schema.d.ts +0 -69
  208. package/bin/node_modules/yaml/dist/schema/tags.d.ts +0 -48
  209. package/bin/node_modules/yaml/dist/schema/tags.js +0 -99
  210. package/bin/node_modules/yaml/dist/schema/types.d.ts +0 -92
  211. package/bin/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +0 -2
  212. package/bin/node_modules/yaml/dist/schema/yaml-1.1/binary.js +0 -70
  213. package/bin/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +0 -7
  214. package/bin/node_modules/yaml/dist/schema/yaml-1.1/bool.js +0 -29
  215. package/bin/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +0 -4
  216. package/bin/node_modules/yaml/dist/schema/yaml-1.1/float.js +0 -50
  217. package/bin/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +0 -5
  218. package/bin/node_modules/yaml/dist/schema/yaml-1.1/int.js +0 -76
  219. package/bin/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +0 -9
  220. package/bin/node_modules/yaml/dist/schema/yaml-1.1/merge.js +0 -71
  221. package/bin/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +0 -22
  222. package/bin/node_modules/yaml/dist/schema/yaml-1.1/omap.js +0 -77
  223. package/bin/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +0 -10
  224. package/bin/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +0 -82
  225. package/bin/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +0 -1
  226. package/bin/node_modules/yaml/dist/schema/yaml-1.1/schema.js +0 -41
  227. package/bin/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +0 -28
  228. package/bin/node_modules/yaml/dist/schema/yaml-1.1/set.js +0 -96
  229. package/bin/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +0 -6
  230. package/bin/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +0 -105
  231. package/bin/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +0 -34
  232. package/bin/node_modules/yaml/dist/stringify/foldFlowLines.js +0 -151
  233. package/bin/node_modules/yaml/dist/stringify/stringify.d.ts +0 -21
  234. package/bin/node_modules/yaml/dist/stringify/stringify.js +0 -132
  235. package/bin/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +0 -17
  236. package/bin/node_modules/yaml/dist/stringify/stringifyCollection.js +0 -155
  237. package/bin/node_modules/yaml/dist/stringify/stringifyComment.d.ts +0 -10
  238. package/bin/node_modules/yaml/dist/stringify/stringifyComment.js +0 -24
  239. package/bin/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +0 -4
  240. package/bin/node_modules/yaml/dist/stringify/stringifyDocument.js +0 -87
  241. package/bin/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +0 -2
  242. package/bin/node_modules/yaml/dist/stringify/stringifyNumber.js +0 -27
  243. package/bin/node_modules/yaml/dist/stringify/stringifyPair.d.ts +0 -3
  244. package/bin/node_modules/yaml/dist/stringify/stringifyPair.js +0 -152
  245. package/bin/node_modules/yaml/dist/stringify/stringifyString.d.ts +0 -9
  246. package/bin/node_modules/yaml/dist/stringify/stringifyString.js +0 -338
  247. package/bin/node_modules/yaml/dist/test-events.d.ts +0 -4
  248. package/bin/node_modules/yaml/dist/test-events.js +0 -134
  249. package/bin/node_modules/yaml/dist/util.d.ts +0 -16
  250. package/bin/node_modules/yaml/dist/util.js +0 -28
  251. package/bin/node_modules/yaml/dist/visit.d.ts +0 -102
  252. package/bin/node_modules/yaml/dist/visit.js +0 -236
  253. package/bin/node_modules/yaml/package.json +0 -97
  254. package/bin/node_modules/yaml/util.js +0 -2
@@ -1,71 +0,0 @@
1
- import { stringifyNumber } from '../../stringify/stringifyNumber.js';
2
-
3
- const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
4
- function intResolve(str, offset, radix, { intAsBigInt }) {
5
- const sign = str[0];
6
- if (sign === '-' || sign === '+')
7
- offset += 1;
8
- str = str.substring(offset).replace(/_/g, '');
9
- if (intAsBigInt) {
10
- switch (radix) {
11
- case 2:
12
- str = `0b${str}`;
13
- break;
14
- case 8:
15
- str = `0o${str}`;
16
- break;
17
- case 16:
18
- str = `0x${str}`;
19
- break;
20
- }
21
- const n = BigInt(str);
22
- return sign === '-' ? BigInt(-1) * n : n;
23
- }
24
- const n = parseInt(str, radix);
25
- return sign === '-' ? -1 * n : n;
26
- }
27
- function intStringify(node, radix, prefix) {
28
- const { value } = node;
29
- if (intIdentify(value)) {
30
- const str = value.toString(radix);
31
- return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;
32
- }
33
- return stringifyNumber(node);
34
- }
35
- const intBin = {
36
- identify: intIdentify,
37
- default: true,
38
- tag: 'tag:yaml.org,2002:int',
39
- format: 'BIN',
40
- test: /^[-+]?0b[0-1_]+$/,
41
- resolve: (str, _onError, opt) => intResolve(str, 2, 2, opt),
42
- stringify: node => intStringify(node, 2, '0b')
43
- };
44
- const intOct = {
45
- identify: intIdentify,
46
- default: true,
47
- tag: 'tag:yaml.org,2002:int',
48
- format: 'OCT',
49
- test: /^[-+]?0[0-7_]+$/,
50
- resolve: (str, _onError, opt) => intResolve(str, 1, 8, opt),
51
- stringify: node => intStringify(node, 8, '0')
52
- };
53
- const int = {
54
- identify: intIdentify,
55
- default: true,
56
- tag: 'tag:yaml.org,2002:int',
57
- test: /^[-+]?[0-9][0-9_]*$/,
58
- resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
59
- stringify: stringifyNumber
60
- };
61
- const intHex = {
62
- identify: intIdentify,
63
- default: true,
64
- tag: 'tag:yaml.org,2002:int',
65
- format: 'HEX',
66
- test: /^[-+]?0x[0-9a-fA-F_]+$/,
67
- resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
68
- stringify: node => intStringify(node, 16, '0x')
69
- };
70
-
71
- export { int, intBin, intHex, intOct };
@@ -1,67 +0,0 @@
1
- import { isScalar, isSeq, isAlias, isMap } from '../../nodes/identity.js';
2
- import { Scalar } from '../../nodes/Scalar.js';
3
-
4
- // If the value associated with a merge key is a single mapping node, each of
5
- // its key/value pairs is inserted into the current mapping, unless the key
6
- // already exists in it. If the value associated with the merge key is a
7
- // sequence, then this sequence is expected to contain mapping nodes and each
8
- // of these nodes is merged in turn according to its order in the sequence.
9
- // Keys in mapping nodes earlier in the sequence override keys specified in
10
- // later mapping nodes. -- http://yaml.org/type/merge.html
11
- const MERGE_KEY = '<<';
12
- const merge = {
13
- identify: value => value === MERGE_KEY ||
14
- (typeof value === 'symbol' && value.description === MERGE_KEY),
15
- default: 'key',
16
- tag: 'tag:yaml.org,2002:merge',
17
- test: /^<<$/,
18
- resolve: () => Object.assign(new Scalar(Symbol(MERGE_KEY)), {
19
- addToJSMap: addMergeToJSMap
20
- }),
21
- stringify: () => MERGE_KEY
22
- };
23
- const isMergeKey = (ctx, key) => (merge.identify(key) ||
24
- (isScalar(key) &&
25
- (!key.type || key.type === Scalar.PLAIN) &&
26
- merge.identify(key.value))) &&
27
- ctx?.doc.schema.tags.some(tag => tag.tag === merge.tag && tag.default);
28
- function addMergeToJSMap(ctx, map, value) {
29
- const source = resolveAliasValue(ctx, value);
30
- if (isSeq(source))
31
- for (const it of source.items)
32
- mergeValue(ctx, map, it);
33
- else if (Array.isArray(source))
34
- for (const it of source)
35
- mergeValue(ctx, map, it);
36
- else
37
- mergeValue(ctx, map, source);
38
- }
39
- function mergeValue(ctx, map, value) {
40
- const source = resolveAliasValue(ctx, value);
41
- if (!isMap(source))
42
- throw new Error('Merge sources must be maps or map aliases');
43
- const srcMap = source.toJSON(null, ctx, Map);
44
- for (const [key, value] of srcMap) {
45
- if (map instanceof Map) {
46
- if (!map.has(key))
47
- map.set(key, value);
48
- }
49
- else if (map instanceof Set) {
50
- map.add(key);
51
- }
52
- else if (!Object.prototype.hasOwnProperty.call(map, key)) {
53
- Object.defineProperty(map, key, {
54
- value,
55
- writable: true,
56
- enumerable: true,
57
- configurable: true
58
- });
59
- }
60
- }
61
- return map;
62
- }
63
- function resolveAliasValue(ctx, value) {
64
- return ctx && isAlias(value) ? value.resolve(ctx.doc, ctx) : value;
65
- }
66
-
67
- export { addMergeToJSMap, isMergeKey, merge };
@@ -1,74 +0,0 @@
1
- import { isScalar, isPair } from '../../nodes/identity.js';
2
- import { toJS } from '../../nodes/toJS.js';
3
- import { YAMLMap } from '../../nodes/YAMLMap.js';
4
- import { YAMLSeq } from '../../nodes/YAMLSeq.js';
5
- import { resolvePairs, createPairs } from './pairs.js';
6
-
7
- class YAMLOMap extends YAMLSeq {
8
- constructor() {
9
- super();
10
- this.add = YAMLMap.prototype.add.bind(this);
11
- this.delete = YAMLMap.prototype.delete.bind(this);
12
- this.get = YAMLMap.prototype.get.bind(this);
13
- this.has = YAMLMap.prototype.has.bind(this);
14
- this.set = YAMLMap.prototype.set.bind(this);
15
- this.tag = YAMLOMap.tag;
16
- }
17
- /**
18
- * If `ctx` is given, the return type is actually `Map<unknown, unknown>`,
19
- * but TypeScript won't allow widening the signature of a child method.
20
- */
21
- toJSON(_, ctx) {
22
- if (!ctx)
23
- return super.toJSON(_);
24
- const map = new Map();
25
- if (ctx?.onCreate)
26
- ctx.onCreate(map);
27
- for (const pair of this.items) {
28
- let key, value;
29
- if (isPair(pair)) {
30
- key = toJS(pair.key, '', ctx);
31
- value = toJS(pair.value, key, ctx);
32
- }
33
- else {
34
- key = toJS(pair, '', ctx);
35
- }
36
- if (map.has(key))
37
- throw new Error('Ordered maps must not include duplicate keys');
38
- map.set(key, value);
39
- }
40
- return map;
41
- }
42
- static from(schema, iterable, ctx) {
43
- const pairs = createPairs(schema, iterable, ctx);
44
- const omap = new this();
45
- omap.items = pairs.items;
46
- return omap;
47
- }
48
- }
49
- YAMLOMap.tag = 'tag:yaml.org,2002:omap';
50
- const omap = {
51
- collection: 'seq',
52
- identify: value => value instanceof Map,
53
- nodeClass: YAMLOMap,
54
- default: false,
55
- tag: 'tag:yaml.org,2002:omap',
56
- resolve(seq, onError) {
57
- const pairs = resolvePairs(seq, onError);
58
- const seenKeys = [];
59
- for (const { key } of pairs.items) {
60
- if (isScalar(key)) {
61
- if (seenKeys.includes(key.value)) {
62
- onError(`Ordered maps must not include duplicate keys: ${key.value}`);
63
- }
64
- else {
65
- seenKeys.push(key.value);
66
- }
67
- }
68
- }
69
- return Object.assign(new YAMLOMap(), pairs);
70
- },
71
- createNode: (schema, iterable, ctx) => YAMLOMap.from(schema, iterable, ctx)
72
- };
73
-
74
- export { YAMLOMap, omap };
@@ -1,78 +0,0 @@
1
- import { isSeq, isPair, isMap } from '../../nodes/identity.js';
2
- import { createPair, Pair } from '../../nodes/Pair.js';
3
- import { Scalar } from '../../nodes/Scalar.js';
4
- import { YAMLSeq } from '../../nodes/YAMLSeq.js';
5
-
6
- function resolvePairs(seq, onError) {
7
- if (isSeq(seq)) {
8
- for (let i = 0; i < seq.items.length; ++i) {
9
- let item = seq.items[i];
10
- if (isPair(item))
11
- continue;
12
- else if (isMap(item)) {
13
- if (item.items.length > 1)
14
- onError('Each pair must have its own sequence indicator');
15
- const pair = item.items[0] || new Pair(new Scalar(null));
16
- if (item.commentBefore)
17
- pair.key.commentBefore = pair.key.commentBefore
18
- ? `${item.commentBefore}\n${pair.key.commentBefore}`
19
- : item.commentBefore;
20
- if (item.comment) {
21
- const cn = pair.value ?? pair.key;
22
- cn.comment = cn.comment
23
- ? `${item.comment}\n${cn.comment}`
24
- : item.comment;
25
- }
26
- item = pair;
27
- }
28
- seq.items[i] = isPair(item) ? item : new Pair(item);
29
- }
30
- }
31
- else
32
- onError('Expected a sequence for this tag');
33
- return seq;
34
- }
35
- function createPairs(schema, iterable, ctx) {
36
- const { replacer } = ctx;
37
- const pairs = new YAMLSeq(schema);
38
- pairs.tag = 'tag:yaml.org,2002:pairs';
39
- let i = 0;
40
- if (iterable && Symbol.iterator in Object(iterable))
41
- for (let it of iterable) {
42
- if (typeof replacer === 'function')
43
- it = replacer.call(iterable, String(i++), it);
44
- let key, value;
45
- if (Array.isArray(it)) {
46
- if (it.length === 2) {
47
- key = it[0];
48
- value = it[1];
49
- }
50
- else
51
- throw new TypeError(`Expected [key, value] tuple: ${it}`);
52
- }
53
- else if (it && it instanceof Object) {
54
- const keys = Object.keys(it);
55
- if (keys.length === 1) {
56
- key = keys[0];
57
- value = it[key];
58
- }
59
- else {
60
- throw new TypeError(`Expected tuple with one key, not ${keys.length} keys`);
61
- }
62
- }
63
- else {
64
- key = it;
65
- }
66
- pairs.items.push(createPair(key, value, ctx));
67
- }
68
- return pairs;
69
- }
70
- const pairs = {
71
- collection: 'seq',
72
- default: false,
73
- tag: 'tag:yaml.org,2002:pairs',
74
- resolve: resolvePairs,
75
- createNode: createPairs
76
- };
77
-
78
- export { createPairs, pairs, resolvePairs };
@@ -1,39 +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 { binary } from './binary.js';
6
- import { trueTag, falseTag } from './bool.js';
7
- import { floatNaN, floatExp, float } from './float.js';
8
- import { intBin, intOct, int, intHex } from './int.js';
9
- import { merge } from './merge.js';
10
- import { omap } from './omap.js';
11
- import { pairs } from './pairs.js';
12
- import { set } from './set.js';
13
- import { intTime, floatTime, timestamp } from './timestamp.js';
14
-
15
- const schema = [
16
- map,
17
- seq,
18
- string,
19
- nullTag,
20
- trueTag,
21
- falseTag,
22
- intBin,
23
- intOct,
24
- int,
25
- intHex,
26
- floatNaN,
27
- floatExp,
28
- float,
29
- binary,
30
- merge,
31
- omap,
32
- pairs,
33
- set,
34
- intTime,
35
- floatTime,
36
- timestamp
37
- ];
38
-
39
- export { schema };
@@ -1,93 +0,0 @@
1
- import { isMap, isPair, isScalar } from '../../nodes/identity.js';
2
- import { Pair, createPair } from '../../nodes/Pair.js';
3
- import { YAMLMap, findPair } from '../../nodes/YAMLMap.js';
4
-
5
- class YAMLSet extends YAMLMap {
6
- constructor(schema) {
7
- super(schema);
8
- this.tag = YAMLSet.tag;
9
- }
10
- add(key) {
11
- let pair;
12
- if (isPair(key))
13
- pair = key;
14
- else if (key &&
15
- typeof key === 'object' &&
16
- 'key' in key &&
17
- 'value' in key &&
18
- key.value === null)
19
- pair = new Pair(key.key, null);
20
- else
21
- pair = new Pair(key, null);
22
- const prev = findPair(this.items, pair.key);
23
- if (!prev)
24
- this.items.push(pair);
25
- }
26
- /**
27
- * If `keepPair` is `true`, returns the Pair matching `key`.
28
- * Otherwise, returns the value of that Pair's key.
29
- */
30
- get(key, keepPair) {
31
- const pair = findPair(this.items, key);
32
- return !keepPair && isPair(pair)
33
- ? isScalar(pair.key)
34
- ? pair.key.value
35
- : pair.key
36
- : pair;
37
- }
38
- set(key, value) {
39
- if (typeof value !== 'boolean')
40
- throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
41
- const prev = findPair(this.items, key);
42
- if (prev && !value) {
43
- this.items.splice(this.items.indexOf(prev), 1);
44
- }
45
- else if (!prev && value) {
46
- this.items.push(new Pair(key));
47
- }
48
- }
49
- toJSON(_, ctx) {
50
- return super.toJSON(_, ctx, Set);
51
- }
52
- toString(ctx, onComment, onChompKeep) {
53
- if (!ctx)
54
- return JSON.stringify(this);
55
- if (this.hasAllNullValues(true))
56
- return super.toString(Object.assign({}, ctx, { allNullValues: true }), onComment, onChompKeep);
57
- else
58
- throw new Error('Set items must all have null values');
59
- }
60
- static from(schema, iterable, ctx) {
61
- const { replacer } = ctx;
62
- const set = new this(schema);
63
- if (iterable && Symbol.iterator in Object(iterable))
64
- for (let value of iterable) {
65
- if (typeof replacer === 'function')
66
- value = replacer.call(iterable, value, value);
67
- set.items.push(createPair(value, null, ctx));
68
- }
69
- return set;
70
- }
71
- }
72
- YAMLSet.tag = 'tag:yaml.org,2002:set';
73
- const set = {
74
- collection: 'map',
75
- identify: value => value instanceof Set,
76
- nodeClass: YAMLSet,
77
- default: false,
78
- tag: 'tag:yaml.org,2002:set',
79
- createNode: (schema, iterable, ctx) => YAMLSet.from(schema, iterable, ctx),
80
- resolve(map, onError) {
81
- if (isMap(map)) {
82
- if (map.hasAllNullValues(true))
83
- return Object.assign(new YAMLSet(), map);
84
- else
85
- onError('Set items must all have null values');
86
- }
87
- else
88
- onError('Expected a mapping for this tag');
89
- return map;
90
- }
91
- };
92
-
93
- export { YAMLSet, set };
@@ -1,101 +0,0 @@
1
- import { stringifyNumber } from '../../stringify/stringifyNumber.js';
2
-
3
- /** Internal types handle bigint as number, because TS can't figure it out. */
4
- function parseSexagesimal(str, asBigInt) {
5
- const sign = str[0];
6
- const parts = sign === '-' || sign === '+' ? str.substring(1) : str;
7
- const num = (n) => asBigInt ? BigInt(n) : Number(n);
8
- const res = parts
9
- .replace(/_/g, '')
10
- .split(':')
11
- .reduce((res, p) => res * num(60) + num(p), num(0));
12
- return (sign === '-' ? num(-1) * res : res);
13
- }
14
- /**
15
- * hhhh:mm:ss.sss
16
- *
17
- * Internal types handle bigint as number, because TS can't figure it out.
18
- */
19
- function stringifySexagesimal(node) {
20
- let { value } = node;
21
- let num = (n) => n;
22
- if (typeof value === 'bigint')
23
- num = n => BigInt(n);
24
- else if (isNaN(value) || !isFinite(value))
25
- return stringifyNumber(node);
26
- let sign = '';
27
- if (value < 0) {
28
- sign = '-';
29
- value *= num(-1);
30
- }
31
- const _60 = num(60);
32
- const parts = [value % _60]; // seconds, including ms
33
- if (value < 60) {
34
- parts.unshift(0); // at least one : is required
35
- }
36
- else {
37
- value = (value - parts[0]) / _60;
38
- parts.unshift(value % _60); // minutes
39
- if (value >= 60) {
40
- value = (value - parts[0]) / _60;
41
- parts.unshift(value); // hours
42
- }
43
- }
44
- return (sign +
45
- parts
46
- .map(n => String(n).padStart(2, '0'))
47
- .join(':')
48
- .replace(/000000\d*$/, '') // % 60 may introduce error
49
- );
50
- }
51
- const intTime = {
52
- identify: value => typeof value === 'bigint' || Number.isInteger(value),
53
- default: true,
54
- tag: 'tag:yaml.org,2002:int',
55
- format: 'TIME',
56
- test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,
57
- resolve: (str, _onError, { intAsBigInt }) => parseSexagesimal(str, intAsBigInt),
58
- stringify: stringifySexagesimal
59
- };
60
- const floatTime = {
61
- identify: value => typeof value === 'number',
62
- default: true,
63
- tag: 'tag:yaml.org,2002:float',
64
- format: 'TIME',
65
- test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,
66
- resolve: str => parseSexagesimal(str, false),
67
- stringify: stringifySexagesimal
68
- };
69
- const timestamp = {
70
- identify: value => value instanceof Date,
71
- default: true,
72
- tag: 'tag:yaml.org,2002:timestamp',
73
- // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part
74
- // may be omitted altogether, resulting in a date format. In such a case, the time part is
75
- // assumed to be 00:00:00Z (start of day, UTC).
76
- test: RegExp('^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd
77
- '(?:' + // time is optional
78
- '(?:t|T|[ \\t]+)' + // t | T | whitespace
79
- '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?
80
- '(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30
81
- ')?$'),
82
- resolve(str) {
83
- const match = str.match(timestamp.test);
84
- if (!match)
85
- throw new Error('!!timestamp expects a date, starting with yyyy-mm-dd');
86
- const [, year, month, day, hour, minute, second] = match.map(Number);
87
- const millisec = match[7] ? Number((match[7] + '00').substr(1, 3)) : 0;
88
- let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec);
89
- const tz = match[8];
90
- if (tz && tz !== 'Z') {
91
- let d = parseSexagesimal(tz, false);
92
- if (Math.abs(d) < 30)
93
- d *= 60;
94
- date -= 60000 * d;
95
- }
96
- return new Date(date);
97
- },
98
- stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, '') ?? ''
99
- };
100
-
101
- export { floatTime, intTime, timestamp };
@@ -1,146 +0,0 @@
1
- const FOLD_FLOW = 'flow';
2
- const FOLD_BLOCK = 'block';
3
- const FOLD_QUOTED = 'quoted';
4
- /**
5
- * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
6
- * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
7
- * terminated with `\n` and started with `indent`.
8
- */
9
- function foldFlowLines(text, indent, mode = 'flow', { indentAtStart, lineWidth = 80, minContentWidth = 20, onFold, onOverflow } = {}) {
10
- if (!lineWidth || lineWidth < 0)
11
- return text;
12
- if (lineWidth < minContentWidth)
13
- minContentWidth = 0;
14
- const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
15
- if (text.length <= endStep)
16
- return text;
17
- const folds = [];
18
- const escapedFolds = {};
19
- let end = lineWidth - indent.length;
20
- if (typeof indentAtStart === 'number') {
21
- if (indentAtStart > lineWidth - Math.max(2, minContentWidth))
22
- folds.push(0);
23
- else
24
- end = lineWidth - indentAtStart;
25
- }
26
- let split = undefined;
27
- let prev = undefined;
28
- let overflow = false;
29
- let i = -1;
30
- let escStart = -1;
31
- let escEnd = -1;
32
- if (mode === FOLD_BLOCK) {
33
- i = consumeMoreIndentedLines(text, i, indent.length);
34
- if (i !== -1)
35
- end = i + endStep;
36
- }
37
- for (let ch; (ch = text[(i += 1)]);) {
38
- if (mode === FOLD_QUOTED && ch === '\\') {
39
- escStart = i;
40
- switch (text[i + 1]) {
41
- case 'x':
42
- i += 3;
43
- break;
44
- case 'u':
45
- i += 5;
46
- break;
47
- case 'U':
48
- i += 9;
49
- break;
50
- default:
51
- i += 1;
52
- }
53
- escEnd = i;
54
- }
55
- if (ch === '\n') {
56
- if (mode === FOLD_BLOCK)
57
- i = consumeMoreIndentedLines(text, i, indent.length);
58
- end = i + indent.length + endStep;
59
- split = undefined;
60
- }
61
- else {
62
- if (ch === ' ' &&
63
- prev &&
64
- prev !== ' ' &&
65
- prev !== '\n' &&
66
- prev !== '\t') {
67
- // space surrounded by non-space can be replaced with newline + indent
68
- const next = text[i + 1];
69
- if (next && next !== ' ' && next !== '\n' && next !== '\t')
70
- split = i;
71
- }
72
- if (i >= end) {
73
- if (split) {
74
- folds.push(split);
75
- end = split + endStep;
76
- split = undefined;
77
- }
78
- else if (mode === FOLD_QUOTED) {
79
- // white-space collected at end may stretch past lineWidth
80
- while (prev === ' ' || prev === '\t') {
81
- prev = ch;
82
- ch = text[(i += 1)];
83
- overflow = true;
84
- }
85
- // Account for newline escape, but don't break preceding escape
86
- const j = i > escEnd + 1 ? i - 2 : escStart - 1;
87
- // Bail out if lineWidth & minContentWidth are shorter than an escape string
88
- if (escapedFolds[j])
89
- return text;
90
- folds.push(j);
91
- escapedFolds[j] = true;
92
- end = j + endStep;
93
- split = undefined;
94
- }
95
- else {
96
- overflow = true;
97
- }
98
- }
99
- }
100
- prev = ch;
101
- }
102
- if (overflow && onOverflow)
103
- onOverflow();
104
- if (folds.length === 0)
105
- return text;
106
- if (onFold)
107
- onFold();
108
- let res = text.slice(0, folds[0]);
109
- for (let i = 0; i < folds.length; ++i) {
110
- const fold = folds[i];
111
- const end = folds[i + 1] || text.length;
112
- if (fold === 0)
113
- res = `\n${indent}${text.slice(0, end)}`;
114
- else {
115
- if (mode === FOLD_QUOTED && escapedFolds[fold])
116
- res += `${text[fold]}\\`;
117
- res += `\n${indent}${text.slice(fold + 1, end)}`;
118
- }
119
- }
120
- return res;
121
- }
122
- /**
123
- * Presumes `i + 1` is at the start of a line
124
- * @returns index of last newline in more-indented block
125
- */
126
- function consumeMoreIndentedLines(text, i, indent) {
127
- let end = i;
128
- let start = i + 1;
129
- let ch = text[start];
130
- while (ch === ' ' || ch === '\t') {
131
- if (i < start + indent) {
132
- ch = text[++i];
133
- }
134
- else {
135
- do {
136
- ch = text[++i];
137
- } while (ch && ch !== '\n');
138
- end = i;
139
- start = i + 1;
140
- ch = text[start];
141
- }
142
- }
143
- return end;
144
- }
145
-
146
- export { FOLD_BLOCK, FOLD_FLOW, FOLD_QUOTED, foldFlowLines };