@dxos/echo 0.8.4-main.fd6878d → 0.8.4-main.fffef41

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