@party-stack/ontology 0.19.0 → 0.19.1

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 (402) hide show
  1. package/lib/OntologyPullConfig.d.ts +15 -13
  2. package/lib/OntologyPullConfig.d.ts.map +1 -1
  3. package/lib/OntologyPullConfig.js +0 -1
  4. package/lib/_virtual/_rolldown/runtime.js +13 -0
  5. package/lib/cli/format.d.ts +4 -0
  6. package/lib/cli/format.d.ts.map +1 -0
  7. package/lib/cli/format.js +19 -0
  8. package/lib/cli/format.js.map +1 -0
  9. package/lib/cli/generate.d.ts +6 -5
  10. package/lib/cli/generate.d.ts.map +1 -1
  11. package/lib/cli/generate.js +86 -110
  12. package/lib/cli/generate.js.map +1 -1
  13. package/lib/cli/index.d.ts +1 -3
  14. package/lib/cli/index.js +42 -59
  15. package/lib/cli/index.js.map +1 -1
  16. package/lib/cli/pull.d.ts +3 -1
  17. package/lib/cli/pull.d.ts.map +1 -1
  18. package/lib/cli/pull.js +42 -60
  19. package/lib/cli/pull.js.map +1 -1
  20. package/lib/examples/blog.d.ts +347 -345
  21. package/lib/examples/blog.d.ts.map +1 -1
  22. package/lib/examples/blog.js +350 -337
  23. package/lib/examples/blog.js.map +1 -1
  24. package/lib/examples/blog.live-queries.d.ts +8 -3
  25. package/lib/examples/blog.live-queries.d.ts.map +1 -1
  26. package/lib/examples/blog.live-queries.js +28 -44
  27. package/lib/examples/blog.live-queries.js.map +1 -1
  28. package/lib/examples/generated/constants.d.ts +1 -2
  29. package/lib/examples/generated/constants.js +0 -2
  30. package/lib/examples/generated/live.d.ts +5 -3
  31. package/lib/examples/generated/live.d.ts.map +1 -1
  32. package/lib/examples/generated/live.js +12 -8
  33. package/lib/examples/generated/live.js.map +1 -1
  34. package/lib/examples/generated/types.d.ts +52 -50
  35. package/lib/examples/generated/types.d.ts.map +1 -1
  36. package/lib/examples/generated/types.js +0 -2
  37. package/lib/generate/builders.d.ts +8 -5
  38. package/lib/generate/builders.d.ts.map +1 -1
  39. package/lib/generate/builders.js +53 -55
  40. package/lib/generate/builders.js.map +1 -1
  41. package/lib/generate/constants.d.ts +3 -1
  42. package/lib/generate/constants.d.ts.map +1 -1
  43. package/lib/generate/constants.js +23 -26
  44. package/lib/generate/constants.js.map +1 -1
  45. package/lib/generate/index.d.ts +6 -6
  46. package/lib/generate/index.js +6 -6
  47. package/lib/generate/live.d.ts +8 -6
  48. package/lib/generate/live.d.ts.map +1 -1
  49. package/lib/generate/live.js +43 -42
  50. package/lib/generate/live.js.map +1 -1
  51. package/lib/generate/ontology.d.ts +4 -2
  52. package/lib/generate/ontology.d.ts.map +1 -1
  53. package/lib/generate/ontology.js +453 -354
  54. package/lib/generate/ontology.js.map +1 -1
  55. package/lib/generate/types.d.ts +7 -6
  56. package/lib/generate/types.d.ts.map +1 -1
  57. package/lib/generate/types.js +190 -262
  58. package/lib/generate/types.js.map +1 -1
  59. package/lib/generate/utils/buildJsDocs.d.ts +7 -4
  60. package/lib/generate/utils/buildJsDocs.d.ts.map +1 -1
  61. package/lib/generate/utils/buildJsDocs.js +14 -10
  62. package/lib/generate/utils/buildJsDocs.js.map +1 -1
  63. package/lib/index.d.ts +30 -13
  64. package/lib/index.js +18 -10
  65. package/lib/infer.d.ts +129 -152
  66. package/lib/infer.d.ts.map +1 -1
  67. package/lib/infer.js +10 -6
  68. package/lib/infer.js.map +1 -1
  69. package/lib/installation/createMetaOntologyConfiguration.d.ts +6 -3
  70. package/lib/installation/createMetaOntologyConfiguration.d.ts.map +1 -1
  71. package/lib/installation/createMetaOntologyConfiguration.js +13 -11
  72. package/lib/installation/createMetaOntologyConfiguration.js.map +1 -1
  73. package/lib/installation/createOntologyBackendInstallation.d.ts +3 -1
  74. package/lib/installation/createOntologyBackendInstallation.d.ts.map +1 -1
  75. package/lib/installation/createOntologyBackendInstallation.js +205 -268
  76. package/lib/installation/createOntologyBackendInstallation.js.map +1 -1
  77. package/lib/installation/index.d.ts +4 -4
  78. package/lib/installation/index.js +3 -3
  79. package/lib/installation/types.d.ts +83 -80
  80. package/lib/installation/types.d.ts.map +1 -1
  81. package/lib/installation/types.js +0 -1
  82. package/lib/ir/generated/builders.d.ts +294 -382
  83. package/lib/ir/generated/builders.d.ts.map +1 -1
  84. package/lib/ir/generated/builders.js +180 -119
  85. package/lib/ir/generated/builders.js.map +1 -1
  86. package/lib/ir/generated/constants.d.ts +137 -135
  87. package/lib/ir/generated/constants.d.ts.map +1 -1
  88. package/lib/ir/generated/constants.js +162 -129
  89. package/lib/ir/generated/constants.js.map +1 -1
  90. package/lib/ir/generated/types.d.ts +239 -234
  91. package/lib/ir/generated/types.d.ts.map +1 -1
  92. package/lib/ir/generated/types.js +0 -2
  93. package/lib/ir/index.d.ts +4 -4
  94. package/lib/ir/index.js +3 -4
  95. package/lib/ir/schema.d.ts +2174 -2172
  96. package/lib/ir/schema.d.ts.map +1 -1
  97. package/lib/ir/schema.js +1184 -1343
  98. package/lib/ir/schema.js.map +1 -1
  99. package/lib/ir/validate.d.ts +5 -3
  100. package/lib/ir/validate.d.ts.map +1 -1
  101. package/lib/ir/validate.js +589 -707
  102. package/lib/ir/validate.js.map +1 -1
  103. package/lib/json/index.d.ts +10 -8
  104. package/lib/json/index.d.ts.map +1 -1
  105. package/lib/json/index.js +101 -135
  106. package/lib/json/index.js.map +1 -1
  107. package/lib/lenses.d.ts +7 -4
  108. package/lib/lenses.d.ts.map +1 -1
  109. package/lib/lenses.js +96 -132
  110. package/lib/lenses.js.map +1 -1
  111. package/lib/live/LiveOntology.d.ts +55 -60
  112. package/lib/live/LiveOntology.d.ts.map +1 -1
  113. package/lib/live/LiveOntology.js +98 -124
  114. package/lib/live/LiveOntology.js.map +1 -1
  115. package/lib/live/OntologyBackendAdapter.d.ts +79 -76
  116. package/lib/live/OntologyBackendAdapter.d.ts.map +1 -1
  117. package/lib/live/OntologyBackendAdapter.js +0 -1
  118. package/lib/live/actions/createLiveOntologyAction.d.ts +27 -24
  119. package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -1
  120. package/lib/live/actions/createLiveOntologyAction.js +24 -21
  121. package/lib/live/actions/createLiveOntologyAction.js.map +1 -1
  122. package/lib/live/actions/createLiveOntologyActions.d.ts +23 -20
  123. package/lib/live/actions/createLiveOntologyActions.d.ts.map +1 -1
  124. package/lib/live/actions/createLiveOntologyActions.js +131 -161
  125. package/lib/live/actions/createLiveOntologyActions.js.map +1 -1
  126. package/lib/live/actions/prepareActionParameters.d.ts +14 -11
  127. package/lib/live/actions/prepareActionParameters.d.ts.map +1 -1
  128. package/lib/live/actions/prepareActionParameters.js +190 -228
  129. package/lib/live/actions/prepareActionParameters.js.map +1 -1
  130. package/lib/live/attachments/attachmentSources.d.ts +7 -4
  131. package/lib/live/attachments/attachmentSources.d.ts.map +1 -1
  132. package/lib/live/attachments/attachmentSources.js +55 -71
  133. package/lib/live/attachments/attachmentSources.js.map +1 -1
  134. package/lib/live/attachments/createLiveOntologyAttachments.d.ts +47 -45
  135. package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -1
  136. package/lib/live/attachments/createLiveOntologyAttachments.js +65 -83
  137. package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -1
  138. package/lib/live/attachments/types.d.ts +10 -9
  139. package/lib/live/attachments/types.d.ts.map +1 -1
  140. package/lib/live/attachments/types.js +0 -1
  141. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +3 -1
  142. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +1 -1
  143. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +5 -3
  144. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +1 -1
  145. package/lib/live/expression.d.ts +16 -14
  146. package/lib/live/expression.d.ts.map +1 -1
  147. package/lib/live/expression.js +142 -223
  148. package/lib/live/expression.js.map +1 -1
  149. package/lib/live/index.d.ts +12 -9
  150. package/lib/live/index.js +6 -8
  151. package/lib/live/mutators/OntologyEdits.d.ts +12 -9
  152. package/lib/live/mutators/OntologyEdits.d.ts.map +1 -1
  153. package/lib/live/mutators/OntologyEdits.js +57 -74
  154. package/lib/live/mutators/OntologyEdits.js.map +1 -1
  155. package/lib/live/mutators/createMutatorTx.d.ts +7 -5
  156. package/lib/live/mutators/createMutatorTx.d.ts.map +1 -1
  157. package/lib/live/mutators/createMutatorTx.js +53 -69
  158. package/lib/live/mutators/createMutatorTx.js.map +1 -1
  159. package/lib/live/mutators/runOptimisticAction.d.ts +16 -13
  160. package/lib/live/mutators/runOptimisticAction.d.ts.map +1 -1
  161. package/lib/live/mutators/runOptimisticAction.js +26 -26
  162. package/lib/live/mutators/runOptimisticAction.js.map +1 -1
  163. package/lib/live/mutators/types.d.ts +18 -16
  164. package/lib/live/mutators/types.d.ts.map +1 -1
  165. package/lib/live/mutators/types.js +0 -1
  166. package/lib/live/objects/OntologyObject.d.ts +2 -0
  167. package/lib/live/objects/OntologyObject.d.ts.map +1 -1
  168. package/lib/live/objects/OntologyObject.js +0 -1
  169. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +13 -10
  170. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +1 -1
  171. package/lib/live/objects/createLiveOntologyObjectCollection.js +48 -49
  172. package/lib/live/objects/createLiveOntologyObjectCollection.js.map +1 -1
  173. package/lib/live/objects/ontologyObjectCollectionId.d.ts +2 -0
  174. package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +1 -1
  175. package/lib/live/objects/ontologyObjectCollectionId.js +6 -2
  176. package/lib/live/objects/ontologyObjectCollectionId.js.map +1 -1
  177. package/lib/live/outbox/createOntologyOutbox.d.ts +16 -14
  178. package/lib/live/outbox/createOntologyOutbox.d.ts.map +1 -1
  179. package/lib/live/outbox/createOntologyOutbox.js +275 -326
  180. package/lib/live/outbox/createOntologyOutbox.js.map +1 -1
  181. package/lib/live/outbox/leaderExecutor.d.ts +15 -13
  182. package/lib/live/outbox/leaderExecutor.d.ts.map +1 -1
  183. package/lib/live/outbox/leaderExecutor.js +114 -153
  184. package/lib/live/outbox/leaderExecutor.js.map +1 -1
  185. package/lib/live/outbox/outboxService.d.ts +4 -2
  186. package/lib/live/outbox/outboxService.d.ts.map +1 -1
  187. package/lib/live/outbox/outboxService.js +66 -71
  188. package/lib/live/outbox/outboxService.js.map +1 -1
  189. package/lib/live/outbox/projectionManager.d.ts +26 -24
  190. package/lib/live/outbox/projectionManager.d.ts.map +1 -1
  191. package/lib/live/outbox/projectionManager.js +121 -147
  192. package/lib/live/outbox/projectionManager.js.map +1 -1
  193. package/lib/live/outbox/repository.d.ts +27 -25
  194. package/lib/live/outbox/repository.d.ts.map +1 -1
  195. package/lib/live/outbox/repository.js +192 -241
  196. package/lib/live/outbox/repository.js.map +1 -1
  197. package/lib/live/outbox/service.d.ts +52 -50
  198. package/lib/live/outbox/service.d.ts.map +1 -1
  199. package/lib/live/outbox/service.js +5 -1
  200. package/lib/live/outbox/service.js.map +1 -1
  201. package/lib/live/outbox/types.d.ts +35 -33
  202. package/lib/live/outbox/types.d.ts.map +1 -1
  203. package/lib/live/outbox/types.js +10 -6
  204. package/lib/live/outbox/types.js.map +1 -1
  205. package/lib/live/waitForCollectionReady.d.ts +3 -1
  206. package/lib/live/waitForCollectionReady.d.ts.map +1 -1
  207. package/lib/live/waitForCollectionReady.js +44 -65
  208. package/lib/live/waitForCollectionReady.js.map +1 -1
  209. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts +5 -2
  210. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts.map +1 -1
  211. package/lib/meta/createLocalMetaOntologyBackendAdapter.js +37 -39
  212. package/lib/meta/createLocalMetaOntologyBackendAdapter.js.map +1 -1
  213. package/lib/meta/generated/constants.d.ts +137 -135
  214. package/lib/meta/generated/constants.d.ts.map +1 -1
  215. package/lib/meta/generated/constants.js +162 -129
  216. package/lib/meta/generated/constants.js.map +1 -1
  217. package/lib/meta/generated/live.d.ts +5 -2
  218. package/lib/meta/generated/live.d.ts.map +1 -1
  219. package/lib/meta/generated/live.js +12 -8
  220. package/lib/meta/generated/live.js.map +1 -1
  221. package/lib/meta/generated/types.d.ts +233 -231
  222. package/lib/meta/generated/types.d.ts.map +1 -1
  223. package/lib/meta/generated/types.js +0 -2
  224. package/lib/meta/ontology.d.ts +23 -21
  225. package/lib/meta/ontology.d.ts.map +1 -1
  226. package/lib/meta/ontology.js +100 -104
  227. package/lib/meta/ontology.js.map +1 -1
  228. package/lib/meta/pull.d.ts +8 -6
  229. package/lib/meta/pull.d.ts.map +1 -1
  230. package/lib/meta/pull.js +39 -52
  231. package/lib/meta/pull.js.map +1 -1
  232. package/lib/utils/index.d.ts +8 -8
  233. package/lib/utils/index.js +5 -6
  234. package/lib/utils/links.d.ts +34 -32
  235. package/lib/utils/links.d.ts.map +1 -1
  236. package/lib/utils/links.js +10 -17
  237. package/lib/utils/links.js.map +1 -1
  238. package/lib/utils/paths.d.ts +2 -0
  239. package/lib/utils/paths.d.ts.map +1 -1
  240. package/lib/utils/paths.js +32 -44
  241. package/lib/utils/paths.js.map +1 -1
  242. package/lib/utils/provide.d.ts +2 -0
  243. package/lib/utils/provide.d.ts.map +1 -1
  244. package/lib/utils/provide.js +7 -9
  245. package/lib/utils/provide.js.map +1 -1
  246. package/lib/utils/targets.d.ts +20 -18
  247. package/lib/utils/targets.d.ts.map +1 -1
  248. package/lib/utils/targets.js +0 -1
  249. package/lib/utils/typeNames.d.ts +10 -8
  250. package/lib/utils/typeNames.d.ts.map +1 -1
  251. package/lib/utils/typeNames.js +0 -1
  252. package/lib/utils/types.d.ts +6 -4
  253. package/lib/utils/types.d.ts.map +1 -1
  254. package/lib/utils/types.js +38 -38
  255. package/lib/utils/types.js.map +1 -1
  256. package/lib/utils/uncertain.d.ts +5 -3
  257. package/lib/utils/uncertain.d.ts.map +1 -1
  258. package/lib/utils/uncertain.js +11 -9
  259. package/lib/utils/uncertain.js.map +1 -1
  260. package/lib/utils/validation.d.ts +4 -2
  261. package/lib/utils/validation.d.ts.map +1 -1
  262. package/lib/utils/validation.js +0 -1
  263. package/lib/utils/values.d.ts +21 -18
  264. package/lib/utils/values.d.ts.map +1 -1
  265. package/lib/utils/values.js +0 -1
  266. package/package.json +19 -23
  267. package/lib/OntologyPullConfig.js.map +0 -1
  268. package/lib/cli/index.d.ts.map +0 -1
  269. package/lib/cli/index.test.d.ts +0 -2
  270. package/lib/cli/index.test.d.ts.map +0 -1
  271. package/lib/cli/index.test.js +0 -34
  272. package/lib/cli/index.test.js.map +0 -1
  273. package/lib/cli/pull.test.d.ts +0 -2
  274. package/lib/cli/pull.test.d.ts.map +0 -1
  275. package/lib/cli/pull.test.js +0 -125
  276. package/lib/cli/pull.test.js.map +0 -1
  277. package/lib/examples/generated/constants.d.ts.map +0 -1
  278. package/lib/examples/generated/constants.js.map +0 -1
  279. package/lib/examples/generated/types.js.map +0 -1
  280. package/lib/generate/builders.test.d.ts +0 -2
  281. package/lib/generate/builders.test.d.ts.map +0 -1
  282. package/lib/generate/builders.test.js +0 -49
  283. package/lib/generate/builders.test.js.map +0 -1
  284. package/lib/generate/index.d.ts.map +0 -1
  285. package/lib/generate/index.js.map +0 -1
  286. package/lib/generate/live.test.d.ts +0 -2
  287. package/lib/generate/live.test.d.ts.map +0 -1
  288. package/lib/generate/live.test.js +0 -22
  289. package/lib/generate/live.test.js.map +0 -1
  290. package/lib/generate/ontology.test.d.ts +0 -2
  291. package/lib/generate/ontology.test.d.ts.map +0 -1
  292. package/lib/generate/ontology.test.js +0 -157
  293. package/lib/generate/ontology.test.js.map +0 -1
  294. package/lib/generate/types.test.d.ts +0 -2
  295. package/lib/generate/types.test.d.ts.map +0 -1
  296. package/lib/generate/types.test.js +0 -304
  297. package/lib/generate/types.test.js.map +0 -1
  298. package/lib/index.d.ts.map +0 -1
  299. package/lib/index.js.map +0 -1
  300. package/lib/infer.test.d.ts +0 -2
  301. package/lib/infer.test.d.ts.map +0 -1
  302. package/lib/infer.test.js +0 -125
  303. package/lib/infer.test.js.map +0 -1
  304. package/lib/installation/createMetaOntologyConfiguration.test.d.ts +0 -2
  305. package/lib/installation/createMetaOntologyConfiguration.test.d.ts.map +0 -1
  306. package/lib/installation/createMetaOntologyConfiguration.test.js +0 -20
  307. package/lib/installation/createMetaOntologyConfiguration.test.js.map +0 -1
  308. package/lib/installation/createOntologyBackendInstallation.test.d.ts +0 -2
  309. package/lib/installation/createOntologyBackendInstallation.test.d.ts.map +0 -1
  310. package/lib/installation/createOntologyBackendInstallation.test.js +0 -320
  311. package/lib/installation/createOntologyBackendInstallation.test.js.map +0 -1
  312. package/lib/installation/index.d.ts.map +0 -1
  313. package/lib/installation/index.js.map +0 -1
  314. package/lib/installation/types.js.map +0 -1
  315. package/lib/ir/generated/types.js.map +0 -1
  316. package/lib/ir/index.d.ts.map +0 -1
  317. package/lib/ir/index.js.map +0 -1
  318. package/lib/ir/validate.test.d.ts +0 -2
  319. package/lib/ir/validate.test.d.ts.map +0 -1
  320. package/lib/ir/validate.test.js +0 -1061
  321. package/lib/ir/validate.test.js.map +0 -1
  322. package/lib/json/index.test.d.ts +0 -2
  323. package/lib/json/index.test.d.ts.map +0 -1
  324. package/lib/json/index.test.js +0 -142
  325. package/lib/json/index.test.js.map +0 -1
  326. package/lib/lenses.test.d.ts +0 -2
  327. package/lib/lenses.test.d.ts.map +0 -1
  328. package/lib/lenses.test.js +0 -80
  329. package/lib/lenses.test.js.map +0 -1
  330. package/lib/live/LiveOntology.test.d.ts +0 -2
  331. package/lib/live/LiveOntology.test.d.ts.map +0 -1
  332. package/lib/live/LiveOntology.test.js +0 -507
  333. package/lib/live/LiveOntology.test.js.map +0 -1
  334. package/lib/live/OntologyBackendAdapter.js.map +0 -1
  335. package/lib/live/actions/createLiveOntologyAction.test.d.ts +0 -2
  336. package/lib/live/actions/createLiveOntologyAction.test.d.ts.map +0 -1
  337. package/lib/live/actions/createLiveOntologyAction.test.js +0 -232
  338. package/lib/live/actions/createLiveOntologyAction.test.js.map +0 -1
  339. package/lib/live/actions/prepareActionParameters.test.d.ts +0 -2
  340. package/lib/live/actions/prepareActionParameters.test.d.ts.map +0 -1
  341. package/lib/live/actions/prepareActionParameters.test.js +0 -165
  342. package/lib/live/actions/prepareActionParameters.test.js.map +0 -1
  343. package/lib/live/attachments/attachmentMetadata.test.d.ts +0 -2
  344. package/lib/live/attachments/attachmentMetadata.test.d.ts.map +0 -1
  345. package/lib/live/attachments/attachmentMetadata.test.js +0 -73
  346. package/lib/live/attachments/attachmentMetadata.test.js.map +0 -1
  347. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts +0 -2
  348. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts.map +0 -1
  349. package/lib/live/attachments/createLiveOntologyAttachments.test.js +0 -363
  350. package/lib/live/attachments/createLiveOntologyAttachments.test.js.map +0 -1
  351. package/lib/live/attachments/types.js.map +0 -1
  352. package/lib/live/expression.test.d.ts +0 -2
  353. package/lib/live/expression.test.d.ts.map +0 -1
  354. package/lib/live/expression.test.js +0 -311
  355. package/lib/live/expression.test.js.map +0 -1
  356. package/lib/live/index.d.ts.map +0 -1
  357. package/lib/live/index.js.map +0 -1
  358. package/lib/live/mutators/OntologyEdits.test.d.ts +0 -2
  359. package/lib/live/mutators/OntologyEdits.test.d.ts.map +0 -1
  360. package/lib/live/mutators/OntologyEdits.test.js +0 -85
  361. package/lib/live/mutators/OntologyEdits.test.js.map +0 -1
  362. package/lib/live/mutators/createMutatorTx.test.d.ts +0 -2
  363. package/lib/live/mutators/createMutatorTx.test.d.ts.map +0 -1
  364. package/lib/live/mutators/createMutatorTx.test.js +0 -180
  365. package/lib/live/mutators/createMutatorTx.test.js.map +0 -1
  366. package/lib/live/mutators/types.js.map +0 -1
  367. package/lib/live/objects/OntologyObject.js.map +0 -1
  368. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts +0 -2
  369. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts.map +0 -1
  370. package/lib/live/objects/createLiveOntologyObjectCollection.test.js +0 -310
  371. package/lib/live/objects/createLiveOntologyObjectCollection.test.js.map +0 -1
  372. package/lib/live/outbox/createOntologyOutbox.test.d.ts +0 -2
  373. package/lib/live/outbox/createOntologyOutbox.test.d.ts.map +0 -1
  374. package/lib/live/outbox/createOntologyOutbox.test.js +0 -1030
  375. package/lib/live/outbox/createOntologyOutbox.test.js.map +0 -1
  376. package/lib/meta/generated/types.js.map +0 -1
  377. package/lib/meta/ontology.test.d.ts +0 -2
  378. package/lib/meta/ontology.test.d.ts.map +0 -1
  379. package/lib/meta/ontology.test.js +0 -84
  380. package/lib/meta/ontology.test.js.map +0 -1
  381. package/lib/utils/index.d.ts.map +0 -1
  382. package/lib/utils/index.js.map +0 -1
  383. package/lib/utils/links.test.d.ts +0 -2
  384. package/lib/utils/links.test.d.ts.map +0 -1
  385. package/lib/utils/links.test.js +0 -109
  386. package/lib/utils/links.test.js.map +0 -1
  387. package/lib/utils/paths.test.d.ts +0 -2
  388. package/lib/utils/paths.test.d.ts.map +0 -1
  389. package/lib/utils/paths.test.js +0 -33
  390. package/lib/utils/paths.test.js.map +0 -1
  391. package/lib/utils/targets.js.map +0 -1
  392. package/lib/utils/typeNames.js.map +0 -1
  393. package/lib/utils/types.test.d.ts +0 -2
  394. package/lib/utils/types.test.d.ts.map +0 -1
  395. package/lib/utils/types.test.js +0 -157
  396. package/lib/utils/types.test.js.map +0 -1
  397. package/lib/utils/uncertain.test.d.ts +0 -2
  398. package/lib/utils/uncertain.test.d.ts.map +0 -1
  399. package/lib/utils/uncertain.test.js +0 -14
  400. package/lib/utils/uncertain.test.js.map +0 -1
  401. package/lib/utils/validation.js.map +0 -1
  402. package/lib/utils/values.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/ir/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,6BAA6B,EAC7B,cAAc,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAmBjE,8GAA8G;AAC9G,SAAS,wBAAwB,CAC7B,KAAiD,EACjD,IAAyB;IAEzB,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,CAAU,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,SAAS,KAAK,yCAAyC;gBAChE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;aACzB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC;YACR,OAAO,EAAE,8CAA8C;YACvD,IAAI;SACP,CAAC,CAAC;IACP,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,6BAA6B,CAClC,IAA8C;IAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACzC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IAE7C,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1E,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,kCAAkC,SAAS,IAAI;gBACxD,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;aAChE,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,CACP,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE;QACzD,YAAY;QACZ,SAAS;QACT,OAAO;QACP,YAAY;QACZ,OAAO;KACV,CAAC,EACF,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE;QAC1D,YAAY;QACZ,SAAS;QACT,OAAO;QACP,YAAY;QACZ,QAAQ;KACX,CAAC,CACL,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CACpB,IAAa,EACb,IAAyB,EACzB,cAA2B,EAC3B,eAA4B;IAE5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS;YACV,OAAO,EAAE,CAAC;QAEd,KAAK,YAAY;YACb,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvD,GAAG,KAAK;gBACR,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;aACzC,CAAC,CAAC,CAAC;QAER,KAAK,iBAAiB;YAClB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACI;wBACI,OAAO,EAAE,mCAAmC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI;wBACrE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;qBAChC;iBACJ,CAAC;QAEZ,KAAK,MAAM;YACP,OAAO,eAAe,CAClB,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,EACxB,cAAc,EACd,eAAe,CAClB,CAAC;QAEN,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,MAAM,MAAM,GAAsB,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC;oBACR,OAAO,EAAE,+BAA+B;oBACxC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;iBAC7B,CAAC,CAAC;YACP,CAAC;YACD,OAAO;gBACH,GAAG,MAAM;gBACT,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC;gBAC7F,GAAG,eAAe,CACd,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,EACtB,cAAc,EACd,eAAe,CAClB;aACJ,CAAC;QACN,CAAC;QAED,KAAK,QAAQ;YACT,OAAO,oBAAoB,CACvB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EACnB,cAAc,EACd,eAAe,CAClB,CAAC;QAEN,KAAK,OAAO;YACR,OAAO,qBAAqB,CACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,EACrB,cAAc,EACd,eAAe,CAClB,CAAC;QAEN,KAAK,UAAU;YACX,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;QAEhG,KAAK,QAAQ;YACT,OAAO;gBACH,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC;gBAC3F,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC;aAChG,CAAC;QAEN,KAAK,KAAK;YACN,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACtC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACI;wBACI,OAAO,EAAE,kCAAkC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI;wBAC9D,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;qBAC1B;iBACJ,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CACzB,MAAmE,EACnE,IAAyB,EACzB,cAA2B,EAC3B,eAA4B;IAE5B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAE/B,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,0BAA0B,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAC1B,QAAgD,EAChD,IAAyB,EACzB,cAA2B,EAC3B,eAA4B;IAE5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,4BAA4B,OAAO,CAAC,IAAI,IAAI;gBACrD,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,MAAM,CAAC;aACjC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,CAAC,IAAI,CACP,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAC9F,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CACvB,UAAyB,EACzB,IAAyB,EACzB,cAA2B,EAC3B,eAA4B;IAE5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,6BAA6B,IAAI,CAAC,IAAI,IAAI;gBACnD,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC;aAC9B,CAAC,CAAC;QACP,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAChB,IAAa,EACb,UAAwC,EACxC,OAAO,IAAI,GAAG,EAAU;IAExB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CACrB,IAAa,EACb,IAAc,EACd,UAAwC;IAExC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAEhC,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,UAAU;YACX,OAAO,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACvE,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,CAAC;QACD;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AASD,SAAS,qBAAqB,CAC1B,UAAsB,EACtB,UAAmD,EACnD,UAAwC,EACxC,WAA+C,EAC/C,SAAiC,EACjC,WAAgC,EAChC,MAAoC;IAEpC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,gBAAgB;YACjB,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QACvD,KAAK,kBAAkB;YACnB,OAAO,WAAW;gBACd,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;gBACpE,CAAC,CAAC,SAAS,CAAC;QACpB,KAAK,gBAAgB;YACjB,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,KAAK,OAAO,CAAC,CAAC,CAAC;YACX,MAAM,UAAU,GAAG,qBAAqB,CACpC,UAAU,CAAC,KAAK,CAAC,MAAM,EACvB,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;YACF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACvC,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;gBACtD,MAAM,QAAQ,GAAG,WAAW;qBACvB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;oBAC3B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;gBACtE,OAAO,QAAQ;oBACX,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC;oBACnD,CAAC,CAAC,SAAS,CAAC;YACpB,CAAC;YACD,OAAO,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YAClB,MAAM,aAAa,GAAG,qBAAqB,CACvC,UAAU,CAAC,KAAK,CAAC,SAAS,EAC1B,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;YACF,MAAM,QAAQ,GAAG,aAAa,EAAE,IAAI,KAAK,gBAAgB;gBACrD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,aAAa;oBACb,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC;oBAC/C,CAAC,CAAC,SAAS,CAAC;YAClB,OAAO,QAAQ,EAAE,IAAI,KAAK,iBAAiB;gBACvC,CAAC,CAAC;oBACI,IAAI,EAAE,gBAAgB;oBACtB,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;iBACxC;gBACH,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,qBAAqB,CACpC,UAAU,CAAC,KAAK,CAAC,MAAM,EACvB,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;YACF,IAAI,UAAU,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACxC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,IAAI,GAAG,cAAc,CACvB;gBACI,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;aAC5B,EACD,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,KAAK,CAAC,IAAI,CACxB,CAAC;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAC;YAC5B,MAAM,kBAAkB,GACpB,6BAA6B,CACzB,IAAI,EACJ,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,KAAK,CAAC,IAAI,CACxB,CAAC;YACN,IACI,CAAC,kBAAkB;gBACnB,IAAI,CAAC,WAAW,KAAK,MAAM,EAC7B,CAAC;gBACC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO;gBACH,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,kBAAkB;oBAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;oBACxB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;aAC/B,CAAC;QACN,CAAC;QACD,KAAK,QAAQ;YACT,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE;oBACH,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,IAAI;wBACvB,IAAI,EAAE,CAAC,GAAG,EAAE;4BACR,MAAM,QAAQ,GAAG,qBAAqB,CAClC,KAAK,CAAC,KAAK,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;4BACF,OAAO,QAAQ;gCACX,QAAQ,CAAC,IAAI,KAAK,gBAAgB;gCAClC,CAAC,CAAC,QAAQ;gCACV,CAAC,CAAC;oCACI,IAAI,EAAE,SAAkB;oCACxB,KAAK,EAAE,EAAE;iCACZ,CAAC;wBACZ,CAAC,CAAC,EAAE;qBACP,CAAC,CAAC;iBACN;aACJ,CAAC;QACN,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,MAAM,UAAU,GAAG,qBAAqB,CACpC,UAAU,CAAC,KAAK,CAAC,MAAM,EACvB,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;YACF,MAAM,QAAQ,GACV,UAAU;gBACV,UAAU,CAAC,IAAI,KAAK,gBAAgB;gBAChC,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC;gBAC5C,CAAC,CAAC,SAAS,CAAC;YACpB,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,qBAAqB,CAClC,UAAU,CAAC,KAAK,CAAC,IAAI,EACrB,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,CACb,CAAC;YACF,OAAO,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB;gBACjD,CAAC,CAAC;oBACI,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;iBACnC;gBACH,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC;QACD,KAAK,SAAS;YACV,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC1C,KAAK,MAAM;YACP,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzC,KAAK,KAAK;YACN,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACvB,UAAsB,EACtB,UAAmD,EACnD,IAAyB,EACzB,UAAwC,EACxC,WAA+C,EAC/C,SAAiC,EACjC,WAAgC,EAChC,SAAuC,IAAI,GAAG,EAAE;IAEhD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO;oBACH;wBACI,OAAO,EAAE,8BAA8B,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI;wBAChE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;qBAC1B;iBACJ,CAAC;YACN,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,KAAK,kBAAkB;YACnB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;gBACrE,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACI;wBACI,OAAO,EAAE,2BAA2B,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI;wBAC7D,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;qBAC1B;iBACJ,CAAC;QACZ,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO;oBACH;wBACI,OAAO,EAAE,gCAAgC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI;wBAClE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;qBAC1B;iBACJ,CAAC;YACN,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,CAAC;QACpB,KAAK,SAAS,CAAC,CAAC,CAAC;YACb,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7E,MAAM,KAAK,GACP,UAAU,CAAC,IAAI,KAAK,cAAc;gBAC9B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS;gBAC5B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAClC,MAAM,MAAM,GAAG,kBAAkB,CAC7B,KAAK,EACL,UAAU,EACV,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EACnB,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;YACF,IACI,UAAU,CAAC,IAAI,KAAK,OAAO;gBAC3B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EACpC,CAAC;gBACC,MAAM,CAAC,IAAI,CAAC;oBACR,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;iBAC1B,CAAC,CAAC;YACP,CAAC;YACD,MAAM,QAAQ,GAAG,qBAAqB,CAClC,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC;oBACR,OAAO,EACH,UAAU,CAAC,IAAI,KAAK,OAAO;wBACvB,CAAC,CAAC,8DAA8D;wBAChE,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc;4BAClC,CAAC,CAAC,+DAA+D;4BACjE,CAAC,CAAC,+CAA+C;oBAC3D,IAAI;iBACP,CAAC,CAAC;YACP,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAsB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;YAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;gBAC9C,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC;wBACR,OAAO,EAAE,uCAAuC,KAAK,CAAC,IAAI,IAAI;wBAC9D,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;qBAC3C,CAAC,CAAC;gBACP,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,CACP,GAAG,kBAAkB,CACjB,KAAK,CAAC,KAAK,EACX,UAAU,EACV,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EACnC,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CACJ,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,MAAM,MAAM,GAAG,kBAAkB,CAC7B,UAAU,CAAC,KAAK,CAAC,MAAM,EACvB,UAAU,EACV,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EACnB,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;YACF,MAAM,UAAU,GAAG,qBAAqB,CACpC,UAAU,CAAC,KAAK,CAAC,MAAM,EACvB,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,CACT,CAAC;YACF,MAAM,QAAQ,GACV,UAAU;gBACV,UAAU,CAAC,IAAI,KAAK,gBAAgB;gBAChC,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC;gBAC5C,CAAC,CAAC,SAAS,CAAC;YACpB,IAAI,UAAU,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC;oBACR,OAAO,EAAE,+CAA+C;oBACxD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;iBAC5B,CAAC,CAAC;YACP,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC;oBACR,OAAO,EAAE,2CAA2C;oBACpD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;iBAC7B,CAAC,CAAC;YACP,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,UAAU,CAAC,GAAG,CACV,UAAU,CAAC,KAAK,CAAC,OAAO,EACxB,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAC1F,CAAC;YACF,MAAM,CAAC,IAAI,CACP,GAAG,kBAAkB,CACjB,UAAU,CAAC,KAAK,CAAC,IAAI,EACrB,UAAU,EACV,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EACjB,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,CACb,CACJ,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACV,OAAO,EAAE,CAAC;IAClB,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa,EAAE,UAAwC;IAC/E,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/C,OAAO,QAAQ,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1G,CAAC;AAED,SAAS,yBAAyB,CAC9B,MAAe,EACf,MAAe,EACf,UAAwC;IAExC,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAChF,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAiB,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACjF,OAAO,UAAU,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;IACvE,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3D,OAAO,yBAAyB,CAC5B,UAAU,CAAC,KAAK,CAAC,WAAW,EAC5B,UAAU,CAAC,KAAK,CAAC,WAAW,EAC5B,UAAU,CACb,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,6BAA6B,CAClC,SAAmC,EACnC,UAAmD,EACnD,IAAyB,EACzB,UAAwC,EACxC,WAA+C;IAE/C,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;YACH,MAAM,EAAE;gBACJ;oBACI,OAAO,EAAE,8BAA8B,aAAa,IAAI;oBACxD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;iBAC1B;aACJ;SACJ,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACnD,OAAO;YACH,MAAM,EAAE;gBACJ;oBACI,OAAO,EAAE,4BAA4B,aAAa,gCAAgC;oBAClF,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;iBAC1B;aACJ;SACJ,CAAC;IACN,CAAC;IAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpE,OAAO,gBAAgB;QACnB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE;QAC9C,CAAC,CAAC;YACI,MAAM,EAAE;gBACJ;oBACI,OAAO,EAAE,mCAAmC,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI;oBACzE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;iBAC1B;aACJ;SACJ,CAAC;AACZ,CAAC;AAED,SAAS,gCAAgC,CACrC,UAA8B,EAC9B,MAAqB,EACrB,UAAmD,EACnD,IAAyB,EACzB,UAAwC,EACxC,WAA+C,EAC/C,SAAiC,EACjC,WAAgC;IAEhC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO;YACH,EAAE,OAAO,EAAE,sDAAsD,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE;SACnG,CAAC;IACN,CAAC;IAED,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACxF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO;YACH;gBACI,OAAO,EAAE,qBAAqB,YAAY,qBAAqB,MAAM,CAAC,IAAI,IAAI;gBAC9E,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;aAC9B;SACJ,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,kBAAkB,CAC7B,UAAU,CAAC,KAAK,EAChB,UAAU,EACV,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAClB,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,CACd,CAAC;IAEF,OAAO,QAAQ;QACX,CAAC,CAAC,MAAM;QACR,CAAC,CAAC;YACI,GAAG,MAAM;YACT;gBACI,OAAO,EAAE,qBAAqB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,IAAI;gBAC/F,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;aAC9B;SACJ,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CACnB,MAAqB,EACrB,IAAyB,EACzB,UAAwC,EACxC,WAA+C,EAC/C,SAAiC,EACjC,WAAgC;IAEhC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAErD,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,qCAAqC,SAAS,CAAC,IAAI,IAAI;gBAChE,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,MAAM,CAAC;aACnC,CAAC,CAAC;QACP,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,CAAC,IAAI,CACP,GAAG,eAAe,CACd,SAAS,CAAC,IAAI,EACd,CAAC,GAAG,aAAa,EAAE,MAAM,CAAC,EAC1B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAC1B,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAC9B,CACJ,CAAC;QAEF,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CACP,GAAG,kBAAkB,CACjB,SAAS,CAAC,YAAY,EACtB,UAAU,EACV,CAAC,GAAG,aAAa,EAAE,cAAc,CAAC,EAClC,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,CACd,CACJ,CAAC;YACF,MAAM,UAAU,GAAG,qBAAqB,CACpC,SAAS,CAAC,YAAY,EACtB,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,IAAI,GAAG,EAAE,CACZ,CAAC;YACF,IACI,UAAU;gBACV,UAAU,CAAC,IAAI,KAAK,gBAAgB;gBACpC,CAAC,yBAAyB,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EACpE,CAAC;gBACC,MAAM,CAAC,IAAI,CAAC;oBACR,OAAO,EAAE,sBAAsB,SAAS,CAAC,IAAI,6BAA6B;oBAC1E,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,cAAc,CAAC;iBAC3C,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC;wBACR,OAAO,EAAE,wBAAwB,IAAI,CAAC,KAAK,CAAC,UAAU,gBAAgB,MAAM,CAAC,IAAI,IAAI;wBACrF,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC;qBAC7C,CAAC,CAAC;oBACH,SAAS;gBACb,CAAC;gBACD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;oBAC3E,MAAM,CAAC,IAAI,CACP,GAAG,gCAAgC,CAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAE,EAC9B,UAAU,EACV,UAAU,EACV,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAC5C,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,CACd,CACJ,CAAC;gBACN,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,6BAA6B,CACxC,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,UAAU,EACV,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAChC,UAAU,EACV,WAAW,CACd,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBACrB,SAAS;gBACb,CAAC;gBACD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;oBAC3E,MAAM,CAAC,IAAI,CACP,GAAG,gCAAgC,CAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAE,EAC9B,MAAM,CAAC,UAAU,EACjB,UAAU,EACV,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAC5C,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,CACd,CACJ,CAAC;gBACN,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,cAAc;gBACf,MAAM,CAAC,IAAI,CACP,GAAG,6BAA6B,CAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,UAAU,EACV,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAChC,UAAU,EACV,WAAW,CACd,CAAC,MAAM,CACX,CAAC;gBACF,MAAM;QACd,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAC9B,iBAAuC,EACvC,IAAyB,EACzB,cAA2B,EAC3B,eAA4B;IAE5B,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC;QACvD,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAErD,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,6CAA6C,SAAS,CAAC,IAAI,IAAI;gBACxE,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,MAAM,CAAC;aACnC,CAAC,CAAC;QACP,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,CAAC,IAAI,CACP,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAClG,CAAC;IACN,CAAC;IAED,MAAM,CAAC,IAAI,CACP,GAAG,eAAe,CACd,iBAAiB,CAAC,UAAU,EAC5B,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,EACvB,cAAc,EACd,eAAe,CAClB,CACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAoB;IACzC,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,8CAA8C;IAC9C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC9B,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,+BAA+B,EAAE,CAAC,IAAI,IAAI;gBACnD,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC;aAC7B,CAAC,CAAC;QACP,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QACpC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,gCAAgC,EAAE,CAAC,IAAI,IAAI;gBACpD,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,CAAC;aACnC,CAAC,CAAC;QACP,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAErG,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CACP,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAC7F,CAAC;QACF,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,mBAAmB,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC1F,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,MAAM,gBAAgB,GAAG,iBAAiB;gBACtC,CAAC,CAAC,WAAW,CAAC,iBAAiB,EAAE,UAAU,CAAC;gBAC5C,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,SAAS,IAAI,gBAAgB,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC;oBACR,OAAO,EAAE,4DAA4D;oBACrE,IAAI,EAAE;wBACF,aAAa;wBACb,QAAQ;wBACR,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;wBACnD,MAAM;qBACT;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,wBAAwB;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QACpC,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC,CAAwB,CAAC;QAEzD,sBAAsB;QACtB,MAAM,CAAC,IAAI,CACP,GAAG,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CACnG,CAAC;QAEF,mDAAmD;QACnD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,gBAAgB,EAAE,CAAC,UAAU,wCAAwC;gBAC9E,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC;aAClC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,UAAU,EAAE,CAAC,KAAK,wCAAwC;gBACnE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC;aAC7B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAwB,CAAC;QAEvD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,4BAA4B,EAAE,CAAC,EAAE,IAAI;gBAC9C,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC;aAC1B,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEnB,oEAAoE;QACpE,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,qCAAqC,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI;gBAC7F,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;aACtC,CAAC,CAAC;QACP,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,uBAAuB,EAAE,CAAC,MAAM,CAAC,UAAU,mBAAmB;gBACvE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;aAC5C,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,uBAAuB,EAAE,CAAC,MAAM,CAAC,UAAU,mBAAmB;gBACvE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;aAC5C,CAAC,CAAC;QACP,CAAC;QAED,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrG,MAAM,WAAW,GACb,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,KAAK,CAAC;QACzF,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,gBAAgB,EAAE,CAAC,UAAU,2CAA2C,EAAE,CAAC,MAAM,CAAC,UAAU,eAAe,EAAE,CAAC,EAAE,IAAI;gBAC7H,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC;aAClC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,aAAa,EAAE,CAAC,CAAwB,CAAC;QAE7D,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,gCAAgC,MAAM,CAAC,IAAI,IAAI;gBACxD,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;QACP,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,CAAC,IAAI,CACP,GAAG,cAAc,CACb,MAAM,EACN,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,WAAW,CACvB,CACJ,CAAC;IACN,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAE,CAAC;QAC1D,MAAM,qBAAqB,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAwB,CAAC;QAE/E,IAAI,sBAAsB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,wCAAwC,iBAAiB,CAAC,IAAI,IAAI;gBAC3E,IAAI,EAAE,CAAC,GAAG,qBAAqB,EAAE,MAAM,CAAC;aAC3C,CAAC,CAAC;QACP,CAAC;QACD,sBAAsB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,CAAC,IAAI,CACP,GAAG,yBAAyB,CACxB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,eAAe,CAClB,CACJ,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;QAClC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"validate.js","names":[],"sources":["../../src/ir/validate.ts"],"sourcesContent":["import { isLinkHopFromForeignKeySource, resolveLinkHop } from \"../utils/links.js\";\nimport { unwrapType } from \"../utils/types.js\";\nimport { ImageMediaTypeOptions } from \"./generated/constants.js\";\nimport type { ValidationIssue } from \"../utils/validation.js\";\nimport type { Result } from \"../utils/values.js\";\nimport type {\n ActionParameterDef,\n ActionTypeDef,\n Expression,\n LinkTypeDef,\n ObjectTypeDef,\n OntologyIR,\n PropertyAssignment,\n PropertyDef,\n QueryFunctionTypeDef,\n TypeDef,\n InputReferenceExpression,\n} from \"./generated/types.js\";\n\nexport type ValidationResult = Result<void, ValidationIssue[]>;\n\n// TODO: Replace this attachment-specific range validation with real numeric constraints in the meta ontology.\nfunction validateNonNegativeRange(\n range: { min?: number; max?: number } | undefined,\n path: (string | number)[]\n): ValidationIssue[] {\n if (!range) return [];\n const errors: ValidationIssue[] = [];\n for (const bound of [\"min\", \"max\"] as const) {\n const value = range[bound];\n if (value !== undefined && (!Number.isFinite(value) || value < 0)) {\n errors.push({\n message: `Range ${bound} must be a finite, non-negative number.`,\n path: [...path, bound],\n });\n }\n }\n if (range.min !== undefined && range.max !== undefined && range.min > range.max) {\n errors.push({\n message: \"Range min must be less than or equal to max.\",\n path,\n });\n }\n return errors;\n}\n\nfunction validateAttachmentConstraints(type: Extract<TypeDef, { kind: \"attachment\" }>): ValidationIssue[] {\n const constraint = type.value.constraint;\n if (!constraint) return [];\n\n const errors = validateNonNegativeRange(constraint.size, [\"constraint\", \"size\"]);\n const content = constraint.content;\n if (content?.kind !== \"image\") return errors;\n\n for (const [index, mediaType] of (content.value.mediaTypes ?? []).entries()) {\n if (!ImageMediaTypeOptions.some((option) => option.value === mediaType)) {\n errors.push({\n message: `Unsupported image media type: \"${mediaType}\".`,\n path: [\"constraint\", \"content\", \"value\", \"mediaTypes\", index],\n });\n }\n }\n errors.push(\n ...validateNonNegativeRange(content.value.dimensions?.width, [\n \"constraint\",\n \"content\",\n \"value\",\n \"dimensions\",\n \"width\",\n ]),\n ...validateNonNegativeRange(content.value.dimensions?.height, [\n \"constraint\",\n \"content\",\n \"value\",\n \"dimensions\",\n \"height\",\n ])\n );\n return errors;\n}\n\nfunction validateTypeDef(\n type: TypeDef,\n path: (string | number)[],\n valueTypeNames: Set<string>,\n objectTypeNames: Set<string>\n): ValidationIssue[] {\n switch (type.kind) {\n case \"string\":\n case \"boolean\":\n case \"integer\":\n case \"float\":\n case \"double\":\n case \"date\":\n case \"timestamp\":\n case \"geopoint\":\n case \"unknown\":\n return [];\n\n case \"attachment\":\n return validateAttachmentConstraints(type).map((error) => ({\n ...error,\n path: [...path, ...(error.path ?? [])],\n }));\n\n case \"objectReference\":\n return objectTypeNames.has(type.value.objectType)\n ? []\n : [\n {\n message: `Unknown object type reference: \"${type.value.objectType}\".`,\n path: [...path, \"objectType\"],\n },\n ];\n\n case \"list\":\n return validateTypeDef(\n type.value.elementType,\n [...path, \"elementType\"],\n valueTypeNames,\n objectTypeNames\n );\n\n case \"map\": {\n const errors: ValidationIssue[] = [];\n if (type.value.keyType.kind !== \"string\") {\n errors.push({\n message: \"Map key types must be string.\",\n path: [...path, \"keyType\"],\n });\n }\n return [\n ...errors,\n ...validateTypeDef(type.value.keyType, [...path, \"keyType\"], valueTypeNames, objectTypeNames),\n ...validateTypeDef(\n type.value.valueType,\n [...path, \"valueType\"],\n valueTypeNames,\n objectTypeNames\n ),\n ];\n }\n\n case \"struct\":\n return validateStructFields(\n type.value.fields,\n [...path, \"fields\"],\n valueTypeNames,\n objectTypeNames\n );\n\n case \"union\":\n return validateUnionVariants(\n type.value.variants,\n [...path, \"variants\"],\n valueTypeNames,\n objectTypeNames\n );\n\n case \"optional\":\n return validateTypeDef(type.value.type, [...path, \"type\"], valueTypeNames, objectTypeNames);\n\n case \"result\":\n return [\n ...validateTypeDef(type.value.okType, [...path, \"okType\"], valueTypeNames, objectTypeNames),\n ...validateTypeDef(type.value.errType, [...path, \"errType\"], valueTypeNames, objectTypeNames),\n ];\n\n case \"ref\":\n return valueTypeNames.has(type.value.name)\n ? []\n : [\n {\n message: `Unknown value type reference: \"${type.value.name}\".`,\n path: [...path, \"name\"],\n },\n ];\n }\n}\n\nfunction validateStructFields(\n fields: Array<{ name: string; displayName: string; type: TypeDef }>,\n path: (string | number)[],\n valueTypeNames: Set<string>,\n objectTypeNames: Set<string>\n): ValidationIssue[] {\n const fieldNames = new Set<string>();\n const errors: ValidationIssue[] = [];\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]!;\n const fieldPath = [...path, i];\n\n if (fieldNames.has(field.name)) {\n errors.push({ message: `Duplicate field name: \"${field.name}\".`, path: [...fieldPath, \"name\"] });\n }\n fieldNames.add(field.name);\n\n errors.push(...validateTypeDef(field.type, [...fieldPath, \"type\"], valueTypeNames, objectTypeNames));\n }\n\n return errors;\n}\n\nfunction validateUnionVariants(\n variants: Array<{ name: string; type: TypeDef }>,\n path: (string | number)[],\n valueTypeNames: Set<string>,\n objectTypeNames: Set<string>\n): ValidationIssue[] {\n const seen = new Set<string>();\n const errors: ValidationIssue[] = [];\n\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i]!;\n const variantPath = [...path, i];\n\n if (seen.has(variant.name)) {\n errors.push({\n message: `Duplicate variant name: \"${variant.name}\".`,\n path: [...variantPath, \"name\"],\n });\n }\n seen.add(variant.name);\n\n errors.push(\n ...validateTypeDef(variant.type, [...variantPath, \"type\"], valueTypeNames, objectTypeNames)\n );\n }\n\n return errors;\n}\n\nfunction validateProperties(\n properties: PropertyDef[],\n path: (string | number)[],\n valueTypeNames: Set<string>,\n objectTypeNames: Set<string>\n): ValidationIssue[] {\n const names = new Set<string>();\n const errors: ValidationIssue[] = [];\n\n for (let i = 0; i < properties.length; i++) {\n const prop = properties[i]!;\n const propPath = [...path, i];\n\n if (names.has(prop.name)) {\n errors.push({\n message: `Duplicate property name: \"${prop.name}\".`,\n path: [...propPath, \"name\"],\n });\n }\n names.add(prop.name);\n\n errors.push(...validateTypeDef(prop.type, [...propPath, \"type\"], valueTypeNames, objectTypeNames));\n }\n\n return errors;\n}\n\nfunction resolveType(\n type: TypeDef,\n valueTypes: ReadonlyMap<string, TypeDef>,\n seen = new Set<string>()\n): TypeDef | undefined {\n if (type.kind !== \"ref\") {\n return type;\n }\n\n const name = type.value.name;\n if (seen.has(name)) {\n return undefined;\n }\n\n const resolved = valueTypes.get(name);\n if (!resolved) {\n return undefined;\n }\n\n return resolveType(resolved, valueTypes, new Set([...seen, name]));\n}\n\nfunction resolveFieldType(\n type: TypeDef,\n path: string[],\n valueTypes: ReadonlyMap<string, TypeDef>\n): TypeDef | undefined {\n const resolvedType = resolveType(type, valueTypes);\n if (!resolvedType) {\n return undefined;\n }\n\n if (path.length === 0) {\n return resolvedType;\n }\n\n const [segment, ...rest] = path;\n\n switch (resolvedType.kind) {\n case \"optional\":\n return resolveFieldType(resolvedType.value.type, path, valueTypes);\n case \"struct\": {\n const field = resolvedType.value.fields.find((candidate) => candidate.name === segment);\n return field ? resolveFieldType(field.type, rest, valueTypes) : undefined;\n }\n default:\n return undefined;\n }\n}\n\ntype ExpressionValueType =\n | TypeDef\n | {\n kind: \"ontologyObject\";\n objectType: string;\n };\n\nfunction resolveExpressionType(\n expression: Expression,\n parameters: ReadonlyMap<string, ActionParameterDef>,\n valueTypes: ReadonlyMap<string, TypeDef>,\n objectTypes: ReadonlyMap<string, ObjectTypeDef>,\n linkTypes: readonly LinkTypeDef[],\n contextType: TypeDef | undefined,\n locals: ReadonlyMap<string, TypeDef>\n): ExpressionValueType | undefined {\n switch (expression.kind) {\n case \"inputReference\":\n return parameters.get(expression.value.name)?.type;\n case \"contextReference\":\n return contextType\n ? resolveFieldType(contextType, [expression.value.name], valueTypes)\n : undefined;\n case \"localReference\":\n return locals.get(expression.value.name);\n case \"getAt\": {\n const sourceType = resolveExpressionType(\n expression.value.source,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n if (!sourceType || expression.value.path.length === 0) {\n return undefined;\n }\n if (sourceType.kind === \"ontologyObject\") {\n const [propertyName, ...rest] = expression.value.path;\n const property = objectTypes\n .get(sourceType.objectType)\n ?.properties.find((candidate) => candidate.name === propertyName);\n return property ? resolveFieldType(property.type, rest, valueTypes) : undefined;\n }\n return resolveFieldType(sourceType, expression.value.path, valueTypes);\n }\n case \"objectLookup\": {\n const referenceType = resolveExpressionType(\n expression.value.reference,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n const resolved =\n referenceType?.kind === \"ontologyObject\"\n ? undefined\n : referenceType\n ? unwrapOptionalType(referenceType, valueTypes)\n : undefined;\n return resolved?.kind === \"objectReference\"\n ? {\n kind: \"ontologyObject\",\n objectType: resolved.value.objectType,\n }\n : undefined;\n }\n case \"linkHop\": {\n const sourceType = resolveExpressionType(\n expression.value.source,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n if (sourceType?.kind !== \"ontologyObject\") {\n return undefined;\n }\n const link = resolveLinkHop(\n {\n objectTypes: [...objectTypes.values()],\n linkTypes: [...linkTypes],\n },\n sourceType.objectType,\n expression.value.link\n );\n if (!link) return undefined;\n const foreignKeyOnSource = isLinkHopFromForeignKeySource(\n link,\n sourceType.objectType,\n expression.value.link\n );\n if (!foreignKeyOnSource && link.cardinality === \"many\") {\n return undefined;\n }\n return {\n kind: \"ontologyObject\",\n objectType: foreignKeyOnSource ? link.target.objectType : link.source.objectType,\n };\n }\n case \"struct\":\n return {\n kind: \"struct\",\n value: {\n fields: expression.value.fields.map((field) => ({\n name: field.name,\n displayName: field.name,\n type: (() => {\n const resolved = resolveExpressionType(\n field.value,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n return resolved && resolved.kind !== \"ontologyObject\"\n ? resolved\n : {\n kind: \"unknown\" as const,\n value: {},\n };\n })(),\n })),\n },\n };\n case \"map\": {\n const sourceType = resolveExpressionType(\n expression.value.source,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n const listType =\n sourceType && sourceType.kind !== \"ontologyObject\"\n ? unwrapOptionalType(sourceType, valueTypes)\n : undefined;\n if (listType?.kind !== \"list\") {\n return undefined;\n }\n const bodyLocals = new Map(locals);\n bodyLocals.set(expression.value.binding, listType.value.elementType);\n const bodyType = resolveExpressionType(\n expression.value.body,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n bodyLocals\n );\n return bodyType && bodyType.kind !== \"ontologyObject\"\n ? {\n kind: \"list\",\n value: { elementType: bodyType },\n }\n : undefined;\n }\n case \"literal\":\n return { kind: \"unknown\", value: {} };\n case \"uuid\":\n return { kind: \"string\", value: {} };\n case \"now\":\n return { kind: \"timestamp\", value: {} };\n }\n}\n\nfunction validateExpression(\n expression: Expression,\n parameters: ReadonlyMap<string, ActionParameterDef>,\n path: (string | number)[],\n valueTypes: ReadonlyMap<string, TypeDef>,\n objectTypes: ReadonlyMap<string, ObjectTypeDef>,\n linkTypes: readonly LinkTypeDef[],\n contextType: TypeDef | undefined,\n locals: ReadonlyMap<string, TypeDef> = new Map()\n): ValidationIssue[] {\n switch (expression.kind) {\n case \"inputReference\": {\n const parameter = parameters.get(expression.value.name);\n if (!parameter) {\n return [\n {\n message: `Unknown action parameter: \"${expression.value.name}\".`,\n path: [...path, \"name\"],\n },\n ];\n }\n return [];\n }\n case \"contextReference\":\n if (!contextType) {\n return [];\n }\n return resolveFieldType(contextType, [expression.value.name], valueTypes)\n ? []\n : [\n {\n message: `Unknown context value: \"${expression.value.name}\".`,\n path: [...path, \"name\"],\n },\n ];\n case \"localReference\": {\n const local = locals.get(expression.value.name);\n if (!local) {\n return [\n {\n message: `Unknown expression binding: \"${expression.value.name}\".`,\n path: [...path, \"name\"],\n },\n ];\n }\n return [];\n }\n case \"getAt\":\n case \"objectLookup\":\n case \"linkHop\": {\n const childKey = expression.kind === \"objectLookup\" ? \"reference\" : \"source\";\n const child =\n expression.kind === \"objectLookup\" ? expression.value.reference : expression.value.source;\n const errors = validateExpression(\n child,\n parameters,\n [...path, childKey],\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n if (expression.kind === \"getAt\" && expression.value.path.length === 0) {\n errors.push({\n message: \"Get-at expression paths must not be empty.\",\n path: [...path, \"path\"],\n });\n }\n const resolved = resolveExpressionType(\n expression,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n if (!resolved) {\n errors.push({\n message:\n expression.kind === \"getAt\"\n ? \"Get-at expression source and path must resolve structurally.\"\n : expression.kind === \"objectLookup\"\n ? \"Object lookup references must resolve to an object reference.\"\n : \"Link hop must resolve to a named to-one link.\",\n path,\n });\n }\n return errors;\n }\n case \"struct\": {\n const errors: ValidationIssue[] = [];\n const names = new Set<string>();\n for (let index = 0; index < expression.value.fields.length; index++) {\n const field = expression.value.fields[index]!;\n if (names.has(field.name)) {\n errors.push({\n message: `Duplicate struct expression field: \"${field.name}\".`,\n path: [...path, \"fields\", index, \"name\"],\n });\n }\n names.add(field.name);\n errors.push(\n ...validateExpression(\n field.value,\n parameters,\n [...path, \"fields\", index, \"value\"],\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n )\n );\n }\n return errors;\n }\n case \"map\": {\n const errors = validateExpression(\n expression.value.source,\n parameters,\n [...path, \"source\"],\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n const sourceType = resolveExpressionType(\n expression.value.source,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n locals\n );\n const listType =\n sourceType && sourceType.kind !== \"ontologyObject\"\n ? unwrapOptionalType(sourceType, valueTypes)\n : undefined;\n if (sourceType && listType?.kind !== \"list\") {\n errors.push({\n message: \"Map expression source must resolve to a list.\",\n path: [...path, \"source\"],\n });\n }\n if (!expression.value.binding) {\n errors.push({\n message: \"Map expression binding must not be empty.\",\n path: [...path, \"binding\"],\n });\n }\n const bodyLocals = new Map(locals);\n bodyLocals.set(\n expression.value.binding,\n listType?.kind === \"list\" ? listType.value.elementType : { kind: \"unknown\", value: {} }\n );\n errors.push(\n ...validateExpression(\n expression.value.body,\n parameters,\n [...path, \"body\"],\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n bodyLocals\n )\n );\n return errors;\n }\n case \"uuid\":\n case \"now\":\n case \"literal\":\n return [];\n }\n}\n\nfunction unwrapOptionalType(type: TypeDef, valueTypes: ReadonlyMap<string, TypeDef>): TypeDef | undefined {\n const resolved = resolveType(type, valueTypes);\n return resolved?.kind === \"optional\" ? unwrapOptionalType(resolved.value.type, valueTypes) : resolved;\n}\n\nfunction areDefaultTypesCompatible(\n target: TypeDef,\n source: TypeDef,\n valueTypes: ReadonlyMap<string, TypeDef>\n): boolean {\n const targetType = unwrapOptionalType(target, valueTypes);\n const sourceType = unwrapOptionalType(source, valueTypes);\n if (!targetType || !sourceType) return false;\n if (targetType.kind === \"unknown\" || sourceType.kind === \"unknown\") return true;\n if (targetType.kind !== sourceType.kind) return false;\n if (targetType.kind === \"objectReference\" && sourceType.kind === \"objectReference\") {\n return targetType.value.objectType === sourceType.value.objectType;\n }\n if (targetType.kind === \"list\" && sourceType.kind === \"list\") {\n return areDefaultTypesCompatible(\n targetType.value.elementType,\n sourceType.value.elementType,\n valueTypes\n );\n }\n return true;\n}\n\nfunction validateActionObjectReference(\n reference: InputReferenceExpression,\n parameters: ReadonlyMap<string, ActionParameterDef>,\n path: (string | number)[],\n valueTypes: ReadonlyMap<string, TypeDef>,\n objectTypes: ReadonlyMap<string, ObjectTypeDef>\n): { errors: ValidationIssue[]; objectType?: ObjectTypeDef } {\n const parameterName = reference.name;\n const parameter = parameters.get(parameterName);\n if (!parameter) {\n return {\n errors: [\n {\n message: `Unknown action parameter: \"${parameterName}\".`,\n path: [...path, \"name\"],\n },\n ],\n };\n }\n\n const resolved = resolveType(parameter.type, valueTypes);\n if (!resolved || resolved.kind !== \"objectReference\") {\n return {\n errors: [\n {\n message: `Action target parameter \"${parameterName}\" must be an object reference.`,\n path: [...path, \"name\"],\n },\n ],\n };\n }\n\n const targetObjectType = objectTypes.get(resolved.value.objectType);\n return targetObjectType\n ? { errors: [], objectType: targetObjectType }\n : {\n errors: [\n {\n message: `Unknown object type reference: \"${resolved.value.objectType}\".`,\n path: [...path, \"name\"],\n },\n ],\n };\n}\n\nfunction validateActionPropertyAssignment(\n assignment: PropertyAssignment,\n target: ObjectTypeDef,\n parameters: ReadonlyMap<string, ActionParameterDef>,\n path: (string | number)[],\n valueTypes: ReadonlyMap<string, TypeDef>,\n objectTypes: ReadonlyMap<string, ObjectTypeDef>,\n linkTypes: readonly LinkTypeDef[],\n contextType: TypeDef | undefined\n): ValidationIssue[] {\n if (assignment.property.length === 0) {\n return [\n { message: \"Action property assignments must specify a property.\", path: [...path, \"property\"] },\n ];\n }\n\n const [propertyName, ...rest] = assignment.property;\n const property = target.properties.find((candidate) => candidate.name === propertyName);\n if (!property) {\n return [\n {\n message: `Unknown property \"${propertyName}\" on object type \"${target.name}\".`,\n path: [...path, \"property\"],\n },\n ];\n }\n\n const resolved = resolveFieldType(property.type, rest, valueTypes);\n const errors = validateExpression(\n assignment.value,\n parameters,\n [...path, \"value\"],\n valueTypes,\n objectTypes,\n linkTypes,\n contextType\n );\n\n return resolved\n ? errors\n : [\n ...errors,\n {\n message: `Invalid property \"${assignment.property.join(\".\")}\" on object type \"${target.name}\".`,\n path: [...path, \"property\"],\n },\n ];\n}\n\nfunction validateAction(\n action: ActionTypeDef,\n path: (string | number)[],\n valueTypes: ReadonlyMap<string, TypeDef>,\n objectTypes: ReadonlyMap<string, ObjectTypeDef>,\n linkTypes: readonly LinkTypeDef[],\n contextType: TypeDef | undefined\n): ValidationIssue[] {\n const errors: ValidationIssue[] = [];\n const parameters = new Map(action.parameters.map((parameter) => [parameter.name, parameter]));\n const seenParameters = new Set<string>();\n\n for (let index = 0; index < action.parameters.length; index++) {\n const parameter = action.parameters[index]!;\n const parameterPath = [...path, \"parameters\", index];\n\n if (seenParameters.has(parameter.name)) {\n errors.push({\n message: `Duplicate action parameter name: \"${parameter.name}\".`,\n path: [...parameterPath, \"name\"],\n });\n }\n seenParameters.add(parameter.name);\n\n errors.push(\n ...validateTypeDef(\n parameter.type,\n [...parameterPath, \"type\"],\n new Set(valueTypes.keys()),\n new Set(objectTypes.keys())\n )\n );\n\n if (parameter.defaultValue) {\n errors.push(\n ...validateExpression(\n parameter.defaultValue,\n parameters,\n [...parameterPath, \"defaultValue\"],\n valueTypes,\n objectTypes,\n linkTypes,\n contextType\n )\n );\n const sourceType = resolveExpressionType(\n parameter.defaultValue,\n parameters,\n valueTypes,\n objectTypes,\n linkTypes,\n contextType,\n new Map()\n );\n if (\n sourceType &&\n sourceType.kind !== \"ontologyObject\" &&\n !areDefaultTypesCompatible(parameter.type, sourceType, valueTypes)\n ) {\n errors.push({\n message: `Default value for \"${parameter.name}\" has an incompatible type.`,\n path: [...parameterPath, \"defaultValue\"],\n });\n }\n }\n }\n\n for (let index = 0; index < action.logic.length; index++) {\n const step = action.logic[index]!;\n const stepPath = [...path, \"logic\", index];\n\n switch (step.kind) {\n case \"createObject\": {\n const objectType = objectTypes.get(step.value.objectType);\n if (!objectType) {\n errors.push({\n message: `Unknown object type \"${step.value.objectType}\" in action \"${action.name}\".`,\n path: [...stepPath, \"value\", \"objectType\"],\n });\n continue;\n }\n for (let valueIndex = 0; valueIndex < step.value.values.length; valueIndex++) {\n errors.push(\n ...validateActionPropertyAssignment(\n step.value.values[valueIndex]!,\n objectType,\n parameters,\n [...stepPath, \"value\", \"values\", valueIndex],\n valueTypes,\n objectTypes,\n linkTypes,\n contextType\n )\n );\n }\n break;\n }\n case \"updateObject\": {\n const target = validateActionObjectReference(\n step.value.object,\n parameters,\n [...stepPath, \"value\", \"object\"],\n valueTypes,\n objectTypes\n );\n errors.push(...target.errors);\n if (!target.objectType) {\n continue;\n }\n for (let valueIndex = 0; valueIndex < step.value.values.length; valueIndex++) {\n errors.push(\n ...validateActionPropertyAssignment(\n step.value.values[valueIndex]!,\n target.objectType,\n parameters,\n [...stepPath, \"value\", \"values\", valueIndex],\n valueTypes,\n objectTypes,\n linkTypes,\n contextType\n )\n );\n }\n break;\n }\n case \"deleteObject\":\n errors.push(\n ...validateActionObjectReference(\n step.value.object,\n parameters,\n [...stepPath, \"value\", \"object\"],\n valueTypes,\n objectTypes\n ).errors\n );\n break;\n }\n }\n\n return errors;\n}\n\nfunction validateQueryFunctionType(\n queryFunctionType: QueryFunctionTypeDef,\n path: (string | number)[],\n valueTypeNames: Set<string>,\n objectTypeNames: Set<string>\n): ValidationIssue[] {\n const errors: ValidationIssue[] = [];\n const seenParameters = new Set<string>();\n\n for (let index = 0; index < queryFunctionType.parameters.length; index++) {\n const parameter = queryFunctionType.parameters[index]!;\n const parameterPath = [...path, \"parameters\", index];\n\n if (seenParameters.has(parameter.name)) {\n errors.push({\n message: `Duplicate query function parameter name: \"${parameter.name}\".`,\n path: [...parameterPath, \"name\"],\n });\n }\n seenParameters.add(parameter.name);\n\n errors.push(\n ...validateTypeDef(parameter.type, [...parameterPath, \"type\"], valueTypeNames, objectTypeNames)\n );\n }\n\n errors.push(\n ...validateTypeDef(\n queryFunctionType.returnType,\n [...path, \"returnType\"],\n valueTypeNames,\n objectTypeNames\n )\n );\n\n return errors;\n}\n\nexport function validate(ontology: OntologyIR): ValidationResult {\n const errors: ValidationIssue[] = [];\n\n // Collect value type names for ref resolution\n const valueTypeNames = new Set<string>();\n for (let i = 0; i < ontology.types.length; i++) {\n const vt = ontology.types[i]!;\n if (valueTypeNames.has(vt.name)) {\n errors.push({\n message: `Duplicate value type name: \"${vt.name}\".`,\n path: [\"types\", i, \"name\"],\n });\n }\n valueTypeNames.add(vt.name);\n }\n\n const objectTypeNames = new Set<string>();\n for (let i = 0; i < ontology.objectTypes.length; i++) {\n const ot = ontology.objectTypes[i]!;\n if (objectTypeNames.has(ot.name)) {\n errors.push({\n message: `Duplicate object type name: \"${ot.name}\".`,\n path: [\"objectTypes\", i, \"name\"],\n });\n }\n objectTypeNames.add(ot.name);\n }\n\n const valueTypes = new Map(ontology.types.map((type) => [type.name, type.type]));\n const objectTypes = new Map(ontology.objectTypes.map((objectType) => [objectType.name, objectType]));\n\n if (ontology.contextType) {\n errors.push(\n ...validateTypeDef(ontology.contextType, [\"contextType\"], valueTypeNames, objectTypeNames)\n );\n const resolvedContextType = resolveType(ontology.contextType, valueTypes);\n if (resolvedContextType?.kind === \"struct\") {\n const userField = resolvedContextType.value.fields.find((field) => field.name === \"user\");\n const unwrappedUserType = userField ? unwrapType(userField.type).type : undefined;\n const resolvedUserType = unwrappedUserType\n ? resolveType(unwrappedUserType, valueTypes)\n : undefined;\n if (userField && resolvedUserType?.kind !== \"objectReference\") {\n errors.push({\n message: 'Reserved context field \"user\" must be an object reference.',\n path: [\n \"contextType\",\n \"fields\",\n resolvedContextType.value.fields.indexOf(userField),\n \"type\",\n ],\n });\n }\n }\n }\n\n // Validate value type definitions once both namespaces are known.\n for (let i = 0; i < ontology.types.length; i++) {\n const vt = ontology.types[i]!;\n errors.push(...validateTypeDef(vt.type, [\"types\", i, \"type\"], valueTypeNames, objectTypeNames));\n }\n\n // Validate object types\n for (let i = 0; i < ontology.objectTypes.length; i++) {\n const ot = ontology.objectTypes[i]!;\n const otPath = [\"objectTypes\", i] as (string | number)[];\n\n // Validate properties\n errors.push(\n ...validateProperties(ot.properties, [...otPath, \"properties\"], valueTypeNames, objectTypeNames)\n );\n\n // Validate primary key references a valid property\n const propertyNames = new Set(ot.properties.map((p) => p.name));\n if (!propertyNames.has(ot.primaryKey)) {\n errors.push({\n message: `Primary key \"${ot.primaryKey}\" does not reference a valid property.`,\n path: [...otPath, \"primaryKey\"],\n });\n }\n if (ot.title && !propertyNames.has(ot.title)) {\n errors.push({\n message: `Title \"${ot.title}\" does not reference a valid property.`,\n path: [...otPath, \"title\"],\n });\n }\n }\n\n // Validate link types\n const linkIds = new Set<string>();\n const linkNames = new Set<string>();\n for (let i = 0; i < ontology.linkTypes.length; i++) {\n const lt = ontology.linkTypes[i]!;\n const ltPath = [\"linkTypes\", i] as (string | number)[];\n\n if (linkIds.has(lt.id)) {\n errors.push({\n message: `Duplicate link type id: \"${lt.id}\".`,\n path: [...ltPath, \"id\"],\n });\n }\n linkIds.add(lt.id);\n\n // Relationship names from a source object are keyed by target.name.\n const linkName = `${lt.source.objectType}:${lt.target.name}`;\n if (linkNames.has(linkName)) {\n errors.push({\n message: `Duplicate link type target name: \"${lt.target.name}\" on \"${lt.source.objectType}\".`,\n path: [...ltPath, \"target\", \"name\"],\n });\n }\n linkNames.add(linkName);\n\n if (!objectTypeNames.has(lt.source.objectType)) {\n errors.push({\n message: `Source object type \"${lt.source.objectType}\" does not exist.`,\n path: [...ltPath, \"source\", \"objectType\"],\n });\n }\n\n if (!objectTypeNames.has(lt.target.objectType)) {\n errors.push({\n message: `Target object type \"${lt.target.objectType}\" does not exist.`,\n path: [...ltPath, \"target\", \"objectType\"],\n });\n }\n\n const foreignKeyRoot = lt.foreignKey.split(\".\")[0]!;\n const sourceType = ontology.objectTypes.find((candidate) => candidate.name === lt.source.objectType);\n const sourceHasFk =\n sourceType?.properties.some((property) => property.name === foreignKeyRoot) ?? false;\n if (sourceType && !sourceHasFk) {\n errors.push({\n message: `Foreign key \"${lt.foreignKey}\" does not exist on source object type \"${lt.source.objectType}\" for link \"${lt.id}\".`,\n path: [...ltPath, \"foreignKey\"],\n });\n }\n }\n\n const actionNames = new Set<string>();\n for (let i = 0; i < ontology.actionTypes.length; i++) {\n const action = ontology.actionTypes[i]!;\n const actionPath = [\"actionTypes\", i] as (string | number)[];\n\n if (actionNames.has(action.name)) {\n errors.push({\n message: `Duplicate action type name: \"${action.name}\".`,\n path: [...actionPath, \"name\"],\n });\n }\n actionNames.add(action.name);\n\n errors.push(\n ...validateAction(\n action,\n actionPath,\n valueTypes,\n objectTypes,\n ontology.linkTypes,\n ontology.contextType\n )\n );\n }\n\n const queryFunctionTypeNames = new Set<string>();\n for (let i = 0; i < ontology.queryFunctionTypes.length; i++) {\n const queryFunctionType = ontology.queryFunctionTypes[i]!;\n const queryFunctionTypePath = [\"queryFunctionTypes\", i] as (string | number)[];\n\n if (queryFunctionTypeNames.has(queryFunctionType.name)) {\n errors.push({\n message: `Duplicate query function type name: \"${queryFunctionType.name}\".`,\n path: [...queryFunctionTypePath, \"name\"],\n });\n }\n queryFunctionTypeNames.add(queryFunctionType.name);\n\n errors.push(\n ...validateQueryFunctionType(\n queryFunctionType,\n queryFunctionTypePath,\n valueTypeNames,\n objectTypeNames\n )\n );\n }\n\n return errors.length === 0 ? { kind: \"ok\", value: undefined } : { kind: \"err\", value: errors };\n}\n"],"mappings":"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"}
@@ -1,14 +1,16 @@
1
- import type { OntologyIR } from "../ir/generated/types.js";
2
- import type { OntologyActionParametersTarget, OntologyObjectTarget, OntologyQueryFunctionParametersTarget, OntologyQueryFunctionReturnTarget, OntologyTypeTarget } from "../utils/targets.js";
1
+ import { OntologyIR } from "../ir/generated/types.js";
2
+ import { OntologyActionParametersTarget, OntologyObjectTarget, OntologyQueryFunctionParametersTarget, OntologyQueryFunctionReturnTarget, OntologyTypeTarget } from "../utils/targets.js";
3
+ //#region src/json/index.d.ts
3
4
  export type JsonTarget<IR extends OntologyIR> = OntologyTypeTarget<IR> | OntologyObjectTarget<IR> | OntologyActionParametersTarget<IR> | OntologyQueryFunctionParametersTarget<IR> | OntologyQueryFunctionReturnTarget<IR>;
4
5
  export declare function decode<IR extends OntologyIR>(opts: {
5
- ir: IR;
6
- target: JsonTarget<IR>;
7
- value: unknown;
6
+ ir: IR;
7
+ target: JsonTarget<IR>;
8
+ value: unknown;
8
9
  }): unknown;
9
10
  export declare function encode<IR extends OntologyIR>(opts: {
10
- ir: IR;
11
- target: JsonTarget<IR>;
12
- value: unknown;
11
+ ir: IR;
12
+ target: JsonTarget<IR>;
13
+ value: unknown;
13
14
  }): unknown;
15
+ //#endregion
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAW,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EACR,8BAA8B,EAC9B,oBAAoB,EACpB,qCAAqC,EACrC,iCAAiC,EACjC,kBAAkB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,UAAU,IACtC,kBAAkB,CAAC,EAAE,CAAC,GACtB,oBAAoB,CAAC,EAAE,CAAC,GACxB,8BAA8B,CAAC,EAAE,CAAC,GAClC,qCAAqC,CAAC,EAAE,CAAC,GACzC,iCAAiC,CAAC,EAAE,CAAC,CAAC;AA2L5C,wBAAgB,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;IAChD,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAgBV;AAED,wBAAgB,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;IAChD,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAWV"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/json/index.ts"],"mappings":";;;YAaY,WAAW,WAAW,cAC5B,mBAAmB,MACnB,qBAAqB,MACrB,+BAA+B,MAC/B,sCAAsC,MACtC,kCAAkC;wBAiLxB,OAAO,WAAW,YAAY;EAC1C,IAAI;EACJ,QAAQ,WAAW;EACnB;;wBA2BY,OAAO,WAAW,YAAY;EAC1C,IAAI;EACJ,QAAQ,WAAW;EACnB"}
package/lib/json/index.js CHANGED
@@ -1,166 +1,132 @@
1
+ import { resolveType } from "../utils/types.js";
1
2
  import { invariant } from "@bobbyfidz/panic";
2
3
  import { Temporal } from "temporal-polyfill";
3
- import { resolveType } from "../utils/types.js";
4
+ //#region src/json/index.ts
4
5
  function assertRecord(value) {
5
- invariant(typeof value === "object" && value !== null && !Array.isArray(value), "Expected JSON object.");
6
+ invariant(typeof value === "object" && value !== null && !Array.isArray(value), "Expected JSON object.");
6
7
  }
7
8
  function assertArray(value) {
8
- invariant(Array.isArray(value), "Expected JSON array.");
9
+ invariant(Array.isArray(value), "Expected JSON array.");
9
10
  }
10
11
  function getNamedType(ir, name) {
11
- const namedType = ir.types.find((candidate) => candidate.name === name);
12
- invariant(namedType, `Unknown ontology type "${name}".`);
13
- return namedType.type;
12
+ const namedType = ir.types.find((candidate) => candidate.name === name);
13
+ invariant(namedType, `Unknown ontology type "${name}".`);
14
+ return namedType.type;
14
15
  }
15
16
  function getObjectType(ir, name) {
16
- const objectType = ir.objectTypes.find((candidate) => candidate.name === name);
17
- invariant(objectType, `Unknown object type "${name}".`);
18
- return objectType;
17
+ const objectType = ir.objectTypes.find((candidate) => candidate.name === name);
18
+ invariant(objectType, `Unknown object type "${name}".`);
19
+ return objectType;
19
20
  }
20
21
  function getActionType(ir, name) {
21
- const actionType = ir.actionTypes.find((candidate) => candidate.name === name);
22
- invariant(actionType, `Unknown action type "${name}".`);
23
- return actionType;
22
+ const actionType = ir.actionTypes.find((candidate) => candidate.name === name);
23
+ invariant(actionType, `Unknown action type "${name}".`);
24
+ return actionType;
24
25
  }
25
26
  function getQueryFunctionType(ir, name) {
26
- const queryFunctionType = ir.queryFunctionTypes.find((candidate) => candidate.name === name);
27
- invariant(queryFunctionType, `Unknown query function type "${name}".`);
28
- return queryFunctionType;
27
+ const queryFunctionType = ir.queryFunctionTypes.find((candidate) => candidate.name === name);
28
+ invariant(queryFunctionType, `Unknown query function type "${name}".`);
29
+ return queryFunctionType;
29
30
  }
30
31
  function resolveTargetType(ir, target) {
31
- switch (target.kind) {
32
- case "type":
33
- return getNamedType(ir, target.name);
34
- case "object":
35
- case "actionParameters":
36
- case "queryFunctionParameters":
37
- return undefined;
38
- case "queryFunctionReturn":
39
- return getQueryFunctionType(ir, target.queryFunctionType).returnType;
40
- }
32
+ switch (target.kind) {
33
+ case "type": return getNamedType(ir, target.name);
34
+ case "object":
35
+ case "actionParameters":
36
+ case "queryFunctionParameters": return;
37
+ case "queryFunctionReturn": return getQueryFunctionType(ir, target.queryFunctionType).returnType;
38
+ }
41
39
  }
42
40
  function decodeValue(ir, type, value, normalizeOptionalNull = false) {
43
- const resolvedType = resolveType(ir, type);
44
- if (value === undefined)
45
- return undefined;
46
- if (value === null) {
47
- return normalizeOptionalNull && resolvedType.kind === "optional" ? undefined : null;
48
- }
49
- switch (resolvedType.kind) {
50
- case "timestamp":
51
- return typeof value === "string" ? Temporal.Instant.from(value) : value;
52
- case "date":
53
- return typeof value === "string" ? Temporal.PlainDate.from(value) : value;
54
- case "optional":
55
- return decodeValue(ir, resolvedType.value.type, value, normalizeOptionalNull);
56
- case "list":
57
- assertArray(value);
58
- return value.map((item) => decodeValue(ir, resolvedType.value.elementType, item, normalizeOptionalNull));
59
- case "map":
60
- assertRecord(value);
61
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
62
- key,
63
- decodeValue(ir, resolvedType.value.valueType, entry, normalizeOptionalNull),
64
- ]));
65
- case "struct":
66
- assertRecord(value);
67
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
68
- const field = resolvedType.value.fields.find((candidate) => candidate.name === key);
69
- return [
70
- key,
71
- field
72
- ? decodeValue(ir, field.type, entry, normalizeOptionalNull)
73
- : entry,
74
- ];
75
- }));
76
- default:
77
- return value;
78
- }
41
+ const resolvedType = resolveType(ir, type);
42
+ if (value === void 0) return void 0;
43
+ if (value === null) return normalizeOptionalNull && resolvedType.kind === "optional" ? void 0 : null;
44
+ switch (resolvedType.kind) {
45
+ case "timestamp": return typeof value === "string" ? Temporal.Instant.from(value) : value;
46
+ case "date": return typeof value === "string" ? Temporal.PlainDate.from(value) : value;
47
+ case "optional": return decodeValue(ir, resolvedType.value.type, value, normalizeOptionalNull);
48
+ case "list":
49
+ assertArray(value);
50
+ return value.map((item) => decodeValue(ir, resolvedType.value.elementType, item, normalizeOptionalNull));
51
+ case "map":
52
+ assertRecord(value);
53
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, decodeValue(ir, resolvedType.value.valueType, entry, normalizeOptionalNull)]));
54
+ case "struct":
55
+ assertRecord(value);
56
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
57
+ const field = resolvedType.value.fields.find((candidate) => candidate.name === key);
58
+ return [key, field ? decodeValue(ir, field.type, entry, normalizeOptionalNull) : entry];
59
+ }));
60
+ default: return value;
61
+ }
79
62
  }
80
63
  function encodeValue(ir, type, value) {
81
- if (value === undefined || value === null)
82
- return value;
83
- const resolvedType = resolveType(ir, type);
84
- switch (resolvedType.kind) {
85
- case "timestamp":
86
- case "date":
87
- invariant(typeof value === "object" &&
88
- value !== null &&
89
- typeof value.toString === "function", `Expected ${resolvedType.kind} value.`);
90
- return value.toString();
91
- case "optional":
92
- return encodeValue(ir, resolvedType.value.type, value);
93
- case "list":
94
- assertArray(value);
95
- return value.map((item) => encodeValue(ir, resolvedType.value.elementType, item));
96
- case "map":
97
- assertRecord(value);
98
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
99
- key,
100
- encodeValue(ir, resolvedType.value.valueType, entry),
101
- ]));
102
- case "struct":
103
- assertRecord(value);
104
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
105
- const field = resolvedType.value.fields.find((candidate) => candidate.name === key);
106
- return [key, field ? encodeValue(ir, field.type, entry) : entry];
107
- }));
108
- default:
109
- return value;
110
- }
64
+ if (value === void 0 || value === null) return value;
65
+ const resolvedType = resolveType(ir, type);
66
+ switch (resolvedType.kind) {
67
+ case "timestamp":
68
+ case "date":
69
+ invariant(typeof value === "object" && value !== null && typeof value.toString === "function", `Expected ${resolvedType.kind} value.`);
70
+ return value.toString();
71
+ case "optional": return encodeValue(ir, resolvedType.value.type, value);
72
+ case "list":
73
+ assertArray(value);
74
+ return value.map((item) => encodeValue(ir, resolvedType.value.elementType, item));
75
+ case "map":
76
+ assertRecord(value);
77
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, encodeValue(ir, resolvedType.value.valueType, entry)]));
78
+ case "struct":
79
+ assertRecord(value);
80
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
81
+ const field = resolvedType.value.fields.find((candidate) => candidate.name === key);
82
+ return [key, field ? encodeValue(ir, field.type, entry) : entry];
83
+ }));
84
+ default: return value;
85
+ }
111
86
  }
112
87
  function decodeObject(ir, objectTypeName, value) {
113
- assertRecord(value);
114
- const objectType = getObjectType(ir, objectTypeName);
115
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
116
- const property = objectType.properties.find((candidate) => candidate.name === key);
117
- return [key, property ? decodeValue(ir, property.type, entry, true) : entry];
118
- }));
88
+ assertRecord(value);
89
+ const objectType = getObjectType(ir, objectTypeName);
90
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
91
+ const property = objectType.properties.find((candidate) => candidate.name === key);
92
+ return [key, property ? decodeValue(ir, property.type, entry, true) : entry];
93
+ }));
119
94
  }
120
95
  function encodeObject(ir, objectTypeName, value) {
121
- assertRecord(value);
122
- const objectType = getObjectType(ir, objectTypeName);
123
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
124
- const property = objectType.properties.find((candidate) => candidate.name === key);
125
- return [key, property ? encodeValue(ir, property.type, entry) : entry];
126
- }));
96
+ assertRecord(value);
97
+ const objectType = getObjectType(ir, objectTypeName);
98
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
99
+ const property = objectType.properties.find((candidate) => candidate.name === key);
100
+ return [key, property ? encodeValue(ir, property.type, entry) : entry];
101
+ }));
127
102
  }
128
103
  function decodeParameters(ir, parameters, value) {
129
- assertRecord(value);
130
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
131
- const parameter = parameters.find((candidate) => candidate.name === key);
132
- return [key, parameter ? decodeValue(ir, parameter.type, entry) : entry];
133
- }));
104
+ assertRecord(value);
105
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
106
+ const parameter = parameters.find((candidate) => candidate.name === key);
107
+ return [key, parameter ? decodeValue(ir, parameter.type, entry) : entry];
108
+ }));
134
109
  }
135
110
  function encodeParameters(ir, parameters, value) {
136
- assertRecord(value);
137
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
138
- const parameter = parameters.find((candidate) => candidate.name === key);
139
- return [key, parameter ? encodeValue(ir, parameter.type, entry) : entry];
140
- }));
111
+ assertRecord(value);
112
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
113
+ const parameter = parameters.find((candidate) => candidate.name === key);
114
+ return [key, parameter ? encodeValue(ir, parameter.type, entry) : entry];
115
+ }));
141
116
  }
142
- export function decode(opts) {
143
- if (opts.target.kind === "object") {
144
- return decodeObject(opts.ir, opts.target.name, opts.value);
145
- }
146
- if (opts.target.kind === "actionParameters") {
147
- return decodeParameters(opts.ir, getActionType(opts.ir, opts.target.actionType).parameters, opts.value);
148
- }
149
- if (opts.target.kind === "queryFunctionParameters") {
150
- return decodeParameters(opts.ir, getQueryFunctionType(opts.ir, opts.target.queryFunctionType).parameters, opts.value);
151
- }
152
- return decodeValue(opts.ir, resolveTargetType(opts.ir, opts.target), opts.value, opts.target.kind === "queryFunctionReturn");
117
+ function decode(opts) {
118
+ if (opts.target.kind === "object") return decodeObject(opts.ir, opts.target.name, opts.value);
119
+ if (opts.target.kind === "actionParameters") return decodeParameters(opts.ir, getActionType(opts.ir, opts.target.actionType).parameters, opts.value);
120
+ if (opts.target.kind === "queryFunctionParameters") return decodeParameters(opts.ir, getQueryFunctionType(opts.ir, opts.target.queryFunctionType).parameters, opts.value);
121
+ return decodeValue(opts.ir, resolveTargetType(opts.ir, opts.target), opts.value, opts.target.kind === "queryFunctionReturn");
153
122
  }
154
- export function encode(opts) {
155
- if (opts.target.kind === "object") {
156
- return encodeObject(opts.ir, opts.target.name, opts.value);
157
- }
158
- if (opts.target.kind === "actionParameters") {
159
- return encodeParameters(opts.ir, getActionType(opts.ir, opts.target.actionType).parameters, opts.value);
160
- }
161
- if (opts.target.kind === "queryFunctionParameters") {
162
- return encodeParameters(opts.ir, getQueryFunctionType(opts.ir, opts.target.queryFunctionType).parameters, opts.value);
163
- }
164
- return encodeValue(opts.ir, resolveTargetType(opts.ir, opts.target), opts.value);
123
+ function encode(opts) {
124
+ if (opts.target.kind === "object") return encodeObject(opts.ir, opts.target.name, opts.value);
125
+ if (opts.target.kind === "actionParameters") return encodeParameters(opts.ir, getActionType(opts.ir, opts.target.actionType).parameters, opts.value);
126
+ if (opts.target.kind === "queryFunctionParameters") return encodeParameters(opts.ir, getQueryFunctionType(opts.ir, opts.target.queryFunctionType).parameters, opts.value);
127
+ return encodeValue(opts.ir, resolveTargetType(opts.ir, opts.target), opts.value);
165
128
  }
129
+ //#endregion
130
+ export { decode, encode };
131
+
166
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/json/index.ts"],"sourcesContent":["import { invariant } from \"@bobbyfidz/panic\";\nimport { Temporal } from \"temporal-polyfill\";\nimport { resolveType } from \"../utils/types.js\";\nimport type { OntologyIR, TypeDef } from \"../ir/generated/types.js\";\nimport type { OntologyObject } from \"../live/objects/OntologyObject.js\";\nimport type {\n OntologyActionParametersTarget,\n OntologyObjectTarget,\n OntologyQueryFunctionParametersTarget,\n OntologyQueryFunctionReturnTarget,\n OntologyTypeTarget,\n} from \"../utils/targets.js\";\n\nexport type JsonTarget<IR extends OntologyIR> =\n | OntologyTypeTarget<IR>\n | OntologyObjectTarget<IR>\n | OntologyActionParametersTarget<IR>\n | OntologyQueryFunctionParametersTarget<IR>\n | OntologyQueryFunctionReturnTarget<IR>;\n\nfunction assertRecord(value: unknown): asserts value is OntologyObject {\n invariant(typeof value === \"object\" && value !== null && !Array.isArray(value), \"Expected JSON object.\");\n}\n\nfunction assertArray(value: unknown): asserts value is unknown[] {\n invariant(Array.isArray(value), \"Expected JSON array.\");\n}\n\nfunction getNamedType(ir: OntologyIR, name: string): TypeDef {\n const namedType = ir.types.find((candidate) => candidate.name === name);\n invariant(namedType, `Unknown ontology type \"${name}\".`);\n return namedType.type;\n}\n\nfunction getObjectType(ir: OntologyIR, name: string): OntologyIR[\"objectTypes\"][number] {\n const objectType = ir.objectTypes.find((candidate) => candidate.name === name);\n invariant(objectType, `Unknown object type \"${name}\".`);\n return objectType;\n}\n\nfunction getActionType(ir: OntologyIR, name: string): OntologyIR[\"actionTypes\"][number] {\n const actionType = ir.actionTypes.find((candidate) => candidate.name === name);\n invariant(actionType, `Unknown action type \"${name}\".`);\n return actionType;\n}\n\nfunction getQueryFunctionType(ir: OntologyIR, name: string): OntologyIR[\"queryFunctionTypes\"][number] {\n const queryFunctionType = ir.queryFunctionTypes.find((candidate) => candidate.name === name);\n invariant(queryFunctionType, `Unknown query function type \"${name}\".`);\n return queryFunctionType;\n}\n\nfunction resolveTargetType<IR extends OntologyIR>(ir: IR, target: JsonTarget<IR>): TypeDef | undefined {\n switch (target.kind) {\n case \"type\":\n return getNamedType(ir, target.name);\n case \"object\":\n case \"actionParameters\":\n case \"queryFunctionParameters\":\n return undefined;\n case \"queryFunctionReturn\":\n return getQueryFunctionType(ir, target.queryFunctionType).returnType;\n }\n}\n\nfunction decodeValue(ir: OntologyIR, type: TypeDef, value: unknown, normalizeOptionalNull = false): unknown {\n const resolvedType = resolveType(ir, type);\n if (value === undefined) return undefined;\n if (value === null) {\n return normalizeOptionalNull && resolvedType.kind === \"optional\" ? undefined : null;\n }\n\n switch (resolvedType.kind) {\n case \"timestamp\":\n return typeof value === \"string\" ? Temporal.Instant.from(value) : value;\n case \"date\":\n return typeof value === \"string\" ? Temporal.PlainDate.from(value) : value;\n case \"optional\":\n return decodeValue(ir, resolvedType.value.type, value, normalizeOptionalNull);\n case \"list\":\n assertArray(value);\n return value.map((item) =>\n decodeValue(ir, resolvedType.value.elementType, item, normalizeOptionalNull)\n );\n case \"map\":\n assertRecord(value);\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => [\n key,\n decodeValue(ir, resolvedType.value.valueType, entry, normalizeOptionalNull),\n ])\n );\n case \"struct\":\n assertRecord(value);\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => {\n const field = resolvedType.value.fields.find((candidate) => candidate.name === key);\n return [key, field ? decodeValue(ir, field.type, entry, normalizeOptionalNull) : entry];\n })\n );\n default:\n return value;\n }\n}\n\nfunction encodeValue(ir: OntologyIR, type: TypeDef, value: unknown): unknown {\n if (value === undefined || value === null) return value;\n const resolvedType = resolveType(ir, type);\n\n switch (resolvedType.kind) {\n case \"timestamp\":\n case \"date\":\n invariant(\n typeof value === \"object\" &&\n value !== null &&\n typeof (value as { toString?: unknown }).toString === \"function\",\n `Expected ${resolvedType.kind} value.`\n );\n return (value as { toString: () => string }).toString();\n case \"optional\":\n return encodeValue(ir, resolvedType.value.type, value);\n case \"list\":\n assertArray(value);\n return value.map((item) => encodeValue(ir, resolvedType.value.elementType, item));\n case \"map\":\n assertRecord(value);\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => [\n key,\n encodeValue(ir, resolvedType.value.valueType, entry),\n ])\n );\n case \"struct\":\n assertRecord(value);\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => {\n const field = resolvedType.value.fields.find((candidate) => candidate.name === key);\n return [key, field ? encodeValue(ir, field.type, entry) : entry];\n })\n );\n default:\n return value;\n }\n}\n\nfunction decodeObject(ir: OntologyIR, objectTypeName: string, value: unknown): OntologyObject {\n assertRecord(value);\n const objectType = getObjectType(ir, objectTypeName);\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => {\n const property = objectType.properties.find((candidate) => candidate.name === key);\n return [key, property ? decodeValue(ir, property.type, entry, true) : entry];\n })\n );\n}\n\nfunction encodeObject(ir: OntologyIR, objectTypeName: string, value: unknown): OntologyObject {\n assertRecord(value);\n const objectType = getObjectType(ir, objectTypeName);\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => {\n const property = objectType.properties.find((candidate) => candidate.name === key);\n return [key, property ? encodeValue(ir, property.type, entry) : entry];\n })\n );\n}\n\nfunction decodeParameters(\n ir: OntologyIR,\n parameters: { name: string; type: TypeDef }[],\n value: unknown\n): OntologyObject {\n assertRecord(value);\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => {\n const parameter = parameters.find((candidate) => candidate.name === key);\n return [key, parameter ? decodeValue(ir, parameter.type, entry) : entry];\n })\n );\n}\n\nfunction encodeParameters(\n ir: OntologyIR,\n parameters: { name: string; type: TypeDef }[],\n value: unknown\n): OntologyObject {\n assertRecord(value);\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => {\n const parameter = parameters.find((candidate) => candidate.name === key);\n return [key, parameter ? encodeValue(ir, parameter.type, entry) : entry];\n })\n );\n}\n\nexport function decode<IR extends OntologyIR>(opts: {\n ir: IR;\n target: JsonTarget<IR>;\n value: unknown;\n}): unknown {\n if (opts.target.kind === \"object\") {\n return decodeObject(opts.ir, opts.target.name, opts.value);\n }\n if (opts.target.kind === \"actionParameters\") {\n return decodeParameters(\n opts.ir,\n getActionType(opts.ir, opts.target.actionType).parameters,\n opts.value\n );\n }\n if (opts.target.kind === \"queryFunctionParameters\") {\n return decodeParameters(\n opts.ir,\n getQueryFunctionType(opts.ir, opts.target.queryFunctionType).parameters,\n opts.value\n );\n }\n return decodeValue(\n opts.ir,\n resolveTargetType(opts.ir, opts.target)!,\n opts.value,\n opts.target.kind === \"queryFunctionReturn\"\n );\n}\n\nexport function encode<IR extends OntologyIR>(opts: {\n ir: IR;\n target: JsonTarget<IR>;\n value: unknown;\n}): unknown {\n if (opts.target.kind === \"object\") {\n return encodeObject(opts.ir, opts.target.name, opts.value);\n }\n if (opts.target.kind === \"actionParameters\") {\n return encodeParameters(\n opts.ir,\n getActionType(opts.ir, opts.target.actionType).parameters,\n opts.value\n );\n }\n if (opts.target.kind === \"queryFunctionParameters\") {\n return encodeParameters(\n opts.ir,\n getQueryFunctionType(opts.ir, opts.target.queryFunctionType).parameters,\n opts.value\n );\n }\n return encodeValue(opts.ir, resolveTargetType(opts.ir, opts.target)!, opts.value);\n}\n"],"mappings":"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"}
package/lib/lenses.d.ts CHANGED
@@ -1,8 +1,10 @@
1
- import type { Lens, ObjectTypeDef } from "./ir/index.js";
1
+ import { Lens, ObjectTypeDef } from "./ir/generated/types.js";
2
+ import "./ir/index.js";
3
+ //#region src/lenses.d.ts
2
4
  export interface ApplyObjectTypeLensOptions {
3
- name: string;
4
- displayName?: string;
5
- pluralDisplayName?: string;
5
+ name: string;
6
+ displayName?: string;
7
+ pluralDisplayName?: string;
6
8
  }
7
9
  export declare function applyLensToObjectType(source: ObjectTypeDef, lens: Lens, options: ApplyObjectTypeLensOptions): ObjectTypeDef;
8
10
  export declare function applyLensToObject<Source extends Record<string, unknown>, Target extends Record<string, unknown>>(source: Source, lens: Lens): Target;
@@ -15,4 +17,5 @@ export declare function applyLensToObject<Source extends Record<string, unknown>
15
17
  * unsupported query rewrites at the expression or query-plan level.
16
18
  */
17
19
  export declare function mapTargetPathToSourceWithLens(path: readonly string[], lens: Lens): string[];
20
+ //#endregion
18
21
  //# sourceMappingURL=lenses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.d.ts","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,IAAI,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEzF,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAgDD,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,GACpC,aAAa,CAmCf;AAiBD,wBAAgB,iBAAiB,CAC7B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAoBpC;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAsB3F"}
1
+ {"version":3,"file":"lenses.d.ts","names":[],"sources":["../src/lenses.ts"],"mappings":";;;iBAIiB;EACb;EACA;EACA;;wBAiDY,sBACZ,QAAQ,eACR,MAAM,MACN,SAAS,6BACV;wBAoDa,kBACZ,eAAe,yBACf,eAAe,yBACjB,QAAQ,QAAQ,MAAM,OAAO;;;;;;;;;wBA8Bf,8BAA8B,yBAAyB,MAAM"}