@bluefly/openstandardagents 0.4.8 → 0.4.9

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 (651) hide show
  1. package/.version.json +4 -4
  2. package/CHANGELOG.md +14 -0
  3. package/README.md +20 -5
  4. package/dist/.version.json +4 -4
  5. package/dist/adapters/a2a/__tests__/mcp-integration.spec.js +1 -1
  6. package/dist/adapters/a2a/a2a-protocol.d.ts +1 -1
  7. package/dist/adapters/a2a/a2a-tool.js +3 -3
  8. package/dist/adapters/a2a/delegation.js +1 -1
  9. package/dist/adapters/base/common-file-generator.d.ts +1 -1
  10. package/dist/adapters/base/common-file-generator.js +22 -0
  11. package/dist/cli/banner.js +1 -1
  12. package/dist/cli/commands/agents-sync.command.d.ts +19 -0
  13. package/dist/cli/commands/agents-sync.command.js +268 -0
  14. package/dist/cli/commands/discover.js +48 -52
  15. package/dist/cli/commands/export.command.js +41 -12
  16. package/dist/cli/commands/lifecycle.command.d.ts +29 -0
  17. package/dist/cli/commands/lifecycle.command.js +495 -0
  18. package/dist/cli/commands/policy.command.d.ts +11 -0
  19. package/dist/cli/commands/policy.command.js +85 -0
  20. package/dist/cli/commands/publish.command.js +29 -3
  21. package/dist/cli/commands/search.command.js +31 -2
  22. package/dist/cli/commands/serve-builder-routes.d.ts +17 -0
  23. package/dist/cli/commands/serve-builder-routes.js +390 -0
  24. package/dist/cli/commands/validate.command.js +48 -2
  25. package/dist/cli/commands/verify.js +61 -34
  26. package/dist/cli/commands/wizard-api-first.command.js +6 -0
  27. package/dist/cli/commands/wizard.command.js +6 -0
  28. package/dist/cli/commands/workspace.command.js +65 -65
  29. package/dist/cli/index.js +11 -3
  30. package/dist/cli/utils/standard-options.js +1 -1
  31. package/dist/confidence/index.d.ts +67 -0
  32. package/dist/confidence/index.js +130 -0
  33. package/dist/data/platform-matrix.js +29 -0
  34. package/dist/mcp-server/index.js +0 -0
  35. package/dist/mesh/discovery-providers.js +2 -2
  36. package/dist/mesh/discovery.js +1 -1
  37. package/dist/mesh/index.d.ts +2 -2
  38. package/dist/mesh/index.js +2 -2
  39. package/dist/mesh/types.d.ts +202 -1
  40. package/dist/package.json +6 -12
  41. package/dist/services/agent-card-generator.d.ts +2 -2
  42. package/dist/services/agent-card-generator.js +3 -1
  43. package/dist/services/agents-md/agents-md.service.d.ts +4 -0
  44. package/dist/services/agents-md/agents-md.service.js +18 -0
  45. package/dist/services/governance/cedar-validator.service.d.ts +32 -0
  46. package/dist/services/governance/cedar-validator.service.js +88 -0
  47. package/dist/services/mcp/bridge.service.d.ts +1 -0
  48. package/dist/services/mcp/bridge.service.js +31 -0
  49. package/dist/services/skills-pipeline/skills-install.service.js +2 -2
  50. package/dist/services/skills-pipeline/skills-research.service.d.ts +5 -7
  51. package/dist/services/skills-pipeline/skills-research.service.js +13 -58
  52. package/dist/services/trust/trust.service.d.ts +9 -0
  53. package/dist/services/trust/trust.service.js +35 -0
  54. package/dist/services/validators/a2a.validator.js +2 -2
  55. package/dist/skills/test-skill/package.json +1 -1
  56. package/dist/spec/uadp/README.md +1 -1
  57. package/dist/spec/v0.4/agent-card.schema.json +2 -2
  58. package/dist/spec/v0.4/agent.schema.json +69 -0
  59. package/dist/spec/v0.4/extensions/a2a/a2a.schema.json +1 -1
  60. package/dist/spec/v0.5/agent-card.schema.json +1 -1
  61. package/dist/spec/v0.5/agent.schema.json +137 -67
  62. package/dist/types/index.d.ts +3 -1
  63. package/dist/validation/progressive-scorer.d.ts +1 -1
  64. package/dist/validation/progressive-scorer.js +19 -2
  65. package/dist/version-management/api/server.d.ts +1 -1
  66. package/examples/agent-mesh/DISCOVERY.md +25 -25
  67. package/examples/agent-mesh/README.ts +6 -6
  68. package/examples/agent-mesh/basic-usage.ts +11 -11
  69. package/examples/agent-mesh/discovery-system.ts +37 -37
  70. package/openapi/agent-communication.yaml +12 -12
  71. package/openapi/marketplace-plugin.openapi.yaml +1 -1
  72. package/openapi/protocols/sse-streams.yaml +3 -3
  73. package/openapi/protocols/websocket-events.yaml +3 -3
  74. package/openapi/uadp-asyncapi.yaml +1 -1
  75. package/openapi/uadp-openapi.yaml +99 -5
  76. package/package.json +4 -10
  77. package/spec/uadp/README.md +393 -0
  78. package/spec/uadp/openapi.yaml +387 -0
  79. package/spec/uadp/schemas/uadp-agents-response.schema.json +68 -0
  80. package/spec/uadp/schemas/uadp-federation-response.schema.json +46 -0
  81. package/spec/uadp/schemas/uadp-manifest.schema.json +82 -0
  82. package/spec/uadp/schemas/uadp-skills-response.schema.json +72 -0
  83. package/spec/v0.4/agent-card.schema.json +2 -2
  84. package/spec/v0.4/extensions/a2a/a2a.schema.json +1 -1
  85. package/spec/v0.5/agent-card.schema.json +477 -0
  86. package/spec/v0.5/agent.schema.json +1626 -0
  87. package/spec/v0.5/conformance/profiles/baseline.json +19 -0
  88. package/spec/v0.5/conformance/profiles/enterprise.json +20 -0
  89. package/spec/v0.5/extensions/a2a/README.md +193 -0
  90. package/spec/v0.5/extensions/a2a/a2a.schema.json +77 -0
  91. package/spec/v0.5/extensions/ag2/ag2.schema.json +277 -0
  92. package/spec/v0.5/extensions/cognition/cognition.schema.json +94 -0
  93. package/spec/v0.5/extensions/cognition/thought-node.schema.json +80 -0
  94. package/spec/v0.5/extensions/crewai/crewai.schema.json +256 -0
  95. package/spec/v0.5/extensions/drupal/drupal.schema.json +318 -0
  96. package/spec/v0.5/extensions/evals/evals.schema.json +597 -0
  97. package/spec/v0.5/extensions/governance/governance-extension.yaml +161 -0
  98. package/spec/v0.5/extensions/identity/identity.schema.json +302 -0
  99. package/spec/v0.5/extensions/kagent/README.md +315 -0
  100. package/spec/v0.5/extensions/kagent/kagent.schema.json +624 -0
  101. package/spec/v0.5/extensions/langchain/langchain.schema.json +243 -0
  102. package/spec/v0.5/extensions/langgraph/langgraph.schema.json +211 -0
  103. package/spec/v0.5/extensions/mcp/README.md +276 -0
  104. package/spec/v0.5/extensions/mcp/mcp.schema.json +84 -0
  105. package/spec/v0.5/extensions/memory/memory.schema.json +7 -0
  106. package/spec/v0.5/extensions/team/team.schema.json +304 -0
  107. package/spec/v0.5/extensions/token-efficiency/token-efficiency.schema.json +47 -0
  108. package/spec/v0.5/mcp.schema.json +1 -0
  109. package/spec/v0.5/skill.schema.json +1 -0
  110. package/spec/v0.5/validator.schema.json +282 -0
  111. package/node_modules/ajv/.runkit_example.js +0 -23
  112. package/node_modules/ajv/LICENSE +0 -22
  113. package/node_modules/ajv/README.md +0 -207
  114. package/node_modules/ajv/dist/2019.d.ts +0 -19
  115. package/node_modules/ajv/dist/2019.js +0 -61
  116. package/node_modules/ajv/dist/2019.js.map +0 -1
  117. package/node_modules/ajv/dist/2020.d.ts +0 -19
  118. package/node_modules/ajv/dist/2020.js +0 -55
  119. package/node_modules/ajv/dist/2020.js.map +0 -1
  120. package/node_modules/ajv/dist/ajv.d.ts +0 -18
  121. package/node_modules/ajv/dist/ajv.js +0 -50
  122. package/node_modules/ajv/dist/ajv.js.map +0 -1
  123. package/node_modules/ajv/dist/compile/codegen/code.d.ts +0 -40
  124. package/node_modules/ajv/dist/compile/codegen/code.js +0 -156
  125. package/node_modules/ajv/dist/compile/codegen/code.js.map +0 -1
  126. package/node_modules/ajv/dist/compile/codegen/index.d.ts +0 -79
  127. package/node_modules/ajv/dist/compile/codegen/index.js +0 -697
  128. package/node_modules/ajv/dist/compile/codegen/index.js.map +0 -1
  129. package/node_modules/ajv/dist/compile/codegen/scope.d.ts +0 -79
  130. package/node_modules/ajv/dist/compile/codegen/scope.js +0 -143
  131. package/node_modules/ajv/dist/compile/codegen/scope.js.map +0 -1
  132. package/node_modules/ajv/dist/compile/errors.d.ts +0 -13
  133. package/node_modules/ajv/dist/compile/errors.js +0 -123
  134. package/node_modules/ajv/dist/compile/errors.js.map +0 -1
  135. package/node_modules/ajv/dist/compile/index.d.ts +0 -80
  136. package/node_modules/ajv/dist/compile/index.js +0 -242
  137. package/node_modules/ajv/dist/compile/index.js.map +0 -1
  138. package/node_modules/ajv/dist/compile/jtd/parse.d.ts +0 -4
  139. package/node_modules/ajv/dist/compile/jtd/parse.js +0 -350
  140. package/node_modules/ajv/dist/compile/jtd/parse.js.map +0 -1
  141. package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +0 -4
  142. package/node_modules/ajv/dist/compile/jtd/serialize.js +0 -236
  143. package/node_modules/ajv/dist/compile/jtd/serialize.js.map +0 -1
  144. package/node_modules/ajv/dist/compile/jtd/types.d.ts +0 -6
  145. package/node_modules/ajv/dist/compile/jtd/types.js +0 -14
  146. package/node_modules/ajv/dist/compile/jtd/types.js.map +0 -1
  147. package/node_modules/ajv/dist/compile/names.d.ts +0 -20
  148. package/node_modules/ajv/dist/compile/names.js +0 -28
  149. package/node_modules/ajv/dist/compile/names.js.map +0 -1
  150. package/node_modules/ajv/dist/compile/ref_error.d.ts +0 -6
  151. package/node_modules/ajv/dist/compile/ref_error.js +0 -12
  152. package/node_modules/ajv/dist/compile/ref_error.js.map +0 -1
  153. package/node_modules/ajv/dist/compile/resolve.d.ts +0 -12
  154. package/node_modules/ajv/dist/compile/resolve.js +0 -155
  155. package/node_modules/ajv/dist/compile/resolve.js.map +0 -1
  156. package/node_modules/ajv/dist/compile/rules.d.ts +0 -28
  157. package/node_modules/ajv/dist/compile/rules.js +0 -26
  158. package/node_modules/ajv/dist/compile/rules.js.map +0 -1
  159. package/node_modules/ajv/dist/compile/util.d.ts +0 -40
  160. package/node_modules/ajv/dist/compile/util.js +0 -178
  161. package/node_modules/ajv/dist/compile/util.js.map +0 -1
  162. package/node_modules/ajv/dist/compile/validate/applicability.d.ts +0 -6
  163. package/node_modules/ajv/dist/compile/validate/applicability.js +0 -19
  164. package/node_modules/ajv/dist/compile/validate/applicability.js.map +0 -1
  165. package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +0 -4
  166. package/node_modules/ajv/dist/compile/validate/boolSchema.js +0 -50
  167. package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +0 -1
  168. package/node_modules/ajv/dist/compile/validate/dataType.d.ts +0 -17
  169. package/node_modules/ajv/dist/compile/validate/dataType.js +0 -203
  170. package/node_modules/ajv/dist/compile/validate/dataType.js.map +0 -1
  171. package/node_modules/ajv/dist/compile/validate/defaults.d.ts +0 -2
  172. package/node_modules/ajv/dist/compile/validate/defaults.js +0 -35
  173. package/node_modules/ajv/dist/compile/validate/defaults.js.map +0 -1
  174. package/node_modules/ajv/dist/compile/validate/index.d.ts +0 -42
  175. package/node_modules/ajv/dist/compile/validate/index.js +0 -520
  176. package/node_modules/ajv/dist/compile/validate/index.js.map +0 -1
  177. package/node_modules/ajv/dist/compile/validate/keyword.d.ts +0 -8
  178. package/node_modules/ajv/dist/compile/validate/keyword.js +0 -124
  179. package/node_modules/ajv/dist/compile/validate/keyword.js.map +0 -1
  180. package/node_modules/ajv/dist/compile/validate/subschema.d.ts +0 -47
  181. package/node_modules/ajv/dist/compile/validate/subschema.js +0 -81
  182. package/node_modules/ajv/dist/compile/validate/subschema.js.map +0 -1
  183. package/node_modules/ajv/dist/core.d.ts +0 -174
  184. package/node_modules/ajv/dist/core.js +0 -618
  185. package/node_modules/ajv/dist/core.js.map +0 -1
  186. package/node_modules/ajv/dist/jtd.d.ts +0 -47
  187. package/node_modules/ajv/dist/jtd.js +0 -72
  188. package/node_modules/ajv/dist/jtd.js.map +0 -1
  189. package/node_modules/ajv/dist/refs/data.json +0 -13
  190. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +0 -2
  191. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +0 -28
  192. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +0 -1
  193. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +0 -53
  194. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +0 -17
  195. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +0 -57
  196. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +0 -14
  197. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +0 -37
  198. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +0 -90
  199. package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +0 -39
  200. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +0 -2
  201. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +0 -30
  202. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +0 -1
  203. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +0 -48
  204. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +0 -17
  205. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +0 -51
  206. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +0 -14
  207. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +0 -37
  208. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +0 -15
  209. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +0 -90
  210. package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +0 -55
  211. package/node_modules/ajv/dist/refs/json-schema-draft-06.json +0 -137
  212. package/node_modules/ajv/dist/refs/json-schema-draft-07.json +0 -151
  213. package/node_modules/ajv/dist/refs/json-schema-secure.json +0 -88
  214. package/node_modules/ajv/dist/refs/jtd-schema.d.ts +0 -3
  215. package/node_modules/ajv/dist/refs/jtd-schema.js +0 -118
  216. package/node_modules/ajv/dist/refs/jtd-schema.js.map +0 -1
  217. package/node_modules/ajv/dist/runtime/equal.d.ts +0 -6
  218. package/node_modules/ajv/dist/runtime/equal.js +0 -7
  219. package/node_modules/ajv/dist/runtime/equal.js.map +0 -1
  220. package/node_modules/ajv/dist/runtime/parseJson.d.ts +0 -18
  221. package/node_modules/ajv/dist/runtime/parseJson.js +0 -185
  222. package/node_modules/ajv/dist/runtime/parseJson.js.map +0 -1
  223. package/node_modules/ajv/dist/runtime/quote.d.ts +0 -5
  224. package/node_modules/ajv/dist/runtime/quote.js +0 -30
  225. package/node_modules/ajv/dist/runtime/quote.js.map +0 -1
  226. package/node_modules/ajv/dist/runtime/re2.d.ts +0 -6
  227. package/node_modules/ajv/dist/runtime/re2.js +0 -6
  228. package/node_modules/ajv/dist/runtime/re2.js.map +0 -1
  229. package/node_modules/ajv/dist/runtime/timestamp.d.ts +0 -5
  230. package/node_modules/ajv/dist/runtime/timestamp.js +0 -42
  231. package/node_modules/ajv/dist/runtime/timestamp.js.map +0 -1
  232. package/node_modules/ajv/dist/runtime/ucs2length.d.ts +0 -5
  233. package/node_modules/ajv/dist/runtime/ucs2length.js +0 -24
  234. package/node_modules/ajv/dist/runtime/ucs2length.js.map +0 -1
  235. package/node_modules/ajv/dist/runtime/uri.d.ts +0 -6
  236. package/node_modules/ajv/dist/runtime/uri.js +0 -6
  237. package/node_modules/ajv/dist/runtime/uri.js.map +0 -1
  238. package/node_modules/ajv/dist/runtime/validation_error.d.ts +0 -7
  239. package/node_modules/ajv/dist/runtime/validation_error.js +0 -11
  240. package/node_modules/ajv/dist/runtime/validation_error.js.map +0 -1
  241. package/node_modules/ajv/dist/standalone/index.d.ts +0 -6
  242. package/node_modules/ajv/dist/standalone/index.js +0 -90
  243. package/node_modules/ajv/dist/standalone/index.js.map +0 -1
  244. package/node_modules/ajv/dist/standalone/instance.d.ts +0 -12
  245. package/node_modules/ajv/dist/standalone/instance.js +0 -35
  246. package/node_modules/ajv/dist/standalone/instance.js.map +0 -1
  247. package/node_modules/ajv/dist/types/index.d.ts +0 -183
  248. package/node_modules/ajv/dist/types/index.js +0 -3
  249. package/node_modules/ajv/dist/types/index.js.map +0 -1
  250. package/node_modules/ajv/dist/types/json-schema.d.ts +0 -125
  251. package/node_modules/ajv/dist/types/json-schema.js +0 -3
  252. package/node_modules/ajv/dist/types/json-schema.js.map +0 -1
  253. package/node_modules/ajv/dist/types/jtd-schema.d.ts +0 -174
  254. package/node_modules/ajv/dist/types/jtd-schema.js +0 -3
  255. package/node_modules/ajv/dist/types/jtd-schema.js.map +0 -1
  256. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +0 -8
  257. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +0 -49
  258. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +0 -1
  259. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +0 -6
  260. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +0 -106
  261. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +0 -1
  262. package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +0 -3
  263. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +0 -23
  264. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +0 -1
  265. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +0 -4
  266. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +0 -12
  267. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +0 -1
  268. package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +0 -7
  269. package/node_modules/ajv/dist/vocabularies/applicator/contains.js +0 -95
  270. package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +0 -1
  271. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +0 -21
  272. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +0 -85
  273. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +0 -1
  274. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +0 -3
  275. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +0 -11
  276. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +0 -1
  277. package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +0 -6
  278. package/node_modules/ajv/dist/vocabularies/applicator/if.js +0 -66
  279. package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +0 -1
  280. package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +0 -13
  281. package/node_modules/ajv/dist/vocabularies/applicator/index.js +0 -44
  282. package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +0 -1
  283. package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +0 -5
  284. package/node_modules/ajv/dist/vocabularies/applicator/items.js +0 -52
  285. package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +0 -1
  286. package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +0 -6
  287. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +0 -30
  288. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +0 -1
  289. package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +0 -4
  290. package/node_modules/ajv/dist/vocabularies/applicator/not.js +0 -26
  291. package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +0 -1
  292. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +0 -6
  293. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +0 -60
  294. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +0 -1
  295. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +0 -3
  296. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +0 -75
  297. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +0 -1
  298. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +0 -3
  299. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +0 -12
  300. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +0 -1
  301. package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +0 -3
  302. package/node_modules/ajv/dist/vocabularies/applicator/properties.js +0 -54
  303. package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +0 -1
  304. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +0 -6
  305. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +0 -38
  306. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +0 -1
  307. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +0 -3
  308. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +0 -13
  309. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +0 -1
  310. package/node_modules/ajv/dist/vocabularies/code.d.ts +0 -17
  311. package/node_modules/ajv/dist/vocabularies/code.js +0 -131
  312. package/node_modules/ajv/dist/vocabularies/code.js.map +0 -1
  313. package/node_modules/ajv/dist/vocabularies/core/id.d.ts +0 -3
  314. package/node_modules/ajv/dist/vocabularies/core/id.js +0 -10
  315. package/node_modules/ajv/dist/vocabularies/core/id.js.map +0 -1
  316. package/node_modules/ajv/dist/vocabularies/core/index.d.ts +0 -3
  317. package/node_modules/ajv/dist/vocabularies/core/index.js +0 -16
  318. package/node_modules/ajv/dist/vocabularies/core/index.js.map +0 -1
  319. package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +0 -8
  320. package/node_modules/ajv/dist/vocabularies/core/ref.js +0 -122
  321. package/node_modules/ajv/dist/vocabularies/core/ref.js.map +0 -1
  322. package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +0 -5
  323. package/node_modules/ajv/dist/vocabularies/discriminator/index.js +0 -104
  324. package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +0 -1
  325. package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +0 -10
  326. package/node_modules/ajv/dist/vocabularies/discriminator/types.js +0 -9
  327. package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +0 -1
  328. package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +0 -3
  329. package/node_modules/ajv/dist/vocabularies/draft2020.js +0 -23
  330. package/node_modules/ajv/dist/vocabularies/draft2020.js.map +0 -1
  331. package/node_modules/ajv/dist/vocabularies/draft7.d.ts +0 -3
  332. package/node_modules/ajv/dist/vocabularies/draft7.js +0 -17
  333. package/node_modules/ajv/dist/vocabularies/draft7.js.map +0 -1
  334. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +0 -5
  335. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +0 -30
  336. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +0 -1
  337. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +0 -5
  338. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +0 -51
  339. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +0 -1
  340. package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +0 -3
  341. package/node_modules/ajv/dist/vocabularies/dynamic/index.js +0 -9
  342. package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +0 -1
  343. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +0 -3
  344. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +0 -16
  345. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +0 -1
  346. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +0 -3
  347. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +0 -10
  348. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +0 -1
  349. package/node_modules/ajv/dist/vocabularies/errors.d.ts +0 -9
  350. package/node_modules/ajv/dist/vocabularies/errors.js +0 -3
  351. package/node_modules/ajv/dist/vocabularies/errors.js.map +0 -1
  352. package/node_modules/ajv/dist/vocabularies/format/format.d.ts +0 -8
  353. package/node_modules/ajv/dist/vocabularies/format/format.js +0 -92
  354. package/node_modules/ajv/dist/vocabularies/format/format.js.map +0 -1
  355. package/node_modules/ajv/dist/vocabularies/format/index.d.ts +0 -3
  356. package/node_modules/ajv/dist/vocabularies/format/index.js +0 -6
  357. package/node_modules/ajv/dist/vocabularies/format/index.js.map +0 -1
  358. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +0 -6
  359. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +0 -71
  360. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +0 -1
  361. package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +0 -5
  362. package/node_modules/ajv/dist/vocabularies/jtd/elements.js +0 -24
  363. package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +0 -1
  364. package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +0 -6
  365. package/node_modules/ajv/dist/vocabularies/jtd/enum.js +0 -43
  366. package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +0 -1
  367. package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +0 -9
  368. package/node_modules/ajv/dist/vocabularies/jtd/error.js +0 -20
  369. package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +0 -1
  370. package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +0 -10
  371. package/node_modules/ajv/dist/vocabularies/jtd/index.js +0 -29
  372. package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +0 -1
  373. package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +0 -5
  374. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +0 -25
  375. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +0 -1
  376. package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +0 -4
  377. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +0 -22
  378. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +0 -1
  379. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +0 -3
  380. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +0 -15
  381. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +0 -1
  382. package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +0 -22
  383. package/node_modules/ajv/dist/vocabularies/jtd/properties.js +0 -149
  384. package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +0 -1
  385. package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +0 -4
  386. package/node_modules/ajv/dist/vocabularies/jtd/ref.js +0 -67
  387. package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +0 -1
  388. package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +0 -10
  389. package/node_modules/ajv/dist/vocabularies/jtd/type.js +0 -69
  390. package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +0 -1
  391. package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +0 -3
  392. package/node_modules/ajv/dist/vocabularies/jtd/union.js +0 -12
  393. package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +0 -1
  394. package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +0 -5
  395. package/node_modules/ajv/dist/vocabularies/jtd/values.js +0 -51
  396. package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +0 -1
  397. package/node_modules/ajv/dist/vocabularies/metadata.d.ts +0 -3
  398. package/node_modules/ajv/dist/vocabularies/metadata.js +0 -18
  399. package/node_modules/ajv/dist/vocabularies/metadata.js.map +0 -1
  400. package/node_modules/ajv/dist/vocabularies/next.d.ts +0 -3
  401. package/node_modules/ajv/dist/vocabularies/next.js +0 -8
  402. package/node_modules/ajv/dist/vocabularies/next.js.map +0 -1
  403. package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +0 -3
  404. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +0 -7
  405. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +0 -1
  406. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +0 -6
  407. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +0 -40
  408. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +0 -1
  409. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +0 -6
  410. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +0 -65
  411. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +0 -1
  412. package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +0 -6
  413. package/node_modules/ajv/dist/vocabularies/validation/const.js +0 -25
  414. package/node_modules/ajv/dist/vocabularies/validation/const.js.map +0 -1
  415. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +0 -5
  416. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +0 -12
  417. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +0 -1
  418. package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +0 -8
  419. package/node_modules/ajv/dist/vocabularies/validation/enum.js +0 -48
  420. package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +0 -1
  421. package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +0 -16
  422. package/node_modules/ajv/dist/vocabularies/validation/index.js +0 -33
  423. package/node_modules/ajv/dist/vocabularies/validation/index.js.map +0 -1
  424. package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +0 -3
  425. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +0 -15
  426. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +0 -1
  427. package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +0 -3
  428. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +0 -24
  429. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +0 -1
  430. package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +0 -3
  431. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +0 -27
  432. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +0 -1
  433. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +0 -11
  434. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +0 -27
  435. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +0 -1
  436. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +0 -3
  437. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +0 -24
  438. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +0 -1
  439. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +0 -8
  440. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +0 -26
  441. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +0 -1
  442. package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +0 -8
  443. package/node_modules/ajv/dist/vocabularies/validation/pattern.js +0 -33
  444. package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +0 -1
  445. package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +0 -8
  446. package/node_modules/ajv/dist/vocabularies/validation/required.js +0 -79
  447. package/node_modules/ajv/dist/vocabularies/validation/required.js.map +0 -1
  448. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +0 -9
  449. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +0 -64
  450. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +0 -1
  451. package/node_modules/ajv/lib/2019.ts +0 -81
  452. package/node_modules/ajv/lib/2020.ts +0 -75
  453. package/node_modules/ajv/lib/ajv.ts +0 -70
  454. package/node_modules/ajv/lib/compile/codegen/code.ts +0 -169
  455. package/node_modules/ajv/lib/compile/codegen/index.ts +0 -852
  456. package/node_modules/ajv/lib/compile/codegen/scope.ts +0 -215
  457. package/node_modules/ajv/lib/compile/errors.ts +0 -184
  458. package/node_modules/ajv/lib/compile/index.ts +0 -324
  459. package/node_modules/ajv/lib/compile/jtd/parse.ts +0 -411
  460. package/node_modules/ajv/lib/compile/jtd/serialize.ts +0 -277
  461. package/node_modules/ajv/lib/compile/jtd/types.ts +0 -16
  462. package/node_modules/ajv/lib/compile/names.ts +0 -27
  463. package/node_modules/ajv/lib/compile/ref_error.ts +0 -13
  464. package/node_modules/ajv/lib/compile/resolve.ts +0 -149
  465. package/node_modules/ajv/lib/compile/rules.ts +0 -50
  466. package/node_modules/ajv/lib/compile/util.ts +0 -213
  467. package/node_modules/ajv/lib/compile/validate/applicability.ts +0 -22
  468. package/node_modules/ajv/lib/compile/validate/boolSchema.ts +0 -47
  469. package/node_modules/ajv/lib/compile/validate/dataType.ts +0 -230
  470. package/node_modules/ajv/lib/compile/validate/defaults.ts +0 -32
  471. package/node_modules/ajv/lib/compile/validate/index.ts +0 -582
  472. package/node_modules/ajv/lib/compile/validate/keyword.ts +0 -171
  473. package/node_modules/ajv/lib/compile/validate/subschema.ts +0 -135
  474. package/node_modules/ajv/lib/core.ts +0 -892
  475. package/node_modules/ajv/lib/jtd.ts +0 -132
  476. package/node_modules/ajv/lib/refs/data.json +0 -13
  477. package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +0 -28
  478. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +0 -53
  479. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +0 -17
  480. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +0 -57
  481. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +0 -14
  482. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +0 -37
  483. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +0 -90
  484. package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +0 -39
  485. package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +0 -30
  486. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +0 -48
  487. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +0 -17
  488. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +0 -51
  489. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +0 -14
  490. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +0 -37
  491. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +0 -15
  492. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +0 -90
  493. package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +0 -55
  494. package/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -137
  495. package/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -151
  496. package/node_modules/ajv/lib/refs/json-schema-secure.json +0 -88
  497. package/node_modules/ajv/lib/refs/jtd-schema.ts +0 -130
  498. package/node_modules/ajv/lib/runtime/equal.ts +0 -7
  499. package/node_modules/ajv/lib/runtime/parseJson.ts +0 -177
  500. package/node_modules/ajv/lib/runtime/quote.ts +0 -31
  501. package/node_modules/ajv/lib/runtime/re2.ts +0 -6
  502. package/node_modules/ajv/lib/runtime/timestamp.ts +0 -46
  503. package/node_modules/ajv/lib/runtime/ucs2length.ts +0 -20
  504. package/node_modules/ajv/lib/runtime/uri.ts +0 -6
  505. package/node_modules/ajv/lib/runtime/validation_error.ts +0 -13
  506. package/node_modules/ajv/lib/standalone/index.ts +0 -100
  507. package/node_modules/ajv/lib/standalone/instance.ts +0 -36
  508. package/node_modules/ajv/lib/types/index.ts +0 -244
  509. package/node_modules/ajv/lib/types/json-schema.ts +0 -187
  510. package/node_modules/ajv/lib/types/jtd-schema.ts +0 -273
  511. package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +0 -56
  512. package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +0 -118
  513. package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +0 -22
  514. package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +0 -14
  515. package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +0 -109
  516. package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +0 -112
  517. package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +0 -11
  518. package/node_modules/ajv/lib/vocabularies/applicator/if.ts +0 -80
  519. package/node_modules/ajv/lib/vocabularies/applicator/index.ts +0 -53
  520. package/node_modules/ajv/lib/vocabularies/applicator/items.ts +0 -59
  521. package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +0 -36
  522. package/node_modules/ajv/lib/vocabularies/applicator/not.ts +0 -38
  523. package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +0 -82
  524. package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +0 -91
  525. package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +0 -12
  526. package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +0 -57
  527. package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +0 -50
  528. package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +0 -13
  529. package/node_modules/ajv/lib/vocabularies/code.ts +0 -168
  530. package/node_modules/ajv/lib/vocabularies/core/id.ts +0 -10
  531. package/node_modules/ajv/lib/vocabularies/core/index.ts +0 -16
  532. package/node_modules/ajv/lib/vocabularies/core/ref.ts +0 -129
  533. package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +0 -113
  534. package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +0 -12
  535. package/node_modules/ajv/lib/vocabularies/draft2020.ts +0 -23
  536. package/node_modules/ajv/lib/vocabularies/draft7.ts +0 -17
  537. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +0 -31
  538. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +0 -51
  539. package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +0 -9
  540. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +0 -14
  541. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +0 -10
  542. package/node_modules/ajv/lib/vocabularies/errors.ts +0 -18
  543. package/node_modules/ajv/lib/vocabularies/format/format.ts +0 -120
  544. package/node_modules/ajv/lib/vocabularies/format/index.ts +0 -6
  545. package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +0 -89
  546. package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +0 -32
  547. package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +0 -45
  548. package/node_modules/ajv/lib/vocabularies/jtd/error.ts +0 -23
  549. package/node_modules/ajv/lib/vocabularies/jtd/index.ts +0 -37
  550. package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +0 -24
  551. package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +0 -21
  552. package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +0 -15
  553. package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +0 -184
  554. package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +0 -76
  555. package/node_modules/ajv/lib/vocabularies/jtd/type.ts +0 -75
  556. package/node_modules/ajv/lib/vocabularies/jtd/union.ts +0 -12
  557. package/node_modules/ajv/lib/vocabularies/jtd/values.ts +0 -58
  558. package/node_modules/ajv/lib/vocabularies/metadata.ts +0 -17
  559. package/node_modules/ajv/lib/vocabularies/next.ts +0 -8
  560. package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +0 -7
  561. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +0 -47
  562. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +0 -85
  563. package/node_modules/ajv/lib/vocabularies/validation/const.ts +0 -28
  564. package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +0 -23
  565. package/node_modules/ajv/lib/vocabularies/validation/enum.ts +0 -54
  566. package/node_modules/ajv/lib/vocabularies/validation/index.ts +0 -49
  567. package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +0 -16
  568. package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +0 -26
  569. package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +0 -30
  570. package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +0 -42
  571. package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +0 -26
  572. package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +0 -34
  573. package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +0 -39
  574. package/node_modules/ajv/lib/vocabularies/validation/required.ts +0 -98
  575. package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +0 -79
  576. package/node_modules/ajv/package.json +0 -127
  577. package/node_modules/ajv-formats/LICENSE +0 -21
  578. package/node_modules/ajv-formats/README.md +0 -125
  579. package/node_modules/ajv-formats/dist/formats.d.ts +0 -9
  580. package/node_modules/ajv-formats/dist/formats.js +0 -208
  581. package/node_modules/ajv-formats/dist/formats.js.map +0 -1
  582. package/node_modules/ajv-formats/dist/index.d.ts +0 -15
  583. package/node_modules/ajv-formats/dist/index.js +0 -37
  584. package/node_modules/ajv-formats/dist/index.js.map +0 -1
  585. package/node_modules/ajv-formats/dist/limit.d.ts +0 -10
  586. package/node_modules/ajv-formats/dist/limit.js +0 -69
  587. package/node_modules/ajv-formats/dist/limit.js.map +0 -1
  588. package/node_modules/ajv-formats/package.json +0 -74
  589. package/node_modules/ajv-formats/src/formats.ts +0 -269
  590. package/node_modules/ajv-formats/src/index.ts +0 -62
  591. package/node_modules/ajv-formats/src/limit.ts +0 -99
  592. package/node_modules/fast-deep-equal/LICENSE +0 -21
  593. package/node_modules/fast-deep-equal/README.md +0 -96
  594. package/node_modules/fast-deep-equal/es6/index.d.ts +0 -2
  595. package/node_modules/fast-deep-equal/es6/index.js +0 -72
  596. package/node_modules/fast-deep-equal/es6/react.d.ts +0 -2
  597. package/node_modules/fast-deep-equal/es6/react.js +0 -79
  598. package/node_modules/fast-deep-equal/index.d.ts +0 -4
  599. package/node_modules/fast-deep-equal/index.js +0 -46
  600. package/node_modules/fast-deep-equal/package.json +0 -61
  601. package/node_modules/fast-deep-equal/react.d.ts +0 -2
  602. package/node_modules/fast-deep-equal/react.js +0 -53
  603. package/node_modules/fast-uri/.gitattributes +0 -2
  604. package/node_modules/fast-uri/.github/.stale.yml +0 -21
  605. package/node_modules/fast-uri/.github/dependabot.yml +0 -13
  606. package/node_modules/fast-uri/.github/tests_checker.yml +0 -8
  607. package/node_modules/fast-uri/.github/workflows/ci.yml +0 -101
  608. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +0 -24
  609. package/node_modules/fast-uri/LICENSE +0 -32
  610. package/node_modules/fast-uri/README.md +0 -143
  611. package/node_modules/fast-uri/benchmark/benchmark.mjs +0 -159
  612. package/node_modules/fast-uri/benchmark/equal.mjs +0 -51
  613. package/node_modules/fast-uri/benchmark/non-simple-domain.mjs +0 -22
  614. package/node_modules/fast-uri/benchmark/package.json +0 -17
  615. package/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs +0 -24
  616. package/node_modules/fast-uri/benchmark/ws-is-secure.mjs +0 -65
  617. package/node_modules/fast-uri/eslint.config.js +0 -6
  618. package/node_modules/fast-uri/index.js +0 -340
  619. package/node_modules/fast-uri/lib/schemes.js +0 -267
  620. package/node_modules/fast-uri/lib/utils.js +0 -336
  621. package/node_modules/fast-uri/package.json +0 -69
  622. package/node_modules/fast-uri/test/ajv.test.js +0 -43
  623. package/node_modules/fast-uri/test/equal.test.js +0 -108
  624. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +0 -501
  625. package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +0 -120
  626. package/node_modules/fast-uri/test/parse.test.js +0 -318
  627. package/node_modules/fast-uri/test/resolve.test.js +0 -78
  628. package/node_modules/fast-uri/test/rfc-3986.test.js +0 -90
  629. package/node_modules/fast-uri/test/serialize.test.js +0 -151
  630. package/node_modules/fast-uri/test/uri-js-compatibility.test.js +0 -33
  631. package/node_modules/fast-uri/test/uri-js.test.js +0 -912
  632. package/node_modules/fast-uri/test/util.test.js +0 -38
  633. package/node_modules/fast-uri/tsconfig.json +0 -9
  634. package/node_modules/fast-uri/types/index.d.ts +0 -60
  635. package/node_modules/fast-uri/types/index.test-d.ts +0 -17
  636. package/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
  637. package/node_modules/json-schema-traverse/.github/FUNDING.yml +0 -2
  638. package/node_modules/json-schema-traverse/.github/workflows/build.yml +0 -28
  639. package/node_modules/json-schema-traverse/.github/workflows/publish.yml +0 -27
  640. package/node_modules/json-schema-traverse/LICENSE +0 -21
  641. package/node_modules/json-schema-traverse/README.md +0 -95
  642. package/node_modules/json-schema-traverse/index.d.ts +0 -40
  643. package/node_modules/json-schema-traverse/index.js +0 -93
  644. package/node_modules/json-schema-traverse/package.json +0 -43
  645. package/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
  646. package/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
  647. package/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
  648. package/node_modules/require-from-string/index.js +0 -34
  649. package/node_modules/require-from-string/license +0 -21
  650. package/node_modules/require-from-string/package.json +0 -28
  651. package/node_modules/require-from-string/readme.md +0 -56
@@ -1,852 +0,0 @@
1
- import type {ScopeValueSets, NameValue, ValueScope, ValueScopeName} from "./scope"
2
- import {_, nil, _Code, Code, Name, UsedNames, CodeItem, addCodeArg, _CodeOrName} from "./code"
3
- import {Scope, varKinds} from "./scope"
4
-
5
- export {_, str, strConcat, nil, getProperty, stringify, regexpCode, Name, Code} from "./code"
6
- export {Scope, ScopeStore, ValueScope, ValueScopeName, ScopeValueSets, varKinds} from "./scope"
7
-
8
- // type for expressions that can be safely inserted in code without quotes
9
- export type SafeExpr = Code | number | boolean | null
10
-
11
- // type that is either Code of function that adds code to CodeGen instance using its methods
12
- export type Block = Code | (() => void)
13
-
14
- export const operators = {
15
- GT: new _Code(">"),
16
- GTE: new _Code(">="),
17
- LT: new _Code("<"),
18
- LTE: new _Code("<="),
19
- EQ: new _Code("==="),
20
- NEQ: new _Code("!=="),
21
- NOT: new _Code("!"),
22
- OR: new _Code("||"),
23
- AND: new _Code("&&"),
24
- ADD: new _Code("+"),
25
- }
26
-
27
- abstract class Node {
28
- abstract readonly names: UsedNames
29
-
30
- optimizeNodes(): this | ChildNode | ChildNode[] | undefined {
31
- return this
32
- }
33
-
34
- optimizeNames(_names: UsedNames, _constants: Constants): this | undefined {
35
- return this
36
- }
37
-
38
- // get count(): number {
39
- // return 1
40
- // }
41
- }
42
-
43
- class Def extends Node {
44
- constructor(
45
- private readonly varKind: Name,
46
- private readonly name: Name,
47
- private rhs?: SafeExpr
48
- ) {
49
- super()
50
- }
51
-
52
- render({es5, _n}: CGOptions): string {
53
- const varKind = es5 ? varKinds.var : this.varKind
54
- const rhs = this.rhs === undefined ? "" : ` = ${this.rhs}`
55
- return `${varKind} ${this.name}${rhs};` + _n
56
- }
57
-
58
- optimizeNames(names: UsedNames, constants: Constants): this | undefined {
59
- if (!names[this.name.str]) return
60
- if (this.rhs) this.rhs = optimizeExpr(this.rhs, names, constants)
61
- return this
62
- }
63
-
64
- get names(): UsedNames {
65
- return this.rhs instanceof _CodeOrName ? this.rhs.names : {}
66
- }
67
- }
68
-
69
- class Assign extends Node {
70
- constructor(
71
- readonly lhs: Code,
72
- public rhs: SafeExpr,
73
- private readonly sideEffects?: boolean
74
- ) {
75
- super()
76
- }
77
-
78
- render({_n}: CGOptions): string {
79
- return `${this.lhs} = ${this.rhs};` + _n
80
- }
81
-
82
- optimizeNames(names: UsedNames, constants: Constants): this | undefined {
83
- if (this.lhs instanceof Name && !names[this.lhs.str] && !this.sideEffects) return
84
- this.rhs = optimizeExpr(this.rhs, names, constants)
85
- return this
86
- }
87
-
88
- get names(): UsedNames {
89
- const names = this.lhs instanceof Name ? {} : {...this.lhs.names}
90
- return addExprNames(names, this.rhs)
91
- }
92
- }
93
-
94
- class AssignOp extends Assign {
95
- constructor(
96
- lhs: Code,
97
- private readonly op: Code,
98
- rhs: SafeExpr,
99
- sideEffects?: boolean
100
- ) {
101
- super(lhs, rhs, sideEffects)
102
- }
103
-
104
- render({_n}: CGOptions): string {
105
- return `${this.lhs} ${this.op}= ${this.rhs};` + _n
106
- }
107
- }
108
-
109
- class Label extends Node {
110
- readonly names: UsedNames = {}
111
- constructor(readonly label: Name) {
112
- super()
113
- }
114
-
115
- render({_n}: CGOptions): string {
116
- return `${this.label}:` + _n
117
- }
118
- }
119
-
120
- class Break extends Node {
121
- readonly names: UsedNames = {}
122
- constructor(readonly label?: Code) {
123
- super()
124
- }
125
-
126
- render({_n}: CGOptions): string {
127
- const label = this.label ? ` ${this.label}` : ""
128
- return `break${label};` + _n
129
- }
130
- }
131
-
132
- class Throw extends Node {
133
- constructor(readonly error: Code) {
134
- super()
135
- }
136
-
137
- render({_n}: CGOptions): string {
138
- return `throw ${this.error};` + _n
139
- }
140
-
141
- get names(): UsedNames {
142
- return this.error.names
143
- }
144
- }
145
-
146
- class AnyCode extends Node {
147
- constructor(private code: SafeExpr) {
148
- super()
149
- }
150
-
151
- render({_n}: CGOptions): string {
152
- return `${this.code};` + _n
153
- }
154
-
155
- optimizeNodes(): this | undefined {
156
- return `${this.code}` ? this : undefined
157
- }
158
-
159
- optimizeNames(names: UsedNames, constants: Constants): this {
160
- this.code = optimizeExpr(this.code, names, constants)
161
- return this
162
- }
163
-
164
- get names(): UsedNames {
165
- return this.code instanceof _CodeOrName ? this.code.names : {}
166
- }
167
- }
168
-
169
- abstract class ParentNode extends Node {
170
- constructor(readonly nodes: ChildNode[] = []) {
171
- super()
172
- }
173
-
174
- render(opts: CGOptions): string {
175
- return this.nodes.reduce((code, n) => code + n.render(opts), "")
176
- }
177
-
178
- optimizeNodes(): this | ChildNode | ChildNode[] | undefined {
179
- const {nodes} = this
180
- let i = nodes.length
181
- while (i--) {
182
- const n = nodes[i].optimizeNodes()
183
- if (Array.isArray(n)) nodes.splice(i, 1, ...n)
184
- else if (n) nodes[i] = n
185
- else nodes.splice(i, 1)
186
- }
187
- return nodes.length > 0 ? this : undefined
188
- }
189
-
190
- optimizeNames(names: UsedNames, constants: Constants): this | undefined {
191
- const {nodes} = this
192
- let i = nodes.length
193
- while (i--) {
194
- // iterating backwards improves 1-pass optimization
195
- const n = nodes[i]
196
- if (n.optimizeNames(names, constants)) continue
197
- subtractNames(names, n.names)
198
- nodes.splice(i, 1)
199
- }
200
- return nodes.length > 0 ? this : undefined
201
- }
202
-
203
- get names(): UsedNames {
204
- return this.nodes.reduce((names: UsedNames, n) => addNames(names, n.names), {})
205
- }
206
-
207
- // get count(): number {
208
- // return this.nodes.reduce((c, n) => c + n.count, 1)
209
- // }
210
- }
211
-
212
- abstract class BlockNode extends ParentNode {
213
- render(opts: CGOptions): string {
214
- return "{" + opts._n + super.render(opts) + "}" + opts._n
215
- }
216
- }
217
-
218
- class Root extends ParentNode {}
219
-
220
- class Else extends BlockNode {
221
- static readonly kind = "else"
222
- }
223
-
224
- class If extends BlockNode {
225
- static readonly kind = "if"
226
- else?: If | Else
227
- constructor(
228
- private condition: Code | boolean,
229
- nodes?: ChildNode[]
230
- ) {
231
- super(nodes)
232
- }
233
-
234
- render(opts: CGOptions): string {
235
- let code = `if(${this.condition})` + super.render(opts)
236
- if (this.else) code += "else " + this.else.render(opts)
237
- return code
238
- }
239
-
240
- optimizeNodes(): If | ChildNode[] | undefined {
241
- super.optimizeNodes()
242
- const cond = this.condition
243
- if (cond === true) return this.nodes // else is ignored here
244
- let e = this.else
245
- if (e) {
246
- const ns = e.optimizeNodes()
247
- e = this.else = Array.isArray(ns) ? new Else(ns) : (ns as Else | undefined)
248
- }
249
- if (e) {
250
- if (cond === false) return e instanceof If ? e : e.nodes
251
- if (this.nodes.length) return this
252
- return new If(not(cond), e instanceof If ? [e] : e.nodes)
253
- }
254
- if (cond === false || !this.nodes.length) return undefined
255
- return this
256
- }
257
-
258
- optimizeNames(names: UsedNames, constants: Constants): this | undefined {
259
- this.else = this.else?.optimizeNames(names, constants)
260
- if (!(super.optimizeNames(names, constants) || this.else)) return
261
- this.condition = optimizeExpr(this.condition, names, constants)
262
- return this
263
- }
264
-
265
- get names(): UsedNames {
266
- const names = super.names
267
- addExprNames(names, this.condition)
268
- if (this.else) addNames(names, this.else.names)
269
- return names
270
- }
271
-
272
- // get count(): number {
273
- // return super.count + (this.else?.count || 0)
274
- // }
275
- }
276
-
277
- abstract class For extends BlockNode {
278
- static readonly kind = "for"
279
- }
280
-
281
- class ForLoop extends For {
282
- constructor(private iteration: Code) {
283
- super()
284
- }
285
-
286
- render(opts: CGOptions): string {
287
- return `for(${this.iteration})` + super.render(opts)
288
- }
289
-
290
- optimizeNames(names: UsedNames, constants: Constants): this | undefined {
291
- if (!super.optimizeNames(names, constants)) return
292
- this.iteration = optimizeExpr(this.iteration, names, constants)
293
- return this
294
- }
295
-
296
- get names(): UsedNames {
297
- return addNames(super.names, this.iteration.names)
298
- }
299
- }
300
-
301
- class ForRange extends For {
302
- constructor(
303
- private readonly varKind: Name,
304
- private readonly name: Name,
305
- private readonly from: SafeExpr,
306
- private readonly to: SafeExpr
307
- ) {
308
- super()
309
- }
310
-
311
- render(opts: CGOptions): string {
312
- const varKind = opts.es5 ? varKinds.var : this.varKind
313
- const {name, from, to} = this
314
- return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts)
315
- }
316
-
317
- get names(): UsedNames {
318
- const names = addExprNames(super.names, this.from)
319
- return addExprNames(names, this.to)
320
- }
321
- }
322
-
323
- class ForIter extends For {
324
- constructor(
325
- private readonly loop: "of" | "in",
326
- private readonly varKind: Name,
327
- private readonly name: Name,
328
- private iterable: Code
329
- ) {
330
- super()
331
- }
332
-
333
- render(opts: CGOptions): string {
334
- return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts)
335
- }
336
-
337
- optimizeNames(names: UsedNames, constants: Constants): this | undefined {
338
- if (!super.optimizeNames(names, constants)) return
339
- this.iterable = optimizeExpr(this.iterable, names, constants)
340
- return this
341
- }
342
-
343
- get names(): UsedNames {
344
- return addNames(super.names, this.iterable.names)
345
- }
346
- }
347
-
348
- class Func extends BlockNode {
349
- static readonly kind = "func"
350
- constructor(
351
- public name: Name,
352
- public args: Code,
353
- public async?: boolean
354
- ) {
355
- super()
356
- }
357
-
358
- render(opts: CGOptions): string {
359
- const _async = this.async ? "async " : ""
360
- return `${_async}function ${this.name}(${this.args})` + super.render(opts)
361
- }
362
- }
363
-
364
- class Return extends ParentNode {
365
- static readonly kind = "return"
366
-
367
- render(opts: CGOptions): string {
368
- return "return " + super.render(opts)
369
- }
370
- }
371
-
372
- class Try extends BlockNode {
373
- catch?: Catch
374
- finally?: Finally
375
-
376
- render(opts: CGOptions): string {
377
- let code = "try" + super.render(opts)
378
- if (this.catch) code += this.catch.render(opts)
379
- if (this.finally) code += this.finally.render(opts)
380
- return code
381
- }
382
-
383
- optimizeNodes(): this {
384
- super.optimizeNodes()
385
- this.catch?.optimizeNodes() as Catch | undefined
386
- this.finally?.optimizeNodes() as Finally | undefined
387
- return this
388
- }
389
-
390
- optimizeNames(names: UsedNames, constants: Constants): this {
391
- super.optimizeNames(names, constants)
392
- this.catch?.optimizeNames(names, constants)
393
- this.finally?.optimizeNames(names, constants)
394
- return this
395
- }
396
-
397
- get names(): UsedNames {
398
- const names = super.names
399
- if (this.catch) addNames(names, this.catch.names)
400
- if (this.finally) addNames(names, this.finally.names)
401
- return names
402
- }
403
-
404
- // get count(): number {
405
- // return super.count + (this.catch?.count || 0) + (this.finally?.count || 0)
406
- // }
407
- }
408
-
409
- class Catch extends BlockNode {
410
- static readonly kind = "catch"
411
- constructor(readonly error: Name) {
412
- super()
413
- }
414
-
415
- render(opts: CGOptions): string {
416
- return `catch(${this.error})` + super.render(opts)
417
- }
418
- }
419
-
420
- class Finally extends BlockNode {
421
- static readonly kind = "finally"
422
- render(opts: CGOptions): string {
423
- return "finally" + super.render(opts)
424
- }
425
- }
426
-
427
- type StartBlockNode = If | For | Func | Return | Try
428
-
429
- type LeafNode = Def | Assign | Label | Break | Throw | AnyCode
430
-
431
- type ChildNode = StartBlockNode | LeafNode
432
-
433
- type EndBlockNodeType =
434
- | typeof If
435
- | typeof Else
436
- | typeof For
437
- | typeof Func
438
- | typeof Return
439
- | typeof Catch
440
- | typeof Finally
441
-
442
- type Constants = Record<string, SafeExpr | undefined>
443
-
444
- export interface CodeGenOptions {
445
- es5?: boolean
446
- lines?: boolean
447
- ownProperties?: boolean
448
- }
449
-
450
- interface CGOptions extends CodeGenOptions {
451
- _n: "\n" | ""
452
- }
453
-
454
- export class CodeGen {
455
- readonly _scope: Scope
456
- readonly _extScope: ValueScope
457
- readonly _values: ScopeValueSets = {}
458
- private readonly _nodes: ParentNode[]
459
- private readonly _blockStarts: number[] = []
460
- private readonly _constants: Constants = {}
461
- private readonly opts: CGOptions
462
-
463
- constructor(extScope: ValueScope, opts: CodeGenOptions = {}) {
464
- this.opts = {...opts, _n: opts.lines ? "\n" : ""}
465
- this._extScope = extScope
466
- this._scope = new Scope({parent: extScope})
467
- this._nodes = [new Root()]
468
- }
469
-
470
- toString(): string {
471
- return this._root.render(this.opts)
472
- }
473
-
474
- // returns unique name in the internal scope
475
- name(prefix: string): Name {
476
- return this._scope.name(prefix)
477
- }
478
-
479
- // reserves unique name in the external scope
480
- scopeName(prefix: string): ValueScopeName {
481
- return this._extScope.name(prefix)
482
- }
483
-
484
- // reserves unique name in the external scope and assigns value to it
485
- scopeValue(prefixOrName: ValueScopeName | string, value: NameValue): Name {
486
- const name = this._extScope.value(prefixOrName, value)
487
- const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set())
488
- vs.add(name)
489
- return name
490
- }
491
-
492
- getScopeValue(prefix: string, keyOrRef: unknown): ValueScopeName | undefined {
493
- return this._extScope.getValue(prefix, keyOrRef)
494
- }
495
-
496
- // return code that assigns values in the external scope to the names that are used internally
497
- // (same names that were returned by gen.scopeName or gen.scopeValue)
498
- scopeRefs(scopeName: Name): Code {
499
- return this._extScope.scopeRefs(scopeName, this._values)
500
- }
501
-
502
- scopeCode(): Code {
503
- return this._extScope.scopeCode(this._values)
504
- }
505
-
506
- private _def(
507
- varKind: Name,
508
- nameOrPrefix: Name | string,
509
- rhs?: SafeExpr,
510
- constant?: boolean
511
- ): Name {
512
- const name = this._scope.toName(nameOrPrefix)
513
- if (rhs !== undefined && constant) this._constants[name.str] = rhs
514
- this._leafNode(new Def(varKind, name, rhs))
515
- return name
516
- }
517
-
518
- // `const` declaration (`var` in es5 mode)
519
- const(nameOrPrefix: Name | string, rhs: SafeExpr, _constant?: boolean): Name {
520
- return this._def(varKinds.const, nameOrPrefix, rhs, _constant)
521
- }
522
-
523
- // `let` declaration with optional assignment (`var` in es5 mode)
524
- let(nameOrPrefix: Name | string, rhs?: SafeExpr, _constant?: boolean): Name {
525
- return this._def(varKinds.let, nameOrPrefix, rhs, _constant)
526
- }
527
-
528
- // `var` declaration with optional assignment
529
- var(nameOrPrefix: Name | string, rhs?: SafeExpr, _constant?: boolean): Name {
530
- return this._def(varKinds.var, nameOrPrefix, rhs, _constant)
531
- }
532
-
533
- // assignment code
534
- assign(lhs: Code, rhs: SafeExpr, sideEffects?: boolean): CodeGen {
535
- return this._leafNode(new Assign(lhs, rhs, sideEffects))
536
- }
537
-
538
- // `+=` code
539
- add(lhs: Code, rhs: SafeExpr): CodeGen {
540
- return this._leafNode(new AssignOp(lhs, operators.ADD, rhs))
541
- }
542
-
543
- // appends passed SafeExpr to code or executes Block
544
- code(c: Block | SafeExpr): CodeGen {
545
- if (typeof c == "function") c()
546
- else if (c !== nil) this._leafNode(new AnyCode(c))
547
- return this
548
- }
549
-
550
- // returns code for object literal for the passed argument list of key-value pairs
551
- object(...keyValues: [Name | string, SafeExpr | string][]): _Code {
552
- const code: CodeItem[] = ["{"]
553
- for (const [key, value] of keyValues) {
554
- if (code.length > 1) code.push(",")
555
- code.push(key)
556
- if (key !== value || this.opts.es5) {
557
- code.push(":")
558
- addCodeArg(code, value)
559
- }
560
- }
561
- code.push("}")
562
- return new _Code(code)
563
- }
564
-
565
- // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed)
566
- if(condition: Code | boolean, thenBody?: Block, elseBody?: Block): CodeGen {
567
- this._blockNode(new If(condition))
568
-
569
- if (thenBody && elseBody) {
570
- this.code(thenBody).else().code(elseBody).endIf()
571
- } else if (thenBody) {
572
- this.code(thenBody).endIf()
573
- } else if (elseBody) {
574
- throw new Error('CodeGen: "else" body without "then" body')
575
- }
576
- return this
577
- }
578
-
579
- // `else if` clause - invalid without `if` or after `else` clauses
580
- elseIf(condition: Code | boolean): CodeGen {
581
- return this._elseNode(new If(condition))
582
- }
583
-
584
- // `else` clause - only valid after `if` or `else if` clauses
585
- else(): CodeGen {
586
- return this._elseNode(new Else())
587
- }
588
-
589
- // end `if` statement (needed if gen.if was used only with condition)
590
- endIf(): CodeGen {
591
- return this._endBlockNode(If, Else)
592
- }
593
-
594
- private _for(node: For, forBody?: Block): CodeGen {
595
- this._blockNode(node)
596
- if (forBody) this.code(forBody).endFor()
597
- return this
598
- }
599
-
600
- // a generic `for` clause (or statement if `forBody` is passed)
601
- for(iteration: Code, forBody?: Block): CodeGen {
602
- return this._for(new ForLoop(iteration), forBody)
603
- }
604
-
605
- // `for` statement for a range of values
606
- forRange(
607
- nameOrPrefix: Name | string,
608
- from: SafeExpr,
609
- to: SafeExpr,
610
- forBody: (index: Name) => void,
611
- varKind: Code = this.opts.es5 ? varKinds.var : varKinds.let
612
- ): CodeGen {
613
- const name = this._scope.toName(nameOrPrefix)
614
- return this._for(new ForRange(varKind, name, from, to), () => forBody(name))
615
- }
616
-
617
- // `for-of` statement (in es5 mode replace with a normal for loop)
618
- forOf(
619
- nameOrPrefix: Name | string,
620
- iterable: Code,
621
- forBody: (item: Name) => void,
622
- varKind: Code = varKinds.const
623
- ): CodeGen {
624
- const name = this._scope.toName(nameOrPrefix)
625
- if (this.opts.es5) {
626
- const arr = iterable instanceof Name ? iterable : this.var("_arr", iterable)
627
- return this.forRange("_i", 0, _`${arr}.length`, (i) => {
628
- this.var(name, _`${arr}[${i}]`)
629
- forBody(name)
630
- })
631
- }
632
- return this._for(new ForIter("of", varKind, name, iterable), () => forBody(name))
633
- }
634
-
635
- // `for-in` statement.
636
- // With option `ownProperties` replaced with a `for-of` loop for object keys
637
- forIn(
638
- nameOrPrefix: Name | string,
639
- obj: Code,
640
- forBody: (item: Name) => void,
641
- varKind: Code = this.opts.es5 ? varKinds.var : varKinds.const
642
- ): CodeGen {
643
- if (this.opts.ownProperties) {
644
- return this.forOf(nameOrPrefix, _`Object.keys(${obj})`, forBody)
645
- }
646
- const name = this._scope.toName(nameOrPrefix)
647
- return this._for(new ForIter("in", varKind, name, obj), () => forBody(name))
648
- }
649
-
650
- // end `for` loop
651
- endFor(): CodeGen {
652
- return this._endBlockNode(For)
653
- }
654
-
655
- // `label` statement
656
- label(label: Name): CodeGen {
657
- return this._leafNode(new Label(label))
658
- }
659
-
660
- // `break` statement
661
- break(label?: Code): CodeGen {
662
- return this._leafNode(new Break(label))
663
- }
664
-
665
- // `return` statement
666
- return(value: Block | SafeExpr): CodeGen {
667
- const node = new Return()
668
- this._blockNode(node)
669
- this.code(value)
670
- if (node.nodes.length !== 1) throw new Error('CodeGen: "return" should have one node')
671
- return this._endBlockNode(Return)
672
- }
673
-
674
- // `try` statement
675
- try(tryBody: Block, catchCode?: (e: Name) => void, finallyCode?: Block): CodeGen {
676
- if (!catchCode && !finallyCode) throw new Error('CodeGen: "try" without "catch" and "finally"')
677
- const node = new Try()
678
- this._blockNode(node)
679
- this.code(tryBody)
680
- if (catchCode) {
681
- const error = this.name("e")
682
- this._currNode = node.catch = new Catch(error)
683
- catchCode(error)
684
- }
685
- if (finallyCode) {
686
- this._currNode = node.finally = new Finally()
687
- this.code(finallyCode)
688
- }
689
- return this._endBlockNode(Catch, Finally)
690
- }
691
-
692
- // `throw` statement
693
- throw(error: Code): CodeGen {
694
- return this._leafNode(new Throw(error))
695
- }
696
-
697
- // start self-balancing block
698
- block(body?: Block, nodeCount?: number): CodeGen {
699
- this._blockStarts.push(this._nodes.length)
700
- if (body) this.code(body).endBlock(nodeCount)
701
- return this
702
- }
703
-
704
- // end the current self-balancing block
705
- endBlock(nodeCount?: number): CodeGen {
706
- const len = this._blockStarts.pop()
707
- if (len === undefined) throw new Error("CodeGen: not in self-balancing block")
708
- const toClose = this._nodes.length - len
709
- if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) {
710
- throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`)
711
- }
712
- this._nodes.length = len
713
- return this
714
- }
715
-
716
- // `function` heading (or definition if funcBody is passed)
717
- func(name: Name, args: Code = nil, async?: boolean, funcBody?: Block): CodeGen {
718
- this._blockNode(new Func(name, args, async))
719
- if (funcBody) this.code(funcBody).endFunc()
720
- return this
721
- }
722
-
723
- // end function definition
724
- endFunc(): CodeGen {
725
- return this._endBlockNode(Func)
726
- }
727
-
728
- optimize(n = 1): void {
729
- while (n-- > 0) {
730
- this._root.optimizeNodes()
731
- this._root.optimizeNames(this._root.names, this._constants)
732
- }
733
- }
734
-
735
- private _leafNode(node: LeafNode): CodeGen {
736
- this._currNode.nodes.push(node)
737
- return this
738
- }
739
-
740
- private _blockNode(node: StartBlockNode): void {
741
- this._currNode.nodes.push(node)
742
- this._nodes.push(node)
743
- }
744
-
745
- private _endBlockNode(N1: EndBlockNodeType, N2?: EndBlockNodeType): CodeGen {
746
- const n = this._currNode
747
- if (n instanceof N1 || (N2 && n instanceof N2)) {
748
- this._nodes.pop()
749
- return this
750
- }
751
- throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`)
752
- }
753
-
754
- private _elseNode(node: If | Else): CodeGen {
755
- const n = this._currNode
756
- if (!(n instanceof If)) {
757
- throw new Error('CodeGen: "else" without "if"')
758
- }
759
- this._currNode = n.else = node
760
- return this
761
- }
762
-
763
- private get _root(): Root {
764
- return this._nodes[0] as Root
765
- }
766
-
767
- private get _currNode(): ParentNode {
768
- const ns = this._nodes
769
- return ns[ns.length - 1]
770
- }
771
-
772
- private set _currNode(node: ParentNode) {
773
- const ns = this._nodes
774
- ns[ns.length - 1] = node
775
- }
776
-
777
- // get nodeCount(): number {
778
- // return this._root.count
779
- // }
780
- }
781
-
782
- function addNames(names: UsedNames, from: UsedNames): UsedNames {
783
- for (const n in from) names[n] = (names[n] || 0) + (from[n] || 0)
784
- return names
785
- }
786
-
787
- function addExprNames(names: UsedNames, from: SafeExpr): UsedNames {
788
- return from instanceof _CodeOrName ? addNames(names, from.names) : names
789
- }
790
-
791
- function optimizeExpr<T extends SafeExpr | Code>(expr: T, names: UsedNames, constants: Constants): T
792
- function optimizeExpr(expr: SafeExpr, names: UsedNames, constants: Constants): SafeExpr {
793
- if (expr instanceof Name) return replaceName(expr)
794
- if (!canOptimize(expr)) return expr
795
- return new _Code(
796
- expr._items.reduce((items: CodeItem[], c: SafeExpr | string) => {
797
- if (c instanceof Name) c = replaceName(c)
798
- if (c instanceof _Code) items.push(...c._items)
799
- else items.push(c)
800
- return items
801
- }, [])
802
- )
803
-
804
- function replaceName(n: Name): SafeExpr {
805
- const c = constants[n.str]
806
- if (c === undefined || names[n.str] !== 1) return n
807
- delete names[n.str]
808
- return c
809
- }
810
-
811
- function canOptimize(e: SafeExpr): e is _Code {
812
- return (
813
- e instanceof _Code &&
814
- e._items.some(
815
- (c) => c instanceof Name && names[c.str] === 1 && constants[c.str] !== undefined
816
- )
817
- )
818
- }
819
- }
820
-
821
- function subtractNames(names: UsedNames, from: UsedNames): void {
822
- for (const n in from) names[n] = (names[n] || 0) - (from[n] || 0)
823
- }
824
-
825
- export function not<T extends Code | SafeExpr>(x: T): T
826
- export function not(x: Code | SafeExpr): Code | SafeExpr {
827
- return typeof x == "boolean" || typeof x == "number" || x === null ? !x : _`!${par(x)}`
828
- }
829
-
830
- const andCode = mappend(operators.AND)
831
-
832
- // boolean AND (&&) expression with the passed arguments
833
- export function and(...args: Code[]): Code {
834
- return args.reduce(andCode)
835
- }
836
-
837
- const orCode = mappend(operators.OR)
838
-
839
- // boolean OR (||) expression with the passed arguments
840
- export function or(...args: Code[]): Code {
841
- return args.reduce(orCode)
842
- }
843
-
844
- type MAppend = (x: Code, y: Code) => Code
845
-
846
- function mappend(op: Code): MAppend {
847
- return (x, y) => (x === nil ? y : y === nil ? x : _`${par(x)} ${op} ${par(y)}`)
848
- }
849
-
850
- function par(x: Code): Code {
851
- return x instanceof Name ? x : _`(${x})`
852
- }