@actions/workflow-parser 0.2.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 (292) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -0
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +5 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/model/convert.d.ts +31 -0
  8. package/dist/model/convert.d.ts.map +1 -0
  9. package/dist/model/convert.js +105 -0
  10. package/dist/model/convert.js.map +1 -0
  11. package/dist/model/converter/concurrency.d.ts +5 -0
  12. package/dist/model/converter/concurrency.d.ts.map +1 -0
  13. package/dist/model/converter/concurrency.js +30 -0
  14. package/dist/model/converter/concurrency.js.map +1 -0
  15. package/dist/model/converter/container.d.ts +6 -0
  16. package/dist/model/converter/container.d.ts.map +1 -0
  17. package/dist/model/converter/container.js +97 -0
  18. package/dist/model/converter/container.js.map +1 -0
  19. package/dist/model/converter/cron-constants.d.ts +44 -0
  20. package/dist/model/converter/cron-constants.d.ts.map +1 -0
  21. package/dist/model/converter/cron-constants.js +30 -0
  22. package/dist/model/converter/cron-constants.js.map +1 -0
  23. package/dist/model/converter/cron.d.ts +3 -0
  24. package/dist/model/converter/cron.d.ts.map +1 -0
  25. package/dist/model/converter/cron.js +92 -0
  26. package/dist/model/converter/cron.js.map +1 -0
  27. package/dist/model/converter/events.d.ts +5 -0
  28. package/dist/model/converter/events.d.ts.map +1 -0
  29. package/dist/model/converter/events.js +123 -0
  30. package/dist/model/converter/events.js.map +1 -0
  31. package/dist/model/converter/handle-errors.d.ts +4 -0
  32. package/dist/model/converter/handle-errors.d.ts.map +1 -0
  33. package/dist/model/converter/handle-errors.js +18 -0
  34. package/dist/model/converter/handle-errors.js.map +1 -0
  35. package/dist/model/converter/id-builder.d.ts +23 -0
  36. package/dist/model/converter/id-builder.d.ts.map +1 -0
  37. package/dist/model/converter/id-builder.js +113 -0
  38. package/dist/model/converter/id-builder.js.map +1 -0
  39. package/dist/model/converter/job/environment.d.ts +5 -0
  40. package/dist/model/converter/job/environment.d.ts.map +1 -0
  41. package/dist/model/converter/job/environment.js +28 -0
  42. package/dist/model/converter/job/environment.js.map +1 -0
  43. package/dist/model/converter/job/inputs.d.ts +8 -0
  44. package/dist/model/converter/job/inputs.d.ts.map +1 -0
  45. package/dist/model/converter/job/inputs.js +38 -0
  46. package/dist/model/converter/job/inputs.js.map +1 -0
  47. package/dist/model/converter/job/runs-on.d.ts +9 -0
  48. package/dist/model/converter/job/runs-on.d.ts.map +1 -0
  49. package/dist/model/converter/job/runs-on.js +78 -0
  50. package/dist/model/converter/job/runs-on.js.map +1 -0
  51. package/dist/model/converter/job/secrets.d.ts +4 -0
  52. package/dist/model/converter/job/secrets.d.ts.map +1 -0
  53. package/dist/model/converter/job/secrets.js +32 -0
  54. package/dist/model/converter/job/secrets.js.map +1 -0
  55. package/dist/model/converter/job.d.ts +5 -0
  56. package/dist/model/converter/job.d.ts.map +1 -0
  57. package/dist/model/converter/job.js +144 -0
  58. package/dist/model/converter/job.js.map +1 -0
  59. package/dist/model/converter/jobs.d.ts +5 -0
  60. package/dist/model/converter/jobs.d.ts.map +1 -0
  61. package/dist/model/converter/jobs.js +74 -0
  62. package/dist/model/converter/jobs.js.map +1 -0
  63. package/dist/model/converter/referencedWorkflow.d.ts +5 -0
  64. package/dist/model/converter/referencedWorkflow.d.ts.map +1 -0
  65. package/dist/model/converter/referencedWorkflow.js +85 -0
  66. package/dist/model/converter/referencedWorkflow.js.map +1 -0
  67. package/dist/model/converter/steps.d.ts +5 -0
  68. package/dist/model/converter/steps.d.ts.map +1 -0
  69. package/dist/model/converter/steps.js +113 -0
  70. package/dist/model/converter/steps.js.map +1 -0
  71. package/dist/model/converter/string-list.d.ts +3 -0
  72. package/dist/model/converter/string-list.d.ts.map +1 -0
  73. package/dist/model/converter/string-list.js +8 -0
  74. package/dist/model/converter/string-list.js.map +1 -0
  75. package/dist/model/converter/workflow-call.d.ts +5 -0
  76. package/dist/model/converter/workflow-call.d.ts.map +1 -0
  77. package/dist/model/converter/workflow-call.js +45 -0
  78. package/dist/model/converter/workflow-call.js.map +1 -0
  79. package/dist/model/converter/workflow-dispatch.d.ts +9 -0
  80. package/dist/model/converter/workflow-dispatch.d.ts.map +1 -0
  81. package/dist/model/converter/workflow-dispatch.js +82 -0
  82. package/dist/model/converter/workflow-dispatch.js.map +1 -0
  83. package/dist/model/type-guards.d.ts +6 -0
  84. package/dist/model/type-guards.d.ts.map +1 -0
  85. package/dist/model/type-guards.js +13 -0
  86. package/dist/model/type-guards.js.map +1 -0
  87. package/dist/model/workflow-template.d.ts +157 -0
  88. package/dist/model/workflow-template.d.ts.map +1 -0
  89. package/dist/model/workflow-template.js +8 -0
  90. package/dist/model/workflow-template.js.map +1 -0
  91. package/dist/templates/allowed-context.d.ts +6 -0
  92. package/dist/templates/allowed-context.d.ts.map +1 -0
  93. package/dist/templates/allowed-context.js +30 -0
  94. package/dist/templates/allowed-context.js.map +1 -0
  95. package/dist/templates/json-object-reader.d.ts +20 -0
  96. package/dist/templates/json-object-reader.d.ts.map +1 -0
  97. package/dist/templates/json-object-reader.js +135 -0
  98. package/dist/templates/json-object-reader.js.map +1 -0
  99. package/dist/templates/object-reader.d.ts +15 -0
  100. package/dist/templates/object-reader.d.ts.map +1 -0
  101. package/dist/templates/object-reader.js +2 -0
  102. package/dist/templates/object-reader.js.map +1 -0
  103. package/dist/templates/parse-event.d.ts +16 -0
  104. package/dist/templates/parse-event.d.ts.map +1 -0
  105. package/dist/templates/parse-event.js +17 -0
  106. package/dist/templates/parse-event.js.map +1 -0
  107. package/dist/templates/schema/boolean-definition.d.ts +10 -0
  108. package/dist/templates/schema/boolean-definition.d.ts.map +1 -0
  109. package/dist/templates/schema/boolean-definition.js +41 -0
  110. package/dist/templates/schema/boolean-definition.js.map +1 -0
  111. package/dist/templates/schema/definition-info.d.ts +16 -0
  112. package/dist/templates/schema/definition-info.d.ts.map +1 -0
  113. package/dist/templates/schema/definition-info.js +40 -0
  114. package/dist/templates/schema/definition-info.js.map +1 -0
  115. package/dist/templates/schema/definition-type.d.ts +11 -0
  116. package/dist/templates/schema/definition-type.d.ts.map +1 -0
  117. package/dist/templates/schema/definition-type.js +12 -0
  118. package/dist/templates/schema/definition-type.js.map +1 -0
  119. package/dist/templates/schema/definition.d.ts +24 -0
  120. package/dist/templates/schema/definition.d.ts.map +1 -0
  121. package/dist/templates/schema/definition.js +62 -0
  122. package/dist/templates/schema/definition.js.map +1 -0
  123. package/dist/templates/schema/index.d.ts +2 -0
  124. package/dist/templates/schema/index.d.ts.map +1 -0
  125. package/dist/templates/schema/index.js +2 -0
  126. package/dist/templates/schema/index.js.map +1 -0
  127. package/dist/templates/schema/mapping-definition.d.ts +16 -0
  128. package/dist/templates/schema/mapping-definition.d.ts.map +1 -0
  129. package/dist/templates/schema/mapping-definition.js +81 -0
  130. package/dist/templates/schema/mapping-definition.js.map +1 -0
  131. package/dist/templates/schema/null-definition.d.ts +10 -0
  132. package/dist/templates/schema/null-definition.d.ts.map +1 -0
  133. package/dist/templates/schema/null-definition.js +41 -0
  134. package/dist/templates/schema/null-definition.js.map +1 -0
  135. package/dist/templates/schema/number-definition.d.ts +10 -0
  136. package/dist/templates/schema/number-definition.d.ts.map +1 -0
  137. package/dist/templates/schema/number-definition.js +41 -0
  138. package/dist/templates/schema/number-definition.js.map +1 -0
  139. package/dist/templates/schema/one-of-definition.d.ts +15 -0
  140. package/dist/templates/schema/one-of-definition.d.ts.map +1 -0
  141. package/dist/templates/schema/one-of-definition.js +154 -0
  142. package/dist/templates/schema/one-of-definition.js.map +1 -0
  143. package/dist/templates/schema/property-definition.d.ts +8 -0
  144. package/dist/templates/schema/property-definition.d.ts.map +1 -0
  145. package/dist/templates/schema/property-definition.js +31 -0
  146. package/dist/templates/schema/property-definition.js.map +1 -0
  147. package/dist/templates/schema/scalar-definition.d.ts +7 -0
  148. package/dist/templates/schema/scalar-definition.d.ts.map +1 -0
  149. package/dist/templates/schema/scalar-definition.js +7 -0
  150. package/dist/templates/schema/scalar-definition.js.map +1 -0
  151. package/dist/templates/schema/sequence-definition.d.ts +11 -0
  152. package/dist/templates/schema/sequence-definition.d.ts.map +1 -0
  153. package/dist/templates/schema/sequence-definition.js +47 -0
  154. package/dist/templates/schema/sequence-definition.js.map +1 -0
  155. package/dist/templates/schema/string-definition.d.ts +14 -0
  156. package/dist/templates/schema/string-definition.d.ts.map +1 -0
  157. package/dist/templates/schema/string-definition.js +79 -0
  158. package/dist/templates/schema/string-definition.js.map +1 -0
  159. package/dist/templates/schema/template-schema.d.ts +47 -0
  160. package/dist/templates/schema/template-schema.d.ts.map +1 -0
  161. package/dist/templates/schema/template-schema.js +377 -0
  162. package/dist/templates/schema/template-schema.js.map +1 -0
  163. package/dist/templates/template-constants.d.ts +49 -0
  164. package/dist/templates/template-constants.d.ts.map +1 -0
  165. package/dist/templates/template-constants.js +49 -0
  166. package/dist/templates/template-constants.js.map +1 -0
  167. package/dist/templates/template-context.d.ts +66 -0
  168. package/dist/templates/template-context.d.ts.map +1 -0
  169. package/dist/templates/template-context.js +118 -0
  170. package/dist/templates/template-context.js.map +1 -0
  171. package/dist/templates/template-reader.d.ts +9 -0
  172. package/dist/templates/template-reader.d.ts.map +1 -0
  173. package/dist/templates/template-reader.js +595 -0
  174. package/dist/templates/template-reader.js.map +1 -0
  175. package/dist/templates/template-validation-error.d.ts +14 -0
  176. package/dist/templates/template-validation-error.d.ts.map +1 -0
  177. package/dist/templates/template-validation-error.js +21 -0
  178. package/dist/templates/template-validation-error.js.map +1 -0
  179. package/dist/templates/tokens/basic-expression-token.d.ts +27 -0
  180. package/dist/templates/tokens/basic-expression-token.d.ts.map +1 -0
  181. package/dist/templates/tokens/basic-expression-token.js +38 -0
  182. package/dist/templates/tokens/basic-expression-token.js.map +1 -0
  183. package/dist/templates/tokens/boolean-token.d.ts +12 -0
  184. package/dist/templates/tokens/boolean-token.d.ts.map +1 -0
  185. package/dist/templates/tokens/boolean-token.js +23 -0
  186. package/dist/templates/tokens/boolean-token.js.map +1 -0
  187. package/dist/templates/tokens/expression-token.d.ts +11 -0
  188. package/dist/templates/tokens/expression-token.d.ts.map +1 -0
  189. package/dist/templates/tokens/expression-token.js +24 -0
  190. package/dist/templates/tokens/expression-token.js.map +1 -0
  191. package/dist/templates/tokens/index.d.ts +14 -0
  192. package/dist/templates/tokens/index.d.ts.map +1 -0
  193. package/dist/templates/tokens/index.js +14 -0
  194. package/dist/templates/tokens/index.js.map +1 -0
  195. package/dist/templates/tokens/insert-expression-token.d.ts +12 -0
  196. package/dist/templates/tokens/insert-expression-token.d.ts.map +1 -0
  197. package/dist/templates/tokens/insert-expression-token.js +26 -0
  198. package/dist/templates/tokens/insert-expression-token.js.map +1 -0
  199. package/dist/templates/tokens/key-value-pair.d.ts +8 -0
  200. package/dist/templates/tokens/key-value-pair.d.ts.map +1 -0
  201. package/dist/templates/tokens/key-value-pair.js +7 -0
  202. package/dist/templates/tokens/key-value-pair.js.map +1 -0
  203. package/dist/templates/tokens/literal-token.d.ts +14 -0
  204. package/dist/templates/tokens/literal-token.d.ts.map +1 -0
  205. package/dist/templates/tokens/literal-token.js +22 -0
  206. package/dist/templates/tokens/literal-token.js.map +1 -0
  207. package/dist/templates/tokens/mapping-token.d.ts +20 -0
  208. package/dist/templates/tokens/mapping-token.d.ts.map +1 -0
  209. package/dist/templates/tokens/mapping-token.js +58 -0
  210. package/dist/templates/tokens/mapping-token.js.map +1 -0
  211. package/dist/templates/tokens/null-token.d.ts +10 -0
  212. package/dist/templates/tokens/null-token.d.ts.map +1 -0
  213. package/dist/templates/tokens/null-token.js +19 -0
  214. package/dist/templates/tokens/null-token.js.map +1 -0
  215. package/dist/templates/tokens/number-token.d.ts +12 -0
  216. package/dist/templates/tokens/number-token.d.ts.map +1 -0
  217. package/dist/templates/tokens/number-token.js +23 -0
  218. package/dist/templates/tokens/number-token.js.map +1 -0
  219. package/dist/templates/tokens/scalar-token.d.ts +14 -0
  220. package/dist/templates/tokens/scalar-token.d.ts.map +1 -0
  221. package/dist/templates/tokens/scalar-token.js +22 -0
  222. package/dist/templates/tokens/scalar-token.js.map +1 -0
  223. package/dist/templates/tokens/sequence-token.d.ts +18 -0
  224. package/dist/templates/tokens/sequence-token.d.ts.map +1 -0
  225. package/dist/templates/tokens/sequence-token.js +47 -0
  226. package/dist/templates/tokens/sequence-token.js.map +1 -0
  227. package/dist/templates/tokens/serialization.d.ts +21 -0
  228. package/dist/templates/tokens/serialization.d.ts.map +1 -0
  229. package/dist/templates/tokens/serialization.js +2 -0
  230. package/dist/templates/tokens/serialization.js.map +1 -0
  231. package/dist/templates/tokens/string-token.d.ts +12 -0
  232. package/dist/templates/tokens/string-token.d.ts.map +1 -0
  233. package/dist/templates/tokens/string-token.js +21 -0
  234. package/dist/templates/tokens/string-token.js.map +1 -0
  235. package/dist/templates/tokens/template-token.d.ts +70 -0
  236. package/dist/templates/tokens/template-token.d.ts.map +1 -0
  237. package/dist/templates/tokens/template-token.js +138 -0
  238. package/dist/templates/tokens/template-token.js.map +1 -0
  239. package/dist/templates/tokens/token-range.d.ts +12 -0
  240. package/dist/templates/tokens/token-range.d.ts.map +1 -0
  241. package/dist/templates/tokens/token-range.js +2 -0
  242. package/dist/templates/tokens/token-range.js.map +1 -0
  243. package/dist/templates/tokens/traversal-state.d.ts +12 -0
  244. package/dist/templates/tokens/traversal-state.d.ts.map +1 -0
  245. package/dist/templates/tokens/traversal-state.js +54 -0
  246. package/dist/templates/tokens/traversal-state.js.map +1 -0
  247. package/dist/templates/tokens/type-guards.d.ts +18 -0
  248. package/dist/templates/tokens/type-guards.d.ts.map +1 -0
  249. package/dist/templates/tokens/type-guards.js +28 -0
  250. package/dist/templates/tokens/type-guards.js.map +1 -0
  251. package/dist/templates/tokens/types.d.ts +12 -0
  252. package/dist/templates/tokens/types.d.ts.map +1 -0
  253. package/dist/templates/tokens/types.js +37 -0
  254. package/dist/templates/tokens/types.js.map +1 -0
  255. package/dist/templates/trace-writer.d.ts +11 -0
  256. package/dist/templates/trace-writer.d.ts.map +1 -0
  257. package/dist/templates/trace-writer.js +12 -0
  258. package/dist/templates/trace-writer.js.map +1 -0
  259. package/dist/test-utils/null-trace.d.ts +3 -0
  260. package/dist/test-utils/null-trace.d.ts.map +1 -0
  261. package/dist/test-utils/null-trace.js +3 -0
  262. package/dist/test-utils/null-trace.js.map +1 -0
  263. package/dist/workflow-v1.0.json +2511 -0
  264. package/dist/workflows/file-provider.d.ts +6 -0
  265. package/dist/workflows/file-provider.d.ts.map +1 -0
  266. package/dist/workflows/file-provider.js +2 -0
  267. package/dist/workflows/file-provider.js.map +1 -0
  268. package/dist/workflows/file-reference.d.ts +13 -0
  269. package/dist/workflows/file-reference.d.ts.map +1 -0
  270. package/dist/workflows/file-reference.js +25 -0
  271. package/dist/workflows/file-reference.js.map +1 -0
  272. package/dist/workflows/file.d.ts +5 -0
  273. package/dist/workflows/file.d.ts.map +1 -0
  274. package/dist/workflows/file.js +2 -0
  275. package/dist/workflows/file.js.map +1 -0
  276. package/dist/workflows/workflow-constants.d.ts +2 -0
  277. package/dist/workflows/workflow-constants.d.ts.map +1 -0
  278. package/dist/workflows/workflow-constants.js +2 -0
  279. package/dist/workflows/workflow-constants.js.map +1 -0
  280. package/dist/workflows/workflow-parser.d.ts +11 -0
  281. package/dist/workflows/workflow-parser.d.ts.map +1 -0
  282. package/dist/workflows/workflow-parser.js +28 -0
  283. package/dist/workflows/workflow-parser.js.map +1 -0
  284. package/dist/workflows/workflow-schema.d.ts +3 -0
  285. package/dist/workflows/workflow-schema.d.ts.map +1 -0
  286. package/dist/workflows/workflow-schema.js +12 -0
  287. package/dist/workflows/workflow-schema.js.map +1 -0
  288. package/dist/workflows/yaml-object-reader.d.ts +26 -0
  289. package/dist/workflows/yaml-object-reader.d.ts.map +1 -0
  290. package/dist/workflows/yaml-object-reader.js +178 -0
  291. package/dist/workflows/yaml-object-reader.js.map +1 -0
  292. package/package.json +70 -0
@@ -0,0 +1,47 @@
1
+ import { TemplateToken } from ".";
2
+ import { TokenType } from "./types";
3
+ export class SequenceToken extends TemplateToken {
4
+ constructor(file, range, definitionInfo) {
5
+ super(TokenType.Sequence, file, range, definitionInfo);
6
+ this.seq = [];
7
+ }
8
+ get count() {
9
+ return this.seq.length;
10
+ }
11
+ get isScalar() {
12
+ return false;
13
+ }
14
+ get isLiteral() {
15
+ return false;
16
+ }
17
+ get isExpression() {
18
+ return false;
19
+ }
20
+ add(value) {
21
+ this.seq.push(value);
22
+ }
23
+ get(index) {
24
+ return this.seq[index];
25
+ }
26
+ clone(omitSource) {
27
+ const result = omitSource
28
+ ? new SequenceToken(undefined, undefined, this.definitionInfo)
29
+ : new SequenceToken(this.file, this.range, this.definitionInfo);
30
+ for (const item of this.seq) {
31
+ result.add(item.clone(omitSource));
32
+ }
33
+ return result;
34
+ }
35
+ toJSON() {
36
+ return {
37
+ type: TokenType.Sequence,
38
+ seq: this.seq
39
+ };
40
+ }
41
+ *[Symbol.iterator]() {
42
+ for (const item of this.seq) {
43
+ yield item;
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=sequence-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequence-token.js","sourceRoot":"","sources":["../../../src/templates/tokens/sequence-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,GAAG,CAAC;AAIhC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,aAAc,SAAQ,aAAa;IAG9C,YACE,IAAwB,EACxB,KAA6B,EAC7B,cAA0C;QAE1C,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAPxC,QAAG,GAAoB,EAAE,CAAC;IAQ3C,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAoB,QAAQ;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAoB,SAAS;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAoB,YAAY;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,GAAG,CAAC,KAAoB;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEM,GAAG,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAEe,KAAK,CAAC,UAAoB;QACxC,MAAM,MAAM,GAAG,UAAU;YACvB,CAAC,CAAC,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;YAC9D,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;SACpC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAEM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM,IAAI,CAAC;SACZ;IACH,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import { ScalarToken } from "./scalar-token";
2
+ import { TemplateToken } from "./template-token";
3
+ import { TokenType } from "./types";
4
+ export type MapItem = {
5
+ Key: ScalarToken;
6
+ Value: TemplateToken;
7
+ };
8
+ export type SerializedMappingToken = {
9
+ type: TokenType.Mapping;
10
+ map: MapItem[];
11
+ };
12
+ export type SerializedSequenceToken = {
13
+ type: TokenType.Sequence;
14
+ seq: TemplateToken[];
15
+ };
16
+ export type SerializedExpressionToken = {
17
+ type: TokenType.BasicExpression | TokenType.InsertExpression;
18
+ expr: string;
19
+ };
20
+ export type SerializedToken = SerializedMappingToken | SerializedSequenceToken | SerializedExpressionToken | string | number | boolean | null | undefined;
21
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/templates/tokens/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;IACxB,GAAG,EAAE,OAAO,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC;IACzB,GAAG,EAAE,aAAa,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,sBAAsB,GACtB,uBAAuB,GACvB,yBAAyB,GACzB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/templates/tokens/serialization.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { LiteralToken, TemplateToken } from ".";
2
+ import { DefinitionInfo } from "../schema/definition-info";
3
+ import { TokenRange } from "./token-range";
4
+ export declare class StringToken extends LiteralToken {
5
+ readonly value: string;
6
+ readonly source: string | undefined;
7
+ constructor(file: number | undefined, range: TokenRange | undefined, value: string, definitionInfo: DefinitionInfo | undefined, source?: string);
8
+ clone(omitSource?: boolean): TemplateToken;
9
+ toString(): string;
10
+ toJSON(): string;
11
+ }
12
+ //# sourceMappingURL=string-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-token.d.ts","sourceRoot":"","sources":["../../../src/templates/tokens/string-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,GAAG,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAGzC,qBAAa,WAAY,SAAQ,YAAY;IAC3C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGzC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,MAAM,CAAC,EAAE,MAAM;IAOD,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,aAAa;IAM1C,QAAQ,IAAI,MAAM;IAIlB,MAAM;CAGvB"}
@@ -0,0 +1,21 @@
1
+ import { LiteralToken } from ".";
2
+ import { TokenType } from "./types";
3
+ export class StringToken extends LiteralToken {
4
+ constructor(file, range, value, definitionInfo, source) {
5
+ super(TokenType.String, file, range, definitionInfo);
6
+ this.value = value;
7
+ this.source = source;
8
+ }
9
+ clone(omitSource) {
10
+ return omitSource
11
+ ? new StringToken(undefined, undefined, this.value, this.definitionInfo, this.source)
12
+ : new StringToken(this.file, this.range, this.value, this.definitionInfo, this.source);
13
+ }
14
+ toString() {
15
+ return this.value;
16
+ }
17
+ toJSON() {
18
+ return this.value;
19
+ }
20
+ }
21
+ //# sourceMappingURL=string-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-token.js","sourceRoot":"","sources":["../../../src/templates/tokens/string-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAgB,MAAM,GAAG,CAAC;AAG9C,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,WAAY,SAAQ,YAAY;IAI3C,YACE,IAAwB,EACxB,KAA6B,EAC7B,KAAa,EACb,cAA0C,EAC1C,MAAe;QAEf,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEe,KAAK,CAAC,UAAoB;QACxC,OAAO,UAAU;YACf,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC;YACrF,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAEe,QAAQ;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEe,MAAM;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,70 @@
1
+ import { BooleanToken, MappingToken, NullToken, NumberToken, ScalarToken, SequenceToken, StringToken } from ".";
2
+ import { Definition } from "../schema/definition";
3
+ import { DefinitionInfo } from "../schema/definition-info";
4
+ import { PropertyDefinition } from "../schema/property-definition";
5
+ import { SerializedToken } from "./serialization";
6
+ import { TokenRange } from "./token-range";
7
+ import { TokenType } from "./types";
8
+ export declare class TemplateTokenError extends Error {
9
+ readonly token?: TemplateToken | undefined;
10
+ constructor(message: string, token?: TemplateToken | undefined);
11
+ }
12
+ export declare abstract class TemplateToken {
13
+ private readonly type;
14
+ private _description;
15
+ readonly file: number | undefined;
16
+ readonly range: TokenRange | undefined;
17
+ definitionInfo: DefinitionInfo | undefined;
18
+ propertyDefinition: PropertyDefinition | undefined;
19
+ /**
20
+ * Base class for all template tokens
21
+ */
22
+ constructor(type: TokenType, file: number | undefined, range: TokenRange | undefined, definitionInfo: DefinitionInfo | undefined);
23
+ get templateTokenType(): number;
24
+ get line(): number | undefined;
25
+ get col(): number | undefined;
26
+ get definition(): Definition | undefined;
27
+ get description(): string | undefined;
28
+ set description(description: string | undefined);
29
+ abstract get isScalar(): boolean;
30
+ abstract get isLiteral(): boolean;
31
+ abstract get isExpression(): boolean;
32
+ abstract clone(omitSource?: boolean): TemplateToken;
33
+ typeName(): string;
34
+ /**
35
+ * Asserts expected type and throws a good debug message if unexpected
36
+ */
37
+ assertNull(objectDescription: string): NullToken;
38
+ /**
39
+ * Asserts expected type and throws a good debug message if unexpected
40
+ */
41
+ assertBoolean(objectDescription: string): BooleanToken;
42
+ /**
43
+ * Asserts expected type and throws a good debug message if unexpected
44
+ */
45
+ assertNumber(objectDescription: string): NumberToken;
46
+ /**
47
+ * Asserts expected type and throws a good debug message if unexpected
48
+ */
49
+ assertString(objectDescription: string): StringToken;
50
+ /**
51
+ * Asserts expected type and throws a good debug message if unexpected
52
+ */
53
+ assertScalar(objectDescription: string): ScalarToken;
54
+ /**
55
+ * Asserts expected type and throws a good debug message if unexpected
56
+ */
57
+ assertSequence(objectDescription: string): SequenceToken;
58
+ /**
59
+ * Asserts expected type and throws a good debug message if unexpected
60
+ */
61
+ assertMapping(objectDescription: string): MappingToken;
62
+ /**
63
+ * Returns all tokens (depth first)
64
+ * @param value The object to travese
65
+ * @param omitKeys Whether to omit mapping keys
66
+ */
67
+ static traverse(value: TemplateToken, omitKeys?: boolean): Generator<[parent: TemplateToken | undefined, token: TemplateToken, keyToken: TemplateToken | undefined], void>;
68
+ toJSON(): SerializedToken;
69
+ }
70
+ //# sourceMappingURL=template-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-token.d.ts","sourceRoot":"","sources":["../../../src/templates/tokens/template-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,GAAG,CAAC;AAC9G,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAC,SAAS,EAAgB,MAAM,SAAS,CAAC;AAEjD,qBAAa,kBAAmB,SAAQ,KAAK;aACE,KAAK,CAAC;gBAAvC,OAAO,EAAE,MAAM,EAAkB,KAAK,CAAC,2BAAe;CAGnE;AAED,8BAAsB,aAAa;IAEjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,SAAgB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,SAAgB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAE1D;;OAEG;gBAED,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,cAAc,EAAE,cAAc,GAAG,SAAS;IAQ5C,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED,IAAW,IAAI,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAW,GAAG,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,IAAW,UAAU,IAAI,UAAU,GAAG,SAAS,CAE9C;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAE9C;IAED,aAAoB,QAAQ,IAAI,OAAO,CAAC;IAExC,aAAoB,SAAS,IAAI,OAAO,CAAC;IAEzC,aAAoB,YAAY,IAAI,OAAO,CAAC;aAE5B,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,aAAa;IAEnD,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,UAAU,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS;IAavD;;OAEG;IACI,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,YAAY;IAa7D;;OAEG;IACI,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,WAAW;IAa3D;;OAEG;IACI,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,WAAW;IAa3D;;OAEG;IACI,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,WAAW;IAW3D;;OAEG;IACI,cAAc,CAAC,iBAAiB,EAAE,MAAM,GAAG,aAAa;IAa/D;;OAEG;IACI,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,YAAY;IAa7D;;;;OAIG;WACY,QAAQ,CACrB,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,OAAO,GACjB,SAAS,CAAC,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC;IA4B3G,MAAM,IAAI,eAAe;CAGjC"}
@@ -0,0 +1,138 @@
1
+ import { TraversalState } from "./traversal-state";
2
+ import { TokenType, tokenTypeName } from "./types";
3
+ export class TemplateTokenError extends Error {
4
+ constructor(message, token) {
5
+ super(message);
6
+ this.token = token;
7
+ }
8
+ }
9
+ export class TemplateToken {
10
+ /**
11
+ * Base class for all template tokens
12
+ */
13
+ constructor(type, file, range, definitionInfo) {
14
+ this.type = type;
15
+ this.file = file;
16
+ this.range = range;
17
+ this.definitionInfo = definitionInfo;
18
+ }
19
+ get templateTokenType() {
20
+ return this.type;
21
+ }
22
+ get line() {
23
+ return this.range?.start.line;
24
+ }
25
+ get col() {
26
+ return this.range?.start.column;
27
+ }
28
+ get definition() {
29
+ return this.definitionInfo?.definition;
30
+ }
31
+ get description() {
32
+ return this._description || this.propertyDefinition?.description || this.definition?.description;
33
+ }
34
+ set description(description) {
35
+ this._description = description;
36
+ }
37
+ typeName() {
38
+ return tokenTypeName(this.type);
39
+ }
40
+ /**
41
+ * Asserts expected type and throws a good debug message if unexpected
42
+ */
43
+ assertNull(objectDescription) {
44
+ if (this.type === TokenType.Null) {
45
+ return this;
46
+ }
47
+ throw new TemplateTokenError(`Unexpected type '${this.typeName()}' encountered while reading '${objectDescription}'. The type '${tokenTypeName(TokenType.Null)}' was expected.`, this);
48
+ }
49
+ /**
50
+ * Asserts expected type and throws a good debug message if unexpected
51
+ */
52
+ assertBoolean(objectDescription) {
53
+ if (this.type === TokenType.Boolean) {
54
+ return this;
55
+ }
56
+ throw new TemplateTokenError(`Unexpected type '${this.typeName()}' encountered while reading '${objectDescription}'. The type '${tokenTypeName(TokenType.Boolean)}' was expected.`, this);
57
+ }
58
+ /**
59
+ * Asserts expected type and throws a good debug message if unexpected
60
+ */
61
+ assertNumber(objectDescription) {
62
+ if (this.type === TokenType.Number) {
63
+ return this;
64
+ }
65
+ throw new TemplateTokenError(`Unexpected type '${this.typeName()}' encountered while reading '${objectDescription}'. The type '${tokenTypeName(TokenType.Number)}' was expected.`, this);
66
+ }
67
+ /**
68
+ * Asserts expected type and throws a good debug message if unexpected
69
+ */
70
+ assertString(objectDescription) {
71
+ if (this.type === TokenType.String) {
72
+ return this;
73
+ }
74
+ throw new TemplateTokenError(`Unexpected type '${this.typeName()}' encountered while reading '${objectDescription}'. The type '${tokenTypeName(TokenType.String)}' was expected.`, this);
75
+ }
76
+ /**
77
+ * Asserts expected type and throws a good debug message if unexpected
78
+ */
79
+ assertScalar(objectDescription) {
80
+ if (this?.isScalar === true) {
81
+ return this;
82
+ }
83
+ throw new TemplateTokenError(`Unexpected type '${this.typeName()}' encountered while reading '${objectDescription}'. The type 'ScalarToken' was expected.`, this);
84
+ }
85
+ /**
86
+ * Asserts expected type and throws a good debug message if unexpected
87
+ */
88
+ assertSequence(objectDescription) {
89
+ if (this.type === TokenType.Sequence) {
90
+ return this;
91
+ }
92
+ throw new TemplateTokenError(`Unexpected type '${this.typeName()}' encountered while reading '${objectDescription}'. The type '${tokenTypeName(TokenType.Sequence)}' was expected.`, this);
93
+ }
94
+ /**
95
+ * Asserts expected type and throws a good debug message if unexpected
96
+ */
97
+ assertMapping(objectDescription) {
98
+ if (this.type === TokenType.Mapping) {
99
+ return this;
100
+ }
101
+ throw new TemplateTokenError(`Unexpected type '${this.typeName()}' encountered while reading '${objectDescription}'. The type '${tokenTypeName(TokenType.Mapping)}' was expected.`, this);
102
+ }
103
+ /**
104
+ * Returns all tokens (depth first)
105
+ * @param value The object to travese
106
+ * @param omitKeys Whether to omit mapping keys
107
+ */
108
+ static *traverse(value, omitKeys) {
109
+ yield [undefined, value, undefined];
110
+ switch (value.templateTokenType) {
111
+ case TokenType.Sequence:
112
+ case TokenType.Mapping: {
113
+ let state = new TraversalState(undefined, value);
114
+ state = new TraversalState(state, value);
115
+ while (state.parent) {
116
+ if (state.moveNext(omitKeys ?? false)) {
117
+ value = state.current;
118
+ yield [state.parent?.current, value, state.currentKey];
119
+ switch (value.type) {
120
+ case TokenType.Sequence:
121
+ case TokenType.Mapping:
122
+ state = new TraversalState(state, value);
123
+ break;
124
+ }
125
+ }
126
+ else {
127
+ state = state.parent;
128
+ }
129
+ }
130
+ break;
131
+ }
132
+ }
133
+ }
134
+ toJSON() {
135
+ return undefined;
136
+ }
137
+ }
138
+ //# sourceMappingURL=template-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-token.js","sourceRoot":"","sources":["../../../src/templates/tokens/template-token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Represents the position within a template object */
2
+ export type Position = {
3
+ /** The one-based line value */
4
+ line: number;
5
+ /** The one-based column value */
6
+ column: number;
7
+ };
8
+ export type TokenRange = {
9
+ start: Position;
10
+ end: Position;
11
+ };
12
+ //# sourceMappingURL=token-range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-range.d.ts","sourceRoot":"","sources":["../../../src/templates/tokens/token-range.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,MAAM,QAAQ,GAAG;IACrB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=token-range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-range.js","sourceRoot":"","sources":["../../../src/templates/tokens/token-range.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { TemplateToken } from ".";
2
+ export declare class TraversalState {
3
+ private readonly _token;
4
+ private index;
5
+ private isKey;
6
+ readonly parent: TraversalState | undefined;
7
+ current: TemplateToken | undefined;
8
+ currentKey: TemplateToken | undefined;
9
+ constructor(parent: TraversalState | undefined, token: TemplateToken);
10
+ moveNext(omitKeys: boolean): boolean;
11
+ }
12
+ //# sourceMappingURL=traversal-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traversal-state.d.ts","sourceRoot":"","sources":["../../../src/templates/tokens/traversal-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,GAAG,CAAC;AAKhC,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,KAAK,CAAS;IACtB,SAAgB,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;IACnC,UAAU,EAAE,aAAa,GAAG,SAAS,CAAC;gBAE1B,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,aAAa;IAMpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO;CAiD5C"}
@@ -0,0 +1,54 @@
1
+ import { TokenType } from "./types";
2
+ export class TraversalState {
3
+ constructor(parent, token) {
4
+ this.index = -1;
5
+ this.isKey = false;
6
+ this.parent = parent;
7
+ this._token = token;
8
+ this.current = token;
9
+ }
10
+ moveNext(omitKeys) {
11
+ switch (this._token.templateTokenType) {
12
+ case TokenType.Sequence: {
13
+ const sequence = this._token;
14
+ if (++this.index < sequence.count) {
15
+ this.current = sequence.get(this.index);
16
+ return true;
17
+ }
18
+ this.current = undefined;
19
+ return false;
20
+ }
21
+ case TokenType.Mapping: {
22
+ const mapping = this._token;
23
+ // Already returned the key, now return the value
24
+ if (this.isKey) {
25
+ this.isKey = false;
26
+ this.currentKey = this.current;
27
+ this.current = mapping.get(this.index).value;
28
+ return true;
29
+ }
30
+ // Move next
31
+ if (++this.index < mapping.count) {
32
+ // Skip the key, return the value
33
+ if (omitKeys) {
34
+ this.isKey = false;
35
+ this.currentKey = mapping.get(this.index).key;
36
+ this.current = mapping.get(this.index).value;
37
+ return true;
38
+ }
39
+ // Return the key
40
+ this.isKey = true;
41
+ this.currentKey = undefined;
42
+ this.current = mapping.get(this.index).key;
43
+ return true;
44
+ }
45
+ this.currentKey = undefined;
46
+ this.current = undefined;
47
+ return false;
48
+ }
49
+ default:
50
+ throw new Error(`Unexpected token type '${this._token.templateTokenType}' when traversing state`);
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=traversal-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traversal-state.js","sourceRoot":"","sources":["../../../src/templates/tokens/traversal-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,cAAc;IAQzB,YAAmB,MAAkC,EAAE,KAAoB;QANnE,UAAK,GAAG,CAAC,CAAC,CAAC;QACX,UAAK,GAAG,KAAK,CAAC;QAMpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,QAAQ,CAAC,QAAiB;QAC/B,QAAQ,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACrC,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAuB,CAAC;gBAC9C,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE;oBACjC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxC,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,OAAO,KAAK,CAAC;aACd;YAED,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAsB,CAAC;gBAE5C,iDAAiD;gBACjD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;oBAC7C,OAAO,IAAI,CAAC;iBACb;gBAED,YAAY;gBACZ,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE;oBAChC,iCAAiC;oBACjC,IAAI,QAAQ,EAAE;wBACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wBACnB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;wBAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;wBAC7C,OAAO,IAAI,CAAC;qBACb;oBAED,iBAAiB;oBACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;oBAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;oBAC3C,OAAO,IAAI,CAAC;iBACb;gBAED,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,OAAO,KAAK,CAAC;aACd;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,iBAAiB,yBAAyB,CAAC,CAAC;SACrG;IACH,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import { BasicExpressionToken } from "./basic-expression-token";
2
+ import { BooleanToken } from "./boolean-token";
3
+ import { LiteralToken } from "./literal-token";
4
+ import { MappingToken } from "./mapping-token";
5
+ import { NumberToken } from "./number-token";
6
+ import { ScalarToken } from "./scalar-token";
7
+ import { SequenceToken } from "./sequence-token";
8
+ import { StringToken } from "./string-token";
9
+ import { TemplateToken } from "./template-token";
10
+ export declare function isLiteral(t: TemplateToken): t is LiteralToken;
11
+ export declare function isScalar(t: TemplateToken): t is ScalarToken;
12
+ export declare function isString(t: TemplateToken): t is StringToken;
13
+ export declare function isNumber(t: TemplateToken): t is NumberToken;
14
+ export declare function isBoolean(t: TemplateToken): t is BooleanToken;
15
+ export declare function isBasicExpression(t: TemplateToken): t is BasicExpressionToken;
16
+ export declare function isSequence(t: TemplateToken): t is SequenceToken;
17
+ export declare function isMapping(t: TemplateToken): t is MappingToken;
18
+ //# sourceMappingURL=type-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../../src/templates/tokens/type-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAG/C,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,YAAY,CAE7D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,WAAW,CAE3D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,WAAW,CAE3D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,WAAW,CAE3D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,YAAY,CAE7D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,oBAAoB,CAE7E;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,aAAa,CAE/D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,YAAY,CAE7D"}
@@ -0,0 +1,28 @@
1
+ import { MappingToken } from "./mapping-token";
2
+ import { SequenceToken } from "./sequence-token";
3
+ import { TokenType } from "./types";
4
+ export function isLiteral(t) {
5
+ return t.isLiteral;
6
+ }
7
+ export function isScalar(t) {
8
+ return t.isScalar;
9
+ }
10
+ export function isString(t) {
11
+ return isLiteral(t) && t.templateTokenType === TokenType.String;
12
+ }
13
+ export function isNumber(t) {
14
+ return isLiteral(t) && t.templateTokenType === TokenType.Number;
15
+ }
16
+ export function isBoolean(t) {
17
+ return isLiteral(t) && t.templateTokenType === TokenType.Boolean;
18
+ }
19
+ export function isBasicExpression(t) {
20
+ return isScalar(t) && t.templateTokenType === TokenType.BasicExpression;
21
+ }
22
+ export function isSequence(t) {
23
+ return t instanceof SequenceToken;
24
+ }
25
+ export function isMapping(t) {
26
+ return t instanceof MappingToken;
27
+ }
28
+ //# sourceMappingURL=type-guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../../src/templates/tokens/type-guards.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,MAAM,UAAU,SAAS,CAAC,CAAgB;IACxC,OAAO,CAAC,CAAC,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAgB;IACvC,OAAO,CAAC,CAAC,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAgB;IACvC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,MAAM,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAgB;IACvC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,MAAM,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAgB;IACxC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,OAAO,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAgB;IAChD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,eAAe,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAgB;IACzC,OAAO,CAAC,YAAY,aAAa,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAgB;IACxC,OAAO,CAAC,YAAY,YAAY,CAAC;AACnC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare enum TokenType {
2
+ String = 0,
3
+ Sequence = 1,
4
+ Mapping = 2,
5
+ BasicExpression = 3,
6
+ InsertExpression = 4,
7
+ Boolean = 5,
8
+ Number = 6,
9
+ Null = 7
10
+ }
11
+ export declare function tokenTypeName(type: TokenType): string;
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/templates/tokens/types.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,MAAM,IAAI;IACV,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,eAAe,IAAA;IACf,gBAAgB,IAAA;IAChB,OAAO,IAAA;IACP,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAwBrD"}
@@ -0,0 +1,37 @@
1
+ export var TokenType;
2
+ (function (TokenType) {
3
+ TokenType[TokenType["String"] = 0] = "String";
4
+ TokenType[TokenType["Sequence"] = 1] = "Sequence";
5
+ TokenType[TokenType["Mapping"] = 2] = "Mapping";
6
+ TokenType[TokenType["BasicExpression"] = 3] = "BasicExpression";
7
+ TokenType[TokenType["InsertExpression"] = 4] = "InsertExpression";
8
+ TokenType[TokenType["Boolean"] = 5] = "Boolean";
9
+ TokenType[TokenType["Number"] = 6] = "Number";
10
+ TokenType[TokenType["Null"] = 7] = "Null";
11
+ })(TokenType || (TokenType = {}));
12
+ export function tokenTypeName(type) {
13
+ switch (type) {
14
+ case TokenType.String:
15
+ return "StringToken";
16
+ case TokenType.Sequence:
17
+ return "SequenceToken";
18
+ case TokenType.Mapping:
19
+ return "MappingToken";
20
+ case TokenType.BasicExpression:
21
+ return "BasicExpressionToken";
22
+ case TokenType.InsertExpression:
23
+ return "InsertExpressionToken";
24
+ case TokenType.Boolean:
25
+ return "BooleanToken";
26
+ case TokenType.Number:
27
+ return "NumberToken";
28
+ case TokenType.Null:
29
+ return "NullToken";
30
+ default: {
31
+ // Use never to ensure exhaustiveness
32
+ const exhaustiveCheck = type;
33
+ throw new Error(`Unhandled token type: ${type} ${exhaustiveCheck}}`);
34
+ }
35
+ }
36
+ }
37
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/templates/tokens/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,6CAAU,CAAA;IACV,iDAAQ,CAAA;IACR,+CAAO,CAAA;IACP,+DAAe,CAAA;IACf,iEAAgB,CAAA;IAChB,+CAAO,CAAA;IACP,6CAAM,CAAA;IACN,yCAAI,CAAA;AACN,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAED,MAAM,UAAU,aAAa,CAAC,IAAe;IAC3C,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS,CAAC,QAAQ;YACrB,OAAO,eAAe,CAAC;QACzB,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,cAAc,CAAC;QACxB,KAAK,SAAS,CAAC,eAAe;YAC5B,OAAO,sBAAsB,CAAC;QAChC,KAAK,SAAS,CAAC,gBAAgB;YAC7B,OAAO,uBAAuB,CAAC;QACjC,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,cAAc,CAAC;QACxB,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,WAAW,CAAC;QACrB,OAAO,CAAC,CAAC;YACP,qCAAqC;YACrC,MAAM,eAAe,GAAU,IAAI,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,IAAI,eAAe,GAAG,CAAC,CAAC;SACtE;KACF;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface TraceWriter {
2
+ error(message: string): void;
3
+ info(message: string): void;
4
+ verbose(message: string): void;
5
+ }
6
+ export declare class NoOperationTraceWriter implements TraceWriter {
7
+ error(): void;
8
+ info(): void;
9
+ verbose(): void;
10
+ }
11
+ //# sourceMappingURL=trace-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-writer.d.ts","sourceRoot":"","sources":["../../src/templates/trace-writer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,qBAAa,sBAAuB,YAAW,WAAW;IACjD,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,OAAO,IAAI,IAAI;CAGvB"}
@@ -0,0 +1,12 @@
1
+ export class NoOperationTraceWriter {
2
+ error() {
3
+ // do nothing
4
+ }
5
+ info() {
6
+ // do nothing
7
+ }
8
+ verbose() {
9
+ // do nothing
10
+ }
11
+ }
12
+ //# sourceMappingURL=trace-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-writer.js","sourceRoot":"","sources":["../../src/templates/trace-writer.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,sBAAsB;IAC1B,KAAK;QACV,aAAa;IACf,CAAC;IAEM,IAAI;QACT,aAAa;IACf,CAAC;IAEM,OAAO;QACZ,aAAa;IACf,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ import { NoOperationTraceWriter } from "../templates/trace-writer";
2
+ export declare const nullTrace: NoOperationTraceWriter;
3
+ //# sourceMappingURL=null-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null-trace.d.ts","sourceRoot":"","sources":["../../src/test-utils/null-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,2BAA2B,CAAC;AAEjE,eAAO,MAAM,SAAS,wBAA+B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { NoOperationTraceWriter } from "../templates/trace-writer";
2
+ export const nullTrace = new NoOperationTraceWriter();
3
+ //# sourceMappingURL=null-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null-trace.js","sourceRoot":"","sources":["../../src/test-utils/null-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,2BAA2B,CAAC;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC"}