yaml 2.0.0-3 → 2.0.0-7

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 (345) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +46 -26
  3. package/browser/dist/compose/compose-collection.js +59 -0
  4. package/browser/dist/compose/compose-doc.js +39 -0
  5. package/browser/dist/compose/compose-node.js +79 -0
  6. package/browser/dist/compose/compose-scalar.js +74 -0
  7. package/browser/dist/compose/composer.js +219 -0
  8. package/browser/dist/compose/resolve-block-map.js +93 -0
  9. package/browser/dist/compose/resolve-block-scalar.js +185 -0
  10. package/browser/dist/compose/resolve-block-seq.js +40 -0
  11. package/browser/dist/compose/resolve-end.js +37 -0
  12. package/browser/dist/compose/resolve-flow-collection.js +189 -0
  13. package/browser/dist/compose/resolve-flow-scalar.js +217 -0
  14. package/browser/dist/compose/resolve-props.js +126 -0
  15. package/browser/dist/compose/util-contains-newline.js +34 -0
  16. package/browser/dist/compose/util-empty-scalar-position.js +27 -0
  17. package/browser/dist/compose/util-map-includes.js +17 -0
  18. package/browser/dist/doc/Document.js +251 -348
  19. package/browser/dist/doc/anchors.js +72 -0
  20. package/browser/dist/doc/applyReviver.js +41 -28
  21. package/browser/dist/doc/createNode.js +75 -55
  22. package/browser/dist/doc/directives.js +161 -0
  23. package/browser/dist/errors.js +50 -72
  24. package/browser/dist/index.js +16 -72
  25. package/browser/dist/log.js +11 -7
  26. package/browser/dist/nodes/Alias.js +94 -0
  27. package/browser/dist/nodes/Collection.js +133 -0
  28. package/browser/dist/nodes/Node.js +41 -0
  29. package/browser/dist/nodes/Pair.js +28 -0
  30. package/browser/dist/nodes/Scalar.js +23 -0
  31. package/browser/dist/nodes/YAMLMap.js +116 -0
  32. package/browser/dist/nodes/YAMLSeq.js +105 -0
  33. package/browser/dist/nodes/addPairToJSMap.js +103 -0
  34. package/browser/dist/nodes/toJS.js +35 -0
  35. package/browser/dist/options.js +14 -95
  36. package/browser/dist/parse/cst-scalar.js +219 -0
  37. package/browser/dist/parse/cst-stringify.js +61 -0
  38. package/browser/dist/parse/cst-visit.js +97 -0
  39. package/browser/dist/parse/cst.js +98 -0
  40. package/browser/dist/parse/lexer.js +674 -0
  41. package/browser/dist/parse/line-counter.js +39 -0
  42. package/browser/dist/parse/parser.js +876 -0
  43. package/browser/dist/public-api.js +101 -0
  44. package/browser/dist/schema/Schema.js +23 -0
  45. package/browser/dist/schema/common/map.js +42 -0
  46. package/browser/dist/schema/common/null.js +13 -0
  47. package/browser/dist/schema/common/seq.js +33 -0
  48. package/browser/dist/schema/common/string.js +14 -0
  49. package/browser/dist/schema/core/bool.js +19 -0
  50. package/browser/dist/schema/core/float.js +40 -0
  51. package/browser/dist/schema/core/int.js +38 -0
  52. package/browser/dist/schema/core/schema.js +23 -0
  53. package/browser/dist/schema/json/schema.js +62 -0
  54. package/browser/dist/schema/tags.js +79 -0
  55. package/browser/dist/schema/yaml-1.1/binary.js +66 -0
  56. package/browser/dist/schema/yaml-1.1/bool.js +26 -0
  57. package/browser/dist/schema/yaml-1.1/float.js +43 -0
  58. package/browser/dist/schema/yaml-1.1/int.js +71 -0
  59. package/browser/dist/schema/yaml-1.1/omap.js +73 -0
  60. package/browser/dist/schema/yaml-1.1/pairs.js +77 -0
  61. package/browser/dist/schema/yaml-1.1/schema.js +37 -0
  62. package/browser/dist/schema/yaml-1.1/set.js +87 -0
  63. package/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  64. package/browser/dist/stringify/foldFlowLines.js +121 -139
  65. package/browser/dist/stringify/stringify.js +87 -72
  66. package/browser/dist/stringify/stringifyCollection.js +122 -0
  67. package/browser/dist/stringify/stringifyComment.js +14 -0
  68. package/browser/dist/stringify/stringifyDocument.js +64 -0
  69. package/browser/dist/stringify/stringifyNumber.js +20 -23
  70. package/browser/dist/stringify/stringifyPair.js +111 -0
  71. package/browser/dist/stringify/stringifyString.js +295 -322
  72. package/browser/dist/util.js +4 -4
  73. package/browser/dist/visit.js +134 -71
  74. package/browser/index.js +4 -1
  75. package/dist/compose/compose-collection.d.ts +5 -0
  76. package/dist/compose/compose-collection.js +61 -0
  77. package/dist/compose/compose-doc.d.ts +6 -0
  78. package/dist/compose/compose-doc.js +41 -0
  79. package/dist/compose/compose-node.d.ts +25 -0
  80. package/dist/compose/compose-node.js +82 -0
  81. package/dist/compose/compose-scalar.d.ts +5 -0
  82. package/dist/compose/compose-scalar.js +76 -0
  83. package/dist/compose/composer.d.ts +62 -0
  84. package/dist/compose/composer.js +223 -0
  85. package/dist/compose/resolve-block-map.d.ts +6 -0
  86. package/dist/compose/resolve-block-map.js +95 -0
  87. package/dist/compose/resolve-block-scalar.d.ts +10 -0
  88. package/dist/compose/resolve-block-scalar.js +187 -0
  89. package/dist/compose/resolve-block-seq.d.ts +5 -0
  90. package/dist/compose/resolve-block-seq.js +42 -0
  91. package/dist/compose/resolve-end.d.ts +6 -0
  92. package/dist/compose/resolve-end.js +39 -0
  93. package/dist/compose/resolve-flow-collection.d.ts +6 -0
  94. package/dist/compose/resolve-flow-collection.js +191 -0
  95. package/dist/compose/resolve-flow-scalar.d.ts +10 -0
  96. package/dist/compose/resolve-flow-scalar.js +219 -0
  97. package/dist/compose/resolve-props.d.ts +21 -0
  98. package/dist/compose/resolve-props.js +128 -0
  99. package/dist/compose/util-contains-newline.d.ts +2 -0
  100. package/dist/compose/util-contains-newline.js +36 -0
  101. package/dist/compose/util-empty-scalar-position.d.ts +2 -0
  102. package/dist/compose/util-empty-scalar-position.js +29 -0
  103. package/dist/compose/util-map-includes.d.ts +4 -0
  104. package/dist/compose/util-map-includes.js +19 -0
  105. package/dist/doc/Document.d.ts +130 -0
  106. package/dist/doc/Document.js +250 -347
  107. package/dist/doc/anchors.d.ts +24 -0
  108. package/dist/doc/anchors.js +77 -0
  109. package/dist/doc/applyReviver.d.ts +9 -0
  110. package/dist/doc/applyReviver.js +41 -28
  111. package/dist/doc/createNode.d.ts +16 -0
  112. package/dist/doc/createNode.js +75 -55
  113. package/dist/doc/directives.d.ts +46 -0
  114. package/dist/doc/directives.js +163 -0
  115. package/dist/errors.d.ts +21 -0
  116. package/dist/errors.js +51 -74
  117. package/dist/index.d.ts +19 -0
  118. package/dist/index.js +39 -70
  119. package/dist/log.d.ts +3 -0
  120. package/dist/log.js +11 -6
  121. package/dist/nodes/Alias.d.ts +24 -0
  122. package/dist/nodes/Alias.js +96 -0
  123. package/dist/nodes/Collection.d.ts +67 -0
  124. package/dist/nodes/Collection.js +137 -0
  125. package/dist/nodes/Node.d.ts +48 -0
  126. package/dist/nodes/Node.js +59 -0
  127. package/dist/nodes/Pair.d.ts +16 -0
  128. package/dist/nodes/Pair.js +31 -0
  129. package/dist/nodes/Scalar.d.ts +40 -0
  130. package/dist/nodes/Scalar.js +26 -0
  131. package/dist/nodes/YAMLMap.d.ts +39 -0
  132. package/dist/nodes/YAMLMap.js +119 -0
  133. package/dist/nodes/YAMLSeq.d.ts +53 -0
  134. package/dist/nodes/YAMLSeq.js +107 -0
  135. package/dist/nodes/addPairToJSMap.d.ts +3 -0
  136. package/dist/nodes/addPairToJSMap.js +105 -0
  137. package/dist/nodes/toJS.d.ts +30 -0
  138. package/dist/nodes/toJS.js +37 -0
  139. package/dist/options.d.ts +278 -0
  140. package/dist/options.js +13 -96
  141. package/dist/parse/cst-scalar.d.ts +58 -0
  142. package/dist/parse/cst-scalar.js +223 -0
  143. package/dist/parse/cst-stringify.d.ts +8 -0
  144. package/dist/parse/cst-stringify.js +63 -0
  145. package/dist/parse/cst-visit.d.ts +39 -0
  146. package/dist/parse/cst-visit.js +99 -0
  147. package/dist/parse/cst.d.ts +106 -0
  148. package/dist/parse/cst.js +112 -0
  149. package/dist/parse/lexer.d.ts +85 -0
  150. package/dist/parse/lexer.js +676 -0
  151. package/dist/parse/line-counter.d.ts +22 -0
  152. package/dist/parse/line-counter.js +41 -0
  153. package/dist/parse/parser.d.ts +84 -0
  154. package/dist/parse/parser.js +880 -0
  155. package/dist/public-api.d.ts +43 -0
  156. package/dist/public-api.js +106 -0
  157. package/dist/schema/Schema.d.ts +16 -0
  158. package/dist/schema/Schema.js +25 -0
  159. package/dist/schema/common/map.d.ts +2 -0
  160. package/dist/schema/common/map.js +44 -0
  161. package/dist/schema/common/null.d.ts +4 -0
  162. package/dist/schema/common/null.js +15 -0
  163. package/dist/schema/common/seq.d.ts +2 -0
  164. package/dist/schema/common/seq.js +35 -0
  165. package/dist/schema/common/string.d.ts +2 -0
  166. package/dist/schema/common/string.js +16 -0
  167. package/dist/schema/core/bool.d.ts +4 -0
  168. package/dist/schema/core/bool.js +21 -0
  169. package/dist/schema/core/float.d.ts +4 -0
  170. package/dist/schema/core/float.js +44 -0
  171. package/dist/schema/core/int.d.ts +4 -0
  172. package/dist/schema/core/int.js +42 -0
  173. package/dist/schema/core/schema.d.ts +1 -0
  174. package/dist/schema/core/schema.js +25 -0
  175. package/dist/schema/json/schema.d.ts +2 -0
  176. package/dist/schema/json/schema.js +64 -0
  177. package/dist/schema/tags.d.ts +41 -0
  178. package/dist/schema/tags.js +82 -0
  179. package/dist/schema/types.d.ts +82 -0
  180. package/dist/schema/yaml-1.1/binary.d.ts +2 -0
  181. package/dist/schema/yaml-1.1/binary.js +68 -0
  182. package/dist/schema/yaml-1.1/bool.d.ts +7 -0
  183. package/dist/schema/yaml-1.1/bool.js +29 -0
  184. package/dist/schema/yaml-1.1/float.d.ts +4 -0
  185. package/dist/schema/yaml-1.1/float.js +47 -0
  186. package/dist/schema/yaml-1.1/int.d.ts +5 -0
  187. package/dist/schema/yaml-1.1/int.js +76 -0
  188. package/dist/schema/yaml-1.1/omap.d.ts +21 -0
  189. package/dist/schema/yaml-1.1/omap.js +76 -0
  190. package/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  191. package/dist/schema/yaml-1.1/pairs.js +81 -0
  192. package/dist/schema/yaml-1.1/schema.d.ts +1 -0
  193. package/dist/schema/yaml-1.1/schema.js +39 -0
  194. package/dist/schema/yaml-1.1/set.d.ts +22 -0
  195. package/dist/schema/yaml-1.1/set.js +90 -0
  196. package/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  197. package/dist/schema/yaml-1.1/timestamp.js +105 -0
  198. package/dist/stringify/foldFlowLines.d.ts +34 -0
  199. package/dist/stringify/foldFlowLines.js +121 -139
  200. package/dist/stringify/stringify.d.ts +18 -0
  201. package/dist/stringify/stringify.js +87 -71
  202. package/dist/stringify/stringifyCollection.d.ts +21 -0
  203. package/dist/stringify/stringifyCollection.js +124 -0
  204. package/dist/stringify/stringifyComment.d.ts +2 -0
  205. package/dist/stringify/stringifyComment.js +17 -0
  206. package/dist/stringify/stringifyDocument.d.ts +3 -0
  207. package/dist/stringify/stringifyDocument.js +66 -0
  208. package/dist/stringify/stringifyNumber.d.ts +2 -0
  209. package/dist/stringify/stringifyNumber.js +20 -23
  210. package/dist/stringify/stringifyPair.d.ts +3 -0
  211. package/dist/stringify/stringifyPair.js +113 -0
  212. package/dist/stringify/stringifyString.d.ts +3 -0
  213. package/dist/stringify/stringifyString.js +295 -322
  214. package/dist/test-events.d.ts +4 -0
  215. package/dist/test-events.js +124 -148
  216. package/dist/util.d.ts +6 -0
  217. package/dist/util.js +9 -12
  218. package/dist/visit.d.ts +63 -0
  219. package/dist/visit.js +134 -71
  220. package/package.json +31 -39
  221. package/util.js +2 -14
  222. package/browser/dist/_virtual/_rollupPluginBabelHelpers.js +0 -16
  223. package/browser/dist/ast/Alias.js +0 -95
  224. package/browser/dist/ast/Collection.js +0 -192
  225. package/browser/dist/ast/Merge.js +0 -71
  226. package/browser/dist/ast/Node.js +0 -3
  227. package/browser/dist/ast/Pair.js +0 -200
  228. package/browser/dist/ast/Scalar.js +0 -21
  229. package/browser/dist/ast/YAMLMap.js +0 -91
  230. package/browser/dist/ast/YAMLSeq.js +0 -67
  231. package/browser/dist/ast/toJS.js +0 -29
  232. package/browser/dist/constants.js +0 -40
  233. package/browser/dist/cst/Alias.js +0 -26
  234. package/browser/dist/cst/BlankLine.js +0 -34
  235. package/browser/dist/cst/BlockValue.js +0 -240
  236. package/browser/dist/cst/Collection.js +0 -259
  237. package/browser/dist/cst/CollectionItem.js +0 -123
  238. package/browser/dist/cst/Comment.js +0 -27
  239. package/browser/dist/cst/Directive.js +0 -53
  240. package/browser/dist/cst/Document.js +0 -262
  241. package/browser/dist/cst/FlowCollection.js +0 -201
  242. package/browser/dist/cst/Node.js +0 -355
  243. package/browser/dist/cst/ParseContext.js +0 -234
  244. package/browser/dist/cst/PlainValue.js +0 -171
  245. package/browser/dist/cst/QuoteDouble.js +0 -224
  246. package/browser/dist/cst/QuoteSingle.js +0 -100
  247. package/browser/dist/cst/Range.js +0 -56
  248. package/browser/dist/cst/parse.js +0 -46
  249. package/browser/dist/cst/source-utils.js +0 -169
  250. package/browser/dist/doc/Anchors.js +0 -115
  251. package/browser/dist/doc/Schema.js +0 -34
  252. package/browser/dist/doc/getSchemaTags.js +0 -33
  253. package/browser/dist/doc/listTagNames.js +0 -27
  254. package/browser/dist/doc/parseContents.js +0 -60
  255. package/browser/dist/doc/parseDirectives.js +0 -107
  256. package/browser/dist/resolve/collection-utils.js +0 -86
  257. package/browser/dist/resolve/resolveMap.js +0 -315
  258. package/browser/dist/resolve/resolveNode.js +0 -173
  259. package/browser/dist/resolve/resolveScalar.js +0 -20
  260. package/browser/dist/resolve/resolveSeq.js +0 -170
  261. package/browser/dist/resolve/resolveTag.js +0 -107
  262. package/browser/dist/resolve/resolveTagName.js +0 -87
  263. package/browser/dist/stringify/addComment.js +0 -10
  264. package/browser/dist/stringify/stringifyTag.js +0 -28
  265. package/browser/dist/tags/core.js +0 -128
  266. package/browser/dist/tags/failsafe/index.js +0 -7
  267. package/browser/dist/tags/failsafe/map.js +0 -37
  268. package/browser/dist/tags/failsafe/seq.js +0 -34
  269. package/browser/dist/tags/failsafe/string.js +0 -20
  270. package/browser/dist/tags/index.js +0 -39
  271. package/browser/dist/tags/json.js +0 -62
  272. package/browser/dist/tags/options.js +0 -31
  273. package/browser/dist/tags/yaml-1.1/binary.js +0 -83
  274. package/browser/dist/tags/yaml-1.1/index.js +0 -174
  275. package/browser/dist/tags/yaml-1.1/omap.js +0 -86
  276. package/browser/dist/tags/yaml-1.1/pairs.js +0 -62
  277. package/browser/dist/tags/yaml-1.1/set.js +0 -78
  278. package/browser/dist/tags/yaml-1.1/timestamp.js +0 -101
  279. package/browser/dist/types.js +0 -10
  280. package/cst.d.ts +0 -185
  281. package/dist/_virtual/_rollupPluginBabelHelpers.js +0 -18
  282. package/dist/ast/Alias.js +0 -97
  283. package/dist/ast/Collection.js +0 -196
  284. package/dist/ast/Merge.js +0 -74
  285. package/dist/ast/Node.js +0 -5
  286. package/dist/ast/Pair.js +0 -203
  287. package/dist/ast/Scalar.js +0 -24
  288. package/dist/ast/YAMLMap.js +0 -94
  289. package/dist/ast/YAMLSeq.js +0 -69
  290. package/dist/ast/toJS.js +0 -31
  291. package/dist/constants.js +0 -46
  292. package/dist/cst/Alias.js +0 -28
  293. package/dist/cst/BlankLine.js +0 -36
  294. package/dist/cst/BlockValue.js +0 -243
  295. package/dist/cst/Collection.js +0 -262
  296. package/dist/cst/CollectionItem.js +0 -125
  297. package/dist/cst/Comment.js +0 -29
  298. package/dist/cst/Directive.js +0 -55
  299. package/dist/cst/Document.js +0 -264
  300. package/dist/cst/FlowCollection.js +0 -203
  301. package/dist/cst/Node.js +0 -357
  302. package/dist/cst/ParseContext.js +0 -236
  303. package/dist/cst/PlainValue.js +0 -173
  304. package/dist/cst/QuoteDouble.js +0 -226
  305. package/dist/cst/QuoteSingle.js +0 -102
  306. package/dist/cst/Range.js +0 -58
  307. package/dist/cst/parse.js +0 -48
  308. package/dist/cst/source-utils.js +0 -173
  309. package/dist/doc/Anchors.js +0 -117
  310. package/dist/doc/Schema.js +0 -36
  311. package/dist/doc/getSchemaTags.js +0 -35
  312. package/dist/doc/listTagNames.js +0 -29
  313. package/dist/doc/parseContents.js +0 -62
  314. package/dist/doc/parseDirectives.js +0 -109
  315. package/dist/resolve/collection-utils.js +0 -91
  316. package/dist/resolve/resolveMap.js +0 -317
  317. package/dist/resolve/resolveNode.js +0 -175
  318. package/dist/resolve/resolveScalar.js +0 -22
  319. package/dist/resolve/resolveSeq.js +0 -172
  320. package/dist/resolve/resolveTag.js +0 -109
  321. package/dist/resolve/resolveTagName.js +0 -89
  322. package/dist/stringify/addComment.js +0 -13
  323. package/dist/stringify/stringifyTag.js +0 -30
  324. package/dist/tags/core.js +0 -138
  325. package/dist/tags/failsafe/index.js +0 -9
  326. package/dist/tags/failsafe/map.js +0 -39
  327. package/dist/tags/failsafe/seq.js +0 -36
  328. package/dist/tags/failsafe/string.js +0 -22
  329. package/dist/tags/index.js +0 -42
  330. package/dist/tags/json.js +0 -64
  331. package/dist/tags/options.js +0 -37
  332. package/dist/tags/yaml-1.1/binary.js +0 -85
  333. package/dist/tags/yaml-1.1/index.js +0 -176
  334. package/dist/tags/yaml-1.1/omap.js +0 -89
  335. package/dist/tags/yaml-1.1/pairs.js +0 -66
  336. package/dist/tags/yaml-1.1/set.js +0 -81
  337. package/dist/tags/yaml-1.1/timestamp.js +0 -105
  338. package/dist/types.js +0 -29
  339. package/index.d.ts +0 -519
  340. package/index.js +0 -1
  341. package/types.d.ts +0 -379
  342. package/types.js +0 -17
  343. package/types.mjs +0 -17
  344. package/util.d.ts +0 -76
  345. package/util.mjs +0 -15
package/types.d.ts DELETED
@@ -1,379 +0,0 @@
1
- import { Document, scalarOptions } from './index'
2
- import { CST } from './cst'
3
- import { Type } from './util'
4
-
5
- export const binaryOptions: scalarOptions.Binary
6
- export const boolOptions: scalarOptions.Bool
7
- export const intOptions: scalarOptions.Int
8
- export const nullOptions: scalarOptions.Null
9
- export const strOptions: scalarOptions.Str
10
-
11
- export class Schema {
12
- constructor(options: Schema.Options)
13
- knownTags: { [key: string]: Schema.CustomTag }
14
- merge: boolean
15
- name: Schema.Name
16
- sortMapEntries: ((a: Pair, b: Pair) => number) | null
17
- tags: Schema.Tag[]
18
- }
19
-
20
- export namespace Schema {
21
- type Name = 'core' | 'failsafe' | 'json' | 'yaml-1.1'
22
-
23
- interface Options {
24
- /**
25
- * Array of additional tags to include in the schema, or a function that may
26
- * modify the schema's base tag array.
27
- */
28
- customTags?: (TagId | Tag)[] | ((tags: Tag[]) => Tag[])
29
- /**
30
- * Enable support for `<<` merge keys.
31
- *
32
- * Default: `false` for YAML 1.2, `true` for earlier versions
33
- */
34
- merge?: boolean
35
- /**
36
- * When using the `'core'` schema, support parsing values with these
37
- * explicit YAML 1.1 tags:
38
- *
39
- * `!!binary`, `!!omap`, `!!pairs`, `!!set`, `!!timestamp`.
40
- *
41
- * Default `true`
42
- */
43
- resolveKnownTags?: boolean
44
- /**
45
- * The base schema to use.
46
- *
47
- * Default: `"core"` for YAML 1.2, `"yaml-1.1"` for earlier versions
48
- */
49
- schema?: Name
50
- /**
51
- * When stringifying, sort map entries. If `true`, sort by comparing key values with `<`.
52
- *
53
- * Default: `false`
54
- */
55
- sortMapEntries?: boolean | ((a: Pair, b: Pair) => number)
56
- /**
57
- * @deprecated Use `customTags` instead.
58
- */
59
- tags?: Options['customTags']
60
- }
61
-
62
- interface CreateNodeContext {
63
- wrapScalars?: boolean
64
- [key: string]: any
65
- }
66
-
67
- interface StringifyContext {
68
- forceBlockIndent?: boolean
69
- implicitKey?: boolean
70
- indent?: string
71
- indentAtStart?: number
72
- inFlow?: boolean
73
- [key: string]: any
74
- }
75
-
76
- type TagId =
77
- | 'binary'
78
- | 'bool'
79
- | 'float'
80
- | 'floatExp'
81
- | 'floatNaN'
82
- | 'floatTime'
83
- | 'int'
84
- | 'intHex'
85
- | 'intOct'
86
- | 'intTime'
87
- | 'null'
88
- | 'omap'
89
- | 'pairs'
90
- | 'set'
91
- | 'timestamp'
92
-
93
- type Tag = CustomTag | DefaultTag
94
-
95
- interface BaseTag {
96
- /**
97
- * An optional factory function, used e.g. by collections when wrapping JS objects as AST nodes.
98
- */
99
- createNode?: (
100
- schema: Schema,
101
- value: any,
102
- ctx: Schema.CreateNodeContext
103
- ) => YAMLMap | YAMLSeq | Scalar
104
- /**
105
- * If a tag has multiple forms that should be parsed and/or stringified differently, use `format` to identify them.
106
- */
107
- format?: string
108
- /**
109
- * Used by `YAML.createNode` to detect your data type, e.g. using `typeof` or
110
- * `instanceof`.
111
- */
112
- identify(value: any): boolean
113
- /**
114
- * The `Node` child class that implements this tag. Required for collections and tags that have overlapping JS representations.
115
- */
116
- nodeClass?: new () => any
117
- /**
118
- * Used by some tags to configure their stringification, where applicable.
119
- */
120
- options?: object
121
- /**
122
- * Turns a value into an AST node.
123
- * If returning a non-`Node` value, the output will be wrapped as a `Scalar`.
124
- */
125
- resolve(
126
- value: string | YAMLMap | YAMLSeq,
127
- onError: (message: string) => void
128
- ): Node | any
129
- /**
130
- * Optional function stringifying the AST node in the current context. If your
131
- * data includes a suitable `.toString()` method, you can probably leave this
132
- * undefined and use the default stringifier.
133
- *
134
- * @param item The node being stringified.
135
- * @param ctx Contains the stringifying context variables.
136
- * @param onComment Callback to signal that the stringifier includes the
137
- * item's comment in its output.
138
- * @param onChompKeep Callback to signal that the output uses a block scalar
139
- * type with the `+` chomping indicator.
140
- */
141
- stringify?: (
142
- item: Node,
143
- ctx: Schema.StringifyContext,
144
- onComment?: () => void,
145
- onChompKeep?: () => void
146
- ) => string
147
- /**
148
- * The identifier for your data type, with which its stringified form will be
149
- * prefixed. Should either be a !-prefixed local `!tag`, or a fully qualified
150
- * `tag:domain,date:foo`.
151
- */
152
- tag: string
153
- }
154
-
155
- interface CustomTag extends BaseTag {
156
- default?: false
157
- }
158
-
159
- interface DefaultTag extends BaseTag {
160
- /**
161
- * If `true`, together with `test` allows for values to be stringified without
162
- * an explicit tag. For most cases, it's unlikely that you'll actually want to
163
- * use this, even if you first think you do.
164
- */
165
- default: true
166
- /**
167
- * Together with `default` allows for values to be stringified without an
168
- * explicit tag and detected using a regular expression. For most cases, it's
169
- * unlikely that you'll actually want to use these, even if you first think
170
- * you do.
171
- */
172
- test: RegExp
173
- }
174
- }
175
-
176
- export class Node {
177
- /** A comment on or immediately after this */
178
- comment?: string | null
179
- /** A comment before this */
180
- commentBefore?: string | null
181
- /** Only available when `keepCstNodes` is set to `true` */
182
- cstNode?: CST.Node
183
- /**
184
- * The [start, end] range of characters of the source parsed
185
- * into this node (undefined for pairs or if not parsed)
186
- */
187
- range?: [number, number] | null
188
- /** A blank line before this node and its commentBefore */
189
- spaceBefore?: boolean
190
- /** A fully qualified tag, if required */
191
- tag?: string
192
- /** A plain JS representation of this node */
193
- toJSON(arg?: any): any
194
- /** The type of this node */
195
- type?: Type | Pair.Type
196
- }
197
-
198
- export class Scalar extends Node {
199
- constructor(value: any)
200
- type?: Scalar.Type
201
- /**
202
- * By default (undefined), numbers use decimal notation.
203
- * The YAML 1.2 core schema only supports 'HEX' and 'OCT'.
204
- */
205
- format?: 'BIN' | 'HEX' | 'OCT' | 'TIME'
206
- value: any
207
- toJSON(arg?: any, ctx?: AST.NodeToJsonContext): any
208
- toString(): string
209
- }
210
- export namespace Scalar {
211
- type Type =
212
- | Type.BLOCK_FOLDED
213
- | Type.BLOCK_LITERAL
214
- | Type.PLAIN
215
- | Type.QUOTE_DOUBLE
216
- | Type.QUOTE_SINGLE
217
- }
218
-
219
- export class Alias extends Node {
220
- type: Type.ALIAS
221
- source: Node
222
- cstNode?: CST.Alias
223
- toString(ctx: Schema.StringifyContext): string
224
- }
225
-
226
- export class Pair extends Node {
227
- constructor(key: any, value?: any)
228
- type: Pair.Type.PAIR | Pair.Type.MERGE_PAIR
229
- /** Always Node or null when parsed, but can be set to anything. */
230
- key: any
231
- /** Always Node or null when parsed, but can be set to anything. */
232
- value: any
233
- cstNode?: never // no corresponding cstNode
234
- toJSON(arg?: any, ctx?: AST.NodeToJsonContext): object | Map<any, any>
235
- toString(
236
- ctx?: Schema.StringifyContext,
237
- onComment?: () => void,
238
- onChompKeep?: () => void
239
- ): string
240
- }
241
- export namespace Pair {
242
- enum Type {
243
- PAIR = 'PAIR',
244
- MERGE_PAIR = 'MERGE_PAIR'
245
- }
246
- }
247
-
248
- export class Merge extends Pair {
249
- type: Pair.Type.MERGE_PAIR
250
- /** Always Scalar('<<'), defined by the type specification */
251
- key: AST.PlainValue
252
- /** Always YAMLSeq<Alias(Map)>, stringified as *A if length = 1 */
253
- value: YAMLSeq
254
- toString(ctx?: Schema.StringifyContext, onComment?: () => void): string
255
- }
256
-
257
- export class Collection extends Node {
258
- type?: Type.MAP | Type.FLOW_MAP | Type.SEQ | Type.FLOW_SEQ | Type.DOCUMENT
259
- items: any[]
260
- schema?: Schema
261
-
262
- /**
263
- * Adds a value to the collection. For `!!map` and `!!omap` the value must
264
- * be a Pair instance or a `{ key, value }` object, which may not have a key
265
- * that already exists in the map.
266
- */
267
- add(value: any): void
268
- addIn(path: Iterable<any>, value: any): void
269
- /**
270
- * Removes a value from the collection.
271
- * @returns `true` if the item was found and removed.
272
- */
273
- delete(key: any): boolean
274
- deleteIn(path: Iterable<any>): boolean
275
- /**
276
- * Returns item at `key`, or `undefined` if not found. By default unwraps
277
- * scalar values from their surrounding node; to disable set `keepScalar` to
278
- * `true` (collections are always returned intact).
279
- */
280
- get(key: any, keepScalar?: boolean): any
281
- getIn(path: Iterable<any>, keepScalar?: boolean): any
282
- /**
283
- * Checks if the collection includes a value with the key `key`.
284
- */
285
- has(key: any): boolean
286
- hasIn(path: Iterable<any>): boolean
287
- /**
288
- * Sets a value in this collection. For `!!set`, `value` needs to be a
289
- * boolean to add/remove the item from the set.
290
- */
291
- set(key: any, value: any): void
292
- setIn(path: Iterable<any>, value: any): void
293
- }
294
-
295
- export class YAMLMap extends Collection {
296
- type?: Type.FLOW_MAP | Type.MAP
297
- items: Array<Pair>
298
- hasAllNullValues(): boolean
299
- toJSON(arg?: any, ctx?: AST.NodeToJsonContext): object | Map<any, any>
300
- toString(
301
- ctx?: Schema.StringifyContext,
302
- onComment?: () => void,
303
- onChompKeep?: () => void
304
- ): string
305
- }
306
-
307
- export class YAMLSeq extends Collection {
308
- type?: Type.FLOW_SEQ | Type.SEQ
309
- delete(key: number | string | Scalar): boolean
310
- get(key: number | string | Scalar, keepScalar?: boolean): any
311
- has(key: number | string | Scalar): boolean
312
- set(key: number | string | Scalar, value: any): void
313
- hasAllNullValues(): boolean
314
- toJSON(arg?: any, ctx?: AST.NodeToJsonContext): any[]
315
- toString(
316
- ctx?: Schema.StringifyContext,
317
- onComment?: () => void,
318
- onChompKeep?: () => void
319
- ): string
320
- }
321
-
322
- export namespace AST {
323
- interface NodeToJsonContext {
324
- anchors?: any[]
325
- doc: Document
326
- keep?: boolean
327
- mapAsMap?: boolean
328
- maxAliasCount?: number
329
- onCreate?: (node: Node) => void
330
- [key: string]: any
331
- }
332
-
333
- interface BlockFolded extends Scalar {
334
- type: Type.BLOCK_FOLDED
335
- cstNode?: CST.BlockFolded
336
- }
337
-
338
- interface BlockLiteral extends Scalar {
339
- type: Type.BLOCK_LITERAL
340
- cstNode?: CST.BlockLiteral
341
- }
342
-
343
- interface PlainValue extends Scalar {
344
- type: Type.PLAIN
345
- cstNode?: CST.PlainValue
346
- }
347
-
348
- interface QuoteDouble extends Scalar {
349
- type: Type.QUOTE_DOUBLE
350
- cstNode?: CST.QuoteDouble
351
- }
352
-
353
- interface QuoteSingle extends Scalar {
354
- type: Type.QUOTE_SINGLE
355
- cstNode?: CST.QuoteSingle
356
- }
357
-
358
- interface FlowMap extends YAMLMap {
359
- type: Type.FLOW_MAP
360
- cstNode?: CST.FlowMap
361
- }
362
-
363
- interface BlockMap extends YAMLMap {
364
- type: Type.MAP
365
- cstNode?: CST.Map
366
- }
367
-
368
- interface FlowSeq extends YAMLSeq {
369
- type: Type.FLOW_SEQ
370
- items: Array<Node>
371
- cstNode?: CST.FlowSeq
372
- }
373
-
374
- interface BlockSeq extends YAMLSeq {
375
- type: Type.SEQ
376
- items: Array<Node | null>
377
- cstNode?: CST.Seq
378
- }
379
- }
package/types.js DELETED
@@ -1,17 +0,0 @@
1
- const types = require('./dist/types')
2
-
3
- exports.binaryOptions = types.binaryOptions
4
- exports.boolOptions = types.boolOptions
5
- exports.intOptions = types.intOptions
6
- exports.nullOptions = types.nullOptions
7
- exports.strOptions = types.strOptions
8
-
9
- exports.Schema = types.Schema
10
- exports.Alias = types.Alias
11
- exports.Collection = types.Collection
12
- exports.Merge = types.Merge
13
- exports.Node = types.Node
14
- exports.Pair = types.Pair
15
- exports.Scalar = types.Scalar
16
- exports.YAMLMap = types.YAMLMap
17
- exports.YAMLSeq = types.YAMLSeq
package/types.mjs DELETED
@@ -1,17 +0,0 @@
1
- import types from './dist/types.js'
2
-
3
- export const binaryOptions = types.binaryOptions
4
- export const boolOptions = types.boolOptions
5
- export const intOptions = types.intOptions
6
- export const nullOptions = types.nullOptions
7
- export const strOptions = types.strOptions
8
-
9
- export const Schema = types.Schema
10
- export const Alias = types.Alias
11
- export const Collection = types.Collection
12
- export const Merge = types.Merge
13
- export const Node = types.Node
14
- export const Pair = types.Pair
15
- export const Scalar = types.Scalar
16
- export const YAMLMap = types.YAMLMap
17
- export const YAMLSeq = types.YAMLSeq
package/util.d.ts DELETED
@@ -1,76 +0,0 @@
1
- import { CST } from './cst'
2
- import { Pair, Scalar, Schema } from './types'
3
-
4
- export function findPair(items: any[], key: Scalar | any): Pair | undefined
5
-
6
- export function stringifyNumber(item: Scalar): string
7
- export function stringifyString(
8
- item: Scalar,
9
- ctx: Schema.StringifyContext,
10
- onComment?: () => void,
11
- onChompKeep?: () => void
12
- ): string
13
-
14
- export function toJS(value: any, arg?: any, ctx?: Schema.CreateNodeContext): any
15
-
16
- export enum Type {
17
- ALIAS = 'ALIAS',
18
- BLANK_LINE = 'BLANK_LINE',
19
- BLOCK_FOLDED = 'BLOCK_FOLDED',
20
- BLOCK_LITERAL = 'BLOCK_LITERAL',
21
- COMMENT = 'COMMENT',
22
- DIRECTIVE = 'DIRECTIVE',
23
- DOCUMENT = 'DOCUMENT',
24
- FLOW_MAP = 'FLOW_MAP',
25
- FLOW_SEQ = 'FLOW_SEQ',
26
- MAP = 'MAP',
27
- MAP_KEY = 'MAP_KEY',
28
- MAP_VALUE = 'MAP_VALUE',
29
- PLAIN = 'PLAIN',
30
- QUOTE_DOUBLE = 'QUOTE_DOUBLE',
31
- QUOTE_SINGLE = 'QUOTE_SINGLE',
32
- SEQ = 'SEQ',
33
- SEQ_ITEM = 'SEQ_ITEM'
34
- }
35
-
36
- interface LinePos {
37
- line: number
38
- col: number
39
- }
40
-
41
- export class YAMLError extends Error {
42
- name:
43
- | 'YAMLReferenceError'
44
- | 'YAMLSemanticError'
45
- | 'YAMLSyntaxError'
46
- | 'YAMLWarning'
47
- message: string
48
- source?: CST.Node
49
-
50
- nodeType?: Type
51
- range?: CST.Range
52
- linePos?: { start: LinePos; end: LinePos }
53
-
54
- /**
55
- * Drops `source` and adds `nodeType`, `range` and `linePos`, as well as
56
- * adding details to `message`. Run automatically for document errors if
57
- * the `prettyErrors` option is set.
58
- */
59
- makePretty(): void
60
- }
61
-
62
- export class YAMLReferenceError extends YAMLError {
63
- name: 'YAMLReferenceError'
64
- }
65
-
66
- export class YAMLSemanticError extends YAMLError {
67
- name: 'YAMLSemanticError'
68
- }
69
-
70
- export class YAMLSyntaxError extends YAMLError {
71
- name: 'YAMLSyntaxError'
72
- }
73
-
74
- export class YAMLWarning extends YAMLError {
75
- name: 'YAMLWarning'
76
- }
package/util.mjs DELETED
@@ -1,15 +0,0 @@
1
- import util from './dist/util.js'
2
-
3
- export const findPair = util.findPair
4
- export const toJSON = util.toJSON
5
-
6
- export const stringifyNumber = util.stringifyNumber
7
- export const stringifyString = util.stringifyString
8
-
9
- export const Type = util.Type
10
-
11
- export const YAMLError = util.YAMLError
12
- export const YAMLReferenceError = util.YAMLReferenceError
13
- export const YAMLSemanticError = util.YAMLSemanticError
14
- export const YAMLSyntaxError = util.YAMLSyntaxError
15
- export const YAMLWarning = util.YAMLWarning