@effect-app/infra 0.118.0 → 0.119.0

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 (73) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/_cjs/services/Repository.cjs +4 -38
  3. package/_cjs/services/Repository.cjs.map +1 -1
  4. package/_cjs/services/RepositoryBase.cjs +39 -36
  5. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  6. package/_cjs/services/Store/Cosmos/query.cjs +291 -0
  7. package/_cjs/services/Store/Cosmos/query.cjs.map +1 -0
  8. package/_cjs/services/Store/Cosmos.cjs +38 -183
  9. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  10. package/_cjs/services/Store/Cosmos.test.cjs +7 -7
  11. package/_cjs/services/Store/Cosmos.test.cjs.map +1 -1
  12. package/_cjs/services/Store/Memory.cjs +20 -17
  13. package/_cjs/services/Store/Memory.cjs.map +1 -1
  14. package/_cjs/services/Store/Redis.cjs +1 -1
  15. package/_cjs/services/Store/Redis.cjs.map +1 -1
  16. package/_cjs/services/Store/codeFilter.cjs +151 -0
  17. package/_cjs/services/Store/codeFilter.cjs.map +1 -0
  18. package/_cjs/services/Store/filterApi/proxy.cjs +40 -0
  19. package/_cjs/services/Store/filterApi/proxy.cjs.map +1 -0
  20. package/_cjs/services/Store/filterApi/query.cjs +173 -0
  21. package/_cjs/services/Store/filterApi/query.cjs.map +1 -0
  22. package/_cjs/services/Store/filterApi.test.cjs +164 -0
  23. package/_cjs/services/Store/filterApi.test.cjs.map +1 -0
  24. package/_cjs/services/Store/service.cjs.map +1 -1
  25. package/_cjs/services/Store/utils.cjs +8 -1
  26. package/_cjs/services/Store/utils.cjs.map +1 -1
  27. package/_src/services/Repository.ts +124 -70
  28. package/_src/services/RepositoryBase.ts +26 -12
  29. package/_src/services/Store/Cosmos/query.ts +390 -0
  30. package/_src/services/Store/Cosmos.test.ts +5 -5
  31. package/_src/services/Store/Cosmos.ts +39 -245
  32. package/_src/services/Store/Memory.ts +21 -18
  33. package/_src/services/Store/Redis.ts +2 -3
  34. package/_src/services/Store/codeFilter.ts +150 -0
  35. package/_src/services/Store/filterApi/proxy.ts +109 -0
  36. package/_src/services/Store/filterApi/query.ts +256 -0
  37. package/_src/services/Store/filterApi.test.ts +263 -0
  38. package/_src/services/Store/service.ts +17 -5
  39. package/_src/services/Store/utils.ts +10 -7
  40. package/dist/services/Repository.d.ts +44 -104
  41. package/dist/services/Repository.d.ts.map +1 -1
  42. package/dist/services/Repository.js +6 -30
  43. package/dist/services/RepositoryBase.d.ts +11 -21
  44. package/dist/services/RepositoryBase.d.ts.map +1 -1
  45. package/dist/services/RepositoryBase.js +41 -37
  46. package/dist/services/Store/Cosmos/query.d.ts +61 -0
  47. package/dist/services/Store/Cosmos/query.d.ts.map +1 -0
  48. package/dist/services/Store/Cosmos/query.js +302 -0
  49. package/dist/services/Store/Cosmos.d.ts +3 -47
  50. package/dist/services/Store/Cosmos.d.ts.map +1 -1
  51. package/dist/services/Store/Cosmos.js +39 -193
  52. package/dist/services/Store/Memory.d.ts +2 -7
  53. package/dist/services/Store/Memory.d.ts.map +1 -1
  54. package/dist/services/Store/Memory.js +17 -15
  55. package/dist/services/Store/Redis.d.ts.map +1 -1
  56. package/dist/services/Store/Redis.js +2 -2
  57. package/dist/services/Store/codeFilter.d.ts +5 -0
  58. package/dist/services/Store/codeFilter.d.ts.map +1 -0
  59. package/dist/services/Store/codeFilter.js +140 -0
  60. package/dist/services/Store/filterApi/proxy.d.ts +41 -0
  61. package/dist/services/Store/filterApi/proxy.d.ts.map +1 -0
  62. package/dist/services/Store/filterApi/proxy.js +41 -0
  63. package/dist/services/Store/filterApi/query.d.ts +64 -0
  64. package/dist/services/Store/filterApi/query.d.ts.map +1 -0
  65. package/dist/services/Store/filterApi/query.js +134 -0
  66. package/dist/services/Store/filterApi.test.d.ts.map +1 -0
  67. package/dist/services/Store/service.d.ts +12 -5
  68. package/dist/services/Store/service.d.ts.map +1 -1
  69. package/dist/services/Store/service.js +1 -1
  70. package/dist/services/Store/utils.d.ts +7 -1
  71. package/dist/services/Store/utils.d.ts.map +1 -1
  72. package/dist/services/Store/utils.js +118 -115
  73. package/package.json +44 -4
@@ -39,7 +39,7 @@ export function makeRedisStore({ prefix }) {
39
39
  .pipe(withPermit), RedisClient, redis);
40
40
  const s = {
41
41
  all,
42
- filter: (filter, cursor) => tsplus_module_1.map(all, memFilter(filter, cursor)),
42
+ filter: (f) => tsplus_module_1.map(all, memFilter(f)),
43
43
  filterJoinSelect: (filter) => tsplus_module_1.map(all, (c) => c.flatMap(codeFilterJoinSelect(filter))),
44
44
  find: (id) => tsplus_module_1.map(asMap, (_) => tsplus_module_2.fromNullable(_.get(id))),
45
45
  set: (e) => tsplus_module_1.provideService(tsplus_module_1.tap(tsplus_module_1.flatMap(s
@@ -58,4 +58,4 @@ export function makeRedisStore({ prefix }) {
58
58
  export function RedisStoreLive(config) {
59
59
  return tsplus_module_6.effect(StoreMaker)(tsplus_module_1.flatMap(tsplus_module_1.config(config), makeRedisStore));
60
60
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL1JlZGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUzRSxNQUFNLFVBQVUsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFpQjtJQUN0RCxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ25DLE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FDSixJQUFZLEVBQ1osSUFBaUMsRUFDakMsT0FBeUIsRUFDekIsRUFBRSxDQUNGLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7Z0JBQ3BCLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDdkMsdUNBQXVDO2dCQUN2QyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQTtnQkFDOUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFEQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQXNCLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO2dCQUNqRixJQUFJLENBQUMsdUJBQUEsT0FBTyxDQUFTLEVBQUUsQ0FBQztvQkFDdEIsTUFBTSxD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
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL1JlZGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUzRSxNQUFNLFVBQVUsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFpQjtJQUN0RCxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ25DLE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FDSixJQUFZLEVBQ1osSUFBaUMsRUFDakMsT0FBeUIsRUFDekIsRUFBRSxDQUNGLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7Z0JBQ3BCLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDdkMsdUNBQXVDO2dCQUN2QyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQTtnQkFDOUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFEQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQXNCLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO2dCQUNqRixJQUFJLENBQUMsdUJBQUEsT0FBTyxDQUFTLEVBQUUsQ0FBQztvQkFDdEIsTUFBTSxD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
@@ -0,0 +1,5 @@
1
+ import type { FilterR, FilterResult } from "./filterApi/query.js";
2
+ export declare const codeFilterStatement: <E>(p: FilterR, x: E) => boolean;
3
+ export declare const codeFilter3: <E>(state: readonly FilterResult[]) => (sut: E) => boolean;
4
+ export declare const codeFilter3_: <E>(state: readonly FilterResult[], sut: E) => boolean;
5
+ //# sourceMappingURL=codeFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeFilter.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/codeFilter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AASjE,eAAO,MAAM,mBAAmB,SAAU,OAAO,KAAK,CAAC,YAgDtD,CAAA;AAgDD,eAAO,MAAM,WAAW,aAAc,SAAS,YAAY,EAAE,WAAW,CAAC,YAA6B,CAAA;AACtG,eAAO,MAAM,YAAY,aAAc,SAAS,YAAY,EAAE,OAAO,CAAC,KAAG,OA0CxE,CAAA"}
@@ -0,0 +1,140 @@
1
+ import * as tsplus_module_1 from "effect/ReadonlyArray";
2
+ import { assertUnreachable, get } from "@effect-app/prelude/utils";
3
+ import { compareCaseInsensitive, gtCaseInsensitive, gteCaseInsensitive, ltCaseInsensitive, lteCaseInsensitive } from "./utils.js";
4
+ export const codeFilterStatement = (p, x) => {
5
+ const k = get(x, p.path);
6
+ switch (p.op) {
7
+ case "in":
8
+ return p.value.includes(k);
9
+ case "notIn":
10
+ return !p.value.includes(k);
11
+ case "lt":
12
+ return ltCaseInsensitive(k, p.value);
13
+ case "lte":
14
+ return lteCaseInsensitive(k, p.value);
15
+ case "gt":
16
+ return gtCaseInsensitive(k, p.value);
17
+ case "gte":
18
+ return gteCaseInsensitive(k, p.value);
19
+ case "includes":
20
+ return k.includes(p.value);
21
+ case "notIncludes":
22
+ return !k.includes(p.value);
23
+ case "contains":
24
+ return k.toLowerCase().includes(p.value.toLowerCase());
25
+ case "endsWith":
26
+ return k.toLowerCase().endsWith(p.value.toLowerCase());
27
+ case "startsWith":
28
+ return k.toLowerCase().startsWith(p.value.toLowerCase());
29
+ case "notContains":
30
+ return !k.toLowerCase().includes(p.value.toLowerCase());
31
+ case "notEndsWith":
32
+ return !k.toLowerCase().endsWith(p.value.toLowerCase());
33
+ case "notStartsWith":
34
+ return !k.toLowerCase().startsWith(p.value.toLowerCase());
35
+ case "neq":
36
+ return p.path.includes(".-1.")
37
+ ? get(x, p.path.split(".-1.")[0])
38
+ // TODO: or vs and
39
+ .every((_) => !compareCaseInsensitive(get(_, p.path.split(".-1.")[1]), p.value))
40
+ : !compareCaseInsensitive(k, p.value);
41
+ case "eq":
42
+ case undefined:
43
+ return p.path.includes(".-1.")
44
+ ? get(x, p.path.split(".-1.")[0])
45
+ // TODO: or vs and
46
+ .some((_) => compareCaseInsensitive(get(_, p.path.split(".-1.")[1]), p.value))
47
+ : compareCaseInsensitive(k, p.value);
48
+ default: {
49
+ return assertUnreachable(p.op);
50
+ }
51
+ }
52
+ };
53
+ // const or = <E extends { id: string }, NE extends E>(filters: readonly FilterResult[], x: E): Option<NE> =>
54
+ // filters
55
+ // .some((p) => {
56
+ // if (p.t === "and-scope") {
57
+ // return and(p.result, x)
58
+ // }
59
+ // if (p.t === "or-scope") {
60
+ // return or(p.result, x)
61
+ // }
62
+ // if (p.t === "where-scope") {
63
+ // return codeFilter2(filters)(x)
64
+ // }
65
+ // return codeFilterStatement(p, x)
66
+ // })
67
+ // ? Option(x as unknown as NE)
68
+ // : Option.none
69
+ // export const and = <E extends { id: string }, NE extends E>(filters: readonly FilterResult[], x: E): Option<NE> =>
70
+ // filters
71
+ // .every((p) => {
72
+ // if (p.t === "and-scope") {
73
+ // return and(p.result, x)
74
+ // }
75
+ // if (p.t === "or-scope") {
76
+ // return or(p.result, x)
77
+ // }
78
+ // if (p.t === "where-scope") {
79
+ // return codeFilter2(filters)(x)
80
+ // }
81
+ // return codeFilterStatement(p, x)
82
+ // })
83
+ // ? Option(x as unknown as NE)
84
+ // : Option.none
85
+ // // TODO: how to handle and/or outside scopes.
86
+ // // TODO: the scopes are not about and every, or some.. they're about logical grouping. It's a logical group + and/or etc.
87
+ // // TODO: how to convert this to code? would we compile an actual function body instead?!
88
+ // export function codeFilter2<E extends { id: string }, NE extends E>(filters: readonly FilterResult[]) {
89
+ // // TODO: handle or, and, or-scope, and-scope, where-scope
90
+ // return (x: E) =>
91
+ // // AND
92
+ // and<E, NE>(filters, x)
93
+ // // OR
94
+ // // or<E, NE>(filters, x)
95
+ // }
96
+ export const codeFilter3 = (state) => (sut) => codeFilter3_(state, sut);
97
+ export const codeFilter3_ = (state, sut) => {
98
+ let s = "";
99
+ let l = 0;
100
+ const printN = (n) => {
101
+ return n === 0 ? "" : tsplus_module_1.range(1, n).map(() => " ").join("");
102
+ };
103
+ // TODO: path str updates
104
+ const process = (e) => codeFilterStatement(e, sut);
105
+ for (const e of state) {
106
+ switch (e.t) {
107
+ case "where":
108
+ s += process(e);
109
+ break;
110
+ case "or":
111
+ s += " || " + process(e);
112
+ break;
113
+ case "and":
114
+ s += " && " + process(e);
115
+ break;
116
+ case "or-scope": {
117
+ ;
118
+ ++l;
119
+ s += ` || (\n${printN(l + 1)}${codeFilter3_(e.result, sut)}\n${printN(l)})`;
120
+ --l;
121
+ break;
122
+ }
123
+ case "and-scope": {
124
+ ;
125
+ ++l;
126
+ s += ` && (\n${printN(l + 1)}${codeFilter3_(e.result, sut)}\n${printN(l)})`;
127
+ --l;
128
+ break;
129
+ }
130
+ case "where-scope": {
131
+ // ;++l
132
+ s += `(\n${printN(l + 1)}${codeFilter3_(e.result, sut)}\n)`;
133
+ // ;--l
134
+ break;
135
+ }
136
+ }
137
+ }
138
+ return eval(s);
139
+ };
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvY29kZUZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRWxFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ25CLE1BQU0sWUFBWSxDQUFBO0FBRW5CLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUksQ0FBVSxFQUFFLENBQUksRUFBRSxFQUFFO0lBQ3pELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hCLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2IsS0FBSyxJQUFJO1lBQ1AsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM1QixLQUFLLE9BQU87WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0IsS0FBSyxJQUFJO1lBQ1AsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLEtBQUssS0FBSztZQUNSLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxLQUFLLElBQUk7WUFDUCxPQUFPLGlCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEMsS0FBSyxLQUFLO1lBQ1IsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLEtBQUssVUFB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
@@ -0,0 +1,41 @@
1
+ import type { FieldValues } from "../../../filter/types.js";
2
+ import type { FieldPath } from "../../../filter/types/path/eager.js";
3
+ type NullOrUndefined<T, Fallback> = null extends T ? null : undefined extends T ? null : Fallback;
4
+ export type InOps = "in" | "notIn";
5
+ export type OtherOps = "endsWith" | "startsWith" | "notEndsWith" | "notStartsWith" | "contains" | "notContains" | "includes" | "notIncludes" | "eq" | "neq" | "gt" | "gte" | "lt" | "lte";
6
+ export type Ops = OtherOps | InOps;
7
+ type F<T extends FieldValues> = {
8
+ path: FieldPath<T>;
9
+ op: OtherOps;
10
+ value: string;
11
+ };
12
+ type FIn<T extends FieldValues> = {
13
+ op: InOps;
14
+ path: FieldPath<T>;
15
+ value: readonly string[];
16
+ };
17
+ type G<T extends FieldValues, Val> = {
18
+ (value: Val): F<T>;
19
+ startsWith: (value: string) => F<T>;
20
+ notStartsWith: (value: string) => F<T>;
21
+ endsWith: (value: string) => F<T>;
22
+ notEndsWith: (value: string) => F<T>;
23
+ contains: (value: string) => F<T>;
24
+ notContains: (value: string) => F<T>;
25
+ includes: (value: string) => F<T>;
26
+ notIncludes: (value: string) => F<T>;
27
+ in: (...value: readonly Val[]) => FIn<T>;
28
+ notIn: (...value: readonly Val[]) => FIn<T>;
29
+ eq: (value: Val) => F<T>;
30
+ neq: (value: Val) => F<T>;
31
+ gt: (value: Val) => F<T>;
32
+ gte: (value: Val) => F<T>;
33
+ lt: (value: Val) => F<T>;
34
+ lte: (value: Val) => F<T>;
35
+ };
36
+ export type Filter<T extends FieldValues, Ext = never> = {
37
+ [K in keyof T]-?: [T[K]] extends [Record<any, any> | undefined | null] ? Filter<T[K], NullOrUndefined<T[K], Ext>> & G<T, T[K] | Ext> : [T[K]] extends [Record<any, any>] ? Filter<T[K], NullOrUndefined<T[K], Ext>> & G<T, T[K] | Ext> : G<T, T[K] | Ext>;
38
+ };
39
+ export declare const makeProxy: (parentProp?: string) => any;
40
+ export {};
41
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../_src/services/Store/filterApi/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ const ops = [
2
+ "contains",
3
+ "startsWith",
4
+ "endsWith",
5
+ "notContains",
6
+ "notStartsWith",
7
+ "notEndsWith",
8
+ "in",
9
+ "notIn",
10
+ "eq",
11
+ "neq",
12
+ "gte",
13
+ "gt",
14
+ "lt",
15
+ "lte"
16
+ ];
17
+ export const makeProxy = (parentProp) => new Proxy(Object.assign(() => { }, {
18
+ _proxies: {}
19
+ }), {
20
+ apply(_target, _thisArg, argArray) {
21
+ return ({ op: "eq", value: argArray[0], path: parentProp });
22
+ },
23
+ get(target, prop) {
24
+ if (typeof prop !== "string")
25
+ return undefined;
26
+ if (target._proxies[prop]) {
27
+ return target._proxies[prop];
28
+ }
29
+ if (ops.includes(prop)) {
30
+ return (value) => ({ op: prop, path: parentProp, value });
31
+ }
32
+ let fullProp = prop;
33
+ if (parentProp) {
34
+ fullProp = `${parentProp}.${prop}`;
35
+ }
36
+ const p = makeProxy(fullProp);
37
+ target._proxies[prop] = p;
38
+ return p;
39
+ }
40
+ });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL2ZpbHRlckFwaS9wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpRUEsTUFBTSxHQUFHLEdBQVU7SUFDakIsVUFBVTtJQUNWLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtJQUNiLGVBQWU7SUFDZixhQUFhO0lBQ2IsSUFBSTtJQUNKLE9BQU87SUFDUCxJQUFJO0lBQ0osS0FBSztJQUNMLEtBQUs7SUFDTCxJQUFJO0lBQ0osSUFBSTtJQUNKLEtBQUs7Q0FDTixDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsVUFBbUIsRUFBTyxFQUFFLENBQ3BELElBQUksS0FBSyxDQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFFO0lBQ3RCLFFBQVEsRUFBRSxFQUF5QjtDQUNwQyxDQUFDLEVBQ0Y7SUFDRSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRO1FBQy9CLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBQ0QsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJO1FBQ2QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRO1lBQUUsT0FBTyxTQUFTLENBQUE7UUFDOUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFFRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBVyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDaEUsQ0FBQztRQUNELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQTtRQUNuQixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsUUFBUSxHQUFHLEdBQUcsVUFBVSxJQUFJLElBQUksRUFBRSxDQUFBO1FBQ3BDLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDekIsT0FBTyxDQUFDLENBQUE7SUFDVixDQUFDO0NBQ0YsQ0FDRixDQUFBIn0=
@@ -0,0 +1,64 @@
1
+ import type { FieldValues } from "../../../filter/types.js";
2
+ import type { FieldPath, FieldPathValue } from "../../../filter/types/path/eager.js";
3
+ import type { Filter, Ops } from "./proxy.js";
4
+ export type FilterScopes = {
5
+ t: "or-scope";
6
+ result: FilterResult[];
7
+ } | {
8
+ t: "and-scope";
9
+ result: FilterResult[];
10
+ } | {
11
+ t: "where-scope";
12
+ result: FilterResult[];
13
+ };
14
+ export type FilterR = {
15
+ op: Ops;
16
+ path: string;
17
+ value: string;
18
+ };
19
+ export type FilterResult = {
20
+ t: "where";
21
+ } & FilterR | {
22
+ t: "or";
23
+ } & FilterR | {
24
+ t: "and";
25
+ } & FilterR | FilterScopes;
26
+ export declare const print: (state: readonly FilterResult[]) => string;
27
+ export declare const makeFilter: <TFieldValues extends FieldValues>() => {
28
+ all: ((...args: any[]) => any) & {
29
+ type: string;
30
+ and: (...args: any[]) => any;
31
+ or: (...args: any[]) => any;
32
+ build(): FilterResult[];
33
+ };
34
+ fields: Filter<TFieldValues, never>;
35
+ };
36
+ export declare const QueryBuilder: {
37
+ make: <TFieldValues extends FieldValues>() => (fn: (f: FilterTest<TFieldValues>, fields: Filter<TFieldValues>) => QueryBuilder<TFieldValues>) => QueryBuilder<TFieldValues>;
38
+ };
39
+ export type Initial<TFieldValues extends FieldValues> = {
40
+ where: FilterTest<TFieldValues>;
41
+ build(): FilterResult[];
42
+ };
43
+ export type Filts<TFieldValues extends FieldValues> = {
44
+ <TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, value: V): QueryBuilder<TFieldValues>;
45
+ <TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, op: "neq", value: V): QueryBuilder<TFieldValues>;
46
+ <TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, op: "gt" | "gte" | "lt" | "lte", value: V): QueryBuilder<TFieldValues>;
47
+ <TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith", value: V): QueryBuilder<TFieldValues>;
48
+ <TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, op: "in" | "notIn", value: readonly V[]): QueryBuilder<TFieldValues>;
49
+ };
50
+ export type FilterTest<TFieldValues extends FieldValues> = {
51
+ (fb: (f: Filts<TFieldValues> & Initial<TFieldValues>) => QueryBuilder<TFieldValues>): QueryBuilder<TFieldValues>;
52
+ <TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(f: {
53
+ path: TFieldName;
54
+ op: Ops;
55
+ value: V;
56
+ }): QueryBuilder<TFieldValues>;
57
+ } & Filts<TFieldValues>;
58
+ export interface QueryBuilder<TFieldValues extends FieldValues> {
59
+ type: "new-kid";
60
+ and: FilterTest<TFieldValues>;
61
+ or: FilterTest<TFieldValues>;
62
+ build(): FilterResult[];
63
+ }
64
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../_src/services/Store/filterApi/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import * as tsplus_module_1 from "effect/ReadonlyArray";
2
+ import { makeProxy } from "./proxy.js";
3
+ export const print = (state) => {
4
+ let s = "";
5
+ let l = 0;
6
+ const printN = (n) => {
7
+ return n === 0 ? "" : tsplus_module_1.range(1, n).map(() => " ").join("");
8
+ };
9
+ for (const e of state) {
10
+ switch (e.t) {
11
+ case "where":
12
+ s += `${e.path} ${e.op} ${e.value}`;
13
+ break;
14
+ case "or":
15
+ s += ` OR ${e.path} ${e.op} ${e.value}`;
16
+ break;
17
+ case "and":
18
+ s += ` AND ${e.path} ${e.op} ${e.value}`;
19
+ break;
20
+ case "or-scope": {
21
+ ;
22
+ ++l;
23
+ s += ` OR (\n${printN(l + 1)}${print(e.result)}\n${printN(l)})`;
24
+ --l;
25
+ break;
26
+ }
27
+ case "and-scope": {
28
+ ;
29
+ ++l;
30
+ s += ` AND (\n${printN(l + 1)}${print(e.result)}\n${printN(l)})`;
31
+ --l;
32
+ break;
33
+ }
34
+ case "where-scope": {
35
+ // ;++l
36
+ s += `(\n${printN(l + 1)}${print(e.result)}\n)`;
37
+ // ;--l
38
+ break;
39
+ }
40
+ }
41
+ }
42
+ return s;
43
+ };
44
+ export const makeFilter = () => {
45
+ // const recursive = {}
46
+ // const and = Object.assign(() => {}, recursive)
47
+ // const or = Object.assign(() => {}, recursive)
48
+ // const where = Object.assign(() => {}, recursive)
49
+ // recursive.and = and
50
+ // recursive.or = or
51
+ // recursive.where = where
52
+ const state = [];
53
+ let current = state;
54
+ const where = (...args) => {
55
+ if (typeof args[0] === "function") {
56
+ const mine = [];
57
+ const previous = current;
58
+ current = mine;
59
+ const r = args[0](all);
60
+ current = previous;
61
+ current.push({ t: "where-scope", result: mine });
62
+ return r;
63
+ }
64
+ if (args.length === 1) {
65
+ current.push({ t: "where", ...args[0] });
66
+ return all;
67
+ }
68
+ current.push({
69
+ t: "where",
70
+ op: args.length === 2 ? "eq" : args[1],
71
+ path: args[0],
72
+ value: args[args.length - 1]
73
+ });
74
+ return all;
75
+ };
76
+ const and = (...args) => {
77
+ if (typeof args[0] === "function") {
78
+ const mine = [];
79
+ const previous = current;
80
+ current = mine;
81
+ const r = args[0](all);
82
+ current = previous;
83
+ current.push({ t: "and-scope", result: mine });
84
+ return r;
85
+ }
86
+ if (args.length === 1) {
87
+ current.push({ t: "and", ...args[0] });
88
+ return all;
89
+ }
90
+ current.push({
91
+ t: "and",
92
+ op: args.length === 2 ? "eq" : args[1],
93
+ path: args[0],
94
+ value: args[args.length - 1]
95
+ });
96
+ return all;
97
+ };
98
+ const or = (...args) => {
99
+ if (typeof args[0] === "function") {
100
+ const mine = [];
101
+ const previous = current;
102
+ current = mine;
103
+ const r = args[0](all);
104
+ current = previous;
105
+ current.push({ t: "or-scope", result: mine });
106
+ return r;
107
+ }
108
+ if (args.length === 1) {
109
+ current.push({ t: "or", ...args[0] });
110
+ return all;
111
+ }
112
+ current.push({ t: "or", op: args.length === 2 ? "eq" : args[1], path: args[0], value: args[args.length - 1] });
113
+ return all;
114
+ };
115
+ const fields = makeProxy();
116
+ const all = Object.assign(where, {
117
+ type: "new-kid",
118
+ and,
119
+ or,
120
+ build() {
121
+ return state;
122
+ }
123
+ });
124
+ return { all, fields };
125
+ };
126
+ export const QueryBuilder = {
127
+ make: () => {
128
+ return (f) => {
129
+ const fil = makeFilter();
130
+ return f(fil.all, fil.fields);
131
+ };
132
+ }
133
+ };
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL2ZpbHRlckFwaS9xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQWdDdEMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBOEIsRUFBRSxFQUFFO0lBQ3RELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNULE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUMxRSxDQUFDLENBQUE7SUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3RCLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1osS0FBSyxPQUFPO2dCQUNWLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ25DLE1BQUs7WUFDUCxLQUFLLElBQUk7Z0JBQ1AsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtnQkFDdkMsTUFBSztZQUNQLEtBQUssS0FBSztnQkFDUixDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssRUFB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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterApi.test.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/filterApi.test.ts"],"names":[],"mappings":""}
@@ -6,6 +6,8 @@ import { Secret } from "effect/Secret";
6
6
  import type { UniqueKey } from "@azure/cosmos";
7
7
  import type { ParserEnv } from "@effect-app/schema/custom/Parser";
8
8
  import type { OptimisticConcurrencyException } from "../../errors.js";
9
+ import type { FieldValues } from "../../filter/types.js";
10
+ import type { QueryBuilder } from "./filterApi/query.js";
9
11
  export type StoreConfig<E> = {
10
12
  uniqueKeys?: UniqueKey[];
11
13
  maxBulkSize?: number;
@@ -62,19 +64,24 @@ export type JoinFindFilter = {
62
64
  valueKey: string;
63
65
  value: any;
64
66
  };
65
- export type Filter<E> = JoinFindFilter | StoreWhereFilter | LegacyFilter<E>;
67
+ export type Filter<E extends FieldValues> = JoinFindFilter | StoreWhereFilter | LegacyFilter<E> | QueryBuilder<E>;
66
68
  export type FilterJoinSelect = {
67
69
  type: "filter_join_select";
68
70
  keys: readonly string[];
69
71
  valueKey: string;
70
72
  value: any;
71
73
  };
74
+ export interface FilterArgs<PM extends PersistenceModelType<string>, U extends keyof PM = never> {
75
+ filter?: Filter<PM>;
76
+ select?: readonly U[];
77
+ limit?: number;
78
+ skip?: number;
79
+ }
80
+ export type FilterFunc<PM extends PersistenceModelType<string>> = <U extends keyof PM = never>(args: FilterArgs<PM, U>) => Effect<never, never, (U extends undefined ? PM : Pick<PM, U>)[]>;
72
81
  export interface Store<PM extends PersistenceModelType<Id>, Id extends string> {
73
82
  all: Effect<never, never, PM[]>;
74
- filter: (filter: Filter<PM>, cursor?: {
75
- limit?: number;
76
- skip?: number;
77
- }) => Effect<never, never, PM[]>;
83
+ filter: FilterFunc<PM>;
84
+ /** @deprecated */
78
85
  filterJoinSelect: <T extends object>(filter: FilterJoinSelect) => Effect<never, never, (T & {
79
86
  _rootId: string;
80
87
  })[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/service.ts"],"names":[],"mappings":"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"}
@@ -68,4 +68,4 @@ export const makeMap = tsplus_module_2.sync(() => makeContextMap());
68
68
  */
69
69
  export class ContextMap extends tsplus_module_1.TagClass() {
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVGQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxnQkFBQSxRQUFRLEVBQWM7Q0FNOUQ7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBZSxFQUFFO0lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0lBQ3ZDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzdDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBVSxFQUFFLElBQXdCLEVBQUUsRUFBRTtRQUN2RCxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM3RCxDQUFDLENBQUE7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFHeEIsQ0FBQTtJQUVILE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxFQUd4QixDQUFBO0lBRUgsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsQ0FBa0IsRUFDbEIsRUFBK0IsRUFDL0IsRUFBRTtRQUNGLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ3RCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQyxDQUFBO0lBRUQsTUFBTSxTQUFTLEdBQWM7UUFDM0IsK0VBQStFO1FBQy9FLCtIQUErSDtRQUMvSCxHQUFHLEVBQUUsS0FBSztRQUNWLEtBQUssRUFBRTtZQUNMLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEcsZUFBZSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzNCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDckQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUM1QyxPQUFPLElBQUksQ0FBQTtnQkFDYixDQUFDLEVBQUUsRUFBUyxDQUFDLENBQUE7WUFDZixDQUFDO1lBQ0QsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBTyxFQUFFO2dCQUMxQixNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ04sa0NBQWtDO3dCQUNsQyxPQUFPLENBQUMsQ0FBQTtvQkFDVixDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTt3QkFDOUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7d0JBQ1osT0FBTyxFQUFFLENBQUE7b0JBQ1gsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtvQkFDOUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDMUMsT0FBTyxFQUFFLENBQUE7Z0JBQ1gsQ0FBQztZQUNILENBQUM7U0FDRjtLQUNGLENBQUE7SUFFRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLE9BQU87UUFDWixHQUFHLEVBQUUsT0FBTztRQUNaLFNBQVM7S0FDVixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcscUJBQVksR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtBQUUxRDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxnQkFBQSxRQUFRLEVBQWM7Q0FJOUQifQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1HQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxnQkFBQSxRQUFRLEVBQWM7Q0FNOUQ7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBZSxFQUFFO0lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0lBQ3ZDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzdDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBVSxFQUFFLElBQXdCLEVBQUUsRUFBRTtRQUN2RCxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM3RCxDQUFDLENBQUE7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFHeEIsQ0FBQTtJQUVILE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxFQUd4QixDQUFBO0lBRUgsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsQ0FBa0IsRUFDbEIsRUFBK0IsRUFDL0IsRUFBRTtRQUNGLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ3RCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQyxDQUFBO0lBRUQsTUFBTSxTQUFTLEdBQWM7UUFDM0IsK0VBQStFO1FBQy9FLCtIQUErSDtRQUMvSCxHQUFHLEVBQUUsS0FBSztRQUNWLEtBQUssRUFBRTtZQUNMLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEcsZUFBZSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzNCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDckQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUM1QyxPQUFPLElBQUksQ0FBQTtnQkFDYixDQUFDLEVBQUUsRUFBUyxDQUFDLENBQUE7WUFDZixDQUFDO1lBQ0QsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBTyxFQUFFO2dCQUMxQixNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ04sa0NBQWtDO3dCQUNsQyxPQUFPLENBQUMsQ0FBQTtvQkFDVixDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTt3QkFDOUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7d0JBQ1osT0FBTyxFQUFFLENBQUE7b0JBQ1gsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtvQkFDOUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDMUMsT0FBTyxFQUFFLENBQUE7Z0JBQ1gsQ0FBQztZQUNILENBQUM7U0FDRjtLQUNGLENBQUE7SUFFRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLE9BQU87UUFDWixHQUFHLEVBQUUsT0FBTztRQUNaLFNBQVM7S0FDVixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcscUJBQVksR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtBQUUxRDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxnQkFBQSxRQUFRLEVBQWM7Q0FJOUQifQ==
@@ -1,6 +1,6 @@
1
1
  import { Option } from "@effect-app/core/Option";
2
2
  import { OptimisticConcurrencyException } from "../../errors.js";
3
- import type { Filter, FilterJoinSelect, PersistenceModelType } from "./service.js";
3
+ import type { Filter, FilterJoinSelect, PersistenceModelType, SupportedValues2 } from "./service.js";
4
4
  export declare const makeETag: <E extends PersistenceModelType<Id>, Id extends string>({ _etag, ...e }: E) => E;
5
5
  export declare const makeUpdateETag: (type: string) => <E extends PersistenceModelType<Id>, Id extends string>(e: E, current: Option<E>) => import("effect/Effect").Effect<never, OptimisticConcurrencyException, E>;
6
6
  export declare function codeFilter<E extends {
@@ -11,4 +11,10 @@ export declare function codeFilterJoinSelect<E extends {
11
11
  }, NE>(filter: FilterJoinSelect): (x: E) => (NE & {
12
12
  _rootId: string;
13
13
  })[];
14
+ export declare function lowercaseIfString<T>(val: T): string | T;
15
+ export declare function compareCaseInsensitive(valA: unknown, valB: unknown): boolean;
16
+ export declare function ltCaseInsensitive(valA: SupportedValues2, valB: SupportedValues2): boolean;
17
+ export declare function lteCaseInsensitive(valA: SupportedValues2, valB: SupportedValues2): boolean;
18
+ export declare function gtCaseInsensitive(valA: SupportedValues2, valB: SupportedValues2): boolean;
19
+ export declare function gteCaseInsensitive(valA: SupportedValues2, valB: SupportedValues2): boolean;
14
20
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/utils.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,EAAoB,MAAM,cAAc,CAAA;AAIpG,eAAO,MAAM,QAAQ,2EACF,CAAC,KACjB,CAIQ,CAAA;AACX,eAAO,MAAM,cAAc,SAClB,MAAM,gEAAgE,CAAC,WAAW,OAAO,CAAC,CAAC,6EAoB9F,CAAA;AAEN,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OACxE,CAAC,yEA0Hb;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,EAC/D,MAAM,EAAE,gBAAgB,OAEb,CAAC;;KAkBb"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/utils.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAKpG,eAAO,MAAM,QAAQ,2EACF,CAAC,KACjB,CAIQ,CAAA;AACX,eAAO,MAAM,cAAc,SAClB,MAAM,gEAAgE,CAAC,WAAW,OAAO,CAAC,CAAC,6EAoB9F,CAAA;AAEN,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OACxE,CAAC,yEA4Hb;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,EAC/D,MAAM,EAAE,gBAAgB,OAEb,CAAC;;KAkBb;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,cAK1C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAIlE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,WAI/E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,WAIhF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,WAI/E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,WAIhF"}