@party-stack/ontology 0.18.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 (406) 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 +49 -53
  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 +22 -25
  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 -281
  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 -182
  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 -181
  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 -1007
  375. package/lib/live/outbox/createOntologyOutbox.test.js.map +0 -1
  376. package/lib/live/outbox/outboxValues.d.ts +0 -7
  377. package/lib/live/outbox/outboxValues.d.ts.map +0 -1
  378. package/lib/live/outbox/outboxValues.js +0 -76
  379. package/lib/live/outbox/outboxValues.js.map +0 -1
  380. package/lib/meta/generated/types.js.map +0 -1
  381. package/lib/meta/ontology.test.d.ts +0 -2
  382. package/lib/meta/ontology.test.d.ts.map +0 -1
  383. package/lib/meta/ontology.test.js +0 -84
  384. package/lib/meta/ontology.test.js.map +0 -1
  385. package/lib/utils/index.d.ts.map +0 -1
  386. package/lib/utils/index.js.map +0 -1
  387. package/lib/utils/links.test.d.ts +0 -2
  388. package/lib/utils/links.test.d.ts.map +0 -1
  389. package/lib/utils/links.test.js +0 -109
  390. package/lib/utils/links.test.js.map +0 -1
  391. package/lib/utils/paths.test.d.ts +0 -2
  392. package/lib/utils/paths.test.d.ts.map +0 -1
  393. package/lib/utils/paths.test.js +0 -33
  394. package/lib/utils/paths.test.js.map +0 -1
  395. package/lib/utils/targets.js.map +0 -1
  396. package/lib/utils/typeNames.js.map +0 -1
  397. package/lib/utils/types.test.d.ts +0 -2
  398. package/lib/utils/types.test.d.ts.map +0 -1
  399. package/lib/utils/types.test.js +0 -157
  400. package/lib/utils/types.test.js.map +0 -1
  401. package/lib/utils/uncertain.test.d.ts +0 -2
  402. package/lib/utils/uncertain.test.d.ts.map +0 -1
  403. package/lib/utils/uncertain.test.js +0 -14
  404. package/lib/utils/uncertain.test.js.map +0 -1
  405. package/lib/utils/validation.js.map +0 -1
  406. package/lib/utils/values.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"blog.js","sourceRoot":"","sources":["../../src/examples/blog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blog.js","names":[],"sources":["../../src/examples/blog.ts"],"sourcesContent":["/**\n * Example: Blog ontology with Authors, Posts, and Comments.\n *\n * Demonstrates:\n * - Object types with primary keys and typed properties\n * - Value types (reusable structured types)\n * - Link types with cardinality\n * - Attachment properties (e.g. author avatar)\n * - String enum constraints (e.g. post status)\n * - Optional properties and timestamps\n */\n\nimport { o } from \"../ir/generated/builders.js\";\nimport type { OntologyIR } from \"../ir/generated/types.js\";\n\nexport default {\n types: [\n {\n name: \"Address\",\n description: \"A mailing address.\",\n type: o.struct({\n fields: [\n { name: \"line1\", displayName: \"Line 1\", type: o.string({}) },\n {\n name: \"line2\",\n displayName: \"Line 2\",\n type: o.optional({ type: o.string({}) }),\n },\n { name: \"city\", displayName: \"City\", type: o.string({}) },\n { name: \"state\", displayName: \"State\", type: o.string({}) },\n { name: \"zip\", displayName: \"ZIP\", type: o.string({}) },\n ],\n }),\n },\n ],\n\n objectTypes: [\n {\n name: \"Author\",\n displayName: \"Author\",\n pluralDisplayName: \"Authors\",\n description: \"A blog author.\",\n primaryKey: \"authorId\",\n properties: [\n {\n name: \"authorId\",\n displayName: \"Author ID\",\n type: o.string({}),\n },\n {\n name: \"name\",\n displayName: \"Name\",\n type: o.string({}),\n },\n {\n name: \"email\",\n displayName: \"Email\",\n type: o.string({}),\n },\n {\n name: \"bio\",\n displayName: \"Bio\",\n type: o.optional({ type: o.string({}) }),\n },\n {\n name: \"avatar\",\n displayName: \"Avatar\",\n description: \"The author's profile picture.\",\n type: o.optional({ type: o.attachment({}) }),\n },\n {\n name: \"address\",\n displayName: \"Address\",\n type: o.optional({ type: o.ref({ name: \"Address\" }) }),\n },\n {\n name: \"createdAt\",\n displayName: \"Created At\",\n type: o.timestamp({}),\n },\n ],\n },\n {\n name: \"Post\",\n displayName: \"Blog Post\",\n pluralDisplayName: \"Posts\",\n description: \"A blog post.\",\n primaryKey: \"postId\",\n properties: [\n {\n name: \"postId\",\n displayName: \"Post ID\",\n type: o.string({}),\n },\n {\n name: \"title\",\n displayName: \"Title\",\n type: o.string({}),\n },\n {\n name: \"body\",\n displayName: \"Body\",\n type: o.string({}),\n },\n {\n name: \"authorId\",\n displayName: \"Author ID\",\n type: o.string({}),\n },\n {\n name: \"status\",\n displayName: \"Status\",\n type: o.string({\n constraint: o.StringConstraint.enum({\n options: [\n { value: \"draft\", label: \"Draft\" },\n { value: \"published\", label: \"Published\" },\n { value: \"archived\", label: \"Archived\" },\n ],\n }),\n }),\n },\n {\n name: \"coverImage\",\n displayName: \"Cover Image\",\n type: o.optional({ type: o.attachment({}) }),\n },\n {\n name: \"tags\",\n displayName: \"Tags\",\n type: o.list({ elementType: o.string({}) }),\n },\n {\n name: \"createdAt\",\n displayName: \"Created At\",\n type: o.timestamp({}),\n },\n {\n name: \"publishedAt\",\n displayName: \"Published At\",\n type: o.optional({ type: o.timestamp({}) }),\n },\n ],\n },\n {\n name: \"Comment\",\n displayName: \"Comment\",\n pluralDisplayName: \"Comments\",\n description: \"A comment on a blog post.\",\n primaryKey: \"commentId\",\n properties: [\n {\n name: \"commentId\",\n displayName: \"Comment ID\",\n type: o.string({}),\n },\n {\n name: \"body\",\n displayName: \"Body\",\n type: o.string({}),\n },\n {\n name: \"postId\",\n displayName: \"Post ID\",\n type: o.string({}),\n },\n {\n name: \"authorId\",\n displayName: \"Author ID\",\n type: o.string({}),\n },\n {\n name: \"createdAt\",\n displayName: \"Created At\",\n type: o.timestamp({}),\n },\n ],\n },\n ],\n\n linkTypes: [\n {\n id: \"Post:author\",\n source: {\n objectType: \"Post\",\n name: \"posts\",\n displayName: \"Posts\",\n },\n target: {\n objectType: \"Author\",\n name: \"author\",\n displayName: \"Author\",\n },\n foreignKey: \"authorId\",\n cardinality: \"many\",\n },\n {\n id: \"Comment:post\",\n source: {\n objectType: \"Comment\",\n name: \"comments\",\n displayName: \"Comments\",\n },\n target: {\n objectType: \"Post\",\n name: \"post\",\n displayName: \"Post\",\n },\n foreignKey: \"postId\",\n cardinality: \"many\",\n },\n {\n id: \"Comment:author\",\n source: {\n objectType: \"Comment\",\n name: \"comment\",\n displayName: \"Comment\",\n },\n target: {\n objectType: \"Author\",\n name: \"author\",\n displayName: \"Author\",\n },\n foreignKey: \"authorId\",\n cardinality: \"one\",\n },\n ],\n actionTypes: [\n {\n name: \"createPost\",\n displayName: \"Create Post\",\n description: \"Create a new blog post.\",\n parameters: [\n {\n name: \"postId\",\n displayName: \"Post ID\",\n type: o.string({}),\n defaultValue: o.Expression.uuid({}),\n },\n {\n name: \"author\",\n displayName: \"Author\",\n type: o.objectReference({ objectType: \"Author\" }),\n },\n {\n name: \"title\",\n displayName: \"Title\",\n type: o.string({}),\n },\n {\n name: \"body\",\n displayName: \"Body\",\n type: o.string({}),\n },\n {\n name: \"status\",\n displayName: \"Status\",\n type: o.string({\n constraint: o.StringConstraint.enum({\n options: [\n { value: \"draft\", label: \"Draft\" },\n { value: \"published\", label: \"Published\" },\n { value: \"archived\", label: \"Archived\" },\n ],\n }),\n }),\n },\n {\n name: \"tags\",\n displayName: \"Tags\",\n type: o.list({ elementType: o.string({}) }),\n },\n {\n name: \"createdAt\",\n displayName: \"Created At\",\n type: o.timestamp({}),\n defaultValue: o.Expression.now({}),\n },\n ],\n logic: [\n o.ActionLogicStep.createObject({\n objectType: \"Post\",\n values: [\n {\n property: [\"postId\"],\n value: o.Expression.inputReference({ name: \"postId\" }),\n },\n {\n property: [\"title\"],\n value: o.Expression.inputReference({ name: \"title\" }),\n },\n {\n property: [\"body\"],\n value: o.Expression.inputReference({ name: \"body\" }),\n },\n {\n property: [\"authorId\"],\n value: o.Expression.getAt({\n source: o.Expression.objectLookup({\n reference: o.Expression.inputReference({\n name: \"author\",\n }),\n }),\n path: [\"authorId\"],\n }),\n },\n {\n property: [\"status\"],\n value: o.Expression.inputReference({ name: \"status\" }),\n },\n {\n property: [\"tags\"],\n value: o.Expression.inputReference({ name: \"tags\" }),\n },\n {\n property: [\"createdAt\"],\n value: o.Expression.inputReference({ name: \"createdAt\" }),\n },\n ],\n }),\n ],\n },\n ],\n queryFunctionTypes: [\n {\n name: \"searchPosts\",\n displayName: \"Search Posts\",\n description: \"Search blog posts by query text.\",\n parameters: [\n {\n name: \"query\",\n displayName: \"Query\",\n type: o.string({}),\n },\n {\n name: \"limit\",\n displayName: \"Limit\",\n type: o.optional({ type: o.integer({}) }),\n },\n ],\n returnType: o.list({ elementType: o.objectReference({ objectType: \"Post\" }) }),\n },\n ],\n} satisfies OntologyIR;\n"],"mappings":"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"}
@@ -1,4 +1,9 @@
1
- export declare const postCollection: import("../index.js").OntologyCollection<import("./generated/types.js").Post>;
2
- export declare const authorCollection: import("../index.js").OntologyCollection<import("./generated/types.js").Author>;
3
- export declare const commentCollection: import("../index.js").OntologyCollection<import("./generated/types.js").Comment>;
1
+ import { OntologyCollection } from "../live/objects/createLiveOntologyObjectCollection.js";
2
+ import { Author, Comment, Post } from "./generated/types.js";
3
+ import "../index.js";
4
+ //#region src/examples/blog.live-queries.d.ts
5
+ export declare const postCollection: OntologyCollection<Post>;
6
+ export declare const authorCollection: OntologyCollection<Author>;
7
+ export declare const commentCollection: OntologyCollection<Comment>;
8
+ //#endregion
4
9
  //# sourceMappingURL=blog.live-queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blog.live-queries.d.ts","sourceRoot":"","sources":["../../src/examples/blog.live-queries.ts"],"names":[],"mappings":"AAqDA,eAAO,MAAM,cAAc,+EAAO,CAAC;AACnC,eAAO,MAAM,gBAAgB,iFAAS,CAAC;AACvC,eAAO,MAAM,iBAAiB,kFAAU,CAAC"}
1
+ {"version":3,"file":"blog.live-queries.d.ts","names":["_$__generated_types_js0.Post","_$___index_js0.OntologyCollection","_$__generated_types_js0.Author","_$__generated_types_js0.Comment"],"sources":["../../src/examples/blog.live-queries.ts"],"mappings":";;;;qBAqDa,gBAAcC,mBAAdD;qBACA,kBAAgBC,mBAAhBC;qBACA,mBAAiBD,mBAAjBE"}
@@ -1,46 +1,30 @@
1
- /**
2
- * Example live query functions using generated ontology object sources.
3
- */
4
- import { Query, concat, createCollection, eq, liveQueryCollectionOptions } from "@tanstack/db";
5
1
  import { createBlogLiveOntology } from "./generated/live.js";
6
- const blog = await createBlogLiveOntology({
7
- backend: () => backendAdapter,
8
- });
9
- const { Post, Author, Comment } = blog.objects;
10
- const postList = createCollection(liveQueryCollectionOptions({
11
- query: new Query().from({ Post }).select(({ Post }) => ({
12
- postId: Post.postId,
13
- title: Post.title,
14
- status: Post.status,
15
- })),
16
- }));
17
- const postListWithAuthor = createCollection(liveQueryCollectionOptions({
18
- query: new Query()
19
- .from({ Post })
20
- .leftJoin({ Author }, ({ Post, Author }) => eq(Post.authorId, Author.authorId))
21
- .select(({ Post, Author }) => ({
22
- postId: Post.postId,
23
- title: Post.title,
24
- authorName: Author?.name,
25
- })),
26
- }));
27
- const commentFeed = createCollection(liveQueryCollectionOptions({
28
- query: new Query()
29
- .from({ Comment })
30
- .leftJoin({ Post }, ({ Comment, Post }) => eq(Comment.postId, Post.postId))
31
- .leftJoin({ Author }, ({ Comment, Author }) => eq(Comment.authorId, Author.authorId))
32
- .where(({ Post }) => eq(Post?.status, "published"))
33
- .select(({ Comment, Post, Author }) => ({
34
- commentId: Comment.commentId,
35
- body: Comment.body,
36
- postTitle: Post?.title,
37
- authorDisplay: concat(Author?.name, " <", Author?.email, ">"),
38
- })),
39
- }));
40
- export const postCollection = Post;
41
- export const authorCollection = Author;
42
- export const commentCollection = Comment;
43
- void postList;
44
- void postListWithAuthor;
45
- void commentFeed;
2
+ import { Query, concat, createCollection, eq, liveQueryCollectionOptions } from "@tanstack/db";
3
+ //#region src/examples/blog.live-queries.ts
4
+ /**
5
+ * Example live query functions using generated ontology object sources.
6
+ */
7
+ const { Post, Author, Comment } = (await createBlogLiveOntology({ backend: () => backendAdapter })).objects;
8
+ createCollection(liveQueryCollectionOptions({ query: new Query().from({ Post }).select(({ Post }) => ({
9
+ postId: Post.postId,
10
+ title: Post.title,
11
+ status: Post.status
12
+ })) }));
13
+ createCollection(liveQueryCollectionOptions({ query: new Query().from({ Post }).leftJoin({ Author }, ({ Post, Author }) => eq(Post.authorId, Author.authorId)).select(({ Post, Author }) => ({
14
+ postId: Post.postId,
15
+ title: Post.title,
16
+ authorName: Author?.name
17
+ })) }));
18
+ createCollection(liveQueryCollectionOptions({ query: new Query().from({ Comment }).leftJoin({ Post }, ({ Comment, Post }) => eq(Comment.postId, Post.postId)).leftJoin({ Author }, ({ Comment, Author }) => eq(Comment.authorId, Author.authorId)).where(({ Post }) => eq(Post?.status, "published")).select(({ Comment, Post, Author }) => ({
19
+ commentId: Comment.commentId,
20
+ body: Comment.body,
21
+ postTitle: Post?.title,
22
+ authorDisplay: concat(Author?.name, " <", Author?.email, ">")
23
+ })) }));
24
+ const postCollection = Post;
25
+ const authorCollection = Author;
26
+ const commentCollection = Comment;
27
+ //#endregion
28
+ export { authorCollection, commentCollection, postCollection };
29
+
46
30
  //# sourceMappingURL=blog.live-queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blog.live-queries.js","sourceRoot":"","sources":["../../src/examples/blog.live-queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAK7D,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC;IACtC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc;CAChC,CAAC,CAAC;AACH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAE/C,MAAM,QAAQ,GAAG,gBAAgB,CAC7B,0BAA0B,CAAC;IACvB,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;CACN,CAAC,CACL,CAAC;AAEF,MAAM,kBAAkB,GAAG,gBAAgB,CACvC,0BAA0B,CAAC;IACvB,KAAK,EAAE,IAAI,KAAK,EAAE;SACb,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;SACd,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC9E,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,MAAM,EAAE,IAAI;KAC3B,CAAC,CAAC;CACV,CAAC,CACL,CAAC;AAEF,MAAM,WAAW,GAAG,gBAAgB,CAChC,0BAA0B,CAAC;IACvB,KAAK,EAAE,IAAI,KAAK,EAAE;SACb,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;SACjB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;SACpF,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,IAAI,EAAE,KAAK;QACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;KAChE,CAAC,CAAC;CACV,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,KAAK,QAAQ,CAAC;AACd,KAAK,kBAAkB,CAAC;AACxB,KAAK,WAAW,CAAC"}
1
+ {"version":3,"file":"blog.live-queries.js","names":[],"sources":["../../src/examples/blog.live-queries.ts"],"sourcesContent":["/**\n * Example live query functions using generated ontology object sources.\n */\nimport { Query, concat, createCollection, eq, liveQueryCollectionOptions } from \"@tanstack/db\";\nimport { createBlogLiveOntology } from \"./generated/live.js\";\nimport type { OntologyBackendAdapter } from \"../live/OntologyBackendAdapter.js\";\n\ndeclare const backendAdapter: OntologyBackendAdapter;\n\nconst blog = await createBlogLiveOntology({\n backend: () => backendAdapter,\n});\nconst { Post, Author, Comment } = blog.objects;\n\nconst postList = createCollection(\n liveQueryCollectionOptions({\n query: new Query().from({ Post }).select(({ Post }) => ({\n postId: Post.postId,\n title: Post.title,\n status: Post.status,\n })),\n })\n);\n\nconst postListWithAuthor = createCollection(\n liveQueryCollectionOptions({\n query: new Query()\n .from({ Post })\n .leftJoin({ Author }, ({ Post, Author }) => eq(Post.authorId, Author.authorId))\n .select(({ Post, Author }) => ({\n postId: Post.postId,\n title: Post.title,\n authorName: Author?.name,\n })),\n })\n);\n\nconst commentFeed = createCollection(\n liveQueryCollectionOptions({\n query: new Query()\n .from({ Comment })\n .leftJoin({ Post }, ({ Comment, Post }) => eq(Comment.postId, Post.postId))\n .leftJoin({ Author }, ({ Comment, Author }) => eq(Comment.authorId, Author.authorId))\n .where(({ Post }) => eq(Post?.status, \"published\"))\n .select(({ Comment, Post, Author }) => ({\n commentId: Comment.commentId,\n body: Comment.body,\n postTitle: Post?.title,\n authorDisplay: concat(Author?.name, \" <\", Author?.email, \">\"),\n })),\n })\n);\n\nexport const postCollection = Post;\nexport const authorCollection = Author;\nexport const commentCollection = Comment;\n\nvoid postList;\nvoid postListWithAuthor;\nvoid commentFeed;\n"],"mappings":";;;;;;AAYA,MAAM,EAAE,MAAM,QAAQ,aAAY,MAHf,uBAAuB,EACtC,eAAe,eACnB,CAAC,EAAA,CACsC;AAEtB,iBACb,2BAA2B,EACvB,OAAO,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY;CACpD,QAAQ,KAAK;CACb,OAAO,KAAK;CACZ,QAAQ,KAAK;AACjB,EAAE,EACN,CAAC,CACL;AAE2B,iBACvB,2BAA2B,EACvB,OAAO,IAAI,MAAM,CAAC,CACb,KAAK,EAAE,KAAK,CAAC,CAAC,CACd,SAAS,EAAE,OAAO,IAAI,EAAE,MAAM,aAAa,GAAG,KAAK,UAAU,OAAO,QAAQ,CAAC,CAAC,CAC9E,QAAQ,EAAE,MAAM,cAAc;CAC3B,QAAQ,KAAK;CACb,OAAO,KAAK;CACZ,YAAY,QAAQ;AACxB,EAAE,EACV,CAAC,CACL;AAEoB,iBAChB,2BAA2B,EACvB,OAAO,IAAI,MAAM,CAAC,CACb,KAAK,EAAE,QAAQ,CAAC,CAAC,CACjB,SAAS,EAAE,KAAK,IAAI,EAAE,SAAS,WAAW,GAAG,QAAQ,QAAQ,KAAK,MAAM,CAAC,CAAC,CAC1E,SAAS,EAAE,OAAO,IAAI,EAAE,SAAS,aAAa,GAAG,QAAQ,UAAU,OAAO,QAAQ,CAAC,CAAC,CACpF,OAAO,EAAE,WAAW,GAAG,MAAM,QAAQ,WAAW,CAAC,CAAC,CAClD,QAAQ,EAAE,SAAS,MAAM,cAAc;CACpC,WAAW,QAAQ;CACnB,MAAM,QAAQ;CACd,WAAW,MAAM;CACjB,eAAe,OAAO,QAAQ,MAAM,MAAM,QAAQ,OAAO,GAAG;AAChE,EAAE,EACV,CAAC,CACL;AAEA,MAAa,iBAAiB;AAC9B,MAAa,mBAAmB;AAChC,MAAa,oBAAoB"}
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=constants.d.ts.map
1
+ export {}
@@ -1,3 +1 @@
1
- // Auto-generated file - do not edit manually
2
1
  export {};
3
- //# sourceMappingURL=constants.js.map
@@ -1,5 +1,7 @@
1
- import { type LiveOntology } from "../../index.js";
2
- import type { BlogOntology } from "./types.js";
3
- import type { CreateLiveOntologyOpts } from "../../index.js";
1
+ import { CreateLiveOntologyOpts, LiveOntology } from "../../live/LiveOntology.js";
2
+ import { BlogOntology } from "./types.js";
3
+ import "../../index.js";
4
+ //#region src/examples/generated/live.d.ts
4
5
  export declare function createBlogLiveOntology<Context extends Record<string, unknown> = Record<string, unknown>>(opts: Omit<CreateLiveOntologyOpts<Context>, "ir">): Promise<LiveOntology<BlogOntology>>;
6
+ //#endregion
5
7
  //# sourceMappingURL=live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/examples/generated/live.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,wBAAsB,sBAAsB,CACxC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAKxF"}
1
+ {"version":3,"file":"live.d.ts","names":[],"sources":["../../../src/examples/generated/live.ts"],"mappings":";;;;wBAOsB,uBAClB,gBAAgB,0BAA0B,yBAC5C,MAAM,KAAK,uBAAuB,kBAAkB,QAAQ,aAAa"}
@@ -1,10 +1,14 @@
1
- // Auto-generated file - do not edit manually
2
- import { createLiveOntology } from "../../index.js";
3
- import ontology from "../blog.js";
4
- export async function createBlogLiveOntology(opts) {
5
- return createLiveOntology({
6
- ...opts,
7
- ir: ontology,
8
- });
1
+ import { createLiveOntology } from "../../live/LiveOntology.js";
2
+ import "../../index.js";
3
+ import blog_default from "../blog.js";
4
+ //#region src/examples/generated/live.ts
5
+ async function createBlogLiveOntology(opts) {
6
+ return createLiveOntology({
7
+ ...opts,
8
+ ir: blog_default
9
+ });
9
10
  }
11
+ //#endregion
12
+ export { createBlogLiveOntology };
13
+
10
14
  //# sourceMappingURL=live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/examples/generated/live.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAE7C,OAAO,EAAE,kBAAkB,EAAqB,MAAM,gBAAgB,CAAC;AACvE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAE1C,IAAiD;IAC/C,OAAO,kBAAkB,CAAwB;QAC7C,GAAG,IAAI;QACP,EAAE,EAAE,QAAQ;KACf,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"live.js","names":["ontology"],"sources":["../../../src/examples/generated/live.ts"],"sourcesContent":["// Auto-generated file - do not edit manually\n\nimport { createLiveOntology, type LiveOntology } from \"../../index.js\";\nimport ontology from \"../blog.js\";\nimport type { CreateLiveOntologyOpts } from \"../../index.js\";\nimport type { BlogOntology } from \"./types.js\";\n\nexport async function createBlogLiveOntology<\n Context extends Record<string, unknown> = Record<string, unknown>,\n>(opts: Omit<CreateLiveOntologyOpts<Context>, \"ir\">): Promise<LiveOntology<BlogOntology>> {\n return createLiveOntology<BlogOntology, Context>({\n ...opts,\n ir: ontology,\n });\n}\n"],"mappings":";;;;AAOA,eAAsB,uBAEpB,MAAwF;CACtF,OAAO,mBAA0C;EAC7C,GAAG;EACH,IAAIA;CACR,CAAC;AACL"}
@@ -1,74 +1,76 @@
1
1
  import * as v from "@party-stack/ontology/values";
2
+ //#region src/examples/generated/types.d.ts
2
3
  /** A mailing address. */
3
4
  export type Address = {
4
- line1: string;
5
- line2?: string;
6
- city: string;
7
- state: string;
8
- zip: string;
5
+ line1: string;
6
+ line2?: string;
7
+ city: string;
8
+ state: string;
9
+ zip: string;
9
10
  };
10
11
  /** A blog author. */
11
12
  export type Author = {
12
- authorId: string;
13
- name: string;
14
- email: string;
15
- bio?: string;
16
- /** The author's profile picture. */
17
- avatar?: v.attachment;
18
- address?: Address;
19
- createdAt: v.timestamp;
13
+ authorId: string;
14
+ name: string;
15
+ email: string;
16
+ bio?: string;
17
+ /** The author's profile picture. */
18
+ avatar?: v.attachment;
19
+ address?: Address;
20
+ createdAt: v.timestamp;
20
21
  };
21
22
  /** A blog post. */
22
23
  export type Post = {
23
- postId: string;
24
- title: string;
25
- body: string;
26
- authorId: string;
27
- status: "draft" | "published" | "archived";
28
- coverImage?: v.attachment;
29
- tags: Array<string>;
30
- createdAt: v.timestamp;
31
- publishedAt?: v.timestamp;
24
+ postId: string;
25
+ title: string;
26
+ body: string;
27
+ authorId: string;
28
+ status: "draft" | "published" | "archived";
29
+ coverImage?: v.attachment;
30
+ tags: Array<string>;
31
+ createdAt: v.timestamp;
32
+ publishedAt?: v.timestamp;
32
33
  };
33
34
  /** A comment on a blog post. */
34
35
  export type Comment = {
35
- commentId: string;
36
- body: string;
37
- postId: string;
38
- authorId: string;
39
- createdAt: v.timestamp;
36
+ commentId: string;
37
+ body: string;
38
+ postId: string;
39
+ authorId: string;
40
+ createdAt: v.timestamp;
40
41
  };
41
42
  export type CreatePostParameters = {
42
- postId?: string;
43
- author: string;
44
- title: string;
45
- body: string;
46
- status: "draft" | "published" | "archived";
47
- tags: Array<string>;
48
- createdAt?: v.timestamp;
43
+ postId?: string;
44
+ author: string;
45
+ title: string;
46
+ body: string;
47
+ status: "draft" | "published" | "archived";
48
+ tags: Array<string>;
49
+ createdAt?: v.timestamp;
49
50
  };
50
51
  export type SearchPostsParameters = {
51
- query: string;
52
- limit?: v.integer | undefined;
52
+ query: string;
53
+ limit?: v.integer | undefined;
53
54
  };
54
55
  /** Search blog posts by query text. */
55
56
  export type SearchPostsReturn = Array<string>;
56
57
  export type BlogOntology = {
57
- objectTypes: {
58
- Author: Author;
59
- Post: Post;
60
- Comment: Comment;
58
+ objectTypes: {
59
+ Author: Author;
60
+ Post: Post;
61
+ Comment: Comment;
62
+ };
63
+ actionTypes: {
64
+ createPost: {
65
+ parameters: CreatePostParameters;
61
66
  };
62
- actionTypes: {
63
- createPost: {
64
- parameters: CreatePostParameters;
65
- };
66
- };
67
- queryFunctionTypes: {
68
- searchPosts: {
69
- parameters: SearchPostsParameters;
70
- returnType: SearchPostsReturn;
71
- };
67
+ };
68
+ queryFunctionTypes: {
69
+ searchPosts: {
70
+ parameters: SearchPostsParameters;
71
+ returnType: SearchPostsReturn;
72
72
  };
73
+ };
73
74
  };
75
+ //#endregion
74
76
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/examples/generated/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAElD,yBAAyB;AACzB,MAAM,MAAM,OAAO,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAqB;AACrB,MAAM,MAAM,MAAM,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,mBAAmB;AACnB,MAAM,MAAM,IAAI,GAAG;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC3C,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC;IAC1B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,OAAO,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC3C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;CAC3B,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;CACjC,CAAC;AACF,uCAAuC;AACvC,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,IAAI,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,WAAW,EAAE;QACT,UAAU,EAAE;YACR,UAAU,EAAE,oBAAoB,CAAC;SACpC,CAAC;KACL,CAAC;IACF,kBAAkB,EAAE;QAChB,WAAW,EAAE;YACT,UAAU,EAAE,qBAAqB,CAAC;YAClC,UAAU,EAAE,iBAAiB,CAAC;SACjC,CAAC;KACL,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/examples/generated/types.ts"],"mappings":";;;YAKY;EACR;EACA;EACA;EACA;EACA;;;YAIQ;EACR;EACA;EACA;EACA;;EAEA,SAAS,EAAE;EACX,UAAU;EACV,WAAW,EAAE;;;YAIL;EACR;EACA;EACA;EACA;EACA;EACA,aAAa,EAAE;EACf,MAAM;EACN,WAAW,EAAE;EACb,cAAc,EAAE;;;YAIR;EACR;EACA;EACA;EACA;EACA,WAAW,EAAE;;YAGL;EACR;EACA;EACA;EACA;EACA;EACA,MAAM;EACN,YAAY,EAAE;;YAEN;EACR;EACA,QAAQ,EAAE;;;YAGF,oBAAoB;YACpB;EACR;IACI,QAAQ;IACR,MAAM;IACN,SAAS;;EAEb;IACI;MACI,YAAY;;;EAGpB;IACI;MACI,YAAY;MACZ,YAAY"}
@@ -1,3 +1 @@
1
- // Auto-generated file - do not edit manually
2
1
  export {};
3
- //# sourceMappingURL=types.js.map
@@ -1,9 +1,12 @@
1
- import type { OntologyIR } from "../ir/index.js";
1
+ import { OntologyIR } from "../ir/generated/types.js";
2
+ import "../ir/index.js";
3
+ //#region src/generate/builders.d.ts
2
4
  export interface GenerateBuildersOpts {
3
- /** The name of the main export (e.g., "o" for `o.string()`). */
4
- exportName: string;
5
- /** If set, promotes this union type's variants to the top level of the export. */
6
- promoted?: string;
5
+ /** The name of the main export (e.g., "o" for `o.string()`). */
6
+ exportName: string;
7
+ /** If set, promotes this union type's variants to the top level of the export. */
8
+ promoted?: string;
7
9
  }
8
10
  export declare function generateBuilders(schema: Pick<OntologyIR, "types">, opts: GenerateBuildersOpts): string;
11
+ //#endregion
9
12
  //# sourceMappingURL=builders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/generate/builders.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,UAAU,EAAgB,MAAM,gBAAgB,CAAC;AAE7E,MAAM,WAAW,oBAAoB;IACjC,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAYD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAgEtG"}
1
+ {"version":3,"file":"builders.d.ts","names":[],"sources":["../../src/generate/builders.ts"],"mappings":";;;iBAIiB;;EAEb;;EAEA;;wBAaY,iBAAiB,QAAQ,KAAK,sBAAsB,MAAM"}
@@ -1,60 +1,58 @@
1
- import { Project, VariableDeclarationKind } from "ts-morph";
2
1
  import { buildJsDocs } from "./utils/buildJsDocs.js";
2
+ import { Project, VariableDeclarationKind } from "ts-morph";
3
+ //#region src/generate/builders.ts
3
4
  function unionTypeToBuilders(name, unionType) {
4
- return unionType.variants.map((variant) => ({
5
- name: variant.name,
6
- builder: `<const Value extends Extract<t.${name}, { kind: "${variant.name}" }>["value"]>(value: Value) => ({ kind: "${variant.name}" as const, value })`,
7
- }));
5
+ return unionType.variants.map((variant) => ({
6
+ name: variant.name,
7
+ builder: `<const Value extends Extract<t.${name}, { kind: "${variant.name}" }>["value"]>(value: Value) => ({ kind: "${variant.name}" as const, value })`
8
+ }));
8
9
  }
9
- export function generateBuilders(schema, opts) {
10
- const project = new Project({ useInMemoryFileSystem: true });
11
- const sourceFile = project.createSourceFile("builders.ts", "");
12
- const unionTypes = schema.types.filter((type) => type.type.kind === "union");
13
- if (unionTypes.length === 0) {
14
- return "";
15
- }
16
- sourceFile.addImportDeclaration({
17
- moduleSpecifier: "./types.js",
18
- namespaceImport: "t",
19
- });
20
- const promotedType = unionTypes.find((type) => type.name === opts.promoted);
21
- const promotedBuilders = promotedType ? unionTypeToBuilders(opts.promoted, promotedType.type.value) : [];
22
- const nestedTypes = unionTypes.filter((type) => type.name !== opts.promoted);
23
- for (const builder of promotedBuilders) {
24
- sourceFile.addVariableStatement({
25
- isExported: true,
26
- declarationKind: VariableDeclarationKind.Const,
27
- declarations: [{ name: builder.name, initializer: builder.builder }],
28
- docs: buildJsDocs({ deprecated: promotedType?.deprecated }),
29
- });
30
- }
31
- for (const nestedType of nestedTypes) {
32
- const builders = unionTypeToBuilders(nestedType.name, nestedType.type.value);
33
- sourceFile.addVariableStatement({
34
- isExported: true,
35
- declarationKind: VariableDeclarationKind.Const,
36
- declarations: [
37
- {
38
- name: nestedType.name,
39
- initializer: `{ ${builders.map((builder) => `${builder.name}: ${builder.builder}`).join(", ")} }`,
40
- },
41
- ],
42
- docs: buildJsDocs({ deprecated: nestedType.deprecated }),
43
- });
44
- }
45
- const exportNames = [
46
- ...promotedBuilders.map((builder) => builder.name),
47
- ...nestedTypes.map((type) => type.name),
48
- ];
49
- sourceFile.addVariableStatement({
50
- isExported: true,
51
- declarationKind: VariableDeclarationKind.Const,
52
- declarations: [{ name: opts.exportName, initializer: `{ ${exportNames.join(", ")} }` }],
53
- });
54
- const statements = sourceFile.getVariableStatements();
55
- for (const statement of statements.slice(0, -1)) {
56
- statement.appendWhitespace("\n");
57
- }
58
- return sourceFile.getFullText().trim();
10
+ function generateBuilders(schema, opts) {
11
+ const sourceFile = new Project({ useInMemoryFileSystem: true }).createSourceFile("builders.ts", "");
12
+ const unionTypes = schema.types.filter((type) => type.type.kind === "union");
13
+ if (unionTypes.length === 0) return "";
14
+ sourceFile.addImportDeclaration({
15
+ moduleSpecifier: "./types.js",
16
+ namespaceImport: "t"
17
+ });
18
+ const promotedType = unionTypes.find((type) => type.name === opts.promoted);
19
+ const promotedBuilders = promotedType ? unionTypeToBuilders(opts.promoted, promotedType.type.value) : [];
20
+ const nestedTypes = unionTypes.filter((type) => type.name !== opts.promoted);
21
+ for (const builder of promotedBuilders) sourceFile.addVariableStatement({
22
+ isExported: true,
23
+ declarationKind: VariableDeclarationKind.Const,
24
+ declarations: [{
25
+ name: builder.name,
26
+ initializer: builder.builder
27
+ }],
28
+ docs: buildJsDocs({ deprecated: promotedType?.deprecated })
29
+ });
30
+ for (const nestedType of nestedTypes) {
31
+ const builders = unionTypeToBuilders(nestedType.name, nestedType.type.value);
32
+ sourceFile.addVariableStatement({
33
+ isExported: true,
34
+ declarationKind: VariableDeclarationKind.Const,
35
+ declarations: [{
36
+ name: nestedType.name,
37
+ initializer: `{ ${builders.map((builder) => `${builder.name}: ${builder.builder}`).join(", ")} }`
38
+ }],
39
+ docs: buildJsDocs({ deprecated: nestedType.deprecated })
40
+ });
41
+ }
42
+ const exportNames = [...promotedBuilders.map((builder) => builder.name), ...nestedTypes.map((type) => type.name)];
43
+ sourceFile.addVariableStatement({
44
+ isExported: true,
45
+ declarationKind: VariableDeclarationKind.Const,
46
+ declarations: [{
47
+ name: opts.exportName,
48
+ initializer: `{ ${exportNames.join(", ")} }`
49
+ }]
50
+ });
51
+ const statements = sourceFile.getVariableStatements();
52
+ for (const statement of statements.slice(0, -1)) statement.appendWhitespace("\n");
53
+ return sourceFile.getFullText().trim();
59
54
  }
55
+ //#endregion
56
+ export { generateBuilders };
57
+
60
58
  //# sourceMappingURL=builders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/generate/builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builders.js","names":[],"sources":["../../src/generate/builders.ts"],"sourcesContent":["import { Project, VariableDeclarationKind } from \"ts-morph\";\nimport { buildJsDocs } from \"./utils/buildJsDocs.js\";\nimport type { NamedTypeDef, OntologyIR, UnionTypeDef } from \"../ir/index.js\";\n\nexport interface GenerateBuildersOpts {\n /** The name of the main export (e.g., \"o\" for `o.string()`). */\n exportName: string;\n /** If set, promotes this union type's variants to the top level of the export. */\n promoted?: string;\n}\n\nfunction unionTypeToBuilders(\n name: string,\n unionType: UnionTypeDef\n): Array<{ name: string; builder: string }> {\n return unionType.variants.map((variant) => ({\n name: variant.name,\n builder: `<const Value extends Extract<t.${name}, { kind: \"${variant.name}\" }>[\"value\"]>(value: Value) => ({ kind: \"${variant.name}\" as const, value })`,\n }));\n}\n\nexport function generateBuilders(schema: Pick<OntologyIR, \"types\">, opts: GenerateBuildersOpts): string {\n const project = new Project({ useInMemoryFileSystem: true });\n const sourceFile = project.createSourceFile(\"builders.ts\", \"\");\n\n const unionTypes = schema.types.filter((type) => type.type.kind === \"union\") as Array<\n NamedTypeDef & {\n type: { kind: \"union\"; value: UnionTypeDef };\n }\n >;\n\n if (unionTypes.length === 0) {\n return \"\";\n }\n\n sourceFile.addImportDeclaration({\n moduleSpecifier: \"./types.js\",\n namespaceImport: \"t\",\n });\n\n const promotedType = unionTypes.find((type) => type.name === opts.promoted);\n const promotedBuilders = promotedType ? unionTypeToBuilders(opts.promoted!, promotedType.type.value) : [];\n\n const nestedTypes = unionTypes.filter((type) => type.name !== opts.promoted);\n\n for (const builder of promotedBuilders) {\n sourceFile.addVariableStatement({\n isExported: true,\n declarationKind: VariableDeclarationKind.Const,\n declarations: [{ name: builder.name, initializer: builder.builder }],\n docs: buildJsDocs({ deprecated: promotedType?.deprecated }),\n });\n }\n\n for (const nestedType of nestedTypes) {\n const builders = unionTypeToBuilders(nestedType.name, nestedType.type.value);\n sourceFile.addVariableStatement({\n isExported: true,\n declarationKind: VariableDeclarationKind.Const,\n declarations: [\n {\n name: nestedType.name,\n initializer: `{ ${builders.map((builder) => `${builder.name}: ${builder.builder}`).join(\", \")} }`,\n },\n ],\n docs: buildJsDocs({ deprecated: nestedType.deprecated }),\n });\n }\n\n const exportNames = [\n ...promotedBuilders.map((builder) => builder.name),\n ...nestedTypes.map((type) => type.name),\n ];\n sourceFile.addVariableStatement({\n isExported: true,\n declarationKind: VariableDeclarationKind.Const,\n declarations: [{ name: opts.exportName, initializer: `{ ${exportNames.join(\", \")} }` }],\n });\n\n const statements = sourceFile.getVariableStatements();\n for (const statement of statements.slice(0, -1)) {\n statement.appendWhitespace(\"\\n\");\n }\n\n return sourceFile.getFullText().trim();\n}\n"],"mappings":";;;AAWA,SAAS,oBACL,MACA,WACwC;CACxC,OAAO,UAAU,SAAS,KAAK,aAAa;EACxC,MAAM,QAAQ;EACd,SAAS,kCAAkC,KAAK,aAAa,QAAQ,KAAK,4CAA4C,QAAQ,KAAK;CACvI,EAAE;AACN;AAEA,SAAgB,iBAAiB,QAAmC,MAAoC;CAEpG,MAAM,aAAa,IADC,QAAQ,EAAE,uBAAuB,KAAK,CACjC,CAAC,CAAC,iBAAiB,eAAe,EAAE;CAE7D,MAAM,aAAa,OAAO,MAAM,QAAQ,SAAS,KAAK,KAAK,SAAS,OAAO;CAM3E,IAAI,WAAW,WAAW,GACtB,OAAO;CAGX,WAAW,qBAAqB;EAC5B,iBAAiB;EACjB,iBAAiB;CACrB,CAAC;CAED,MAAM,eAAe,WAAW,MAAM,SAAS,KAAK,SAAS,KAAK,QAAQ;CAC1E,MAAM,mBAAmB,eAAe,oBAAoB,KAAK,UAAW,aAAa,KAAK,KAAK,IAAI,CAAC;CAExG,MAAM,cAAc,WAAW,QAAQ,SAAS,KAAK,SAAS,KAAK,QAAQ;CAE3E,KAAK,MAAM,WAAW,kBAClB,WAAW,qBAAqB;EAC5B,YAAY;EACZ,iBAAiB,wBAAwB;EACzC,cAAc,CAAC;GAAE,MAAM,QAAQ;GAAM,aAAa,QAAQ;EAAQ,CAAC;EACnE,MAAM,YAAY,EAAE,YAAY,cAAc,WAAW,CAAC;CAC9D,CAAC;CAGL,KAAK,MAAM,cAAc,aAAa;EAClC,MAAM,WAAW,oBAAoB,WAAW,MAAM,WAAW,KAAK,KAAK;EAC3E,WAAW,qBAAqB;GAC5B,YAAY;GACZ,iBAAiB,wBAAwB;GACzC,cAAc,CACV;IACI,MAAM,WAAW;IACjB,aAAa,KAAK,SAAS,KAAK,YAAY,GAAG,QAAQ,KAAK,IAAI,QAAQ,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE;GAClG,CACJ;GACA,MAAM,YAAY,EAAE,YAAY,WAAW,WAAW,CAAC;EAC3D,CAAC;CACL;CAEA,MAAM,cAAc,CAChB,GAAG,iBAAiB,KAAK,YAAY,QAAQ,IAAI,GACjD,GAAG,YAAY,KAAK,SAAS,KAAK,IAAI,CAC1C;CACA,WAAW,qBAAqB;EAC5B,YAAY;EACZ,iBAAiB,wBAAwB;EACzC,cAAc,CAAC;GAAE,MAAM,KAAK;GAAY,aAAa,KAAK,YAAY,KAAK,IAAI,EAAE;EAAI,CAAC;CAC1F,CAAC;CAED,MAAM,aAAa,WAAW,sBAAsB;CACpD,KAAK,MAAM,aAAa,WAAW,MAAM,GAAG,EAAE,GAC1C,UAAU,iBAAiB,IAAI;CAGnC,OAAO,WAAW,YAAY,CAAC,CAAC,KAAK;AACzC"}
@@ -1,3 +1,5 @@
1
- import type { OntologyIR } from "../ir/generated/types.js";
1
+ import { OntologyIR } from "../ir/generated/types.js";
2
+ //#region src/generate/constants.d.ts
2
3
  export declare function generateConstants(schema: Pick<OntologyIR, "types">): string;
4
+ //#endregion
3
5
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/generate/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAoB3D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,CA6B3E"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../../src/generate/constants.ts"],"mappings":";;wBAmBgB,kBAAkB,QAAQ,KAAK"}