prostgles-types 1.5.154 → 1.5.155
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/filters.d.ts +6 -8
- package/dist/filters.d.ts.map +1 -1
- package/dist/filters.js +9 -0
- package/dist/filters.js.map +1 -1
- package/lib/filters.ts +29 -22
- package/package.json +1 -1
package/dist/filters.d.ts
CHANGED
|
@@ -96,22 +96,20 @@ declare type StringFilter<Field extends string, DataType extends any> = BasicFil
|
|
|
96
96
|
}>);
|
|
97
97
|
declare type ValueOf<T> = T[keyof T];
|
|
98
98
|
declare type ShorthandFilter<Obj extends Record<string, any>> = ValueOf<{
|
|
99
|
-
[K in keyof Obj]: Obj[K] extends string ? StringFilter<K, Obj[K]> : BasicFilter<K, Obj[K]>;
|
|
99
|
+
[K in keyof Obj]: Obj[K] extends string ? StringFilter<K, Required<Obj>[K]> : BasicFilter<K, Required<Obj>[K]>;
|
|
100
100
|
}>;
|
|
101
|
-
export declare type FilterForObject<T = AnyObject> = {
|
|
101
|
+
export declare type FilterForObject<T extends AnyObject = AnyObject> = {
|
|
102
102
|
[K in keyof Partial<T>]: FilterDataType<T[K]>;
|
|
103
103
|
} | ShorthandFilter<T>;
|
|
104
|
-
export declare type FilterItem<T = AnyObject> = FilterForObject<T> | Partial<{
|
|
104
|
+
export declare type FilterItem<T extends AnyObject = AnyObject> = FilterForObject<T> | Partial<{
|
|
105
105
|
[key in EXISTS_KEY]: {
|
|
106
106
|
[key: string]: FilterForObject;
|
|
107
107
|
};
|
|
108
108
|
}>;
|
|
109
|
-
export declare type FullFilter<T = AnyObject> = {
|
|
110
|
-
$and:
|
|
109
|
+
export declare type FullFilter<T extends AnyObject = AnyObject> = {
|
|
110
|
+
$and: FullFilter<T>[];
|
|
111
111
|
} | {
|
|
112
|
-
$or:
|
|
113
|
-
} | {
|
|
114
|
-
$not: FilterItem<T>;
|
|
112
|
+
$or: FullFilter<T>[];
|
|
115
113
|
} | FilterItem<T>;
|
|
116
114
|
export declare type FullFilterBasic<T = {
|
|
117
115
|
[key: string]: any;
|
package/dist/filters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":"AAMC,oBAAY,aAAa,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,IAI5D,CAAC,GACD;IAAE,GAAG,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAC1B;IAAE,GAAG,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAE3B;IAAE,KAAK,EAAE,CAAC,EAAE,CAAA;CAAE,GACd;IAAE,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,GACf;IAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAAE,CACxB;AACD,eAAO,MAAM,iBAAiB,mFAA2E,CAAC;AAC1G,eAAO,MAAM,mBAAmB,0BAA2B,CAAC;AAC5D,eAAO,MAAM,cAAc,8BAA+B,CAAC;AAE3D,oBAAY,oBAAoB,GAC7B;IAAE,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GAC1B;IAAE,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B;IAAE,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAAE,GAChC;IAAE,sBAAsB,EAAE,MAAM,EAAE,CAAA;CAAE,CACtC;AACD,eAAO,MAAM,mCAAmC,wFAAsF,CAAC;AAEvI,oBAAY,UAAU,GACnB,aAAa,CAAC,MAAM,CAAC,GACrB;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAEnB;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAAI;IAAE,WAAW,EAAE,oBAAoB,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAAI;IAAE,cAAc,EAAE,oBAAoB,CAAA;CAAE,CAC5E;AACD,eAAO,MAAM,iBAAiB,0DAA2D,CAAC;AAE1F,oBAAY,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,EAAE,IACtD,aAAa,CAAC,CAAC,CAAC,GAChB;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAI;IAAE,WAAW,EAAE,CAAC,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAI;IAAE,cAAc,EAAE,CAAC,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAI;IAAE,WAAW,EAAE,CAAC,CAAA;CAAE,CACnC;AASD,oBAAY,OAAO,GAAG;IAAE,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAOnD,oBAAY,UAAU,GAKnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAcjB;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CASlB;AACD,eAAO,MAAM,cAAc,iGAA8F,CAAC;AAE1H,eAAO,MAAM,gBAAgB,UAAyE,CAAC;AAEvG,oBAAY,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;AAEtE,oBAAY,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE/C,oBAAY,cAAc,CAAC,CAAC,GAAG,GAAG,IACjC,CAAC,SAAS,MAAM,GAAG,UAAU,GAC5B,CAAC,SAAS,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GACnC,CAAC,SAAS,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,GACpC,CAAC,SAAS,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,GACjC,CAAC,SAAS,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,GAChC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC,CAC9D;AAED,eAAO,MAAM,WAAW,yEAA0E,CAAC;AACnG,oBAAY,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAMnD,aAAK,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,QAAQ,SAAS,GAAG,IAAI,OAAO,CAAC;KACrE,CAAC,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,GAAG,QAAQ;CACtF,CAAC,GAAG,OAAO,CAAC;KACV,CAAC,IAAI,OAAO,CAAC,OAAO,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE;CAC1F,CAAC,CAAC;AACH,aAAK,YAAY,CAAC,KAAK,SAAS,MAAM,EAAE,QAAQ,SAAS,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;KACrG,CAAC,IAAI,OAAO,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,GAAG,QAAQ;CACnF,CAAC,GAAG,OAAO,CAAC;KACV,CAAC,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,GAAG,GAAG;CACjF,CAAC,CAAC,CAAC;AACJ,aAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B,aAAK,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC;KAC7D,CAAC,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,MAAM,GAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9G,CAAC,CAAA;AAGF,oBAAY,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAEzD;KACC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,GAKC,eAAe,CAAC,CAAC,CAAC,CAAC;AAQrB,oBAAY,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAClD,eAAe,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC;KAAG,GAAG,IAAI,UAAU,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE;CAAE,CAAC,CAAA;AAOxE,oBAAY,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IACnD;IAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;CAAE,GACzB;IAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;CAAE,GACxB,UAAU,CAAC,CAAC,CAAC,CAIf;AAsBD,oBAAY,eAAe,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,IAAI;KACvD,GAAG,IAAI,MAAM,OAAO,CAAC,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,GAAG,GAAG;CACxD,CAAA"}
|
package/dist/filters.js
CHANGED
|
@@ -10,4 +10,13 @@ exports.GeomFilterKeys = ["~", "~=", "@", "|&>", "|>>", ">>", "=", "<<|", "<<",
|
|
|
10
10
|
const _GeomFilter_Funcs = ["ST_MakeEnvelope", "ST_MakePolygon"];
|
|
11
11
|
exports.GeomFilter_Funcs = _GeomFilter_Funcs.concat(_GeomFilter_Funcs.map(v => v.toLowerCase()));
|
|
12
12
|
exports.EXISTS_KEYS = ["$exists", "$notExists", "$existsJoined", "$notExistsJoined"];
|
|
13
|
+
const f = {
|
|
14
|
+
"h.$eq": ["2"]
|
|
15
|
+
};
|
|
16
|
+
const forcedFilter = {
|
|
17
|
+
$and: [
|
|
18
|
+
{ "h.$eq": [] },
|
|
19
|
+
{ h: { "$gt": undefined } }
|
|
20
|
+
]
|
|
21
|
+
};
|
|
13
22
|
//# sourceMappingURL=filters.js.map
|
package/dist/filters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":";;;AAqBa,QAAA,iBAAiB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,CAAU,CAAC;AAC7F,QAAA,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAC/C,QAAA,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AAQ9C,QAAA,mCAAmC,GAAG,CAAC,YAAY,EAAC,iBAAiB,EAAC,kBAAkB,EAAC,sBAAsB,CAAU,CAAC;AAW1H,QAAA,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAU,CAAC;AAoD7E,QAAA,cAAc,GAAG,CAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAU,CAAC;AAC1H,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;AAClD,QAAA,gBAAgB,GAAI,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAe1F,QAAA,WAAW,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":";;;AAqBa,QAAA,iBAAiB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,CAAU,CAAC;AAC7F,QAAA,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAC/C,QAAA,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AAQ9C,QAAA,mCAAmC,GAAG,CAAC,YAAY,EAAC,iBAAiB,EAAC,kBAAkB,EAAC,sBAAsB,CAAU,CAAC;AAW1H,QAAA,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAU,CAAC;AAoD7E,QAAA,cAAc,GAAG,CAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAU,CAAC;AAC1H,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;AAClD,QAAA,gBAAgB,GAAI,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAe1F,QAAA,WAAW,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAU,CAAC;AAiEnG,MAAM,CAAC,GAAmB;IACvB,OAAO,EAAE,CAAC,GAAG,CAAC;CAChB,CAAA;AACD,MAAM,YAAY,GAAmB;IAEnC,IAAI,EAAE;QACJ,EAAE,OAAO,EAAE,EAAE,EAAE;QACf,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;KAC5B;CACF,CAAA"}
|
package/lib/filters.ts
CHANGED
|
@@ -129,18 +129,20 @@ type StringFilter<Field extends string, DataType extends any> = BasicFilter<Fiel
|
|
|
129
129
|
type ValueOf<T> = T[keyof T];
|
|
130
130
|
|
|
131
131
|
type ShorthandFilter<Obj extends Record<string, any>> = ValueOf<{
|
|
132
|
-
[K in keyof Obj]: Obj[K] extends string? StringFilter<K, Obj[K]> : BasicFilter<K, Obj[K]>;
|
|
132
|
+
[K in keyof Obj]: Obj[K] extends string? StringFilter<K, Required<Obj>[K]> : BasicFilter<K, Required<Obj>[K]>;
|
|
133
133
|
}>
|
|
134
134
|
|
|
135
135
|
/* Traverses object keys to make filter */
|
|
136
|
-
export type FilterForObject<T = AnyObject> =
|
|
136
|
+
export type FilterForObject<T extends AnyObject = AnyObject> =
|
|
137
|
+
/* { col: { $func: ["value"] } } */
|
|
138
|
+
| {
|
|
137
139
|
[K in keyof Partial<T>]: FilterDataType<T[K]>
|
|
138
|
-
}
|
|
140
|
+
}
|
|
139
141
|
/**
|
|
140
142
|
* Filters with shorthand notation
|
|
141
143
|
* @example: { "name.$ilike": 'abc' }
|
|
142
144
|
*/
|
|
143
|
-
ShorthandFilter<T
|
|
145
|
+
| ShorthandFilter<T>;
|
|
144
146
|
|
|
145
147
|
|
|
146
148
|
|
|
@@ -148,7 +150,7 @@ export type FilterForObject<T = AnyObject> = {
|
|
|
148
150
|
* Filter that relates to a single column { col: 2 } or
|
|
149
151
|
* an exists filter: { $exists: { } }
|
|
150
152
|
*/
|
|
151
|
-
export type FilterItem<T = AnyObject> =
|
|
153
|
+
export type FilterItem<T extends AnyObject = AnyObject> =
|
|
152
154
|
| FilterForObject<T>
|
|
153
155
|
| Partial<{ [key in EXISTS_KEY]: { [key: string]: FilterForObject } }>
|
|
154
156
|
|
|
@@ -157,13 +159,31 @@ export type FilterItem<T = AnyObject> =
|
|
|
157
159
|
* Full filter
|
|
158
160
|
* @example { $or: [ { id: 1 }, { status: 'live' } ] }
|
|
159
161
|
*/
|
|
160
|
-
export type FullFilter<T = AnyObject> =
|
|
161
|
-
| { $and:
|
|
162
|
-
| { $or:
|
|
163
|
-
| { $not: FilterItem<T> }
|
|
162
|
+
export type FullFilter<T extends AnyObject = AnyObject> =
|
|
163
|
+
| { $and: FullFilter<T>[] }
|
|
164
|
+
| { $or: FullFilter<T>[] }
|
|
164
165
|
| FilterItem<T>
|
|
166
|
+
|
|
167
|
+
/** Not implemented yet */
|
|
168
|
+
// | { $not: FilterItem<T> }
|
|
165
169
|
;
|
|
166
170
|
|
|
171
|
+
type RR = {
|
|
172
|
+
h?: string[];
|
|
173
|
+
id?: number;
|
|
174
|
+
name?: string | null;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const f: FilterItem<RR> = {
|
|
178
|
+
"h.$eq": ["2"]
|
|
179
|
+
}
|
|
180
|
+
const forcedFilter: FullFilter<RR> = {
|
|
181
|
+
// "h.$eq": ["2"]
|
|
182
|
+
$and: [
|
|
183
|
+
{ "h.$eq": [] },
|
|
184
|
+
{ h: { "$gt": undefined } }
|
|
185
|
+
]
|
|
186
|
+
}
|
|
167
187
|
|
|
168
188
|
/**
|
|
169
189
|
* Simpler FullFilter to reduce load on compilation
|
|
@@ -171,16 +191,3 @@ export type FullFilter<T = AnyObject> =
|
|
|
171
191
|
export type FullFilterBasic<T = { [key: string]: any }> = {
|
|
172
192
|
[key in keyof Partial<T & { [key: string]: any }>]: any
|
|
173
193
|
}
|
|
174
|
-
|
|
175
|
-
// const d: FullFilterBasic<{ a: number, ab: number }> = {
|
|
176
|
-
// adw: 2
|
|
177
|
-
// }
|
|
178
|
-
// export type FullFilterSimple = any;
|
|
179
|
-
// const f: FullFilter<{ a: Date, s: string }> = {
|
|
180
|
-
// // hehe: { "@>": ['', 2] }
|
|
181
|
-
// $exists: { dadwa: { $and: [{ a: 2 }] }},
|
|
182
|
-
// $and: [ { a: { $gt: 23 } }],
|
|
183
|
-
// a: { $eqq: new Date() },
|
|
184
|
-
// // s: { $between: [2, '3']},
|
|
185
|
-
// }
|
|
186
|
-
|