@party-stack/ontology 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) 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/cli/format.d.ts +4 -0
  5. package/lib/cli/format.d.ts.map +1 -0
  6. package/lib/cli/format.js +19 -0
  7. package/lib/cli/format.js.map +1 -0
  8. package/lib/cli/generate.d.ts +6 -5
  9. package/lib/cli/generate.d.ts.map +1 -1
  10. package/lib/cli/generate.js +86 -110
  11. package/lib/cli/generate.js.map +1 -1
  12. package/lib/cli/index.d.ts +1 -3
  13. package/lib/cli/index.js +42 -59
  14. package/lib/cli/index.js.map +1 -1
  15. package/lib/cli/pull.d.ts +3 -1
  16. package/lib/cli/pull.d.ts.map +1 -1
  17. package/lib/cli/pull.js +42 -60
  18. package/lib/cli/pull.js.map +1 -1
  19. package/lib/examples/blog.d.ts +347 -345
  20. package/lib/examples/blog.d.ts.map +1 -1
  21. package/lib/examples/blog.js +350 -337
  22. package/lib/examples/blog.js.map +1 -1
  23. package/lib/examples/blog.live-queries.d.ts +8 -3
  24. package/lib/examples/blog.live-queries.d.ts.map +1 -1
  25. package/lib/examples/blog.live-queries.js +28 -44
  26. package/lib/examples/blog.live-queries.js.map +1 -1
  27. package/lib/examples/generated/constants.d.ts +1 -2
  28. package/lib/examples/generated/constants.js +0 -2
  29. package/lib/examples/generated/live.d.ts +5 -3
  30. package/lib/examples/generated/live.d.ts.map +1 -1
  31. package/lib/examples/generated/live.js +12 -8
  32. package/lib/examples/generated/live.js.map +1 -1
  33. package/lib/examples/generated/types.d.ts +52 -50
  34. package/lib/examples/generated/types.d.ts.map +1 -1
  35. package/lib/examples/generated/types.js +0 -2
  36. package/lib/generate/builders.d.ts +8 -5
  37. package/lib/generate/builders.d.ts.map +1 -1
  38. package/lib/generate/builders.js +53 -55
  39. package/lib/generate/builders.js.map +1 -1
  40. package/lib/generate/constants.d.ts +3 -1
  41. package/lib/generate/constants.d.ts.map +1 -1
  42. package/lib/generate/constants.js +23 -26
  43. package/lib/generate/constants.js.map +1 -1
  44. package/lib/generate/index.d.ts +6 -6
  45. package/lib/generate/index.js +6 -6
  46. package/lib/generate/live.d.ts +8 -6
  47. package/lib/generate/live.d.ts.map +1 -1
  48. package/lib/generate/live.js +43 -42
  49. package/lib/generate/live.js.map +1 -1
  50. package/lib/generate/ontology.d.ts +4 -2
  51. package/lib/generate/ontology.d.ts.map +1 -1
  52. package/lib/generate/ontology.js +453 -354
  53. package/lib/generate/ontology.js.map +1 -1
  54. package/lib/generate/types.d.ts +7 -5
  55. package/lib/generate/types.d.ts.map +1 -1
  56. package/lib/generate/types.js +190 -262
  57. package/lib/generate/types.js.map +1 -1
  58. package/lib/generate/utils/buildJsDocs.d.ts +7 -4
  59. package/lib/generate/utils/buildJsDocs.d.ts.map +1 -1
  60. package/lib/generate/utils/buildJsDocs.js +14 -10
  61. package/lib/generate/utils/buildJsDocs.js.map +1 -1
  62. package/lib/index.d.ts +30 -13
  63. package/lib/index.js +18 -10
  64. package/lib/infer.d.ts +129 -151
  65. package/lib/infer.d.ts.map +1 -1
  66. package/lib/infer.js +10 -6
  67. package/lib/infer.js.map +1 -1
  68. package/lib/installation/createMetaOntologyConfiguration.d.ts +6 -3
  69. package/lib/installation/createMetaOntologyConfiguration.d.ts.map +1 -1
  70. package/lib/installation/createMetaOntologyConfiguration.js +13 -11
  71. package/lib/installation/createMetaOntologyConfiguration.js.map +1 -1
  72. package/lib/installation/createOntologyBackendInstallation.d.ts +3 -1
  73. package/lib/installation/createOntologyBackendInstallation.d.ts.map +1 -1
  74. package/lib/installation/createOntologyBackendInstallation.js +205 -268
  75. package/lib/installation/createOntologyBackendInstallation.js.map +1 -1
  76. package/lib/installation/index.d.ts +4 -4
  77. package/lib/installation/index.js +3 -3
  78. package/lib/installation/types.d.ts +83 -80
  79. package/lib/installation/types.d.ts.map +1 -1
  80. package/lib/installation/types.js +0 -1
  81. package/lib/ir/generated/builders.d.ts +294 -382
  82. package/lib/ir/generated/builders.d.ts.map +1 -1
  83. package/lib/ir/generated/builders.js +180 -119
  84. package/lib/ir/generated/builders.js.map +1 -1
  85. package/lib/ir/generated/constants.d.ts +137 -135
  86. package/lib/ir/generated/constants.d.ts.map +1 -1
  87. package/lib/ir/generated/constants.js +162 -129
  88. package/lib/ir/generated/constants.js.map +1 -1
  89. package/lib/ir/generated/types.d.ts +236 -234
  90. package/lib/ir/generated/types.d.ts.map +1 -1
  91. package/lib/ir/generated/types.js +0 -2
  92. package/lib/ir/index.d.ts +4 -4
  93. package/lib/ir/index.js +3 -4
  94. package/lib/ir/schema.d.ts +2174 -2172
  95. package/lib/ir/schema.d.ts.map +1 -1
  96. package/lib/ir/schema.js +1184 -1343
  97. package/lib/ir/schema.js.map +1 -1
  98. package/lib/ir/validate.d.ts +5 -3
  99. package/lib/ir/validate.d.ts.map +1 -1
  100. package/lib/ir/validate.js +589 -707
  101. package/lib/ir/validate.js.map +1 -1
  102. package/lib/json/index.d.ts +10 -8
  103. package/lib/json/index.d.ts.map +1 -1
  104. package/lib/json/index.js +101 -135
  105. package/lib/json/index.js.map +1 -1
  106. package/lib/lenses.d.ts +7 -4
  107. package/lib/lenses.d.ts.map +1 -1
  108. package/lib/lenses.js +96 -132
  109. package/lib/lenses.js.map +1 -1
  110. package/lib/live/LiveOntology.d.ts +55 -60
  111. package/lib/live/LiveOntology.d.ts.map +1 -1
  112. package/lib/live/LiveOntology.js +98 -124
  113. package/lib/live/LiveOntology.js.map +1 -1
  114. package/lib/live/OntologyBackendAdapter.d.ts +84 -77
  115. package/lib/live/OntologyBackendAdapter.d.ts.map +1 -1
  116. package/lib/live/OntologyBackendAdapter.js +0 -1
  117. package/lib/live/actions/createLiveOntologyAction.d.ts +27 -24
  118. package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -1
  119. package/lib/live/actions/createLiveOntologyAction.js +24 -21
  120. package/lib/live/actions/createLiveOntologyAction.js.map +1 -1
  121. package/lib/live/actions/createLiveOntologyActions.d.ts +23 -20
  122. package/lib/live/actions/createLiveOntologyActions.d.ts.map +1 -1
  123. package/lib/live/actions/createLiveOntologyActions.js +131 -161
  124. package/lib/live/actions/createLiveOntologyActions.js.map +1 -1
  125. package/lib/live/actions/prepareActionParameters.d.ts +14 -11
  126. package/lib/live/actions/prepareActionParameters.d.ts.map +1 -1
  127. package/lib/live/actions/prepareActionParameters.js +190 -228
  128. package/lib/live/actions/prepareActionParameters.js.map +1 -1
  129. package/lib/live/attachments/attachmentSources.d.ts +7 -4
  130. package/lib/live/attachments/attachmentSources.d.ts.map +1 -1
  131. package/lib/live/attachments/attachmentSources.js +55 -71
  132. package/lib/live/attachments/attachmentSources.js.map +1 -1
  133. package/lib/live/attachments/createLiveOntologyAttachments.d.ts +47 -44
  134. package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -1
  135. package/lib/live/attachments/createLiveOntologyAttachments.js +65 -83
  136. package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -1
  137. package/lib/live/attachments/types.d.ts +10 -8
  138. package/lib/live/attachments/types.d.ts.map +1 -1
  139. package/lib/live/attachments/types.js +0 -1
  140. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +3 -1
  141. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +1 -1
  142. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +5 -3
  143. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +1 -1
  144. package/lib/live/expression.d.ts +16 -13
  145. package/lib/live/expression.d.ts.map +1 -1
  146. package/lib/live/expression.js +142 -223
  147. package/lib/live/expression.js.map +1 -1
  148. package/lib/live/index.d.ts +12 -9
  149. package/lib/live/index.js +6 -8
  150. package/lib/live/mutators/OntologyEdits.d.ts +12 -9
  151. package/lib/live/mutators/OntologyEdits.d.ts.map +1 -1
  152. package/lib/live/mutators/OntologyEdits.js +57 -74
  153. package/lib/live/mutators/OntologyEdits.js.map +1 -1
  154. package/lib/live/mutators/createMutatorTx.d.ts +7 -5
  155. package/lib/live/mutators/createMutatorTx.d.ts.map +1 -1
  156. package/lib/live/mutators/createMutatorTx.js +53 -69
  157. package/lib/live/mutators/createMutatorTx.js.map +1 -1
  158. package/lib/live/mutators/runOptimisticAction.d.ts +16 -13
  159. package/lib/live/mutators/runOptimisticAction.d.ts.map +1 -1
  160. package/lib/live/mutators/runOptimisticAction.js +26 -26
  161. package/lib/live/mutators/runOptimisticAction.js.map +1 -1
  162. package/lib/live/mutators/types.d.ts +18 -16
  163. package/lib/live/mutators/types.d.ts.map +1 -1
  164. package/lib/live/mutators/types.js +0 -1
  165. package/lib/live/objects/OntologyObject.d.ts +2 -0
  166. package/lib/live/objects/OntologyObject.d.ts.map +1 -1
  167. package/lib/live/objects/OntologyObject.js +0 -1
  168. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +14 -11
  169. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +1 -1
  170. package/lib/live/objects/createLiveOntologyObjectCollection.js +62 -49
  171. package/lib/live/objects/createLiveOntologyObjectCollection.js.map +1 -1
  172. package/lib/live/objects/ontologyObjectCollectionId.d.ts +2 -0
  173. package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +1 -1
  174. package/lib/live/objects/ontologyObjectCollectionId.js +6 -2
  175. package/lib/live/objects/ontologyObjectCollectionId.js.map +1 -1
  176. package/lib/live/outbox/createOntologyOutbox.d.ts +16 -14
  177. package/lib/live/outbox/createOntologyOutbox.d.ts.map +1 -1
  178. package/lib/live/outbox/createOntologyOutbox.js +275 -326
  179. package/lib/live/outbox/createOntologyOutbox.js.map +1 -1
  180. package/lib/live/outbox/leaderExecutor.d.ts +15 -13
  181. package/lib/live/outbox/leaderExecutor.d.ts.map +1 -1
  182. package/lib/live/outbox/leaderExecutor.js +114 -153
  183. package/lib/live/outbox/leaderExecutor.js.map +1 -1
  184. package/lib/live/outbox/outboxService.d.ts +4 -2
  185. package/lib/live/outbox/outboxService.d.ts.map +1 -1
  186. package/lib/live/outbox/outboxService.js +66 -71
  187. package/lib/live/outbox/outboxService.js.map +1 -1
  188. package/lib/live/outbox/projectionManager.d.ts +26 -24
  189. package/lib/live/outbox/projectionManager.d.ts.map +1 -1
  190. package/lib/live/outbox/projectionManager.js +121 -147
  191. package/lib/live/outbox/projectionManager.js.map +1 -1
  192. package/lib/live/outbox/repository.d.ts +27 -25
  193. package/lib/live/outbox/repository.d.ts.map +1 -1
  194. package/lib/live/outbox/repository.js +192 -241
  195. package/lib/live/outbox/repository.js.map +1 -1
  196. package/lib/live/outbox/service.d.ts +52 -50
  197. package/lib/live/outbox/service.d.ts.map +1 -1
  198. package/lib/live/outbox/service.js +5 -1
  199. package/lib/live/outbox/service.js.map +1 -1
  200. package/lib/live/outbox/types.d.ts +35 -33
  201. package/lib/live/outbox/types.d.ts.map +1 -1
  202. package/lib/live/outbox/types.js +10 -6
  203. package/lib/live/outbox/types.js.map +1 -1
  204. package/lib/live/waitForCollectionReady.d.ts +3 -1
  205. package/lib/live/waitForCollectionReady.d.ts.map +1 -1
  206. package/lib/live/waitForCollectionReady.js +44 -65
  207. package/lib/live/waitForCollectionReady.js.map +1 -1
  208. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts +5 -2
  209. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts.map +1 -1
  210. package/lib/meta/createLocalMetaOntologyBackendAdapter.js +37 -39
  211. package/lib/meta/createLocalMetaOntologyBackendAdapter.js.map +1 -1
  212. package/lib/meta/generated/constants.d.ts +137 -135
  213. package/lib/meta/generated/constants.d.ts.map +1 -1
  214. package/lib/meta/generated/constants.js +162 -129
  215. package/lib/meta/generated/constants.js.map +1 -1
  216. package/lib/meta/generated/live.d.ts +5 -2
  217. package/lib/meta/generated/live.d.ts.map +1 -1
  218. package/lib/meta/generated/live.js +12 -8
  219. package/lib/meta/generated/live.js.map +1 -1
  220. package/lib/meta/generated/types.d.ts +233 -231
  221. package/lib/meta/generated/types.d.ts.map +1 -1
  222. package/lib/meta/generated/types.js +0 -2
  223. package/lib/meta/ontology.d.ts +23 -21
  224. package/lib/meta/ontology.d.ts.map +1 -1
  225. package/lib/meta/ontology.js +100 -104
  226. package/lib/meta/ontology.js.map +1 -1
  227. package/lib/meta/pull.d.ts +8 -6
  228. package/lib/meta/pull.d.ts.map +1 -1
  229. package/lib/meta/pull.js +39 -52
  230. package/lib/meta/pull.js.map +1 -1
  231. package/lib/utils/index.d.ts +8 -8
  232. package/lib/utils/index.js +5 -6
  233. package/lib/utils/links.d.ts +34 -31
  234. package/lib/utils/links.d.ts.map +1 -1
  235. package/lib/utils/links.js +10 -17
  236. package/lib/utils/links.js.map +1 -1
  237. package/lib/utils/paths.d.ts +2 -0
  238. package/lib/utils/paths.d.ts.map +1 -1
  239. package/lib/utils/paths.js +32 -44
  240. package/lib/utils/paths.js.map +1 -1
  241. package/lib/utils/provide.d.ts +2 -0
  242. package/lib/utils/provide.d.ts.map +1 -1
  243. package/lib/utils/provide.js +7 -9
  244. package/lib/utils/provide.js.map +1 -1
  245. package/lib/utils/targets.d.ts +20 -18
  246. package/lib/utils/targets.d.ts.map +1 -1
  247. package/lib/utils/targets.js +0 -1
  248. package/lib/utils/typeNames.d.ts +10 -8
  249. package/lib/utils/typeNames.d.ts.map +1 -1
  250. package/lib/utils/typeNames.js +0 -1
  251. package/lib/utils/types.d.ts +6 -4
  252. package/lib/utils/types.d.ts.map +1 -1
  253. package/lib/utils/types.js +38 -38
  254. package/lib/utils/types.js.map +1 -1
  255. package/lib/utils/uncertain.d.ts +5 -3
  256. package/lib/utils/uncertain.d.ts.map +1 -1
  257. package/lib/utils/uncertain.js +11 -9
  258. package/lib/utils/uncertain.js.map +1 -1
  259. package/lib/utils/validation.d.ts +4 -2
  260. package/lib/utils/validation.d.ts.map +1 -1
  261. package/lib/utils/validation.js +0 -1
  262. package/lib/utils/values.d.ts +18 -18
  263. package/lib/utils/values.d.ts.map +1 -1
  264. package/lib/utils/values.js +0 -1
  265. package/package.json +22 -26
  266. package/lib/OntologyPullConfig.js.map +0 -1
  267. package/lib/cli/index.d.ts.map +0 -1
  268. package/lib/cli/index.test.d.ts +0 -2
  269. package/lib/cli/index.test.d.ts.map +0 -1
  270. package/lib/cli/index.test.js +0 -34
  271. package/lib/cli/index.test.js.map +0 -1
  272. package/lib/cli/pull.test.d.ts +0 -2
  273. package/lib/cli/pull.test.d.ts.map +0 -1
  274. package/lib/cli/pull.test.js +0 -125
  275. package/lib/cli/pull.test.js.map +0 -1
  276. package/lib/examples/generated/constants.d.ts.map +0 -1
  277. package/lib/examples/generated/constants.js.map +0 -1
  278. package/lib/examples/generated/types.js.map +0 -1
  279. package/lib/generate/builders.test.d.ts +0 -2
  280. package/lib/generate/builders.test.d.ts.map +0 -1
  281. package/lib/generate/builders.test.js +0 -49
  282. package/lib/generate/builders.test.js.map +0 -1
  283. package/lib/generate/index.d.ts.map +0 -1
  284. package/lib/generate/index.js.map +0 -1
  285. package/lib/generate/live.test.d.ts +0 -2
  286. package/lib/generate/live.test.d.ts.map +0 -1
  287. package/lib/generate/live.test.js +0 -22
  288. package/lib/generate/live.test.js.map +0 -1
  289. package/lib/generate/ontology.test.d.ts +0 -2
  290. package/lib/generate/ontology.test.d.ts.map +0 -1
  291. package/lib/generate/ontology.test.js +0 -157
  292. package/lib/generate/ontology.test.js.map +0 -1
  293. package/lib/generate/types.test.d.ts +0 -2
  294. package/lib/generate/types.test.d.ts.map +0 -1
  295. package/lib/generate/types.test.js +0 -304
  296. package/lib/generate/types.test.js.map +0 -1
  297. package/lib/index.d.ts.map +0 -1
  298. package/lib/index.js.map +0 -1
  299. package/lib/infer.test.d.ts +0 -2
  300. package/lib/infer.test.d.ts.map +0 -1
  301. package/lib/infer.test.js +0 -125
  302. package/lib/infer.test.js.map +0 -1
  303. package/lib/installation/createMetaOntologyConfiguration.test.d.ts +0 -2
  304. package/lib/installation/createMetaOntologyConfiguration.test.d.ts.map +0 -1
  305. package/lib/installation/createMetaOntologyConfiguration.test.js +0 -20
  306. package/lib/installation/createMetaOntologyConfiguration.test.js.map +0 -1
  307. package/lib/installation/createOntologyBackendInstallation.test.d.ts +0 -2
  308. package/lib/installation/createOntologyBackendInstallation.test.d.ts.map +0 -1
  309. package/lib/installation/createOntologyBackendInstallation.test.js +0 -320
  310. package/lib/installation/createOntologyBackendInstallation.test.js.map +0 -1
  311. package/lib/installation/index.d.ts.map +0 -1
  312. package/lib/installation/index.js.map +0 -1
  313. package/lib/installation/types.js.map +0 -1
  314. package/lib/ir/generated/types.js.map +0 -1
  315. package/lib/ir/index.d.ts.map +0 -1
  316. package/lib/ir/index.js.map +0 -1
  317. package/lib/ir/validate.test.d.ts +0 -2
  318. package/lib/ir/validate.test.d.ts.map +0 -1
  319. package/lib/ir/validate.test.js +0 -1061
  320. package/lib/ir/validate.test.js.map +0 -1
  321. package/lib/json/index.test.d.ts +0 -2
  322. package/lib/json/index.test.d.ts.map +0 -1
  323. package/lib/json/index.test.js +0 -142
  324. package/lib/json/index.test.js.map +0 -1
  325. package/lib/lenses.test.d.ts +0 -2
  326. package/lib/lenses.test.d.ts.map +0 -1
  327. package/lib/lenses.test.js +0 -80
  328. package/lib/lenses.test.js.map +0 -1
  329. package/lib/live/LiveOntology.test.d.ts +0 -2
  330. package/lib/live/LiveOntology.test.d.ts.map +0 -1
  331. package/lib/live/LiveOntology.test.js +0 -507
  332. package/lib/live/LiveOntology.test.js.map +0 -1
  333. package/lib/live/OntologyBackendAdapter.js.map +0 -1
  334. package/lib/live/actions/createLiveOntologyAction.test.d.ts +0 -2
  335. package/lib/live/actions/createLiveOntologyAction.test.d.ts.map +0 -1
  336. package/lib/live/actions/createLiveOntologyAction.test.js +0 -232
  337. package/lib/live/actions/createLiveOntologyAction.test.js.map +0 -1
  338. package/lib/live/actions/prepareActionParameters.test.d.ts +0 -2
  339. package/lib/live/actions/prepareActionParameters.test.d.ts.map +0 -1
  340. package/lib/live/actions/prepareActionParameters.test.js +0 -165
  341. package/lib/live/actions/prepareActionParameters.test.js.map +0 -1
  342. package/lib/live/attachments/attachmentMetadata.test.d.ts +0 -2
  343. package/lib/live/attachments/attachmentMetadata.test.d.ts.map +0 -1
  344. package/lib/live/attachments/attachmentMetadata.test.js +0 -73
  345. package/lib/live/attachments/attachmentMetadata.test.js.map +0 -1
  346. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts +0 -2
  347. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts.map +0 -1
  348. package/lib/live/attachments/createLiveOntologyAttachments.test.js +0 -363
  349. package/lib/live/attachments/createLiveOntologyAttachments.test.js.map +0 -1
  350. package/lib/live/attachments/types.js.map +0 -1
  351. package/lib/live/expression.test.d.ts +0 -2
  352. package/lib/live/expression.test.d.ts.map +0 -1
  353. package/lib/live/expression.test.js +0 -311
  354. package/lib/live/expression.test.js.map +0 -1
  355. package/lib/live/index.d.ts.map +0 -1
  356. package/lib/live/index.js.map +0 -1
  357. package/lib/live/mutators/OntologyEdits.test.d.ts +0 -2
  358. package/lib/live/mutators/OntologyEdits.test.d.ts.map +0 -1
  359. package/lib/live/mutators/OntologyEdits.test.js +0 -85
  360. package/lib/live/mutators/OntologyEdits.test.js.map +0 -1
  361. package/lib/live/mutators/createMutatorTx.test.d.ts +0 -2
  362. package/lib/live/mutators/createMutatorTx.test.d.ts.map +0 -1
  363. package/lib/live/mutators/createMutatorTx.test.js +0 -180
  364. package/lib/live/mutators/createMutatorTx.test.js.map +0 -1
  365. package/lib/live/mutators/types.js.map +0 -1
  366. package/lib/live/objects/OntologyObject.js.map +0 -1
  367. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts +0 -2
  368. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts.map +0 -1
  369. package/lib/live/objects/createLiveOntologyObjectCollection.test.js +0 -310
  370. package/lib/live/objects/createLiveOntologyObjectCollection.test.js.map +0 -1
  371. package/lib/live/outbox/createOntologyOutbox.test.d.ts +0 -2
  372. package/lib/live/outbox/createOntologyOutbox.test.d.ts.map +0 -1
  373. package/lib/live/outbox/createOntologyOutbox.test.js +0 -1030
  374. package/lib/live/outbox/createOntologyOutbox.test.js.map +0 -1
  375. package/lib/meta/generated/types.js.map +0 -1
  376. package/lib/meta/ontology.test.d.ts +0 -2
  377. package/lib/meta/ontology.test.d.ts.map +0 -1
  378. package/lib/meta/ontology.test.js +0 -84
  379. package/lib/meta/ontology.test.js.map +0 -1
  380. package/lib/utils/index.d.ts.map +0 -1
  381. package/lib/utils/index.js.map +0 -1
  382. package/lib/utils/links.test.d.ts +0 -2
  383. package/lib/utils/links.test.d.ts.map +0 -1
  384. package/lib/utils/links.test.js +0 -109
  385. package/lib/utils/links.test.js.map +0 -1
  386. package/lib/utils/paths.test.d.ts +0 -2
  387. package/lib/utils/paths.test.d.ts.map +0 -1
  388. package/lib/utils/paths.test.js +0 -33
  389. package/lib/utils/paths.test.js.map +0 -1
  390. package/lib/utils/targets.js.map +0 -1
  391. package/lib/utils/typeNames.js.map +0 -1
  392. package/lib/utils/types.test.d.ts +0 -2
  393. package/lib/utils/types.test.d.ts.map +0 -1
  394. package/lib/utils/types.test.js +0 -157
  395. package/lib/utils/types.test.js.map +0 -1
  396. package/lib/utils/uncertain.test.d.ts +0 -2
  397. package/lib/utils/uncertain.test.d.ts.map +0 -1
  398. package/lib/utils/uncertain.test.js +0 -14
  399. package/lib/utils/uncertain.test.js.map +0 -1
  400. package/lib/utils/validation.js.map +0 -1
  401. package/lib/utils/values.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../src/generate/ontology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ontology.js","names":[],"sources":["../../src/generate/ontology.ts"],"sourcesContent":["import { Temporal } from \"temporal-polyfill\";\nimport { CodeBlockWriter, Project, type WriterFunction } from \"ts-morph\";\nimport type {\n ActionTypeDef,\n Deprecation,\n Expression,\n FieldDef,\n LinkTypeDef,\n LinkTypeSideDef,\n NamedTypeDef,\n ObjectTypeDef,\n PropertyAssignment,\n PropertyDef,\n QueryFunctionTypeDef,\n StringConstraint,\n TypeDef,\n VariantDef,\n OntologyIR,\n} from \"../ir/generated/types.js\";\n\nexport interface GenerateOntologyOpts {\n ontologyImportPath?: string;\n}\n\nfunction withWriter(fn: WriterFunction): string {\n const writer = new CodeBlockWriter();\n fn(writer);\n return writer.toString();\n}\n\nfunction isIdentifier(value: string): boolean {\n return /^[$A-Z_a-z][$\\w]*$/.test(value);\n}\n\nfunction writePropertyName(writer: CodeBlockWriter, name: string): void {\n writer.write(isIdentifier(name) ? name : JSON.stringify(name));\n}\n\nfunction writeArray(writer: CodeBlockWriter, values: string[]): void {\n if (values.length === 0) {\n writer.write(\"[]\");\n return;\n }\n\n writer.write(\"[\");\n writer.newLine();\n writer.indent(() => {\n for (const value of values) {\n writer.write(value);\n writer.write(\",\");\n writer.newLine();\n }\n });\n writer.write(\"]\");\n}\n\nfunction writeObject(\n writer: CodeBlockWriter,\n entries: Array<{ name: string; value: string | undefined }>\n): void {\n const definedEntries = entries.filter((entry) => entry.value !== undefined);\n if (definedEntries.length === 0) {\n writer.write(\"{}\");\n return;\n }\n\n writer.write(\"{\");\n writer.newLine();\n writer.indent(() => {\n for (const entry of definedEntries) {\n writePropertyName(writer, entry.name);\n writer.write(\": \");\n writer.write(entry.value!);\n writer.write(\",\");\n writer.newLine();\n }\n });\n writer.write(\"}\");\n}\n\nfunction renderObject(entries: Array<{ name: string; value: string | undefined }>): string {\n return withWriter((writer) => writeObject(writer, entries));\n}\n\ninterface RenderContext {\n markTemporalUsed(): void;\n}\n\nfunction renderPlainValue(value: unknown, ctx?: RenderContext): string {\n return withWriter((writer) => writePlainValue(writer, value, ctx));\n}\n\nfunction writePlainValue(writer: CodeBlockWriter, value: unknown, ctx?: RenderContext): void {\n if (value === null) {\n writer.write(\"null\");\n return;\n }\n\n if (value === undefined) {\n writer.write(\"undefined\");\n return;\n }\n\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n writer.write(JSON.stringify(value));\n return;\n }\n\n if (value instanceof Temporal.Instant) {\n ctx?.markTemporalUsed();\n writer.write(`Temporal.Instant.from(${JSON.stringify(value.toString())})`);\n return;\n }\n\n if (value instanceof Temporal.PlainDate) {\n ctx?.markTemporalUsed();\n writer.write(`Temporal.PlainDate.from(${JSON.stringify(value.toString())})`);\n return;\n }\n\n if (Array.isArray(value)) {\n writeArray(\n writer,\n value.map((entry) => renderPlainValue(entry, ctx))\n );\n return;\n }\n\n writeObject(\n writer,\n Object.entries(value).map(([name, entryValue]) => ({\n name,\n value: entryValue === undefined ? undefined : renderPlainValue(entryValue, ctx),\n }))\n );\n}\n\nfunction renderDeprecation(value: Deprecation | undefined): string | undefined {\n return value === undefined ? undefined : renderPlainValue(value);\n}\n\nfunction renderStringConstraint(constraint: StringConstraint): string {\n switch (constraint.kind) {\n case \"enum\":\n return `o.StringConstraint.enum(${renderPlainValue(constraint.value)})`;\n case \"regex\":\n return `o.StringConstraint.regex(${renderPlainValue(constraint.value)})`;\n }\n}\n\nfunction renderType(type: TypeDef): string {\n switch (type.kind) {\n case \"string\":\n return `o.string(${renderObject([\n {\n name: \"constraint\",\n value: type.value.constraint ? renderStringConstraint(type.value.constraint) : undefined,\n },\n {\n name: \"suggestions\",\n value: type.value.suggestions ? renderPlainValue(type.value.suggestions) : undefined,\n },\n ])})`;\n case \"boolean\":\n return `o.boolean(${renderPlainValue(type.value)})`;\n case \"integer\":\n return `o.integer(${renderPlainValue(type.value)})`;\n case \"float\":\n return `o.float(${renderPlainValue(type.value)})`;\n case \"double\":\n return `o.double(${renderPlainValue(type.value)})`;\n case \"date\":\n return `o.date(${renderPlainValue(type.value)})`;\n case \"timestamp\":\n return `o.timestamp(${renderPlainValue(type.value)})`;\n case \"geopoint\":\n return `o.geopoint(${renderPlainValue(type.value)})`;\n case \"attachment\":\n return `o.attachment(${renderPlainValue(type.value)})`;\n case \"objectReference\":\n return `o.objectReference(${renderPlainValue(type.value)})`;\n case \"unknown\":\n return `o.unknown(${renderPlainValue(type.value)})`;\n case \"list\":\n return `o.list(${renderObject([{ name: \"elementType\", value: renderType(type.value.elementType) }])})`;\n case \"map\":\n return `o.map(${renderObject([\n { name: \"keyType\", value: renderType(type.value.keyType) },\n { name: \"valueType\", value: renderType(type.value.valueType) },\n ])})`;\n case \"struct\":\n return `o.struct(${renderObject([\n {\n name: \"fields\",\n value: withWriter((writer) =>\n writeArray(\n writer,\n type.value.fields.map((field) => renderField(field))\n )\n ),\n },\n ])})`;\n case \"union\":\n return `o.union(${renderObject([\n {\n name: \"variants\",\n value: withWriter((writer) =>\n writeArray(\n writer,\n type.value.variants.map((variant) => renderVariant(variant))\n )\n ),\n },\n ])})`;\n case \"optional\":\n return `o.optional(${renderObject([{ name: \"type\", value: renderType(type.value.type) }])})`;\n case \"result\":\n return `o.result(${renderObject([\n { name: \"okType\", value: renderType(type.value.okType) },\n { name: \"errType\", value: renderType(type.value.errType) },\n ])})`;\n case \"ref\":\n return `o.ref(${renderPlainValue(type.value)})`;\n }\n}\n\nfunction renderField(field: FieldDef): string {\n return renderObject([\n { name: \"name\", value: renderPlainValue(field.name) },\n { name: \"displayName\", value: renderPlainValue(field.displayName) },\n { name: \"type\", value: renderType(field.type) },\n { name: \"description\", value: field.description ? renderPlainValue(field.description) : undefined },\n { name: \"deprecated\", value: renderDeprecation(field.deprecated) },\n ]);\n}\n\nfunction renderVariant(variant: VariantDef): string {\n return renderObject([\n { name: \"name\", value: renderPlainValue(variant.name) },\n { name: \"type\", value: renderType(variant.type) },\n ]);\n}\n\nfunction renderNamedType(type: NamedTypeDef): string {\n return renderObject([\n { name: \"name\", value: renderPlainValue(type.name) },\n { name: \"description\", value: type.description ? renderPlainValue(type.description) : undefined },\n { name: \"deprecated\", value: renderDeprecation(type.deprecated) },\n { name: \"type\", value: renderType(type.type) },\n ]);\n}\n\nfunction renderProperty(property: PropertyDef): string {\n return renderObject([\n { name: \"name\", value: renderPlainValue(property.name) },\n { name: \"displayName\", value: renderPlainValue(property.displayName) },\n { name: \"type\", value: renderType(property.type) },\n {\n name: \"description\",\n value: property.description ? renderPlainValue(property.description) : undefined,\n },\n { name: \"deprecated\", value: renderDeprecation(property.deprecated) },\n ]);\n}\n\nfunction renderObjectType(objectType: ObjectTypeDef): string {\n return renderObject([\n { name: \"name\", value: renderPlainValue(objectType.name) },\n { name: \"displayName\", value: renderPlainValue(objectType.displayName) },\n { name: \"pluralDisplayName\", value: renderPlainValue(objectType.pluralDisplayName) },\n { name: \"primaryKey\", value: renderPlainValue(objectType.primaryKey) },\n {\n name: \"title\",\n value: objectType.title ? renderPlainValue(objectType.title) : undefined,\n },\n {\n name: \"icon\",\n value: objectType.icon ? renderPlainValue(objectType.icon) : undefined,\n },\n {\n name: \"color\",\n value: objectType.color ? renderPlainValue(objectType.color) : undefined,\n },\n {\n name: \"properties\",\n value: withWriter((writer) =>\n writeArray(\n writer,\n objectType.properties.map((property) => renderProperty(property))\n )\n ),\n },\n {\n name: \"description\",\n value: objectType.description ? renderPlainValue(objectType.description) : undefined,\n },\n { name: \"deprecated\", value: renderDeprecation(objectType.deprecated) },\n ]);\n}\n\nfunction renderLinkTypeSide(side: LinkTypeSideDef): string {\n return renderObject([\n { name: \"objectType\", value: renderPlainValue(side.objectType) },\n { name: \"name\", value: renderPlainValue(side.name) },\n { name: \"displayName\", value: renderPlainValue(side.displayName) },\n ]);\n}\n\nfunction renderLinkType(linkType: LinkTypeDef): string {\n return renderObject([\n { name: \"id\", value: renderPlainValue(linkType.id) },\n { name: \"source\", value: renderLinkTypeSide(linkType.source) },\n { name: \"target\", value: renderLinkTypeSide(linkType.target) },\n { name: \"foreignKey\", value: renderPlainValue(linkType.foreignKey) },\n { name: \"cardinality\", value: renderPlainValue(linkType.cardinality) },\n ]);\n}\n\nfunction renderExpression(expression: Expression, ctx?: RenderContext): string {\n return `o.Expression.${expression.kind}(${renderPlainValue(expression.value, ctx)})`;\n}\n\nfunction renderActionPropertyAssignment(assignment: PropertyAssignment, ctx?: RenderContext): string {\n return renderObject([\n { name: \"property\", value: renderPlainValue(assignment.property) },\n { name: \"value\", value: renderExpression(assignment.value, ctx) },\n ]);\n}\n\nfunction renderActionType(actionType: ActionTypeDef, ctx?: RenderContext): string {\n return renderObject([\n { name: \"meta\", value: actionType.meta ? renderPlainValue(actionType.meta) : undefined },\n { name: \"name\", value: renderPlainValue(actionType.name) },\n { name: \"displayName\", value: renderPlainValue(actionType.displayName) },\n { name: \"icon\", value: actionType.icon ? renderPlainValue(actionType.icon) : undefined },\n {\n name: \"color\",\n value: actionType.color ? renderPlainValue(actionType.color) : undefined,\n },\n {\n name: \"parameters\",\n value: withWriter((writer) =>\n writeArray(\n writer,\n actionType.parameters.map((parameter) =>\n renderObject([\n { name: \"name\", value: renderPlainValue(parameter.name) },\n { name: \"displayName\", value: renderPlainValue(parameter.displayName) },\n { name: \"type\", value: renderType(parameter.type) },\n {\n name: \"description\",\n value: parameter.description\n ? renderPlainValue(parameter.description)\n : undefined,\n },\n { name: \"deprecated\", value: renderDeprecation(parameter.deprecated) },\n {\n name: \"defaultValue\",\n value: parameter.defaultValue\n ? renderExpression(parameter.defaultValue, ctx)\n : undefined,\n },\n ])\n )\n )\n ),\n },\n {\n name: \"logic\",\n value: withWriter((writer) =>\n writeArray(\n writer,\n actionType.logic.map(\n (step) =>\n `o.ActionLogicStep.${step.kind}(${renderObject([\n {\n name: \"objectType\",\n value:\n \"objectType\" in step.value\n ? renderPlainValue(step.value.objectType)\n : undefined,\n },\n {\n name: \"object\",\n value:\n \"object\" in step.value\n ? renderPlainValue(step.value.object)\n : undefined,\n },\n {\n name: \"values\",\n value:\n \"values\" in step.value\n ? withWriter((arrayWriter) =>\n writeArray(\n arrayWriter,\n (\"values\" in step.value ? step.value.values : []).map(\n (value) =>\n renderActionPropertyAssignment(value, ctx)\n )\n )\n )\n : undefined,\n },\n ])})`\n )\n )\n ),\n },\n {\n name: \"description\",\n value: actionType.description ? renderPlainValue(actionType.description) : undefined,\n },\n { name: \"deprecated\", value: renderDeprecation(actionType.deprecated) },\n ]);\n}\n\nfunction renderQueryFunctionType(queryFunctionType: QueryFunctionTypeDef): string {\n return renderObject([\n { name: \"name\", value: renderPlainValue(queryFunctionType.name) },\n { name: \"displayName\", value: renderPlainValue(queryFunctionType.displayName) },\n {\n name: \"parameters\",\n value: withWriter((writer) =>\n writeArray(\n writer,\n queryFunctionType.parameters.map((parameter) =>\n renderObject([\n { name: \"name\", value: renderPlainValue(parameter.name) },\n { name: \"displayName\", value: renderPlainValue(parameter.displayName) },\n { name: \"type\", value: renderType(parameter.type) },\n {\n name: \"description\",\n value: parameter.description\n ? renderPlainValue(parameter.description)\n : undefined,\n },\n { name: \"deprecated\", value: renderDeprecation(parameter.deprecated) },\n ])\n )\n )\n ),\n },\n { name: \"returnType\", value: renderType(queryFunctionType.returnType) },\n {\n name: \"description\",\n value: queryFunctionType.description\n ? renderPlainValue(queryFunctionType.description)\n : undefined,\n },\n { name: \"deprecated\", value: renderDeprecation(queryFunctionType.deprecated) },\n ]);\n}\n\nexport function generateOntology(ir: OntologyIR, opts: GenerateOntologyOpts = {}): string {\n const ontologyImportPath = opts.ontologyImportPath ?? \"@party-stack/ontology\";\n const project = new Project({ useInMemoryFileSystem: true });\n const sourceFile = project.createSourceFile(\"ontology.ts\", \"\");\n\n let usesTemporalTypes = false;\n const ctx: RenderContext = {\n markTemporalUsed() {\n usesTemporalTypes = true;\n },\n };\n\n const renderedActionTypes = ir.actionTypes.map((actionType) => renderActionType(actionType, ctx));\n\n sourceFile.addImportDeclaration({\n moduleSpecifier: ontologyImportPath,\n namedImports: [\"defineOntology\", \"o\"],\n });\n if (usesTemporalTypes) {\n sourceFile.addImportDeclaration({\n moduleSpecifier: \"temporal-polyfill\",\n namedImports: [\"Temporal\"],\n });\n }\n\n sourceFile.addStatements((writer) => {\n writer.write(\"export default defineOntology(\");\n writeObject(writer, [\n {\n name: \"types\",\n value: withWriter((arrayWriter) =>\n writeArray(\n arrayWriter,\n ir.types.map((type) => renderNamedType(type))\n )\n ),\n },\n {\n name: \"objectTypes\",\n value: withWriter((arrayWriter) =>\n writeArray(\n arrayWriter,\n ir.objectTypes.map((objectType) => renderObjectType(objectType))\n )\n ),\n },\n {\n name: \"linkTypes\",\n value: withWriter((arrayWriter) =>\n writeArray(\n arrayWriter,\n ir.linkTypes.map((linkType) => renderLinkType(linkType))\n )\n ),\n },\n {\n name: \"actionTypes\",\n value: withWriter((arrayWriter) => writeArray(arrayWriter, renderedActionTypes)),\n },\n {\n name: \"queryFunctionTypes\",\n value: withWriter((arrayWriter) =>\n writeArray(\n arrayWriter,\n ir.queryFunctionTypes.map((queryFunctionType) =>\n renderQueryFunctionType(queryFunctionType)\n )\n )\n ),\n },\n ...(ir.contextType\n ? [\n {\n name: \"contextType\",\n value: renderType(ir.contextType),\n },\n ]\n : []),\n ]);\n writer.write(\");\");\n writer.newLine();\n });\n\n return sourceFile.getFullText().trim();\n}\n"],"mappings":"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"}
@@ -1,16 +1,18 @@
1
- import type { OntologyIR, ObjectTypeDef, TypeDef } from "../ir/generated/types.js";
1
+ import { ObjectTypeDef, OntologyIR, TypeDef } from "../ir/generated/types.js";
2
+ //#region src/generate/types.d.ts
2
3
  export interface GenerateTypeDefinitionsOpts {
3
- valuesImportPath?: string;
4
- objectTypes?: ReadonlyMap<string, ObjectTypeDef>;
4
+ valuesImportPath?: string;
5
+ objectTypes?: ReadonlyMap<string, ObjectTypeDef>;
5
6
  }
6
7
  interface GenerateTypeContext {
7
- objectTypes?: ReadonlyMap<string, ObjectTypeDef>;
8
+ objectTypes?: ReadonlyMap<string, ObjectTypeDef>;
8
9
  }
9
10
  export declare function generateForTypeDef(type: TypeDef, ctx?: GenerateTypeContext): string;
10
11
  export declare function generateTypeDefinitions(schema: Pick<OntologyIR, "types">, opts?: GenerateTypeDefinitionsOpts): string;
11
12
  export interface GenerateTypesOpts {
12
- outputTypeName?: string;
13
+ outputTypeName?: string;
13
14
  }
14
15
  export declare function generateTypes(ir: OntologyIR, opts?: GenerateTypesOpts): string;
16
+ //#endregion
15
17
  export {};
16
18
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generate/types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EAEb,OAAO,EAEV,MAAM,0BAA0B,CAAC;AAsBlC,MAAM,WAAW,2BAA2B;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpD;AAED,UAAU,mBAAmB;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAE,mBAAwB,GAAG,MAAM,CAoFvF;AAqDD,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE,2BAAgC,GACvC,MAAM,CAwBR;AAED,MAAM,WAAW,iBAAiB;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAwJD,wBAAgB,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,GAAE,iBAAsB,GAAG,MAAM,CAalF"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/generate/types.ts"],"mappings":";;iBAiCiB;EACb;EACA,cAAc,oBAAoB;;UAG5B;EACN,cAAc,oBAAoB;;wBAGtB,mBAAmB,MAAM,SAAS,MAAK;wBAyIvC,wBACZ,QAAQ,KAAK,sBACb,OAAM;iBA2BO;EACb;;wBA0JY,cAAc,IAAI,YAAY,OAAM"}
@@ -1,288 +1,216 @@
1
- import { pascalCase } from "change-case";
2
- import { CodeBlockWriter, Project, Writers } from "ts-morph";
3
- import { ImageMediaTypeOptions } from "../ir/generated/constants.js";
4
1
  import { unwrapType } from "../utils/types.js";
2
+ import { ImageMediaTypeOptions } from "../ir/generated/constants.js";
5
3
  import { buildJsDocs } from "./utils/buildJsDocs.js";
4
+ import { pascalCase } from "change-case";
5
+ import { CodeBlockWriter, Project, Writers } from "ts-morph";
6
+ //#region src/generate/types.ts
6
7
  function withWriter(fn) {
7
- const writer = new CodeBlockWriter();
8
- fn(writer);
9
- return writer.toString();
8
+ const writer = new CodeBlockWriter();
9
+ fn(writer);
10
+ return writer.toString();
10
11
  }
11
12
  function union(options) {
12
- if (options.length === 0) {
13
- return "never";
14
- }
15
- if (options.length === 1) {
16
- return options[0];
17
- }
18
- return withWriter(Writers.unionType(options[0], options[1], ...options.slice(2)));
13
+ if (options.length === 0) return "never";
14
+ if (options.length === 1) return options[0];
15
+ return withWriter(Writers.unionType(options[0], options[1], ...options.slice(2)));
19
16
  }
20
17
  function renderPropertyName(name) {
21
- return /^[$A-Z_][0-9A-Z_$]*$/i.test(name) ? name : JSON.stringify(name);
18
+ return /^[$A-Z_][0-9A-Z_$]*$/i.test(name) ? name : JSON.stringify(name);
22
19
  }
23
- export function generateForTypeDef(type, ctx = {}) {
24
- switch (type.kind) {
25
- case "string": {
26
- if (type.value.constraint?.kind === "enum") {
27
- const options = type.value.constraint.value.options;
28
- return union(options.map((option) => `"${option.value}"`));
29
- }
30
- return "string";
31
- }
32
- case "boolean":
33
- return "boolean";
34
- case "integer":
35
- return "v.integer";
36
- case "float":
37
- return "v.float";
38
- case "double":
39
- return "v.double";
40
- case "date":
41
- return "v.date";
42
- case "timestamp":
43
- return "v.timestamp";
44
- case "geopoint":
45
- return "v.geopoint";
46
- case "attachment": {
47
- const content = type.value.constraint?.content;
48
- if (content?.kind !== "image")
49
- return "v.attachment";
50
- const mediaTypes = content.value.mediaTypes;
51
- return mediaTypes
52
- ? `v.attachment<${union(mediaTypes.map((mediaType) => JSON.stringify(mediaType)))}>`
53
- : `v.attachment<${union(ImageMediaTypeOptions.map((option) => JSON.stringify(option.value)))}>`;
54
- }
55
- case "objectReference": {
56
- const objectType = ctx.objectTypes?.get(type.value.objectType);
57
- if (!objectType) {
58
- throw new Error(`Cannot generate object reference type for unknown object type "${type.value.objectType}".`);
59
- }
60
- const primaryKey = objectType?.properties.find((property) => property.name === objectType.primaryKey);
61
- if (!primaryKey) {
62
- throw new Error(`Cannot generate object reference type for "${type.value.objectType}" because primary key "${objectType.primaryKey}" is not a property.`);
63
- }
64
- return generateForTypeDef(primaryKey.type, ctx);
65
- }
66
- case "unknown":
67
- return "unknown";
68
- case "list":
69
- return `Array<${generateForTypeDef(type.value.elementType, ctx)}>`;
70
- case "map":
71
- return `Record<string, ${generateForTypeDef(type.value.valueType, ctx)}>`;
72
- case "struct":
73
- return generateForStructTypeDef(type.value, ctx);
74
- case "union":
75
- return generateForUnionTypeDef(type.value, ctx);
76
- case "optional":
77
- return union([generateForTypeDef(type.value.type, ctx), "undefined"]);
78
- case "result":
79
- return `v.Result<${generateForTypeDef(type.value.okType, ctx)}, ${generateForTypeDef(type.value.errType, ctx)}>`;
80
- case "ref":
81
- return type.value.name;
82
- }
20
+ function generateForTypeDef(type, ctx = {}) {
21
+ switch (type.kind) {
22
+ case "string":
23
+ if (type.value.constraint?.kind === "enum") {
24
+ const options = type.value.constraint.value.options;
25
+ return union(options.map((option) => `"${option.value}"`));
26
+ }
27
+ return "string";
28
+ case "boolean": return "boolean";
29
+ case "integer": return "v.integer";
30
+ case "float": return "v.float";
31
+ case "double": return "v.double";
32
+ case "date": return "v.date";
33
+ case "timestamp": return "v.timestamp";
34
+ case "geopoint": return "v.geopoint";
35
+ case "attachment": {
36
+ const content = type.value.constraint?.content;
37
+ if (content?.kind !== "image") return "v.attachment";
38
+ const mediaTypes = content.value.mediaTypes;
39
+ return mediaTypes ? `v.attachment<${union(mediaTypes.map((mediaType) => JSON.stringify(mediaType)))}>` : `v.attachment<${union(ImageMediaTypeOptions.map((option) => JSON.stringify(option.value)))}>`;
40
+ }
41
+ case "objectReference": {
42
+ const objectType = ctx.objectTypes?.get(type.value.objectType);
43
+ if (!objectType) throw new Error(`Cannot generate object reference type for unknown object type "${type.value.objectType}".`);
44
+ const primaryKey = objectType?.properties.find((property) => property.name === objectType.primaryKey);
45
+ if (!primaryKey) throw new Error(`Cannot generate object reference type for "${type.value.objectType}" because primary key "${objectType.primaryKey}" is not a property.`);
46
+ return generateForTypeDef(primaryKey.type, ctx);
47
+ }
48
+ case "unknown": return "unknown";
49
+ case "list": return `Array<${generateForTypeDef(type.value.elementType, ctx)}>`;
50
+ case "map": return `Record<string, ${generateForTypeDef(type.value.valueType, ctx)}>`;
51
+ case "struct": return generateForStructTypeDef(type.value, ctx);
52
+ case "union": return generateForUnionTypeDef(type.value, ctx);
53
+ case "optional": return union([generateForTypeDef(type.value.type, ctx), "undefined"]);
54
+ case "result": return `v.Result<${generateForTypeDef(type.value.okType, ctx)}, ${generateForTypeDef(type.value.errType, ctx)}>`;
55
+ case "ref": return type.value.name;
56
+ }
83
57
  }
84
58
  function generateForStructTypeDef(type, ctx) {
85
- if (type.fields.length === 0) {
86
- return "Record<never, never>";
87
- }
88
- return withWriter(Writers.objectType({
89
- properties: type.fields.map((field) => {
90
- const { type: fieldType, isOptional } = unwrapType(field.type);
91
- return {
92
- name: renderPropertyName(field.name),
93
- type: generateForTypeDef(fieldType, ctx),
94
- hasQuestionToken: isOptional,
95
- docs: buildJsDocs({ description: field.description, deprecated: field.deprecated }),
96
- };
97
- }),
98
- }));
59
+ if (type.fields.length === 0) return "Record<never, never>";
60
+ return withWriter(Writers.objectType({ properties: type.fields.map((field) => {
61
+ const { type: fieldType, isOptional } = unwrapType(field.type);
62
+ return {
63
+ name: renderPropertyName(field.name),
64
+ type: generateForTypeDef(fieldType, ctx),
65
+ hasQuestionToken: isOptional,
66
+ docs: buildJsDocs({
67
+ description: field.description,
68
+ deprecated: field.deprecated
69
+ })
70
+ };
71
+ }) }));
99
72
  }
100
73
  function generateForUnionTypeDef(type, ctx) {
101
- const innerType = withWriter(Writers.objectType({
102
- properties: type.variants.map((variant) => ({
103
- name: renderPropertyName(variant.name),
104
- type: generateForTypeDef(variant.type, ctx),
105
- })),
106
- }));
107
- return `v.Union<${innerType}>`;
74
+ return `v.Union<${withWriter(Writers.objectType({ properties: type.variants.map((variant) => ({
75
+ name: renderPropertyName(variant.name),
76
+ type: generateForTypeDef(variant.type, ctx)
77
+ })) }))}>`;
108
78
  }
109
79
  function collectTypeDefinitions(ir) {
110
- return {
111
- types: [
112
- ...ir.types,
113
- ...ir.objectTypes.map((objectType) => ({
114
- name: objectType.name,
115
- description: objectType.description,
116
- deprecated: objectType.deprecated,
117
- type: {
118
- kind: "struct",
119
- value: {
120
- fields: objectType.properties,
121
- },
122
- },
123
- })),
124
- ],
125
- };
80
+ return { types: [...ir.types, ...ir.objectTypes.map((objectType) => ({
81
+ name: objectType.name,
82
+ description: objectType.description,
83
+ deprecated: objectType.deprecated,
84
+ type: {
85
+ kind: "struct",
86
+ value: { fields: objectType.properties }
87
+ }
88
+ }))] };
126
89
  }
127
- export function generateTypeDefinitions(schema, opts = {}) {
128
- const project = new Project({ useInMemoryFileSystem: true });
129
- const sourceFile = project.createSourceFile("types.ts", "");
130
- sourceFile.addImportDeclaration({
131
- moduleSpecifier: opts.valuesImportPath ?? "@party-stack/ontology/values",
132
- namespaceImport: "v",
133
- });
134
- for (const type of schema.types) {
135
- sourceFile.addTypeAlias({
136
- name: type.name,
137
- isExported: true,
138
- type: generateForTypeDef(type.type, { objectTypes: opts.objectTypes }),
139
- docs: buildJsDocs({ description: type.description, deprecated: type.deprecated }),
140
- });
141
- }
142
- const typeAliases = sourceFile.getTypeAliases();
143
- for (const alias of typeAliases.slice(0, -1)) {
144
- alias.appendWhitespace("\n");
145
- }
146
- return sourceFile.getFullText().trim();
90
+ function generateTypeDefinitions(schema, opts = {}) {
91
+ const sourceFile = new Project({ useInMemoryFileSystem: true }).createSourceFile("types.ts", "");
92
+ sourceFile.addImportDeclaration({
93
+ moduleSpecifier: opts.valuesImportPath ?? "@party-stack/ontology/values",
94
+ namespaceImport: "v"
95
+ });
96
+ for (const type of schema.types) sourceFile.addTypeAlias({
97
+ name: type.name,
98
+ isExported: true,
99
+ type: generateForTypeDef(type.type, { objectTypes: opts.objectTypes }),
100
+ docs: buildJsDocs({
101
+ description: type.description,
102
+ deprecated: type.deprecated
103
+ })
104
+ });
105
+ const typeAliases = sourceFile.getTypeAliases();
106
+ for (const alias of typeAliases.slice(0, -1)) alias.appendWhitespace("\n");
107
+ return sourceFile.getFullText().trim();
147
108
  }
148
109
  function addOntologyAggregateType(sourceFile, ir, outputTypeName) {
149
- const properties = [
150
- {
151
- name: "context",
152
- type: `${outputTypeName}Context`,
153
- },
154
- {
155
- name: "objectTypes",
156
- type: ir.objectTypes.length === 0
157
- ? "Record<never, never>"
158
- : Writers.objectType({
159
- properties: ir.objectTypes.map((objectType) => ({
160
- name: renderPropertyName(objectType.name),
161
- type: objectType.name,
162
- })),
163
- }),
164
- },
165
- ];
166
- properties.push({
167
- name: "actionTypes",
168
- type: ir.actionTypes.length === 0
169
- ? "Record<never, never>"
170
- : Writers.objectType({
171
- properties: ir.actionTypes.map((action) => ({
172
- name: renderPropertyName(action.name),
173
- type: Writers.objectType({
174
- properties: [
175
- {
176
- name: "parameters",
177
- type: `${pascalCase(action.name)}Parameters`,
178
- },
179
- ],
180
- }),
181
- })),
182
- }),
183
- });
184
- properties.push({
185
- name: "queryFunctionTypes",
186
- type: ir.queryFunctionTypes.length === 0
187
- ? "Record<never, never>"
188
- : Writers.objectType({
189
- properties: ir.queryFunctionTypes.map((queryFunctionType) => ({
190
- name: renderPropertyName(queryFunctionType.name),
191
- type: Writers.objectType({
192
- properties: [
193
- {
194
- name: "parameters",
195
- type: `${pascalCase(queryFunctionType.name)}Parameters`,
196
- },
197
- {
198
- name: "returnType",
199
- type: `${pascalCase(queryFunctionType.name)}Return`,
200
- },
201
- ],
202
- }),
203
- })),
204
- }),
205
- });
206
- sourceFile.addTypeAlias({
207
- name: outputTypeName,
208
- isExported: true,
209
- type: Writers.objectType({ properties }),
210
- });
110
+ const properties = [{
111
+ name: "context",
112
+ type: `${outputTypeName}Context`
113
+ }, {
114
+ name: "objectTypes",
115
+ type: ir.objectTypes.length === 0 ? "Record<never, never>" : Writers.objectType({ properties: ir.objectTypes.map((objectType) => ({
116
+ name: renderPropertyName(objectType.name),
117
+ type: objectType.name
118
+ })) })
119
+ }];
120
+ properties.push({
121
+ name: "actionTypes",
122
+ type: ir.actionTypes.length === 0 ? "Record<never, never>" : Writers.objectType({ properties: ir.actionTypes.map((action) => ({
123
+ name: renderPropertyName(action.name),
124
+ type: Writers.objectType({ properties: [{
125
+ name: "parameters",
126
+ type: `${pascalCase(action.name)}Parameters`
127
+ }] })
128
+ })) })
129
+ });
130
+ properties.push({
131
+ name: "queryFunctionTypes",
132
+ type: ir.queryFunctionTypes.length === 0 ? "Record<never, never>" : Writers.objectType({ properties: ir.queryFunctionTypes.map((queryFunctionType) => ({
133
+ name: renderPropertyName(queryFunctionType.name),
134
+ type: Writers.objectType({ properties: [{
135
+ name: "parameters",
136
+ type: `${pascalCase(queryFunctionType.name)}Parameters`
137
+ }, {
138
+ name: "returnType",
139
+ type: `${pascalCase(queryFunctionType.name)}Return`
140
+ }] })
141
+ })) })
142
+ });
143
+ sourceFile.addTypeAlias({
144
+ name: outputTypeName,
145
+ isExported: true,
146
+ type: Writers.objectType({ properties })
147
+ });
211
148
  }
212
149
  function addOntologyContextType(sourceFile, ir, outputTypeName) {
213
- const objectTypes = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));
214
- sourceFile.addTypeAlias({
215
- name: `${outputTypeName}Context`,
216
- isExported: true,
217
- type: ir.contextType
218
- ? `${generateForTypeDef(ir.contextType, {
219
- objectTypes,
220
- })} & Record<string, unknown>`
221
- : "Record<string, unknown>",
222
- });
150
+ const objectTypes = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));
151
+ sourceFile.addTypeAlias({
152
+ name: `${outputTypeName}Context`,
153
+ isExported: true,
154
+ type: ir.contextType ? `${generateForTypeDef(ir.contextType, { objectTypes })} & Record<string, unknown>` : "Record<string, unknown>"
155
+ });
223
156
  }
224
157
  function addActionParameterTypes(sourceFile, ir) {
225
- const objectTypes = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));
226
- for (const actionType of ir.actionTypes) {
227
- sourceFile.addTypeAlias({
228
- name: `${pascalCase(actionType.name)}Parameters`,
229
- isExported: true,
230
- type: withWriter(Writers.objectType({
231
- properties: actionType.parameters.map((parameter) => {
232
- const parameterType = parameter.type;
233
- const isOptional = parameterType.kind === "optional";
234
- const type = isOptional ? parameterType.value.type : parameterType;
235
- const renderedType = generateForTypeDef(type, { objectTypes });
236
- return {
237
- name: renderPropertyName(parameter.name),
238
- type: isOptional ? union([renderedType, "null"]) : renderedType,
239
- hasQuestionToken: isOptional || parameter.defaultValue !== undefined,
240
- };
241
- }),
242
- })),
243
- });
244
- }
158
+ const objectTypes = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));
159
+ for (const actionType of ir.actionTypes) sourceFile.addTypeAlias({
160
+ name: `${pascalCase(actionType.name)}Parameters`,
161
+ isExported: true,
162
+ type: withWriter(Writers.objectType({ properties: actionType.parameters.map((parameter) => {
163
+ const parameterType = parameter.type;
164
+ const isOptional = parameterType.kind === "optional";
165
+ const renderedType = generateForTypeDef(isOptional ? parameterType.value.type : parameterType, { objectTypes });
166
+ return {
167
+ name: renderPropertyName(parameter.name),
168
+ type: isOptional ? union([renderedType, "null"]) : renderedType,
169
+ hasQuestionToken: isOptional || parameter.defaultValue !== void 0
170
+ };
171
+ }) }))
172
+ });
245
173
  }
246
174
  function addQueryParameterTypes(sourceFile, ir) {
247
- const objectTypes = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));
248
- for (const queryFunctionType of ir.queryFunctionTypes) {
249
- sourceFile.addTypeAlias({
250
- name: `${pascalCase(queryFunctionType.name)}Parameters`,
251
- isExported: true,
252
- type: withWriter(Writers.objectType({
253
- properties: queryFunctionType.parameters.map((parameter) => {
254
- const parameterType = parameter.type;
255
- const isOptional = parameterType.kind === "optional";
256
- const type = isOptional ? parameterType.value.type : parameterType;
257
- const renderedType = generateForTypeDef(type, { objectTypes });
258
- return {
259
- name: renderPropertyName(parameter.name),
260
- type: isOptional ? union([renderedType, "undefined"]) : renderedType,
261
- hasQuestionToken: isOptional,
262
- };
263
- }),
264
- })),
265
- });
266
- sourceFile.addTypeAlias({
267
- name: `${pascalCase(queryFunctionType.name)}Return`,
268
- isExported: true,
269
- type: generateForTypeDef(queryFunctionType.returnType, { objectTypes }),
270
- docs: buildJsDocs({ description: queryFunctionType.description, deprecated: queryFunctionType.deprecated }),
271
- });
272
- }
175
+ const objectTypes = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));
176
+ for (const queryFunctionType of ir.queryFunctionTypes) {
177
+ sourceFile.addTypeAlias({
178
+ name: `${pascalCase(queryFunctionType.name)}Parameters`,
179
+ isExported: true,
180
+ type: withWriter(Writers.objectType({ properties: queryFunctionType.parameters.map((parameter) => {
181
+ const parameterType = parameter.type;
182
+ const isOptional = parameterType.kind === "optional";
183
+ const renderedType = generateForTypeDef(isOptional ? parameterType.value.type : parameterType, { objectTypes });
184
+ return {
185
+ name: renderPropertyName(parameter.name),
186
+ type: isOptional ? union([renderedType, "undefined"]) : renderedType,
187
+ hasQuestionToken: isOptional
188
+ };
189
+ }) }))
190
+ });
191
+ sourceFile.addTypeAlias({
192
+ name: `${pascalCase(queryFunctionType.name)}Return`,
193
+ isExported: true,
194
+ type: generateForTypeDef(queryFunctionType.returnType, { objectTypes }),
195
+ docs: buildJsDocs({
196
+ description: queryFunctionType.description,
197
+ deprecated: queryFunctionType.deprecated
198
+ })
199
+ });
200
+ }
273
201
  }
274
- export function generateTypes(ir, opts = {}) {
275
- const outputTypeName = opts.outputTypeName ?? "GeneratedOntology";
276
- const objectTypes = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));
277
- const typeDefinitions = generateTypeDefinitions(collectTypeDefinitions(ir), {
278
- objectTypes,
279
- });
280
- const project = new Project({ useInMemoryFileSystem: true });
281
- const aggregateFile = project.createSourceFile("ontology-aggregate.ts", "");
282
- addOntologyContextType(aggregateFile, ir, outputTypeName);
283
- addActionParameterTypes(aggregateFile, ir);
284
- addQueryParameterTypes(aggregateFile, ir);
285
- addOntologyAggregateType(aggregateFile, ir, outputTypeName);
286
- return `${typeDefinitions}\n\n${aggregateFile.getFullText().trim()}`.trim();
202
+ function generateTypes(ir, opts = {}) {
203
+ const outputTypeName = opts.outputTypeName ?? "GeneratedOntology";
204
+ const objectTypes = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));
205
+ const typeDefinitions = generateTypeDefinitions(collectTypeDefinitions(ir), { objectTypes });
206
+ const aggregateFile = new Project({ useInMemoryFileSystem: true }).createSourceFile("ontology-aggregate.ts", "");
207
+ addOntologyContextType(aggregateFile, ir, outputTypeName);
208
+ addActionParameterTypes(aggregateFile, ir);
209
+ addQueryParameterTypes(aggregateFile, ir);
210
+ addOntologyAggregateType(aggregateFile, ir, outputTypeName);
211
+ return `${typeDefinitions}\n\n${aggregateFile.getFullText().trim()}`.trim();
287
212
  }
213
+ //#endregion
214
+ export { generateForTypeDef, generateTypeDefinitions, generateTypes };
215
+
288
216
  //# sourceMappingURL=types.js.map