@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,9 +1,21 @@
1
- import { Schema } from 'effect';
2
- 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';
3
4
  import { type ForeignKey, type QueryAST } from '@dxos/echo-protocol';
4
5
  import { DXN, ObjectId } from '@dxos/keys';
6
+ import type * as Obj from '../Obj';
5
7
  import * as Ref from '../Ref';
6
8
  import type * as Type from '../Type';
9
+ export interface Order<T> {
10
+ '~Order': {
11
+ value: T;
12
+ };
13
+ ast: QueryAST.Order;
14
+ }
15
+ export declare namespace Order {
16
+ const natural: Order<any>;
17
+ const property: <T>(property: keyof T & string, direction: QueryAST.OrderDirection) => Order<T>;
18
+ }
7
19
  export interface Query<T> {
8
20
  '~Query': {
9
21
  value: T;
@@ -18,31 +30,31 @@ export interface Query<T> {
18
30
  select(props: Filter.Props<T>): Query<T>;
19
31
  /**
20
32
  * Traverse an outgoing reference.
21
- * @param key - Property path inside T that is a reference.
33
+ * @param key - Property path inside T that is a reference or optional reference.
22
34
  * @returns Query for the target of the reference.
23
35
  */
24
- reference<K extends RefPropKey<T>>(key: K): Query<T[K] extends Ref.Any ? Ref.Target<T[K]> : never>;
36
+ reference<K extends RefPropKey<T>>(key: K): Query<T[K] extends Ref.Any ? Ref.Target<T[K]> : T[K] extends Ref.Any | undefined ? Ref.Target<Exclude<T[K], undefined>> : never>;
25
37
  /**
26
38
  * Find objects referencing this object.
27
39
  * @param target - Schema of the referencing object.
28
40
  * @param key - Property path inside the referencing object that is a reference.
29
41
  * @returns Query for the referencing objects.
30
42
  */
31
- 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>>;
32
44
  /**
33
45
  * Find relations where this object is the source.
34
46
  * @returns Query for the relation objects.
35
47
  * @param relation - Schema of the relation.
36
48
  * @param predicates - Predicates to filter the relation objects.
37
49
  */
38
- 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>>;
39
51
  /**
40
52
  * Find relations where this object is the target.
41
53
  * @returns Query for the relation objects.
42
54
  * @param relation - Schema of the relation.
43
55
  * @param predicates - Predicates to filter the relation objects.
44
56
  */
45
- 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>>;
46
58
  /**
47
59
  * For a query for relations, get the source objects.
48
60
  * @returns Query for the source objects.
@@ -53,6 +65,13 @@ export interface Query<T> {
53
65
  * @returns Query for the target objects.
54
66
  */
55
67
  target(): Query<Type.Relation.Target<T>>;
68
+ /**
69
+ * Order the query results.
70
+ * Orders are specified in priority order. The first order will be applied first, etc.
71
+ * @param order - Order to sort the results.
72
+ * @returns Query for the ordered results.
73
+ */
74
+ orderBy(...order: EffectArray.NonEmptyArray<Order<T>>): Query<T>;
56
75
  /**
57
76
  * Add options to a query.
58
77
  */
@@ -60,6 +79,8 @@ export interface Query<T> {
60
79
  }
61
80
  interface QueryAPI {
62
81
  is(value: unknown): value is Query.Any;
82
+ /** Construct a query from an ast. */
83
+ fromAst(ast: QueryAST.Query): Query<any>;
63
84
  /**
64
85
  * Select objects based on a filter.
65
86
  * @param filter - Filter to select the objects.
@@ -74,7 +95,7 @@ interface QueryAPI {
74
95
  *
75
96
  * Shorthand for: `Query.select(Filter.type(schema, predicates))`.
76
97
  */
77
- 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>>;
78
99
  /**
79
100
  * Combine results of multiple queries.
80
101
  * @param queries - Queries to combine.
@@ -98,17 +119,19 @@ export declare namespace Query {
98
119
  }
99
120
  export interface Filter<T> {
100
121
  '~Filter': {
101
- value: T;
122
+ value: Types.Contravariant<T>;
102
123
  };
103
124
  ast: QueryAST.Filter;
104
125
  }
105
126
  type Intersection<Types extends readonly unknown[]> = Types extends [infer First, ...infer Rest] ? First & Intersection<Rest> : unknown;
106
127
  interface FilterAPI {
107
- 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>;
108
131
  /**
109
132
  * Filter that matches all objects.
110
133
  */
111
- everything(): Filter<any>;
134
+ everything(): Filter<Obj.AnyProps>;
112
135
  /**
113
136
  * Filter that matches no objects.
114
137
  */
@@ -116,25 +139,27 @@ interface FilterAPI {
116
139
  /**
117
140
  * Filter by object IDs.
118
141
  */
119
- ids(...id: ObjectId[]): Filter<any>;
142
+ ids(...id: ObjectId[]): Filter<Obj.AnyProps>;
120
143
  /**
121
144
  * Filter by type.
122
145
  */
123
- 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>>;
124
147
  /**
125
148
  * Filter by non-qualified typename.
126
149
  */
127
- typename(typename: string): Filter<any>;
150
+ typename(typename: string): Filter<Obj.AnyProps>;
128
151
  /**
129
152
  * Filter by fully qualified type DXN.
130
153
  */
131
- typeDXN(dxn: DXN): Filter<any>;
154
+ typeDXN(dxn: DXN): Filter<Obj.AnyProps>;
155
+ /**
156
+ * Filter by tag.
157
+ */
158
+ tag(tag: string): Filter<Obj.Any>;
132
159
  /**
133
160
  * Filter by properties.
134
- *
135
- * INTERNAL API: Do not use.
136
161
  */
137
- _props<T>(props: Filter.Props<T>): Filter<T>;
162
+ props<T>(props: Filter.Props<T>): Filter<T>;
138
163
  /**
139
164
  * Full-text or vector search.
140
165
  */
@@ -176,12 +201,17 @@ interface FilterAPI {
176
201
  * @param values - Values to check against.
177
202
  */
178
203
  in<T>(...values: T[]): Filter<T>;
204
+ /**
205
+ * Predicate for an array property to contain the provided value.
206
+ * @param value - Value to check against.
207
+ */
208
+ contains<T>(value: T): Filter<readonly T[] | undefined>;
179
209
  /**
180
210
  * Predicate for property to be in the provided range.
181
211
  * @param from - Start of the range (inclusive).
182
212
  * @param to - End of the range (exclusive).
183
213
  */
184
- between<T>(from: T, to: T): Filter<T>;
214
+ between<T>(from: T, to: T): Filter<unknown>;
185
215
  /**
186
216
  * Negate the filter.
187
217
  */
@@ -201,10 +231,10 @@ export declare namespace Filter {
201
231
  };
202
232
  type Any = Filter<any>;
203
233
  type Type<F extends Any> = F extends Filter<infer T> ? T : never;
204
- type And<FS extends readonly Any[]> = Simplify<Intersection<{
234
+ type And<FS extends readonly Any[]> = Schema.Simplify<Intersection<{
205
235
  [K in keyof FS]: Type<FS[K]>;
206
236
  }>>;
207
- type Or<FS extends readonly Any[]> = Simplify<{
237
+ type Or<FS extends readonly Any[]> = Schema.Simplify<{
208
238
  [K in keyof FS]: Type<FS[K]>;
209
239
  }[number]>;
210
240
  }
@@ -215,4 +245,4 @@ export declare const Filter: FilterAPI;
215
245
  type RefPropKey<T> = keyof T & string;
216
246
  export declare const Query: QueryAPI;
217
247
  export {};
218
- //# 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,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,14 @@
1
- import { Schema } from 'effect';
1
+ import * as Schema from 'effect/Schema';
2
2
  import { Type } from '..';
3
+ /**
4
+ * @deprecated
5
+ */
3
6
  export declare namespace Testing {
4
- const _Contact: Type.obj<Schema.SchemaClass<{
5
- readonly name?: string | undefined;
7
+ const Person: Type.obj<Schema.SchemaClass<{
6
8
  readonly email?: string | undefined;
9
+ readonly name?: string | undefined;
7
10
  readonly username?: string | undefined;
8
- readonly tasks?: import("@dxos/echo-schema").Ref<Task>[] | undefined;
11
+ readonly tasks?: import("../internal").Ref<Task>[] | undefined;
9
12
  readonly address?: {
10
13
  readonly city?: string | undefined;
11
14
  readonly state?: string | undefined;
@@ -16,8 +19,8 @@ export declare namespace Testing {
16
19
  };
17
20
  } | undefined;
18
21
  }, {
19
- readonly name?: string | undefined;
20
22
  readonly email?: string | undefined;
23
+ readonly name?: string | undefined;
21
24
  readonly username?: string | undefined;
22
25
  readonly tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
23
26
  readonly address?: {
@@ -30,58 +33,122 @@ export declare namespace Testing {
30
33
  readonly zip?: string | undefined;
31
34
  } | undefined;
32
35
  }, never>>;
33
- export interface Contact extends Schema.Schema.Type<typeof _Contact> {
36
+ interface Person extends Schema.Schema.Type<typeof Person> {
34
37
  }
35
- export const Contact: Schema.Schema<Contact, Schema.Schema.Encoded<typeof _Contact>, never>;
36
- const _Task: Type.obj<Schema.SchemaClass<{
37
- readonly description?: string | undefined;
38
+ const Task: Type.obj<Schema.SchemaClass<{
38
39
  readonly title?: string | undefined;
39
- readonly assignee?: import("@dxos/echo-schema").Ref<Contact> | undefined;
40
+ readonly description?: string | undefined;
40
41
  readonly completed?: boolean | undefined;
41
- readonly previous?: import("@dxos/echo-schema").Ref<Task> | undefined;
42
- readonly subTasks?: import("@dxos/echo-schema").Ref<Task>[] | undefined;
42
+ readonly assignee?: import("../internal").Ref<Type.OfKind<import("../internal").EntityKind.Object> & {
43
+ email?: string | undefined;
44
+ name?: string | undefined;
45
+ username?: string | undefined;
46
+ tasks?: import("../internal").Ref<Task>[] | undefined;
47
+ address?: {
48
+ readonly city?: string | undefined;
49
+ readonly state?: string | undefined;
50
+ readonly zip?: string | undefined;
51
+ readonly coordinates: {
52
+ readonly lat?: number | undefined;
53
+ readonly lng?: number | undefined;
54
+ };
55
+ } | undefined;
56
+ }> | undefined;
57
+ readonly previous?: import("../internal").Ref<Task> | undefined;
58
+ readonly subTasks?: import("../internal").Ref<Task>[] | undefined;
43
59
  }, {
44
- readonly description?: string | undefined;
45
60
  readonly title?: string | undefined;
46
- readonly assignee?: import("@dxos/echo-protocol").EncodedReference | undefined;
61
+ readonly description?: string | undefined;
47
62
  readonly completed?: boolean | undefined;
63
+ readonly assignee?: import("@dxos/echo-protocol").EncodedReference | undefined;
48
64
  readonly previous?: import("@dxos/echo-protocol").EncodedReference | undefined;
49
65
  readonly subTasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
50
66
  }, never>>;
51
- export interface Task extends Schema.Schema.Type<typeof _Task> {
52
- }
53
- export const Task: Schema.Schema<Task, Schema.Schema.Encoded<typeof _Task>, never>;
54
- export enum RecordType {
55
- UNDEFINED = 0,
56
- PERSONAL = 1,
57
- WORK = 2
67
+ interface Task extends Schema.Schema.Type<typeof Task> {
58
68
  }
59
- export const Container: Type.obj<Schema.SchemaClass<{
60
- readonly records?: {
61
- readonly type?: RecordType | undefined;
62
- readonly description?: string | undefined;
63
- readonly title?: string | undefined;
64
- readonly contacts?: import("@dxos/echo-schema").Ref<Contact>[] | undefined;
65
- }[] | undefined;
66
- readonly objects?: import("@dxos/echo-schema").Ref<Type.Expando>[] | undefined;
69
+ const WorksFor: Type.relation<Schema.Struct<{
70
+ since: Schema.optional<typeof Schema.String>;
71
+ }>, Type.obj<Schema.SchemaClass<{
72
+ readonly email?: string | undefined;
73
+ readonly name?: string | undefined;
74
+ readonly username?: string | undefined;
75
+ readonly tasks?: import("../internal").Ref<Task>[] | undefined;
76
+ readonly address?: {
77
+ readonly city?: string | undefined;
78
+ readonly state?: string | undefined;
79
+ readonly zip?: string | undefined;
80
+ readonly coordinates: {
81
+ readonly lat?: number | undefined;
82
+ readonly lng?: number | undefined;
83
+ };
84
+ } | undefined;
67
85
  }, {
68
- readonly records?: {
69
- readonly type?: RecordType | undefined;
70
- readonly description?: string | undefined;
71
- readonly title?: string | undefined;
72
- readonly contacts?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
73
- }[] | undefined;
74
- readonly objects?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
75
- }, never>>;
76
- export const WorksFor: Type.relation<Schema.Struct<{
86
+ readonly email?: string | undefined;
87
+ readonly name?: string | undefined;
88
+ readonly username?: string | undefined;
89
+ readonly tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
90
+ readonly address?: {
91
+ readonly coordinates: {
92
+ readonly lat?: number | undefined;
93
+ readonly lng?: number | undefined;
94
+ };
95
+ readonly city?: string | undefined;
96
+ readonly state?: string | undefined;
97
+ readonly zip?: string | undefined;
98
+ } | undefined;
99
+ }, never>>, Type.obj<Schema.SchemaClass<{
100
+ readonly email?: string | undefined;
101
+ readonly name?: string | undefined;
102
+ readonly username?: string | undefined;
103
+ readonly tasks?: import("../internal").Ref<Task>[] | undefined;
104
+ readonly address?: {
105
+ readonly city?: string | undefined;
106
+ readonly state?: string | undefined;
107
+ readonly zip?: string | undefined;
108
+ readonly coordinates: {
109
+ readonly lat?: number | undefined;
110
+ readonly lng?: number | undefined;
111
+ };
112
+ } | undefined;
113
+ }, {
114
+ readonly email?: string | undefined;
115
+ readonly name?: string | undefined;
116
+ readonly username?: string | undefined;
117
+ readonly tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
118
+ readonly address?: {
119
+ readonly coordinates: {
120
+ readonly lat?: number | undefined;
121
+ readonly lng?: number | undefined;
122
+ };
123
+ readonly city?: string | undefined;
124
+ readonly state?: string | undefined;
125
+ readonly zip?: string | undefined;
126
+ } | undefined;
127
+ }, never>>>;
128
+ interface WorksFor extends Schema.Schema.Type<typeof WorksFor> {
129
+ }
130
+ const HasManager: Type.relation<Schema.Struct<{
77
131
  since: Schema.optional<typeof Schema.String>;
78
- }>, Schema.Schema<Contact, {
79
- id: string;
80
- name?: string | undefined;
81
- email?: string | undefined;
82
- username?: string | undefined;
83
- tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
84
- address?: {
132
+ }>, Type.obj<Schema.SchemaClass<{
133
+ readonly email?: string | undefined;
134
+ readonly name?: string | undefined;
135
+ readonly username?: string | undefined;
136
+ readonly tasks?: import("../internal").Ref<Task>[] | undefined;
137
+ readonly address?: {
138
+ readonly city?: string | undefined;
139
+ readonly state?: string | undefined;
140
+ readonly zip?: string | undefined;
141
+ readonly coordinates: {
142
+ readonly lat?: number | undefined;
143
+ readonly lng?: number | undefined;
144
+ };
145
+ } | undefined;
146
+ }, {
147
+ readonly email?: string | undefined;
148
+ readonly name?: string | undefined;
149
+ readonly username?: string | undefined;
150
+ readonly tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
151
+ readonly address?: {
85
152
  readonly coordinates: {
86
153
  readonly lat?: number | undefined;
87
154
  readonly lng?: number | undefined;
@@ -90,13 +157,26 @@ export declare namespace Testing {
90
157
  readonly state?: string | undefined;
91
158
  readonly zip?: string | undefined;
92
159
  } | undefined;
93
- }, never>, Schema.Schema<Contact, {
94
- id: string;
95
- name?: string | undefined;
96
- email?: string | undefined;
97
- username?: string | undefined;
98
- tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
99
- address?: {
160
+ }, never>>, Type.obj<Schema.SchemaClass<{
161
+ readonly email?: string | undefined;
162
+ readonly name?: string | undefined;
163
+ readonly username?: string | undefined;
164
+ readonly tasks?: import("../internal").Ref<Task>[] | undefined;
165
+ readonly address?: {
166
+ readonly city?: string | undefined;
167
+ readonly state?: string | undefined;
168
+ readonly zip?: string | undefined;
169
+ readonly coordinates: {
170
+ readonly lat?: number | undefined;
171
+ readonly lng?: number | undefined;
172
+ };
173
+ } | undefined;
174
+ }, {
175
+ readonly email?: string | undefined;
176
+ readonly name?: string | undefined;
177
+ readonly username?: string | undefined;
178
+ readonly tasks?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
179
+ readonly address?: {
100
180
  readonly coordinates: {
101
181
  readonly lat?: number | undefined;
102
182
  readonly lng?: number | undefined;
@@ -105,9 +185,44 @@ export declare namespace Testing {
105
185
  readonly state?: string | undefined;
106
186
  readonly zip?: string | undefined;
107
187
  } | undefined;
108
- }, never>>;
109
- export interface WorksFor extends Schema.Schema.Type<typeof WorksFor> {
188
+ }, never>>>;
189
+ interface HasManager extends Schema.Schema.Type<typeof HasManager> {
110
190
  }
111
- export {};
191
+ enum RecordType {
192
+ UNDEFINED = 0,
193
+ PERSONAL = 1,
194
+ WORK = 2
195
+ }
196
+ const Container: Type.obj<Schema.SchemaClass<{
197
+ readonly records?: {
198
+ readonly title?: string | undefined;
199
+ readonly description?: string | undefined;
200
+ readonly type?: RecordType | undefined;
201
+ readonly contacts?: import("../internal").Ref<Type.OfKind<import("../internal").EntityKind.Object> & {
202
+ email?: string | undefined;
203
+ name?: string | undefined;
204
+ username?: string | undefined;
205
+ tasks?: import("../internal").Ref<Task>[] | undefined;
206
+ address?: {
207
+ readonly city?: string | undefined;
208
+ readonly state?: string | undefined;
209
+ readonly zip?: string | undefined;
210
+ readonly coordinates: {
211
+ readonly lat?: number | undefined;
212
+ readonly lng?: number | undefined;
213
+ };
214
+ } | undefined;
215
+ }>[] | undefined;
216
+ }[] | undefined;
217
+ readonly objects?: import("../internal").Ref<Type.Expando>[] | undefined;
218
+ }, {
219
+ readonly records?: {
220
+ readonly title?: string | undefined;
221
+ readonly description?: string | undefined;
222
+ readonly type?: RecordType | undefined;
223
+ readonly contacts?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
224
+ }[] | undefined;
225
+ readonly objects?: import("@dxos/echo-protocol").EncodedReference[] | undefined;
226
+ }, never>>;
112
227
  }
113
228
  //# sourceMappingURL=types.d.ts.map
@@ -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;AAE1B;;GAEG;AAEH,yBAAiB,OAAO,CAAC;IAChB,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoBlB,CAAC;IAEF,UAAiB,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;KAAG;IAE7D,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAahB,CAAC;IAEF,UAAiB,IAAK,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC;KAAG;IAEzD,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eASpB,CAAC;IAEF,UAAiB,QAAS,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC;KAAG;IAEjE,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAStB,CAAC;IAEF,UAAiB,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;KAAG;IAE5E,KAAY,UAAU;QACpB,SAAS,IAAI;QACb,QAAQ,IAAI;QACZ,IAAI,IAAI;KACT;IAEM,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoBrB,CAAC;CACH"}