@taylordb/query-builder 0.7.0 → 0.9.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/dist/cjs/@types/insert.d.ts +13 -4
- package/dist/cjs/@types/query-builder.d.ts +2 -2
- package/dist/cjs/@types/type-helpers.d.ts +3 -3
- package/dist/cjs/@types/update.d.ts +8 -3
- package/dist/cjs/__tests__/query-builder.spec.js +3 -3
- package/dist/cjs/__tests__/query-builder.spec.js.map +1 -1
- package/dist/cjs/__tests__/taylorclient.types.d.ts +57 -51
- package/dist/cjs/executor.js +1 -1
- package/dist/cjs/executor.js.map +1 -1
- package/dist/cjs/query-builder.d.ts +1 -1
- package/dist/cjs/selection-builder.d.ts +1 -1
- package/dist/cjs/where-query-builder.d.ts +2 -2
- package/dist/cjs/where-query-builder.js +1 -1
- package/dist/cjs/where-query-builder.js.map +1 -1
- package/dist/esm/@types/insert.d.ts +13 -4
- package/dist/esm/@types/query-builder.d.ts +2 -2
- package/dist/esm/@types/type-helpers.d.ts +3 -3
- package/dist/esm/@types/update.d.ts +8 -3
- package/dist/esm/__tests__/query-builder.spec.js +3 -3
- package/dist/esm/__tests__/query-builder.spec.js.map +1 -1
- package/dist/esm/__tests__/taylorclient.types.d.ts +57 -51
- package/dist/esm/executor.js +1 -1
- package/dist/esm/executor.js.map +1 -1
- package/dist/esm/query-builder.d.ts +1 -1
- package/dist/esm/selection-builder.d.ts +1 -1
- package/dist/esm/where-query-builder.d.ts +2 -2
- package/dist/esm/where-query-builder.js +1 -1
- package/dist/esm/where-query-builder.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -6,19 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
type IsWithinOperatorValue = 'pastWeek' | 'pastMonth' | 'pastYear' | 'nextWeek' | 'nextMonth' | 'nextYear' | 'daysFromNow' | 'daysAgo' | 'currentWeek' | 'currentMonth' | 'currentYear';
|
|
8
8
|
type DefaultDateFilterValue = ('today' | 'tomorrow' | 'yesterday' | 'oneWeekAgo' | 'oneWeekFromNow' | 'oneMonthAgo' | 'oneMonthFromNow') | ['exactDay' | 'exactTimestamp', string] | ['daysAgo' | 'daysFromNow', number];
|
|
9
|
-
|
|
10
|
-
[key: string]: any;
|
|
11
|
-
} = object, A extends {
|
|
12
|
-
[key: string]: any;
|
|
13
|
-
} = object> = {
|
|
14
|
-
raw: S;
|
|
15
|
-
insert: I;
|
|
16
|
-
update: U;
|
|
17
|
-
type: T;
|
|
18
|
-
filters: F;
|
|
19
|
-
aggregations: A;
|
|
20
|
-
};
|
|
21
|
-
export type DateColumnType = ColumnType<string | undefined, string | undefined, string | undefined, 'date', {
|
|
9
|
+
type DateFilters = {
|
|
22
10
|
'=': DefaultDateFilterValue;
|
|
23
11
|
'!=': DefaultDateFilterValue;
|
|
24
12
|
'<': DefaultDateFilterValue;
|
|
@@ -31,7 +19,8 @@ export type DateColumnType = ColumnType<string | undefined, string | undefined,
|
|
|
31
19
|
};
|
|
32
20
|
isEmpty: boolean;
|
|
33
21
|
isNotEmpty: boolean;
|
|
34
|
-
}
|
|
22
|
+
};
|
|
23
|
+
type DateAggregations = {
|
|
35
24
|
empty: number;
|
|
36
25
|
filled: number;
|
|
37
26
|
unique: number;
|
|
@@ -42,8 +31,8 @@ export type DateColumnType = ColumnType<string | undefined, string | undefined,
|
|
|
42
31
|
max: number | null;
|
|
43
32
|
daysRange: number | null;
|
|
44
33
|
monthRange: number | null;
|
|
45
|
-
}
|
|
46
|
-
|
|
34
|
+
};
|
|
35
|
+
type TextFilters = {
|
|
47
36
|
'=': string;
|
|
48
37
|
'!=': string;
|
|
49
38
|
caseEqual: string;
|
|
@@ -52,34 +41,30 @@ export type TextColumnType = ColumnType<string | undefined, string | undefined,
|
|
|
52
41
|
startsWith: string;
|
|
53
42
|
endsWith: string;
|
|
54
43
|
doesNotContain: string;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
newIds: number[];
|
|
58
|
-
deletedIds: number[];
|
|
59
|
-
} | undefined, number[] | undefined, 'link', {
|
|
44
|
+
};
|
|
45
|
+
type LinkFilters = {
|
|
60
46
|
hasAnyOf: number[];
|
|
61
47
|
hasAllOf: number[];
|
|
62
48
|
isExactly: number[];
|
|
63
49
|
'=': number;
|
|
64
50
|
hasNoneOf: number[];
|
|
65
|
-
}
|
|
51
|
+
};
|
|
52
|
+
type LinkAggregations = {
|
|
66
53
|
empty: number;
|
|
67
54
|
filled: number;
|
|
68
55
|
percentEmpty: number;
|
|
69
56
|
percentFilled: number;
|
|
70
|
-
}> & {
|
|
71
|
-
linkedTo: T;
|
|
72
57
|
};
|
|
73
|
-
|
|
58
|
+
type NumberFilters = {
|
|
74
59
|
'=': number;
|
|
75
|
-
'!=': number;
|
|
76
60
|
'>': number;
|
|
77
61
|
'>=': number;
|
|
78
62
|
'<': number;
|
|
79
63
|
'<=': number;
|
|
80
64
|
hasAnyOf: number[];
|
|
81
65
|
hasNoneOf: number[];
|
|
82
|
-
}
|
|
66
|
+
};
|
|
67
|
+
type NumberAggregations = {
|
|
83
68
|
sum: number;
|
|
84
69
|
average: number;
|
|
85
70
|
median: number;
|
|
@@ -94,28 +79,57 @@ export type NumberColumnType = ColumnType<number | undefined, number | undefined
|
|
|
94
79
|
percentEmpty: number;
|
|
95
80
|
percentFilled: number;
|
|
96
81
|
percentUnique: number;
|
|
97
|
-
}
|
|
98
|
-
|
|
82
|
+
};
|
|
83
|
+
type CheckboxFilters = {
|
|
99
84
|
'=': number;
|
|
100
|
-
}
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
*
|
|
88
|
+
* Column types
|
|
89
|
+
*
|
|
90
|
+
*/
|
|
91
|
+
export type ColumnType<S, U, I, R extends boolean, F extends {
|
|
92
|
+
[key: string]: any;
|
|
93
|
+
} = object, A extends {
|
|
94
|
+
[key: string]: any;
|
|
95
|
+
} = object> = {
|
|
96
|
+
raw: S;
|
|
97
|
+
insert: I;
|
|
98
|
+
update: U;
|
|
99
|
+
filters: F;
|
|
100
|
+
aggregations: A;
|
|
101
|
+
isRequired: R;
|
|
102
|
+
};
|
|
103
|
+
export type DateColumnType<R extends boolean> = ColumnType<string, string, string, R, DateFilters, DateAggregations>;
|
|
104
|
+
export type TextColumnType<R extends boolean> = ColumnType<string, string, string, R, TextFilters>;
|
|
105
|
+
export type LinkColumnType<T extends string, R extends boolean> = ColumnType<object, number | number[] | {
|
|
106
|
+
newIds: number[];
|
|
107
|
+
deletedIds: number[];
|
|
108
|
+
}, number | number[], R, LinkFilters, LinkAggregations> & {
|
|
109
|
+
linkedTo: T;
|
|
110
|
+
};
|
|
111
|
+
export type NumberColumnType<R extends boolean> = ColumnType<number, number, number, R, NumberFilters, NumberAggregations>;
|
|
112
|
+
export type CheckboxColumnType<R extends boolean> = ColumnType<boolean, boolean, boolean, R, CheckboxFilters>;
|
|
113
|
+
export type AutoGeneratedNumberColumnType = ColumnType<number, never, never, false, NumberFilters, NumberAggregations>;
|
|
114
|
+
export type AutoGeneratedDateColumnType = ColumnType<string, never, never, false, DateFilters, DateAggregations>;
|
|
101
115
|
export type SelectTable = {
|
|
102
|
-
id:
|
|
103
|
-
name: TextColumnType
|
|
104
|
-
color: TextColumnType
|
|
116
|
+
id: AutoGeneratedNumberColumnType;
|
|
117
|
+
name: TextColumnType<true>;
|
|
118
|
+
color: TextColumnType<true>;
|
|
105
119
|
};
|
|
106
120
|
export type AttachmentTable = {
|
|
107
|
-
id:
|
|
108
|
-
name: TextColumnType
|
|
109
|
-
metadata: TextColumnType
|
|
110
|
-
size: NumberColumnType
|
|
111
|
-
fileType: TextColumnType
|
|
112
|
-
url: TextColumnType
|
|
121
|
+
id: AutoGeneratedNumberColumnType;
|
|
122
|
+
name: TextColumnType<true>;
|
|
123
|
+
metadata: TextColumnType<true>;
|
|
124
|
+
size: NumberColumnType<true>;
|
|
125
|
+
fileType: TextColumnType<true>;
|
|
126
|
+
url: TextColumnType<true>;
|
|
113
127
|
};
|
|
114
128
|
export type CollaboratorsTable = {
|
|
115
|
-
id:
|
|
116
|
-
name: TextColumnType
|
|
117
|
-
emailAddress: TextColumnType
|
|
118
|
-
avatar: TextColumnType
|
|
129
|
+
id: AutoGeneratedNumberColumnType;
|
|
130
|
+
name: TextColumnType<true>;
|
|
131
|
+
emailAddress: TextColumnType<true>;
|
|
132
|
+
avatar: TextColumnType<true>;
|
|
119
133
|
};
|
|
120
134
|
export interface TaylorDatabase {
|
|
121
135
|
/**
|
|
@@ -127,13 +141,5 @@ export interface TaylorDatabase {
|
|
|
127
141
|
selectTable: SelectTable;
|
|
128
142
|
attachmentTable: AttachmentTable;
|
|
129
143
|
collaboratorsTable: CollaboratorsTable;
|
|
130
|
-
customers: CustomersTable;
|
|
131
|
-
}
|
|
132
|
-
interface CustomersTable {
|
|
133
|
-
id: NumberColumnType;
|
|
134
|
-
createdAt: DateColumnType;
|
|
135
|
-
updatedAt: DateColumnType;
|
|
136
|
-
firstName: TextColumnType;
|
|
137
|
-
lastName: TextColumnType;
|
|
138
144
|
}
|
|
139
145
|
export {};
|
package/dist/esm/executor.js
CHANGED
|
@@ -44,7 +44,7 @@ export class Executor {
|
|
|
44
44
|
}
|
|
45
45
|
const jsonResponse = await response.json();
|
|
46
46
|
if (jsonResponse.errors) {
|
|
47
|
-
throw new Error(`GraphQL errors: ${
|
|
47
|
+
throw new Error(`GraphQL errors: ${jsonResponse.errors.map(error => error.message).join('\n')}`);
|
|
48
48
|
}
|
|
49
49
|
if (jsonResponse.data) {
|
|
50
50
|
const [firstKey] = Object.keys(jsonResponse.data);
|
package/dist/esm/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAMhE,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IACD,+DAA+D;IAC/D,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QACjE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1C,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,QAAQ;IACnB,QAAQ,CAAS;IACjB,OAAO,CAAS;IAChB,oBAAoB,CAAsB;IAE1C,YAAY,OAAe,EAAE,MAAc;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,oBAAoB,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE;YACxD,OAAO;YACP,MAAM;YACN,QAAQ,EAAE,YAAY,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,OAAmB;QAClC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAa,EACb,SAA8B,EAC9B,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE;gBACvC,MAAM,EAAE,UAAU;gBAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare class QueryBuilder<DB extends AnyDB, TableName extends keyof DB,
|
|
|
18
18
|
}>;
|
|
19
19
|
with<const TArg extends (LinkColumnNames<DB[TableName]> & string) | readonly (LinkColumnNames<DB[TableName]> & string)[]>(relations: TArg): QueryBuilder<DB, TableName, ResolveWithPlain<DB, TableName, TArg, Selection>>;
|
|
20
20
|
with<const TArg extends {
|
|
21
|
-
[K in LinkColumnNames<DB[TableName]>]?: (qb: QueryBuilder<DB, DB[TableName][K] extends LinkColumnType<any> ? DB[TableName][K]['linkedTo'] : never, object, K>) => QueryBuilder<DB, any, any, any>;
|
|
21
|
+
[K in LinkColumnNames<DB[TableName]>]?: (qb: QueryBuilder<DB, DB[TableName][K] extends LinkColumnType<any, boolean> ? DB[TableName][K]['linkedTo'] : never, object, K>) => QueryBuilder<DB, any, any, any>;
|
|
22
22
|
}>(relations: TArg): QueryBuilder<DB, TableName, ResolveWithObject<TArg, Selection>>;
|
|
23
23
|
limit(count: number): QueryBuilder<DB, TableName, Selection, LinkName>;
|
|
24
24
|
offset(count: number): QueryBuilder<DB, TableName, Selection, LinkName>;
|
|
@@ -6,5 +6,5 @@ import { QueryBuilder } from './query-builder.js';
|
|
|
6
6
|
export declare class SelectionBuilder<DB extends AnyDB, CurrentTableName extends keyof DB> {
|
|
7
7
|
_executor: Executor;
|
|
8
8
|
constructor(executor: Executor);
|
|
9
|
-
useLink<LinkName extends LinkColumnNames<DB[CurrentTableName]> & string>(from: LinkName): QueryBuilder<DB, DB[CurrentTableName][LinkName] extends LinkColumnType<any> ? DB[CurrentTableName][LinkName]["linkedTo"] : never, object, LinkName>;
|
|
9
|
+
useLink<LinkName extends LinkColumnNames<DB[CurrentTableName]> & string>(from: LinkName): QueryBuilder<DB, DB[CurrentTableName][LinkName] extends LinkColumnType<any, boolean> ? DB[CurrentTableName][LinkName]["linkedTo"] : never, object, LinkName>;
|
|
10
10
|
}
|
|
@@ -6,9 +6,9 @@ export declare class FilterableQueryBuilder<DB extends AnyDB, TableName extends
|
|
|
6
6
|
_node: FilterableNode;
|
|
7
7
|
_executor: Executor;
|
|
8
8
|
constructor(node: FilterableNode, executor: Executor);
|
|
9
|
-
where<TField extends ColumnNames<DB[TableName]> & string, TOperator extends keyof DB[TableName][TField]['filters']>(field: TField, operator: TOperator, value: DB[TableName][TField] extends LinkColumnType<any> ? ((qb: FilterableQueryBuilder<DB, DB[TableName][TField] extends LinkColumnType<any> ? DB[TableName][TField]['linkedTo'] : never>) => FilterableQueryBuilder<DB, DB[TableName][TField] extends LinkColumnType<any> ? DB[TableName][TField]['linkedTo'] : never>) | DB[TableName][TField]['filters'][TOperator] : DB[TableName][TField]['filters'][TOperator]): this;
|
|
9
|
+
where<TField extends ColumnNames<DB[TableName]> & string, TOperator extends keyof DB[TableName][TField]['filters']>(field: TField, operator: TOperator, value: DB[TableName][TField] extends LinkColumnType<any, boolean> ? ((qb: FilterableQueryBuilder<DB, DB[TableName][TField] extends LinkColumnType<any, boolean> ? DB[TableName][TField]['linkedTo'] : never>) => FilterableQueryBuilder<DB, DB[TableName][TField] extends LinkColumnType<any, boolean> ? DB[TableName][TField]['linkedTo'] : never>) | DB[TableName][TField]['filters'][TOperator] : DB[TableName][TField]['filters'][TOperator]): this;
|
|
10
10
|
where<C extends (builder: WhereQueryBuilder<DB, TableName>) => WhereQueryBuilder<DB, TableName>>(column: C): this;
|
|
11
|
-
orWhere<TField extends ColumnNames<DB[TableName]> & string, TOperator extends keyof DB[TableName][TField]['filters']>(field: TField, operator: TOperator, value: DB[TableName][TField] extends LinkColumnType<any> ? (qb: FilterableQueryBuilder<DB, DB[TableName][TField] extends LinkColumnType<any> ? DB[TableName][TField]['linkedTo'] : never>) => FilterableQueryBuilder<DB, DB[TableName][TField] extends LinkColumnType<any> ? DB[TableName][TField]['linkedTo'] : never> | DB[TableName][TField]['filters'][TOperator] : DB[TableName][TField]['filters'][TOperator]): this;
|
|
11
|
+
orWhere<TField extends ColumnNames<DB[TableName]> & string, TOperator extends keyof DB[TableName][TField]['filters']>(field: TField, operator: TOperator, value: DB[TableName][TField] extends LinkColumnType<any, boolean> ? (qb: FilterableQueryBuilder<DB, DB[TableName][TField] extends LinkColumnType<any, boolean> ? DB[TableName][TField]['linkedTo'] : never>) => FilterableQueryBuilder<DB, DB[TableName][TField] extends LinkColumnType<any, boolean> ? DB[TableName][TField]['linkedTo'] : never> | DB[TableName][TField]['filters'][TOperator] : DB[TableName][TField]['filters'][TOperator]): this;
|
|
12
12
|
orWhere<C extends (builder: WhereQueryBuilder<DB, TableName>) => WhereQueryBuilder<DB, TableName>>(column: C): this;
|
|
13
13
|
}
|
|
14
14
|
export declare class WhereQueryBuilder<DB extends AnyDB, TableName extends keyof DB> extends FilterableQueryBuilder<DB, TableName> {
|
|
@@ -32,7 +32,7 @@ export class FilterableQueryBuilder {
|
|
|
32
32
|
const newFilter = {
|
|
33
33
|
field: fieldOrFn,
|
|
34
34
|
operator: operator,
|
|
35
|
-
value: ['cross-
|
|
35
|
+
value: ['cross-table', configuredSubQueryBuilder._node.filtersSet],
|
|
36
36
|
};
|
|
37
37
|
const newNode = {
|
|
38
38
|
...this._node,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where-query-builder.js","sourceRoot":"","sources":["../../src/where-query-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,OAAO,sBAAsB;IAKjC,SAAS,CAAW;IAEpB,YAAY,IAAoB,EAAE,QAAkB;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IA+BD,KAAK,CACH,SAI+C,EAC/C,QAAiB,EACjB,KAAe;QAEf,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CACnC;gBACE,GAAG,IAAI,CAAC,KAAK;gBACb,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;aACnD,EACD,IAAI,CAAC,SAAS,CACf,CAAC;YACF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,OAAO,GAAmB;gBAC9B,GAAG,IAAI,CAAC,KAAK;gBACb,UAAU,EAAE;oBACV,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;oBACxB,UAAU,EAAE;wBACV,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU;wBACnC,MAAM,CAAC,KAAK,CAAC,UAAU;qBACxB;iBACF;aACF,CAAC;YACF,wDAAwD;YACxD,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAC3C,IAAI,CAAC,SAAS,CACf,CAAC;YACF,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAgB,CAAC,CAAC;YAC1E,MAAM,yBAAyB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAEhE,MAAM,SAAS,GAAW;gBACxB,KAAK,EAAE,SAAmB;gBAC1B,QAAQ,EAAE,QAAS;gBACnB,KAAK,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"where-query-builder.js","sourceRoot":"","sources":["../../src/where-query-builder.ts"],"names":[],"mappings":"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"}
|