@dxos/echo 0.8.4-main.406dc2a → 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 (600) 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 +72 -22
  81. package/dist/lib/browser/internal/index.mjs +245 -120
  82. package/dist/lib/browser/meta.json +1 -1
  83. package/dist/lib/browser/testing/index.mjs +295 -226
  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 +72 -22
  166. package/dist/lib/node-esm/internal/index.mjs +245 -120
  167. package/dist/lib/node-esm/meta.json +1 -1
  168. package/dist/lib/node-esm/testing/index.mjs +295 -226
  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} +23 -31
  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 +302 -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 +17 -0
  211. package/dist/types/src/Tag.d.ts.map +1 -0
  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 +15 -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} +10 -11
  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 +449 -275
  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/{query/tag.ts → Tag.ts} +10 -7
  379. package/src/Type.test.ts +52 -0
  380. package/src/Type.ts +361 -114
  381. package/src/index.ts +16 -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 +73 -69
  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} +31 -33
  417. package/src/internal/object/{create.ts → create-object.ts} +36 -37
  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 +43 -27
  450. package/src/internal/ref/ref-array.ts +4 -4
  451. package/src/internal/ref/ref.test.ts +9 -8
  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-HKFCK2GL.mjs +0 -175
  471. package/dist/lib/browser/chunk-HKFCK2GL.mjs.map +0 -7
  472. package/dist/lib/browser/chunk-MAAYELT7.mjs +0 -830
  473. package/dist/lib/browser/chunk-MAAYELT7.mjs.map +0 -7
  474. package/dist/lib/browser/chunk-MB6MMNFP.mjs +0 -3857
  475. package/dist/lib/browser/chunk-MB6MMNFP.mjs.map +0 -7
  476. package/dist/lib/browser/query/index.mjs +0 -15
  477. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs +0 -830
  478. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs.map +0 -7
  479. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs +0 -175
  480. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-BQRA4VLX.mjs +0 -3857
  482. package/dist/lib/node-esm/chunk-BQRA4VLX.mjs.map +0 -7
  483. package/dist/lib/node-esm/query/index.mjs +0 -15
  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 -125
  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 -455
  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 -3
  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/query/tag.d.ts +0 -17
  554. package/dist/types/src/query/tag.d.ts.map +0 -1
  555. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  556. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  557. package/dist/types/src/testing/types.d.ts +0 -113
  558. package/dist/types/src/testing/types.d.ts.map +0 -1
  559. package/src/internal/ast/annotation-helper.ts +0 -22
  560. package/src/internal/ast/annotations.ts +0 -219
  561. package/src/internal/ast/entity-kind.ts +0 -15
  562. package/src/internal/ast/index.ts +0 -8
  563. package/src/internal/ast/types.ts +0 -17
  564. package/src/internal/json/index.ts +0 -5
  565. package/src/internal/object/accessors.ts +0 -153
  566. package/src/internal/object/entity.ts +0 -248
  567. package/src/internal/object/expando.ts +0 -21
  568. package/src/internal/object/model.ts +0 -170
  569. package/src/internal/object/relation.ts +0 -24
  570. package/src/internal/object/typename.ts +0 -61
  571. package/src/internal/object/version.ts +0 -22
  572. package/src/internal/projection/index.ts +0 -5
  573. package/src/internal/proxy/reactive-object.ts +0 -108
  574. package/src/internal/query/index.ts +0 -5
  575. package/src/internal/query/query.ts +0 -23
  576. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  577. package/src/internal/schema/snapshot.ts +0 -25
  578. package/src/internal/schema/stored-schema.ts +0 -26
  579. package/src/internal/testing/index.ts +0 -6
  580. package/src/internal/testing/types.ts +0 -211
  581. package/src/internal/testing/utils.ts +0 -54
  582. package/src/internal/types/types.test.ts +0 -48
  583. package/src/internal/types/types.ts +0 -176
  584. package/src/internal/types/util.ts +0 -9
  585. package/src/query/index.ts +0 -6
  586. package/src/query/query.test.ts +0 -401
  587. package/src/query/query.ts +0 -789
  588. package/src/test/api.test.ts +0 -180
  589. package/src/testing/echo-schema.ts +0 -39
  590. package/src/testing/types.ts +0 -91
  591. /package/dist/lib/browser/{query/index.mjs.map → Annotation.mjs.map} +0 -0
  592. /package/dist/lib/{node-esm/query/index.mjs.map → browser/Database.mjs.map} +0 -0
  593. /package/dist/types/src/internal/{ast → annotations}/annotations.test.d.ts +0 -0
  594. /package/dist/types/src/internal/{json → json-schema}/annotations.d.ts +0 -0
  595. /package/dist/types/src/internal/{json → json-schema}/effect-schema.test.d.ts +0 -0
  596. /package/dist/types/src/internal/{json → json-schema}/json-schema.test.d.ts +0 -0
  597. /package/dist/types/src/internal/{projection → schema}/compose.d.ts +0 -0
  598. /package/dist/types/src/internal/{projection → schema}/compose.test.d.ts +0 -0
  599. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  600. /package/src/internal/{json → json-schema}/effect-schema.test.ts +0 -0
@@ -1,248 +0,0 @@
1
- import type * as EffectArray from 'effect/Array';
2
- import * as Schema from 'effect/Schema';
3
- import type * as Types from 'effect/Types';
4
- import { type ForeignKey, type QueryAST } from '@dxos/echo-protocol';
5
- import { DXN, ObjectId } from '@dxos/keys';
6
- import type * as Obj from '../Obj';
7
- import * as Ref from '../Ref';
8
- import type * as Type from '../Type';
9
- export interface Order<T> {
10
- '~Order': {
11
- value: T;
12
- };
13
- ast: QueryAST.Order;
14
- }
15
- export declare namespace Order {
16
- const natural: Order<any>;
17
- const property: <T>(property: keyof T & string, direction: QueryAST.OrderDirection) => Order<T>;
18
- }
19
- export interface Query<T> {
20
- '~Query': {
21
- value: T;
22
- };
23
- ast: QueryAST.Query;
24
- /**
25
- * Filter the current selection based on a filter.
26
- * @param filter - Filter to select the objects.
27
- * @returns Query for the selected objects.
28
- */
29
- select(filter: Filter<T>): Query<T>;
30
- select(props: Filter.Props<T>): Query<T>;
31
- /**
32
- * Traverse an outgoing reference.
33
- * @param key - Property path inside T that is a reference or optional reference.
34
- * @returns Query for the target of the reference.
35
- */
36
- reference<K extends RefPropKey<T>>(key: K): Query<T[K] extends Ref.Any ? Ref.Target<T[K]> : T[K] extends Ref.Any | undefined ? Ref.Target<Exclude<T[K], undefined>> : never>;
37
- /**
38
- * Find objects referencing this object.
39
- * @param target - Schema of the referencing object.
40
- * @param key - Property path inside the referencing object that is a reference.
41
- * @returns Query for the referencing objects.
42
- */
43
- referencedBy<S extends Schema.Schema.All>(target: S | string, key: RefPropKey<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
44
- /**
45
- * Find relations where this object is the source.
46
- * @returns Query for the relation objects.
47
- * @param relation - Schema of the relation.
48
- * @param predicates - Predicates to filter the relation objects.
49
- */
50
- sourceOf<S extends Schema.Schema.All>(relation: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
51
- /**
52
- * Find relations where this object is the target.
53
- * @returns Query for the relation objects.
54
- * @param relation - Schema of the relation.
55
- * @param predicates - Predicates to filter the relation objects.
56
- */
57
- targetOf<S extends Schema.Schema.All>(relation: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
58
- /**
59
- * For a query for relations, get the source objects.
60
- * @returns Query for the source objects.
61
- */
62
- source(): Query<Type.Relation.Source<T>>;
63
- /**
64
- * For a query for relations, get the target objects.
65
- * @returns Query for the target objects.
66
- */
67
- target(): Query<Type.Relation.Target<T>>;
68
- /**
69
- * Order the query results.
70
- * Orders are specified in priority order. The first order will be applied first, etc.
71
- * @param order - Order to sort the results.
72
- * @returns Query for the ordered results.
73
- */
74
- orderBy(...order: EffectArray.NonEmptyArray<Order<T>>): Query<T>;
75
- /**
76
- * Add options to a query.
77
- */
78
- options(options: QueryAST.QueryOptions): Query<T>;
79
- }
80
- interface QueryAPI {
81
- is(value: unknown): value is Query.Any;
82
- /** Construct a query from an ast. */
83
- fromAst(ast: QueryAST.Query): Query<any>;
84
- /**
85
- * Select objects based on a filter.
86
- * @param filter - Filter to select the objects.
87
- * @returns Query for the selected objects.
88
- */
89
- select<F extends Filter.Any>(filter: F): Query<Filter.Type<F>>;
90
- /**
91
- * Query for objects of a given schema.
92
- * @param schema - Schema of the objects.
93
- * @param predicates - Predicates to filter the objects.
94
- * @returns Query for the objects.
95
- *
96
- * Shorthand for: `Query.select(Filter.type(schema, predicates))`.
97
- */
98
- type<S extends Schema.Schema.All>(schema: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
99
- /**
100
- * Combine results of multiple queries.
101
- * @param queries - Queries to combine.
102
- * @returns Query for the combined results.
103
- */
104
- all<T>(...queries: Query<T>[]): Query<T>;
105
- /**
106
- * Subtract one query from another.
107
- * @param source - Query to subtract from.
108
- * @param exclude - Query to subtract.
109
- * @returns Query for the results of the source query minus the results of the exclude query.
110
- */
111
- without<T>(source: Query<T>, exclude: Query<T>): Query<T>;
112
- }
113
- export declare namespace Query {
114
- type Any = Query<any>;
115
- type Type<Q extends Any> = Q extends Query<infer T> ? T : never;
116
- type TextSearchOptions = {
117
- type?: 'full-text' | 'vector';
118
- };
119
- }
120
- export interface Filter<T> {
121
- '~Filter': {
122
- value: Types.Contravariant<T>;
123
- };
124
- ast: QueryAST.Filter;
125
- }
126
- type Intersection<Types extends readonly unknown[]> = Types extends [infer First, ...infer Rest] ? First & Intersection<Rest> : unknown;
127
- interface FilterAPI {
128
- is(value: unknown): value is Filter.Any;
129
- /** Construct a filter from an ast. */
130
- fromAst(ast: QueryAST.Filter): Filter<Obj.Any>;
131
- /**
132
- * Filter that matches all objects.
133
- */
134
- everything(): Filter<Obj.AnyProps>;
135
- /**
136
- * Filter that matches no objects.
137
- */
138
- nothing(): Filter<any>;
139
- /**
140
- * Filter by object IDs.
141
- */
142
- ids(...id: ObjectId[]): Filter<Obj.AnyProps>;
143
- /**
144
- * Filter by type.
145
- */
146
- type<S extends Schema.Schema.All>(schema: S | string, props?: Filter.Props<Schema.Schema.Type<S>>): Filter<Schema.Schema.Type<S>>;
147
- /**
148
- * Filter by non-qualified typename.
149
- */
150
- typename(typename: string): Filter<Obj.AnyProps>;
151
- /**
152
- * Filter by fully qualified type DXN.
153
- */
154
- typeDXN(dxn: DXN): Filter<Obj.AnyProps>;
155
- /**
156
- * Filter by tag.
157
- */
158
- tag(tag: string): Filter<Obj.Any>;
159
- /**
160
- * Filter by properties.
161
- */
162
- props<T>(props: Filter.Props<T>): Filter<T>;
163
- /**
164
- * Full-text or vector search.
165
- */
166
- text(text: string, options?: Query.TextSearchOptions): Filter<any>;
167
- /**
168
- * Filter by foreign keys.
169
- */
170
- foreignKeys<S extends Schema.Schema.All>(schema: S, keys: ForeignKey[]): Filter<Schema.Schema.Type<S>>;
171
- /**
172
- * Predicate for property to be equal to the provided value.
173
- */
174
- eq<T>(value: T): Filter<T>;
175
- /**
176
- * Predicate for property to be not equal to the provided value.
177
- */
178
- neq<T>(value: T): Filter<T>;
179
- /**
180
- * Predicate for property to be greater than the provided value.
181
- */
182
- gt<T>(value: T): Filter<T>;
183
- /**
184
- * Predicate for property to be greater than the provided value.
185
- */
186
- gt<T>(value: T): Filter<T>;
187
- /**
188
- * Predicate for property to be greater than or equal to the provided value.
189
- */
190
- gte<T>(value: T): Filter<T>;
191
- /**
192
- * Predicate for property to be less than the provided value.
193
- */
194
- lt<T>(value: T): Filter<T>;
195
- /**
196
- * Predicate for property to be less than or equal to the provided value.
197
- */
198
- lte<T>(value: T): Filter<T>;
199
- /**
200
- * Predicate for property to be in the provided array.
201
- * @param values - Values to check against.
202
- */
203
- in<T>(...values: T[]): Filter<T>;
204
- /**
205
- * Predicate for an array property to contain the provided value.
206
- * @param value - Value to check against.
207
- */
208
- contains<T>(value: T): Filter<readonly T[] | undefined>;
209
- /**
210
- * Predicate for property to be in the provided range.
211
- * @param from - Start of the range (inclusive).
212
- * @param to - End of the range (exclusive).
213
- */
214
- between<T>(from: T, to: T): Filter<unknown>;
215
- /**
216
- * Negate the filter.
217
- */
218
- not<F extends Filter.Any>(filter: F): Filter<Filter.Type<F>>;
219
- /**
220
- * Combine filters with a logical AND.
221
- */
222
- and<FS extends Filter.Any[]>(...filters: FS): Filter<Filter.And<FS>>;
223
- /**
224
- * Combine filters with a logical OR.
225
- */
226
- or<FS extends Filter.Any[]>(...filters: FS): Filter<Filter.Or<FS>>;
227
- }
228
- export declare namespace Filter {
229
- type Props<T> = {
230
- [K in keyof T & string]?: Filter<T[K]> | T[K];
231
- };
232
- type Any = Filter<any>;
233
- type Type<F extends Any> = F extends Filter<infer T> ? T : never;
234
- type And<FS extends readonly Any[]> = Schema.Simplify<Intersection<{
235
- [K in keyof FS]: Type<FS[K]>;
236
- }>>;
237
- type Or<FS extends readonly Any[]> = Schema.Simplify<{
238
- [K in keyof FS]: Type<FS[K]>;
239
- }[number]>;
240
- }
241
- export declare const Filter: FilterAPI;
242
- /**
243
- * All property paths inside T that are references.
244
- */
245
- type RefPropKey<T> = keyof T & string;
246
- export declare const Query: QueryAPI;
247
- export {};
248
- //# sourceMappingURL=query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/query/query.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=query.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../../../../src/query/query.test.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import * as Schema from 'effect/Schema';
2
- import * as Obj from '../Obj';
3
- import * as Type from '../Type';
4
- export declare const Tag: Type.obj<Schema.Struct<{
5
- label: typeof Schema.String;
6
- hue: Schema.optional<typeof Schema.String>;
7
- }>>;
8
- export type Tag = Schema.Schema.Type<typeof Tag>;
9
- export declare const make: (props: Obj.MakeProps<typeof Tag>) => import("@dxos/live-object").Live<Type.OfKind<import("../internal").EntityKind.Object> & {
10
- label: string;
11
- hue?: string | undefined;
12
- }>;
13
- export type TagMap = Record<string, Tag>;
14
- export declare const sortTags: ({ label: a }: Tag, { label: b }: Tag) => number;
15
- export declare const createTagList: (tags: TagMap) => Tag[];
16
- export declare const findTagByLabel: (tags: TagMap | undefined, name: string) => Tag | undefined;
17
- //# sourceMappingURL=tag.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/query/tag.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,eAAO,MAAM,GAAG;;;GASf,CAAC;AACF,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAEjD,eAAO,MAAM,IAAI,GAAI,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC;;;EAAyB,CAAC;AAE/E,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEzC,eAAO,MAAM,QAAQ,GAAI,cAAc,GAAG,EAAE,cAAc,GAAG,WAAuB,CAAC;AAErF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,GAAG,EAG7B,CAAC;AAEpB,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,KAAG,GAAG,GAAG,SAG7E,CAAC"}
@@ -1,7 +0,0 @@
1
- import type * as Schema from 'effect/Schema';
2
- import { EchoSchema } from '../internal';
3
- /**
4
- * Create a reactive mutable schema that updates when the JSON schema is updated.
5
- */
6
- export declare const createEchoSchema: (schema: Schema.Schema.AnyNoContext) => EchoSchema;
7
- //# sourceMappingURL=echo-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../src/testing/echo-schema.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,UAAU,EAAuD,MAAM,aAAa,CAAC;AAK9F;;GAEG;AAEH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,KAAG,UAmBrE,CAAC"}
@@ -1,113 +0,0 @@
1
- import * as Schema from 'effect/Schema';
2
- import { Type } from '..';
3
- export declare namespace Testing {
4
- const _Contact: Type.obj<Schema.SchemaClass<{
5
- readonly email?: string | undefined;
6
- readonly name?: string | undefined;
7
- readonly username?: string | undefined;
8
- readonly tasks?: import("../internal").Ref<Task>[] | undefined;
9
- readonly address?: {
10
- readonly city?: string | undefined;
11
- readonly state?: string | undefined;
12
- readonly zip?: string | undefined;
13
- readonly coordinates: {
14
- readonly lat?: number | undefined;
15
- readonly lng?: number | undefined;
16
- };
17
- } | undefined;
18
- }, {
19
- readonly email?: string | undefined;
20
- readonly name?: string | undefined;
21
- readonly username?: string | undefined;
22
- readonly tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
23
- readonly address?: {
24
- readonly coordinates: {
25
- readonly lat?: number | undefined;
26
- readonly lng?: number | undefined;
27
- };
28
- readonly city?: string | undefined;
29
- readonly state?: string | undefined;
30
- readonly zip?: string | undefined;
31
- } | undefined;
32
- }, never>>;
33
- export interface Contact extends Schema.Schema.Type<typeof _Contact> {
34
- }
35
- export const Contact: Schema.Schema<Contact, Schema.Schema.Encoded<typeof _Contact>, never>;
36
- const _Task: Type.obj<Schema.SchemaClass<{
37
- readonly title?: string | undefined;
38
- readonly description?: string | undefined;
39
- readonly completed?: boolean | undefined;
40
- readonly assignee?: import("../internal").Ref<Contact> | undefined;
41
- readonly previous?: import("../internal").Ref<Task> | undefined;
42
- readonly subTasks?: import("../internal").Ref<Task>[] | undefined;
43
- }, {
44
- readonly title?: string | undefined;
45
- readonly description?: string | undefined;
46
- readonly completed?: boolean | undefined;
47
- readonly assignee?: import("@dxos/echo-protocol").EncodedReference | undefined;
48
- readonly previous?: import("@dxos/echo-protocol").EncodedReference | undefined;
49
- readonly subTasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
50
- }, never>>;
51
- export interface Task extends Schema.Schema.Type<typeof _Task> {
52
- }
53
- export const Task: Schema.Schema<Task, Schema.Schema.Encoded<typeof _Task>, never>;
54
- export enum RecordType {
55
- UNDEFINED = 0,
56
- PERSONAL = 1,
57
- WORK = 2
58
- }
59
- export const Container: Type.obj<Schema.SchemaClass<{
60
- readonly records?: {
61
- readonly title?: string | undefined;
62
- readonly description?: string | undefined;
63
- readonly type?: RecordType | undefined;
64
- readonly contacts?: import("../internal").Ref<Contact>[] | undefined;
65
- }[] | undefined;
66
- readonly objects?: import("../internal").Ref<Type.Expando>[] | undefined;
67
- }, {
68
- readonly records?: {
69
- readonly title?: string | undefined;
70
- readonly description?: string | undefined;
71
- readonly type?: RecordType | undefined;
72
- readonly contacts?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
73
- }[] | undefined;
74
- readonly objects?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
75
- }, never>>;
76
- export const WorksFor: Type.relation<Schema.Struct<{
77
- since: Schema.optional<typeof Schema.String>;
78
- }>, Schema.Schema<Contact, {
79
- id: string;
80
- email?: string | undefined;
81
- name?: string | undefined;
82
- username?: string | undefined;
83
- tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
84
- address?: {
85
- readonly coordinates: {
86
- readonly lat?: number | undefined;
87
- readonly lng?: number | undefined;
88
- };
89
- readonly city?: string | undefined;
90
- readonly state?: string | undefined;
91
- readonly zip?: string | undefined;
92
- } | undefined;
93
- }, never>, Schema.Schema<Contact, {
94
- id: string;
95
- email?: string | undefined;
96
- name?: string | undefined;
97
- username?: string | undefined;
98
- tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
99
- address?: {
100
- readonly coordinates: {
101
- readonly lat?: number | undefined;
102
- readonly lng?: number | undefined;
103
- };
104
- readonly city?: string | undefined;
105
- readonly state?: string | undefined;
106
- readonly zip?: string | undefined;
107
- } | undefined;
108
- }, never>>;
109
- export interface WorksFor extends Schema.Schema.Type<typeof WorksFor> {
110
- }
111
- export {};
112
- }
113
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/testing/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAG1B,yBAAiB,OAAO,CAAC;IACvB,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoBb,CAAC;IACF,MAAM,WAAW,OAAQ,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC;KAAG;IACvE,MAAM,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,QAAQ,CAAC,EAAE,KAAK,CAAY,CAAC;IAEvG,MAAM,KAAK;;;;;;;;;;;;;;cAaV,CAAC;IACF,MAAM,WAAW,IAAK,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC;KAAG;IACjE,MAAM,CAAC,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,CAAS,CAAC;IAE3F,MAAM,MAAM,UAAU;QACpB,SAAS,IAAI;QACb,QAAQ,IAAI;QACZ,IAAI,IAAI;KACT;IAED,MAAM,CAAC,MAAM,SAAS;;;;;;;;;;;;;;;;cAoBrB,CAAC;IAEF,MAAM,CAAC,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cASpB,CAAC;IACF,MAAM,WAAW,QAAS,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC;KAAG;;CACzE"}
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import type * as Option from 'effect/Option';
6
- import type * as Schema from 'effect/Schema';
7
- import * as SchemaAST from 'effect/SchemaAST';
8
-
9
- export interface AnnotationHelper<T> {
10
- get: (schema: Schema.Schema.Any) => Option.Option<T>;
11
- set: (value: T) => <S extends Schema.Schema.Any>(schema: S) => S;
12
- }
13
-
14
- export const createAnnotationHelper = <T>(id: symbol): AnnotationHelper<T> => {
15
- return {
16
- get: (schema) => SchemaAST.getAnnotation(schema.ast, id),
17
- set:
18
- (value) =>
19
- <S extends Schema.Schema.Any>(schema: S) =>
20
- schema.annotations({ [id]: value }) as S,
21
- };
22
- };
@@ -1,219 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import * as Function from 'effect/Function';
6
- import * as Option from 'effect/Option';
7
- import * as Schema from 'effect/Schema';
8
- import * as SchemaAST from 'effect/SchemaAST';
9
-
10
- import { assertArgument } from '@dxos/invariant';
11
- import { DXN } from '@dxos/keys';
12
- import { type Primitive } from '@dxos/util';
13
-
14
- import { createAnnotationHelper } from './annotation-helper';
15
- import { EntityKind } from './entity-kind';
16
-
17
- /**
18
- * If property is optional returns the nested property, otherwise returns the property.
19
- */
20
- // TODO(wittjosiah): Is there a way to do this as a generic?
21
- export const unwrapOptional = (property: SchemaAST.PropertySignature) => {
22
- if (!property.isOptional || !SchemaAST.isUnion(property.type)) {
23
- return property;
24
- }
25
-
26
- return property.type.types[0];
27
- };
28
-
29
- /**
30
- * ECHO identifier (for a stored schema).
31
- * Must be a `dxn:echo:` URI.
32
- */
33
- export const TypeIdentifierAnnotationId = Symbol.for('@dxos/schema/annotation/TypeIdentifier');
34
-
35
- export const getTypeIdentifierAnnotation = (schema: Schema.Schema.All) =>
36
- Function.flow(
37
- SchemaAST.getAnnotation<string>(TypeIdentifierAnnotationId),
38
- Option.getOrElse(() => undefined),
39
- )(schema.ast);
40
-
41
- /**
42
- * ECHO type.
43
- */
44
- export const TypeAnnotationId = Symbol.for('@dxos/schema/annotation/Type');
45
-
46
- // TODO(burdon): Create echo-schema Format types.
47
- // TODO(burdon): Reconcile with "short" DXN.
48
- export const Typename = Schema.String.pipe(Schema.pattern(/^[a-zA-Z]\w+\.[a-zA-Z]\w{1,}\/[\w/_-]+$/));
49
- export const SchemaVersion = Schema.String.pipe(Schema.pattern(/^\d+.\d+.\d+$/));
50
-
51
- /**
52
- * Payload stored under {@link TypeAnnotationId}.
53
- */
54
- // TODO(dmaretskyi): Rename getTypeAnnotation to represent commonality between objects and relations (e.g. `entity`).
55
- export const TypeAnnotation = Schema.Struct({
56
- kind: Schema.Enums(EntityKind),
57
- typename: Typename,
58
- version: SchemaVersion,
59
-
60
- /**
61
- * If this is a relation, the schema of the source object.
62
- * Must be present if entity kind is {@link EntityKind.Relation}.
63
- */
64
- sourceSchema: Schema.optional(DXN.Schema),
65
-
66
- /**
67
- * If this is a relation, the schema of the target object.
68
- * Must be present if entity kind is {@link EntityKind.Relation}.
69
- */
70
- targetSchema: Schema.optional(DXN.Schema),
71
- });
72
-
73
- export interface TypeAnnotation extends Schema.Schema.Type<typeof TypeAnnotation> {}
74
-
75
- export type TypeMeta = Pick<TypeAnnotation, 'typename' | 'version'>;
76
-
77
- /**
78
- * @returns {@link TypeAnnotation} from a schema.
79
- * Schema must have been created with {@link TypedObject} or {@link TypedLink} or manually assigned an appropriate annotation.
80
- */
81
- export const getTypeAnnotation = (schema: Schema.Schema.All): TypeAnnotation | undefined => {
82
- assertArgument(schema != null && schema.ast != null, 'schema', 'invalid schema');
83
- return Function.flow(
84
- SchemaAST.getAnnotation<TypeAnnotation>(TypeAnnotationId),
85
- Option.getOrElse(() => undefined),
86
- )(schema.ast);
87
- };
88
-
89
- /**
90
- * @returns {@link EntityKind} from a schema.
91
- */
92
- export const getEntityKind = (schema: Schema.Schema.All): EntityKind | undefined => getTypeAnnotation(schema)?.kind;
93
-
94
- /**
95
- * @deprecated Use {@link Type.getTypename} instead.
96
- * @returns Schema typename (without dxn: prefix or version number).
97
- */
98
- export const getSchemaTypename = (schema: Schema.Schema.All): string | undefined => getTypeAnnotation(schema)?.typename;
99
-
100
- /**
101
- * @deprecated Use {@link Type.getVersion} instead.
102
- * @returns Schema version in semver format.
103
- */
104
- export const getSchemaVersion = (schema: Schema.Schema.All): string | undefined => getTypeAnnotation(schema)?.version;
105
-
106
- /**
107
- * PropertyMeta (metadata for dynamic schema properties).
108
- * For user-defined annotations.
109
- */
110
- export const PropertyMetaAnnotationId = Symbol.for('@dxos/schema/annotation/PropertyMeta');
111
-
112
- export type PropertyMetaValue = Primitive | Record<string, Primitive> | Primitive[];
113
-
114
- export type PropertyMetaAnnotation = {
115
- [name: string]: PropertyMetaValue;
116
- };
117
-
118
- export const PropertyMeta = (name: string, value: PropertyMetaValue) => {
119
- return <A, I, R>(self: Schema.Schema<A, I, R>): Schema.Schema<A, I, R> => {
120
- const existingMeta = self.ast.annotations[PropertyMetaAnnotationId] as PropertyMetaAnnotation;
121
- return self.annotations({
122
- [PropertyMetaAnnotationId]: {
123
- ...existingMeta,
124
- [name]: value,
125
- },
126
- });
127
- };
128
- };
129
-
130
- export const getPropertyMetaAnnotation = <T>(prop: SchemaAST.PropertySignature, name: string) =>
131
- Function.pipe(
132
- SchemaAST.getAnnotation<PropertyMetaAnnotation>(PropertyMetaAnnotationId)(prop.type),
133
- Option.map((meta) => meta[name] as T),
134
- Option.getOrElse(() => undefined),
135
- );
136
-
137
- /**
138
- * Schema reference.
139
- */
140
- export const ReferenceAnnotationId = Symbol.for('@dxos/schema/annotation/Reference');
141
-
142
- export type ReferenceAnnotationValue = TypeAnnotation;
143
-
144
- export const getReferenceAnnotation = (schema: Schema.Schema.AnyNoContext) =>
145
- Function.pipe(
146
- SchemaAST.getAnnotation<ReferenceAnnotationValue>(ReferenceAnnotationId)(schema.ast),
147
- Option.getOrElse(() => undefined),
148
- );
149
-
150
- /**
151
- * SchemaMeta.
152
- */
153
- export const SchemaMetaSymbol = Symbol.for('@dxos/schema/SchemaMeta');
154
-
155
- export type SchemaMeta = TypeMeta & { id: string };
156
-
157
- /**
158
- * Identifies a schema as a view.
159
- */
160
- export const ViewAnnotationId = Symbol.for('@dxos/schema/annotation/View');
161
- export const ViewAnnotation = createAnnotationHelper<boolean>(ViewAnnotationId);
162
-
163
- /**
164
- * Identifies label property or JSON path expression.
165
- * Either a string or an array of strings representing field accessors each matched in priority order.
166
- */
167
- export const LabelAnnotationId = Symbol.for('@dxos/schema/annotation/Label');
168
- export const LabelAnnotation = createAnnotationHelper<string[]>(LabelAnnotationId);
169
-
170
- /**
171
- * Identifies description property or JSON path expression.
172
- * A string representing field accessor.
173
- */
174
- export const DescriptionAnnotationId = Symbol.for('@dxos/schema/annotation/Description');
175
- export const DescriptionAnnotation = createAnnotationHelper<string>(DescriptionAnnotationId);
176
-
177
- /**
178
- * Default field to be used on referenced schema to lookup the value.
179
- */
180
- export const FieldLookupAnnotationId = Symbol.for('@dxos/schema/annotation/FieldLookup');
181
-
182
- /**
183
- * Generate test data.
184
- */
185
- export const GeneratorAnnotationId = Symbol.for('@dxos/schema/annotation/Generator');
186
-
187
- export type GeneratorAnnotationValue =
188
- | string
189
- | {
190
- generator: string;
191
- args?: any[];
192
- probability?: number;
193
- };
194
-
195
- export const GeneratorAnnotation = createAnnotationHelper<GeneratorAnnotationValue>(GeneratorAnnotationId);
196
-
197
- /**
198
- * @returns DXN of the schema.
199
- *
200
- * For non-stored schema returns `dxn:type:`.
201
- * For stored schema returns `dxn:echo:`.
202
- * @deprecated Use `Type.getDXN`.
203
- */
204
- export const getSchemaDXN = (schema: Schema.Schema.All): DXN | undefined => {
205
- assertArgument(Schema.isSchema(schema), 'schema', 'invalid schema');
206
-
207
- const id = getTypeIdentifierAnnotation(schema);
208
- if (id) {
209
- return DXN.parse(id);
210
- }
211
-
212
- // TODO(dmaretskyi): Add support for dynamic schema.
213
- const objectAnnotation = getTypeAnnotation(schema);
214
- if (!objectAnnotation) {
215
- return undefined;
216
- }
217
-
218
- return DXN.fromTypenameAndVersion(objectAnnotation.typename, objectAnnotation.version);
219
- };