@dxos/echo 0.8.4-main.548089c → 0.8.4-main.59c2e9b

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 (598) hide show
  1. package/README.md +1 -2
  2. package/dist/lib/browser/Annotation.mjs +33 -0
  3. package/dist/lib/browser/Database.mjs +18 -0
  4. package/dist/lib/browser/Entity.mjs +52 -0
  5. package/dist/lib/browser/Entity.mjs.map +7 -0
  6. package/dist/lib/browser/Err.mjs +11 -0
  7. package/dist/lib/browser/Err.mjs.map +7 -0
  8. package/dist/lib/browser/Filter.mjs +62 -0
  9. package/dist/lib/browser/Filter.mjs.map +7 -0
  10. package/dist/lib/browser/Format.mjs +67 -0
  11. package/dist/lib/browser/Format.mjs.map +7 -0
  12. package/dist/lib/browser/JsonSchema.mjs +20 -0
  13. package/dist/lib/browser/JsonSchema.mjs.map +7 -0
  14. package/dist/lib/browser/Key.mjs +13 -0
  15. package/dist/lib/browser/Key.mjs.map +7 -0
  16. package/dist/lib/browser/Obj.mjs +91 -0
  17. package/dist/lib/browser/Obj.mjs.map +7 -0
  18. package/dist/lib/browser/Order.mjs +13 -0
  19. package/dist/lib/browser/Order.mjs.map +7 -0
  20. package/dist/lib/browser/Query.mjs +27 -0
  21. package/dist/lib/browser/Query.mjs.map +7 -0
  22. package/dist/lib/browser/QueryResult.mjs +3 -0
  23. package/dist/lib/browser/QueryResult.mjs.map +7 -0
  24. package/dist/lib/browser/Ref.mjs +23 -0
  25. package/dist/lib/browser/Ref.mjs.map +7 -0
  26. package/dist/lib/browser/Relation.mjs +85 -0
  27. package/dist/lib/browser/Relation.mjs.map +7 -0
  28. package/dist/lib/browser/SchemaRegistry.mjs +3 -0
  29. package/dist/lib/browser/SchemaRegistry.mjs.map +7 -0
  30. package/dist/lib/browser/Tag.mjs +26 -0
  31. package/dist/lib/browser/Tag.mjs.map +7 -0
  32. package/dist/lib/browser/Type.mjs +48 -0
  33. package/dist/lib/browser/Type.mjs.map +7 -0
  34. package/dist/lib/browser/chunk-22JMFST2.mjs +24 -0
  35. package/dist/lib/browser/chunk-22JMFST2.mjs.map +7 -0
  36. package/dist/lib/browser/chunk-2SBB7OWV.mjs +250 -0
  37. package/dist/lib/browser/chunk-2SBB7OWV.mjs.map +7 -0
  38. package/dist/lib/browser/chunk-6L5HHUVU.mjs +158 -0
  39. package/dist/lib/browser/chunk-6L5HHUVU.mjs.map +7 -0
  40. package/dist/lib/browser/chunk-7STIBCP7.mjs +133 -0
  41. package/dist/lib/browser/chunk-7STIBCP7.mjs.map +7 -0
  42. package/dist/lib/browser/chunk-BJPE6CIC.mjs +3847 -0
  43. package/dist/lib/browser/chunk-BJPE6CIC.mjs.map +7 -0
  44. package/dist/lib/browser/chunk-CGS2ULMK.mjs +11 -0
  45. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +7 -0
  46. package/dist/lib/browser/chunk-CJ5YELTO.mjs +39 -0
  47. package/dist/lib/browser/chunk-CJ5YELTO.mjs.map +7 -0
  48. package/dist/lib/browser/chunk-FPOISFQK.mjs +40 -0
  49. package/dist/lib/browser/chunk-FPOISFQK.mjs.map +7 -0
  50. package/dist/lib/browser/chunk-FRDT7RA4.mjs +403 -0
  51. package/dist/lib/browser/chunk-FRDT7RA4.mjs.map +7 -0
  52. package/dist/lib/browser/chunk-INHXFXY5.mjs +22 -0
  53. package/dist/lib/browser/chunk-INHXFXY5.mjs.map +7 -0
  54. package/dist/lib/browser/chunk-IXVWLTG7.mjs +9 -0
  55. package/dist/lib/browser/chunk-IXVWLTG7.mjs.map +7 -0
  56. package/dist/lib/browser/chunk-JMKVF2YQ.mjs +43 -0
  57. package/dist/lib/browser/chunk-JMKVF2YQ.mjs.map +7 -0
  58. package/dist/lib/browser/chunk-KQQGVHFN.mjs +143 -0
  59. package/dist/lib/browser/chunk-KQQGVHFN.mjs.map +7 -0
  60. package/dist/lib/browser/chunk-MYCCGG2T.mjs +15 -0
  61. package/dist/lib/browser/chunk-MYCCGG2T.mjs.map +7 -0
  62. package/dist/lib/browser/chunk-NOPVNWPT.mjs +204 -0
  63. package/dist/lib/browser/chunk-NOPVNWPT.mjs.map +7 -0
  64. package/dist/lib/browser/chunk-PQZW3S6L.mjs +74 -0
  65. package/dist/lib/browser/chunk-PQZW3S6L.mjs.map +7 -0
  66. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs +283 -0
  67. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs.map +7 -0
  68. package/dist/lib/browser/chunk-U2J7TA7K.mjs +57 -0
  69. package/dist/lib/browser/chunk-U2J7TA7K.mjs.map +7 -0
  70. package/dist/lib/browser/chunk-W5D2GWAW.mjs +98 -0
  71. package/dist/lib/browser/chunk-W5D2GWAW.mjs.map +7 -0
  72. package/dist/lib/browser/chunk-XDIUHAAX.mjs +41 -0
  73. package/dist/lib/browser/chunk-XDIUHAAX.mjs.map +7 -0
  74. package/dist/lib/browser/chunk-YKTSSMDS.mjs +69 -0
  75. package/dist/lib/browser/chunk-YKTSSMDS.mjs.map +7 -0
  76. package/dist/lib/browser/chunk-ZAGAOZVY.mjs +288 -0
  77. package/dist/lib/browser/chunk-ZAGAOZVY.mjs.map +7 -0
  78. package/dist/lib/browser/chunk-ZHXZGIXD.mjs +9 -0
  79. package/dist/lib/browser/chunk-ZHXZGIXD.mjs.map +7 -0
  80. package/dist/lib/browser/index.mjs +68 -18
  81. package/dist/lib/browser/internal/index.mjs +245 -124
  82. package/dist/lib/browser/meta.json +1 -1
  83. package/dist/lib/browser/testing/index.mjs +298 -198
  84. package/dist/lib/browser/testing/index.mjs.map +4 -4
  85. package/dist/lib/node-esm/Annotation.mjs +33 -0
  86. package/dist/lib/node-esm/Annotation.mjs.map +7 -0
  87. package/dist/lib/node-esm/Database.mjs +18 -0
  88. package/dist/lib/node-esm/Database.mjs.map +7 -0
  89. package/dist/lib/node-esm/Entity.mjs +52 -0
  90. package/dist/lib/node-esm/Entity.mjs.map +7 -0
  91. package/dist/lib/node-esm/Err.mjs +11 -0
  92. package/dist/lib/node-esm/Err.mjs.map +7 -0
  93. package/dist/lib/node-esm/Filter.mjs +62 -0
  94. package/dist/lib/node-esm/Filter.mjs.map +7 -0
  95. package/dist/lib/node-esm/Format.mjs +67 -0
  96. package/dist/lib/node-esm/Format.mjs.map +7 -0
  97. package/dist/lib/node-esm/JsonSchema.mjs +20 -0
  98. package/dist/lib/node-esm/JsonSchema.mjs.map +7 -0
  99. package/dist/lib/node-esm/Key.mjs +13 -0
  100. package/dist/lib/node-esm/Key.mjs.map +7 -0
  101. package/dist/lib/node-esm/Obj.mjs +91 -0
  102. package/dist/lib/node-esm/Obj.mjs.map +7 -0
  103. package/dist/lib/node-esm/Order.mjs +13 -0
  104. package/dist/lib/node-esm/Order.mjs.map +7 -0
  105. package/dist/lib/node-esm/Query.mjs +27 -0
  106. package/dist/lib/node-esm/Query.mjs.map +7 -0
  107. package/dist/lib/node-esm/QueryResult.mjs +3 -0
  108. package/dist/lib/node-esm/QueryResult.mjs.map +7 -0
  109. package/dist/lib/node-esm/Ref.mjs +23 -0
  110. package/dist/lib/node-esm/Ref.mjs.map +7 -0
  111. package/dist/lib/node-esm/Relation.mjs +85 -0
  112. package/dist/lib/node-esm/Relation.mjs.map +7 -0
  113. package/dist/lib/node-esm/SchemaRegistry.mjs +3 -0
  114. package/dist/lib/node-esm/SchemaRegistry.mjs.map +7 -0
  115. package/dist/lib/node-esm/Tag.mjs +26 -0
  116. package/dist/lib/node-esm/Tag.mjs.map +7 -0
  117. package/dist/lib/node-esm/Type.mjs +48 -0
  118. package/dist/lib/node-esm/Type.mjs.map +7 -0
  119. package/dist/lib/node-esm/chunk-4PNXQA64.mjs +250 -0
  120. package/dist/lib/node-esm/chunk-4PNXQA64.mjs.map +7 -0
  121. package/dist/lib/node-esm/chunk-5OBN7GZW.mjs +158 -0
  122. package/dist/lib/node-esm/chunk-5OBN7GZW.mjs.map +7 -0
  123. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +22 -0
  124. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs.map +7 -0
  125. package/dist/lib/node-esm/chunk-ANLVLWME.mjs +98 -0
  126. package/dist/lib/node-esm/chunk-ANLVLWME.mjs.map +7 -0
  127. package/dist/lib/node-esm/chunk-DMR7OAFK.mjs +57 -0
  128. package/dist/lib/node-esm/chunk-DMR7OAFK.mjs.map +7 -0
  129. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs +133 -0
  130. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs.map +7 -0
  131. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  132. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  133. package/dist/lib/node-esm/chunk-ILMLLM4R.mjs +204 -0
  134. package/dist/lib/node-esm/chunk-ILMLLM4R.mjs.map +7 -0
  135. package/dist/lib/node-esm/chunk-K37NA7PO.mjs +43 -0
  136. package/dist/lib/node-esm/chunk-K37NA7PO.mjs.map +7 -0
  137. package/dist/lib/node-esm/chunk-LT3H4JOX.mjs +3847 -0
  138. package/dist/lib/node-esm/chunk-LT3H4JOX.mjs.map +7 -0
  139. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs +9 -0
  140. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs.map +7 -0
  141. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +15 -0
  142. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs.map +7 -0
  143. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs +40 -0
  144. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs.map +7 -0
  145. package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs +143 -0
  146. package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs.map +7 -0
  147. package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs +41 -0
  148. package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs.map +7 -0
  149. package/dist/lib/node-esm/chunk-QYR67VBV.mjs +288 -0
  150. package/dist/lib/node-esm/chunk-QYR67VBV.mjs.map +7 -0
  151. package/dist/lib/node-esm/chunk-UKGVOINP.mjs +9 -0
  152. package/dist/lib/node-esm/chunk-UKGVOINP.mjs.map +7 -0
  153. package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs +403 -0
  154. package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs.map +7 -0
  155. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs +69 -0
  156. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs.map +7 -0
  157. package/dist/lib/node-esm/chunk-Y75VU7LB.mjs +74 -0
  158. package/dist/lib/node-esm/chunk-Y75VU7LB.mjs.map +7 -0
  159. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs +283 -0
  160. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs.map +7 -0
  161. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs +39 -0
  162. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs.map +7 -0
  163. package/dist/lib/node-esm/chunk-ZBB67AKD.mjs +24 -0
  164. package/dist/lib/node-esm/chunk-ZBB67AKD.mjs.map +7 -0
  165. package/dist/lib/node-esm/index.mjs +68 -18
  166. package/dist/lib/node-esm/internal/index.mjs +245 -124
  167. package/dist/lib/node-esm/meta.json +1 -1
  168. package/dist/lib/node-esm/testing/index.mjs +298 -198
  169. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  170. package/dist/types/src/Annotation.d.ts +2 -0
  171. package/dist/types/src/Annotation.d.ts.map +1 -0
  172. package/dist/types/src/Database.d.ts +194 -0
  173. package/dist/types/src/Database.d.ts.map +1 -0
  174. package/dist/types/src/Entity.d.ts +142 -0
  175. package/dist/types/src/Entity.d.ts.map +1 -0
  176. package/dist/types/src/Entity.test.d.ts +2 -0
  177. package/dist/types/src/Entity.test.d.ts.map +1 -0
  178. package/dist/types/src/{errors.d.ts → Err.d.ts} +19 -19
  179. package/dist/types/src/Err.d.ts.map +1 -0
  180. package/dist/types/src/Filter.d.ts +120 -0
  181. package/dist/types/src/Filter.d.ts.map +1 -0
  182. package/dist/types/src/Format.d.ts +4 -0
  183. package/dist/types/src/Format.d.ts.map +1 -0
  184. package/dist/types/src/Hypergraph.d.ts +60 -0
  185. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  186. package/dist/types/src/JsonSchema.d.ts +9 -0
  187. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  188. package/dist/types/src/Key.d.ts +1 -0
  189. package/dist/types/src/Key.d.ts.map +1 -1
  190. package/dist/types/src/Obj.d.ts +300 -99
  191. package/dist/types/src/Obj.d.ts.map +1 -1
  192. package/dist/types/src/Obj.test.d.ts +2 -0
  193. package/dist/types/src/Obj.test.d.ts.map +1 -0
  194. package/dist/types/src/Order.d.ts +16 -0
  195. package/dist/types/src/Order.d.ts.map +1 -0
  196. package/dist/types/src/Query.d.ts +115 -0
  197. package/dist/types/src/Query.d.ts.map +1 -0
  198. package/dist/types/src/Query.test.d.ts +2 -0
  199. package/dist/types/src/Query.test.d.ts.map +1 -0
  200. package/dist/types/src/QueryResult.d.ts +80 -0
  201. package/dist/types/src/QueryResult.d.ts.map +1 -0
  202. package/dist/types/src/Ref.d.ts +13 -11
  203. package/dist/types/src/Ref.d.ts.map +1 -1
  204. package/dist/types/src/Relation.d.ts +242 -22
  205. package/dist/types/src/Relation.d.ts.map +1 -1
  206. package/dist/types/src/Relation.test.d.ts +2 -0
  207. package/dist/types/src/Relation.test.d.ts.map +1 -0
  208. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  209. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  210. package/dist/types/src/Tag.d.ts +7 -7
  211. package/dist/types/src/Tag.d.ts.map +1 -1
  212. package/dist/types/src/Type.d.ts +225 -72
  213. package/dist/types/src/Type.d.ts.map +1 -1
  214. package/dist/types/src/Type.test.d.ts +2 -0
  215. package/dist/types/src/Type.test.d.ts.map +1 -0
  216. package/dist/types/src/index.d.ts +14 -5
  217. package/dist/types/src/index.d.ts.map +1 -1
  218. package/dist/types/src/internal/annotations/annotations.d.ts +170 -0
  219. package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -0
  220. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +1 -0
  221. package/dist/types/src/internal/annotations/index.d.ts +3 -0
  222. package/dist/types/src/internal/annotations/index.d.ts.map +1 -0
  223. package/dist/types/src/internal/annotations/util.d.ts +27 -0
  224. package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
  225. package/dist/types/src/internal/api/annotations.d.ts +23 -0
  226. package/dist/types/src/internal/api/annotations.d.ts.map +1 -0
  227. package/dist/types/src/internal/api/entity.d.ts +13 -0
  228. package/dist/types/src/internal/api/entity.d.ts.map +1 -0
  229. package/dist/types/src/internal/api/index.d.ts +15 -0
  230. package/dist/types/src/internal/api/index.d.ts.map +1 -0
  231. package/dist/types/src/internal/api/meta.d.ts +42 -0
  232. package/dist/types/src/internal/api/meta.d.ts.map +1 -0
  233. package/dist/types/src/internal/api/sorting.d.ts +24 -0
  234. package/dist/types/src/internal/api/sorting.d.ts.map +1 -0
  235. package/dist/types/src/internal/api/version.d.ts +42 -0
  236. package/dist/types/src/internal/api/version.d.ts.map +1 -0
  237. package/dist/types/src/internal/entities/entity.d.ts +20 -0
  238. package/dist/types/src/internal/entities/entity.d.ts.map +1 -0
  239. package/dist/types/src/internal/entities/index.d.ts +6 -0
  240. package/dist/types/src/internal/entities/index.d.ts.map +1 -0
  241. package/dist/types/src/internal/entities/model.d.ts +77 -0
  242. package/dist/types/src/internal/entities/model.d.ts.map +1 -0
  243. package/dist/types/src/internal/entities/object.d.ts +18 -0
  244. package/dist/types/src/internal/entities/object.d.ts.map +1 -0
  245. package/dist/types/src/internal/entities/relation.d.ts +62 -0
  246. package/dist/types/src/internal/entities/relation.d.ts.map +1 -0
  247. package/dist/types/src/internal/entities/util.d.ts +2 -0
  248. package/dist/types/src/internal/entities/util.d.ts.map +1 -0
  249. package/dist/types/src/internal/formats/format.d.ts +4 -2
  250. package/dist/types/src/internal/formats/format.d.ts.map +1 -1
  251. package/dist/types/src/internal/formats/select.d.ts +5 -3
  252. package/dist/types/src/internal/formats/select.d.ts.map +1 -1
  253. package/dist/types/src/internal/formats/string.d.ts +4 -0
  254. package/dist/types/src/internal/formats/string.d.ts.map +1 -1
  255. package/dist/types/src/internal/formats/types.d.ts +13 -9
  256. package/dist/types/src/internal/formats/types.d.ts.map +1 -1
  257. package/dist/types/src/internal/index.d.ts +7 -10
  258. package/dist/types/src/internal/index.d.ts.map +1 -1
  259. package/dist/types/src/internal/json-schema/annotations.d.ts.map +1 -0
  260. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +1 -0
  261. package/dist/types/src/internal/json-schema/index.d.ts +2 -0
  262. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -1
  263. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
  264. package/dist/types/src/internal/{json → json-schema}/json-schema.d.ts +2 -1
  265. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -0
  266. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +1 -0
  267. package/dist/types/src/internal/object/clone.d.ts +8 -0
  268. package/dist/types/src/internal/object/clone.d.ts.map +1 -0
  269. package/dist/types/src/internal/object/common.d.ts.map +1 -1
  270. package/dist/types/src/internal/object/{create.d.ts → create-object.d.ts} +9 -10
  271. package/dist/types/src/internal/object/create-object.d.ts.map +1 -0
  272. package/dist/types/src/internal/object/create-object.test.d.ts +2 -0
  273. package/dist/types/src/internal/object/create-object.test.d.ts.map +1 -0
  274. package/dist/types/src/internal/object/deleted.d.ts +2 -2
  275. package/dist/types/src/internal/object/deleted.d.ts.map +1 -1
  276. package/dist/types/src/internal/object/ids.d.ts.map +1 -1
  277. package/dist/types/src/internal/object/index.d.ts +6 -11
  278. package/dist/types/src/internal/object/index.d.ts.map +1 -1
  279. package/dist/types/src/internal/object/json-serializer.d.ts +14 -9
  280. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
  281. package/dist/types/src/internal/object/schema-validator.d.ts +1 -14
  282. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
  283. package/dist/types/src/internal/object/set-value.d.ts +7 -0
  284. package/dist/types/src/internal/object/set-value.d.ts.map +1 -0
  285. package/dist/types/src/internal/object/set-value.test.d.ts +2 -0
  286. package/dist/types/src/internal/object/set-value.test.d.ts.map +1 -0
  287. package/dist/types/src/internal/object/snapshot.d.ts +6 -0
  288. package/dist/types/src/internal/object/snapshot.d.ts.map +1 -0
  289. package/dist/types/src/internal/object/typed-object.d.ts +8 -14
  290. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
  291. package/dist/types/src/internal/proxy/change-context.d.ts +55 -0
  292. package/dist/types/src/internal/proxy/change-context.d.ts.map +1 -0
  293. package/dist/types/src/internal/proxy/change.test.d.ts +2 -0
  294. package/dist/types/src/internal/proxy/change.test.d.ts.map +1 -0
  295. package/dist/types/src/internal/proxy/define-hidden-property.d.ts +5 -0
  296. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +1 -0
  297. package/dist/types/src/internal/proxy/errors.d.ts +19 -0
  298. package/dist/types/src/internal/proxy/errors.d.ts.map +1 -0
  299. package/dist/types/src/internal/proxy/event-batch.d.ts +10 -0
  300. package/dist/types/src/internal/proxy/event-batch.d.ts.map +1 -0
  301. package/dist/types/src/internal/proxy/index.d.ts +14 -0
  302. package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
  303. package/dist/types/src/internal/proxy/json-serializer.d.ts +6 -0
  304. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +1 -0
  305. package/dist/types/src/internal/proxy/make-object.d.ts +14 -0
  306. package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
  307. package/dist/types/src/internal/proxy/ownership.d.ts +57 -0
  308. package/dist/types/src/internal/proxy/ownership.d.ts.map +1 -0
  309. package/dist/types/src/internal/proxy/proxy-types.d.ts +18 -0
  310. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +1 -0
  311. package/dist/types/src/internal/proxy/proxy-utils.d.ts +47 -0
  312. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +1 -0
  313. package/dist/types/src/internal/proxy/reactive-array.d.ts +8 -0
  314. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +1 -0
  315. package/dist/types/src/internal/proxy/reactive.d.ts +39 -0
  316. package/dist/types/src/internal/proxy/reactive.d.ts.map +1 -0
  317. package/dist/types/src/internal/proxy/schema-validator.d.ts +15 -0
  318. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +1 -0
  319. package/dist/types/src/internal/proxy/symbols.d.ts +3 -0
  320. package/dist/types/src/internal/proxy/symbols.d.ts.map +1 -0
  321. package/dist/types/src/internal/proxy/typed-handler.d.ts +15 -12
  322. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
  323. package/dist/types/src/internal/ref/ref-array.d.ts +4 -4
  324. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -1
  325. package/dist/types/src/internal/ref/ref.d.ts +27 -16
  326. package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
  327. package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
  328. package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
  329. package/dist/types/src/internal/schema/echo-schema.d.ts +24 -12
  330. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
  331. package/dist/types/src/internal/schema/index.d.ts +1 -4
  332. package/dist/types/src/internal/schema/index.d.ts.map +1 -1
  333. package/dist/types/src/internal/schema/persistent-schema.d.ts +20 -0
  334. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
  335. package/dist/types/src/internal/types/base.d.ts +26 -0
  336. package/dist/types/src/internal/types/base.d.ts.map +1 -0
  337. package/dist/types/src/internal/types/entity.d.ts +37 -0
  338. package/dist/types/src/internal/types/entity.d.ts.map +1 -0
  339. package/dist/types/src/internal/types/index.d.ts +5 -2
  340. package/dist/types/src/internal/types/index.d.ts.map +1 -1
  341. package/dist/types/src/internal/{object → types}/meta.d.ts +12 -11
  342. package/dist/types/src/internal/types/meta.d.ts.map +1 -0
  343. package/dist/types/src/internal/types/typename.d.ts +13 -0
  344. package/dist/types/src/internal/types/typename.d.ts.map +1 -0
  345. package/dist/types/src/internal/{object → types}/version.d.ts +3 -2
  346. package/dist/types/src/internal/types/version.d.ts.map +1 -0
  347. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  348. package/dist/types/src/testing/index.d.ts +3 -3
  349. package/dist/types/src/testing/index.d.ts.map +1 -1
  350. package/dist/types/src/testing/test-data.d.ts +18 -0
  351. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  352. package/dist/types/src/testing/test-schema.d.ts +303 -0
  353. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  354. package/dist/types/src/testing/util.d.ts +21 -0
  355. package/dist/types/src/testing/util.d.ts.map +1 -0
  356. package/dist/types/tsconfig.tsbuildinfo +1 -1
  357. package/package.json +160 -45
  358. package/src/Annotation.ts +18 -0
  359. package/src/Database.ts +336 -0
  360. package/src/Entity.test.ts +22 -0
  361. package/src/Entity.ts +217 -0
  362. package/src/{errors.ts → Err.ts} +2 -2
  363. package/src/Filter.ts +376 -0
  364. package/src/Format.ts +9 -0
  365. package/src/Hypergraph.ts +74 -0
  366. package/src/JsonSchema.ts +16 -0
  367. package/src/Key.ts +3 -0
  368. package/src/Obj.test.ts +386 -0
  369. package/src/Obj.ts +447 -292
  370. package/src/Order.ts +44 -0
  371. package/src/Query.test.ts +465 -0
  372. package/src/Query.ts +296 -0
  373. package/src/QueryResult.ts +106 -0
  374. package/src/Ref.ts +26 -9
  375. package/src/Relation.test.ts +82 -0
  376. package/src/Relation.ts +411 -60
  377. package/src/SchemaRegistry.ts +105 -0
  378. package/src/Tag.ts +3 -2
  379. package/src/Type.test.ts +52 -0
  380. package/src/Type.ts +361 -114
  381. package/src/index.ts +15 -6
  382. package/src/internal/README.md +100 -0
  383. package/src/internal/{ast → annotations}/annotations.test.ts +18 -20
  384. package/src/internal/annotations/annotations.ts +460 -0
  385. package/src/internal/annotations/index.ts +6 -0
  386. package/src/internal/annotations/util.ts +72 -0
  387. package/src/internal/api/annotations.ts +60 -0
  388. package/src/internal/api/entity.ts +29 -0
  389. package/src/internal/api/index.ts +19 -0
  390. package/src/internal/api/meta.ts +88 -0
  391. package/src/internal/api/sorting.ts +53 -0
  392. package/src/internal/api/version.ts +96 -0
  393. package/src/internal/entities/entity.ts +126 -0
  394. package/src/internal/entities/index.ts +9 -0
  395. package/src/internal/entities/model.ts +134 -0
  396. package/src/internal/entities/object.ts +60 -0
  397. package/src/internal/entities/relation.ts +173 -0
  398. package/src/internal/entities/util.ts +33 -0
  399. package/src/internal/formats/date.test.ts +1 -1
  400. package/src/internal/formats/date.ts +5 -5
  401. package/src/internal/formats/format.test.ts +5 -5
  402. package/src/internal/formats/format.ts +8 -6
  403. package/src/internal/formats/number.ts +5 -5
  404. package/src/internal/formats/object.ts +4 -4
  405. package/src/internal/formats/select.ts +5 -3
  406. package/src/internal/formats/string.ts +14 -9
  407. package/src/internal/formats/types.ts +53 -42
  408. package/src/internal/index.ts +30 -13
  409. package/src/internal/{json → json-schema}/annotations.ts +1 -1
  410. package/src/internal/json-schema/index.ts +2 -0
  411. package/src/internal/json-schema/json-schema-type.ts +5 -4
  412. package/src/internal/{json → json-schema}/json-schema.test.ts +67 -55
  413. package/src/internal/{json → json-schema}/json-schema.ts +17 -8
  414. package/src/internal/object/clone.ts +48 -0
  415. package/src/internal/object/common.ts +3 -4
  416. package/src/internal/object/{create.test.ts → create-object.test.ts} +30 -32
  417. package/src/internal/object/{create.ts → create-object.ts} +35 -36
  418. package/src/internal/object/deleted.ts +6 -6
  419. package/src/internal/object/ids.ts +1 -1
  420. package/src/internal/object/index.ts +6 -11
  421. package/src/internal/object/inspect.ts +5 -7
  422. package/src/internal/object/json-serializer.test.ts +35 -37
  423. package/src/internal/object/json-serializer.ts +65 -102
  424. package/src/internal/object/schema-validator.ts +2 -237
  425. package/src/internal/object/set-value.test.ts +281 -0
  426. package/src/internal/object/set-value.ts +165 -0
  427. package/src/internal/object/snapshot.ts +70 -0
  428. package/src/internal/object/typed-object.test.ts +11 -11
  429. package/src/internal/object/typed-object.ts +8 -66
  430. package/src/internal/proxy/change-context.ts +138 -0
  431. package/src/internal/proxy/change.test.ts +519 -0
  432. package/src/internal/proxy/define-hidden-property.ts +14 -0
  433. package/src/internal/proxy/errors.ts +42 -0
  434. package/src/internal/proxy/event-batch.ts +44 -0
  435. package/src/internal/proxy/handler.test.ts +51 -91
  436. package/src/internal/proxy/index.ts +17 -0
  437. package/src/internal/proxy/json-serializer.ts +87 -0
  438. package/src/internal/proxy/make-object.ts +96 -0
  439. package/src/internal/proxy/ownership.ts +253 -0
  440. package/src/internal/proxy/proxy-types.ts +23 -0
  441. package/src/internal/proxy/proxy-utils.ts +150 -0
  442. package/src/internal/proxy/reactive-array.ts +71 -0
  443. package/src/internal/proxy/reactive.ts +69 -0
  444. package/src/internal/proxy/schema-validator.ts +244 -0
  445. package/src/internal/proxy/schema.test.ts +27 -18
  446. package/src/internal/proxy/symbols.ts +7 -0
  447. package/src/internal/proxy/typed-handler.test.ts +264 -48
  448. package/src/internal/proxy/typed-handler.ts +275 -61
  449. package/src/internal/proxy/typed-object.test.ts +42 -26
  450. package/src/internal/ref/ref-array.ts +4 -4
  451. package/src/internal/ref/ref.test.ts +8 -7
  452. package/src/internal/ref/ref.ts +81 -54
  453. package/src/internal/{projection → schema}/compose.test.ts +8 -9
  454. package/src/internal/{projection → schema}/compose.ts +1 -1
  455. package/src/internal/schema/echo-schema.ts +73 -33
  456. package/src/internal/schema/index.ts +1 -4
  457. package/src/internal/schema/manipulation.ts +1 -1
  458. package/src/internal/schema/persistent-schema.ts +27 -0
  459. package/src/internal/types/base.ts +43 -0
  460. package/src/internal/types/entity.ts +54 -0
  461. package/src/internal/types/index.ts +5 -2
  462. package/src/internal/{object → types}/meta.ts +22 -17
  463. package/src/internal/types/typename.ts +45 -0
  464. package/src/internal/types/version.ts +20 -0
  465. package/src/testing/api.test.ts +126 -0
  466. package/src/testing/index.ts +3 -3
  467. package/src/testing/test-data.ts +130 -0
  468. package/src/testing/test-schema.ts +238 -0
  469. package/src/testing/util.ts +85 -0
  470. package/dist/lib/browser/chunk-3FCPYTWA.mjs +0 -585
  471. package/dist/lib/browser/chunk-3FCPYTWA.mjs.map +0 -7
  472. package/dist/lib/browser/chunk-5BNXQE6S.mjs +0 -3727
  473. package/dist/lib/browser/chunk-5BNXQE6S.mjs.map +0 -7
  474. package/dist/lib/browser/chunk-U43CXUCL.mjs +0 -410
  475. package/dist/lib/browser/chunk-U43CXUCL.mjs.map +0 -7
  476. package/dist/lib/browser/query/index.mjs +0 -13
  477. package/dist/lib/node-esm/chunk-3FGSPSYN.mjs +0 -3727
  478. package/dist/lib/node-esm/chunk-3FGSPSYN.mjs.map +0 -7
  479. package/dist/lib/node-esm/chunk-C7LTTWRL.mjs +0 -585
  480. package/dist/lib/node-esm/chunk-C7LTTWRL.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-OHJ5WBB6.mjs +0 -410
  482. package/dist/lib/node-esm/chunk-OHJ5WBB6.mjs.map +0 -7
  483. package/dist/lib/node-esm/query/index.mjs +0 -13
  484. package/dist/types/src/errors.d.ts.map +0 -1
  485. package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
  486. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
  487. package/dist/types/src/internal/ast/annotations.d.ts +0 -131
  488. package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
  489. package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
  490. package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
  491. package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
  492. package/dist/types/src/internal/ast/index.d.ts +0 -5
  493. package/dist/types/src/internal/ast/index.d.ts.map +0 -1
  494. package/dist/types/src/internal/ast/types.d.ts +0 -6
  495. package/dist/types/src/internal/ast/types.d.ts.map +0 -1
  496. package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
  497. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
  498. package/dist/types/src/internal/json/index.d.ts +0 -2
  499. package/dist/types/src/internal/json/index.d.ts.map +0 -1
  500. package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
  501. package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
  502. package/dist/types/src/internal/object/accessors.d.ts +0 -37
  503. package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
  504. package/dist/types/src/internal/object/create.d.ts.map +0 -1
  505. package/dist/types/src/internal/object/create.test.d.ts +0 -2
  506. package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
  507. package/dist/types/src/internal/object/entity.d.ts +0 -33
  508. package/dist/types/src/internal/object/entity.d.ts.map +0 -1
  509. package/dist/types/src/internal/object/expando.d.ts +0 -14
  510. package/dist/types/src/internal/object/expando.d.ts.map +0 -1
  511. package/dist/types/src/internal/object/meta.d.ts.map +0 -1
  512. package/dist/types/src/internal/object/model.d.ts +0 -117
  513. package/dist/types/src/internal/object/model.d.ts.map +0 -1
  514. package/dist/types/src/internal/object/relation.d.ts +0 -17
  515. package/dist/types/src/internal/object/relation.d.ts.map +0 -1
  516. package/dist/types/src/internal/object/typename.d.ts +0 -15
  517. package/dist/types/src/internal/object/typename.d.ts.map +0 -1
  518. package/dist/types/src/internal/object/version.d.ts.map +0 -1
  519. package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
  520. package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
  521. package/dist/types/src/internal/projection/index.d.ts +0 -2
  522. package/dist/types/src/internal/projection/index.d.ts.map +0 -1
  523. package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
  524. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
  525. package/dist/types/src/internal/query/index.d.ts +0 -2
  526. package/dist/types/src/internal/query/index.d.ts.map +0 -1
  527. package/dist/types/src/internal/query/query.d.ts +0 -17
  528. package/dist/types/src/internal/query/query.d.ts.map +0 -1
  529. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  530. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  531. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  532. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  533. package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
  534. package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
  535. package/dist/types/src/internal/testing/index.d.ts +0 -3
  536. package/dist/types/src/internal/testing/index.d.ts.map +0 -1
  537. package/dist/types/src/internal/testing/types.d.ts +0 -381
  538. package/dist/types/src/internal/testing/types.d.ts.map +0 -1
  539. package/dist/types/src/internal/testing/utils.d.ts +0 -10
  540. package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
  541. package/dist/types/src/internal/types/types.d.ts +0 -79
  542. package/dist/types/src/internal/types/types.d.ts.map +0 -1
  543. package/dist/types/src/internal/types/types.test.d.ts +0 -2
  544. package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
  545. package/dist/types/src/internal/types/util.d.ts +0 -5
  546. package/dist/types/src/internal/types/util.d.ts.map +0 -1
  547. package/dist/types/src/query/index.d.ts +0 -2
  548. package/dist/types/src/query/index.d.ts.map +0 -1
  549. package/dist/types/src/query/query.d.ts +0 -248
  550. package/dist/types/src/query/query.d.ts.map +0 -1
  551. package/dist/types/src/query/query.test.d.ts +0 -2
  552. package/dist/types/src/query/query.test.d.ts.map +0 -1
  553. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  554. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  555. package/dist/types/src/testing/types.d.ts +0 -228
  556. package/dist/types/src/testing/types.d.ts.map +0 -1
  557. package/src/internal/ast/annotation-helper.ts +0 -22
  558. package/src/internal/ast/annotations.ts +0 -226
  559. package/src/internal/ast/entity-kind.ts +0 -15
  560. package/src/internal/ast/index.ts +0 -8
  561. package/src/internal/ast/types.ts +0 -17
  562. package/src/internal/json/index.ts +0 -5
  563. package/src/internal/object/accessors.ts +0 -153
  564. package/src/internal/object/entity.ts +0 -248
  565. package/src/internal/object/expando.ts +0 -21
  566. package/src/internal/object/model.ts +0 -170
  567. package/src/internal/object/relation.ts +0 -24
  568. package/src/internal/object/typename.ts +0 -61
  569. package/src/internal/object/version.ts +0 -22
  570. package/src/internal/projection/index.ts +0 -5
  571. package/src/internal/proxy/reactive-object.ts +0 -108
  572. package/src/internal/query/index.ts +0 -5
  573. package/src/internal/query/query.ts +0 -23
  574. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  575. package/src/internal/schema/snapshot.ts +0 -25
  576. package/src/internal/schema/stored-schema.ts +0 -26
  577. package/src/internal/testing/index.ts +0 -6
  578. package/src/internal/testing/types.ts +0 -144
  579. package/src/internal/testing/utils.ts +0 -54
  580. package/src/internal/types/types.test.ts +0 -48
  581. package/src/internal/types/types.ts +0 -176
  582. package/src/internal/types/util.ts +0 -9
  583. package/src/query/index.ts +0 -6
  584. package/src/query/query.test.ts +0 -401
  585. package/src/query/query.ts +0 -789
  586. package/src/test/api.test.ts +0 -180
  587. package/src/testing/echo-schema.ts +0 -39
  588. package/src/testing/types.ts +0 -108
  589. /package/dist/lib/browser/{query/index.mjs.map → Annotation.mjs.map} +0 -0
  590. /package/dist/lib/{node-esm/query/index.mjs.map → browser/Database.mjs.map} +0 -0
  591. /package/dist/types/src/internal/{ast → annotations}/annotations.test.d.ts +0 -0
  592. /package/dist/types/src/internal/{json → json-schema}/annotations.d.ts +0 -0
  593. /package/dist/types/src/internal/{json → json-schema}/effect-schema.test.d.ts +0 -0
  594. /package/dist/types/src/internal/{json → json-schema}/json-schema.test.d.ts +0 -0
  595. /package/dist/types/src/internal/{projection → schema}/compose.d.ts +0 -0
  596. /package/dist/types/src/internal/{projection → schema}/compose.test.d.ts +0 -0
  597. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  598. /package/src/internal/{json → json-schema}/effect-schema.test.ts +0 -0
@@ -7,7 +7,7 @@ import type * as JSONSchema from 'effect/JSONSchema';
7
7
  import * as Option from 'effect/Option';
8
8
  import * as SchemaAST from 'effect/SchemaAST';
9
9
 
10
- import { createAnnotationHelper } from '../ast';
10
+ import { createAnnotationHelper } from '../annotations';
11
11
  import { type JsonSchemaType } from '../json-schema';
12
12
 
13
13
  // TODO(burdon): Rename PropertyType.
@@ -53,14 +53,20 @@ export const getTypeEnum = (property: JsonSchemaType): TypeEnum | undefined => {
53
53
  */
54
54
  export const FormatAnnotationId = Symbol.for('@dxos/schema/annotation/Format');
55
55
 
56
- export const FormatAnnotation = createAnnotationHelper<FormatEnum>(FormatAnnotationId);
56
+ export const FormatAnnotation = createAnnotationHelper<TypeFormat>(FormatAnnotationId);
57
57
 
58
- export const getFormatAnnotation = (node: SchemaAST.AST): FormatEnum | undefined =>
59
- Function.pipe(SchemaAST.getAnnotation<FormatEnum>(FormatAnnotationId)(node), Option.getOrUndefined);
58
+ /** @deprecated */
59
+ export const getFormatAnnotation = (node: SchemaAST.AST): TypeFormat | undefined =>
60
+ Function.pipe(SchemaAST.getAnnotation<TypeFormat>(FormatAnnotationId)(node), Option.getOrUndefined);
60
61
 
61
- // TODO(burdon): Rename to FormatType and change to discriminated union.
62
- export enum FormatEnum {
62
+ // TODO(burdon): Rename Format; Change to discriminated union?
63
+ export enum TypeFormat {
63
64
  None = 'none',
65
+
66
+ //
67
+ // Scalar
68
+ //
69
+
64
70
  String = 'string',
65
71
  Number = 'number',
66
72
  Boolean = 'boolean',
@@ -79,6 +85,7 @@ export enum FormatEnum {
79
85
  Markdown = 'markdown',
80
86
  Regex = 'regex',
81
87
  SingleSelect = 'single-select',
88
+ Text = 'text',
82
89
  MultiSelect = 'multi-select',
83
90
  URL = 'url',
84
91
  UUID = 'uuid',
@@ -108,60 +115,61 @@ export enum FormatEnum {
108
115
  GeoPoint = 'lnglat',
109
116
  }
110
117
 
111
- export const FormatEnums = Object.values(FormatEnum).sort();
118
+ export const FormatEnums = Object.values(TypeFormat).sort();
112
119
 
113
120
  export const PropertyKind = {
114
121
  type: TypeEnum,
115
- format: FormatEnum,
122
+ format: TypeFormat,
116
123
  };
117
124
 
118
125
  /**
119
126
  * Default formats
120
127
  */
121
- export const typeToFormat: Partial<Record<TypeEnum, FormatEnum>> = {
122
- [TypeEnum.String]: FormatEnum.String,
123
- [TypeEnum.Number]: FormatEnum.Number,
124
- [TypeEnum.Boolean]: FormatEnum.Boolean,
128
+ export const typeToFormat: Partial<Record<TypeEnum, TypeFormat>> = {
129
+ [TypeEnum.String]: TypeFormat.String,
130
+ [TypeEnum.Number]: TypeFormat.Number,
131
+ [TypeEnum.Boolean]: TypeFormat.Boolean,
125
132
  };
126
133
 
127
134
  /**
128
135
  * Map of format to type.
129
136
  */
130
- export const formatToType: Record<FormatEnum, TypeEnum> = {
131
- [FormatEnum.None]: undefined as any,
132
- [FormatEnum.String]: TypeEnum.String,
133
- [FormatEnum.Number]: TypeEnum.Number,
134
- [FormatEnum.Boolean]: TypeEnum.Boolean,
135
- [FormatEnum.Ref]: TypeEnum.Ref,
137
+ export const formatToType: Record<TypeFormat, TypeEnum> = {
138
+ [TypeFormat.None]: undefined as any,
139
+ [TypeFormat.String]: TypeEnum.String,
140
+ [TypeFormat.Number]: TypeEnum.Number,
141
+ [TypeFormat.Boolean]: TypeEnum.Boolean,
142
+ [TypeFormat.Ref]: TypeEnum.Ref,
136
143
 
137
144
  // Strings
138
- [FormatEnum.DID]: TypeEnum.String,
139
- [FormatEnum.DXN]: TypeEnum.String,
140
- [FormatEnum.Email]: TypeEnum.String,
141
- [FormatEnum.Formula]: TypeEnum.String,
142
- [FormatEnum.Hostname]: TypeEnum.String,
143
- [FormatEnum.JSON]: TypeEnum.String,
144
- [FormatEnum.Markdown]: TypeEnum.String,
145
- [FormatEnum.Regex]: TypeEnum.String,
146
- [FormatEnum.URL]: TypeEnum.String,
147
- [FormatEnum.UUID]: TypeEnum.String,
148
- [FormatEnum.SingleSelect]: TypeEnum.String,
149
- [FormatEnum.MultiSelect]: TypeEnum.Object,
145
+ [TypeFormat.DID]: TypeEnum.String,
146
+ [TypeFormat.DXN]: TypeEnum.String,
147
+ [TypeFormat.Email]: TypeEnum.String,
148
+ [TypeFormat.Formula]: TypeEnum.String,
149
+ [TypeFormat.Hostname]: TypeEnum.String,
150
+ [TypeFormat.JSON]: TypeEnum.String,
151
+ [TypeFormat.Markdown]: TypeEnum.String,
152
+ [TypeFormat.Regex]: TypeEnum.String,
153
+ [TypeFormat.URL]: TypeEnum.String,
154
+ [TypeFormat.UUID]: TypeEnum.String,
155
+ [TypeFormat.SingleSelect]: TypeEnum.String,
156
+ [TypeFormat.Text]: TypeEnum.String,
157
+ [TypeFormat.MultiSelect]: TypeEnum.Object,
150
158
 
151
159
  // Dates
152
- [FormatEnum.Date]: TypeEnum.String,
153
- [FormatEnum.DateTime]: TypeEnum.String,
154
- [FormatEnum.Duration]: TypeEnum.String,
155
- [FormatEnum.Time]: TypeEnum.String,
160
+ [TypeFormat.Date]: TypeEnum.String,
161
+ [TypeFormat.DateTime]: TypeEnum.String,
162
+ [TypeFormat.Duration]: TypeEnum.String,
163
+ [TypeFormat.Time]: TypeEnum.String,
156
164
 
157
165
  // Numbers
158
- [FormatEnum.Currency]: TypeEnum.Number,
159
- [FormatEnum.Integer]: TypeEnum.Number,
160
- [FormatEnum.Percent]: TypeEnum.Number,
161
- [FormatEnum.Timestamp]: TypeEnum.Number,
166
+ [TypeFormat.Currency]: TypeEnum.Number,
167
+ [TypeFormat.Integer]: TypeEnum.Number,
168
+ [TypeFormat.Percent]: TypeEnum.Number,
169
+ [TypeFormat.Timestamp]: TypeEnum.Number,
162
170
 
163
171
  // Objects
164
- [FormatEnum.GeoPoint]: TypeEnum.Array,
172
+ [TypeFormat.GeoPoint]: TypeEnum.Array,
165
173
  };
166
174
 
167
175
  /**
@@ -169,7 +177,10 @@ export const formatToType: Record<FormatEnum, TypeEnum> = {
169
177
  */
170
178
  export const OptionsAnnotationId = Symbol.for('@dxos/schema/annotation/Options');
171
179
 
172
- export const getOptionsAnnotation = (node: SchemaAST.AST): OptionsAnnotationType[] | undefined =>
173
- Function.pipe(SchemaAST.getAnnotation<OptionsAnnotationType[]>(OptionsAnnotationId)(node), Option.getOrUndefined);
180
+ // TODO(wittjosiah): Reconcile with `SelectOption`.
181
+ export type Options = string | number;
182
+ export const OptionsAnnotation = createAnnotationHelper<Options[]>(OptionsAnnotationId);
174
183
 
175
- export type OptionsAnnotationType = string | number;
184
+ /** @deprecated */
185
+ export const getOptionsAnnotation = (node: SchemaAST.AST): Options[] | undefined =>
186
+ Function.pipe(SchemaAST.getAnnotation<Options[]>(OptionsAnnotationId)(node), Option.getOrUndefined);
@@ -2,21 +2,38 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- export { JsonPath, splitJsonPath, JsonProp } from '@dxos/effect';
5
+ // TODO(burdon): Import directly (not part of ECHO API).
6
+ export { JsonPath, JsonProp, getValue, splitJsonPath } from '@dxos/effect';
6
7
 
7
- // TODO(dmaretskyi): Remove.
8
- export { ObjectId } from '@dxos/keys';
9
- export { ForeignKey } from '@dxos/echo-protocol';
10
-
11
- export * from './ast';
8
+ export * from './annotations';
9
+ export * from './api';
10
+ export * from './entities';
12
11
  export * from './formats';
13
- export * from './json';
14
12
  export * from './json-schema';
15
- export * from './object';
16
- export * from './types';
17
- export { defineHiddenProperty } from '@dxos/live-object';
18
- export * from './projection';
19
- // TODO(dmaretskyi): Remove
20
- export { live } from './proxy/reactive-object';
21
13
  export * from './ref';
14
+ export * from './types';
15
+
16
+ // TODO(wittjosiah): Required to ensure types are portable (need to export all types required for downstream inference).
17
+ export * from './object';
18
+ export * from './proxy';
22
19
  export * from './schema';
20
+
21
+ // export {
22
+ // createObject,
23
+ // createQueueDXN,
24
+ // isDeleted,
25
+ // objectFromJSON,
26
+ // objectToJSON,
27
+ // setRefResolverOnData,
28
+ // SchemaValidator,
29
+ // TypedObject,
30
+ // } from './object';
31
+ // export { makeObject } from './proxy';
32
+ // export {
33
+ // type BaseSchema,
34
+ // EchoSchema,
35
+ // ImmutableSchema,
36
+ // RuntimeSchemaRegistry,
37
+ // PersistentSchema,
38
+ // isMutable,
39
+ // } from './schema';
@@ -4,7 +4,7 @@
4
4
 
5
5
  import * as SchemaAST from 'effect/SchemaAST';
6
6
 
7
- import { GeneratorAnnotationId, LabelAnnotationId, PropertyMetaAnnotationId } from '../ast';
7
+ import { GeneratorAnnotationId, LabelAnnotationId, PropertyMetaAnnotationId } from '../annotations';
8
8
  import { CurrencyAnnotationId, FormatAnnotationId } from '../formats';
9
9
  import { type JsonSchemaEchoAnnotations, type JsonSchemaType } from '../json-schema';
10
10
 
@@ -2,5 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ export * from './annotations';
5
6
  export * from './json-schema-normalize';
6
7
  export * from './json-schema-type';
8
+ export * from './json-schema';
@@ -6,8 +6,8 @@ import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { JsonPath, type JsonProp } from '@dxos/effect';
8
8
 
9
- import { EntityKindSchema } from '../ast';
10
- import { FormatAnnotation, FormatEnum } from '../formats';
9
+ import { FormatAnnotation, TypeFormat } from '../formats';
10
+ import { EntityKindSchema } from '../types';
11
11
 
12
12
  //
13
13
  // JSON Schema
@@ -54,7 +54,7 @@ export const JsonSchemaEchoAnnotations = Schema.Struct({
54
54
  /**
55
55
  * @deprecated
56
56
  */
57
- // TODO(dmaretskyi): We risk old schema not passing validation due to the extra fields. Remove when we are sure this is safe
57
+ // TODO(dmaretskyi): We risk old schema not passing validation due to the extra fields. Remove when we are sure this is safe.
58
58
  type: Schema.optional(
59
59
  Schema.Struct({
60
60
  typename: Schema.String,
@@ -206,7 +206,7 @@ const _JsonSchemaType = Schema.Struct({
206
206
  /**
207
207
  * Regex pattern for strings.
208
208
  */
209
- pattern: Schema.optional(Schema.String.pipe(FormatAnnotation.set(FormatEnum.Regex))),
209
+ pattern: Schema.optional(Schema.String.pipe(FormatAnnotation.set(TypeFormat.Regex))),
210
210
 
211
211
  /**
212
212
  * Serialized from {@link FormatAnnotationId}.
@@ -337,6 +337,7 @@ export const JsonSchemaFields = Object.keys(_JsonSchemaType.fields);
337
337
  /**
338
338
  * https://json-schema.org/draft-07/schema
339
339
  */
340
+ // TODO(burdon): Reconcile with @effect/Schema/JSONSchema
340
341
  export interface JsonSchemaType extends Schema.Schema.Type<Schema.mutable<typeof _JsonSchemaType>> {}
341
342
 
342
343
  export const JsonSchemaType: Schema.Schema<JsonSchemaType> = _JsonSchemaType.pipe(Schema.mutable);
@@ -11,22 +11,22 @@ import { type JsonProp, findAnnotation } from '@dxos/effect';
11
11
  import { ObjectId } from '@dxos/keys';
12
12
  import { log } from '@dxos/log';
13
13
 
14
- import { Type } from '../..';
15
- import { Testing, prepareAstForCompare } from '../../testing';
14
+ import { TestSchema, prepareAstForCompare } from '../../testing';
15
+ import * as Type from '../../Type';
16
16
  import {
17
- EntityKind,
18
17
  FieldLookupAnnotationId,
19
18
  GeneratorAnnotation,
20
19
  LabelAnnotation,
21
20
  PropertyMeta,
22
21
  getTypeAnnotation,
23
22
  getTypeIdentifierAnnotation,
24
- } from '../ast';
25
- import { Email, FormatAnnotation, FormatEnum } from '../formats';
23
+ } from '../annotations';
24
+ import { EchoObjectSchema } from '../entities';
25
+ import { Email, FormatAnnotation, TypeFormat } from '../formats';
26
26
  import { JsonSchemaType, getNormalizedEchoAnnotations, getSchemaProperty, setSchemaProperty } from '../json-schema';
27
- import { EchoObject } from '../object';
28
27
  import { Ref, createSchemaReference, getReferenceAst, getSchemaReference } from '../ref';
29
- import { StoredSchema } from '../schema';
28
+ import { PersistentSchema } from '../schema';
29
+ import { EntityKind } from '../types';
30
30
 
31
31
  import { toEffectSchema, toJsonSchema } from './json-schema';
32
32
 
@@ -35,7 +35,7 @@ const EXAMPLE_NAMESPACE = '@example';
35
35
  describe('effect-to-json', () => {
36
36
  test('type annotation', () => {
37
37
  const Test = Schema.Struct({ name: Schema.String }).pipe(
38
- Type.Obj({
38
+ Type.object({
39
39
  typename: 'example.com/type/Test',
40
40
  version: '0.1.0',
41
41
  }),
@@ -50,7 +50,7 @@ describe('effect-to-json', () => {
50
50
  const Test = Schema.Struct({
51
51
  name: Schema.String.pipe(PropertyMeta(EXAMPLE_NAMESPACE, meta)),
52
52
  }).pipe(
53
- Type.Obj({
53
+ Type.object({
54
54
  typename: 'example.com/type/Test',
55
55
  version: '0.1.0',
56
56
  }),
@@ -63,7 +63,7 @@ describe('effect-to-json', () => {
63
63
  const Nested = Schema.Struct({
64
64
  name: Schema.String,
65
65
  }).pipe(
66
- Type.Obj({
66
+ Type.object({
67
67
  typename: 'example.com/type/TestNested',
68
68
  version: '0.1.0',
69
69
  }),
@@ -71,7 +71,7 @@ describe('effect-to-json', () => {
71
71
  const Test = Schema.Struct({
72
72
  name: Ref(Nested),
73
73
  }).pipe(
74
- Type.Obj({
74
+ Type.object({
75
75
  typename: 'example.com/type/Test',
76
76
  version: '0.1.0',
77
77
  }),
@@ -88,7 +88,7 @@ describe('effect-to-json', () => {
88
88
  const Nested = Schema.Struct({
89
89
  name: Schema.String,
90
90
  }).pipe(
91
- Type.Obj({
91
+ Type.object({
92
92
  typename: 'example.com/type/TestNested',
93
93
  version: '0.1.0',
94
94
  }),
@@ -96,7 +96,7 @@ describe('effect-to-json', () => {
96
96
  const Test = Schema.Struct({
97
97
  name: Ref(Nested).annotations({ [FieldLookupAnnotationId]: 'name' }),
98
98
  }).pipe(
99
- Type.Obj({
99
+ Type.object({
100
100
  typename: 'example.com/type/Test',
101
101
  version: '0.1.0',
102
102
  }),
@@ -112,7 +112,7 @@ describe('effect-to-json', () => {
112
112
  const Nested = Schema.Struct({
113
113
  name: Schema.String,
114
114
  }).pipe(
115
- Type.Obj({
115
+ Type.object({
116
116
  typename: 'example.com/type/TestNested',
117
117
  version: '0.1.0',
118
118
  }),
@@ -120,7 +120,7 @@ describe('effect-to-json', () => {
120
120
  const Test = Schema.Struct({
121
121
  name: Schema.Array(Ref(Nested)),
122
122
  }).pipe(
123
- Type.Obj({
123
+ Type.object({
124
124
  typename: 'example.com/type/Test',
125
125
  version: '0.1.0',
126
126
  }),
@@ -134,7 +134,7 @@ describe('effect-to-json', () => {
134
134
  const Nested = Schema.Struct({
135
135
  name: Schema.String,
136
136
  }).pipe(
137
- Type.Obj({
137
+ Type.object({
138
138
  typename: 'example.com/type/TestNested',
139
139
  version: '0.1.0',
140
140
  }),
@@ -142,7 +142,7 @@ describe('effect-to-json', () => {
142
142
  const Test = Schema.Struct({
143
143
  name: Schema.optional(Ref(Nested)),
144
144
  }).pipe(
145
- Type.Obj({
145
+ Type.object({
146
146
  typename: 'example.com/type/Test',
147
147
  version: '0.1.0',
148
148
  }),
@@ -159,18 +159,19 @@ describe('effect-to-json', () => {
159
159
  });
160
160
 
161
161
  test('annotations', () => {
162
- const TestSchema = Schema.Struct({
162
+ const TempSchema = Schema.Struct({
163
163
  name: Schema.String.annotations({ description: 'Person name', title: 'Name' }),
164
- email: Schema.String.pipe(FormatAnnotation.set(FormatEnum.Email)).annotations({
164
+ email: Schema.String.pipe(FormatAnnotation.set(TypeFormat.Email)).annotations({
165
165
  description: 'Email address',
166
166
  }),
167
167
  }).pipe(
168
- Type.Obj({
168
+ Type.object({
169
169
  typename: 'example.com/type/Person',
170
170
  version: '0.1.0',
171
171
  }),
172
172
  );
173
- const jsonSchema = toJsonSchema(TestSchema);
173
+
174
+ const jsonSchema = toJsonSchema(TempSchema);
174
175
  expect(jsonSchema).to.deep.eq({
175
176
  $schema: 'http://json-schema.org/draft-07/schema#',
176
177
  $id: 'dxn:type:example.com/type/Person',
@@ -197,15 +198,25 @@ describe('effect-to-json', () => {
197
198
  });
198
199
 
199
200
  test('handles suspend -- Contact schema serialization', () => {
200
- const schema = toJsonSchema(Testing.Person);
201
- expect(Object.keys(schema.properties!)).toEqual(['id', 'name', 'username', 'email', 'tasks', 'address']);
201
+ const schema = toJsonSchema(TestSchema.Person);
202
+ expect(Object.keys(schema.properties!)).toEqual([
203
+ 'id',
204
+ 'name',
205
+ 'username',
206
+ 'email',
207
+ 'age',
208
+ 'tasks',
209
+ 'employer',
210
+ 'address',
211
+ 'fields',
212
+ ]);
202
213
  });
203
214
 
204
215
  test('reference property by ref', () => {
205
216
  const Organization = Schema.Struct({
206
217
  field: Schema.String,
207
218
  }).pipe(
208
- Type.Obj({
219
+ Type.object({
209
220
  typename: 'example.com/type/Organization',
210
221
  version: '0.1.0',
211
222
  }),
@@ -215,7 +226,7 @@ describe('effect-to-json', () => {
215
226
  name: Schema.String,
216
227
  organization: Ref(Organization).annotations({ description: 'Contact organization' }),
217
228
  }).pipe(
218
- Type.Obj({
229
+ Type.object({
219
230
  typename: 'example.com/type/Person',
220
231
  version: '0.1.0',
221
232
  }),
@@ -267,7 +278,7 @@ describe('effect-to-json', () => {
267
278
  const Organization = Schema.Struct({
268
279
  field: Schema.String,
269
280
  }).pipe(
270
- Type.Obj({
281
+ Type.object({
271
282
  typename: 'example.com/type/Organization',
272
283
  version: '0.1.0',
273
284
  }),
@@ -277,7 +288,7 @@ describe('effect-to-json', () => {
277
288
  name: Schema.String,
278
289
  organization: Ref(Organization).annotations({ description: 'Contact organization' }),
279
290
  }).pipe(
280
- Type.Obj({
291
+ Type.object({
281
292
  typename: 'example.com/type/Person',
282
293
  version: '0.1.0',
283
294
  }),
@@ -289,8 +300,8 @@ describe('effect-to-json', () => {
289
300
  expect(typename).to.eq(Organization.typename);
290
301
  });
291
302
 
292
- test('serialize circular schema (StoredSchema)', () => {
293
- const jsonSchema = toJsonSchema(StoredSchema);
303
+ test('serialize circular schema (PersistentSchema)', () => {
304
+ const jsonSchema = toJsonSchema(PersistentSchema);
294
305
  expect(Object.keys(jsonSchema.properties!).length).toBeGreaterThan(0);
295
306
 
296
307
  // TODO(dmaretskyi): Currently unable to deserialize.
@@ -313,7 +324,7 @@ describe('effect-to-json', () => {
313
324
 
314
325
  test('reference with title annotation', () => {
315
326
  const schema = Schema.Struct({
316
- contact: Ref(Testing.Person).annotations({ title: 'Custom Title' }),
327
+ contact: Ref(TestSchema.Person).annotations({ title: 'Custom Title' }),
317
328
  });
318
329
 
319
330
  // log.info('schema before', { ast: schema.ast });
@@ -336,13 +347,13 @@ describe('effect-to-json', () => {
336
347
  });
337
348
 
338
349
  test('relation schema', () => {
339
- const schema = Testing.HasManager;
350
+ const schema = TestSchema.EmployedBy;
340
351
  const jsonSchema = toJsonSchema(schema);
341
352
  expect(jsonSchema).toEqual({
342
- $id: 'dxn:type:example.com/type/HasManager',
353
+ $id: 'dxn:type:example.com/type/EmployedBy',
343
354
  $schema: 'http://json-schema.org/draft-07/schema#',
344
355
  entityKind: 'relation',
345
- typename: 'example.com/type/HasManager',
356
+ typename: 'example.com/type/EmployedBy',
346
357
  version: '0.1.0',
347
358
  relationSource: {
348
359
  // TODO(dmaretskyi): Should those point to specific schema version?
@@ -350,19 +361,22 @@ describe('effect-to-json', () => {
350
361
  },
351
362
  relationTarget: {
352
363
  // TODO(dmaretskyi): Should those point to specific schema version?
353
- $ref: 'dxn:type:example.com/type/Person',
364
+ $ref: 'dxn:type:example.com/type/Organization',
354
365
  },
355
366
  type: 'object',
356
367
  properties: {
357
368
  id: {
358
369
  type: 'string',
359
370
  },
371
+ role: {
372
+ type: 'string',
373
+ },
360
374
  since: {
361
375
  type: 'string',
362
376
  },
363
377
  },
364
- propertyOrder: ['since', 'id'],
365
- required: ['id'],
378
+ propertyOrder: ['role', 'since', 'id'],
379
+ required: ['role', 'id'],
366
380
  additionalProperties: false,
367
381
  });
368
382
  });
@@ -372,7 +386,7 @@ describe('effect-to-json', () => {
372
386
  id: ObjectId,
373
387
  name: Schema.String,
374
388
  }).pipe(
375
- EchoObject({
389
+ EchoObjectSchema({
376
390
  typename: 'example.com/type/Organization',
377
391
  version: '0.1.0',
378
392
  }),
@@ -482,7 +496,7 @@ describe('json-to-effect', () => {
482
496
  const Organization = Schema.Struct({
483
497
  field: Schema.String,
484
498
  }).pipe(
485
- Type.Obj({
499
+ Type.object({
486
500
  typename: 'example.com/type/Organization',
487
501
  version: '0.1.0',
488
502
  }),
@@ -498,12 +512,12 @@ describe('json-to-effect', () => {
498
512
  object: Schema.Struct({ id: Schema.String, field: Ref(Organization) }),
499
513
  echoObject: Ref(Organization),
500
514
  echoObjectArray: Schema.Array(Ref(Organization)),
501
- email: Schema.String.pipe(FormatAnnotation.set(FormatEnum.Email)),
515
+ email: Schema.String.pipe(FormatAnnotation.set(TypeFormat.Email)),
502
516
  null: Schema.Null,
503
517
  } as const;
504
518
 
505
519
  const Test = (partial ? Schema.partial(Schema.Struct(fields)) : Schema.Struct(fields)).pipe(
506
- Type.Obj({
520
+ Type.object({
507
521
  typename: 'example.com/type/Test',
508
522
  version: '0.1.0',
509
523
  }),
@@ -570,8 +584,8 @@ describe('json-to-effect', () => {
570
584
  });
571
585
 
572
586
  test('symbol annotations get compared', () => {
573
- const schema1 = Schema.String.pipe(FormatAnnotation.set(FormatEnum.Email));
574
- const schema2 = Schema.String.pipe(FormatAnnotation.set(FormatEnum.Currency));
587
+ const schema1 = Schema.String.pipe(FormatAnnotation.set(TypeFormat.Email));
588
+ const schema2 = Schema.String.pipe(FormatAnnotation.set(TypeFormat.Currency));
575
589
  expect(prepareAstForCompare(schema1.ast)).not.to.deep.eq(prepareAstForCompare(schema2.ast));
576
590
  });
577
591
 
@@ -586,7 +600,7 @@ describe('json-to-effect', () => {
586
600
  });
587
601
 
588
602
  test('relation schema roundtrip', () => {
589
- const schema = Testing.HasManager;
603
+ const schema = TestSchema.HasManager;
590
604
  const jsonSchema = toJsonSchema(schema);
591
605
  const effectSchema = toEffectSchema(jsonSchema);
592
606
  expect(prepareAstForCompare(effectSchema.ast)).to.deep.eq(prepareAstForCompare(schema.ast));
@@ -689,10 +703,8 @@ describe('json-to-effect', () => {
689
703
  });
690
704
 
691
705
  test('schema with optional referece', () => {
692
- const TestSchema = Schema.Struct({
693
- contact: Schema.optional(Ref(Testing.Person)),
694
- });
695
- const jsonSchema = toJsonSchema(TestSchema);
706
+ const TempSchema = Schema.Struct({ contact: Schema.optional(Ref(TestSchema.Person)) });
707
+ const jsonSchema = toJsonSchema(TempSchema);
696
708
  expect(jsonSchema).toMatchInlineSnapshot(`
697
709
  {
698
710
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -718,13 +730,13 @@ describe('json-to-effect', () => {
718
730
  `);
719
731
 
720
732
  const effectSchema = toEffectSchema(jsonSchema);
721
- expect(prepareAstForCompare(effectSchema.ast)).to.deep.eq(prepareAstForCompare(TestSchema.ast));
733
+ expect(prepareAstForCompare(effectSchema.ast)).to.deep.eq(prepareAstForCompare(TempSchema.ast));
722
734
  });
723
735
 
724
736
  test('object nested inside another struct', () => {
725
737
  const Contact = Schema.Struct({
726
738
  name: Schema.String,
727
- }).pipe(EchoObject({ typename: 'example.com/type/Person', version: '0.1.0' }));
739
+ }).pipe(EchoObjectSchema({ typename: 'example.com/type/Person', version: '0.1.0' }));
728
740
  const input = Schema.Struct({
729
741
  contact: Contact,
730
742
  });
@@ -776,7 +788,7 @@ describe('json-to-effect', () => {
776
788
 
777
789
  describe('reference', () => {
778
790
  test('reference annotation', () => {
779
- const schema = Ref(Testing.Person);
791
+ const schema = Ref(TestSchema.Person);
780
792
  const jsonSchema = toJsonSchema(schema);
781
793
  expect(jsonSchema).toEqual({
782
794
  $id: '/schemas/echo/ref',
@@ -792,7 +804,7 @@ describe('reference', () => {
792
804
  });
793
805
 
794
806
  test('title annotation', () => {
795
- const schema = Ref(Testing.Person).annotations({ title: 'My custom title' });
807
+ const schema = Ref(TestSchema.Person).annotations({ title: 'My custom title' });
796
808
  const jsonSchema = toJsonSchema(schema);
797
809
  expect(jsonSchema).toEqual({
798
810
  $schema: 'http://json-schema.org/draft-07/schema#',
@@ -813,7 +825,7 @@ describe('reference', () => {
813
825
  });
814
826
 
815
827
  test('description annotation', () => {
816
- const schema = Ref(Testing.Person).annotations({ description: 'My custom description' });
828
+ const schema = Ref(TestSchema.Person).annotations({ description: 'My custom description' });
817
829
  const jsonSchema = toJsonSchema(schema);
818
830
  expect(jsonSchema).toEqual({
819
831
  $schema: 'http://json-schema.org/draft-07/schema#',
@@ -837,13 +849,13 @@ describe('reference', () => {
837
849
  });
838
850
 
839
851
  test('serialize and deserialize', () => {
840
- const schema = Ref(Testing.Person);
852
+ const schema = Ref(TestSchema.Person);
841
853
  const jsonSchema = toJsonSchema(schema);
842
854
  const deserializedSchema = toEffectSchema(jsonSchema);
843
855
  const refAst = getReferenceAst(deserializedSchema.ast);
844
856
  expect(refAst).toEqual({
845
- typename: Testing.Person.typename,
846
- version: Testing.Person.version,
857
+ typename: TestSchema.Person.typename,
858
+ version: TestSchema.Person.version,
847
859
  });
848
860
  });
849
861
  });