@dxos/echo 0.8.4-main.a4bbb77 → 0.8.4-main.ae835ea

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 (307) hide show
  1. package/dist/lib/browser/chunk-JUTFUT73.mjs +175 -0
  2. package/dist/lib/browser/chunk-JUTFUT73.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-KEBVBR65.mjs +3727 -0
  4. package/dist/lib/browser/chunk-KEBVBR65.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-I4YEWYJA.mjs → chunk-WO76TDT6.mjs} +572 -640
  6. package/dist/lib/browser/chunk-WO76TDT6.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +12 -7
  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 +15 -0
  12. package/dist/lib/browser/query/index.mjs.map +7 -0
  13. package/dist/lib/browser/testing/index.mjs +245 -32
  14. package/dist/lib/browser/testing/index.mjs.map +4 -4
  15. package/dist/lib/node-esm/chunk-DWZYQ2UR.mjs +3727 -0
  16. package/dist/lib/node-esm/chunk-DWZYQ2UR.mjs.map +7 -0
  17. package/dist/lib/node-esm/chunk-KBD3A2I6.mjs +175 -0
  18. package/dist/lib/node-esm/chunk-KBD3A2I6.mjs.map +7 -0
  19. package/dist/lib/node-esm/{chunk-AWWFAF75.mjs → chunk-ZSSII3JW.mjs} +572 -640
  20. package/dist/lib/node-esm/chunk-ZSSII3JW.mjs.map +7 -0
  21. package/dist/lib/node-esm/index.mjs +12 -7
  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 +15 -0
  26. package/dist/lib/node-esm/query/index.mjs.map +7 -0
  27. package/dist/lib/node-esm/testing/index.mjs +245 -32
  28. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  29. package/dist/types/src/Obj.d.ts +16 -4
  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 +2 -2
  34. package/dist/types/src/Relation.d.ts.map +1 -1
  35. package/dist/types/src/Type.d.ts +16 -17
  36. package/dist/types/src/Type.d.ts.map +1 -1
  37. package/dist/types/src/index.d.ts +2 -2
  38. package/dist/types/src/index.d.ts.map +1 -1
  39. package/dist/types/src/internal/ast/annotation-helper.d.ts +8 -0
  40. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +1 -0
  41. package/dist/types/src/internal/ast/annotations.d.ts +131 -0
  42. package/dist/types/src/internal/ast/annotations.d.ts.map +1 -0
  43. package/dist/types/src/internal/ast/annotations.test.d.ts +2 -0
  44. package/dist/types/src/internal/ast/annotations.test.d.ts.map +1 -0
  45. package/dist/types/src/internal/ast/entity-kind.d.ts +10 -0
  46. package/dist/types/src/internal/ast/entity-kind.d.ts.map +1 -0
  47. package/dist/types/src/internal/ast/index.d.ts +5 -0
  48. package/dist/types/src/internal/ast/index.d.ts.map +1 -0
  49. package/dist/types/src/internal/ast/types.d.ts +6 -0
  50. package/dist/types/src/internal/ast/types.d.ts.map +1 -0
  51. package/dist/types/src/internal/formats/date.d.ts +63 -0
  52. package/dist/types/src/internal/formats/date.d.ts.map +1 -0
  53. package/dist/types/src/internal/formats/date.test.d.ts +2 -0
  54. package/dist/types/src/internal/formats/date.test.d.ts.map +1 -0
  55. package/dist/types/src/internal/formats/format.d.ts +30 -0
  56. package/dist/types/src/internal/formats/format.d.ts.map +1 -0
  57. package/dist/types/src/internal/formats/format.test.d.ts +2 -0
  58. package/dist/types/src/internal/formats/format.test.d.ts.map +1 -0
  59. package/dist/types/src/internal/formats/index.d.ts +8 -0
  60. package/dist/types/src/internal/formats/index.d.ts.map +1 -0
  61. package/dist/types/src/internal/formats/number.d.ts +31 -0
  62. package/dist/types/src/internal/formats/number.d.ts.map +1 -0
  63. package/dist/types/src/internal/formats/object.d.ts +35 -0
  64. package/dist/types/src/internal/formats/object.d.ts.map +1 -0
  65. package/dist/types/src/internal/formats/select.d.ts +11 -0
  66. package/dist/types/src/internal/formats/select.d.ts.map +1 -0
  67. package/dist/types/src/internal/formats/string.d.ts +38 -0
  68. package/dist/types/src/internal/formats/string.d.ts.map +1 -0
  69. package/dist/types/src/internal/formats/types.d.ts +68 -0
  70. package/dist/types/src/internal/formats/types.d.ts.map +1 -0
  71. package/dist/types/src/internal/index.d.ts +15 -0
  72. package/dist/types/src/internal/index.d.ts.map +1 -0
  73. package/dist/types/src/internal/json/annotations.d.ts +19 -0
  74. package/dist/types/src/internal/json/annotations.d.ts.map +1 -0
  75. package/dist/types/src/internal/json/effect-schema.test.d.ts +2 -0
  76. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +1 -0
  77. package/dist/types/src/internal/json/index.d.ts +2 -0
  78. package/dist/types/src/internal/json/index.d.ts.map +1 -0
  79. package/dist/types/src/internal/json/json-schema.d.ts +28 -0
  80. package/dist/types/src/internal/json/json-schema.d.ts.map +1 -0
  81. package/dist/types/src/internal/json/json-schema.test.d.ts +2 -0
  82. package/dist/types/src/internal/json/json-schema.test.d.ts.map +1 -0
  83. package/dist/types/src/internal/json-schema/index.d.ts +3 -0
  84. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -0
  85. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts +7 -0
  86. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -0
  87. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +250 -0
  88. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -0
  89. package/dist/types/src/internal/object/accessors.d.ts +37 -0
  90. package/dist/types/src/internal/object/accessors.d.ts.map +1 -0
  91. package/dist/types/src/internal/object/common.d.ts +18 -0
  92. package/dist/types/src/internal/object/common.d.ts.map +1 -0
  93. package/dist/types/src/internal/object/create.d.ts +40 -0
  94. package/dist/types/src/internal/object/create.d.ts.map +1 -0
  95. package/dist/types/src/internal/object/create.test.d.ts +2 -0
  96. package/dist/types/src/internal/object/create.test.d.ts.map +1 -0
  97. package/dist/types/src/internal/object/deleted.d.ts +6 -0
  98. package/dist/types/src/internal/object/deleted.d.ts.map +1 -0
  99. package/dist/types/src/internal/object/entity.d.ts +33 -0
  100. package/dist/types/src/internal/object/entity.d.ts.map +1 -0
  101. package/dist/types/src/internal/object/expando.d.ts +14 -0
  102. package/dist/types/src/internal/object/expando.d.ts.map +1 -0
  103. package/dist/types/src/internal/object/ids.d.ts +6 -0
  104. package/dist/types/src/internal/object/ids.d.ts.map +1 -0
  105. package/dist/types/src/internal/object/index.d.ts +16 -0
  106. package/dist/types/src/internal/object/index.d.ts.map +1 -0
  107. package/dist/types/src/internal/object/inspect.d.ts +2 -0
  108. package/dist/types/src/internal/object/inspect.d.ts.map +1 -0
  109. package/dist/types/src/internal/object/json-serializer.d.ts +32 -0
  110. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -0
  111. package/dist/types/src/internal/object/json-serializer.test.d.ts +2 -0
  112. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +1 -0
  113. package/dist/types/src/internal/object/meta.d.ts +31 -0
  114. package/dist/types/src/internal/object/meta.d.ts.map +1 -0
  115. package/dist/types/src/internal/object/model.d.ts +117 -0
  116. package/dist/types/src/internal/object/model.d.ts.map +1 -0
  117. package/dist/types/src/internal/object/relation.d.ts +17 -0
  118. package/dist/types/src/internal/object/relation.d.ts.map +1 -0
  119. package/dist/types/src/internal/object/schema-validator.d.ts +15 -0
  120. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -0
  121. package/dist/types/src/internal/object/schema-validator.test.d.ts +2 -0
  122. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +1 -0
  123. package/dist/types/src/internal/object/typed-object.d.ts +31 -0
  124. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -0
  125. package/dist/types/src/internal/object/typed-object.test.d.ts +2 -0
  126. package/dist/types/src/internal/object/typed-object.test.d.ts.map +1 -0
  127. package/dist/types/src/internal/object/typename.d.ts +15 -0
  128. package/dist/types/src/internal/object/typename.d.ts.map +1 -0
  129. package/dist/types/src/internal/object/version.d.ts +14 -0
  130. package/dist/types/src/internal/object/version.d.ts.map +1 -0
  131. package/dist/types/src/internal/projection/compose.d.ts +6 -0
  132. package/dist/types/src/internal/projection/compose.d.ts.map +1 -0
  133. package/dist/types/src/internal/projection/compose.test.d.ts +2 -0
  134. package/dist/types/src/internal/projection/compose.test.d.ts.map +1 -0
  135. package/dist/types/src/internal/projection/index.d.ts +2 -0
  136. package/dist/types/src/internal/projection/index.d.ts.map +1 -0
  137. package/dist/types/src/internal/proxy/handler.test.d.ts +2 -0
  138. package/dist/types/src/internal/proxy/handler.test.d.ts.map +1 -0
  139. package/dist/types/src/internal/proxy/reactive-object.d.ts +15 -0
  140. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +1 -0
  141. package/dist/types/src/internal/proxy/schema.test.d.ts +2 -0
  142. package/dist/types/src/internal/proxy/schema.test.d.ts.map +1 -0
  143. package/dist/types/src/internal/proxy/typed-handler.d.ts +44 -0
  144. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -0
  145. package/dist/types/src/internal/proxy/typed-handler.test.d.ts +2 -0
  146. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +1 -0
  147. package/dist/types/src/internal/proxy/typed-object.test.d.ts +2 -0
  148. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +1 -0
  149. package/dist/types/src/internal/query/index.d.ts +2 -0
  150. package/dist/types/src/internal/query/index.d.ts.map +1 -0
  151. package/dist/types/src/internal/query/query.d.ts +17 -0
  152. package/dist/types/src/internal/query/query.d.ts.map +1 -0
  153. package/dist/types/src/internal/ref/index.d.ts +3 -0
  154. package/dist/types/src/internal/ref/index.d.ts.map +1 -0
  155. package/dist/types/src/internal/ref/ref-array.d.ts +21 -0
  156. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -0
  157. package/dist/types/src/internal/ref/ref.d.ts +206 -0
  158. package/dist/types/src/internal/ref/ref.d.ts.map +1 -0
  159. package/dist/types/src/internal/ref/ref.test.d.ts +2 -0
  160. package/dist/types/src/internal/ref/ref.test.d.ts.map +1 -0
  161. package/dist/types/src/internal/schema/echo-schema.d.ts +168 -0
  162. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -0
  163. package/dist/types/src/internal/schema/index.d.ts +7 -0
  164. package/dist/types/src/internal/schema/index.d.ts.map +1 -0
  165. package/dist/types/src/internal/schema/manipulation.d.ts +10 -0
  166. package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -0
  167. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +18 -0
  168. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +1 -0
  169. package/dist/types/src/internal/schema/snapshot.d.ts +6 -0
  170. package/dist/types/src/internal/schema/snapshot.d.ts.map +1 -0
  171. package/dist/types/src/internal/schema/stored-schema.d.ts +13 -0
  172. package/dist/types/src/internal/schema/stored-schema.d.ts.map +1 -0
  173. package/dist/types/src/internal/testing/index.d.ts +3 -0
  174. package/dist/types/src/internal/testing/index.d.ts.map +1 -0
  175. package/dist/types/src/internal/testing/types.d.ts +455 -0
  176. package/dist/types/src/internal/testing/types.d.ts.map +1 -0
  177. package/dist/types/src/internal/testing/utils.d.ts +10 -0
  178. package/dist/types/src/internal/testing/utils.d.ts.map +1 -0
  179. package/dist/types/src/internal/types/index.d.ts +3 -0
  180. package/dist/types/src/internal/types/index.d.ts.map +1 -0
  181. package/dist/types/src/internal/types/types.d.ts +79 -0
  182. package/dist/types/src/internal/types/types.d.ts.map +1 -0
  183. package/dist/types/src/internal/types/types.test.d.ts +2 -0
  184. package/dist/types/src/internal/types/types.test.d.ts.map +1 -0
  185. package/dist/types/src/internal/types/util.d.ts +5 -0
  186. package/dist/types/src/internal/types/util.d.ts.map +1 -0
  187. package/dist/types/src/query/index.d.ts +2 -1
  188. package/dist/types/src/query/index.d.ts.map +1 -1
  189. package/dist/types/src/query/{dsl.d.ts → query.d.ts} +24 -21
  190. package/dist/types/src/query/query.d.ts.map +1 -0
  191. package/dist/types/src/query/query.test.d.ts +2 -0
  192. package/dist/types/src/query/query.test.d.ts.map +1 -0
  193. package/dist/types/src/query/tag.d.ts +17 -0
  194. package/dist/types/src/query/tag.d.ts.map +1 -0
  195. package/dist/types/src/testing/echo-schema.d.ts +7 -0
  196. package/dist/types/src/testing/echo-schema.d.ts.map +1 -0
  197. package/dist/types/src/testing/index.d.ts +2 -0
  198. package/dist/types/src/testing/index.d.ts.map +1 -1
  199. package/dist/types/src/testing/types.d.ts +18 -18
  200. package/dist/types/src/testing/types.d.ts.map +1 -1
  201. package/dist/types/tsconfig.tsbuildinfo +1 -1
  202. package/package.json +27 -16
  203. package/src/Obj.ts +40 -10
  204. package/src/Ref.ts +1 -2
  205. package/src/Relation.ts +4 -3
  206. package/src/Type.ts +28 -29
  207. package/src/index.ts +2 -2
  208. package/src/internal/ast/annotation-helper.ts +22 -0
  209. package/src/internal/ast/annotations.test.ts +98 -0
  210. package/src/internal/ast/annotations.ts +226 -0
  211. package/src/internal/ast/entity-kind.ts +15 -0
  212. package/src/internal/ast/index.ts +8 -0
  213. package/src/internal/ast/types.ts +17 -0
  214. package/src/internal/formats/date.test.ts +56 -0
  215. package/src/internal/formats/date.ts +217 -0
  216. package/src/internal/formats/format.test.ts +77 -0
  217. package/src/internal/formats/format.ts +52 -0
  218. package/src/internal/formats/index.ts +12 -0
  219. package/src/internal/formats/number.ts +89 -0
  220. package/src/internal/formats/object.ts +80 -0
  221. package/src/internal/formats/select.ts +16 -0
  222. package/src/internal/formats/string.ts +76 -0
  223. package/src/internal/formats/types.ts +175 -0
  224. package/src/internal/index.ts +22 -0
  225. package/src/internal/json/annotations.ts +50 -0
  226. package/src/internal/json/effect-schema.test.ts +143 -0
  227. package/src/internal/json/index.ts +5 -0
  228. package/src/internal/json/json-schema.test.ts +857 -0
  229. package/src/internal/json/json-schema.ts +519 -0
  230. package/src/internal/json-schema/index.ts +6 -0
  231. package/src/internal/json-schema/json-schema-normalize.ts +109 -0
  232. package/src/internal/json-schema/json-schema-type.ts +403 -0
  233. package/src/internal/object/accessors.ts +153 -0
  234. package/src/internal/object/common.ts +76 -0
  235. package/src/internal/object/create.test.ts +118 -0
  236. package/src/internal/object/create.ts +96 -0
  237. package/src/internal/object/deleted.ts +19 -0
  238. package/src/internal/object/entity.ts +248 -0
  239. package/src/internal/object/expando.ts +21 -0
  240. package/src/internal/object/ids.ts +12 -0
  241. package/src/internal/object/index.ts +19 -0
  242. package/src/internal/object/inspect.ts +48 -0
  243. package/src/internal/object/json-serializer.test.ts +99 -0
  244. package/src/internal/object/json-serializer.ts +225 -0
  245. package/src/internal/object/meta.ts +61 -0
  246. package/src/internal/object/model.ts +170 -0
  247. package/src/internal/object/relation.ts +24 -0
  248. package/src/internal/object/schema-validator.test.ts +186 -0
  249. package/src/internal/object/schema-validator.ts +241 -0
  250. package/src/internal/object/typed-object.test.ts +34 -0
  251. package/src/internal/object/typed-object.ts +88 -0
  252. package/src/internal/object/typename.ts +61 -0
  253. package/src/internal/object/version.ts +22 -0
  254. package/src/internal/projection/compose.test.ts +43 -0
  255. package/src/internal/projection/compose.ts +36 -0
  256. package/src/internal/projection/index.ts +5 -0
  257. package/src/internal/proxy/handler.test.ts +163 -0
  258. package/src/internal/proxy/reactive-object.ts +108 -0
  259. package/src/internal/proxy/schema.test.ts +136 -0
  260. package/src/internal/proxy/typed-handler.test.ts +102 -0
  261. package/src/internal/proxy/typed-handler.ts +228 -0
  262. package/src/internal/proxy/typed-object.test.ts +100 -0
  263. package/src/internal/query/index.ts +5 -0
  264. package/src/internal/query/query.ts +23 -0
  265. package/src/internal/ref/index.ts +6 -0
  266. package/src/internal/ref/ref-array.ts +39 -0
  267. package/src/internal/ref/ref.test.ts +100 -0
  268. package/src/internal/ref/ref.ts +521 -0
  269. package/src/internal/schema/echo-schema.ts +383 -0
  270. package/src/internal/schema/index.ts +10 -0
  271. package/src/internal/schema/manipulation.ts +92 -0
  272. package/src/internal/schema/runtime-schema-registry.ts +78 -0
  273. package/src/internal/schema/snapshot.ts +25 -0
  274. package/src/internal/schema/stored-schema.ts +26 -0
  275. package/src/internal/testing/index.ts +6 -0
  276. package/src/internal/testing/types.ts +211 -0
  277. package/src/internal/testing/utils.ts +54 -0
  278. package/src/internal/types/index.ts +6 -0
  279. package/src/internal/types/types.test.ts +48 -0
  280. package/src/internal/types/types.ts +176 -0
  281. package/src/internal/types/util.ts +9 -0
  282. package/src/query/index.ts +2 -1
  283. package/src/query/query.test.ts +401 -0
  284. package/src/query/{dsl.ts → query.ts} +68 -38
  285. package/src/query/tag.ts +37 -0
  286. package/src/test/api.test.ts +2 -2
  287. package/src/testing/echo-schema.ts +39 -0
  288. package/src/testing/index.ts +2 -0
  289. package/src/testing/types.ts +1 -1
  290. package/dist/lib/browser/chunk-I4YEWYJA.mjs.map +0 -7
  291. package/dist/lib/node-esm/chunk-AWWFAF75.mjs.map +0 -7
  292. package/dist/types/src/experimental/database.d.ts +0 -8
  293. package/dist/types/src/experimental/database.d.ts.map +0 -1
  294. package/dist/types/src/experimental/index.d.ts +0 -1
  295. package/dist/types/src/experimental/index.d.ts.map +0 -1
  296. package/dist/types/src/experimental/queue.d.ts +0 -8
  297. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  298. package/dist/types/src/experimental/space.d.ts +0 -8
  299. package/dist/types/src/experimental/space.d.ts.map +0 -1
  300. package/dist/types/src/query/dsl.d.ts.map +0 -1
  301. package/dist/types/src/query/dsl.test.d.ts +0 -2
  302. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  303. package/src/experimental/database.ts +0 -11
  304. package/src/experimental/index.ts +0 -7
  305. package/src/experimental/queue.ts +0 -11
  306. package/src/experimental/space.ts +0 -11
  307. package/src/query/dsl.test.ts +0 -362
@@ -1,8 +1,9 @@
1
- import { Schema } from 'effect';
2
- import type { NonEmptyArray } from 'effect/Array';
3
- import type { Simplify } from 'effect/Schema';
1
+ import type * as EffectArray from 'effect/Array';
2
+ import * as Schema from 'effect/Schema';
3
+ import type * as Types from 'effect/Types';
4
4
  import { type ForeignKey, type QueryAST } from '@dxos/echo-protocol';
5
5
  import { DXN, ObjectId } from '@dxos/keys';
6
+ import type * as Obj from '../Obj';
6
7
  import * as Ref from '../Ref';
7
8
  import type * as Type from '../Type';
8
9
  export interface Order<T> {
@@ -39,21 +40,21 @@ export interface Query<T> {
39
40
  * @param key - Property path inside the referencing object that is a reference.
40
41
  * @returns Query for the referencing objects.
41
42
  */
42
- referencedBy<S extends Schema.Schema.All>(target: S, key: RefPropKey<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
43
+ referencedBy<S extends Schema.Schema.All>(target: S | string, key: RefPropKey<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
43
44
  /**
44
45
  * Find relations where this object is the source.
45
46
  * @returns Query for the relation objects.
46
47
  * @param relation - Schema of the relation.
47
48
  * @param predicates - Predicates to filter the relation objects.
48
49
  */
49
- sourceOf<S extends Schema.Schema.All>(relation: S, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
50
+ sourceOf<S extends Schema.Schema.All>(relation: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
50
51
  /**
51
52
  * Find relations where this object is the target.
52
53
  * @returns Query for the relation objects.
53
54
  * @param relation - Schema of the relation.
54
55
  * @param predicates - Predicates to filter the relation objects.
55
56
  */
56
- targetOf<S extends Schema.Schema.All>(relation: S, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
57
+ targetOf<S extends Schema.Schema.All>(relation: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
57
58
  /**
58
59
  * For a query for relations, get the source objects.
59
60
  * @returns Query for the source objects.
@@ -70,7 +71,7 @@ export interface Query<T> {
70
71
  * @param order - Order to sort the results.
71
72
  * @returns Query for the ordered results.
72
73
  */
73
- orderBy(...order: NonEmptyArray<Order<T>>): Query<T>;
74
+ orderBy(...order: EffectArray.NonEmptyArray<Order<T>>): Query<T>;
74
75
  /**
75
76
  * Add options to a query.
76
77
  */
@@ -94,7 +95,7 @@ interface QueryAPI {
94
95
  *
95
96
  * Shorthand for: `Query.select(Filter.type(schema, predicates))`.
96
97
  */
97
- type<S extends Schema.Schema.All>(schema: S, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
98
+ type<S extends Schema.Schema.All>(schema: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
98
99
  /**
99
100
  * Combine results of multiple queries.
100
101
  * @param queries - Queries to combine.
@@ -118,17 +119,19 @@ export declare namespace Query {
118
119
  }
119
120
  export interface Filter<T> {
120
121
  '~Filter': {
121
- value: T;
122
+ value: Types.Contravariant<T>;
122
123
  };
123
124
  ast: QueryAST.Filter;
124
125
  }
125
126
  type Intersection<Types extends readonly unknown[]> = Types extends [infer First, ...infer Rest] ? First & Intersection<Rest> : unknown;
126
127
  interface FilterAPI {
127
- is(value: unknown): value is Filter<any>;
128
+ is(value: unknown): value is Filter.Any;
129
+ /** Construct a filter from an ast. */
130
+ fromAst(ast: QueryAST.Filter): Filter<Obj.Any>;
128
131
  /**
129
132
  * Filter that matches all objects.
130
133
  */
131
- everything(): Filter<any>;
134
+ everything(): Filter<Obj.AnyProps>;
132
135
  /**
133
136
  * Filter that matches no objects.
134
137
  */
@@ -136,23 +139,23 @@ interface FilterAPI {
136
139
  /**
137
140
  * Filter by object IDs.
138
141
  */
139
- ids(...id: ObjectId[]): Filter<any>;
142
+ ids(...id: ObjectId[]): Filter<Obj.AnyProps>;
140
143
  /**
141
144
  * Filter by type.
142
145
  */
143
- type<S extends Schema.Schema.All>(schema: S, props?: Filter.Props<Schema.Schema.Type<S>>): Filter<Schema.Schema.Type<S>>;
146
+ type<S extends Schema.Schema.All>(schema: S | string, props?: Filter.Props<Schema.Schema.Type<S>>): Filter<Schema.Schema.Type<S>>;
144
147
  /**
145
148
  * Filter by non-qualified typename.
146
149
  */
147
- typename(typename: string): Filter<any>;
150
+ typename(typename: string): Filter<Obj.AnyProps>;
148
151
  /**
149
152
  * Filter by fully qualified type DXN.
150
153
  */
151
- typeDXN(dxn: DXN): Filter<any>;
154
+ typeDXN(dxn: DXN): Filter<Obj.AnyProps>;
152
155
  /**
153
156
  * Filter by tag.
154
157
  */
155
- tag(tag: string): Filter<any>;
158
+ tag(tag: string): Filter<Obj.Any>;
156
159
  /**
157
160
  * Filter by properties.
158
161
  */
@@ -202,13 +205,13 @@ interface FilterAPI {
202
205
  * Predicate for an array property to contain the provided value.
203
206
  * @param value - Value to check against.
204
207
  */
205
- contains<T>(value: T): Filter<T[]>;
208
+ contains<T>(value: T): Filter<readonly T[] | undefined>;
206
209
  /**
207
210
  * Predicate for property to be in the provided range.
208
211
  * @param from - Start of the range (inclusive).
209
212
  * @param to - End of the range (exclusive).
210
213
  */
211
- between<T>(from: T, to: T): Filter<T>;
214
+ between<T>(from: T, to: T): Filter<unknown>;
212
215
  /**
213
216
  * Negate the filter.
214
217
  */
@@ -228,10 +231,10 @@ export declare namespace Filter {
228
231
  };
229
232
  type Any = Filter<any>;
230
233
  type Type<F extends Any> = F extends Filter<infer T> ? T : never;
231
- type And<FS extends readonly Any[]> = Simplify<Intersection<{
234
+ type And<FS extends readonly Any[]> = Schema.Simplify<Intersection<{
232
235
  [K in keyof FS]: Type<FS[K]>;
233
236
  }>>;
234
- type Or<FS extends readonly Any[]> = Simplify<{
237
+ type Or<FS extends readonly Any[]> = Schema.Simplify<{
235
238
  [K in keyof FS]: Type<FS[K]>;
236
239
  }[number]>;
237
240
  }
@@ -242,4 +245,4 @@ export declare const Filter: FilterAPI;
242
245
  type RefPropKey<T> = keyof T & string;
243
246
  export declare const Query: QueryAPI;
244
247
  export {};
245
- //# sourceMappingURL=dsl.d.ts.map
248
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/query/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=query.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../../../../src/query/query.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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,2 +1,4 @@
1
+ export { prepareAstForCompare, Testing as TestingDeprecated, updateCounter } from '../internal/testing';
1
2
  export * from './types';
3
+ export * from './echo-schema';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,OAAO,IAAI,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxG,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
@@ -1,11 +1,11 @@
1
- import { Schema } from 'effect';
1
+ import * as Schema from 'effect/Schema';
2
2
  import { Type } from '..';
3
3
  export declare namespace Testing {
4
4
  const _Contact: Type.obj<Schema.SchemaClass<{
5
- readonly name?: string | undefined;
6
5
  readonly email?: string | undefined;
6
+ readonly name?: string | undefined;
7
7
  readonly username?: string | undefined;
8
- readonly tasks?: import("@dxos/echo-schema").Ref<Task>[] | undefined;
8
+ readonly tasks?: import("../internal").Ref<Task>[] | undefined;
9
9
  readonly address?: {
10
10
  readonly city?: string | undefined;
11
11
  readonly state?: string | undefined;
@@ -16,8 +16,8 @@ export declare namespace Testing {
16
16
  };
17
17
  } | undefined;
18
18
  }, {
19
- readonly name?: string | undefined;
20
19
  readonly email?: string | undefined;
20
+ readonly name?: string | undefined;
21
21
  readonly username?: string | undefined;
22
22
  readonly tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
23
23
  readonly address?: {
@@ -34,17 +34,17 @@ export declare namespace Testing {
34
34
  }
35
35
  export const Contact: Schema.Schema<Contact, Schema.Schema.Encoded<typeof _Contact>, never>;
36
36
  const _Task: Type.obj<Schema.SchemaClass<{
37
- readonly description?: string | undefined;
38
37
  readonly title?: string | undefined;
39
- readonly assignee?: import("@dxos/echo-schema").Ref<Contact> | undefined;
38
+ readonly description?: string | undefined;
40
39
  readonly completed?: boolean | undefined;
41
- readonly previous?: import("@dxos/echo-schema").Ref<Task> | undefined;
42
- readonly subTasks?: import("@dxos/echo-schema").Ref<Task>[] | 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
43
  }, {
44
- readonly description?: string | undefined;
45
44
  readonly title?: string | undefined;
46
- readonly assignee?: import("@dxos/echo-protocol").EncodedReference | undefined;
45
+ readonly description?: string | undefined;
47
46
  readonly completed?: boolean | undefined;
47
+ readonly assignee?: import("@dxos/echo-protocol").EncodedReference | undefined;
48
48
  readonly previous?: import("@dxos/echo-protocol").EncodedReference | undefined;
49
49
  readonly subTasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
50
50
  }, never>>;
@@ -58,17 +58,17 @@ export declare namespace Testing {
58
58
  }
59
59
  export const Container: Type.obj<Schema.SchemaClass<{
60
60
  readonly records?: {
61
- readonly type?: RecordType | undefined;
62
- readonly description?: string | undefined;
63
61
  readonly title?: string | undefined;
64
- readonly contacts?: import("@dxos/echo-schema").Ref<Contact>[] | undefined;
62
+ readonly description?: string | undefined;
63
+ readonly type?: RecordType | undefined;
64
+ readonly contacts?: import("../internal").Ref<Contact>[] | undefined;
65
65
  }[] | undefined;
66
- readonly objects?: import("@dxos/echo-schema").Ref<Type.Expando>[] | undefined;
66
+ readonly objects?: import("../internal").Ref<Type.Expando>[] | undefined;
67
67
  }, {
68
68
  readonly records?: {
69
- readonly type?: RecordType | undefined;
70
- readonly description?: string | undefined;
71
69
  readonly title?: string | undefined;
70
+ readonly description?: string | undefined;
71
+ readonly type?: RecordType | undefined;
72
72
  readonly contacts?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
73
73
  }[] | undefined;
74
74
  readonly objects?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
@@ -77,8 +77,8 @@ export declare namespace Testing {
77
77
  since: Schema.optional<typeof Schema.String>;
78
78
  }>, Schema.Schema<Contact, {
79
79
  id: string;
80
- name?: string | undefined;
81
80
  email?: string | undefined;
81
+ name?: string | undefined;
82
82
  username?: string | undefined;
83
83
  tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
84
84
  address?: {
@@ -92,8 +92,8 @@ export declare namespace Testing {
92
92
  } | undefined;
93
93
  }, never>, Schema.Schema<Contact, {
94
94
  id: string;
95
- name?: string | undefined;
96
95
  email?: string | undefined;
96
+ name?: string | undefined;
97
97
  username?: string | undefined;
98
98
  tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
99
99
  address?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/testing/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,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
+ {"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"}