@dxos/echo 0.10.0 → 0.11.1

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 (274) hide show
  1. package/dist/lib/Annotation.mjs +3 -0
  2. package/dist/lib/Blob.mjs +160 -0
  3. package/dist/lib/Blob.mjs.map +1 -0
  4. package/dist/lib/Database.mjs +2 -0
  5. package/dist/lib/Entity.mjs +231 -0
  6. package/dist/lib/Entity.mjs.map +1 -0
  7. package/dist/lib/Err.mjs +105 -0
  8. package/dist/lib/Err.mjs.map +1 -0
  9. package/dist/lib/Feed.mjs +338 -0
  10. package/dist/lib/Feed.mjs.map +1 -0
  11. package/dist/lib/Filter.mjs +380 -0
  12. package/dist/lib/Filter.mjs.map +1 -0
  13. package/dist/lib/Format.mjs +47 -0
  14. package/dist/lib/Format.mjs.map +1 -0
  15. package/dist/lib/JsonSchema.mjs +21 -0
  16. package/dist/lib/JsonSchema.mjs.map +1 -0
  17. package/dist/lib/Key.mjs +15 -0
  18. package/dist/lib/Key.mjs.map +1 -0
  19. package/dist/lib/Migration.mjs +38 -0
  20. package/dist/lib/Migration.mjs.map +1 -0
  21. package/dist/lib/Obj.mjs +660 -0
  22. package/dist/lib/Obj.mjs.map +1 -0
  23. package/dist/lib/Order.mjs +65 -0
  24. package/dist/lib/Order.mjs.map +1 -0
  25. package/dist/lib/Query.mjs +336 -0
  26. package/dist/lib/Query.mjs.map +1 -0
  27. package/dist/lib/QueryResult.mjs +7 -0
  28. package/dist/lib/QueryResult.mjs.map +1 -0
  29. package/dist/lib/Ref.mjs +44 -0
  30. package/dist/lib/Ref.mjs.map +1 -0
  31. package/dist/lib/Registry.mjs +35 -0
  32. package/dist/lib/Registry.mjs.map +1 -0
  33. package/dist/lib/Relation.mjs +397 -0
  34. package/dist/lib/Relation.mjs.map +1 -0
  35. package/dist/lib/Scope.mjs +51 -0
  36. package/dist/lib/Scope.mjs.map +1 -0
  37. package/dist/lib/Tag.mjs +70 -0
  38. package/dist/lib/Tag.mjs.map +1 -0
  39. package/dist/lib/Text.mjs +82 -0
  40. package/dist/lib/Text.mjs.map +1 -0
  41. package/dist/lib/Type.mjs +371 -0
  42. package/dist/lib/Type.mjs.map +1 -0
  43. package/dist/lib/chunk-Annotation.mjs +221 -0
  44. package/dist/lib/chunk-Annotation.mjs.map +1 -0
  45. package/dist/lib/chunk-Database.mjs +918 -0
  46. package/dist/lib/chunk-Database.mjs.map +1 -0
  47. package/dist/lib/chunk-atom-snapshot.mjs +249 -0
  48. package/dist/lib/chunk-atom-snapshot.mjs.map +1 -0
  49. package/dist/lib/chunk-internal.mjs +2775 -0
  50. package/dist/lib/chunk-internal.mjs.map +1 -0
  51. package/dist/lib/chunk-json-schema.mjs +660 -0
  52. package/dist/lib/chunk-json-schema.mjs.map +1 -0
  53. package/dist/lib/chunk-number.mjs +164 -0
  54. package/dist/lib/chunk-number.mjs.map +1 -0
  55. package/dist/lib/chunk-ref-array.mjs +31 -0
  56. package/dist/lib/chunk-ref-array.mjs.map +1 -0
  57. package/dist/lib/chunk-ref.mjs +590 -0
  58. package/dist/lib/chunk-ref.mjs.map +1 -0
  59. package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
  60. package/dist/lib/chunk-select.mjs +186 -0
  61. package/dist/lib/chunk-select.mjs.map +1 -0
  62. package/dist/lib/chunk-src.mjs +234 -0
  63. package/dist/lib/chunk-src.mjs.map +1 -0
  64. package/dist/lib/chunk-util.mjs +140 -0
  65. package/dist/lib/chunk-util.mjs.map +1 -0
  66. package/dist/lib/index.mjs +24 -0
  67. package/dist/lib/internal.mjs +10 -0
  68. package/dist/lib/testing.mjs +346 -0
  69. package/dist/lib/testing.mjs.map +1 -0
  70. package/dist/types/src/Aggregate.d.ts +86 -0
  71. package/dist/types/src/Aggregate.d.ts.map +1 -0
  72. package/dist/types/src/Blob.d.ts +153 -0
  73. package/dist/types/src/Blob.d.ts.map +1 -0
  74. package/dist/types/src/Blob.test.d.ts +2 -0
  75. package/dist/types/src/Blob.test.d.ts.map +1 -0
  76. package/dist/types/src/Database.d.ts +153 -4
  77. package/dist/types/src/Database.d.ts.map +1 -1
  78. package/dist/types/src/Err.d.ts +116 -0
  79. package/dist/types/src/Err.d.ts.map +1 -1
  80. package/dist/types/src/Feed.d.ts +116 -28
  81. package/dist/types/src/Feed.d.ts.map +1 -1
  82. package/dist/types/src/Feed.test.d.ts +2 -0
  83. package/dist/types/src/Feed.test.d.ts.map +1 -0
  84. package/dist/types/src/Filter.d.ts +14 -6
  85. package/dist/types/src/Filter.d.ts.map +1 -1
  86. package/dist/types/src/Hypergraph.d.ts +18 -0
  87. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  88. package/dist/types/src/Json.d.ts.map +1 -1
  89. package/dist/types/src/Obj.d.ts +14 -1
  90. package/dist/types/src/Obj.d.ts.map +1 -1
  91. package/dist/types/src/Order.d.ts +9 -3
  92. package/dist/types/src/Order.d.ts.map +1 -1
  93. package/dist/types/src/Query.d.ts +107 -26
  94. package/dist/types/src/Query.d.ts.map +1 -1
  95. package/dist/types/src/Relation.d.ts +6 -0
  96. package/dist/types/src/Relation.d.ts.map +1 -1
  97. package/dist/types/src/Type.d.ts.map +1 -1
  98. package/dist/types/src/View.d.ts +1 -1
  99. package/dist/types/src/index.d.ts +2 -0
  100. package/dist/types/src/index.d.ts.map +1 -1
  101. package/dist/types/src/internal/Entity/api.d.ts +6 -0
  102. package/dist/types/src/internal/Entity/api.d.ts.map +1 -1
  103. package/dist/types/src/internal/Entity/model.d.ts +3 -2
  104. package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
  105. package/dist/types/src/internal/Filter/match.d.ts.map +1 -1
  106. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +34 -8
  107. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -1
  108. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -1
  109. package/dist/types/src/internal/Obj/atoms.d.ts.map +1 -1
  110. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -1
  111. package/dist/types/src/internal/Query/pretty.d.ts.map +1 -1
  112. package/dist/types/src/internal/Query/query-result-effect.d.ts.map +1 -1
  113. package/dist/types/src/internal/common/proxy/make-object.d.ts +13 -0
  114. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -1
  115. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -1
  116. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -1
  117. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +12 -0
  118. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -1
  119. package/dist/types/src/internal/common/types/index.d.ts +1 -0
  120. package/dist/types/src/internal/common/types/index.d.ts.map +1 -1
  121. package/dist/types/src/internal/common/types/model-symbols.d.ts +5 -0
  122. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -1
  123. package/dist/types/src/internal/common/types/projection.d.ts +32 -0
  124. package/dist/types/src/internal/common/types/projection.d.ts.map +1 -0
  125. package/dist/types/tsconfig.tsbuildinfo +1 -1
  126. package/package.json +40 -35
  127. package/src/Aggregate.ts +105 -0
  128. package/src/Blob.test.ts +45 -0
  129. package/src/Blob.ts +205 -0
  130. package/src/Database.ts +207 -17
  131. package/src/Err.ts +36 -0
  132. package/src/Feed.test.ts +188 -0
  133. package/src/Feed.ts +238 -62
  134. package/src/Filter.ts +28 -10
  135. package/src/Hypergraph.ts +18 -0
  136. package/src/Json.ts +1 -0
  137. package/src/Obj.test.ts +2 -2
  138. package/src/Obj.ts +21 -1
  139. package/src/Order.ts +16 -9
  140. package/src/Query.test.ts +319 -2
  141. package/src/Query.ts +165 -51
  142. package/src/Relation.ts +14 -0
  143. package/src/Type.ts +5 -6
  144. package/src/index.ts +2 -0
  145. package/src/internal/Entity/api.ts +11 -1
  146. package/src/internal/Entity/model.ts +3 -0
  147. package/src/internal/Filter/match.ts +30 -1
  148. package/src/internal/JsonSchema/json-schema-type.ts +14 -2
  149. package/src/internal/JsonSchema/json-schema.test.ts +28 -1
  150. package/src/internal/JsonSchema/json-schema.ts +33 -6
  151. package/src/internal/Obj/atoms.ts +4 -2
  152. package/src/internal/Obj/json-serializer.test.ts +162 -2
  153. package/src/internal/Obj/json-serializer.ts +6 -0
  154. package/src/internal/Query/pretty.ts +19 -1
  155. package/src/internal/Query/query-result-effect.ts +2 -4
  156. package/src/internal/Ref/atoms.ts +1 -1
  157. package/src/internal/common/proxy/change-context.ts +1 -1
  158. package/src/internal/common/proxy/make-object.ts +42 -3
  159. package/src/internal/common/proxy/reactive.ts +5 -0
  160. package/src/internal/common/proxy/symbols.ts +1 -0
  161. package/src/internal/common/proxy/typed-handler.ts +71 -29
  162. package/src/internal/common/types/index.ts +1 -0
  163. package/src/internal/common/types/model-symbols.ts +6 -0
  164. package/src/internal/common/types/projection.ts +45 -0
  165. package/src/testing/test-data.ts +14 -14
  166. package/dist/lib/neutral/Annotation.mjs +0 -90
  167. package/dist/lib/neutral/Annotation.mjs.map +0 -7
  168. package/dist/lib/neutral/Database.mjs +0 -42
  169. package/dist/lib/neutral/Database.mjs.map +0 -7
  170. package/dist/lib/neutral/Entity.mjs +0 -76
  171. package/dist/lib/neutral/Entity.mjs.map +0 -7
  172. package/dist/lib/neutral/Err.mjs +0 -16
  173. package/dist/lib/neutral/Err.mjs.map +0 -7
  174. package/dist/lib/neutral/Feed.mjs +0 -50
  175. package/dist/lib/neutral/Feed.mjs.map +0 -7
  176. package/dist/lib/neutral/Filter.mjs +0 -72
  177. package/dist/lib/neutral/Filter.mjs.map +0 -7
  178. package/dist/lib/neutral/Format.mjs +0 -82
  179. package/dist/lib/neutral/Format.mjs.map +0 -7
  180. package/dist/lib/neutral/JsonSchema.mjs +0 -18
  181. package/dist/lib/neutral/JsonSchema.mjs.map +0 -7
  182. package/dist/lib/neutral/Key.mjs +0 -16
  183. package/dist/lib/neutral/Key.mjs.map +0 -7
  184. package/dist/lib/neutral/Migration.mjs +0 -18
  185. package/dist/lib/neutral/Migration.mjs.map +0 -7
  186. package/dist/lib/neutral/Obj.mjs +0 -128
  187. package/dist/lib/neutral/Obj.mjs.map +0 -7
  188. package/dist/lib/neutral/Order.mjs +0 -16
  189. package/dist/lib/neutral/Order.mjs.map +0 -7
  190. package/dist/lib/neutral/Query.mjs +0 -38
  191. package/dist/lib/neutral/Query.mjs.map +0 -7
  192. package/dist/lib/neutral/QueryResult.mjs +0 -2
  193. package/dist/lib/neutral/QueryResult.mjs.map +0 -7
  194. package/dist/lib/neutral/Ref.mjs +0 -25
  195. package/dist/lib/neutral/Ref.mjs.map +0 -7
  196. package/dist/lib/neutral/Registry.mjs +0 -14
  197. package/dist/lib/neutral/Registry.mjs.map +0 -7
  198. package/dist/lib/neutral/Relation.mjs +0 -97
  199. package/dist/lib/neutral/Relation.mjs.map +0 -7
  200. package/dist/lib/neutral/Scope.mjs +0 -12
  201. package/dist/lib/neutral/Scope.mjs.map +0 -7
  202. package/dist/lib/neutral/Tag.mjs +0 -32
  203. package/dist/lib/neutral/Tag.mjs.map +0 -7
  204. package/dist/lib/neutral/Text.mjs +0 -25
  205. package/dist/lib/neutral/Text.mjs.map +0 -7
  206. package/dist/lib/neutral/Type.mjs +0 -65
  207. package/dist/lib/neutral/Type.mjs.map +0 -7
  208. package/dist/lib/neutral/chunk-2HKGAQM4.mjs +0 -1394
  209. package/dist/lib/neutral/chunk-2HKGAQM4.mjs.map +0 -7
  210. package/dist/lib/neutral/chunk-2ZHECXUR.mjs +0 -95
  211. package/dist/lib/neutral/chunk-2ZHECXUR.mjs.map +0 -7
  212. package/dist/lib/neutral/chunk-3KTE2Y7Q.mjs +0 -336
  213. package/dist/lib/neutral/chunk-3KTE2Y7Q.mjs.map +0 -7
  214. package/dist/lib/neutral/chunk-3TN2VMI4.mjs +0 -714
  215. package/dist/lib/neutral/chunk-3TN2VMI4.mjs.map +0 -7
  216. package/dist/lib/neutral/chunk-42L4HJ3Z.mjs +0 -104
  217. package/dist/lib/neutral/chunk-42L4HJ3Z.mjs.map +0 -7
  218. package/dist/lib/neutral/chunk-4A2NWKRJ.mjs +0 -747
  219. package/dist/lib/neutral/chunk-4A2NWKRJ.mjs.map +0 -7
  220. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs +0 -25
  221. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +0 -7
  222. package/dist/lib/neutral/chunk-ACFAOTKJ.mjs +0 -1531
  223. package/dist/lib/neutral/chunk-ACFAOTKJ.mjs.map +0 -7
  224. package/dist/lib/neutral/chunk-BEFR7LEA.mjs +0 -170
  225. package/dist/lib/neutral/chunk-BEFR7LEA.mjs.map +0 -7
  226. package/dist/lib/neutral/chunk-BXIKXT7Q.mjs +0 -89
  227. package/dist/lib/neutral/chunk-BXIKXT7Q.mjs.map +0 -7
  228. package/dist/lib/neutral/chunk-C57XMMBY.mjs +0 -206
  229. package/dist/lib/neutral/chunk-C57XMMBY.mjs.map +0 -7
  230. package/dist/lib/neutral/chunk-C62JYFAD.mjs +0 -183
  231. package/dist/lib/neutral/chunk-C62JYFAD.mjs.map +0 -7
  232. package/dist/lib/neutral/chunk-FSGX2R62.mjs +0 -48
  233. package/dist/lib/neutral/chunk-FSGX2R62.mjs.map +0 -7
  234. package/dist/lib/neutral/chunk-HBXT3GSB.mjs +0 -459
  235. package/dist/lib/neutral/chunk-HBXT3GSB.mjs.map +0 -7
  236. package/dist/lib/neutral/chunk-IQR45HAD.mjs +0 -31
  237. package/dist/lib/neutral/chunk-IQR45HAD.mjs.map +0 -7
  238. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
  239. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
  240. package/dist/lib/neutral/chunk-KCBW4BR6.mjs +0 -424
  241. package/dist/lib/neutral/chunk-KCBW4BR6.mjs.map +0 -7
  242. package/dist/lib/neutral/chunk-L3E5IXAE.mjs +0 -575
  243. package/dist/lib/neutral/chunk-L3E5IXAE.mjs.map +0 -7
  244. package/dist/lib/neutral/chunk-PRC4FEKJ.mjs +0 -56
  245. package/dist/lib/neutral/chunk-PRC4FEKJ.mjs.map +0 -7
  246. package/dist/lib/neutral/chunk-SCT6FFCR.mjs +0 -351
  247. package/dist/lib/neutral/chunk-SCT6FFCR.mjs.map +0 -7
  248. package/dist/lib/neutral/chunk-TOCVVFK2.mjs +0 -75
  249. package/dist/lib/neutral/chunk-TOCVVFK2.mjs.map +0 -7
  250. package/dist/lib/neutral/chunk-U53LSQQA.mjs +0 -41
  251. package/dist/lib/neutral/chunk-U53LSQQA.mjs.map +0 -7
  252. package/dist/lib/neutral/chunk-UGFFV2FR.mjs +0 -27
  253. package/dist/lib/neutral/chunk-UGFFV2FR.mjs.map +0 -7
  254. package/dist/lib/neutral/chunk-UWLP4RFM.mjs +0 -7
  255. package/dist/lib/neutral/chunk-UWLP4RFM.mjs.map +0 -7
  256. package/dist/lib/neutral/chunk-UZHCQ6NI.mjs +0 -283
  257. package/dist/lib/neutral/chunk-UZHCQ6NI.mjs.map +0 -7
  258. package/dist/lib/neutral/chunk-WISOH2XH.mjs +0 -36
  259. package/dist/lib/neutral/chunk-WISOH2XH.mjs.map +0 -7
  260. package/dist/lib/neutral/chunk-WKIT2YY5.mjs +0 -34
  261. package/dist/lib/neutral/chunk-WKIT2YY5.mjs.map +0 -7
  262. package/dist/lib/neutral/chunk-XB6ISRAO.mjs +0 -271
  263. package/dist/lib/neutral/chunk-XB6ISRAO.mjs.map +0 -7
  264. package/dist/lib/neutral/chunk-XXL42WCB.mjs +0 -84
  265. package/dist/lib/neutral/chunk-XXL42WCB.mjs.map +0 -7
  266. package/dist/lib/neutral/chunk-XXWK4J53.mjs +0 -117
  267. package/dist/lib/neutral/chunk-XXWK4J53.mjs.map +0 -7
  268. package/dist/lib/neutral/index.mjs +0 -115
  269. package/dist/lib/neutral/index.mjs.map +0 -7
  270. package/dist/lib/neutral/internal/index.mjs +0 -581
  271. package/dist/lib/neutral/internal/index.mjs.map +0 -7
  272. package/dist/lib/neutral/meta.json +0 -1
  273. package/dist/lib/neutral/testing/index.mjs +0 -477
  274. package/dist/lib/neutral/testing/index.mjs.map +0 -7
@@ -1,336 +0,0 @@
1
- import {
2
- Feed,
3
- getQueueUri
4
- } from "./chunk-XXWK4J53.mjs";
5
- import {
6
- everything,
7
- is,
8
- props,
9
- type
10
- } from "./chunk-SCT6FFCR.mjs";
11
- import {
12
- getTypename,
13
- getURI,
14
- instanceOf
15
- } from "./chunk-HBXT3GSB.mjs";
16
- import {
17
- prettyQuery
18
- } from "./chunk-ACFAOTKJ.mjs";
19
- import {
20
- getTypeURIFromSpecifier,
21
- isDatabase
22
- } from "./chunk-3TN2VMI4.mjs";
23
- import {
24
- __export
25
- } from "./chunk-J5LGTIGS.mjs";
26
-
27
- // src/Query.ts
28
- var Query_exports = {};
29
- __export(Query_exports, {
30
- all: () => all,
31
- from: () => from,
32
- fromAst: () => fromAst,
33
- is: () => is2,
34
- pretty: () => pretty,
35
- select: () => select,
36
- type: () => type2,
37
- without: () => without
38
- });
39
- var QueryClass = class _QueryClass {
40
- ast;
41
- static "variance" = {};
42
- constructor(ast) {
43
- this.ast = ast;
44
- }
45
- "~Query" = _QueryClass.variance;
46
- "select"(filter) {
47
- if (is(filter)) {
48
- return new _QueryClass({
49
- type: "filter",
50
- selection: this.ast,
51
- filter: filter.ast
52
- });
53
- } else {
54
- return new _QueryClass({
55
- type: "filter",
56
- selection: this.ast,
57
- filter: props(filter).ast
58
- });
59
- }
60
- }
61
- "reference"(key) {
62
- return new _QueryClass({
63
- type: "reference-traversal",
64
- anchor: this.ast,
65
- property: key
66
- });
67
- }
68
- "referencedBy"(target, key) {
69
- const uri = target !== void 0 ? getTypeURIFromSpecifier(target) : null;
70
- return new _QueryClass({
71
- type: "incoming-references",
72
- anchor: this.ast,
73
- property: key ?? null,
74
- typename: uri ?? null
75
- });
76
- }
77
- "sourceOf"(relation, predicates) {
78
- return new _QueryClass({
79
- type: "relation",
80
- anchor: this.ast,
81
- direction: "outgoing",
82
- filter: relation !== void 0 ? type(relation, predicates).ast : void 0
83
- });
84
- }
85
- "targetOf"(relation, predicates) {
86
- return new _QueryClass({
87
- type: "relation",
88
- anchor: this.ast,
89
- direction: "incoming",
90
- filter: relation !== void 0 ? type(relation, predicates).ast : void 0
91
- });
92
- }
93
- "source"() {
94
- return new _QueryClass({
95
- type: "relation-traversal",
96
- anchor: this.ast,
97
- direction: "source"
98
- });
99
- }
100
- "target"() {
101
- return new _QueryClass({
102
- type: "relation-traversal",
103
- anchor: this.ast,
104
- direction: "target"
105
- });
106
- }
107
- "parent"() {
108
- return new _QueryClass({
109
- type: "hierarchy-traversal",
110
- anchor: this.ast,
111
- direction: "to-parent"
112
- });
113
- }
114
- "children"() {
115
- return new _QueryClass({
116
- type: "hierarchy-traversal",
117
- anchor: this.ast,
118
- direction: "to-children"
119
- });
120
- }
121
- "orderBy"(...order) {
122
- return new _QueryClass({
123
- type: "order",
124
- query: this.ast,
125
- order: order.map((o) => o.ast)
126
- });
127
- }
128
- "limit"(limit) {
129
- return new _QueryClass({
130
- type: "limit",
131
- query: this.ast,
132
- limit
133
- });
134
- }
135
- "from"(...args) {
136
- if (args.length > 1 && args.every(_isRawScope)) {
137
- return new _QueryClass({
138
- type: "from",
139
- query: this.ast,
140
- from: {
141
- _tag: "scope",
142
- scopes: args
143
- }
144
- });
145
- }
146
- const [arg, options] = args;
147
- if (arg == null) {
148
- throw new TypeError('Query.from() requires a valid data source argument (database, feed, query, scope, or "all-accessible-spaces").');
149
- }
150
- if (is2(arg)) {
151
- return new _QueryClass({
152
- type: "from",
153
- query: this.ast,
154
- from: {
155
- _tag: "query",
156
- query: arg.ast
157
- }
158
- });
159
- }
160
- if (arg === "all-accessible-spaces") {
161
- return new _QueryClass({
162
- type: "from",
163
- query: this.ast,
164
- from: {
165
- _tag: "scope",
166
- scopes: []
167
- }
168
- });
169
- }
170
- if (Array.isArray(arg) && arg.every(_isRawScope)) {
171
- return new _QueryClass({
172
- type: "from",
173
- query: this.ast,
174
- from: {
175
- _tag: "scope",
176
- scopes: arg
177
- }
178
- });
179
- }
180
- if (_isRawScope(arg)) {
181
- return new _QueryClass({
182
- type: "from",
183
- query: this.ast,
184
- from: {
185
- _tag: "scope",
186
- scopes: [
187
- arg
188
- ]
189
- }
190
- });
191
- }
192
- const items = Array.isArray(arg) ? arg : [
193
- arg
194
- ];
195
- if (items.length > 0 && isDatabase(items[0])) {
196
- const databases = items;
197
- return new _QueryClass({
198
- type: "from",
199
- query: this.ast,
200
- from: {
201
- _tag: "scope",
202
- scopes: databases.map((db) => ({
203
- _tag: "space",
204
- spaceId: db.spaceId,
205
- ...options?.includeFeeds ? {
206
- includeAllFeeds: true
207
- } : {}
208
- }))
209
- }
210
- });
211
- }
212
- if (items.length > 0) {
213
- const typename = getTypename(items[0]);
214
- if (typename === "org.dxos.type.view") {
215
- throw new Error("Query.from(view) is not yet supported.");
216
- }
217
- if (typename === "org.dxos.type.collection") {
218
- throw new Error("Query.from(collection) is not yet supported.");
219
- }
220
- for (const item of items) {
221
- if (!instanceOf(Feed, item)) {
222
- throw new TypeError(`Query.from() expects Feed objects (org.dxos.type.feed), but received an object with typename '${typename ?? "unknown"}'.`);
223
- }
224
- }
225
- }
226
- const feedItems = items;
227
- const feedScopes = feedItems.map((feed) => {
228
- const uri = getQueueUri(feed);
229
- if (!uri) {
230
- throw new TypeError(`Query.from() expects persisted Feed objects with a queue URI; got feed without a space (id=${getURI(feed)}).`);
231
- }
232
- return {
233
- _tag: "feed",
234
- feedUri: String(uri)
235
- };
236
- });
237
- return new _QueryClass({
238
- type: "from",
239
- query: this.ast,
240
- from: {
241
- _tag: "scope",
242
- scopes: feedScopes
243
- }
244
- });
245
- }
246
- "options"(options) {
247
- return new _QueryClass({
248
- type: "options",
249
- query: this.ast,
250
- options
251
- });
252
- }
253
- "debugLabel"(label) {
254
- if (this.ast.type === "options") {
255
- return new _QueryClass({
256
- type: "options",
257
- query: this.ast.query,
258
- options: {
259
- ...this.ast.options,
260
- debugLabel: label
261
- }
262
- });
263
- }
264
- return new _QueryClass({
265
- type: "options",
266
- query: this.ast,
267
- options: {
268
- debugLabel: label
269
- }
270
- });
271
- }
272
- };
273
- var is2 = (value) => {
274
- return typeof value === "object" && value !== null && "~Query" in value;
275
- };
276
- var fromAst = (ast) => {
277
- return new QueryClass(ast);
278
- };
279
- var select = (filter) => {
280
- return new QueryClass({
281
- type: "select",
282
- filter: filter.ast
283
- });
284
- };
285
- var type2 = (type3, predicates) => {
286
- return new QueryClass({
287
- type: "select",
288
- filter: type(type3, predicates).ast
289
- });
290
- };
291
- var all = (...queries) => {
292
- if (queries.length === 0) {
293
- throw new TypeError("Query.all combines results of multiple queries, to query all objects use Query.select(Filter.everything())");
294
- }
295
- return new QueryClass({
296
- type: "union",
297
- queries: queries.map((q) => q.ast)
298
- });
299
- };
300
- var without = (source, exclude) => {
301
- return new QueryClass({
302
- type: "set-difference",
303
- source: source.ast,
304
- exclude: exclude.ast
305
- });
306
- };
307
- var from = (...args) => {
308
- const baseQuery = {
309
- type: "select",
310
- filter: everything().ast
311
- };
312
- const wrapper = new QueryClass(baseQuery);
313
- return wrapper.from(...args);
314
- };
315
- var SCOPE_TAGS = /* @__PURE__ */ new Set([
316
- "space",
317
- "feed",
318
- "registry"
319
- ]);
320
- var _isRawScope = (value) => {
321
- return typeof value === "object" && value !== null && !Array.isArray(value) && "_tag" in value && typeof value._tag === "string" && SCOPE_TAGS.has(value._tag);
322
- };
323
- var pretty = (query) => prettyQuery(query.ast);
324
-
325
- export {
326
- is2 as is,
327
- fromAst,
328
- select,
329
- type2 as type,
330
- all,
331
- without,
332
- from,
333
- pretty,
334
- Query_exports
335
- };
336
- //# sourceMappingURL=chunk-3KTE2Y7Q.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/Query.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport type * as EffectArray from 'effect/Array';\nimport type * as Schema from 'effect/Schema';\n\nimport { type QueryAST } from '@dxos/echo-protocol';\nimport { type URI } from '@dxos/keys';\n\nimport type * as Collection from './Collection';\nimport * as Database from './Database';\nimport type * as Dataset from './Dataset';\nimport * as Feed from './Feed';\nimport * as Filter from './Filter';\nimport * as internal from './internal';\nimport * as Obj from './Obj';\nimport type * as Order from './Order';\nimport type * as Ref from './Ref';\nimport type * as Relation from './Relation';\n// eslint-disable-next-line @dxos/rules/import-as-namespace\nimport type * as Type$ from './Type';\nimport type * as View from './View';\n\n// TODO(dmaretskyi): Split up into interfaces for objects and relations so they can have separate verbs.\n// TODO(dmaretskyi): Undirected relation traversals.\n// TODO(wittjosiah): Make Filter & Query pipeable.\n\n/**\n * All property paths inside T that are references.\n */\n// TODO(dmaretskyi): Filter only properties that are references (or optional references, or unions that include references).\ntype RefPropKey<T> = keyof T & string;\n\ntype RefArrayElement<A> = A extends readonly (infer E)[] ? E : A extends (infer E)[] ? E : never;\n\n/** Target entity when traversing an outgoing ref or array-of-refs property. */\ntype ReferenceTraversalTarget<P> = P extends Ref.Unknown\n ? Ref.Target<P>\n : P extends Ref.Unknown | undefined\n ? Ref.Target<Exclude<P, undefined>>\n : RefArrayElement<P> extends Ref.Unknown\n ? Ref.Target<RefArrayElement<P>>\n : never;\n\n// TODO(burdon): Narrow T to Entity.Unknown?\nexport interface Query<T> {\n // TODO(dmaretskyi): See new effect-schema approach to variance.\n '~Query': { value: T };\n\n 'ast': QueryAST.Query;\n\n /**\n * Filter the current selection based on a filter.\n * @param filter - Filter to select the objects.\n * @returns Query for the selected objects.\n */\n 'select'(filter: Filter.Filter<T>): Query<T>;\n 'select'(props: Filter.Props<T>): Query<T>;\n\n /**\n * Traverse an outgoing reference.\n * @param key - Property path inside T that is a reference or optional reference.\n * @returns Query for the target of the reference.\n */\n 'reference'<K extends RefPropKey<T>>(key: K): Query<ReferenceTraversalTarget<T[K]>>;\n\n /**\n * Find objects referencing this object.\n * @param target - Schema of the referencing object. If not provided, matches any type.\n * @param key - Property path inside the referencing object that is a reference. If not provided, matches any property.\n * @returns Query for the referencing objects.\n */\n // TODO(dmaretskyi): any way to enforce `Ref.Target<Schema.Schema.Type<S>[key]> == T`?\n // TODO(dmaretskyi): Ability to go through arrays of references.\n 'referencedBy'<S extends Type$.AnyEntity>(\n target: S | URI.URI,\n key: RefPropKey<Type$.InstanceType<S>>,\n ): Query<Type$.InstanceType<S>>;\n 'referencedBy'<S extends Type$.AnyEntity>(target: S | URI.URI): Query<Type$.InstanceType<S>>;\n 'referencedBy'(): Query<any>;\n\n /**\n * Find relations where this object is the source.\n * @returns Query for the relation objects.\n * @param relation - Schema of the relation.\n * @param predicates - Predicates to filter the relation objects.\n */\n 'sourceOf'<R extends Type$.AnyRelation>(\n relation?: R | URI.URI,\n predicates?: Filter.Props<Type$.InstanceType<R>>,\n ): Query<Type$.InstanceType<R>>;\n\n /**\n * Find relations where this object is the target.\n * @returns Query for the relation objects.\n * @param relation - Type entity of the relation.\n * @param predicates - Predicates to filter the relation objects.\n */\n 'targetOf'<R extends Type$.AnyRelation>(\n relation?: R | URI.URI,\n predicates?: Filter.Props<Type$.InstanceType<R>>,\n ): Query<Type$.InstanceType<R>>;\n\n /**\n * For a query for relations, get the source objects.\n * @returns Query for the source objects.\n */\n 'source'(): Query<Relation.SourceOf<T>>;\n\n /**\n * For a query for relations, get the target objects.\n * @returns Query for the target objects.\n */\n 'target'(): Query<Relation.TargetOf<T>>;\n\n /**\n * Get the parent object of the current selection.\n * @returns Query for the parent objects.\n */\n 'parent'(): Query<any>;\n\n /**\n * Get all child objects of the current selection.\n * @returns Query for the child objects.\n */\n 'children'(): Query<any>;\n\n /**\n * Order the query results.\n * Orders are specified in priority order. The first order will be applied first, etc.\n * @param order - Order to sort the results.\n * @returns Query for the ordered results.\n */\n 'orderBy'(...order: EffectArray.NonEmptyArray<Order.Order<T>>): Query<T>;\n\n /**\n * Limit the number of results.\n * @param limit - Maximum number of results to return.\n * @returns Query for the limited results.\n */\n 'limit'(limit: number): Query<T>;\n\n /**\n * Query from selected databases only.\n *\n * Example:\n *\n * ```ts\n * Query.select(Filter.type(Person)).from(db);\n * ```\n *\n * @param options.includeFeeds [false] - Whether to include feeds in the query. Default is to query from automerge documents only.\n */\n 'from'(database: Database.Database | Database.Database[], options?: { includeFeeds?: boolean }): Query<T>;\n\n /**\n * Query from selected feeds only.\n *\n * Example:\n *\n * ```ts\n * Query.select(Filter.type(Person)).from(feed);\n * ```\n *\n */\n 'from'(feeds: Feed.Feed | Feed.Feed[]): Query<T>;\n\n /**\n * Query from all accessible spaces.\n *\n * Example:\n *\n * ```ts\n * Query.select(Filter.type(Person)).from('all-accessible-spaces');\n * ```\n *\n * @param options.includeFeeds [false] - Whether to include feeds in the query. Default is to query from automerge documents only.\n */\n 'from'(allSpaces: 'all-accessible-spaces', options?: { includeFeeds?: boolean }): Query<T>;\n\n /**\n * Query from a dataset.\n * Currently only feeds are supported.\n *\n * Example:\n *\n * ```ts\n * Query.type(Person).from(feed);\n * ```\n */\n 'from'(dataset: Dataset.Dataset): Query<T>;\n\n /**\n * Query from the results of another query.\n *\n * Example:\n *\n * ```ts\n * Query.select(Filter.props({ foo: 'foo' })).from(Query.select(Filter.type(Contact)).reference('org'));\n * ```\n */\n 'from'(query: Any): Query<T>;\n\n /**\n * Query from one or more raw scopes.\n *\n * Use the {@link Scope} constructors rather than raw tagged objects:\n *\n * ```ts\n * Query.select(Filter.type(Type.Type)).from(Scope.space(), Scope.registry());\n * ```\n */\n 'from'(...scopes: QueryAST.Scope[]): Query<T>;\n\n /**\n * Query from a raw scope or array of scopes.\n */\n 'from'(scope: QueryAST.Scope | QueryAST.Scope[]): Query<T>;\n\n /**\n * Add options to a query.\n */\n 'options'(options: QueryAST.QueryOptions): Query<T>;\n\n /**\n * Attach a diagnostic label for logs and tooling (execution semantics unchanged).\n */\n 'debugLabel'(label: string): Query<T>;\n}\n\nexport type Any = Query<any>;\n\nexport type Type<Q extends Any> = Q extends Query<infer T> ? T : never;\n\nclass QueryClass implements Any {\n private static 'variance': Any['~Query'] = {} as Any['~Query'];\n\n 'constructor'(public readonly ast: QueryAST.Query) {}\n\n '~Query' = QueryClass.variance;\n\n 'select'(filter: Filter.Any | Filter.Props<any>): Any {\n if (Filter.is(filter)) {\n return new QueryClass({\n type: 'filter',\n selection: this.ast,\n filter: filter.ast,\n });\n } else {\n return new QueryClass({\n type: 'filter',\n selection: this.ast,\n filter: Filter.props(filter).ast,\n });\n }\n }\n\n 'reference'(key: string): Any {\n return new QueryClass({\n type: 'reference-traversal',\n anchor: this.ast,\n property: key,\n });\n }\n\n 'referencedBy'(target?: Type$.AnyEntity | URI.URI, key?: string): Any {\n const uri = target !== undefined ? internal.getTypeURIFromSpecifier(target) : null;\n return new QueryClass({\n type: 'incoming-references',\n anchor: this.ast,\n property: key ?? null,\n typename: uri ?? null,\n });\n }\n\n 'sourceOf'(relation?: Type$.AnyRelation | URI.URI, predicates?: Filter.Props<unknown> | undefined): Any {\n return new QueryClass({\n type: 'relation',\n anchor: this.ast,\n direction: 'outgoing',\n filter: relation !== undefined ? Filter.type(relation, predicates).ast : undefined,\n });\n }\n\n 'targetOf'(relation?: Type$.AnyRelation | URI.URI, predicates?: Filter.Props<unknown> | undefined): Any {\n return new QueryClass({\n type: 'relation',\n anchor: this.ast,\n direction: 'incoming',\n filter: relation !== undefined ? Filter.type(relation, predicates).ast : undefined,\n });\n }\n\n 'source'(): Any {\n return new QueryClass({\n type: 'relation-traversal',\n anchor: this.ast,\n direction: 'source',\n });\n }\n\n 'target'(): Any {\n return new QueryClass({\n type: 'relation-traversal',\n anchor: this.ast,\n direction: 'target',\n });\n }\n\n 'parent'(): Any {\n return new QueryClass({\n type: 'hierarchy-traversal',\n anchor: this.ast,\n direction: 'to-parent',\n });\n }\n\n 'children'(): Any {\n return new QueryClass({\n type: 'hierarchy-traversal',\n anchor: this.ast,\n direction: 'to-children',\n });\n }\n\n 'orderBy'(...order: Order.Order<any>[]): Any {\n return new QueryClass({\n type: 'order',\n query: this.ast,\n order: order.map((o) => o.ast),\n });\n }\n\n 'limit'(limit: number): Any {\n return new QueryClass({\n type: 'limit',\n query: this.ast,\n limit,\n });\n }\n\n 'from'(\n ...args:\n | [\n (\n | Database.Database\n | Database.Database[]\n | Feed.Feed\n | Feed.Feed[]\n | Collection.Collection\n | View.View\n | Any\n | QueryAST.Scope\n | QueryAST.Scope[]\n | 'all-accessible-spaces'\n ),\n { includeFeeds?: boolean }?,\n ]\n | QueryAST.Scope[]\n ): Any {\n // Variadic raw scopes: `.from(Scope.space(), Scope.registry())`.\n if (args.length > 1 && args.every(_isRawScope)) {\n return new QueryClass({\n type: 'from',\n query: this.ast,\n from: { _tag: 'scope', scopes: args as QueryAST.Scope[] },\n });\n }\n\n const [arg, options] = args as [\n (\n | Database.Database\n | Database.Database[]\n | Feed.Feed\n | Feed.Feed[]\n | Collection.Collection\n | View.View\n | Any\n | QueryAST.Scope\n | QueryAST.Scope[]\n | 'all-accessible-spaces'\n ),\n { includeFeeds?: boolean }?,\n ];\n if (arg == null) {\n throw new TypeError(\n 'Query.from() requires a valid data source argument (database, feed, query, scope, or \"all-accessible-spaces\").',\n );\n }\n\n if (is(arg)) {\n return new QueryClass({\n type: 'from',\n query: this.ast,\n from: { _tag: 'query', query: arg.ast },\n });\n }\n\n if (arg === 'all-accessible-spaces') {\n return new QueryClass({\n type: 'from',\n query: this.ast,\n from: { _tag: 'scope', scopes: [] },\n });\n }\n\n // Raw scope(s): tagged union objects with _tag 'space' | 'feed' | 'registry'.\n if (Array.isArray(arg) && arg.every(_isRawScope)) {\n return new QueryClass({\n type: 'from',\n query: this.ast,\n from: { _tag: 'scope', scopes: arg as QueryAST.Scope[] },\n });\n }\n if (_isRawScope(arg)) {\n return new QueryClass({\n type: 'from',\n query: this.ast,\n from: { _tag: 'scope', scopes: [arg] },\n });\n }\n\n const items = Array.isArray(arg) ? arg : [arg];\n\n if (items.length > 0 && Database.isDatabase(items[0])) {\n const databases = items as Database.Database[];\n return new QueryClass({\n type: 'from',\n query: this.ast,\n from: {\n _tag: 'scope',\n scopes: databases.map((db) => ({\n _tag: 'space' as const,\n spaceId: db.spaceId,\n ...(options?.includeFeeds ? { includeAllFeeds: true } : {}),\n })),\n },\n });\n }\n\n if (items.length > 0) {\n const typename = Obj.getTypename(items[0] as Obj.Unknown);\n // TODO(dmaretskyi): Support querying from views.\n if (typename === 'org.dxos.type.view') {\n throw new Error('Query.from(view) is not yet supported.');\n }\n // TODO(dmaretskyi): Support querying from collections.\n if (typename === 'org.dxos.type.collection') {\n throw new Error('Query.from(collection) is not yet supported.');\n }\n // Validate that the items are Feed.Feed instances.\n for (const item of items) {\n if (!Obj.instanceOf(Feed.Feed, item)) {\n throw new TypeError(\n `Query.from() expects Feed objects (org.dxos.type.feed), but received an object with typename '${typename ?? 'unknown'}'.`,\n );\n }\n }\n }\n\n const feedItems = items as Feed.Feed[];\n const feedScopes = feedItems.map((feed) => {\n const uri = Feed.getQueueUri(feed);\n if (!uri) {\n throw new TypeError(\n `Query.from() expects persisted Feed objects with a queue URI; got feed without a space (id=${Obj.getURI(feed)}).`,\n );\n }\n return { _tag: 'feed' as const, feedUri: String(uri) };\n });\n return new QueryClass({\n type: 'from',\n query: this.ast,\n from: { _tag: 'scope', scopes: feedScopes },\n });\n }\n\n 'options'(options: QueryAST.QueryOptions): Any {\n return new QueryClass({\n type: 'options',\n query: this.ast,\n options,\n });\n }\n\n 'debugLabel'(label: string): Any {\n if (this.ast.type === 'options') {\n return new QueryClass({\n type: 'options',\n query: this.ast.query,\n options: { ...this.ast.options, debugLabel: label },\n });\n }\n return new QueryClass({\n type: 'options',\n query: this.ast,\n options: { debugLabel: label },\n });\n }\n}\n\nexport const is = (value: unknown): value is Any => {\n return typeof value === 'object' && value !== null && '~Query' in value;\n};\n\n/** Construct a query from an ast. */\nexport const fromAst = (ast: QueryAST.Query): Any => {\n return new QueryClass(ast);\n};\n\n/**\n * Select objects based on a filter.\n * @param filter - Filter to select the objects.\n * @returns Query for the selected objects.\n */\nexport const select = <F extends Filter.Any>(filter: F): Query<Filter.Type<F>> => {\n return new QueryClass({\n type: 'select',\n filter: filter.ast,\n });\n};\n\n/**\n * Query for objects of a given schema.\n * @param schema - Schema of the objects.\n * @param predicates - Predicates to filter the objects.\n * @returns Query for the objects.\n *\n * Shorthand for: `Query.select(Filter.type(schema, predicates))`.\n */\nexport const type: {\n <T extends Type$.AnyEntity>(type: T, predicates?: Filter.Props<Type$.InstanceType<T>>): Query<Type$.InstanceType<T>>;\n // Brand-narrowed schema overload — only well-known unknown schemas pass.\n <S extends internal.UnknownTypeSchema<any, any>>(\n schema: S,\n predicates?: Filter.Props<Schema.Schema.Type<S>>,\n ): Query<Schema.Schema.Type<S>>;\n <S extends Schema.Union<readonly Schema.Schema.AnyNoContext[]>>(\n union: S,\n predicates?: Filter.Props<Schema.Schema.Type<S>>,\n ): Query<Schema.Schema.Type<S>>;\n (uri: URI.URI, predicates?: Filter.Props<unknown>): Query<any>;\n} = (type: Type$.AnyEntity | URI.URI, predicates?: Filter.Props<unknown>): Any => {\n return new QueryClass({\n type: 'select',\n filter: Filter.type(type, predicates).ast,\n });\n};\n\n/**\n * Combine results of multiple queries.\n * @param queries - Queries to combine.\n * @returns Query for the combined results.\n */\n// TODO(dmaretskyi): Rename to `combine` or `union`.\nexport const all = (...queries: Any[]): Any => {\n if (queries.length === 0) {\n throw new TypeError(\n 'Query.all combines results of multiple queries, to query all objects use Query.select(Filter.everything())',\n );\n }\n return new QueryClass({\n type: 'union',\n queries: queries.map((q) => q.ast),\n });\n};\n\n/**\n * Subtract one query from another.\n * @param source - Query to subtract from.\n * @param exclude - Query to subtract.\n * @returns Query for the results of the source query minus the results of the exclude query.\n */\nexport const without = <T>(source: Query<T>, exclude: Query<T>): Query<T> => {\n return new QueryClass({\n type: 'set-difference',\n source: source.ast,\n exclude: exclude.ast,\n });\n};\n\n/**\n * Create a query scoped to a data source.\n * The returned query selects everything from the source; chain `.select()` to narrow results.\n *\n * @param source - Data source: database, feed, 'all-accessible-spaces', or another query.\n * @returns Query scoped to the given source.\n */\nexport const from = (\n ...args:\n | [\n (\n | Database.Database\n | Database.Database[]\n | Feed.Feed\n | Feed.Feed[]\n | Any\n | QueryAST.Scope\n | QueryAST.Scope[]\n | 'all-accessible-spaces'\n ),\n { includeFeeds?: boolean }?,\n ]\n | QueryAST.Scope[]\n): Any => {\n const baseQuery: QueryAST.Query = {\n type: 'select',\n filter: Filter.everything().ast,\n };\n const wrapper = new QueryClass(baseQuery);\n return (wrapper.from as (...args: unknown[]) => Any)(...args);\n};\n\nconst SCOPE_TAGS = new Set<string>(['space', 'feed', 'registry']);\n\n/** Detect a raw Scope tagged-union object. */\nconst _isRawScope = (value: unknown): value is QueryAST.Scope => {\n return (\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value) &&\n '_tag' in value &&\n typeof value._tag === 'string' &&\n SCOPE_TAGS.has(value._tag)\n );\n};\n\n/**\n * Returns a human-readable string representation of a Query AST.\n */\nexport const pretty = (query: Any): string => internal.prettyQuery(query.ast);\n"],
5
- "mappings": "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",
6
- "names": ["is", "type", "QueryClass", "ast", "variance", "filter", "is", "type", "selection", "props", "key", "anchor", "property", "target", "uri", "undefined", "getTypeURIFromSpecifier", "typename", "relation", "predicates", "direction", "order", "query", "map", "o", "limit", "args", "length", "every", "_isRawScope", "from", "_tag", "scopes", "arg", "options", "TypeError", "Array", "isArray", "items", "isDatabase", "databases", "db", "spaceId", "includeFeeds", "includeAllFeeds", "getTypename", "Error", "item", "instanceOf", "Feed", "feedItems", "feedScopes", "feed", "getQueueUri", "getURI", "feedUri", "String", "label", "debugLabel", "value", "fromAst", "select", "all", "queries", "q", "without", "source", "exclude", "baseQuery", "everything", "wrapper", "SCOPE_TAGS", "Set", "has", "pretty", "prettyQuery"]
7
- }