@effect-app/infra 0.223.1 → 0.223.2
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 +11 -0
- package/_cjs/services/query/dsl.cjs +39 -2
- package/_cjs/services/query/dsl.cjs.map +1 -1
- package/dist/services/query/dsl.d.ts +27 -5
- package/dist/services/query/dsl.d.ts.map +1 -1
- package/dist/services/query/dsl.js +41 -4
- package/package.json +6 -6
- package/src/services/query/dsl.ts +187 -35
- package/test/dist/query.test.d.ts.map +1 -1
- package/test/query.test.ts +62 -39
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 0.223.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [790bfc2]
|
|
8
|
+
- @effect-app/fluent-extensions@0.152.0
|
|
9
|
+
- @effect-app/infra-adapters@0.145.0
|
|
10
|
+
- effect-app@0.190.0
|
|
11
|
+
- @effect-app/core@0.157.0
|
|
12
|
+
- @effect-app/schema@0.210.2
|
|
13
|
+
|
|
3
14
|
## 0.223.1
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.where = exports.project = exports.page = exports.order = exports.or = exports.one = exports.make = exports.count = exports.and = exports.Where = exports.QId = exports.Project = exports.Page = exports.Order = exports.Or = exports.One = exports.Initial = exports.Count = exports.And = void 0;
|
|
7
7
|
var _effectApp = require("effect-app");
|
|
8
|
+
var _Pipeable = require("effect/Pipeable");
|
|
8
9
|
const QId = exports.QId = Symbol();
|
|
9
10
|
class Initial extends _effectApp.Data.TaggedClass("value") {
|
|
10
11
|
[QId];
|
|
@@ -13,38 +14,74 @@ class Initial extends _effectApp.Data.TaggedClass("value") {
|
|
|
13
14
|
value: "initial"
|
|
14
15
|
});
|
|
15
16
|
}
|
|
17
|
+
pipe() {
|
|
18
|
+
// eslint-disable-next-line prefer-rest-params
|
|
19
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
20
|
+
}
|
|
16
21
|
}
|
|
17
22
|
exports.Initial = Initial;
|
|
18
23
|
class Where extends _effectApp.Data.TaggedClass("where") {
|
|
19
24
|
[QId];
|
|
25
|
+
pipe() {
|
|
26
|
+
// eslint-disable-next-line prefer-rest-params
|
|
27
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
28
|
+
}
|
|
20
29
|
}
|
|
21
30
|
exports.Where = Where;
|
|
22
31
|
class And extends _effectApp.Data.TaggedClass("and") {
|
|
23
32
|
[QId];
|
|
33
|
+
pipe() {
|
|
34
|
+
// eslint-disable-next-line prefer-rest-params
|
|
35
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
36
|
+
}
|
|
24
37
|
}
|
|
25
38
|
exports.And = And;
|
|
26
39
|
class Or extends _effectApp.Data.TaggedClass("or") {
|
|
27
40
|
[QId];
|
|
41
|
+
pipe() {
|
|
42
|
+
// eslint-disable-next-line prefer-rest-params
|
|
43
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
44
|
+
}
|
|
28
45
|
}
|
|
29
46
|
exports.Or = Or;
|
|
30
47
|
class Page extends _effectApp.Data.TaggedClass("page") {
|
|
31
48
|
[QId];
|
|
49
|
+
pipe() {
|
|
50
|
+
// eslint-disable-next-line prefer-rest-params
|
|
51
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
52
|
+
}
|
|
32
53
|
}
|
|
33
54
|
exports.Page = Page;
|
|
34
55
|
class One extends _effectApp.Data.TaggedClass("one") {
|
|
35
56
|
[QId];
|
|
57
|
+
pipe() {
|
|
58
|
+
// eslint-disable-next-line prefer-rest-params
|
|
59
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
60
|
+
}
|
|
36
61
|
}
|
|
37
62
|
exports.One = One;
|
|
38
63
|
class Count extends _effectApp.Data.TaggedClass("count") {
|
|
39
64
|
[QId];
|
|
65
|
+
pipe() {
|
|
66
|
+
// eslint-disable-next-line prefer-rest-params
|
|
67
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
68
|
+
}
|
|
40
69
|
}
|
|
41
70
|
exports.Count = Count;
|
|
42
71
|
class Order extends _effectApp.Data.TaggedClass("order") {
|
|
43
72
|
[QId];
|
|
73
|
+
pipe() {
|
|
74
|
+
// eslint-disable-next-line prefer-rest-params
|
|
75
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
76
|
+
}
|
|
44
77
|
}
|
|
45
78
|
exports.Order = Order;
|
|
46
79
|
class Project extends _effectApp.Data.TaggedClass("project") {
|
|
47
80
|
[QId];
|
|
81
|
+
pipe() {
|
|
82
|
+
// eslint-disable-next-line prefer-rest-params
|
|
83
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
84
|
+
}
|
|
48
85
|
}
|
|
49
86
|
exports.Project = Project;
|
|
50
87
|
const make = () => new Initial();
|
|
@@ -56,12 +93,12 @@ const where = (...operation) => current => new Where({
|
|
|
56
93
|
exports.where = where;
|
|
57
94
|
const and = (...operation) => current => new And({
|
|
58
95
|
current,
|
|
59
|
-
operation: typeof operation[0] === "function" ?
|
|
96
|
+
operation: typeof operation[0] === "function" ? (0, _effectApp.flow)(...operation) : operation
|
|
60
97
|
});
|
|
61
98
|
exports.and = and;
|
|
62
99
|
const or = (...operation) => current => new Or({
|
|
63
100
|
current,
|
|
64
|
-
operation: typeof operation[0] === "function" ?
|
|
101
|
+
operation: typeof operation[0] === "function" ? (0, _effectApp.flow)(...operation) : operation
|
|
65
102
|
});
|
|
66
103
|
exports.or = or;
|
|
67
104
|
const order = (field, direction = "ASC") => current => new Order({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsl.cjs","names":["_effectApp","require","QId","exports","Symbol","Initial","Data","TaggedClass","constructor","value","Where","And","Or","Page","One","Count","Order","Project","make","where","operation","current","and","or","order","field","direction","page","skip","take","one","count","project","schema","mode"],"sources":["../../../src/services/query/dsl.ts"],"sourcesContent":[null],"mappings":";;;;;;AAQA,IAAAA,UAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"file":"dsl.cjs","names":["_effectApp","require","_Pipeable","QId","exports","Symbol","Initial","Data","TaggedClass","constructor","value","pipe","pipeArguments","arguments","Where","And","Or","Page","One","Count","Order","Project","make","where","operation","current","and","flow","or","order","field","direction","page","skip","take","one","count","project","schema","mode"],"sources":["../../../src/services/query/dsl.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@ import type { FieldValues } from "@effect-app/infra/filter/types";
|
|
|
2
2
|
import type { FieldPath, FieldPathValue } from "@effect-app/infra/filter/types/path/eager";
|
|
3
3
|
import type { Ops } from "@effect-app/infra/services/Store/filterApi/proxy";
|
|
4
4
|
import type { NonNegativeInt } from "@effect-app/schema";
|
|
5
|
-
import type { Option, S } from "effect-app";
|
|
5
|
+
import type { Option, Pipeable, S } from "effect-app";
|
|
6
6
|
import type { Covariant } from "effect/Types";
|
|
7
7
|
export type QAll<TFieldValues extends FieldValues, A = TFieldValues, R = never, TType extends "one" | "many" = "many"> = Query<TFieldValues> | QueryWhere<TFieldValues> | QueryEnd<TFieldValues, TType> | QueryProjection<TFieldValues, A, R>;
|
|
8
8
|
export declare const QId: unique symbol;
|
|
9
9
|
export type QId = typeof QId;
|
|
10
|
-
export interface QueryTogether<out TFieldValues extends FieldValues, out T extends "initial" | "where" | "end" | "projection" = "initial", out A = TFieldValues, out R = never, out TType extends "many" | "one" | "count" = "many"> {
|
|
10
|
+
export interface QueryTogether<out TFieldValues extends FieldValues, out T extends "initial" | "where" | "end" | "projection" = "initial", out A = TFieldValues, out R = never, out TType extends "many" | "one" | "count" = "many"> extends Pipeable.Pipeable {
|
|
11
11
|
readonly [QId]: {
|
|
12
12
|
readonly _TFieldValues: Covariant<TFieldValues>;
|
|
13
13
|
readonly _T: Covariant<T>;
|
|
@@ -29,6 +29,7 @@ export declare class Initial<TFieldValues extends FieldValues> extends Initial_b
|
|
|
29
29
|
}> implements Query<TFieldValues> {
|
|
30
30
|
readonly [QId]: any;
|
|
31
31
|
constructor();
|
|
32
|
+
pipe(): unknown;
|
|
32
33
|
}
|
|
33
34
|
declare const Where_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
34
35
|
readonly _tag: "where";
|
|
@@ -38,6 +39,7 @@ export declare class Where<TFieldValues extends FieldValues> extends Where_base<
|
|
|
38
39
|
operation: [string, Ops, any] | [string, any];
|
|
39
40
|
}> implements QueryWhere<TFieldValues> {
|
|
40
41
|
readonly [QId]: any;
|
|
42
|
+
pipe(): unknown;
|
|
41
43
|
}
|
|
42
44
|
declare const And_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
43
45
|
readonly _tag: "and";
|
|
@@ -47,6 +49,7 @@ export declare class And<TFieldValues extends FieldValues> extends And_base<{
|
|
|
47
49
|
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
|
|
48
50
|
}> implements QueryWhere<TFieldValues> {
|
|
49
51
|
readonly [QId]: any;
|
|
52
|
+
pipe(): unknown;
|
|
50
53
|
}
|
|
51
54
|
declare const Or_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
52
55
|
readonly _tag: "or";
|
|
@@ -56,6 +59,7 @@ export declare class Or<TFieldValues extends FieldValues> extends Or_base<{
|
|
|
56
59
|
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
|
|
57
60
|
}> implements QueryWhere<TFieldValues> {
|
|
58
61
|
readonly [QId]: any;
|
|
62
|
+
pipe(): unknown;
|
|
59
63
|
}
|
|
60
64
|
declare const Page_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
61
65
|
readonly _tag: "page";
|
|
@@ -66,6 +70,7 @@ export declare class Page<TFieldValues extends FieldValues> extends Page_base<{
|
|
|
66
70
|
skip?: number | undefined;
|
|
67
71
|
}> implements QueryEnd<TFieldValues> {
|
|
68
72
|
readonly [QId]: any;
|
|
73
|
+
pipe(): unknown;
|
|
69
74
|
}
|
|
70
75
|
declare const One_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
71
76
|
readonly _tag: "one";
|
|
@@ -74,6 +79,7 @@ export declare class One<TFieldValues extends FieldValues> extends One_base<{
|
|
|
74
79
|
current: Query<TFieldValues> | QueryWhere<TFieldValues> | QueryEnd<TFieldValues>;
|
|
75
80
|
}> implements QueryEnd<TFieldValues, "one"> {
|
|
76
81
|
readonly [QId]: any;
|
|
82
|
+
pipe(): unknown;
|
|
77
83
|
}
|
|
78
84
|
declare const Count_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
79
85
|
readonly _tag: "count";
|
|
@@ -82,6 +88,7 @@ export declare class Count<TFieldValues extends FieldValues> extends Count_base<
|
|
|
82
88
|
current: Query<TFieldValues> | QueryWhere<TFieldValues> | QueryEnd<TFieldValues>;
|
|
83
89
|
}> implements QueryEnd<TFieldValues, "count"> {
|
|
84
90
|
readonly [QId]: any;
|
|
91
|
+
pipe(): unknown;
|
|
85
92
|
}
|
|
86
93
|
declare const Order_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
87
94
|
readonly _tag: "order";
|
|
@@ -92,6 +99,7 @@ export declare class Order<TFieldValues extends FieldValues, TFieldName extends
|
|
|
92
99
|
direction: "ASC" | "DESC";
|
|
93
100
|
}> implements QueryEnd<TFieldValues> {
|
|
94
101
|
readonly [QId]: any;
|
|
102
|
+
pipe(): unknown;
|
|
95
103
|
}
|
|
96
104
|
declare const Project_base: new <A_1 extends Record<string, any> = {}>(args: import("effect/Types").Equals<A_1, {}> extends true ? void : { readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }) => Readonly<A_1> & {
|
|
97
105
|
readonly _tag: "project";
|
|
@@ -102,6 +110,7 @@ export declare class Project<A, TFieldValues extends FieldValues, R, TType exten
|
|
|
102
110
|
mode: "collect" | "project" | "transform";
|
|
103
111
|
}> implements QueryProjection<TFieldValues, A, R> {
|
|
104
112
|
readonly [QId]: any;
|
|
113
|
+
pipe(): unknown;
|
|
105
114
|
}
|
|
106
115
|
export declare const make: <TFieldValues extends FieldValues>() => Query<TFieldValues>;
|
|
107
116
|
export declare const where: FilterWhere;
|
|
@@ -135,13 +144,26 @@ export type FilterWhere = {
|
|
|
135
144
|
} & FilterWheres;
|
|
136
145
|
export type FilterContinuations = {
|
|
137
146
|
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, value: V): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
138
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, op: "neq", value: V): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
139
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, op: "gt" | "gte" | "lt" | "lte", value: V): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
147
|
+
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, op: "gt" | "gte" | "lt" | "lte" | "neq", value: V): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
140
148
|
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends string>(path: TFieldName, op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith", value: V): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
141
149
|
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(path: TFieldName, op: "in" | "notIn", value: readonly V[]): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
142
150
|
};
|
|
143
|
-
export type
|
|
151
|
+
export type FilterContinuationClosure = {
|
|
144
152
|
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
153
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
154
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
155
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
156
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, ff: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
157
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
158
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
159
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
160
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
161
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fk: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
162
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fk: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fl: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
163
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fk: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fl: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fm: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
164
|
+
<TFieldValues extends FieldValues>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>, fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fk: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fl: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fm: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>, fn: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
165
|
+
};
|
|
166
|
+
export type FilterContinuation = FilterContinuationClosure & {
|
|
145
167
|
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>>(f: {
|
|
146
168
|
path: TFieldName;
|
|
147
169
|
op: Ops;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/services/query/dsl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/services/query/dsl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +1,76 @@
|
|
|
1
|
-
import { Data } from "effect-app";
|
|
1
|
+
import { Data, flow } from "effect-app";
|
|
2
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
2
3
|
export const QId = Symbol();
|
|
3
4
|
export class Initial extends Data.TaggedClass("value") {
|
|
4
5
|
[QId];
|
|
5
6
|
constructor() {
|
|
6
7
|
super({ value: "initial" });
|
|
7
8
|
}
|
|
9
|
+
pipe() {
|
|
10
|
+
// eslint-disable-next-line prefer-rest-params
|
|
11
|
+
return pipeArguments(this, arguments);
|
|
12
|
+
}
|
|
8
13
|
}
|
|
9
14
|
export class Where extends Data.TaggedClass("where") {
|
|
10
15
|
[QId];
|
|
16
|
+
pipe() {
|
|
17
|
+
// eslint-disable-next-line prefer-rest-params
|
|
18
|
+
return pipeArguments(this, arguments);
|
|
19
|
+
}
|
|
11
20
|
}
|
|
12
21
|
export class And extends Data.TaggedClass("and") {
|
|
13
22
|
[QId];
|
|
23
|
+
pipe() {
|
|
24
|
+
// eslint-disable-next-line prefer-rest-params
|
|
25
|
+
return pipeArguments(this, arguments);
|
|
26
|
+
}
|
|
14
27
|
}
|
|
15
28
|
export class Or extends Data.TaggedClass("or") {
|
|
16
29
|
[QId];
|
|
30
|
+
pipe() {
|
|
31
|
+
// eslint-disable-next-line prefer-rest-params
|
|
32
|
+
return pipeArguments(this, arguments);
|
|
33
|
+
}
|
|
17
34
|
}
|
|
18
35
|
export class Page extends Data.TaggedClass("page") {
|
|
19
36
|
[QId];
|
|
37
|
+
pipe() {
|
|
38
|
+
// eslint-disable-next-line prefer-rest-params
|
|
39
|
+
return pipeArguments(this, arguments);
|
|
40
|
+
}
|
|
20
41
|
}
|
|
21
42
|
export class One extends Data.TaggedClass("one") {
|
|
22
43
|
[QId];
|
|
44
|
+
pipe() {
|
|
45
|
+
// eslint-disable-next-line prefer-rest-params
|
|
46
|
+
return pipeArguments(this, arguments);
|
|
47
|
+
}
|
|
23
48
|
}
|
|
24
49
|
export class Count extends Data.TaggedClass("count") {
|
|
25
50
|
[QId];
|
|
51
|
+
pipe() {
|
|
52
|
+
// eslint-disable-next-line prefer-rest-params
|
|
53
|
+
return pipeArguments(this, arguments);
|
|
54
|
+
}
|
|
26
55
|
}
|
|
27
56
|
export class Order extends Data.TaggedClass("order") {
|
|
28
57
|
[QId];
|
|
58
|
+
pipe() {
|
|
59
|
+
// eslint-disable-next-line prefer-rest-params
|
|
60
|
+
return pipeArguments(this, arguments);
|
|
61
|
+
}
|
|
29
62
|
}
|
|
30
63
|
export class Project extends Data.TaggedClass("project") {
|
|
31
64
|
[QId];
|
|
65
|
+
pipe() {
|
|
66
|
+
// eslint-disable-next-line prefer-rest-params
|
|
67
|
+
return pipeArguments(this, arguments);
|
|
68
|
+
}
|
|
32
69
|
}
|
|
33
70
|
export const make = () => new Initial();
|
|
34
71
|
export const where = (...operation) => (current) => new Where({ current, operation });
|
|
35
|
-
export const and = (...operation) => (current) => new And({ current, operation: typeof operation[0] === "function" ? operation
|
|
36
|
-
export const or = (...operation) => (current) => new Or({ current, operation: typeof operation[0] === "function" ? operation
|
|
72
|
+
export const and = (...operation) => (current) => new And({ current, operation: typeof operation[0] === "function" ? flow(...operation) : operation });
|
|
73
|
+
export const or = (...operation) => (current) => new Or({ current, operation: typeof operation[0] === "function" ? flow(...operation) : operation });
|
|
37
74
|
export const order = (field, direction = "ASC") => (current) => new Order({ current, field, direction });
|
|
38
75
|
export const page = ({ skip, take }) => (current) => new Page({
|
|
39
76
|
current,
|
|
@@ -56,4 +93,4 @@ new Count({ current });
|
|
|
56
93
|
))
|
|
57
94
|
*/
|
|
58
95
|
export const project = (schema, mode = "transform") => (current) => new Project({ current, /* TODO: why */ schema, mode });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3F1ZXJ5L2RzbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUd2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFRL0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFBRSxDQUFBO0FBcUQzQixNQUFNLE9BQU8sT0FBMEMsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBdUI7SUFHbkcsQ0FBQyxHQUFHLENBQUMsQ0FBTTtJQUNwQjtRQUNFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFrQixFQUFFLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsSUFBSTtRQUNGLDhDQUE4QztRQUM5QyxPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDdkMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLEtBQXdDLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBR25GO0lBQ1MsQ0FBQyxHQUFHLENBQUMsQ0FBTTtJQUVwQixJQUFJO1FBQ0YsOENBQThDO1FBQzlDLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sR0FBc0MsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FHL0U7SUFDUyxDQUFDLEdBQUcsQ0FBQyxDQUFNO0lBQ3BCLElBQUk7UUFDRiw4Q0FBOEM7UUFDOUMsT0FBTyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxFQUFxQyxTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUc3RTtJQUNTLENBQUMsR0FBRyxDQUFDLENBQU07SUFDcEIsSUFBSTtRQUNGLDhDQUE4QztRQUM5QyxPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDdkMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLElBQXVDLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBSWpGO0lBQ1MsQ0FBQyxHQUFHLENBQUMsQ0FBTTtJQUNwQixJQUFJO1FBQ0YsOENBQThDO1FBQzlDLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sR0FBc0MsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FFL0U7SUFDUyxDQUFDLEdBQUcsQ0FBQyxDQUFNO0lBQ3BCLElBQUk7UUFDRiw4Q0FBOEM7UUFDOUMsT0FBTyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxLQUF3QyxTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUVuRjtJQUNTLENBQUMsR0FBRyxDQUFDLENBQU07SUFDcEIsSUFBSTtRQUNGLDhDQUE4QztRQUM5QyxPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDdkMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLEtBQ1gsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FJOUI7SUFHTyxDQUFDLEdBQUcsQ0FBQyxDQUFNO0lBQ3BCLElBQUk7UUFDRiw4Q0FBOEM7UUFDOUMsT0FBTyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxPQUNYLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBSWhDO0lBR08sQ0FBQyxHQUFHLENBQUMsQ0FBTTtJQUNwQixJQUFJO1FBQ0YsOENBQThDO1FBQzlDLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQWdFLEdBQUcsRUFBRSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUE7QUFFcEcsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFnQixDQUFDLEdBQUcsU0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBUyxDQUFDLENBQUE7QUFFckgsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUF1QixDQUFDLEdBQUcsU0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUMvRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBUyxDQUFDLENBQUE7QUFFdEgsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUF1QixDQUFDLEdBQUcsU0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUM5RSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBUyxDQUFDLENBQUE7QUFFckgsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUloQixDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7QUFFckYsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUdmLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDOUIsSUFBSSxJQUFJLENBQUM7SUFDUCxPQUFPO0lBQ1AsSUFBSTtJQUNKLElBQUk7Q0FDTCxDQUFDLENBQUE7QUFFTixNQUFNLENBQUMsTUFBTSxHQUFHLEdBRXFCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDL0MsSUFBSSxHQUFHLENBQUM7SUFDTixPQUFPO0NBQ1IsQ0FBQyxDQUFBO0FBRUosbUlBQW1JO0FBQ25JLHdHQUF3RztBQUN4RyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBSW1ELENBQUMsT0FBTyxFQUFFLEVBQUU7QUFDL0UsZ0dBQWdHO0FBQ2hHLElBQUksS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUV4Qjs7Ozs7O0VBTUU7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBaUNoQixDQUFDLE1BQVcsRUFBRSxJQUFJLEdBQUcsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQVMsQ0FBQyxDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.223.
|
|
3
|
+
"version": "0.223.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"proper-lockfile": "^4.1.2",
|
|
19
19
|
"pure-rand": "6.0.4",
|
|
20
20
|
"redlock": "^4.2.0",
|
|
21
|
-
"@effect-app/
|
|
22
|
-
"@effect-app/
|
|
23
|
-
"@effect-app/
|
|
24
|
-
"effect-app": "0.
|
|
25
|
-
"
|
|
21
|
+
"@effect-app/core": "0.157.0",
|
|
22
|
+
"@effect-app/infra-adapters": "0.145.0",
|
|
23
|
+
"@effect-app/schema": "0.210.2",
|
|
24
|
+
"@effect-app/fluent-extensions": "0.152.0",
|
|
25
|
+
"effect-app": "0.190.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@babel/cli": "^7.23.9",
|
|
@@ -5,10 +5,12 @@ import type { FieldValues } from "@effect-app/infra/filter/types"
|
|
|
5
5
|
import type { FieldPath, FieldPathValue } from "@effect-app/infra/filter/types/path/eager"
|
|
6
6
|
import type { Ops } from "@effect-app/infra/services/Store/filterApi/proxy"
|
|
7
7
|
import type { NonNegativeInt } from "@effect-app/schema"
|
|
8
|
-
import type { Option, S } from "effect-app"
|
|
9
|
-
import { Data } from "effect-app"
|
|
8
|
+
import type { Option, Pipeable, S } from "effect-app"
|
|
9
|
+
import { Data, flow } from "effect-app"
|
|
10
10
|
import type { Covariant } from "effect/Types"
|
|
11
11
|
|
|
12
|
+
import { pipeArguments } from "effect/Pipeable"
|
|
13
|
+
|
|
12
14
|
export type QAll<TFieldValues extends FieldValues, A = TFieldValues, R = never, TType extends "one" | "many" = "many"> =
|
|
13
15
|
| Query<TFieldValues>
|
|
14
16
|
| QueryWhere<TFieldValues>
|
|
@@ -24,7 +26,7 @@ export interface QueryTogether<
|
|
|
24
26
|
out A = TFieldValues,
|
|
25
27
|
out R = never,
|
|
26
28
|
out TType extends "many" | "one" | "count" = "many"
|
|
27
|
-
> {
|
|
29
|
+
> extends Pipeable.Pipeable {
|
|
28
30
|
readonly [QId]: {
|
|
29
31
|
readonly _TFieldValues: Covariant<TFieldValues>
|
|
30
32
|
readonly _T: Covariant<T>
|
|
@@ -75,6 +77,10 @@ export class Initial<TFieldValues extends FieldValues> extends Data.TaggedClass(
|
|
|
75
77
|
constructor() {
|
|
76
78
|
super({ value: "initial" as const })
|
|
77
79
|
}
|
|
80
|
+
pipe() {
|
|
81
|
+
// eslint-disable-next-line prefer-rest-params
|
|
82
|
+
return pipeArguments(this, arguments)
|
|
83
|
+
}
|
|
78
84
|
}
|
|
79
85
|
|
|
80
86
|
export class Where<TFieldValues extends FieldValues> extends Data.TaggedClass("where")<{
|
|
@@ -82,6 +88,11 @@ export class Where<TFieldValues extends FieldValues> extends Data.TaggedClass("w
|
|
|
82
88
|
operation: [string, Ops, any] | [string, any]
|
|
83
89
|
}> implements QueryWhere<TFieldValues> {
|
|
84
90
|
readonly [QId]!: any
|
|
91
|
+
|
|
92
|
+
pipe() {
|
|
93
|
+
// eslint-disable-next-line prefer-rest-params
|
|
94
|
+
return pipeArguments(this, arguments)
|
|
95
|
+
}
|
|
85
96
|
}
|
|
86
97
|
|
|
87
98
|
export class And<TFieldValues extends FieldValues> extends Data.TaggedClass("and")<{
|
|
@@ -89,6 +100,10 @@ export class And<TFieldValues extends FieldValues> extends Data.TaggedClass("and
|
|
|
89
100
|
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>)
|
|
90
101
|
}> implements QueryWhere<TFieldValues> {
|
|
91
102
|
readonly [QId]!: any
|
|
103
|
+
pipe() {
|
|
104
|
+
// eslint-disable-next-line prefer-rest-params
|
|
105
|
+
return pipeArguments(this, arguments)
|
|
106
|
+
}
|
|
92
107
|
}
|
|
93
108
|
|
|
94
109
|
export class Or<TFieldValues extends FieldValues> extends Data.TaggedClass("or")<{
|
|
@@ -96,6 +111,10 @@ export class Or<TFieldValues extends FieldValues> extends Data.TaggedClass("or")
|
|
|
96
111
|
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>)
|
|
97
112
|
}> implements QueryWhere<TFieldValues> {
|
|
98
113
|
readonly [QId]!: any
|
|
114
|
+
pipe() {
|
|
115
|
+
// eslint-disable-next-line prefer-rest-params
|
|
116
|
+
return pipeArguments(this, arguments)
|
|
117
|
+
}
|
|
99
118
|
}
|
|
100
119
|
|
|
101
120
|
export class Page<TFieldValues extends FieldValues> extends Data.TaggedClass("page")<{
|
|
@@ -104,18 +123,30 @@ export class Page<TFieldValues extends FieldValues> extends Data.TaggedClass("pa
|
|
|
104
123
|
skip?: number | undefined
|
|
105
124
|
}> implements QueryEnd<TFieldValues> {
|
|
106
125
|
readonly [QId]!: any
|
|
126
|
+
pipe() {
|
|
127
|
+
// eslint-disable-next-line prefer-rest-params
|
|
128
|
+
return pipeArguments(this, arguments)
|
|
129
|
+
}
|
|
107
130
|
}
|
|
108
131
|
|
|
109
132
|
export class One<TFieldValues extends FieldValues> extends Data.TaggedClass("one")<{
|
|
110
133
|
current: Query<TFieldValues> | QueryWhere<TFieldValues> | QueryEnd<TFieldValues>
|
|
111
134
|
}> implements QueryEnd<TFieldValues, "one"> {
|
|
112
135
|
readonly [QId]!: any
|
|
136
|
+
pipe() {
|
|
137
|
+
// eslint-disable-next-line prefer-rest-params
|
|
138
|
+
return pipeArguments(this, arguments)
|
|
139
|
+
}
|
|
113
140
|
}
|
|
114
141
|
|
|
115
142
|
export class Count<TFieldValues extends FieldValues> extends Data.TaggedClass("count")<{
|
|
116
143
|
current: Query<TFieldValues> | QueryWhere<TFieldValues> | QueryEnd<TFieldValues>
|
|
117
144
|
}> implements QueryEnd<TFieldValues, "count"> {
|
|
118
145
|
readonly [QId]!: any
|
|
146
|
+
pipe() {
|
|
147
|
+
// eslint-disable-next-line prefer-rest-params
|
|
148
|
+
return pipeArguments(this, arguments)
|
|
149
|
+
}
|
|
119
150
|
}
|
|
120
151
|
|
|
121
152
|
export class Order<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>
|
|
@@ -127,6 +158,10 @@ export class Order<TFieldValues extends FieldValues, TFieldName extends FieldPat
|
|
|
127
158
|
implements QueryEnd<TFieldValues>
|
|
128
159
|
{
|
|
129
160
|
readonly [QId]!: any
|
|
161
|
+
pipe() {
|
|
162
|
+
// eslint-disable-next-line prefer-rest-params
|
|
163
|
+
return pipeArguments(this, arguments)
|
|
164
|
+
}
|
|
130
165
|
}
|
|
131
166
|
|
|
132
167
|
export class Project<A, TFieldValues extends FieldValues, R, TType extends "one" | "many" = "many">
|
|
@@ -138,6 +173,10 @@ export class Project<A, TFieldValues extends FieldValues, R, TType extends "one"
|
|
|
138
173
|
implements QueryProjection<TFieldValues, A, R>
|
|
139
174
|
{
|
|
140
175
|
readonly [QId]!: any
|
|
176
|
+
pipe() {
|
|
177
|
+
// eslint-disable-next-line prefer-rest-params
|
|
178
|
+
return pipeArguments(this, arguments)
|
|
179
|
+
}
|
|
141
180
|
}
|
|
142
181
|
|
|
143
182
|
export const make: <TFieldValues extends FieldValues>() => Query<TFieldValues> = () => new Initial()
|
|
@@ -145,10 +184,10 @@ export const make: <TFieldValues extends FieldValues>() => Query<TFieldValues> =
|
|
|
145
184
|
export const where: FilterWhere = (...operation: any[]) => (current: any) => new Where({ current, operation } as any)
|
|
146
185
|
|
|
147
186
|
export const and: FilterContinuation = (...operation: any[]) => (current: any) =>
|
|
148
|
-
new And({ current, operation: typeof operation[0] === "function" ? operation[
|
|
187
|
+
new And({ current, operation: typeof operation[0] === "function" ? flow(...operation as [any]) : operation } as any)
|
|
149
188
|
|
|
150
189
|
export const or: FilterContinuation = (...operation: any[]) => (current: any) =>
|
|
151
|
-
new Or({ current, operation: typeof operation[0] === "function" ? operation[
|
|
190
|
+
new Or({ current, operation: typeof operation[0] === "function" ? flow(...operation as [any]) : operation } as any)
|
|
152
191
|
|
|
153
192
|
export const order: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>(
|
|
154
193
|
field: TFieldName,
|
|
@@ -308,24 +347,25 @@ export type FilterContinuations = {
|
|
|
308
347
|
): (
|
|
309
348
|
current: QueryWhere<TFieldValues>
|
|
310
349
|
) => QueryWhere<TFieldValues>
|
|
350
|
+
// breaks flow pipe type inference
|
|
351
|
+
// <
|
|
352
|
+
// TFieldValues extends FieldValues,
|
|
353
|
+
// TFieldName extends FieldPath<TFieldValues>,
|
|
354
|
+
// V extends FieldPathValue<TFieldValues, TFieldName>
|
|
355
|
+
// >(
|
|
356
|
+
// path: TFieldName,
|
|
357
|
+
// op: "neq",
|
|
358
|
+
// value: V
|
|
359
|
+
// ): (
|
|
360
|
+
// current: QueryWhere<TFieldValues>
|
|
361
|
+
// ) => QueryWhere<TFieldValues>
|
|
311
362
|
<
|
|
312
363
|
TFieldValues extends FieldValues,
|
|
313
364
|
TFieldName extends FieldPath<TFieldValues>,
|
|
314
365
|
V extends FieldPathValue<TFieldValues, TFieldName>
|
|
315
366
|
>(
|
|
316
367
|
path: TFieldName,
|
|
317
|
-
op: "neq",
|
|
318
|
-
value: V
|
|
319
|
-
): (
|
|
320
|
-
current: QueryWhere<TFieldValues>
|
|
321
|
-
) => QueryWhere<TFieldValues>
|
|
322
|
-
<
|
|
323
|
-
TFieldValues extends FieldValues,
|
|
324
|
-
TFieldName extends FieldPath<TFieldValues>,
|
|
325
|
-
V extends FieldPathValue<TFieldValues, TFieldName>
|
|
326
|
-
>(
|
|
327
|
-
path: TFieldName,
|
|
328
|
-
op: "gt" | "gte" | "lt" | "lte",
|
|
368
|
+
op: "gt" | "gte" | "lt" | "lte" | "neq",
|
|
329
369
|
value: V // only numbers?
|
|
330
370
|
): (
|
|
331
371
|
current: QueryWhere<TFieldValues>
|
|
@@ -354,23 +394,135 @@ export type FilterContinuations = {
|
|
|
354
394
|
) => QueryWhere<TFieldValues>
|
|
355
395
|
}
|
|
356
396
|
|
|
357
|
-
export type
|
|
397
|
+
export type FilterContinuationClosure = {
|
|
398
|
+
<TFieldValues extends FieldValues>(
|
|
399
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>
|
|
400
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
401
|
+
|
|
402
|
+
<TFieldValues extends FieldValues>(
|
|
403
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
404
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
405
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
406
|
+
|
|
407
|
+
<TFieldValues extends FieldValues>(
|
|
408
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
409
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
410
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
411
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
412
|
+
|
|
413
|
+
<TFieldValues extends FieldValues>(
|
|
414
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
415
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
416
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
417
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
418
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
419
|
+
|
|
420
|
+
<TFieldValues extends FieldValues>(
|
|
421
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
422
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
423
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
424
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
425
|
+
ff: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
426
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
427
|
+
<TFieldValues extends FieldValues>(
|
|
428
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
429
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
430
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
431
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
432
|
+
fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
433
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
434
|
+
<TFieldValues extends FieldValues>(
|
|
435
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
436
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
437
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
438
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
439
|
+
fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
440
|
+
fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
441
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
442
|
+
<TFieldValues extends FieldValues>(
|
|
443
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
444
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
445
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
446
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
447
|
+
fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
448
|
+
fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
449
|
+
fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
450
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
358
451
|
<TFieldValues extends FieldValues>(
|
|
359
|
-
fb: (
|
|
360
|
-
|
|
452
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
453
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
454
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
455
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
456
|
+
fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
457
|
+
fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
458
|
+
fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
459
|
+
fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
460
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
461
|
+
<TFieldValues extends FieldValues>(
|
|
462
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
463
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
464
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
465
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
466
|
+
fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
467
|
+
fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
468
|
+
fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
469
|
+
fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
470
|
+
fk: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
471
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
472
|
+
<TFieldValues extends FieldValues>(
|
|
473
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
474
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
475
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
476
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
477
|
+
fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
478
|
+
fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
479
|
+
fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
480
|
+
fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
481
|
+
fk: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
482
|
+
fl: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
483
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
484
|
+
<TFieldValues extends FieldValues>(
|
|
485
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
486
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
487
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
488
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
489
|
+
fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
490
|
+
fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
491
|
+
fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
492
|
+
fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
493
|
+
fk: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
494
|
+
fl: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
495
|
+
fm: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
496
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
497
|
+
<TFieldValues extends FieldValues>(
|
|
498
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
499
|
+
fc: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
500
|
+
fd: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
501
|
+
fe: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
502
|
+
fg: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
503
|
+
fh: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
504
|
+
fi: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
505
|
+
fj: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
506
|
+
fk: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
507
|
+
fl: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
508
|
+
fm: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>,
|
|
509
|
+
fn: (query: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
510
|
+
): (current: QueryWhere<TFieldValues>) => QueryWhere<TFieldValues>
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
export type FilterContinuation =
|
|
514
|
+
& FilterContinuationClosure
|
|
515
|
+
& {
|
|
516
|
+
<
|
|
517
|
+
TFieldValues extends FieldValues,
|
|
518
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
519
|
+
V extends FieldPathValue<TFieldValues, TFieldName>
|
|
520
|
+
>(f: {
|
|
521
|
+
path: TFieldName
|
|
522
|
+
op: Ops
|
|
523
|
+
value: V
|
|
524
|
+
}): (
|
|
525
|
+
current: QueryWhere<TFieldValues>
|
|
361
526
|
) => QueryWhere<TFieldValues>
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
) => QueryWhere<TFieldValues>
|
|
365
|
-
<
|
|
366
|
-
TFieldValues extends FieldValues,
|
|
367
|
-
TFieldName extends FieldPath<TFieldValues>,
|
|
368
|
-
V extends FieldPathValue<TFieldValues, TFieldName>
|
|
369
|
-
>(f: {
|
|
370
|
-
path: TFieldName
|
|
371
|
-
op: Ops
|
|
372
|
-
value: V
|
|
373
|
-
}): (
|
|
374
|
-
current: QueryWhere<TFieldValues>
|
|
375
|
-
) => QueryWhere<TFieldValues>
|
|
376
|
-
} & FilterContinuations
|
|
527
|
+
}
|
|
528
|
+
& FilterContinuations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../query.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,KAAK,EAAgB,CAAC,EAAE,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcjE,qBAAa,
|
|
1
|
+
{"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../query.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,KAAK,EAAgB,CAAC,EAAE,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcjE,qBAAa,SAAU,SAAQ,cAK7B;CAAG;AACL,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,SAAS,CAAC;KAAG;CACvE;;;;;;;;;;;;;;;;;;;;;;;;;AAGD,qBAAa,WAAY,SAAQ,gBAA6D;CAAG"}
|
package/test/query.test.ts
CHANGED
|
@@ -12,48 +12,71 @@ const str = S.struct({ _tag: S.literal("string"), value: S.string })
|
|
|
12
12
|
const num = S.struct({ _tag: S.literal("number"), value: S.number })
|
|
13
13
|
const someUnion = S.union(str, num)
|
|
14
14
|
|
|
15
|
-
export class
|
|
15
|
+
export class Something extends S.Class<Something>()({
|
|
16
16
|
id: S.StringId.withDefault,
|
|
17
17
|
displayName: S.NonEmptyString255,
|
|
18
18
|
n: S.Date.withDefault,
|
|
19
19
|
union: someUnion.pipe(S.withDefaultConstructor(() => ({ _tag: "string" as const, value: "hi" })))
|
|
20
20
|
}) {}
|
|
21
|
-
export declare namespace
|
|
22
|
-
export
|
|
21
|
+
export declare namespace Something {
|
|
22
|
+
export interface Encoded extends S.Schema.Encoded<typeof Something> {}
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
const MakeSomeService = Effect.succeed({ a: 1 })
|
|
26
26
|
export class SomeService extends TagClassMakeId("SomeService", MakeSomeService)<SomeService>() {}
|
|
27
27
|
|
|
28
|
-
const q =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
28
|
+
const q = make<Something.Encoded>()
|
|
29
|
+
.pipe( // provided automatically inside Repo.q2()
|
|
30
|
+
where("displayName", "Verona"),
|
|
31
|
+
or(
|
|
32
|
+
where("displayName", "Riley"),
|
|
33
|
+
and("n", "gt", "2021-01-01T00:00:00Z") // TODO: work with To type translation, so Date?
|
|
34
|
+
),
|
|
35
|
+
order("displayName"),
|
|
36
|
+
page({ take: 10 }),
|
|
37
|
+
project(
|
|
38
|
+
S.transformToOrFail(
|
|
39
|
+
S.struct({ id: S.StringId, displayName: S.string }), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
|
|
40
|
+
S.struct(pick(Something.fields, "id", "displayName")),
|
|
41
|
+
(_) => Effect.andThen(SomeService, _)
|
|
42
|
+
)
|
|
43
43
|
)
|
|
44
44
|
)
|
|
45
|
-
)
|
|
46
45
|
|
|
47
46
|
const items = [
|
|
48
|
-
new
|
|
49
|
-
new
|
|
50
|
-
new
|
|
47
|
+
new Something({ displayName: S.NonEmptyString255("Verona"), n: new Date("2020-01-01T00:00:00Z") }),
|
|
48
|
+
new Something({ displayName: S.NonEmptyString255("Riley") }),
|
|
49
|
+
new Something({
|
|
51
50
|
displayName: S.NonEmptyString255("Riley"),
|
|
52
51
|
n: new Date("2020-01-01T00:00:00Z"),
|
|
53
52
|
union: { _tag: "number", value: 1 }
|
|
54
53
|
})
|
|
55
54
|
]
|
|
56
55
|
|
|
56
|
+
// TODO: .merge queries?
|
|
57
|
+
// where(x, y).or(a, b) + where(z, v) = (where(x, y) or(a,b)) and where(z, v)) ?
|
|
58
|
+
|
|
59
|
+
it("merge", () => {
|
|
60
|
+
const a = make().pipe(where("a", "b"), or("c", "d"))
|
|
61
|
+
const b = make().pipe(where("d", "e"), or("f", "g"))
|
|
62
|
+
|
|
63
|
+
const merge = (b: any) => (a: any) => pipe(a, and(() => b))
|
|
64
|
+
|
|
65
|
+
const r = pipe(a, merge(b), toFilter, (_) => _.filter.build())
|
|
66
|
+
|
|
67
|
+
// TODO: instead this should probably scope the first where/or together e.g (where x, or y) and (...)
|
|
68
|
+
const expected = make().pipe(
|
|
69
|
+
where("a", "b"),
|
|
70
|
+
or("c", "d"),
|
|
71
|
+
and(where("d", "e"), or("f", "g")),
|
|
72
|
+
toFilter,
|
|
73
|
+
(_) => _.filter.build()
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
console.log(JSON.stringify({ r, expected }, undefined, 2))
|
|
77
|
+
expect(r).toEqual(expected)
|
|
78
|
+
})
|
|
79
|
+
|
|
57
80
|
it("works", () => {
|
|
58
81
|
console.log("raw", inspect(q, undefined, 25))
|
|
59
82
|
const interpreted = toFilter(q)
|
|
@@ -62,16 +85,16 @@ it("works", () => {
|
|
|
62
85
|
console
|
|
63
86
|
.log("filtersBuilt", inspect(filtersBuilt, undefined, 25))
|
|
64
87
|
|
|
65
|
-
const processed = memFilter(interpreted)(items.map((_) => S.encodeSync(
|
|
88
|
+
const processed = memFilter(interpreted)(items.map((_) => S.encodeSync(Something)(_)))
|
|
66
89
|
|
|
67
90
|
expect(processed).toEqual(items.slice(0, 2).toReversed().map((_) => pick(_, "id", "displayName")))
|
|
68
91
|
})
|
|
69
92
|
|
|
70
|
-
class
|
|
93
|
+
class SomethingRepo extends RepositoryDefaultImpl<SomethingRepo>()(
|
|
71
94
|
"test",
|
|
72
|
-
|
|
95
|
+
Something
|
|
73
96
|
) {
|
|
74
|
-
static readonly Test = Layer.effect(
|
|
97
|
+
static readonly Test = Layer.effect(SomethingRepo, SomethingRepo.makeWith({}, (_) => new SomethingRepo(_))).pipe(
|
|
75
98
|
Layer.provide(Layer.merge(MemoryStoreLive, ContextMapContainer.live))
|
|
76
99
|
)
|
|
77
100
|
}
|
|
@@ -79,24 +102,24 @@ class TestRepo extends RepositoryDefaultImpl<TestRepo>()(
|
|
|
79
102
|
it("works with repo", () =>
|
|
80
103
|
Effect
|
|
81
104
|
.gen(function*($) {
|
|
82
|
-
yield* $(
|
|
105
|
+
yield* $(SomethingRepo.saveAndPublish(items))
|
|
83
106
|
|
|
84
|
-
const q1 = yield* $(
|
|
107
|
+
const q1 = yield* $(SomethingRepo.query(() => q))
|
|
85
108
|
// same as above, but with the `flow` helper
|
|
86
109
|
const q2 = yield* $(
|
|
87
|
-
|
|
110
|
+
SomethingRepo
|
|
88
111
|
.query(flow(
|
|
89
112
|
where("displayName", "Verona"),
|
|
90
|
-
or(
|
|
113
|
+
or(
|
|
91
114
|
where("displayName", "Riley"),
|
|
92
115
|
and("n", "gt", "2021-01-01T00:00:00Z") // TODO: work with To type translation, so Date?
|
|
93
|
-
)
|
|
116
|
+
),
|
|
94
117
|
order("displayName"),
|
|
95
118
|
page({ take: 10 }),
|
|
96
119
|
project(
|
|
97
120
|
S.transformOrFail(
|
|
98
121
|
S.struct({ displayName: S.string }), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
|
|
99
|
-
S.struct(pick(
|
|
122
|
+
S.struct(pick(Something.fields, "displayName")),
|
|
100
123
|
(_) => Effect.andThen(SomeService, _),
|
|
101
124
|
() => Effect.die(new Error("not implemented"))
|
|
102
125
|
)
|
|
@@ -106,23 +129,23 @@ it("works with repo", () =>
|
|
|
106
129
|
expect(q1).toEqual(items.slice(0, 2).toReversed().map((_) => pick(_, "id", "displayName")))
|
|
107
130
|
expect(q2).toEqual(items.slice(0, 2).toReversed().map((_) => pick(_, "displayName")))
|
|
108
131
|
})
|
|
109
|
-
.pipe(Effect.provide(Layer.mergeAll(
|
|
132
|
+
.pipe(Effect.provide(Layer.mergeAll(SomethingRepo.Test, SomeService.toLayer())), Effect.runPromise))
|
|
110
133
|
|
|
111
134
|
it("collect", () =>
|
|
112
135
|
Effect
|
|
113
136
|
.gen(function*($) {
|
|
114
|
-
yield* $(
|
|
137
|
+
yield* $(SomethingRepo.saveAndPublish(items))
|
|
115
138
|
|
|
116
139
|
expect(
|
|
117
140
|
yield* $(
|
|
118
|
-
|
|
141
|
+
SomethingRepo
|
|
119
142
|
.query(flow(
|
|
120
143
|
where("displayName", "Riley"), // TODO: work with To type translation, so Date?
|
|
121
144
|
// one,
|
|
122
145
|
project(
|
|
123
146
|
S.transformTo(
|
|
124
147
|
// TODO: sample case with narrowing down a union?
|
|
125
|
-
S.encodedSchema(S.struct(pick(
|
|
148
|
+
S.encodedSchema(S.struct(pick(Something.fields, "displayName", "n"))), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
|
|
126
149
|
S.typeSchema(S.option(S.string)),
|
|
127
150
|
(_) =>
|
|
128
151
|
_.displayName === "Riley" && _.n === "2020-01-01T00:00:00.000Z"
|
|
@@ -138,14 +161,14 @@ it("collect", () =>
|
|
|
138
161
|
|
|
139
162
|
expect(
|
|
140
163
|
yield* $(
|
|
141
|
-
|
|
164
|
+
SomethingRepo
|
|
142
165
|
.query(flow(
|
|
143
166
|
where("union._tag", "string"),
|
|
144
167
|
one,
|
|
145
168
|
project(
|
|
146
169
|
S.transformTo(
|
|
147
170
|
// TODO: sample case with narrowing down a union?
|
|
148
|
-
S.encodedSchema(S.struct(pick(
|
|
171
|
+
S.encodedSchema(S.struct(pick(Something.fields, "union"))), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
|
|
149
172
|
S.typeSchema(S.option(S.string)),
|
|
150
173
|
(_) =>
|
|
151
174
|
_.union._tag === "string"
|
|
@@ -159,4 +182,4 @@ it("collect", () =>
|
|
|
159
182
|
)
|
|
160
183
|
.toEqual("hi")
|
|
161
184
|
})
|
|
162
|
-
.pipe(Effect.provide(Layer.mergeAll(
|
|
185
|
+
.pipe(Effect.provide(Layer.mergeAll(SomethingRepo.Test, SomeService.toLayer())), Effect.runPromise))
|