@dxos/echo 0.8.4-main.67995b8 → 0.8.4-main.72ec0f3

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 (313) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/browser/chunk-BIDAASFK.mjs +3727 -0
  3. package/dist/lib/browser/chunk-BIDAASFK.mjs.map +7 -0
  4. package/dist/lib/browser/chunk-ZDLCWGEW.mjs +410 -0
  5. package/dist/lib/browser/chunk-ZDLCWGEW.mjs.map +7 -0
  6. package/dist/lib/browser/chunk-ZFRJKT4A.mjs +585 -0
  7. package/dist/lib/browser/chunk-ZFRJKT4A.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +17 -4
  9. package/dist/lib/browser/internal/index.mjs +336 -0
  10. package/dist/lib/browser/internal/index.mjs.map +7 -0
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/query/index.mjs +13 -0
  13. package/dist/lib/browser/query/index.mjs.map +7 -0
  14. package/dist/lib/browser/testing/index.mjs +231 -34
  15. package/dist/lib/browser/testing/index.mjs.map +4 -4
  16. package/dist/lib/node-esm/chunk-3SVRRCUU.mjs +3727 -0
  17. package/dist/lib/node-esm/chunk-3SVRRCUU.mjs.map +7 -0
  18. package/dist/lib/node-esm/chunk-CGDHRZWH.mjs +585 -0
  19. package/dist/lib/node-esm/chunk-CGDHRZWH.mjs.map +7 -0
  20. package/dist/lib/node-esm/chunk-HWS6VBQC.mjs +410 -0
  21. package/dist/lib/node-esm/chunk-HWS6VBQC.mjs.map +7 -0
  22. package/dist/lib/node-esm/index.mjs +17 -4
  23. package/dist/lib/node-esm/internal/index.mjs +336 -0
  24. package/dist/lib/node-esm/internal/index.mjs.map +7 -0
  25. package/dist/lib/node-esm/meta.json +1 -1
  26. package/dist/lib/node-esm/query/index.mjs +13 -0
  27. package/dist/lib/node-esm/query/index.mjs.map +7 -0
  28. package/dist/lib/node-esm/testing/index.mjs +231 -34
  29. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  30. package/dist/types/src/Obj.d.ts +127 -19
  31. package/dist/types/src/Obj.d.ts.map +1 -1
  32. package/dist/types/src/Ref.d.ts +1 -1
  33. package/dist/types/src/Ref.d.ts.map +1 -1
  34. package/dist/types/src/Relation.d.ts +11 -8
  35. package/dist/types/src/Relation.d.ts.map +1 -1
  36. package/dist/types/src/Tag.d.ts +17 -0
  37. package/dist/types/src/Tag.d.ts.map +1 -0
  38. package/dist/types/src/Type.d.ts +17 -18
  39. package/dist/types/src/Type.d.ts.map +1 -1
  40. package/dist/types/src/errors.d.ts +68 -0
  41. package/dist/types/src/errors.d.ts.map +1 -0
  42. package/dist/types/src/index.d.ts +4 -1
  43. package/dist/types/src/index.d.ts.map +1 -1
  44. package/dist/types/src/internal/ast/annotation-helper.d.ts +8 -0
  45. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +1 -0
  46. package/dist/types/src/internal/ast/annotations.d.ts +131 -0
  47. package/dist/types/src/internal/ast/annotations.d.ts.map +1 -0
  48. package/dist/types/src/internal/ast/annotations.test.d.ts +2 -0
  49. package/dist/types/src/internal/ast/annotations.test.d.ts.map +1 -0
  50. package/dist/types/src/internal/ast/entity-kind.d.ts +10 -0
  51. package/dist/types/src/internal/ast/entity-kind.d.ts.map +1 -0
  52. package/dist/types/src/internal/ast/index.d.ts +5 -0
  53. package/dist/types/src/internal/ast/index.d.ts.map +1 -0
  54. package/dist/types/src/internal/ast/types.d.ts +6 -0
  55. package/dist/types/src/internal/ast/types.d.ts.map +1 -0
  56. package/dist/types/src/internal/formats/date.d.ts +63 -0
  57. package/dist/types/src/internal/formats/date.d.ts.map +1 -0
  58. package/dist/types/src/internal/formats/date.test.d.ts +2 -0
  59. package/dist/types/src/internal/formats/date.test.d.ts.map +1 -0
  60. package/dist/types/src/internal/formats/format.d.ts +30 -0
  61. package/dist/types/src/internal/formats/format.d.ts.map +1 -0
  62. package/dist/types/src/internal/formats/format.test.d.ts +2 -0
  63. package/dist/types/src/internal/formats/format.test.d.ts.map +1 -0
  64. package/dist/types/src/internal/formats/index.d.ts +8 -0
  65. package/dist/types/src/internal/formats/index.d.ts.map +1 -0
  66. package/dist/types/src/internal/formats/number.d.ts +31 -0
  67. package/dist/types/src/internal/formats/number.d.ts.map +1 -0
  68. package/dist/types/src/internal/formats/object.d.ts +35 -0
  69. package/dist/types/src/internal/formats/object.d.ts.map +1 -0
  70. package/dist/types/src/internal/formats/select.d.ts +11 -0
  71. package/dist/types/src/internal/formats/select.d.ts.map +1 -0
  72. package/dist/types/src/internal/formats/string.d.ts +38 -0
  73. package/dist/types/src/internal/formats/string.d.ts.map +1 -0
  74. package/dist/types/src/internal/formats/types.d.ts +68 -0
  75. package/dist/types/src/internal/formats/types.d.ts.map +1 -0
  76. package/dist/types/src/internal/index.d.ts +15 -0
  77. package/dist/types/src/internal/index.d.ts.map +1 -0
  78. package/dist/types/src/internal/json/annotations.d.ts +19 -0
  79. package/dist/types/src/internal/json/annotations.d.ts.map +1 -0
  80. package/dist/types/src/internal/json/effect-schema.test.d.ts +2 -0
  81. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +1 -0
  82. package/dist/types/src/internal/json/index.d.ts +2 -0
  83. package/dist/types/src/internal/json/index.d.ts.map +1 -0
  84. package/dist/types/src/internal/json/json-schema.d.ts +28 -0
  85. package/dist/types/src/internal/json/json-schema.d.ts.map +1 -0
  86. package/dist/types/src/internal/json/json-schema.test.d.ts +2 -0
  87. package/dist/types/src/internal/json/json-schema.test.d.ts.map +1 -0
  88. package/dist/types/src/internal/json-schema/index.d.ts +3 -0
  89. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -0
  90. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts +7 -0
  91. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -0
  92. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +250 -0
  93. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -0
  94. package/dist/types/src/internal/object/accessors.d.ts +37 -0
  95. package/dist/types/src/internal/object/accessors.d.ts.map +1 -0
  96. package/dist/types/src/internal/object/common.d.ts +18 -0
  97. package/dist/types/src/internal/object/common.d.ts.map +1 -0
  98. package/dist/types/src/internal/object/create.d.ts +40 -0
  99. package/dist/types/src/internal/object/create.d.ts.map +1 -0
  100. package/dist/types/src/internal/object/create.test.d.ts +2 -0
  101. package/dist/types/src/internal/object/create.test.d.ts.map +1 -0
  102. package/dist/types/src/internal/object/deleted.d.ts +6 -0
  103. package/dist/types/src/internal/object/deleted.d.ts.map +1 -0
  104. package/dist/types/src/internal/object/entity.d.ts +33 -0
  105. package/dist/types/src/internal/object/entity.d.ts.map +1 -0
  106. package/dist/types/src/internal/object/expando.d.ts +14 -0
  107. package/dist/types/src/internal/object/expando.d.ts.map +1 -0
  108. package/dist/types/src/internal/object/ids.d.ts +6 -0
  109. package/dist/types/src/internal/object/ids.d.ts.map +1 -0
  110. package/dist/types/src/internal/object/index.d.ts +16 -0
  111. package/dist/types/src/internal/object/index.d.ts.map +1 -0
  112. package/dist/types/src/internal/object/inspect.d.ts +2 -0
  113. package/dist/types/src/internal/object/inspect.d.ts.map +1 -0
  114. package/dist/types/src/internal/object/json-serializer.d.ts +32 -0
  115. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -0
  116. package/dist/types/src/internal/object/json-serializer.test.d.ts +2 -0
  117. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +1 -0
  118. package/dist/types/src/internal/object/meta.d.ts +31 -0
  119. package/dist/types/src/internal/object/meta.d.ts.map +1 -0
  120. package/dist/types/src/internal/object/model.d.ts +117 -0
  121. package/dist/types/src/internal/object/model.d.ts.map +1 -0
  122. package/dist/types/src/internal/object/relation.d.ts +17 -0
  123. package/dist/types/src/internal/object/relation.d.ts.map +1 -0
  124. package/dist/types/src/internal/object/schema-validator.d.ts +15 -0
  125. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -0
  126. package/dist/types/src/internal/object/schema-validator.test.d.ts +2 -0
  127. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +1 -0
  128. package/dist/types/src/internal/object/typed-object.d.ts +31 -0
  129. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -0
  130. package/dist/types/src/internal/object/typed-object.test.d.ts +2 -0
  131. package/dist/types/src/internal/object/typed-object.test.d.ts.map +1 -0
  132. package/dist/types/src/internal/object/typename.d.ts +15 -0
  133. package/dist/types/src/internal/object/typename.d.ts.map +1 -0
  134. package/dist/types/src/internal/object/version.d.ts +14 -0
  135. package/dist/types/src/internal/object/version.d.ts.map +1 -0
  136. package/dist/types/src/internal/projection/compose.d.ts +6 -0
  137. package/dist/types/src/internal/projection/compose.d.ts.map +1 -0
  138. package/dist/types/src/internal/projection/compose.test.d.ts +2 -0
  139. package/dist/types/src/internal/projection/compose.test.d.ts.map +1 -0
  140. package/dist/types/src/internal/projection/index.d.ts +2 -0
  141. package/dist/types/src/internal/projection/index.d.ts.map +1 -0
  142. package/dist/types/src/internal/proxy/handler.test.d.ts +2 -0
  143. package/dist/types/src/internal/proxy/handler.test.d.ts.map +1 -0
  144. package/dist/types/src/internal/proxy/reactive-object.d.ts +15 -0
  145. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +1 -0
  146. package/dist/types/src/internal/proxy/schema.test.d.ts +2 -0
  147. package/dist/types/src/internal/proxy/schema.test.d.ts.map +1 -0
  148. package/dist/types/src/internal/proxy/typed-handler.d.ts +44 -0
  149. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -0
  150. package/dist/types/src/internal/proxy/typed-handler.test.d.ts +2 -0
  151. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +1 -0
  152. package/dist/types/src/internal/proxy/typed-object.test.d.ts +2 -0
  153. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +1 -0
  154. package/dist/types/src/internal/query/index.d.ts +2 -0
  155. package/dist/types/src/internal/query/index.d.ts.map +1 -0
  156. package/dist/types/src/internal/query/query.d.ts +17 -0
  157. package/dist/types/src/internal/query/query.d.ts.map +1 -0
  158. package/dist/types/src/internal/ref/index.d.ts +3 -0
  159. package/dist/types/src/internal/ref/index.d.ts.map +1 -0
  160. package/dist/types/src/internal/ref/ref-array.d.ts +21 -0
  161. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -0
  162. package/dist/types/src/internal/ref/ref.d.ts +206 -0
  163. package/dist/types/src/internal/ref/ref.d.ts.map +1 -0
  164. package/dist/types/src/internal/ref/ref.test.d.ts +2 -0
  165. package/dist/types/src/internal/ref/ref.test.d.ts.map +1 -0
  166. package/dist/types/src/internal/schema/echo-schema.d.ts +168 -0
  167. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -0
  168. package/dist/types/src/internal/schema/index.d.ts +7 -0
  169. package/dist/types/src/internal/schema/index.d.ts.map +1 -0
  170. package/dist/types/src/internal/schema/manipulation.d.ts +10 -0
  171. package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -0
  172. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +18 -0
  173. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +1 -0
  174. package/dist/types/src/internal/schema/snapshot.d.ts +6 -0
  175. package/dist/types/src/internal/schema/snapshot.d.ts.map +1 -0
  176. package/dist/types/src/internal/schema/stored-schema.d.ts +13 -0
  177. package/dist/types/src/internal/schema/stored-schema.d.ts.map +1 -0
  178. package/dist/types/src/internal/testing/index.d.ts +3 -0
  179. package/dist/types/src/internal/testing/index.d.ts.map +1 -0
  180. package/dist/types/src/internal/testing/types.d.ts +381 -0
  181. package/dist/types/src/internal/testing/types.d.ts.map +1 -0
  182. package/dist/types/src/internal/testing/utils.d.ts +10 -0
  183. package/dist/types/src/internal/testing/utils.d.ts.map +1 -0
  184. package/dist/types/src/internal/types/index.d.ts +3 -0
  185. package/dist/types/src/internal/types/index.d.ts.map +1 -0
  186. package/dist/types/src/internal/types/types.d.ts +79 -0
  187. package/dist/types/src/internal/types/types.d.ts.map +1 -0
  188. package/dist/types/src/internal/types/types.test.d.ts +2 -0
  189. package/dist/types/src/internal/types/types.test.d.ts.map +1 -0
  190. package/dist/types/src/internal/types/util.d.ts +5 -0
  191. package/dist/types/src/internal/types/util.d.ts.map +1 -0
  192. package/dist/types/src/query/index.d.ts +1 -1
  193. package/dist/types/src/query/index.d.ts.map +1 -1
  194. package/dist/types/src/query/{dsl.d.ts → query.d.ts} +52 -22
  195. package/dist/types/src/query/query.d.ts.map +1 -0
  196. package/dist/types/src/query/query.test.d.ts +2 -0
  197. package/dist/types/src/query/query.test.d.ts.map +1 -0
  198. package/dist/types/src/testing/echo-schema.d.ts +7 -0
  199. package/dist/types/src/testing/echo-schema.d.ts.map +1 -0
  200. package/dist/types/src/testing/index.d.ts +2 -0
  201. package/dist/types/src/testing/index.d.ts.map +1 -1
  202. package/dist/types/src/testing/types.d.ts +170 -55
  203. package/dist/types/src/testing/types.d.ts.map +1 -1
  204. package/dist/types/tsconfig.tsbuildinfo +1 -1
  205. package/package.json +40 -28
  206. package/src/Obj.ts +298 -29
  207. package/src/Ref.ts +1 -2
  208. package/src/Relation.ts +25 -13
  209. package/src/Tag.ts +39 -0
  210. package/src/Type.ts +32 -31
  211. package/src/errors.ts +18 -0
  212. package/src/index.ts +5 -1
  213. package/src/internal/ast/annotation-helper.ts +22 -0
  214. package/src/internal/ast/annotations.test.ts +98 -0
  215. package/src/internal/ast/annotations.ts +226 -0
  216. package/src/internal/ast/entity-kind.ts +15 -0
  217. package/src/internal/ast/index.ts +8 -0
  218. package/src/internal/ast/types.ts +17 -0
  219. package/src/internal/formats/date.test.ts +56 -0
  220. package/src/internal/formats/date.ts +217 -0
  221. package/src/internal/formats/format.test.ts +77 -0
  222. package/src/internal/formats/format.ts +52 -0
  223. package/src/internal/formats/index.ts +12 -0
  224. package/src/internal/formats/number.ts +89 -0
  225. package/src/internal/formats/object.ts +80 -0
  226. package/src/internal/formats/select.ts +16 -0
  227. package/src/internal/formats/string.ts +76 -0
  228. package/src/internal/formats/types.ts +175 -0
  229. package/src/internal/index.ts +22 -0
  230. package/src/internal/json/annotations.ts +50 -0
  231. package/src/internal/json/effect-schema.test.ts +143 -0
  232. package/src/internal/json/index.ts +5 -0
  233. package/src/internal/json/json-schema.test.ts +849 -0
  234. package/src/internal/json/json-schema.ts +519 -0
  235. package/src/internal/json-schema/index.ts +6 -0
  236. package/src/internal/json-schema/json-schema-normalize.ts +109 -0
  237. package/src/internal/json-schema/json-schema-type.ts +403 -0
  238. package/src/internal/object/accessors.ts +153 -0
  239. package/src/internal/object/common.ts +76 -0
  240. package/src/internal/object/create.test.ts +118 -0
  241. package/src/internal/object/create.ts +96 -0
  242. package/src/internal/object/deleted.ts +19 -0
  243. package/src/internal/object/entity.ts +248 -0
  244. package/src/internal/object/expando.ts +21 -0
  245. package/src/internal/object/ids.ts +12 -0
  246. package/src/internal/object/index.ts +19 -0
  247. package/src/internal/object/inspect.ts +48 -0
  248. package/src/internal/object/json-serializer.test.ts +99 -0
  249. package/src/internal/object/json-serializer.ts +225 -0
  250. package/src/internal/object/meta.ts +61 -0
  251. package/src/internal/object/model.ts +170 -0
  252. package/src/internal/object/relation.ts +24 -0
  253. package/src/internal/object/schema-validator.test.ts +186 -0
  254. package/src/internal/object/schema-validator.ts +241 -0
  255. package/src/internal/object/typed-object.test.ts +34 -0
  256. package/src/internal/object/typed-object.ts +88 -0
  257. package/src/internal/object/typename.ts +61 -0
  258. package/src/internal/object/version.ts +22 -0
  259. package/src/internal/projection/compose.test.ts +43 -0
  260. package/src/internal/projection/compose.ts +36 -0
  261. package/src/internal/projection/index.ts +5 -0
  262. package/src/internal/proxy/handler.test.ts +163 -0
  263. package/src/internal/proxy/reactive-object.ts +108 -0
  264. package/src/internal/proxy/schema.test.ts +136 -0
  265. package/src/internal/proxy/typed-handler.test.ts +102 -0
  266. package/src/internal/proxy/typed-handler.ts +228 -0
  267. package/src/internal/proxy/typed-object.test.ts +100 -0
  268. package/src/internal/query/index.ts +5 -0
  269. package/src/internal/query/query.ts +23 -0
  270. package/src/internal/ref/index.ts +6 -0
  271. package/src/internal/ref/ref-array.ts +39 -0
  272. package/src/internal/ref/ref.test.ts +100 -0
  273. package/src/internal/ref/ref.ts +521 -0
  274. package/src/internal/schema/echo-schema.ts +383 -0
  275. package/src/internal/schema/index.ts +10 -0
  276. package/src/internal/schema/manipulation.ts +92 -0
  277. package/src/internal/schema/runtime-schema-registry.ts +78 -0
  278. package/src/internal/schema/snapshot.ts +25 -0
  279. package/src/internal/schema/stored-schema.ts +26 -0
  280. package/src/internal/testing/index.ts +6 -0
  281. package/src/internal/testing/types.ts +144 -0
  282. package/src/internal/testing/utils.ts +54 -0
  283. package/src/internal/types/index.ts +6 -0
  284. package/src/internal/types/types.test.ts +48 -0
  285. package/src/internal/types/types.ts +176 -0
  286. package/src/internal/types/util.ts +9 -0
  287. package/src/query/index.ts +2 -1
  288. package/src/query/query.test.ts +401 -0
  289. package/src/query/{dsl.ts → query.ts} +188 -45
  290. package/src/test/api.test.ts +17 -10
  291. package/src/testing/echo-schema.ts +39 -0
  292. package/src/testing/index.ts +2 -0
  293. package/src/testing/types.ts +40 -23
  294. package/dist/lib/browser/chunk-EUA7CM23.mjs +0 -619
  295. package/dist/lib/browser/chunk-EUA7CM23.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-IV6BWGHK.mjs +0 -619
  297. package/dist/lib/node-esm/chunk-IV6BWGHK.mjs.map +0 -7
  298. package/dist/types/src/experimental/database.d.ts +0 -8
  299. package/dist/types/src/experimental/database.d.ts.map +0 -1
  300. package/dist/types/src/experimental/index.d.ts +0 -1
  301. package/dist/types/src/experimental/index.d.ts.map +0 -1
  302. package/dist/types/src/experimental/queue.d.ts +0 -8
  303. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  304. package/dist/types/src/experimental/space.d.ts +0 -8
  305. package/dist/types/src/experimental/space.d.ts.map +0 -1
  306. package/dist/types/src/query/dsl.d.ts.map +0 -1
  307. package/dist/types/src/query/dsl.test.d.ts +0 -2
  308. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  309. package/src/experimental/database.ts +0 -11
  310. package/src/experimental/index.ts +0 -7
  311. package/src/experimental/queue.ts +0 -11
  312. package/src/experimental/space.ts +0 -11
  313. package/src/query/dsl.test.ts +0 -323
@@ -1,619 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- var __defProp = Object.defineProperty;
3
- var __export = (target, all) => {
4
- for (var name in all)
5
- __defProp(target, name, { get: all[name], enumerable: true });
6
- };
7
-
8
- // src/Key.ts
9
- var Key_exports = {};
10
- __export(Key_exports, {
11
- ObjectId: () => ObjectId,
12
- SpaceId: () => SpaceId
13
- });
14
- import { SpaceId, ObjectId } from "@dxos/keys";
15
-
16
- // src/Obj.ts
17
- var Obj_exports = {};
18
- __export(Obj_exports, {
19
- fromJSON: () => fromJSON,
20
- getDXN: () => getDXN,
21
- getLabel: () => getLabel2,
22
- getMeta: () => getMeta2,
23
- getSchema: () => getSchema2,
24
- getTypeDXN: () => getTypeDXN,
25
- getTypename: () => getTypename,
26
- instanceOf: () => instanceOf,
27
- isDeleted: () => isDeleted2,
28
- isObject: () => isObject,
29
- make: () => make,
30
- toJSON: () => toJSON
31
- });
32
- import { Schema } from "effect";
33
- import * as EchoSchema from "@dxos/echo-schema";
34
- import { assertArgument, invariant } from "@dxos/invariant";
35
- import { live } from "@dxos/live-object";
36
- import { assumeType } from "@dxos/util";
37
- var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo/src/Obj.ts";
38
- var make = (schema, props, meta) => {
39
- assertArgument(EchoSchema.getTypeAnnotation(schema)?.kind === EchoSchema.EntityKind.Object, "Expected an object schema");
40
- if (props[EchoSchema.MetaId] != null) {
41
- meta = props[EchoSchema.MetaId];
42
- delete props[EchoSchema.MetaId];
43
- }
44
- return live(schema, props, meta);
45
- };
46
- var isObject = (obj) => {
47
- assumeType(obj);
48
- return typeof obj === "object" && obj !== null && obj[EchoSchema.EntityKindId] === EchoSchema.EntityKind.Object;
49
- };
50
- var instanceOf = (...args) => {
51
- if (args.length === 1) {
52
- return (obj) => EchoSchema.isInstanceOf(args[0], obj);
53
- }
54
- return EchoSchema.isInstanceOf(args[0], args[1]);
55
- };
56
- var getSchema2 = EchoSchema.getSchema;
57
- var getDXN = (obj) => {
58
- assertArgument(!Schema.isSchema(obj), "Object should not be a schema.");
59
- const dxn = EchoSchema.getObjectDXN(obj);
60
- invariant(dxn != null, "Invalid object.", {
61
- F: __dxlog_file,
62
- L: 96,
63
- S: void 0,
64
- A: [
65
- "dxn != null",
66
- "'Invalid object.'"
67
- ]
68
- });
69
- return dxn;
70
- };
71
- var getTypeDXN = EchoSchema.getType;
72
- var getTypename = (obj) => {
73
- const schema = getSchema2(obj);
74
- if (schema == null) {
75
- return EchoSchema.getType(obj)?.asTypeDXN()?.type;
76
- }
77
- return EchoSchema.getSchemaTypename(schema);
78
- };
79
- var getMeta2 = (obj) => {
80
- const meta = EchoSchema.getMeta(obj);
81
- invariant(meta != null, "Invalid object.", {
82
- F: __dxlog_file,
83
- L: 124,
84
- S: void 0,
85
- A: [
86
- "meta != null",
87
- "'Invalid object.'"
88
- ]
89
- });
90
- return meta;
91
- };
92
- var isDeleted2 = (obj) => {
93
- const deleted = EchoSchema.isDeleted(obj);
94
- invariant(typeof deleted === "boolean", "Invalid object.", {
95
- F: __dxlog_file,
96
- L: 131,
97
- S: void 0,
98
- A: [
99
- "typeof deleted === 'boolean'",
100
- "'Invalid object.'"
101
- ]
102
- });
103
- return deleted;
104
- };
105
- var getLabel2 = (obj) => {
106
- const schema = getSchema2(obj);
107
- if (schema != null) {
108
- return EchoSchema.getLabel(schema, obj);
109
- }
110
- };
111
- var toJSON = (obj) => EchoSchema.objectToJSON(obj);
112
- var fromJSON = EchoSchema.objectFromJSON;
113
-
114
- // src/Ref.ts
115
- var Ref_exports = {};
116
- __export(Ref_exports, {
117
- Array: () => Array2,
118
- fromDXN: () => fromDXN,
119
- isRef: () => isRef,
120
- make: () => make2
121
- });
122
- import * as EchoSchema2 from "@dxos/echo-schema";
123
- var Array2 = EchoSchema2.RefArray;
124
- var isRef = EchoSchema2.Ref.isRef;
125
- var make2 = EchoSchema2.Ref.make;
126
- var fromDXN = EchoSchema2.Ref.fromDXN;
127
-
128
- // src/Relation.ts
129
- var Relation_exports = {};
130
- __export(Relation_exports, {
131
- Source: () => Source,
132
- Target: () => Target,
133
- getSource: () => getSource,
134
- getSourceDXN: () => getSourceDXN,
135
- getTarget: () => getTarget,
136
- getTargetDXN: () => getTargetDXN,
137
- isRelation: () => isRelation,
138
- make: () => make3
139
- });
140
- import { raise } from "@dxos/debug";
141
- import * as EchoSchema3 from "@dxos/echo-schema";
142
- import { assertArgument as assertArgument2, invariant as invariant2 } from "@dxos/invariant";
143
- import { DXN } from "@dxos/keys";
144
- import { live as live2 } from "@dxos/live-object";
145
- import { assumeType as assumeType2 } from "@dxos/util";
146
- var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo/src/Relation.ts";
147
- var Source = EchoSchema3.RelationSourceId;
148
- var Target = EchoSchema3.RelationTargetId;
149
- var make3 = (schema, props, meta) => {
150
- assertArgument2(EchoSchema3.getTypeAnnotation(schema)?.kind === EchoSchema3.EntityKind.Relation, "Expected a relation schema");
151
- if (props[EchoSchema3.MetaId] != null) {
152
- meta = props[EchoSchema3.MetaId];
153
- delete props[EchoSchema3.MetaId];
154
- }
155
- const sourceDXN = EchoSchema3.getObjectDXN(props[Source]) ?? raise(new Error("Unresolved relation source"));
156
- const targetDXN = EchoSchema3.getObjectDXN(props[Target]) ?? raise(new Error("Unresolved relation target"));
157
- props[EchoSchema3.RelationSourceDXNId] = sourceDXN;
158
- props[EchoSchema3.RelationTargetDXNId] = targetDXN;
159
- return live2(schema, props, meta);
160
- };
161
- var isRelation = (value) => {
162
- if (typeof value !== "object" || value === null) {
163
- return false;
164
- }
165
- if (EchoSchema3.ATTR_RELATION_SOURCE in value || EchoSchema3.ATTR_RELATION_TARGET in value) {
166
- return true;
167
- }
168
- const kind = value[EchoSchema3.EntityKindId];
169
- return kind === EchoSchema3.EntityKind.Relation;
170
- };
171
- var getSourceDXN = (value) => {
172
- assertArgument2(isRelation(value), "Expected a relation");
173
- assumeType2(value);
174
- const dxn = value[EchoSchema3.RelationSourceDXNId];
175
- invariant2(dxn instanceof DXN, void 0, {
176
- F: __dxlog_file2,
177
- L: 98,
178
- S: void 0,
179
- A: [
180
- "dxn instanceof DXN",
181
- ""
182
- ]
183
- });
184
- return dxn;
185
- };
186
- var getTargetDXN = (value) => {
187
- assertArgument2(isRelation(value), "Expected a relation");
188
- assumeType2(value);
189
- const dxn = value[EchoSchema3.RelationTargetDXNId];
190
- invariant2(dxn instanceof DXN, void 0, {
191
- F: __dxlog_file2,
192
- L: 110,
193
- S: void 0,
194
- A: [
195
- "dxn instanceof DXN",
196
- ""
197
- ]
198
- });
199
- return dxn;
200
- };
201
- var getSource = (relation) => {
202
- assertArgument2(isRelation(relation), "Expected a relation");
203
- assumeType2(relation);
204
- const obj = relation[EchoSchema3.RelationSourceId];
205
- invariant2(obj !== void 0, `Invalid source: ${relation.id}`, {
206
- F: __dxlog_file2,
207
- L: 122,
208
- S: void 0,
209
- A: [
210
- "obj !== undefined",
211
- "`Invalid source: ${relation.id}`"
212
- ]
213
- });
214
- return obj;
215
- };
216
- var getTarget = (relation) => {
217
- assertArgument2(isRelation(relation), "Expected a relation");
218
- assumeType2(relation);
219
- const obj = relation[EchoSchema3.RelationTargetId];
220
- invariant2(obj !== void 0, `Invalid target: ${relation.id}`, {
221
- F: __dxlog_file2,
222
- L: 134,
223
- S: void 0,
224
- A: [
225
- "obj !== undefined",
226
- "`Invalid target: ${relation.id}`"
227
- ]
228
- });
229
- return obj;
230
- };
231
-
232
- // src/Type.ts
233
- var Type_exports = {};
234
- __export(Type_exports, {
235
- DXN: () => DXN2,
236
- Expando: () => Expando2,
237
- Format: () => Format,
238
- JsonSchema: () => JsonSchemaType,
239
- Kind: () => Kind,
240
- KindId: () => KindId,
241
- Obj: () => Obj,
242
- ObjectId: () => ObjectId2,
243
- Ref: () => Ref3,
244
- Relation: () => Relation,
245
- SpaceId: () => SpaceId2,
246
- getDXN: () => getDXN2,
247
- getMeta: () => getMeta3,
248
- getTypename: () => getTypename2,
249
- getVersion: () => getVersion,
250
- isMutable: () => isMutable2,
251
- toEffectSchema: () => toEffectSchema,
252
- toJsonSchema: () => toJsonSchema
253
- });
254
- import * as EchoSchema4 from "@dxos/echo-schema";
255
- import { invariant as invariant3 } from "@dxos/invariant";
256
- import { SpaceId as SpaceId2, ObjectId as ObjectId2, DXN as DXN2 } from "@dxos/keys";
257
- import { Format, JsonSchemaType, toEffectSchema, toJsonSchema } from "@dxos/echo-schema";
258
- var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo/src/Type.ts";
259
- var KindId = EchoSchema4.EntityKindId;
260
- var Kind = EchoSchema4.EntityKind;
261
- var Obj = EchoSchema4.EchoObject;
262
- var Expando2 = EchoSchema4.Expando;
263
- var Relation = EchoSchema4.EchoRelation;
264
- var Ref3 = EchoSchema4.Ref;
265
- var getDXN2 = (schema) => {
266
- return EchoSchema4.getSchemaDXN(schema);
267
- };
268
- var getTypename2 = (schema) => {
269
- const typename = EchoSchema4.getSchemaTypename(schema);
270
- invariant3(typeof typename === "string" && !typename.startsWith("dxn:"), "Invalid typename", {
271
- F: __dxlog_file3,
272
- L: 210,
273
- S: void 0,
274
- A: [
275
- "typeof typename === 'string' && !typename.startsWith('dxn:')",
276
- "'Invalid typename'"
277
- ]
278
- });
279
- return typename;
280
- };
281
- var getVersion = (schema) => {
282
- const version = EchoSchema4.getSchemaVersion(schema);
283
- invariant3(typeof version === "string" && version.match(/^\d+\.\d+\.\d+$/), "Invalid version", {
284
- F: __dxlog_file3,
285
- L: 220,
286
- S: void 0,
287
- A: [
288
- "typeof version === 'string' && version.match(/^\\d+\\.\\d+\\.\\d+$/)",
289
- "'Invalid version'"
290
- ]
291
- });
292
- return version;
293
- };
294
- var isMutable2 = EchoSchema4.isMutable;
295
- var getMeta3 = (schema) => {
296
- return EchoSchema4.getTypeAnnotation(schema);
297
- };
298
-
299
- // src/index.ts
300
- import { DXN as DXN4 } from "@dxos/keys";
301
-
302
- // src/query/dsl.ts
303
- import { Schema as Schema2 } from "effect";
304
- import { raise as raise2 } from "@dxos/debug";
305
- import { getTypeReference } from "@dxos/echo-schema";
306
- import { assertArgument as assertArgument3 } from "@dxos/invariant";
307
- import { DXN as DXN3, ObjectId as ObjectId3 } from "@dxos/keys";
308
- var FilterClass = class _FilterClass {
309
- static {
310
- this.variance = {};
311
- }
312
- static is(value) {
313
- return typeof value === "object" && value !== null && "~Filter" in value;
314
- }
315
- static everything() {
316
- return new _FilterClass({
317
- type: "object",
318
- typename: null,
319
- props: {}
320
- });
321
- }
322
- static nothing() {
323
- return new _FilterClass({
324
- type: "not",
325
- filter: {
326
- type: "object",
327
- typename: null,
328
- props: {}
329
- }
330
- });
331
- }
332
- static relation() {
333
- return new _FilterClass({
334
- type: "object",
335
- typename: null,
336
- props: {}
337
- });
338
- }
339
- static ids(...ids) {
340
- assertArgument3(ids.every((id) => ObjectId3.isValid(id)), "ids must be valid");
341
- if (ids.length === 0) {
342
- return Filter.nothing();
343
- }
344
- return new _FilterClass({
345
- type: "object",
346
- typename: null,
347
- id: ids,
348
- props: {}
349
- });
350
- }
351
- static type(schema, props) {
352
- const dxn = getTypeReference(schema)?.toDXN() ?? raise2(new TypeError("Schema has no DXN"));
353
- return new _FilterClass({
354
- type: "object",
355
- typename: dxn.toString(),
356
- ...propsFilterToAst(props ?? {})
357
- });
358
- }
359
- static typename(typename) {
360
- assertArgument3(!typename.startsWith("dxn:"), "Typename must no be qualified");
361
- return new _FilterClass({
362
- type: "object",
363
- typename: DXN3.fromTypename(typename).toString(),
364
- props: {}
365
- });
366
- }
367
- static typeDXN(dxn) {
368
- return new _FilterClass({
369
- type: "object",
370
- typename: dxn.toString(),
371
- props: {}
372
- });
373
- }
374
- /**
375
- * @internal
376
- */
377
- static _props(props) {
378
- return new _FilterClass({
379
- type: "object",
380
- typename: null,
381
- ...propsFilterToAst(props)
382
- });
383
- }
384
- static text(text, options) {
385
- return new _FilterClass({
386
- type: "text-search",
387
- text,
388
- searchKind: options?.type
389
- });
390
- }
391
- static foreignKeys(schema, keys) {
392
- const dxn = getTypeReference(schema)?.toDXN() ?? raise2(new TypeError("Schema has no DXN"));
393
- return new _FilterClass({
394
- type: "object",
395
- typename: dxn.toString(),
396
- props: {},
397
- foreignKeys: keys
398
- });
399
- }
400
- static eq(value) {
401
- if (!isRef(value) && typeof value === "object" && value !== null) {
402
- throw new TypeError("Cannot use object as a value for eq filter");
403
- }
404
- return new _FilterClass({
405
- type: "compare",
406
- operator: "eq",
407
- value: isRef(value) ? value.noInline().encode() : value
408
- });
409
- }
410
- static neq(value) {
411
- return new _FilterClass({
412
- type: "compare",
413
- operator: "neq",
414
- value
415
- });
416
- }
417
- static gt(value) {
418
- return new _FilterClass({
419
- type: "compare",
420
- operator: "gt",
421
- value
422
- });
423
- }
424
- static gte(value) {
425
- return new _FilterClass({
426
- type: "compare",
427
- operator: "gte",
428
- value
429
- });
430
- }
431
- static lt(value) {
432
- return new _FilterClass({
433
- type: "compare",
434
- operator: "lt",
435
- value
436
- });
437
- }
438
- static lte(value) {
439
- return new _FilterClass({
440
- type: "compare",
441
- operator: "lte",
442
- value
443
- });
444
- }
445
- static in(...values) {
446
- return new _FilterClass({
447
- type: "in",
448
- values
449
- });
450
- }
451
- static between(from, to) {
452
- return new _FilterClass({
453
- type: "range",
454
- from,
455
- to
456
- });
457
- }
458
- static not(filter) {
459
- return new _FilterClass({
460
- type: "not",
461
- filter: filter.ast
462
- });
463
- }
464
- static and(...filters) {
465
- return new _FilterClass({
466
- type: "and",
467
- filters: filters.map((f) => f.ast)
468
- });
469
- }
470
- static or(...filters) {
471
- return new _FilterClass({
472
- type: "or",
473
- filters: filters.map((f) => f.ast)
474
- });
475
- }
476
- constructor(ast) {
477
- this.ast = ast;
478
- this["~Filter"] = _FilterClass.variance;
479
- }
480
- };
481
- var Filter = FilterClass;
482
- var propsFilterToAst = (predicates) => {
483
- let idFilter;
484
- if ("id" in predicates) {
485
- assertArgument3(typeof predicates.id === "string" || Array.isArray(predicates.id), "invalid id filter");
486
- idFilter = typeof predicates.id === "string" ? [
487
- predicates.id
488
- ] : predicates.id;
489
- Schema2.Array(ObjectId3).pipe(Schema2.validateSync)(idFilter);
490
- }
491
- return {
492
- id: idFilter,
493
- props: Object.fromEntries(Object.entries(predicates).filter(([prop, _value]) => prop !== "id").map(([prop, predicate]) => [
494
- prop,
495
- Filter.is(predicate) ? predicate.ast : Filter.eq(predicate).ast
496
- ]))
497
- };
498
- };
499
- var QueryClass = class _QueryClass {
500
- static {
501
- this.variance = {};
502
- }
503
- static is(value) {
504
- return typeof value === "object" && value !== null && "~Query" in value;
505
- }
506
- static select(filter) {
507
- return new _QueryClass({
508
- type: "select",
509
- filter: filter.ast
510
- });
511
- }
512
- static type(schema, predicates) {
513
- return new _QueryClass({
514
- type: "select",
515
- filter: FilterClass.type(schema, predicates).ast
516
- });
517
- }
518
- static all(...queries) {
519
- if (queries.length === 0) {
520
- throw new TypeError("Query.all combines results of multiple queries, to query all objects use Query.select(Filter.everything())");
521
- }
522
- return new _QueryClass({
523
- type: "union",
524
- queries: queries.map((q) => q.ast)
525
- });
526
- }
527
- static without(source, exclude) {
528
- return new _QueryClass({
529
- type: "set-difference",
530
- source: source.ast,
531
- exclude: exclude.ast
532
- });
533
- }
534
- constructor(ast) {
535
- this.ast = ast;
536
- this["~Query"] = _QueryClass.variance;
537
- }
538
- select(filter) {
539
- if (Filter.is(filter)) {
540
- return new _QueryClass({
541
- type: "filter",
542
- selection: this.ast,
543
- filter: filter.ast
544
- });
545
- } else {
546
- return new _QueryClass({
547
- type: "filter",
548
- selection: this.ast,
549
- filter: FilterClass._props(filter).ast
550
- });
551
- }
552
- }
553
- reference(key) {
554
- return new _QueryClass({
555
- type: "reference-traversal",
556
- anchor: this.ast,
557
- property: key
558
- });
559
- }
560
- referencedBy(target, key) {
561
- const dxn = getTypeReference(target)?.toDXN() ?? raise2(new TypeError("Target schema has no DXN"));
562
- return new _QueryClass({
563
- type: "incoming-references",
564
- anchor: this.ast,
565
- property: key,
566
- typename: dxn.toString()
567
- });
568
- }
569
- sourceOf(relation, predicates) {
570
- return new _QueryClass({
571
- type: "relation",
572
- anchor: this.ast,
573
- direction: "outgoing",
574
- filter: FilterClass.type(relation, predicates).ast
575
- });
576
- }
577
- targetOf(relation, predicates) {
578
- return new _QueryClass({
579
- type: "relation",
580
- anchor: this.ast,
581
- direction: "incoming",
582
- filter: FilterClass.type(relation, predicates).ast
583
- });
584
- }
585
- source() {
586
- return new _QueryClass({
587
- type: "relation-traversal",
588
- anchor: this.ast,
589
- direction: "source"
590
- });
591
- }
592
- target() {
593
- return new _QueryClass({
594
- type: "relation-traversal",
595
- anchor: this.ast,
596
- direction: "target"
597
- });
598
- }
599
- options(options) {
600
- return new _QueryClass({
601
- type: "options",
602
- query: this.ast,
603
- options
604
- });
605
- }
606
- };
607
- var Query = QueryClass;
608
-
609
- export {
610
- Key_exports,
611
- Obj_exports,
612
- Ref_exports,
613
- Relation_exports,
614
- Type_exports,
615
- Filter,
616
- Query,
617
- DXN4 as DXN
618
- };
619
- //# sourceMappingURL=chunk-IV6BWGHK.mjs.map