shelfware 0.0.1 → 0.1.0

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 (206) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_nuxt/6IstVYrV.js +1 -0
  3. package/.output/public/_nuxt/9C5WUlLE.js +36 -0
  4. package/.output/public/_nuxt/BDNMzG2s.js +1 -0
  5. package/.output/public/_nuxt/BW3xJdEx.js +1 -0
  6. package/.output/public/_nuxt/BXXtFil5.js +1 -0
  7. package/.output/public/_nuxt/BZuUK3cr.js +1 -0
  8. package/.output/public/_nuxt/BeLyMmd4.js +1 -0
  9. package/.output/public/_nuxt/C_VgD9ZI.js +3 -0
  10. package/.output/public/_nuxt/DB5Vxbte.js +2 -0
  11. package/.output/public/_nuxt/DMg0j7gv.js +14 -0
  12. package/.output/public/_nuxt/builds/latest.json +1 -0
  13. package/.output/public/_nuxt/builds/meta/4c307968-4837-497b-a570-d6ee336accc4.json +1 -0
  14. package/.output/public/_nuxt/entry.b3_DJTEt.css +2 -0
  15. package/.output/public/_nuxt/error-404.CHsn7XF-.css +1 -0
  16. package/.output/public/_nuxt/error-500.Bawx2bLr.css +1 -0
  17. package/.output/server/chunks/_/api-handler.mjs +44 -0
  18. package/.output/server/chunks/_/batch.mjs +27 -0
  19. package/.output/server/chunks/_/catalog.mjs +1115 -0
  20. package/.output/server/chunks/_/detail.mjs +16 -0
  21. package/.output/server/chunks/_/error-500.mjs +19 -0
  22. package/.output/server/chunks/_/quarantine.mjs +159 -0
  23. package/.output/server/chunks/nitro/nitro.mjs +5399 -0
  24. package/.output/server/chunks/routes/api/_..._.mjs +16 -0
  25. package/.output/server/chunks/routes/api/health.get.mjs +13 -0
  26. package/.output/server/chunks/routes/api/skills/_id/file.get.mjs +25 -0
  27. package/.output/server/chunks/routes/api/skills/_id_.get.mjs +25 -0
  28. package/.output/server/chunks/routes/api/skills/_id_.put.mjs +74 -0
  29. package/.output/server/chunks/routes/api/skills/delete.post.mjs +48 -0
  30. package/.output/server/chunks/routes/api/skills/quarantine.post.mjs +26 -0
  31. package/.output/server/chunks/routes/api/skills/restore.post.mjs +26 -0
  32. package/.output/server/chunks/routes/api/skills.get.mjs +41 -0
  33. package/.output/server/chunks/routes/renderer.mjs +341 -0
  34. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +3 -0
  35. package/.output/server/chunks/virtual/precomputed.mjs +3 -0
  36. package/.output/server/index.mjs +9 -0
  37. package/.output/server/node_modules/@babel/parser/lib/index.js +14611 -0
  38. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  39. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6801 -0
  40. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  41. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +692 -0
  42. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  43. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
  44. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  45. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
  46. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  47. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6980 -0
  48. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  49. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1867 -0
  50. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  51. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +904 -0
  52. package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
  53. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +636 -0
  54. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  55. package/.output/server/node_modules/devalue/index.js +17 -0
  56. package/.output/server/node_modules/devalue/package.json +39 -0
  57. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  58. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  59. package/.output/server/node_modules/devalue/src/operations.js +193 -0
  60. package/.output/server/node_modules/devalue/src/parse.js +274 -0
  61. package/.output/server/node_modules/devalue/src/stringify.js +428 -0
  62. package/.output/server/node_modules/devalue/src/uneval.js +606 -0
  63. package/.output/server/node_modules/devalue/src/utils.js +185 -0
  64. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  65. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  66. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  67. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  68. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  69. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  70. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  71. package/.output/server/node_modules/entities/package.json +120 -0
  72. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  73. package/.output/server/node_modules/estree-walker/package.json +37 -0
  74. package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
  75. package/.output/server/node_modules/hookable/package.json +53 -0
  76. package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
  77. package/.output/server/node_modules/nostics/dist/index.mjs +187 -0
  78. package/.output/server/node_modules/nostics/package.json +125 -0
  79. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  80. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  81. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  82. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  83. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  84. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  85. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  86. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  87. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  88. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  89. package/.output/server/node_modules/source-map-js/package.json +71 -0
  90. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  91. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  92. package/.output/server/node_modules/ufo/package.json +48 -0
  93. package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
  94. package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
  95. package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
  96. package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
  97. package/.output/server/node_modules/unhead/dist/plugins.mjs +720 -0
  98. package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
  99. package/.output/server/node_modules/unhead/dist/shared/unhead.-hZVKou0.mjs +400 -0
  100. package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
  101. package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
  102. package/.output/server/node_modules/unhead/dist/shared/unhead.BQWSw36o.mjs +192 -0
  103. package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
  104. package/.output/server/node_modules/unhead/dist/shared/unhead.Bjbp1C8D.mjs +224 -0
  105. package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
  106. package/.output/server/node_modules/unhead/dist/shared/unhead.C5Bksi2B.mjs +49 -0
  107. package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
  108. package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
  109. package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
  110. package/.output/server/node_modules/unhead/dist/shared/unhead.Dssd7L5I.mjs +196 -0
  111. package/.output/server/node_modules/unhead/dist/shared/unhead.jEy9BmRq.mjs +264 -0
  112. package/.output/server/node_modules/unhead/dist/shared/unhead.oZ7pkTV1.mjs +19 -0
  113. package/.output/server/node_modules/unhead/dist/shared/unhead.tQnRaXfX.mjs +240 -0
  114. package/.output/server/node_modules/unhead/dist/stream/client.mjs +33 -0
  115. package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
  116. package/.output/server/node_modules/unhead/dist/stream/server.mjs +445 -0
  117. package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
  118. package/.output/server/node_modules/unhead/package.json +179 -0
  119. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  120. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  121. package/.output/server/node_modules/vue/index.js +7 -0
  122. package/.output/server/node_modules/vue/index.mjs +1 -0
  123. package/.output/server/node_modules/vue/package.json +112 -0
  124. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  125. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +278 -0
  126. package/.output/server/node_modules/vue-bundle-renderer/package.json +54 -0
  127. package/.output/server/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  128. package/.output/server/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  129. package/.output/server/node_modules/yaml/dist/compose/compose-node.js +112 -0
  130. package/.output/server/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  131. package/.output/server/node_modules/yaml/dist/compose/composer.js +224 -0
  132. package/.output/server/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  133. package/.output/server/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  134. package/.output/server/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  135. package/.output/server/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  136. package/.output/server/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  137. package/.output/server/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  138. package/.output/server/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  139. package/.output/server/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  140. package/.output/server/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  141. package/.output/server/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  142. package/.output/server/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  143. package/.output/server/node_modules/yaml/dist/doc/Document.js +337 -0
  144. package/.output/server/node_modules/yaml/dist/doc/anchors.js +76 -0
  145. package/.output/server/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  146. package/.output/server/node_modules/yaml/dist/doc/createNode.js +90 -0
  147. package/.output/server/node_modules/yaml/dist/doc/directives.js +178 -0
  148. package/.output/server/node_modules/yaml/dist/errors.js +62 -0
  149. package/.output/server/node_modules/yaml/dist/index.js +50 -0
  150. package/.output/server/node_modules/yaml/dist/log.js +19 -0
  151. package/.output/server/node_modules/yaml/dist/nodes/Alias.js +118 -0
  152. package/.output/server/node_modules/yaml/dist/nodes/Collection.js +151 -0
  153. package/.output/server/node_modules/yaml/dist/nodes/Node.js +40 -0
  154. package/.output/server/node_modules/yaml/dist/nodes/Pair.js +39 -0
  155. package/.output/server/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  156. package/.output/server/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  157. package/.output/server/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  158. package/.output/server/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  159. package/.output/server/node_modules/yaml/dist/nodes/identity.js +53 -0
  160. package/.output/server/node_modules/yaml/dist/nodes/toJS.js +39 -0
  161. package/.output/server/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  162. package/.output/server/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  163. package/.output/server/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  164. package/.output/server/node_modules/yaml/dist/parse/cst.js +112 -0
  165. package/.output/server/node_modules/yaml/dist/parse/lexer.js +723 -0
  166. package/.output/server/node_modules/yaml/dist/parse/line-counter.js +41 -0
  167. package/.output/server/node_modules/yaml/dist/parse/parser.js +980 -0
  168. package/.output/server/node_modules/yaml/dist/public-api.js +107 -0
  169. package/.output/server/node_modules/yaml/dist/schema/Schema.js +39 -0
  170. package/.output/server/node_modules/yaml/dist/schema/common/map.js +19 -0
  171. package/.output/server/node_modules/yaml/dist/schema/common/null.js +17 -0
  172. package/.output/server/node_modules/yaml/dist/schema/common/seq.js +19 -0
  173. package/.output/server/node_modules/yaml/dist/schema/common/string.js +16 -0
  174. package/.output/server/node_modules/yaml/dist/schema/core/bool.js +21 -0
  175. package/.output/server/node_modules/yaml/dist/schema/core/float.js +47 -0
  176. package/.output/server/node_modules/yaml/dist/schema/core/int.js +42 -0
  177. package/.output/server/node_modules/yaml/dist/schema/core/schema.js +25 -0
  178. package/.output/server/node_modules/yaml/dist/schema/json/schema.js +64 -0
  179. package/.output/server/node_modules/yaml/dist/schema/tags.js +99 -0
  180. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  181. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  182. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  183. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  184. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  185. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  186. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  187. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  188. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  189. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  190. package/.output/server/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  191. package/.output/server/node_modules/yaml/dist/stringify/stringify.js +132 -0
  192. package/.output/server/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  193. package/.output/server/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  194. package/.output/server/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  195. package/.output/server/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  196. package/.output/server/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  197. package/.output/server/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  198. package/.output/server/node_modules/yaml/dist/visit.js +236 -0
  199. package/.output/server/node_modules/yaml/package.json +97 -0
  200. package/.output/server/package.json +28 -0
  201. package/LICENSE +21 -0
  202. package/README.md +57 -1
  203. package/bin/launch.mjs +158 -0
  204. package/bin/shelfware.mjs +6 -0
  205. package/package.json +64 -5
  206. package/cli.mjs +0 -3
@@ -0,0 +1,107 @@
1
+ 'use strict';
2
+
3
+ var composer = require('./compose/composer.js');
4
+ var Document = require('./doc/Document.js');
5
+ var errors = require('./errors.js');
6
+ var log = require('./log.js');
7
+ var identity = require('./nodes/identity.js');
8
+ var lineCounter = require('./parse/line-counter.js');
9
+ var parser = require('./parse/parser.js');
10
+
11
+ function parseOptions(options) {
12
+ const prettyErrors = options.prettyErrors !== false;
13
+ const lineCounter$1 = options.lineCounter || (prettyErrors && new lineCounter.LineCounter()) || null;
14
+ return { lineCounter: lineCounter$1, prettyErrors };
15
+ }
16
+ /**
17
+ * Parse the input as a stream of YAML documents.
18
+ *
19
+ * Documents should be separated from each other by `...` or `---` marker lines.
20
+ *
21
+ * @returns If an empty `docs` array is returned, it will be of type
22
+ * EmptyStream and contain additional stream information. In
23
+ * TypeScript, you should use `'empty' in docs` as a type guard for it.
24
+ */
25
+ function parseAllDocuments(source, options = {}) {
26
+ const { lineCounter, prettyErrors } = parseOptions(options);
27
+ const parser$1 = new parser.Parser(lineCounter?.addNewLine);
28
+ const composer$1 = new composer.Composer(options);
29
+ const docs = Array.from(composer$1.compose(parser$1.parse(source)));
30
+ if (prettyErrors && lineCounter)
31
+ for (const doc of docs) {
32
+ doc.errors.forEach(errors.prettifyError(source, lineCounter));
33
+ doc.warnings.forEach(errors.prettifyError(source, lineCounter));
34
+ }
35
+ if (docs.length > 0)
36
+ return docs;
37
+ return Object.assign([], { empty: true }, composer$1.streamInfo());
38
+ }
39
+ /** Parse an input string into a single YAML.Document */
40
+ function parseDocument(source, options = {}) {
41
+ const { lineCounter, prettyErrors } = parseOptions(options);
42
+ const parser$1 = new parser.Parser(lineCounter?.addNewLine);
43
+ const composer$1 = new composer.Composer(options);
44
+ // `doc` is always set by compose.end(true) at the very latest
45
+ let doc = null;
46
+ for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) {
47
+ if (!doc)
48
+ doc = _doc;
49
+ else if (doc.options.logLevel !== 'silent') {
50
+ doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0, 2), 'MULTIPLE_DOCS', 'Source contains multiple documents; please use YAML.parseAllDocuments()'));
51
+ break;
52
+ }
53
+ }
54
+ if (prettyErrors && lineCounter) {
55
+ doc.errors.forEach(errors.prettifyError(source, lineCounter));
56
+ doc.warnings.forEach(errors.prettifyError(source, lineCounter));
57
+ }
58
+ return doc;
59
+ }
60
+ function parse(src, reviver, options) {
61
+ let _reviver = undefined;
62
+ if (typeof reviver === 'function') {
63
+ _reviver = reviver;
64
+ }
65
+ else if (options === undefined && reviver && typeof reviver === 'object') {
66
+ options = reviver;
67
+ }
68
+ const doc = parseDocument(src, options);
69
+ if (!doc)
70
+ return null;
71
+ doc.warnings.forEach(warning => log.warn(doc.options.logLevel, warning));
72
+ if (doc.errors.length > 0) {
73
+ if (doc.options.logLevel !== 'silent')
74
+ throw doc.errors[0];
75
+ else
76
+ doc.errors = [];
77
+ }
78
+ return doc.toJS(Object.assign({ reviver: _reviver }, options));
79
+ }
80
+ function stringify(value, replacer, options) {
81
+ let _replacer = null;
82
+ if (typeof replacer === 'function' || Array.isArray(replacer)) {
83
+ _replacer = replacer;
84
+ }
85
+ else if (options === undefined && replacer) {
86
+ options = replacer;
87
+ }
88
+ if (typeof options === 'string')
89
+ options = options.length;
90
+ if (typeof options === 'number') {
91
+ const indent = Math.round(options);
92
+ options = indent < 1 ? undefined : indent > 8 ? { indent: 8 } : { indent };
93
+ }
94
+ if (value === undefined) {
95
+ const { keepUndefined } = options ?? replacer ?? {};
96
+ if (!keepUndefined)
97
+ return undefined;
98
+ }
99
+ if (identity.isDocument(value) && !_replacer)
100
+ return value.toString(options);
101
+ return new Document.Document(value, _replacer, options).toString(options);
102
+ }
103
+
104
+ exports.parse = parse;
105
+ exports.parseAllDocuments = parseAllDocuments;
106
+ exports.parseDocument = parseDocument;
107
+ exports.stringify = stringify;
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ var identity = require('../nodes/identity.js');
4
+ var map = require('./common/map.js');
5
+ var seq = require('./common/seq.js');
6
+ var string = require('./common/string.js');
7
+ var tags = require('./tags.js');
8
+
9
+ const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
10
+ class Schema {
11
+ constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) {
12
+ this.compat = Array.isArray(compat)
13
+ ? tags.getTags(compat, 'compat')
14
+ : compat
15
+ ? tags.getTags(null, compat)
16
+ : null;
17
+ this.name = (typeof schema === 'string' && schema) || 'core';
18
+ this.knownTags = resolveKnownTags ? tags.coreKnownTags : {};
19
+ this.tags = tags.getTags(customTags, this.name, merge);
20
+ this.toStringOptions = toStringDefaults ?? null;
21
+ Object.defineProperty(this, identity.MAP, { value: map.map });
22
+ Object.defineProperty(this, identity.SCALAR, { value: string.string });
23
+ Object.defineProperty(this, identity.SEQ, { value: seq.seq });
24
+ // Used by createMap()
25
+ this.sortMapEntries =
26
+ typeof sortMapEntries === 'function'
27
+ ? sortMapEntries
28
+ : sortMapEntries === true
29
+ ? sortMapEntriesByKey
30
+ : null;
31
+ }
32
+ clone() {
33
+ const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this));
34
+ copy.tags = this.tags.slice();
35
+ return copy;
36
+ }
37
+ }
38
+
39
+ exports.Schema = Schema;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var identity = require('../../nodes/identity.js');
4
+ var YAMLMap = require('../../nodes/YAMLMap.js');
5
+
6
+ const map = {
7
+ collection: 'map',
8
+ default: true,
9
+ nodeClass: YAMLMap.YAMLMap,
10
+ tag: 'tag:yaml.org,2002:map',
11
+ resolve(map, onError) {
12
+ if (!identity.isMap(map))
13
+ onError('Expected a mapping for this tag');
14
+ return map;
15
+ },
16
+ createNode: (schema, obj, ctx) => YAMLMap.YAMLMap.from(schema, obj, ctx)
17
+ };
18
+
19
+ exports.map = map;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var Scalar = require('../../nodes/Scalar.js');
4
+
5
+ const nullTag = {
6
+ identify: value => value == null,
7
+ createNode: () => new Scalar.Scalar(null),
8
+ default: true,
9
+ tag: 'tag:yaml.org,2002:null',
10
+ test: /^(?:~|[Nn]ull|NULL)?$/,
11
+ resolve: () => new Scalar.Scalar(null),
12
+ stringify: ({ source }, ctx) => typeof source === 'string' && nullTag.test.test(source)
13
+ ? source
14
+ : ctx.options.nullStr
15
+ };
16
+
17
+ exports.nullTag = nullTag;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var identity = require('../../nodes/identity.js');
4
+ var YAMLSeq = require('../../nodes/YAMLSeq.js');
5
+
6
+ const seq = {
7
+ collection: 'seq',
8
+ default: true,
9
+ nodeClass: YAMLSeq.YAMLSeq,
10
+ tag: 'tag:yaml.org,2002:seq',
11
+ resolve(seq, onError) {
12
+ if (!identity.isSeq(seq))
13
+ onError('Expected a sequence for this tag');
14
+ return seq;
15
+ },
16
+ createNode: (schema, obj, ctx) => YAMLSeq.YAMLSeq.from(schema, obj, ctx)
17
+ };
18
+
19
+ exports.seq = seq;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var stringifyString = require('../../stringify/stringifyString.js');
4
+
5
+ const string = {
6
+ identify: value => typeof value === 'string',
7
+ default: true,
8
+ tag: 'tag:yaml.org,2002:str',
9
+ resolve: str => str,
10
+ stringify(item, ctx, onComment, onChompKeep) {
11
+ ctx = Object.assign({ actualString: true }, ctx);
12
+ return stringifyString.stringifyString(item, ctx, onComment, onChompKeep);
13
+ }
14
+ };
15
+
16
+ exports.string = string;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var Scalar = require('../../nodes/Scalar.js');
4
+
5
+ const boolTag = {
6
+ identify: value => typeof value === 'boolean',
7
+ default: true,
8
+ tag: 'tag:yaml.org,2002:bool',
9
+ test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
10
+ resolve: str => new Scalar.Scalar(str[0] === 't' || str[0] === 'T'),
11
+ stringify({ source, value }, ctx) {
12
+ if (source && boolTag.test.test(source)) {
13
+ const sv = source[0] === 't' || source[0] === 'T';
14
+ if (value === sv)
15
+ return source;
16
+ }
17
+ return value ? ctx.options.trueStr : ctx.options.falseStr;
18
+ }
19
+ };
20
+
21
+ exports.boolTag = boolTag;
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var Scalar = require('../../nodes/Scalar.js');
4
+ var stringifyNumber = require('../../stringify/stringifyNumber.js');
5
+
6
+ const floatNaN = {
7
+ identify: value => typeof value === 'number',
8
+ default: true,
9
+ tag: 'tag:yaml.org,2002:float',
10
+ test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
11
+ resolve: str => str.slice(-3).toLowerCase() === 'nan'
12
+ ? NaN
13
+ : str[0] === '-'
14
+ ? Number.NEGATIVE_INFINITY
15
+ : Number.POSITIVE_INFINITY,
16
+ stringify: stringifyNumber.stringifyNumber
17
+ };
18
+ const floatExp = {
19
+ identify: value => typeof value === 'number',
20
+ default: true,
21
+ tag: 'tag:yaml.org,2002:float',
22
+ format: 'EXP',
23
+ test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
24
+ resolve: str => parseFloat(str),
25
+ stringify(node) {
26
+ const num = Number(node.value);
27
+ return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
28
+ }
29
+ };
30
+ const float = {
31
+ identify: value => typeof value === 'number',
32
+ default: true,
33
+ tag: 'tag:yaml.org,2002:float',
34
+ test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
35
+ resolve(str) {
36
+ const node = new Scalar.Scalar(parseFloat(str));
37
+ const dot = str.indexOf('.');
38
+ if (dot !== -1 && str[str.length - 1] === '0')
39
+ node.minFractionDigits = str.length - dot - 1;
40
+ return node;
41
+ },
42
+ stringify: stringifyNumber.stringifyNumber
43
+ };
44
+
45
+ exports.float = float;
46
+ exports.floatExp = floatExp;
47
+ exports.floatNaN = floatNaN;
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var stringifyNumber = require('../../stringify/stringifyNumber.js');
4
+
5
+ const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
6
+ const intResolve = (str, offset, radix, { intAsBigInt }) => (intAsBigInt ? BigInt(str) : parseInt(str.substring(offset), radix));
7
+ function intStringify(node, radix, prefix) {
8
+ const { value } = node;
9
+ if (intIdentify(value) && value >= 0)
10
+ return prefix + value.toString(radix);
11
+ return stringifyNumber.stringifyNumber(node);
12
+ }
13
+ const intOct = {
14
+ identify: value => intIdentify(value) && value >= 0,
15
+ default: true,
16
+ tag: 'tag:yaml.org,2002:int',
17
+ format: 'OCT',
18
+ test: /^0o[0-7]+$/,
19
+ resolve: (str, _onError, opt) => intResolve(str, 2, 8, opt),
20
+ stringify: node => intStringify(node, 8, '0o')
21
+ };
22
+ const int = {
23
+ identify: intIdentify,
24
+ default: true,
25
+ tag: 'tag:yaml.org,2002:int',
26
+ test: /^[-+]?[0-9]+$/,
27
+ resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
28
+ stringify: stringifyNumber.stringifyNumber
29
+ };
30
+ const intHex = {
31
+ identify: value => intIdentify(value) && value >= 0,
32
+ default: true,
33
+ tag: 'tag:yaml.org,2002:int',
34
+ format: 'HEX',
35
+ test: /^0x[0-9a-fA-F]+$/,
36
+ resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
37
+ stringify: node => intStringify(node, 16, '0x')
38
+ };
39
+
40
+ exports.int = int;
41
+ exports.intHex = intHex;
42
+ exports.intOct = intOct;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var map = require('../common/map.js');
4
+ var _null = require('../common/null.js');
5
+ var seq = require('../common/seq.js');
6
+ var string = require('../common/string.js');
7
+ var bool = require('./bool.js');
8
+ var float = require('./float.js');
9
+ var int = require('./int.js');
10
+
11
+ const schema = [
12
+ map.map,
13
+ seq.seq,
14
+ string.string,
15
+ _null.nullTag,
16
+ bool.boolTag,
17
+ int.intOct,
18
+ int.int,
19
+ int.intHex,
20
+ float.floatNaN,
21
+ float.floatExp,
22
+ float.float
23
+ ];
24
+
25
+ exports.schema = schema;
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ var Scalar = require('../../nodes/Scalar.js');
4
+ var map = require('../common/map.js');
5
+ var seq = require('../common/seq.js');
6
+
7
+ function intIdentify(value) {
8
+ return typeof value === 'bigint' || Number.isInteger(value);
9
+ }
10
+ const stringifyJSON = ({ value }) => JSON.stringify(value);
11
+ const jsonScalars = [
12
+ {
13
+ identify: value => typeof value === 'string',
14
+ default: true,
15
+ tag: 'tag:yaml.org,2002:str',
16
+ resolve: str => str,
17
+ stringify: stringifyJSON
18
+ },
19
+ {
20
+ identify: value => value == null,
21
+ createNode: () => new Scalar.Scalar(null),
22
+ default: true,
23
+ tag: 'tag:yaml.org,2002:null',
24
+ test: /^null$/,
25
+ resolve: () => null,
26
+ stringify: stringifyJSON
27
+ },
28
+ {
29
+ identify: value => typeof value === 'boolean',
30
+ default: true,
31
+ tag: 'tag:yaml.org,2002:bool',
32
+ test: /^true$|^false$/,
33
+ resolve: str => str === 'true',
34
+ stringify: stringifyJSON
35
+ },
36
+ {
37
+ identify: intIdentify,
38
+ default: true,
39
+ tag: 'tag:yaml.org,2002:int',
40
+ test: /^-?(?:0|[1-9][0-9]*)$/,
41
+ resolve: (str, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str, 10),
42
+ stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
43
+ },
44
+ {
45
+ identify: value => typeof value === 'number',
46
+ default: true,
47
+ tag: 'tag:yaml.org,2002:float',
48
+ test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
49
+ resolve: str => parseFloat(str),
50
+ stringify: stringifyJSON
51
+ }
52
+ ];
53
+ const jsonError = {
54
+ default: true,
55
+ tag: '',
56
+ test: /^/,
57
+ resolve(str, onError) {
58
+ onError(`Unresolved plain scalar ${JSON.stringify(str)}`);
59
+ return str;
60
+ }
61
+ };
62
+ const schema = [map.map, seq.seq].concat(jsonScalars, jsonError);
63
+
64
+ exports.schema = schema;
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ var map = require('./common/map.js');
4
+ var _null = require('./common/null.js');
5
+ var seq = require('./common/seq.js');
6
+ var string = require('./common/string.js');
7
+ var bool = require('./core/bool.js');
8
+ var float = require('./core/float.js');
9
+ var int = require('./core/int.js');
10
+ var schema = require('./core/schema.js');
11
+ var schema$1 = require('./json/schema.js');
12
+ var binary = require('./yaml-1.1/binary.js');
13
+ var merge = require('./yaml-1.1/merge.js');
14
+ var omap = require('./yaml-1.1/omap.js');
15
+ var pairs = require('./yaml-1.1/pairs.js');
16
+ var schema$2 = require('./yaml-1.1/schema.js');
17
+ var set = require('./yaml-1.1/set.js');
18
+ var timestamp = require('./yaml-1.1/timestamp.js');
19
+
20
+ const schemas = new Map([
21
+ ['core', schema.schema],
22
+ ['failsafe', [map.map, seq.seq, string.string]],
23
+ ['json', schema$1.schema],
24
+ ['yaml11', schema$2.schema],
25
+ ['yaml-1.1', schema$2.schema]
26
+ ]);
27
+ const tagsByName = {
28
+ binary: binary.binary,
29
+ bool: bool.boolTag,
30
+ float: float.float,
31
+ floatExp: float.floatExp,
32
+ floatNaN: float.floatNaN,
33
+ floatTime: timestamp.floatTime,
34
+ int: int.int,
35
+ intHex: int.intHex,
36
+ intOct: int.intOct,
37
+ intTime: timestamp.intTime,
38
+ map: map.map,
39
+ merge: merge.merge,
40
+ null: _null.nullTag,
41
+ omap: omap.omap,
42
+ pairs: pairs.pairs,
43
+ seq: seq.seq,
44
+ set: set.set,
45
+ timestamp: timestamp.timestamp
46
+ };
47
+ const coreKnownTags = {
48
+ 'tag:yaml.org,2002:binary': binary.binary,
49
+ 'tag:yaml.org,2002:merge': merge.merge,
50
+ 'tag:yaml.org,2002:omap': omap.omap,
51
+ 'tag:yaml.org,2002:pairs': pairs.pairs,
52
+ 'tag:yaml.org,2002:set': set.set,
53
+ 'tag:yaml.org,2002:timestamp': timestamp.timestamp
54
+ };
55
+ function getTags(customTags, schemaName, addMergeTag) {
56
+ const schemaTags = schemas.get(schemaName);
57
+ if (schemaTags && !customTags) {
58
+ return addMergeTag && !schemaTags.includes(merge.merge)
59
+ ? schemaTags.concat(merge.merge)
60
+ : schemaTags.slice();
61
+ }
62
+ let tags = schemaTags;
63
+ if (!tags) {
64
+ if (Array.isArray(customTags))
65
+ tags = [];
66
+ else {
67
+ const keys = Array.from(schemas.keys())
68
+ .filter(key => key !== 'yaml11')
69
+ .map(key => JSON.stringify(key))
70
+ .join(', ');
71
+ throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`);
72
+ }
73
+ }
74
+ if (Array.isArray(customTags)) {
75
+ for (const tag of customTags)
76
+ tags = tags.concat(tag);
77
+ }
78
+ else if (typeof customTags === 'function') {
79
+ tags = customTags(tags.slice());
80
+ }
81
+ if (addMergeTag)
82
+ tags = tags.concat(merge.merge);
83
+ return tags.reduce((tags, tag) => {
84
+ const tagObj = typeof tag === 'string' ? tagsByName[tag] : tag;
85
+ if (!tagObj) {
86
+ const tagName = JSON.stringify(tag);
87
+ const keys = Object.keys(tagsByName)
88
+ .map(key => JSON.stringify(key))
89
+ .join(', ');
90
+ throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`);
91
+ }
92
+ if (!tags.includes(tagObj))
93
+ tags.push(tagObj);
94
+ return tags;
95
+ }, []);
96
+ }
97
+
98
+ exports.coreKnownTags = coreKnownTags;
99
+ exports.getTags = getTags;
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ var node_buffer = require('buffer');
4
+ var Scalar = require('../../nodes/Scalar.js');
5
+ var stringifyString = require('../../stringify/stringifyString.js');
6
+
7
+ const binary = {
8
+ identify: value => value instanceof Uint8Array, // Buffer inherits from Uint8Array
9
+ default: false,
10
+ tag: 'tag:yaml.org,2002:binary',
11
+ /**
12
+ * Returns a Buffer in node and an Uint8Array in browsers
13
+ *
14
+ * To use the resulting buffer as an image, you'll want to do something like:
15
+ *
16
+ * const blob = new Blob([buffer], { type: 'image/jpeg' })
17
+ * document.querySelector('#photo').src = URL.createObjectURL(blob)
18
+ */
19
+ resolve(src, onError) {
20
+ if (typeof node_buffer.Buffer === 'function') {
21
+ return node_buffer.Buffer.from(src, 'base64');
22
+ }
23
+ else if (typeof atob === 'function') {
24
+ // On IE 11, atob() can't handle newlines
25
+ const str = atob(src.replace(/[\n\r]/g, ''));
26
+ const buffer = new Uint8Array(str.length);
27
+ for (let i = 0; i < str.length; ++i)
28
+ buffer[i] = str.charCodeAt(i);
29
+ return buffer;
30
+ }
31
+ else {
32
+ onError('This environment does not support reading binary tags; either Buffer or atob is required');
33
+ return src;
34
+ }
35
+ },
36
+ stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
37
+ if (!value)
38
+ return '';
39
+ const buf = value; // checked earlier by binary.identify()
40
+ let str;
41
+ if (typeof node_buffer.Buffer === 'function') {
42
+ str =
43
+ buf instanceof node_buffer.Buffer
44
+ ? buf.toString('base64')
45
+ : node_buffer.Buffer.from(buf.buffer).toString('base64');
46
+ }
47
+ else if (typeof btoa === 'function') {
48
+ let s = '';
49
+ for (let i = 0; i < buf.length; ++i)
50
+ s += String.fromCharCode(buf[i]);
51
+ str = btoa(s);
52
+ }
53
+ else {
54
+ throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
55
+ }
56
+ type ?? (type = Scalar.Scalar.BLOCK_LITERAL);
57
+ if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
58
+ const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
59
+ const n = Math.ceil(str.length / lineWidth);
60
+ const lines = new Array(n);
61
+ for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
62
+ lines[i] = str.substr(o, lineWidth);
63
+ }
64
+ str = lines.join(type === Scalar.Scalar.BLOCK_LITERAL ? '\n' : ' ');
65
+ }
66
+ return stringifyString.stringifyString({ comment, type, value: str }, ctx, onComment, onChompKeep);
67
+ }
68
+ };
69
+
70
+ exports.binary = binary;
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var Scalar = require('../../nodes/Scalar.js');
4
+
5
+ function boolStringify({ value, source }, ctx) {
6
+ const boolObj = value ? trueTag : falseTag;
7
+ if (source && boolObj.test.test(source))
8
+ return source;
9
+ return value ? ctx.options.trueStr : ctx.options.falseStr;
10
+ }
11
+ const trueTag = {
12
+ identify: value => value === true,
13
+ default: true,
14
+ tag: 'tag:yaml.org,2002:bool',
15
+ test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
16
+ resolve: () => new Scalar.Scalar(true),
17
+ stringify: boolStringify
18
+ };
19
+ const falseTag = {
20
+ identify: value => value === false,
21
+ default: true,
22
+ tag: 'tag:yaml.org,2002:bool',
23
+ test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
24
+ resolve: () => new Scalar.Scalar(false),
25
+ stringify: boolStringify
26
+ };
27
+
28
+ exports.falseTag = falseTag;
29
+ exports.trueTag = trueTag;
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ var Scalar = require('../../nodes/Scalar.js');
4
+ var stringifyNumber = require('../../stringify/stringifyNumber.js');
5
+
6
+ const floatNaN = {
7
+ identify: value => typeof value === 'number',
8
+ default: true,
9
+ tag: 'tag:yaml.org,2002:float',
10
+ test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
11
+ resolve: (str) => str.slice(-3).toLowerCase() === 'nan'
12
+ ? NaN
13
+ : str[0] === '-'
14
+ ? Number.NEGATIVE_INFINITY
15
+ : Number.POSITIVE_INFINITY,
16
+ stringify: stringifyNumber.stringifyNumber
17
+ };
18
+ const floatExp = {
19
+ identify: value => typeof value === 'number',
20
+ default: true,
21
+ tag: 'tag:yaml.org,2002:float',
22
+ format: 'EXP',
23
+ test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
24
+ resolve: (str) => parseFloat(str.replace(/_/g, '')),
25
+ stringify(node) {
26
+ const num = Number(node.value);
27
+ return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
28
+ }
29
+ };
30
+ const float = {
31
+ identify: value => typeof value === 'number',
32
+ default: true,
33
+ tag: 'tag:yaml.org,2002:float',
34
+ test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
35
+ resolve(str) {
36
+ const node = new Scalar.Scalar(parseFloat(str.replace(/_/g, '')));
37
+ const dot = str.indexOf('.');
38
+ if (dot !== -1) {
39
+ const f = str.substring(dot + 1).replace(/_/g, '');
40
+ if (f[f.length - 1] === '0')
41
+ node.minFractionDigits = f.length;
42
+ }
43
+ return node;
44
+ },
45
+ stringify: stringifyNumber.stringifyNumber
46
+ };
47
+
48
+ exports.float = float;
49
+ exports.floatExp = floatExp;
50
+ exports.floatNaN = floatNaN;