@effect-app/infra 4.0.0-beta.212 → 4.0.0-beta.214

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 (42) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
  3. package/dist/Model/Repository/internal/internal.js +6 -2
  4. package/dist/Model/Repository/validation.d.ts +8 -8
  5. package/dist/Model/query/dsl.d.ts +76 -1
  6. package/dist/Model/query/dsl.d.ts.map +1 -1
  7. package/dist/Model/query/dsl.js +111 -1
  8. package/dist/Model/query/new-kid-interpreter.d.ts +38 -2
  9. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  10. package/dist/Model/query/new-kid-interpreter.js +80 -4
  11. package/dist/RequestContext.d.ts +12 -12
  12. package/dist/Store/Cosmos/query.d.ts +5 -1
  13. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  14. package/dist/Store/Cosmos/query.js +63 -23
  15. package/dist/Store/Cosmos.d.ts.map +1 -1
  16. package/dist/Store/Cosmos.js +1 -1
  17. package/dist/Store/Memory.d.ts.map +1 -1
  18. package/dist/Store/Memory.js +86 -2
  19. package/dist/Store/SQL/Pg.d.ts.map +1 -1
  20. package/dist/Store/SQL/Pg.js +1 -1
  21. package/dist/Store/SQL/query.d.ts +5 -1
  22. package/dist/Store/SQL/query.d.ts.map +1 -1
  23. package/dist/Store/SQL/query.js +51 -1
  24. package/dist/Store/SQL.d.ts.map +1 -1
  25. package/dist/Store/SQL.js +1 -1
  26. package/dist/Store/service.d.ts +5 -2
  27. package/dist/Store/service.d.ts.map +1 -1
  28. package/dist/Store/service.js +1 -1
  29. package/package.json +2 -2
  30. package/src/Model/Repository/internal/internal.ts +5 -1
  31. package/src/Model/query/dsl.ts +191 -0
  32. package/src/Model/query/new-kid-interpreter.ts +124 -4
  33. package/src/Store/Cosmos/query.ts +80 -23
  34. package/src/Store/Cosmos.ts +10 -2
  35. package/src/Store/Memory.ts +96 -4
  36. package/src/Store/SQL/Pg.ts +10 -1
  37. package/src/Store/SQL/query.ts +65 -1
  38. package/src/Store/SQL.ts +19 -2
  39. package/src/Store/service.ts +9 -2
  40. package/test/query.test.ts +156 -1
  41. package/test/rawQuery.test.ts +36 -1
  42. package/test/sql-store.test.ts +362 -0
@@ -13,7 +13,8 @@ const interpret = (_) => {
13
13
  skip: undefined,
14
14
  order: [],
15
15
  ttype: undefined,
16
- mode: undefined
16
+ mode: undefined,
17
+ computed: undefined
17
18
  };
18
19
  const upd = (v) => {
19
20
  data.filter.push(...v.filter);
@@ -28,6 +29,8 @@ const interpret = (_) => {
28
29
  data.schema = v.schema;
29
30
  if (v.mode !== undefined)
30
31
  data.mode = v.mode;
32
+ if (v.computed !== undefined)
33
+ data.computed = v.computed;
31
34
  };
32
35
  const applyPath = (path) => (_) => _.t === "where" || _.t === "and" || _.t === "or"
33
36
  ? { ..._, path: `${path}.-1.${_.path}` }
@@ -103,8 +106,42 @@ const interpret = (_) => {
103
106
  },
104
107
  project: (v) => {
105
108
  upd(interpret(v.current));
109
+ if (v.computed && v.mode === "transform") {
110
+ throw new Error("Computed projections require mode 'project' or 'collect', not 'transform'");
111
+ }
106
112
  data.schema = v.schema;
107
- data.mode = v.mode;
113
+ data.mode = v.computed
114
+ ? v.mode === "collect" ? "collect" : "project"
115
+ : v.mode;
116
+ data.computed = v.computed
117
+ ? Object.fromEntries(Object.entries(v.computed).map(([key, expression]) => {
118
+ const e = expression;
119
+ const filter = e.operation ? interpret(e.operation(make())).filter.map(applyPath(e.path)) : [];
120
+ switch (e._tag) {
121
+ case "relation-count":
122
+ case "relation-any":
123
+ case "relation-every":
124
+ return [key, { _tag: e._tag, path: e.path, filter }];
125
+ case "relation-distinct-count":
126
+ case "relation-sum":
127
+ return [
128
+ key,
129
+ { _tag: e._tag, path: e.path, field: e.field, filter }
130
+ ];
131
+ case "relation-collect":
132
+ return [
133
+ key,
134
+ {
135
+ _tag: e._tag,
136
+ path: e.path,
137
+ field: e.field,
138
+ distinct: e.distinct,
139
+ filter
140
+ }
141
+ ];
142
+ }
143
+ }))
144
+ : undefined;
108
145
  }
109
146
  }));
110
147
  return data;
@@ -115,7 +152,7 @@ const walkTransformation = (t) => {
115
152
  }
116
153
  return t;
117
154
  };
118
- export const toFilter = (q) => {
155
+ export const toFilter = (q, baseSchema) => {
119
156
  // TODO: Native interpreter for each db adapter, instead of the intermediate "new-kid" format
120
157
  const a = interpret(q);
121
158
  const schema = a.schema;
@@ -148,12 +185,51 @@ export const toFilter = (q) => {
148
185
  }
149
186
  }
150
187
  }
188
+ const computed = a.computed;
189
+ const getSelectKey = (_) => {
190
+ if (typeof _ === "string") {
191
+ return _;
192
+ }
193
+ if (typeof _ === "object" && _ !== null && "key" in _) {
194
+ return _.key;
195
+ }
196
+ return String(_);
197
+ };
198
+ const schemaKeys = select.map(getSelectKey);
199
+ const nonEncodedSchemaKeys = (() => {
200
+ if (!baseSchema) {
201
+ return [];
202
+ }
203
+ const encoded = walkTransformation(SchemaAST.toEncoded(baseSchema.ast));
204
+ if (!S.AST.isObjects(encoded)) {
205
+ return [];
206
+ }
207
+ const encodedKeys = encoded.propertySignatures.map((_) => _.name);
208
+ return schemaKeys.filter((key) => !encodedKeys.includes(key));
209
+ })();
210
+ const missingComputedKeys = nonEncodedSchemaKeys.filter((key) => !(computed && key in computed));
211
+ if (Array.isArrayNonEmpty(missingComputedKeys)) {
212
+ throw new Error(`Missing computed projections for schema keys: ${missingComputedKeys.join(", ")}`);
213
+ }
214
+ if (computed) {
215
+ const computedKeys = Object.keys(computed);
216
+ const extraComputedKeys = computedKeys.filter((key) => !schemaKeys.includes(key));
217
+ if (Array.isArrayNonEmpty(extraComputedKeys)) {
218
+ throw new Error(`Computed projection keys must exist in projection schema: ${extraComputedKeys.join(", ")}`);
219
+ }
220
+ select = select.filter((_) => {
221
+ const key = getSelectKey(_);
222
+ return !(key in computed);
223
+ });
224
+ select.push(...Object.entries(computed).map(([key, expression]) => ({ key, computed: expression })));
225
+ }
151
226
  return dropUndefinedT({
152
227
  t: null,
153
228
  limit: a.limit,
154
229
  skip: a.skip,
155
230
  select: Option.getOrUndefined(toNonEmptyArray(select)),
156
231
  schema,
232
+ computed,
157
233
  order: Option.getOrUndefined(toNonEmptyArray(a.order)),
158
234
  ttype: a.ttype,
159
235
  mode: a.mode ?? "transform",
@@ -162,4 +238,4 @@ export const toFilter = (q) => {
162
238
  : undefined
163
239
  });
164
240
  };
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWtpZC1pbnRlcnByZXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9Nb2RlbC9xdWVyeS9uZXcta2lkLWludGVycHJldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCw0REFBNEQ7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBSWpELE9BQU8sRUFBRSxJQUFJLEVBQXFCLE1BQU0saUJBQWlCLENBQUE7QUFZekQsTUFBTSxTQUFTLEdBQUcsQ0FLaEIsQ0FBZ0QsRUFBRSxFQUFFO0lBQ3BELE1BQU0sQ0FBQyxHQUFHLENBQW9CLENBQUE7SUFFOUIsTUFBTSxJQUFJLEdBQW1DO1FBQzNDLE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLFNBQVM7UUFDakIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsRUFBRTtRQUNULEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUE7SUFFRCxNQUFNLEdBQUcsR0FBRyxDQUNWLENBQWlDLEVBQ2pDLEVBQUU7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtB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
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWtpZC1pbnRlcnByZXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9Nb2RlbC9xdWVyeS9uZXcta2lkLWludGVycHJldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCw0REFBNEQ7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBSWpELE9BQU8sRUFBRSxJQUFJLEVBQXFCLE1BQU0saUJBQWlCLENBQUE7QUFpRHpELE1BQU0sU0FBUyxHQUFHLENBS2hCLENBQWdELEVBQUUsRUFBRTtJQUNwRCxNQUFNLENBQUMsR0FBRyxDQUFvQixDQUFBO0lBRTlCLE1BQU0sSUFBSSxHQUFtQztRQUMzQyxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSyxFQUFFLEVBQUU7UUFDVCxLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsU0FBUztRQUNmLFFBQVEsRUFBRSxTQUFTO0tBQ3BCLENBQUE7SUFFRCxNQUFNLEdBQUcsR0FBRyxDQUNWLENBQWlDLEVBQ2pDLEVBQUU7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUMvQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUM1QyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUMvQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUNsRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUM1QyxJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtJQUMxRCxDQUFDLENBQUE7SUFFRCxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFlLEVBQWdCLEVBQUUsQ0FDcEUsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJO1FBQzlDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDeEMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFckQsSUFBSSxDQUNGLENBQUMsRUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2QsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUNWLDBCQUEwQjtRQUM1QixDQUFDO1FB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
@@ -4,11 +4,11 @@ import { NonEmptyString255 } from "effect-app/Schema";
4
4
  export declare const Locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
5
5
  changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
6
6
  Default: A;
7
- withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
7
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
8
8
  withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
9
9
  };
10
10
  Default: "en";
11
- withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
11
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
12
12
  withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
13
13
  };
14
14
  export type Locale = typeof Locale.Type;
@@ -20,7 +20,7 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
20
20
  readonly traceId: S.String;
21
21
  readonly spanId: S.String;
22
22
  readonly sampled: import("effect/Schema").Boolean & {
23
- withDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
23
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
24
24
  withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
25
25
  };
26
26
  }>;
@@ -28,11 +28,11 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
28
28
  readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
29
29
  changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
30
30
  Default: A;
31
- withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
31
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
32
32
  withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
33
33
  };
34
34
  Default: "en";
35
- withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
35
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
36
36
  withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
37
37
  };
38
38
  readonly sourceId: S.optional<S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>>;
@@ -40,10 +40,10 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
40
40
  /** @deprecated */
41
41
  readonly userProfile: S.optional<S.Struct<{
42
42
  readonly sub: S.WithDefaults<S.Codec<UserProfileId, string, never, never> & {
43
- withDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
43
+ withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
44
44
  make: () => UserProfileId;
45
45
  } & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>> & S.Codec<UserProfileId, string, never, never> & {
46
- withDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
46
+ withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
47
47
  make: () => UserProfileId;
48
48
  } & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>;
49
49
  }>>;
@@ -52,7 +52,7 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
52
52
  readonly traceId: S.String;
53
53
  readonly spanId: S.String;
54
54
  readonly sampled: import("effect/Schema").Boolean & {
55
- withDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
55
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
56
56
  withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
57
57
  };
58
58
  }>;
@@ -60,11 +60,11 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
60
60
  readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
61
61
  changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
62
62
  Default: A;
63
- withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
63
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
64
64
  withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
65
65
  };
66
66
  Default: "en";
67
- withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
67
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
68
68
  withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
69
69
  };
70
70
  readonly sourceId: S.optional<S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>>;
@@ -72,10 +72,10 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
72
72
  /** @deprecated */
73
73
  readonly userProfile: S.optional<S.Struct<{
74
74
  readonly sub: S.WithDefaults<S.Codec<UserProfileId, string, never, never> & {
75
- withDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
75
+ withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
76
76
  make: () => UserProfileId;
77
77
  } & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>> & S.Codec<UserProfileId, string, never, never> & {
78
- withDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
78
+ withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
79
79
  make: () => UserProfileId;
80
80
  } & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>;
81
81
  }>>;
@@ -1,5 +1,6 @@
1
1
  import { Effect, type NonEmptyReadonlyArray } from "effect-app";
2
2
  import type { FilterResult } from "../../Model/filter/filterApi.js";
3
+ import type { ComputedProjectionIrExpression } from "../../Model/query.js";
3
4
  import type { SupportedValues } from "../service.js";
4
5
  export declare function logQuery(q: {
5
6
  query: string;
@@ -11,6 +12,9 @@ export declare function logQuery(q: {
11
12
  export declare function buildWhereCosmosQuery3(idKey: PropertyKey, filter: readonly FilterResult[], name: string, defaultValues: Record<string, unknown>, select?: NonEmptyReadonlyArray<string | {
12
13
  key: string;
13
14
  subKeys: readonly string[];
15
+ } | {
16
+ key: string;
17
+ computed: ComputedProjectionIrExpression;
14
18
  }>, order?: NonEmptyReadonlyArray<{
15
19
  key: string;
16
20
  direction: "ASC" | "DESC";
@@ -21,4 +25,4 @@ export declare function buildWhereCosmosQuery3(idKey: PropertyKey, filter: reado
21
25
  value: any;
22
26
  }[];
23
27
  };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TdG9yZS9Db3Ntb3MvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFTLE1BQU0sRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3RFLE9BQU8sS0FBSyxFQUFXLFlBQVksRUFBTyxNQUFNLGlDQUFpQyxDQUFBO0FBRWpGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVwRCx3QkFBZ0IsUUFBUSxDQUFDLENBQUMsRUFBRTtJQUMxQixLQUFLLEVBQUUsTUFBTSxDQUFBO0lBQ2IsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU0sQ0FBQTtRQUNaLEtBQUssRUFBRSxlQUFlLEdBQUcsU0FBUyxlQUFlLEVBQUUsQ0FBQTtLQUNwRCxFQUFFLENBQUE7Q0FDSixxQ0FjQTtBQVFELHdCQUFnQixzQkFBc0IsQ0FDcEMsS0FBSyxFQUFFLFdBQVcsRUFDbEIsTUFBTSxFQUFFLFNBQVMsWUFBWSxFQUFFLEVBQy9CLElBQUksRUFBRSxNQUFNLEVBQ1osYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxFQUFFLHFCQUFxQixDQUFDLE1BQU0sR0FBRztJQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFBQyxPQUFPLEVBQUUsU0FBUyxNQUFNLEVBQUUsQ0FBQTtDQUFFLENBQUMsRUFDcEYsS0FBSyxDQUFDLEVBQUUscUJBQXFCLENBQUM7SUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUE7Q0FBRSxDQUFDLEVBQ3pFLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixLQUFLLENBQUMsRUFBRSxNQUFNO0lBeU9aLEtBQUs7SUFrQkwsVUFBVTs7ZUFJYyxHQUFHOztFQU05QiJ9
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TdG9yZS9Db3Ntb3MvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFTLE1BQU0sRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3RFLE9BQU8sS0FBSyxFQUFXLFlBQVksRUFBTyxNQUFNLGlDQUFpQyxDQUFBO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFMUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXBELHdCQUFnQixRQUFRLENBQUMsQ0FBQyxFQUFFO0lBQzFCLEtBQUssRUFBRSxNQUFNLENBQUE7SUFDYixVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUUsTUFBTSxDQUFBO1FBQ1osS0FBSyxFQUFFLGVBQWUsR0FBRyxTQUFTLGVBQWUsRUFBRSxDQUFBO0tBQ3BELEVBQUUsQ0FBQTtDQUNKLHFDQWNBO0FBUUQsd0JBQWdCLHNCQUFzQixDQUNwQyxLQUFLLEVBQUUsV0FBVyxFQUNsQixNQUFNLEVBQUUsU0FBUyxZQUFZLEVBQUUsRUFDL0IsSUFBSSxFQUFFLE1BQU0sRUFDWixhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFDdEMsTUFBTSxDQUFDLEVBQUUscUJBQXFCLENBQzVCLE1BQU0sR0FBRztJQUNQLEdBQUcsRUFBRSxNQUFNLENBQUE7SUFDWCxPQUFPLEVBQUUsU0FBUyxNQUFNLEVBQUUsQ0FBQTtDQUMzQixHQUFHO0lBQ0YsR0FBRyxFQUFFLE1BQU0sQ0FBQTtJQUNYLFFBQVEsRUFBRSw4QkFBOEIsQ0FBQTtDQUN6QyxDQUNGLEVBQ0QsS0FBSyxDQUFDLEVBQUUscUJBQXFCLENBQUM7SUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUE7Q0FBRSxDQUFDLEVBQ3pFLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixLQUFLLENBQUMsRUFBRSxNQUFNO0lBZ1FaLEtBQUs7SUFvQkwsVUFBVTs7ZUFJYyxHQUFHOztFQU05QiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/Store/Cosmos/query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,MAAM,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGtE,OAAO,KAAK,EAAW,YAAY,EAAO,MAAM,iCAAiC,CAAA;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,CAAC,EAAE;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,eAAe,GAAG,SAAS,eAAe,EAAE,CAAA;KACpD,EAAE,CAAA;CACJ,qCAcA;AAQD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,CAAC,EAAE,qBAAqB,CAAC,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,EACpF,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,CAAC,EACzE,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;IAyOZ,KAAK;IAkBL,UAAU;;eAIc,GAAG;;EAM9B"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/Store/Cosmos/query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,MAAM,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGtE,OAAO,KAAK,EAAW,YAAY,EAAO,MAAM,iCAAiC,CAAA;AACjF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,CAAC,EAAE;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,eAAe,GAAG,SAAS,eAAe,EAAE,CAAA;KACpD,EAAE,CAAA;CACJ,qCAcA;AAQD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,CAAC,EAAE,qBAAqB,CAC5B,MAAM,GAAG;IACP,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3B,GAAG;IACF,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,8BAA8B,CAAA;CACzC,CACF,EACD,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,CAAC,EACzE,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;IAuRZ,KAAK;IAoBL,UAAU;;eAIc,GAAG;;EAM9B"}
@@ -20,7 +20,7 @@ const dottedToAccess = (path) => path
20
20
  .map((p, i) => i === 0 ? p : `["${p}"]`)
21
21
  .join("");
22
22
  export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, select, order, skip, limit) {
23
- const statement = (x, i, values) => {
23
+ const statement = (x, i) => {
24
24
  if (x.path === idKey) {
25
25
  x = { ...x, path: "id" };
26
26
  }
@@ -32,7 +32,6 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
32
32
  // would have to map id, but shouldnt allow id in defaultValues anyway..
33
33
  k = x.path in defaultValues ? `(${k} ?? ${JSON.stringify(defaultValues[x.path])})` : k;
34
34
  const v = "@v" + i;
35
- const realValue = values[i];
36
35
  switch (x.op) {
37
36
  case "in":
38
37
  return `ARRAY_CONTAINS(${v}, ${k})`;
@@ -43,13 +42,13 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
43
42
  case "notIncludes":
44
43
  return `(NOT ARRAY_CONTAINS(${k}, ${v}))`;
45
44
  case "includes-any":
46
- return `ARRAY_CONTAINS_ANY(${k}, ${realValue.map((_, i) => `${v}__${i}`).join(", ")})`;
45
+ return `ARRAY_CONTAINS_ANY(${k}, ${x.value.map((_, i) => `${v}__${i}`).join(", ")})`;
47
46
  case "notIncludes-any":
48
- return `(NOT ARRAY_CONTAINS_ANY(${k}, ${realValue.map((_, i) => `${v}__${i}`).join(", ")}))`;
47
+ return `(NOT ARRAY_CONTAINS_ANY(${k}, ${x.value.map((_, i) => `${v}__${i}`).join(", ")}))`;
49
48
  case "includes-all":
50
- return `ARRAY_CONTAINS_ALL(${k}, ${realValue.map((_, i) => `${v}__${i}`).join(", ")})`;
49
+ return `ARRAY_CONTAINS_ALL(${k}, ${x.value.map((_, i) => `${v}__${i}`).join(", ")})`;
51
50
  case "notIncludes-all":
52
- return `(NOT ARRAY_CONTAINS_ALL(${k}, ${realValue.map((_, i) => `${v}__${i}`).join(", ")}))`;
51
+ return `(NOT ARRAY_CONTAINS_ALL(${k}, ${x.value.map((_, i) => `${v}__${i}`).join(", ")}))`;
53
52
  case "contains":
54
53
  return `CONTAINS(${k}, ${v}, true)`;
55
54
  case "startsWith":
@@ -124,7 +123,7 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
124
123
  }
125
124
  : _
126
125
  : _;
127
- const print = (state, values, isRelation, every) => {
126
+ const print = (state, isRelation, every) => {
128
127
  let s = "";
129
128
  let l = 0;
130
129
  const printN = (n) => {
@@ -133,13 +132,13 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
133
132
  for (const e of state) {
134
133
  switch (e.t) {
135
134
  case "where":
136
- s += statement(e, i++, values);
135
+ s += statement(e, i++);
137
136
  break;
138
137
  case "or":
139
- s += ` OR ${statement(e, i++, values)}`;
138
+ s += ` OR ${statement(e, i++)}`;
140
139
  break;
141
140
  case "and":
142
- s += ` AND ${statement(e, i++, values)}`;
141
+ s += ` AND ${statement(e, i++)}`;
143
142
  break;
144
143
  case "or-scope": {
145
144
  ++l;
@@ -149,13 +148,13 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
149
148
  if (rel) {
150
149
  const rel = e.result[0].path.split(".-1.")[0];
151
150
  s += isRelation
152
- ? ` OR (\n${printN(l + 1)}${print(e.result, values, rel, every)}\n${printN(l)})`
151
+ ? ` OR (\n${printN(l + 1)}${print(e.result, rel, every)}\n${printN(l)})`
153
152
  : ` OR (\n${printN(l + 1)}${every ? "NOT " : ""}EXISTS(SELECT VALUE ${rel} FROM ${rel} IN f.${rel} WHERE ${print(e
154
153
  .result
155
- .map(flip(every)), values, rel, every)}))`;
154
+ .map(flip(every)), rel, every)}))`;
156
155
  }
157
156
  else {
158
- s += ` OR (\n${printN(l + 1)}${print(e.result, values, null, every)}\n${printN(l)})`;
157
+ s += ` OR (\n${printN(l + 1)}${print(e.result, null, every)}\n${printN(l)})`;
159
158
  }
160
159
  --l;
161
160
  break;
@@ -168,11 +167,11 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
168
167
  if (rel) {
169
168
  const rel = e.result[0].path.split(".-1.")[0];
170
169
  s += isRelation
171
- ? ` AND (\n${printN(l + 1)}${print(e.result, values, rel, every)}\n${printN(l)})`
172
- : ` AND (\n${printN(l + 1)}${every ? "NOT " : ""}EXISTS(SELECT VALUE ${rel} FROM ${rel} IN f.${rel} WHERE ${print(e.result.map(flip(every)), values, rel, every)}))`;
170
+ ? ` AND (\n${printN(l + 1)}${print(e.result, rel, every)}\n${printN(l)})`
171
+ : ` AND (\n${printN(l + 1)}${every ? "NOT " : ""}EXISTS(SELECT VALUE ${rel} FROM ${rel} IN f.${rel} WHERE ${print(e.result.map(flip(every)), rel, every)}))`;
173
172
  }
174
173
  else {
175
- s += ` AND (\n${printN(l + 1)}${print(e.result, values, null, every)}\n${printN(l)})`;
174
+ s += ` AND (\n${printN(l + 1)}${print(e.result, null, every)}\n${printN(l)})`;
176
175
  }
177
176
  --l;
178
177
  break;
@@ -185,11 +184,11 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
185
184
  if (rel) {
186
185
  const rel = e.result[0].path.split(".-1.")[0];
187
186
  s += isRelation
188
- ? `(\n${printN(l + 1)}${print(e.result, values, rel, every)}\n${printN(l)})`
189
- : `(\n${printN(l + 1)}${every ? "NOT " : ""}EXISTS(SELECT VALUE ${rel} FROM ${rel} IN f.${rel} WHERE ${print(e.result.map(flip(every)), values, rel, every)}))`;
187
+ ? `(\n${printN(l + 1)}${print(e.result, rel, every)}\n${printN(l)})`
188
+ : `(\n${printN(l + 1)}${every ? "NOT " : ""}EXISTS(SELECT VALUE ${rel} FROM ${rel} IN f.${rel} WHERE ${print(e.result.map(flip(every)), rel, every)}))`;
190
189
  }
191
190
  else {
192
- s += `(\n${printN(l + 1)}${print(e.result, values, null, every)}\n${printN(l)})`;
191
+ s += `(\n${printN(l + 1)}${print(e.result, null, every)}\n${printN(l)})`;
193
192
  }
194
193
  // ;--l
195
194
  break;
@@ -217,7 +216,46 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
217
216
  .flatMap((_) => _.t === "and-scope" || _.t === "or-scope" || _.t === "where-scope"
218
217
  ? getValues(_.result)
219
218
  : [_]);
220
- const values = getValues(filter);
219
+ const computedFilters = select
220
+ ? select.flatMap((_) => typeof _ === "object" && "computed" in _ ? getValues(_.computed.filter) : [])
221
+ : [];
222
+ const values = [...computedFilters, ...getValues(filter)];
223
+ const computedSelectExpr = (key, computed) => {
224
+ const relationPath = computed.path;
225
+ const relationAlias = relationPath;
226
+ const relationSource = dottedToAccess(`f.${relationPath}`);
227
+ const where = computed.filter.length > 0
228
+ ? ` WHERE ${print(computed.filter, relationPath, false)}`
229
+ : "";
230
+ switch (computed._tag) {
231
+ case "relation-count":
232
+ return `(SELECT VALUE COUNT(1) FROM ${relationAlias} IN ${relationSource}${where}) AS ${key}`;
233
+ case "relation-any":
234
+ return `EXISTS(SELECT VALUE ${relationAlias} FROM ${relationAlias} IN ${relationSource}${where}) AS ${key}`;
235
+ case "relation-every": {
236
+ // ∀x.P(x) ≡ ¬∃x.¬P(x). Cosmos has no NOT(...) on EXISTS subqueries directly,
237
+ // but we can flip via NOT EXISTS(... WHERE NOT (filter)).
238
+ if (computed.filter.length === 0)
239
+ return `true AS ${key}`;
240
+ return `NOT EXISTS(SELECT VALUE ${relationAlias} FROM ${relationAlias} IN ${relationSource} WHERE NOT (${print(computed.filter, relationPath, false)})) AS ${key}`;
241
+ }
242
+ case "relation-distinct-count": {
243
+ const fieldRef = dottedToAccess(`${relationAlias}.${computed.field}`);
244
+ return `(SELECT VALUE COUNT(1) FROM (SELECT DISTINCT VALUE ${fieldRef} FROM ${relationAlias} IN ${relationSource}${where})) AS ${key}`;
245
+ }
246
+ case "relation-sum": {
247
+ const fieldRef = dottedToAccess(`${relationAlias}.${computed.field}`);
248
+ return `(SELECT VALUE SUM(${fieldRef}) FROM ${relationAlias} IN ${relationSource}${where}) AS ${key}`;
249
+ }
250
+ case "relation-collect": {
251
+ const fieldRef = dottedToAccess(`${relationAlias}.${computed.field}`);
252
+ if (computed.distinct) {
253
+ return `ARRAY(SELECT DISTINCT VALUE ${fieldRef} FROM ${relationAlias} IN ${relationSource}${where}) AS ${key}`;
254
+ }
255
+ return `ARRAY(SELECT VALUE ${fieldRef} FROM ${relationAlias} IN ${relationSource}${where}) AS ${key}`;
256
+ }
257
+ }
258
+ };
221
259
  // with joins, you should use DISTINCT
222
260
  // or you can end up with duplicates
223
261
  return {
@@ -226,13 +264,15 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
226
264
  ? select
227
265
  .map((s) => typeof s === "string"
228
266
  ? dottedToAccess(s === idKey ? "f.id" : `f.${s}`) // x["y"} vs x.y, helps with reserved keywords like "value"
229
- : `ARRAY (SELECT ${s.subKeys.map((_) => dottedToAccess(`t.${_}`)).join(",")}
267
+ : "computed" in s
268
+ ? computedSelectExpr(s.key, s.computed)
269
+ : `ARRAY (SELECT ${s.subKeys.map((_) => dottedToAccess(`t.${_}`)).join(",")}
230
270
  FROM t in ${dottedToAccess(`f.${s.key}`)}) AS ${s.key}`)
231
271
  .join(", ")
232
272
  : "f"}
233
273
  FROM ${name} f
234
274
 
235
- ${filter.length ? `WHERE (${print(filter, values.map((_) => _.value), null, false)})` : ""}
275
+ ${filter.length ? `WHERE (${print(filter, null, false)})` : ""}
236
276
  ${order ? `ORDER BY ${order.map((_) => `${dottedToAccess(`f.${_.key}`)} ${_.direction}`).join(", ")}` : ""}
237
277
  ${skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : ""}`,
238
278
  parameters: values
@@ -244,4 +284,4 @@ export function buildWhereCosmosQuery3(idKey, filter, name, defaultValues, selec
244
284
  .concat(Array.isArray(x.value) ? x.value.map((_, i2) => ({ name: `@v${i}__${i2}`, value: _ })) : []))
245
285
  };
246
286
  }
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvU3RvcmUvQ29zbW9zL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCx3REFBd0Q7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQThCLE1BQU0sWUFBWSxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbEQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQU14QjtJQUNDLE9BQU8sV0FBVztTQUNmLFFBQVEsQ0FBQyxjQUFjLENBQUM7U0FDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1FBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ3hCLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQTtZQUNyQixPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUMsRUFBRSxFQUFrRSxDQUFDLEVBQ3RFLFNBQVMsRUFDVCxDQUFDLENBQ0Y7S0FDRixDQUFDLENBQUMsQ0FBQTtBQUNQLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3RDLElBQUk7S0FDRCxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvU3RvcmUvQ29zbW9zL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCx3REFBd0Q7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQThCLE1BQU0sWUFBWSxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUc3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbEQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQU14QjtJQUNDLE9BQU8sV0FBVztTQUNmLFFBQVEsQ0FBQyxjQUFjLENBQUM7U0FDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1FBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ3hCLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQTtZQUNyQixPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUMsRUFBRSxFQUFrRSxDQUFDLEVBQ3RFLFNBQVMsRUFDVCxDQUFDLENBQ0Y7S0FDRixDQUFDLENBQUMsQ0FBQTtBQUNQLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3RDLElBQUk7S0FDRCxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../src/Store/Cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,EAA8D,MAAM,YAAY,CAAA;AAWvH,OAAO,EAA8C,KAAK,aAAa,EAAgC,UAAU,EAAE,MAAM,cAAc,CAAA;AAukBvI,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,yCAIlD"}
1
+ {"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../src/Store/Cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,EAA8D,MAAM,YAAY,CAAA;AAWvH,OAAO,EAA8C,KAAK,aAAa,EAAgC,UAAU,EAAE,MAAM,cAAc,CAAA;AA+kBvI,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,yCAIlD"}