@effect-app/infra 0.118.0 → 0.120.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.
- package/CHANGELOG.md +20 -0
- package/_cjs/services/Emailer/Sendgrid.cjs +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +4 -38
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +39 -36
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos/query.cjs +291 -0
- package/_cjs/services/Store/Cosmos/query.cjs.map +1 -0
- package/_cjs/services/Store/Cosmos.cjs +38 -183
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.test.cjs +7 -7
- package/_cjs/services/Store/Cosmos.test.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +1 -1
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +20 -17
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +2 -2
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.cjs +151 -0
- package/_cjs/services/Store/codeFilter.cjs.map +1 -0
- package/_cjs/services/Store/filterApi/proxy.cjs +40 -0
- package/_cjs/services/Store/filterApi/proxy.cjs.map +1 -0
- package/_cjs/services/Store/filterApi/query.cjs +173 -0
- package/_cjs/services/Store/filterApi/query.cjs.map +1 -0
- package/_cjs/services/Store/filterApi.test.cjs +164 -0
- package/_cjs/services/Store/filterApi.test.cjs.map +1 -0
- package/_cjs/services/Store/index.cjs +1 -1
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +8 -1
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_src/services/Emailer/Sendgrid.ts +0 -1
- package/_src/services/Repository.ts +124 -70
- package/_src/services/RepositoryBase.ts +26 -12
- package/_src/services/Store/Cosmos/query.ts +390 -0
- package/_src/services/Store/Cosmos.test.ts +5 -5
- package/_src/services/Store/Cosmos.ts +39 -245
- package/_src/services/Store/Disk.ts +0 -1
- package/_src/services/Store/Memory.ts +21 -18
- package/_src/services/Store/Redis.ts +3 -4
- package/_src/services/Store/codeFilter.ts +150 -0
- package/_src/services/Store/filterApi/proxy.ts +109 -0
- package/_src/services/Store/filterApi/query.ts +256 -0
- package/_src/services/Store/filterApi.test.ts +263 -0
- package/_src/services/Store/index.ts +0 -1
- package/_src/services/Store/service.ts +17 -5
- package/_src/services/Store/utils.ts +10 -7
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +2 -2
- package/dist/services/Repository.d.ts +44 -104
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +6 -30
- package/dist/services/RepositoryBase.d.ts +11 -21
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +41 -37
- package/dist/services/Store/Cosmos/query.d.ts +61 -0
- package/dist/services/Store/Cosmos/query.d.ts.map +1 -0
- package/dist/services/Store/Cosmos/query.js +302 -0
- package/dist/services/Store/Cosmos.d.ts +3 -47
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +39 -193
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +2 -2
- package/dist/services/Store/Memory.d.ts +2 -7
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +17 -15
- package/dist/services/Store/Redis.d.ts.map +1 -1
- package/dist/services/Store/Redis.js +3 -3
- package/dist/services/Store/codeFilter.d.ts +5 -0
- package/dist/services/Store/codeFilter.d.ts.map +1 -0
- package/dist/services/Store/codeFilter.js +140 -0
- package/dist/services/Store/filterApi/proxy.d.ts +41 -0
- package/dist/services/Store/filterApi/proxy.d.ts.map +1 -0
- package/dist/services/Store/filterApi/proxy.js +41 -0
- package/dist/services/Store/filterApi/query.d.ts +64 -0
- package/dist/services/Store/filterApi/query.d.ts.map +1 -0
- package/dist/services/Store/filterApi/query.js +134 -0
- package/dist/services/Store/filterApi.test.d.ts.map +1 -0
- package/dist/services/Store/index.d.ts.map +1 -1
- package/dist/services/Store/index.js +2 -2
- package/dist/services/Store/service.d.ts +12 -5
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/Store/service.js +1 -1
- package/dist/services/Store/utils.d.ts +7 -1
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +118 -115
- package/package.json +48 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/ReadonlyArray";
|
|
2
|
-
import * as tsplus_module_2 from "
|
|
3
|
-
import * as tsplus_module_3 from "effect/
|
|
2
|
+
import * as tsplus_module_2 from "effect/Option";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/Array";
|
|
4
4
|
import * as tsplus_module_4 from "effect/FiberRef";
|
|
5
5
|
import * as tsplus_module_5 from "effect/Effect";
|
|
6
6
|
import * as tsplus_module_6 from "effect/Chunk";
|
|
@@ -8,23 +8,26 @@ import * as tsplus_module_7 from "effect/Ref";
|
|
|
8
8
|
import * as tsplus_module_8 from "@effect-app/core/_ext/Iterable";
|
|
9
9
|
import * as tsplus_module_9 from "@effect-app/core/Function";
|
|
10
10
|
import * as tsplus_module_10 from "@effect-app/core/Tag";
|
|
11
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
12
|
+
import { pick } from "@effect-app/prelude/utils";
|
|
11
13
|
import { StoreMaker } from "./service.js";
|
|
12
14
|
import { codeFilter, codeFilterJoinSelect, makeUpdateETag } from "./utils.js";
|
|
13
|
-
export function memFilter(
|
|
15
|
+
export function memFilter(f) {
|
|
14
16
|
return ((c) => {
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
+
const select = (r) => (f.select ? r.map((_) => pick(_, f.select)) : r);
|
|
18
|
+
const skip = f?.skip;
|
|
19
|
+
const limit = f?.limit;
|
|
17
20
|
if (!skip && limit === 1) {
|
|
18
|
-
return
|
|
21
|
+
return select(tsplus_module_2.getOrElse(tsplus_module_2.map(tsplus_module_3.findFirstMap(f.filter ? codeFilter(f.filter) : (_) => tsplus_module_2.some(_))(c), tsplus_module_1.make), () => []));
|
|
19
22
|
}
|
|
20
|
-
let r = tsplus_module_1.filterMap(c, codeFilter(filter));
|
|
23
|
+
let r = f.filter ? tsplus_module_1.filterMap(c, codeFilter(f.filter)) : c;
|
|
21
24
|
if (skip) {
|
|
22
25
|
r = tsplus_module_1.drop(r, skip);
|
|
23
26
|
}
|
|
24
27
|
if (limit !== undefined) {
|
|
25
28
|
r = tsplus_module_1.take(r, limit);
|
|
26
29
|
}
|
|
27
|
-
return r;
|
|
30
|
+
return select(r);
|
|
28
31
|
});
|
|
29
32
|
}
|
|
30
33
|
export const storeId = tsplus_module_4.unsafeMake("primary");
|
|
@@ -32,18 +35,17 @@ export const storeId = tsplus_module_4.unsafeMake("primary");
|
|
|
32
35
|
* @tsplus getter RequestContext restoreStoreId
|
|
33
36
|
*/
|
|
34
37
|
export const restoreFromRequestContext = (ctx) => tsplus_module_4.set(storeId, ctx.namespace ?? "primary");
|
|
35
|
-
function logQuery(
|
|
38
|
+
function logQuery(f) {
|
|
36
39
|
return tsplus_module_5.logDebug("mem query")
|
|
37
40
|
.pipe(tsplus_module_5.annotateLogs({
|
|
38
|
-
query:
|
|
39
|
-
cursor: JSON.stringify(cursor, undefined, 2)
|
|
41
|
+
query: f
|
|
40
42
|
}));
|
|
41
43
|
}
|
|
42
44
|
export function makeMemoryStoreInt(modelName, namespace, seed) {
|
|
43
45
|
return tsplus_module_5.gen(function* ($) {
|
|
44
46
|
const updateETag = makeUpdateETag(modelName);
|
|
45
47
|
const items_ = yield* $(seed ?? tsplus_module_5.sync(() => []));
|
|
46
|
-
const items = new Map(tsplus_module_6.map(
|
|
48
|
+
const items = new Map(tsplus_module_6.map(tsplus_module_3.ext_itToChunk(items_), (_) => [_.id, _]));
|
|
47
49
|
const store = tsplus_module_7.unsafeMake(items);
|
|
48
50
|
const sem = tsplus_module_5.unsafeMakeSemaphore(1);
|
|
49
51
|
const withPermit = sem.withPermits(1);
|
|
@@ -62,13 +64,13 @@ export function makeMemoryStoreInt(modelName, namespace, seed) {
|
|
|
62
64
|
namespace
|
|
63
65
|
}
|
|
64
66
|
}),
|
|
65
|
-
find: (id) => tsplus_module_5.withSpan(tsplus_module_5.map(tsplus_module_7.get(store), (_) =>
|
|
67
|
+
find: (id) => tsplus_module_5.withSpan(tsplus_module_5.map(tsplus_module_7.get(store), (_) => tsplus_module_2.fromNullable(_.get(id))), "Memory.find [effect-app/infra/Store]", {
|
|
66
68
|
attributes: {
|
|
67
69
|
modelName,
|
|
68
70
|
namespace
|
|
69
71
|
}
|
|
70
72
|
}),
|
|
71
|
-
filter: (
|
|
73
|
+
filter: (f) => tsplus_module_5.withSpan(tsplus_module_5.map(tsplus_module_5.tap(all, () => logQuery(f)), memFilter(f)), "Memory.filter [effect-app/infra/Store]", {
|
|
72
74
|
attributes: { "repository.model_name": modelName, "repository.namespace": namespace }
|
|
73
75
|
}),
|
|
74
76
|
filterJoinSelect: (filter) => tsplus_module_5.withSpan(tsplus_module_5.map(all, (c) => c.flatMap(codeFilterJoinSelect(filter))), "Memory.filterJoinSelect [effect-app/infra/Store]", {
|
|
@@ -130,4 +132,4 @@ export const makeMemoryStore = () => ({
|
|
|
130
132
|
})
|
|
131
133
|
});
|
|
132
134
|
export const MemoryStoreLive = tsplus_module_10.makeLayer(StoreMaker, makeMemoryStore());
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9NZW1vcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUU3RSxNQUFNLFVBQVUsU0FBUyxDQUFvRSxDQUFtQjtJQUU5RyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQU8sRUFBRTtRQUN0QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQU0sRUFBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVEsQ0FBQTtRQUN4RixNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFBO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUE7UUFDdEIsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxNQUFNLENBQ1gsMEJBQUEsb0JBQUEsNkJBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHFCQUFZLENBQUMsQ0FBQyxFQUF0RSxDQUFDLENBQXNFLHVCQUF3QixFQUM3RixHQUFHLEVBQUUsQ0FBQyxFQUFF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redis.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Redis.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAIrE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Redis.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Redis.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAIrE,OAAO,KAAK,EAAoB,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa;+FAK1C,MAAM,SACL,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,YACvB,YAAY,EAAE,CAAC;GA2EhC;AACD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,mGAE3D"}
|
|
@@ -39,7 +39,7 @@ export function makeRedisStore({ prefix }) {
|
|
|
39
39
|
.pipe(withPermit), RedisClient, redis);
|
|
40
40
|
const s = {
|
|
41
41
|
all,
|
|
42
|
-
filter: (
|
|
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
|
|
@@ -56,6 +56,6 @@ export function makeRedisStore({ prefix }) {
|
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
export function RedisStoreLive(config) {
|
|
59
|
-
return tsplus_module_6.effect(StoreMaker)(tsplus_module_1.flatMap(
|
|
59
|
+
return tsplus_module_6.effect(StoreMaker)(tsplus_module_1.flatMap(config, makeRedisStore));
|
|
60
60
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvY29kZUZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRWxFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ25CLE1BQU0sWUFBWSxDQUFBO0FBRW5CLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUksQ0FBVSxFQUFFLENBQUksRUFBRSxFQUFFO0lBQ3pELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hCLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2IsS0FBSyxJQUFJO1lBQ1AsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM1QixLQUFLLE9BQU87WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0IsS0FBSyxJQUFJO1lBQ1AsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLEtBQUssS0FBSztZQUNSLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxLQUFLLElBQUk7WUFDUCxPQUFPLGlCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEMsS0FBSyxLQUFLO1lBQ1IsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLEtBQUssVUFBVTtZQUNiLE9BQVEsQ0FBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9DLEtBQUssYUFBYTtZQUNoQixPQUFPLENBQUUsQ0FBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hELEtBQUssVUFBVTtZQUNiLE9BQVEsQ0FBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDcEUsS0FBSyxVQUFVO1lBQ2IsT0FBUSxDQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUNwRSxLQUFLLFlBQVk7WUFDZixPQUFRLENBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ3RFLEtBQUssYUFBYTtZQUNoQixPQUFPLENBQUUsQ0FBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDckUsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sQ0FBRSxDQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxLQUFLLGVBQWU7WUFDbEIsT0FBTyxDQUFFLENBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZFLEtBQUssS0FBSztZQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUM1QixDQUFDLENBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBVztvQkFDMUMsa0JBQWtCO3FCQUNqQixLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkYsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QyxLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssU0FBUztZQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUM1QixDQUFDLENBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBVztvQkFDMUMsa0JBQWtCO3FCQUNqQixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pGLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDUixPQUFPLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNoQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELDZHQUE2RztBQUM3RyxZQUFZO0FBQ1osdUJBQXVCO0FBQ3ZCLHFDQUFxQztBQUNyQyxvQ0FBb0M7QUFDcEMsWUFBWTtBQUNaLG9DQUFvQztBQUNwQyxtQ0FBbUM7QUFDbkMsWUFBWTtBQUNaLHVDQUF1QztBQUN2QywyQ0FBMkM7QUFDM0MsWUFBWTtBQUNaLDJDQUEyQztBQUMzQyxXQUFXO0FBQ1gsbUNBQW1DO0FBQ25DLG9CQUFvQjtBQUVwQixxSEFBcUg7QUFDckgsWUFBWTtBQUNaLHdCQUF3QjtBQUN4QixxQ0FBcUM7QUFDckMsb0NBQW9DO0FBQ3BDLFlBQVk7QUFDWixvQ0FBb0M7QUFDcEMsbUNBQW1DO0FBQ25DLFlBQVk7QUFDWix1Q0FBdUM7QUFDdkMsMkNBQTJDO0FBQzNDLFlBQVk7QUFDWiwyQ0FBMkM7QUFDM0MsV0FBVztBQUNYLG1DQUFtQztBQUNuQyxvQkFBb0I7QUFFcEIsZ0RBQWdEO0FBQ2hELDRIQUE0SDtBQUM1SCwyRkFBMkY7QUFDM0YsMEdBQTBHO0FBQzFHLDhEQUE4RDtBQUM5RCxxQkFBcUI7QUFDckIsYUFBYTtBQUNiLDZCQUE2QjtBQUM3QixVQUFVO0FBQ1YsNkJBQTZCO0FBQzdCLElBQUk7QUFFSixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBSSxLQUE4QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQU0sRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUN0RyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBSSxLQUE4QixFQUFFLEdBQU0sRUFBVyxFQUFFO0lBQ2pGLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNULE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUMxRSxDQUFDLENBQUE7SUFDRCx5QkFBeUI7SUFFekIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUMzRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3RCLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1osS0FBSyxPQUFPO2dCQUNWLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2YsTUFBSztZQUNQLEtBQUssSUFBSTtnQkFDUCxDQUFDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDeEIsTUFBSztZQUNQLEtBQUssS0FBSztnQkFDUixDQUFDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDeEIsTUFBSztZQUNQLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDaEIsQ0FBQztnQkFBQSxFQUFFLENBQUMsQ0FBQTtnQkFDSixDQUFDLElBQUksVUFBVSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUMxRTtnQkFBQSxFQUFFLENBQUMsQ0FBQTtnQkFDSixNQUFLO1lBQ1AsQ0FBQztZQUNELEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDakIsQ0FBQztnQkFBQSxFQUFFLENBQUMsQ0FBQTtnQkFDSixDQUFDLElBQUksVUFBVSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUMxRTtnQkFBQSxFQUFFLENBQUMsQ0FBQTtnQkFFSixNQUFLO1lBQ1AsQ0FBQztZQUNELEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsT0FBTztnQkFDUCxDQUFDLElBQUksTUFBTSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUE7Z0JBQzNELE9BQU87Z0JBQ1AsTUFBSztZQUNQLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2hCLENBQUMsQ0FBQSJ9
|
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAG7C,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,EAAE,UAAU,CAAA;IACb,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB,GAAG;IACF,CAAC,EAAE,WAAW,CAAA;IACd,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB,GAAG;IACF,CAAC,EAAE,aAAa,CAAA;IAChB,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,GAAG,CAAA;IAEP,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GACpB;IACA,CAAC,EAAE,OAAO,CAAA;CACX,GAAG,OAAO,GACT;IACA,CAAC,EAAE,IAAI,CAAA;CACR,GAAG,OAAO,GACT;IACA,CAAC,EAAE,KAAK,CAAA;CACT,GAAG,OAAO,GACT,YAAY,CAAA;AAEhB,eAAO,MAAM,KAAK,UAAW,SAAS,YAAY,EAAE,WAuCnD,CAAA;AAED,eAAO,MAAM,UAAU;oBAUG,GAAG,EAAE;;uBAsBP,GAAG,EAAE;sBAsBN,GAAG,EAAE;;;;CA2B3B,CAAA;AAED,eAAO,MAAM,YAAY;2DAEb,WAAW,YAAY,CAAC,UAAU,OAAO,YAAY,CAAC,KAAK,aAAa,YAAY,CAAC,KAC1F,aAAa,YAAY,CAAC;CAYhC,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,YAAY,SAAS,WAAW,IAAI;IACtD,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;IAC/B,KAAK,IAAI,YAAY,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,KAAK,CAAC,YAAY,SAAS,WAAW,IAAI;IACpD,CACE,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,EAC1C,CAAC,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAElD,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,YAAY,CAAC,CAAA;IAC7B,CACE,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,EAC1C,CAAC,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAElD,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,YAAY,CAAC,CAAA;IAC7B,CACE,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,EAC1C,CAAC,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAElD,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EAC/B,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,YAAY,CAAC,CAAA;IAC7B,CACE,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,EAC1C,CAAC,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAElD,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,aAAa,EAC5F,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,YAAY,CAAC,CAAA;IAC7B,CACE,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,EAC1C,CAAC,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAElD,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,IAAI,GAAG,OAAO,EAClB,KAAK,EAAE,SAAS,CAAC,EAAE,GAClB,YAAY,CAAC,YAAY,CAAC,CAAA;CAC9B,CAAA;AAQD,MAAM,MAAM,UAAU,CAAC,YAAY,SAAS,WAAW,IAAI;IACzD,CACE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC,GACjF,YAAY,CAAC,YAAY,CAAC,CAAA;IAC7B,CACE,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,EAC1C,CAAC,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAClD,CAAC,EAAE;QACH,IAAI,EAAE,UAAU,CAAA;QAChB,EAAE,EAAE,GAAG,CAAA;QACP,KAAK,EAAE,CAAC,CAAA;KACT,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;CAC/B,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA;AAOvB,MAAM,WAAW,YAAY,CAAC,YAAY,SAAS,WAAW;IAC5D,IAAI,EAAE,SAAS,CAAA;IAEf,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;IAC7B,EAAE,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;IAC5B,KAAK,IAAI,YAAY,EAAE,CAAA;CAExB"}
|