@effect-app/infra 0.210.11 → 0.211.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 +13 -0
- package/_cjs/services/RepositoryBase.cjs +0 -22
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos/query.cjs +0 -137
- package/_cjs/services/Store/Cosmos/query.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +5 -35
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +0 -1
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +0 -6
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +1 -106
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/dist/services/RepositoryBase.d.ts +3 -60
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +1 -22
- package/dist/services/Store/Cosmos/query.d.ts +1 -45
- package/dist/services/Store/Cosmos/query.d.ts.map +1 -1
- package/dist/services/Store/Cosmos/query.js +1 -145
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +18 -61
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +1 -2
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +2 -10
- package/dist/services/Store/filterApi/query.d.ts +1 -1
- package/dist/services/Store/filterApi/query.d.ts.map +1 -1
- package/dist/services/Store/service.d.ts +1 -38
- 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 +1 -6
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +3 -140
- package/dist/services/query/dsl.d.ts +2 -2
- package/dist/services/query/dsl.d.ts.map +1 -1
- package/package.json +4 -14
- package/src/services/RepositoryBase.ts +1 -34
- package/src/services/Store/Cosmos/query.ts +1 -203
- package/src/services/Store/Cosmos.ts +38 -135
- package/src/services/Store/Disk.ts +0 -1
- package/src/services/Store/Memory.ts +2 -17
- package/src/services/Store/Redis.ts.bak +2 -4
- package/src/services/Store/filterApi/query.ts +2 -2
- package/src/services/Store/service.ts +1 -35
- package/src/services/Store/utils.ts +3 -152
- package/src/services/query/dsl.ts +4 -4
- package/_cjs/filter.cjs +0 -363
- package/_cjs/filter.cjs.map +0 -1
- package/_cjs/services/Store/Cosmos.test.cjs +0 -55
- package/_cjs/services/Store/Cosmos.test.cjs.map +0 -1
- package/_cjs/services/Store/codeFilter.test.cjs +0 -63
- package/_cjs/services/Store/codeFilter.test.cjs.map +0 -1
- package/dist/filter.d.ts +0 -142
- package/dist/filter.d.ts.map +0 -1
- package/dist/filter.js +0 -248
- package/dist/services/Store/Cosmos.test.d.ts.map +0 -1
- package/dist/services/Store/codeFilter.test.d.ts.map +0 -1
- package/src/filter.ts +0 -420
- package/src/services/Store/Cosmos.test.ts +0 -94
- package/src/services/Store/codeFilter.test.ts +0 -166
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Effect, Option
|
|
2
|
-
import { get } from "effect-app/utils"
|
|
1
|
+
import { Effect, Option } from "effect-app"
|
|
3
2
|
import objectHash from "object-hash"
|
|
4
3
|
import { OptimisticConcurrencyException } from "../../errors.js"
|
|
5
4
|
import { codeFilter3_ } from "./codeFilter.js"
|
|
6
|
-
import type { Filter,
|
|
5
|
+
import type { Filter, PersistenceModelType, SupportedValues2 } from "./service.js"
|
|
7
6
|
|
|
8
7
|
export const makeETag = <E extends PersistenceModelType<Id>, Id extends string>(
|
|
9
8
|
{ _etag, ...e }: E
|
|
@@ -37,155 +36,7 @@ export const makeUpdateETag =
|
|
|
37
36
|
})
|
|
38
37
|
|
|
39
38
|
export function codeFilter<E extends { id: string }, NE extends E>(filter: Filter<NE>) {
|
|
40
|
-
return (x: E) =>
|
|
41
|
-
filter.type === "new-kid"
|
|
42
|
-
? codeFilter3_(filter.build(), x) ? Option.some(x as unknown as NE) : Option.none()
|
|
43
|
-
: filter.type === "startsWith"
|
|
44
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
-
? lowercaseIfString((x as any)[filter.by]).startsWith(filter.value.toLowerCase())
|
|
46
|
-
? Option.some(x as unknown as NE)
|
|
47
|
-
: Option.none()
|
|
48
|
-
: filter.type === "endsWith"
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
-
? lowercaseIfString((x as any)[filter.by]).endsWith(filter.value.toLowerCase())
|
|
51
|
-
? Option.some(x as unknown as NE)
|
|
52
|
-
: Option.none()
|
|
53
|
-
: filter.type === "contains"
|
|
54
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
56
|
-
? lowercaseIfString((x as any)[filter.by]).includes(filter.value.toLowerCase())
|
|
57
|
-
? Option.some(x as unknown as NE)
|
|
58
|
-
: Option.none()
|
|
59
|
-
: filter.type === "join_find"
|
|
60
|
-
? filter.keys.some((k) => {
|
|
61
|
-
const value = get(x, k) as Record<string, unknown>[]
|
|
62
|
-
// we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
|
|
63
|
-
return (
|
|
64
|
-
value
|
|
65
|
-
&& value.some((v) => compare(v[filter.valueKey], filter.value))
|
|
66
|
-
)
|
|
67
|
-
})
|
|
68
|
-
? Option.some(x as unknown as NE)
|
|
69
|
-
: Option.none()
|
|
70
|
-
// TODO: support mixed or/and
|
|
71
|
-
: filter.mode === "or"
|
|
72
|
-
? filter
|
|
73
|
-
.where
|
|
74
|
-
.some((p) => {
|
|
75
|
-
const k = get(x, p.key)
|
|
76
|
-
switch (p.t) {
|
|
77
|
-
case "in":
|
|
78
|
-
return p.value.includes(k)
|
|
79
|
-
case "not-in":
|
|
80
|
-
return !p.value.includes(k)
|
|
81
|
-
case "lt":
|
|
82
|
-
return lowerThan(k, p.value)
|
|
83
|
-
case "lte":
|
|
84
|
-
return lowerThanExclusive(k, p.value)
|
|
85
|
-
case "gt":
|
|
86
|
-
return greaterThan(k, p.value)
|
|
87
|
-
case "gte":
|
|
88
|
-
return greaterThanExclusive(k, p.value)
|
|
89
|
-
case "includes":
|
|
90
|
-
return (k as Array<string>).includes(p.value)
|
|
91
|
-
case "not-includes":
|
|
92
|
-
return !(k as Array<string>).includes(p.value)
|
|
93
|
-
case "contains":
|
|
94
|
-
return (k as string).toLowerCase().includes(p.value.toLowerCase())
|
|
95
|
-
case "ends-with":
|
|
96
|
-
return (k as string).toLowerCase().endsWith(p.value.toLowerCase())
|
|
97
|
-
case "starts-with":
|
|
98
|
-
return (k as string).toLowerCase().startsWith(p.value.toLowerCase())
|
|
99
|
-
case "not-contains":
|
|
100
|
-
return !(k as string).toLowerCase().includes(p.value.toLowerCase())
|
|
101
|
-
case "not-ends-with":
|
|
102
|
-
return !(k as string).toLowerCase().endsWith(p.value.toLowerCase())
|
|
103
|
-
case "not-starts-with":
|
|
104
|
-
return !(k as string).toLowerCase().startsWith(p.value.toLowerCase())
|
|
105
|
-
case "not-eq":
|
|
106
|
-
return !compare(k, p.value)
|
|
107
|
-
case "eq":
|
|
108
|
-
case undefined:
|
|
109
|
-
return compare(k, p.value)
|
|
110
|
-
}
|
|
111
|
-
})
|
|
112
|
-
? Option.some(x as unknown as NE)
|
|
113
|
-
: Option.none()
|
|
114
|
-
: filter
|
|
115
|
-
.where
|
|
116
|
-
.every((p) => {
|
|
117
|
-
const k = get(x, p.key)
|
|
118
|
-
switch (p.t) {
|
|
119
|
-
case "in":
|
|
120
|
-
return p.value.includes(k)
|
|
121
|
-
case "not-in":
|
|
122
|
-
return !p.value.includes(k)
|
|
123
|
-
case "lt":
|
|
124
|
-
return lowerThan(k, p.value)
|
|
125
|
-
case "lte":
|
|
126
|
-
return lowerThanExclusive(k, p.value)
|
|
127
|
-
case "gt":
|
|
128
|
-
return greaterThan(k, p.value)
|
|
129
|
-
case "gte":
|
|
130
|
-
return greaterThanExclusive(k, p.value)
|
|
131
|
-
case "includes":
|
|
132
|
-
return (k as Array<string>).includes(p.value)
|
|
133
|
-
case "not-includes":
|
|
134
|
-
return !(k as Array<string>).includes(p.value)
|
|
135
|
-
case "contains":
|
|
136
|
-
return (k as string).toLowerCase().includes(p.value.toLowerCase())
|
|
137
|
-
case "ends-with":
|
|
138
|
-
return (k as string).toLowerCase().endsWith(p.value.toLowerCase())
|
|
139
|
-
case "starts-with":
|
|
140
|
-
return (k as string).toLowerCase().startsWith(p.value.toLowerCase())
|
|
141
|
-
case "not-contains":
|
|
142
|
-
return !(k as string).toLowerCase().includes(p.value.toLowerCase())
|
|
143
|
-
case "not-ends-with":
|
|
144
|
-
return !(k as string).toLowerCase().endsWith(p.value.toLowerCase())
|
|
145
|
-
case "not-starts-with":
|
|
146
|
-
return !(k as string).toLowerCase().startsWith(p.value.toLowerCase())
|
|
147
|
-
case "not-eq":
|
|
148
|
-
return p.key.includes(".-1.")
|
|
149
|
-
? (get(x, p.key.split(".-1.")[0]) as any[])
|
|
150
|
-
// TODO: or vs and
|
|
151
|
-
.every((_) => !compare(get(_, p.key.split(".-1.")[1]!), p.value))
|
|
152
|
-
: !compare(k, p.value)
|
|
153
|
-
case "eq":
|
|
154
|
-
case undefined:
|
|
155
|
-
return p.key.includes(".-1.")
|
|
156
|
-
? (get(x, p.key.split(".-1.")[0]) as any[])
|
|
157
|
-
// TODO: or vs and
|
|
158
|
-
.some((_) => compare(get(_, p.key.split(".-1.")[1]!), p.value))
|
|
159
|
-
: compare(k, p.value)
|
|
160
|
-
}
|
|
161
|
-
})
|
|
162
|
-
? Option.some(x as unknown as NE)
|
|
163
|
-
: Option.none()
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
export function codeFilterJoinSelect<E extends { id: string }, NE>(
|
|
167
|
-
filter: FilterJoinSelect
|
|
168
|
-
) {
|
|
169
|
-
return (x: E) =>
|
|
170
|
-
ReadonlyArray
|
|
171
|
-
.filterMap(
|
|
172
|
-
filter
|
|
173
|
-
.keys,
|
|
174
|
-
(k) => {
|
|
175
|
-
const value = get(x, k)
|
|
176
|
-
// we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
|
|
177
|
-
return value
|
|
178
|
-
? Option.some(
|
|
179
|
-
ReadonlyArray.filterMap(value as readonly NE[], (v) =>
|
|
180
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
181
|
-
compare((v as any)[filter.valueKey], filter.value)
|
|
182
|
-
? Option.some({ ...v, _rootId: x.id })
|
|
183
|
-
: Option.none())
|
|
184
|
-
)
|
|
185
|
-
: Option.none()
|
|
186
|
-
}
|
|
187
|
-
)
|
|
188
|
-
.flatMap((_) => _)
|
|
39
|
+
return (x: E) => codeFilter3_(filter.build(), x) ? Option.some(x as unknown as NE) : Option.none()
|
|
189
40
|
}
|
|
190
41
|
|
|
191
42
|
export function lowercaseIfString<T>(val: T) {
|
|
@@ -251,11 +251,11 @@ export type FilterWheres = {
|
|
|
251
251
|
<
|
|
252
252
|
TFieldValues extends FieldValues,
|
|
253
253
|
TFieldName extends FieldPath<TFieldValues>,
|
|
254
|
-
V extends
|
|
254
|
+
V extends string
|
|
255
255
|
>(
|
|
256
256
|
path: TFieldName,
|
|
257
257
|
op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith",
|
|
258
|
-
value: V
|
|
258
|
+
value: V
|
|
259
259
|
): (
|
|
260
260
|
current: Query<TFieldValues>
|
|
261
261
|
) => QueryWhere<TFieldValues>
|
|
@@ -322,11 +322,11 @@ export type FilterContinuations = {
|
|
|
322
322
|
<
|
|
323
323
|
TFieldValues extends FieldValues,
|
|
324
324
|
TFieldName extends FieldPath<TFieldValues>,
|
|
325
|
-
V extends
|
|
325
|
+
V extends string
|
|
326
326
|
>(
|
|
327
327
|
path: TFieldName,
|
|
328
328
|
op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith",
|
|
329
|
-
value: V
|
|
329
|
+
value: V
|
|
330
330
|
): (
|
|
331
331
|
current: QueryWhere<TFieldValues>
|
|
332
332
|
) => QueryWhere<TFieldValues>
|
package/_cjs/filter.cjs
DELETED
|
@@ -1,363 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.$contains = $contains;
|
|
7
|
-
exports.$endsWith = $endsWith;
|
|
8
|
-
exports.$gt = $gt;
|
|
9
|
-
exports.$gte = $gte;
|
|
10
|
-
exports.$in = $in;
|
|
11
|
-
exports.$includes = $includes;
|
|
12
|
-
exports.$is = $is;
|
|
13
|
-
exports.$isnt = $isnt;
|
|
14
|
-
exports.$lt = $lt;
|
|
15
|
-
exports.$lte = $lte;
|
|
16
|
-
exports.$notContains = $notContains;
|
|
17
|
-
exports.$notEndsWith = $notEndsWith;
|
|
18
|
-
exports.$notIn = $notIn;
|
|
19
|
-
exports.$notIncludes = $notIncludes;
|
|
20
|
-
exports.$notStartsWith = $notStartsWith;
|
|
21
|
-
exports.$startsWith = $startsWith;
|
|
22
|
-
exports.Filters = void 0;
|
|
23
|
-
exports.makeFilters = makeFilters;
|
|
24
|
-
exports.makeWhereFilter = makeWhereFilter;
|
|
25
|
-
function makeWhereFilter() {
|
|
26
|
-
const f = makeWhereFilter_();
|
|
27
|
-
return f;
|
|
28
|
-
}
|
|
29
|
-
function makeHelpers() {
|
|
30
|
-
const helpers = makeHelpers_();
|
|
31
|
-
return helpers;
|
|
32
|
-
}
|
|
33
|
-
function makeHelpers_() {
|
|
34
|
-
return {
|
|
35
|
-
in(path, value) {
|
|
36
|
-
return {
|
|
37
|
-
key: path,
|
|
38
|
-
value,
|
|
39
|
-
t: "in"
|
|
40
|
-
};
|
|
41
|
-
},
|
|
42
|
-
notIn(path, value) {
|
|
43
|
-
return {
|
|
44
|
-
key: path,
|
|
45
|
-
value,
|
|
46
|
-
t: "not-in"
|
|
47
|
-
};
|
|
48
|
-
},
|
|
49
|
-
includes(path, value) {
|
|
50
|
-
return {
|
|
51
|
-
key: path,
|
|
52
|
-
value,
|
|
53
|
-
t: "includes"
|
|
54
|
-
};
|
|
55
|
-
},
|
|
56
|
-
notIncludes(path, value) {
|
|
57
|
-
return {
|
|
58
|
-
key: path,
|
|
59
|
-
value,
|
|
60
|
-
t: "not-includes"
|
|
61
|
-
};
|
|
62
|
-
},
|
|
63
|
-
eq(path, value) {
|
|
64
|
-
return {
|
|
65
|
-
key: path,
|
|
66
|
-
value,
|
|
67
|
-
t: "eq"
|
|
68
|
-
};
|
|
69
|
-
},
|
|
70
|
-
notEq(path, value) {
|
|
71
|
-
return {
|
|
72
|
-
key: path,
|
|
73
|
-
value,
|
|
74
|
-
t: "not-eq"
|
|
75
|
-
};
|
|
76
|
-
},
|
|
77
|
-
gt(path, value) {
|
|
78
|
-
return {
|
|
79
|
-
key: path,
|
|
80
|
-
value,
|
|
81
|
-
t: "gt"
|
|
82
|
-
};
|
|
83
|
-
},
|
|
84
|
-
gte(path, value) {
|
|
85
|
-
return {
|
|
86
|
-
key: path,
|
|
87
|
-
value,
|
|
88
|
-
t: "gte"
|
|
89
|
-
};
|
|
90
|
-
},
|
|
91
|
-
lt(path, value) {
|
|
92
|
-
return {
|
|
93
|
-
key: path,
|
|
94
|
-
value,
|
|
95
|
-
t: "lt"
|
|
96
|
-
};
|
|
97
|
-
},
|
|
98
|
-
lte(path, value) {
|
|
99
|
-
return {
|
|
100
|
-
key: path,
|
|
101
|
-
value,
|
|
102
|
-
t: "lte"
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
function makeWhereFilter_() {
|
|
108
|
-
const helpers = makeHelpers();
|
|
109
|
-
const f = Object.assign(helpers.eq, helpers);
|
|
110
|
-
return f;
|
|
111
|
-
}
|
|
112
|
-
function $in(_, ...v) {
|
|
113
|
-
return $$in(v);
|
|
114
|
-
}
|
|
115
|
-
function $notIn(_, ...v) {
|
|
116
|
-
return $$notIn(v);
|
|
117
|
-
}
|
|
118
|
-
function $is(_, v) {
|
|
119
|
-
return $$is(v);
|
|
120
|
-
}
|
|
121
|
-
function $includes(_, v) {
|
|
122
|
-
return $$includes(v);
|
|
123
|
-
}
|
|
124
|
-
function $notIncludes(_, v) {
|
|
125
|
-
return $$notIncludes(v);
|
|
126
|
-
}
|
|
127
|
-
function $isnt(_, v) {
|
|
128
|
-
return $$isnt(v);
|
|
129
|
-
}
|
|
130
|
-
function $gt(_, v) {
|
|
131
|
-
return $$gt(v);
|
|
132
|
-
}
|
|
133
|
-
function $gte(_, v) {
|
|
134
|
-
return $$gte(v);
|
|
135
|
-
}
|
|
136
|
-
function $lt(_, v) {
|
|
137
|
-
return $$lt(v);
|
|
138
|
-
}
|
|
139
|
-
function $lte(_, v) {
|
|
140
|
-
return $$lte(v);
|
|
141
|
-
}
|
|
142
|
-
function $is__(v) {
|
|
143
|
-
return _ => $is(_, v);
|
|
144
|
-
}
|
|
145
|
-
function $isnt__(v) {
|
|
146
|
-
return _ => $isnt(_, v);
|
|
147
|
-
}
|
|
148
|
-
function $includes__(v) {
|
|
149
|
-
return _ => $includes(_, v);
|
|
150
|
-
}
|
|
151
|
-
function $notIncludes__(v) {
|
|
152
|
-
return _ => $notIncludes(_, v);
|
|
153
|
-
}
|
|
154
|
-
function $lt__(v) {
|
|
155
|
-
return _ => $lt(_, v);
|
|
156
|
-
}
|
|
157
|
-
function $lte__(v) {
|
|
158
|
-
return _ => $lte(_, v);
|
|
159
|
-
}
|
|
160
|
-
function $gt__(v) {
|
|
161
|
-
return _ => $gt(_, v);
|
|
162
|
-
}
|
|
163
|
-
function $gte__(v) {
|
|
164
|
-
return _ => $gte(_, v);
|
|
165
|
-
}
|
|
166
|
-
function $in__(...v) {
|
|
167
|
-
return _ => $in(_, ...v);
|
|
168
|
-
}
|
|
169
|
-
function $notIn__(...v) {
|
|
170
|
-
return _ => $notIn(_, ...v);
|
|
171
|
-
}
|
|
172
|
-
function $startsWith__(v) {
|
|
173
|
-
return _ => $startsWith(_, v);
|
|
174
|
-
}
|
|
175
|
-
function $endsWith__(v) {
|
|
176
|
-
return _ => $endsWith(_, v);
|
|
177
|
-
}
|
|
178
|
-
function $contains__(v) {
|
|
179
|
-
return _ => $contains(_, v);
|
|
180
|
-
}
|
|
181
|
-
const Filters = exports.Filters = {
|
|
182
|
-
is: $is__,
|
|
183
|
-
isnt: $isnt__,
|
|
184
|
-
in: $in__,
|
|
185
|
-
notIn: $notIn__,
|
|
186
|
-
gt: $gt__,
|
|
187
|
-
gte: $gte__,
|
|
188
|
-
lt: $lt__,
|
|
189
|
-
lte: $lte__,
|
|
190
|
-
contains: $contains__,
|
|
191
|
-
endsWith: $endsWith__,
|
|
192
|
-
startsWith: $startsWith__,
|
|
193
|
-
includes: $includes__,
|
|
194
|
-
notIncludes: $notIncludes__
|
|
195
|
-
};
|
|
196
|
-
function $notStartsWith(_, v) {
|
|
197
|
-
return $$notStartsWith(v);
|
|
198
|
-
}
|
|
199
|
-
function $notEndsWith(_, v) {
|
|
200
|
-
return $$notEndsWith(v);
|
|
201
|
-
}
|
|
202
|
-
function $notContains(_, v) {
|
|
203
|
-
return $$notContains(v);
|
|
204
|
-
}
|
|
205
|
-
function $startsWith(_, v) {
|
|
206
|
-
return $$startsWith(v);
|
|
207
|
-
}
|
|
208
|
-
function $endsWith(_, v) {
|
|
209
|
-
return $$endsWith(v);
|
|
210
|
-
}
|
|
211
|
-
function $contains(_, v) {
|
|
212
|
-
return $$contains(v);
|
|
213
|
-
}
|
|
214
|
-
function $$in(v) {
|
|
215
|
-
return {
|
|
216
|
-
t: "in",
|
|
217
|
-
v
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
function $$notIn(v) {
|
|
221
|
-
return {
|
|
222
|
-
t: "not-in",
|
|
223
|
-
v
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
function $$is(v) {
|
|
227
|
-
return {
|
|
228
|
-
t: "eq",
|
|
229
|
-
v
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
function $$isnt(v) {
|
|
233
|
-
return {
|
|
234
|
-
t: "not-eq",
|
|
235
|
-
v
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
function $$includes(v) {
|
|
239
|
-
return {
|
|
240
|
-
t: "includes",
|
|
241
|
-
v
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
function $$notIncludes(v) {
|
|
245
|
-
return {
|
|
246
|
-
t: "not-includes",
|
|
247
|
-
v
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
function $$lt(v) {
|
|
251
|
-
return {
|
|
252
|
-
t: "lt",
|
|
253
|
-
v
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
function $$lte(v) {
|
|
257
|
-
return {
|
|
258
|
-
t: "lte",
|
|
259
|
-
v
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
function $$gt(v) {
|
|
263
|
-
return {
|
|
264
|
-
t: "gt",
|
|
265
|
-
v
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
function $$gte(v) {
|
|
269
|
-
return {
|
|
270
|
-
t: "gte",
|
|
271
|
-
v
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
function $$contains(v) {
|
|
275
|
-
return {
|
|
276
|
-
t: "contains",
|
|
277
|
-
v
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
function $$startsWith(v) {
|
|
281
|
-
return {
|
|
282
|
-
t: "starts-with",
|
|
283
|
-
v
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
function $$endsWith(v) {
|
|
287
|
-
return {
|
|
288
|
-
t: "ends-with",
|
|
289
|
-
v
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
function $$notContains(v) {
|
|
293
|
-
return {
|
|
294
|
-
t: "not-contains",
|
|
295
|
-
v
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
function $$notStartsWith(v) {
|
|
299
|
-
return {
|
|
300
|
-
t: "not-starts-with",
|
|
301
|
-
v
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
function $$notEndsWith(v) {
|
|
305
|
-
return {
|
|
306
|
-
t: "not-ends-with",
|
|
307
|
-
v
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
function f(p, b) {
|
|
311
|
-
if (typeof b === "function") b = b(undefined);
|
|
312
|
-
const obj = typeof b === "object" && b !== null;
|
|
313
|
-
return makeFilter(p, obj ? b.v : b, obj ? b.t ?? "eq" : "eq");
|
|
314
|
-
}
|
|
315
|
-
function makeFilter(path, value, t) {
|
|
316
|
-
return {
|
|
317
|
-
key: path,
|
|
318
|
-
t,
|
|
319
|
-
value
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
function makeFilters() {
|
|
323
|
-
function test(p, v) {
|
|
324
|
-
return f(p, v);
|
|
325
|
-
}
|
|
326
|
-
return test;
|
|
327
|
-
}
|
|
328
|
-
// export function makeFilter<TFieldValues extends FieldValues>() {
|
|
329
|
-
// const f = makeFilter_<TFieldValues>()
|
|
330
|
-
// return f as WhereFilterHelper<TFieldValues>
|
|
331
|
-
// }
|
|
332
|
-
// export interface WhereFilterHelper<TFieldValues extends FieldValues> extends ReturnType<typeof makeFilter_<TFieldValues>> {}
|
|
333
|
-
// function makeFilter_<TFieldValues extends FieldValues>() {
|
|
334
|
-
// function eq<TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(
|
|
335
|
-
// path: TFieldName,
|
|
336
|
-
// value: V
|
|
337
|
-
// ) {
|
|
338
|
-
// return { key: path, value, t: "eq" as const }
|
|
339
|
-
// }
|
|
340
|
-
// const f = Object.assign(eq satisfies (...args: any[]) => Where, {
|
|
341
|
-
// in<TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(
|
|
342
|
-
// path: TFieldName,
|
|
343
|
-
// value: readonly V[]
|
|
344
|
-
// ) {
|
|
345
|
-
// return { key: path, value, t: "in" as const }
|
|
346
|
-
// },
|
|
347
|
-
// notIn<TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(
|
|
348
|
-
// path: TFieldName,
|
|
349
|
-
// value: readonly V[]
|
|
350
|
-
// ) {
|
|
351
|
-
// return { key: path, value, t: "not-in" as const }
|
|
352
|
-
// },
|
|
353
|
-
// eq,
|
|
354
|
-
// notEq<TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(
|
|
355
|
-
// path: TFieldName,
|
|
356
|
-
// value: V
|
|
357
|
-
// ) {
|
|
358
|
-
// return { key: path, value, t: "not-eq" as const }
|
|
359
|
-
// }
|
|
360
|
-
// } satisfies Record<string, (...args: any[]) => Where>)
|
|
361
|
-
// return f
|
|
362
|
-
// }
|
|
363
|
-
//# sourceMappingURL=filter.cjs.map
|
package/_cjs/filter.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.cjs","names":["makeWhereFilter","f","makeWhereFilter_","makeHelpers","helpers","makeHelpers_","in","path","value","key","t","notIn","includes","notIncludes","eq","notEq","gt","gte","lt","lte","Object","assign","$in","_","v","$$in","$notIn","$$notIn","$is","$$is","$includes","$$includes","$notIncludes","$$notIncludes","$isnt","$$isnt","$gt","$$gt","$gte","$$gte","$lt","$$lt","$lte","$$lte","$is__","$isnt__","$includes__","$notIncludes__","$lt__","$lte__","$gt__","$gte__","$in__","$notIn__","$startsWith__","$startsWith","$endsWith__","$endsWith","$contains__","$contains","Filters","exports","is","isnt","contains","endsWith","startsWith","$notStartsWith","$$notStartsWith","$notEndsWith","$$notEndsWith","$notContains","$$notContains","$$startsWith","$$endsWith","$$contains","p","b","undefined","obj","makeFilter","makeFilters","test"],"sources":["../src/filter.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.makeSomethingFilter_ = makeSomethingFilter_;
|
|
7
|
-
exports.somethingsWhere = somethingsWhere;
|
|
8
|
-
var _filter = require("../../filter.cjs");
|
|
9
|
-
var _query = require("./Cosmos/query.cjs");
|
|
10
|
-
const f_ = (0, _filter.makeFilters)();
|
|
11
|
-
function makeSomethingFilter_(filter) {
|
|
12
|
-
return filter(f_);
|
|
13
|
-
}
|
|
14
|
-
function somethingsWhere(makeWhere, mode) {
|
|
15
|
-
return makeSomethingFilter_(f => {
|
|
16
|
-
const m = makeWhere ? makeWhere(f) : [];
|
|
17
|
-
return {
|
|
18
|
-
mode,
|
|
19
|
-
where: Array.isArray(m) ? m : [m]
|
|
20
|
-
};
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
test("works", () => {
|
|
24
|
-
expect((0, _query.buildWhereCosmosQuery)(somethingsWhere(_ => _("b", _ => "b2")), "Somethings", "importedMarkerId", {}, undefined, 10)).toEqual({
|
|
25
|
-
"parameters": [{
|
|
26
|
-
"name": "@id",
|
|
27
|
-
"value": "importedMarkerId"
|
|
28
|
-
}, {
|
|
29
|
-
"name": "@v0",
|
|
30
|
-
"value": "b2"
|
|
31
|
-
}],
|
|
32
|
-
"query": `
|
|
33
|
-
SELECT f
|
|
34
|
-
FROM Somethings f
|
|
35
|
-
|
|
36
|
-
WHERE f.id != @id AND f.b = @v0
|
|
37
|
-
OFFSET 0 LIMIT 10`
|
|
38
|
-
});
|
|
39
|
-
expect((0, _query.buildWhereCosmosQuery)(somethingsWhere(_ => _("d.-1.a", _filter.Filters.isnt("a2"))), "Somethings", "importedMarkerId", {}, undefined, 10)).toEqual({
|
|
40
|
-
"parameters": [{
|
|
41
|
-
"name": "@id",
|
|
42
|
-
"value": "importedMarkerId"
|
|
43
|
-
}, {
|
|
44
|
-
"name": "@v0",
|
|
45
|
-
"value": "a2"
|
|
46
|
-
}],
|
|
47
|
-
"query": `
|
|
48
|
-
SELECT f
|
|
49
|
-
FROM Somethings f
|
|
50
|
-
JOIN d IN f.d
|
|
51
|
-
WHERE f.id != @id AND d.a <> @v0
|
|
52
|
-
OFFSET 0 LIMIT 10`
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=Cosmos.test.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cosmos.test.cjs","names":["_filter","require","_query","f_","makeFilters","makeSomethingFilter_","filter","somethingsWhere","makeWhere","mode","f","m","where","Array","isArray","test","expect","buildWhereCosmosQuery","_","undefined","toEqual","Filters","isnt"],"sources":["../../../src/services/Store/Cosmos.test.ts"],"sourcesContent":[null],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,MAAME,EAAE,GAAG,IAAAC,mBAAW,GAAa;AAG7B,SAAUC,oBAAoBA,CAACC,MAAqD;EACxF,OAAOA,MAAM,CAACH,EAAE,CAAC;AACnB;AAEM,SAAUI,eAAeA,CAC7BC,SAEgC,EAChCC,IAAmB;EAEnB,OAAOJ,oBAAoB,CAAEK,CAAC,IAAI;IAChC,MAAMC,CAAC,GAAGH,SAAS,GAAGA,SAAS,CAACE,CAAC,CAAC,GAAG,EAAE;IACvC,OAAQ;MACND,IAAI;MACJG,KAAK,EAAGC,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,GAAGA,CAAmC,GAAG,CAACA,CAAC;KACpE;EACH,CAAC,CAAC;AACJ;AAeAI,IAAI,CAAC,OAAO,EAAE,MAAK;EACjBC,MAAM,CAAC,IAAAC,4BAAqB,EAC1BV,eAAe,CAAEW,CAAC,IAAKA,CAAC,CAAC,GAAG,EAAGA,CAAC,IAAK,IAAI,CAAC,CAAC,EAC3C,YAAY,EACZ,kBAAkB,EAClB,EAAE,EACFC,SAAS,EACT,EAAE,CACH,CAAC,CACCC,OAAO,CAAC;IACP,YAAY,EAAE,CACZ;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,EACD;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,CACF;IACD,OAAO,EAAE;;;;;;GAMV,CAAC;EAEJJ,MAAM,CAAC,IAAAC,4BAAqB,EAC1BV,eAAe,CAAEW,CAAC,IAAKA,CAAC,CAAC,QAAQ,EAAEG,eAAO,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EACvD,YAAY,EACZ,kBAAkB,EAClB,EAAE,EACFH,SAAS,EACT,EAAE,CACH,CAAC,CACCC,OAAO,CAAC;IACP,YAAY,EAAE,CACZ;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,EACD;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,CACF;IACD,OAAO,EAAE;;;;;;GAMV,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.makeSomethingFilter_ = makeSomethingFilter_;
|
|
7
|
-
exports.somethingsWhere = somethingsWhere;
|
|
8
|
-
var _effectApp = require("effect-app");
|
|
9
|
-
var _filter = require("../../filter.cjs");
|
|
10
|
-
var _utils = require("./utils.cjs");
|
|
11
|
-
const somethings = [{
|
|
12
|
-
a: 1,
|
|
13
|
-
b: "b",
|
|
14
|
-
c: ["c"],
|
|
15
|
-
d: [{
|
|
16
|
-
a: "a2",
|
|
17
|
-
b: 1
|
|
18
|
-
}, {
|
|
19
|
-
a: "a",
|
|
20
|
-
b: 1
|
|
21
|
-
}],
|
|
22
|
-
id: "1"
|
|
23
|
-
}, {
|
|
24
|
-
a: 2,
|
|
25
|
-
b: "b2",
|
|
26
|
-
c: ["c2"],
|
|
27
|
-
d: [{
|
|
28
|
-
a: "a4",
|
|
29
|
-
b: 2
|
|
30
|
-
}, {
|
|
31
|
-
a: "a5",
|
|
32
|
-
b: 2
|
|
33
|
-
}],
|
|
34
|
-
id: "2"
|
|
35
|
-
}];
|
|
36
|
-
const f_ = (0, _filter.makeFilters)();
|
|
37
|
-
function makeSomethingFilter_(filter) {
|
|
38
|
-
return filter(f_);
|
|
39
|
-
}
|
|
40
|
-
function somethingsWhere(makeWhere, mode) {
|
|
41
|
-
return makeSomethingFilter_(f => {
|
|
42
|
-
const m = makeWhere ? makeWhere(f) : [];
|
|
43
|
-
return {
|
|
44
|
-
mode,
|
|
45
|
-
where: Array.isArray(m) ? m : [m]
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
test("works", () => {
|
|
50
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("b", _ => "b2"))))).toEqual([somethings[1]]);
|
|
51
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("b", _filter.Filters.contains("b")))))).toEqual([somethings[0], somethings[1]]);
|
|
52
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("b", _filter.Filters.contains("2")))))).toEqual([somethings[1]]);
|
|
53
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("b", _filter.Filters.endsWith("b")))))).toEqual([somethings[0]]);
|
|
54
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("b", _filter.Filters.endsWith("2")))))).toEqual([somethings[1]]);
|
|
55
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("b", _filter.Filters.startsWith("b")))))).toEqual([somethings[0], somethings[1]]);
|
|
56
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("b", _filter.Filters.startsWith("2")))))).toEqual([]);
|
|
57
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("b", _ => "b"))))).toEqual([somethings[0]]);
|
|
58
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("c", _filter.Filters.includes("c")))))).toEqual([somethings[0]]);
|
|
59
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("d.-1.a", _ => "a5"))))).toEqual([somethings[1]]);
|
|
60
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("d.-1.a", _ => "a"))))).toEqual([somethings[0]]);
|
|
61
|
-
expect(_effectApp.ReadonlyArray.filterMap(somethings, (0, _utils.codeFilter)(somethingsWhere(_ => _("d.-1.a", _filter.Filters.isnt("a")))))).toEqual([somethings[1]]);
|
|
62
|
-
});
|
|
63
|
-
//# sourceMappingURL=codeFilter.test.cjs.map
|