prostgles-types 4.0.185 → 4.0.186
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 +11 -11
- package/dist/filters.d.ts.map +1 -1
- package/dist/filters.js.map +1 -1
- package/lib/filters.ts +20 -19
- package/package.json +1 -1
package/dist/filters.d.ts
CHANGED
|
@@ -72,15 +72,6 @@ export declare const TextFilterKeys: readonly ["$ilike", "$like", "$nilike", "$n
|
|
|
72
72
|
export declare const TextFilterFTSKeys: readonly ["@@", "@>", "<@", "$contains", "$containedBy"];
|
|
73
73
|
export declare const TextFilter_FullTextSearchFilterKeys: readonly ["to_tsquery", "plainto_tsquery", "phraseto_tsquery", "websearch_to_tsquery"];
|
|
74
74
|
export type FullTextSearchFilter = ExactlyOne<Record<(typeof TextFilter_FullTextSearchFilterKeys)[number], string[]>>;
|
|
75
|
-
/**
|
|
76
|
-
* Example: col_name: { $gt: 2 }
|
|
77
|
-
*/
|
|
78
|
-
export type CompareFilter<T extends AllowedTSType = string> =
|
|
79
|
-
/**
|
|
80
|
-
* column value equals provided value
|
|
81
|
-
*/
|
|
82
|
-
T | ExactlyOne<Record<(typeof CompareFilterKeys)[number], T>> | ExactlyOne<Record<(typeof CompareInFilterKeys)[number], T[]>> | ExactlyOne<Record<(typeof BetweenFilterKeys)[number], [T, T]>>;
|
|
83
|
-
export type TextFilter<T> = CompareFilter<T> | ExactlyOne<Record<(typeof TextFilterKeys)[number], string>> | ExactlyOne<Record<(typeof TextFilterFTSKeys)[number], FullTextSearchFilter>>;
|
|
84
75
|
export declare const ArrayFilterOperands: readonly ["@>", "<@", "=", "$eq", "$contains", "$containedBy", "&&", "$overlaps"];
|
|
85
76
|
export type ArrayFilter<T extends AllowedTSType[]> = Record<(typeof ArrayFilterOperands)[number], T> | ExactlyOne<Record<(typeof ArrayFilterOperands)[number], T>>;
|
|
86
77
|
/**
|
|
@@ -161,6 +152,15 @@ export type ValueOf<T> = T[keyof T];
|
|
|
161
152
|
export type EqualityFilter<T extends AnyObject> = {
|
|
162
153
|
[K in keyof Partial<T>]: CastFromTSToPG<T[K]>;
|
|
163
154
|
};
|
|
155
|
+
/**
|
|
156
|
+
* Example: col_name: { $gt: 2 }
|
|
157
|
+
*/
|
|
158
|
+
export type CompareFilter<T extends AllowedTSType> =
|
|
159
|
+
/**
|
|
160
|
+
* column value equals provided value
|
|
161
|
+
*/
|
|
162
|
+
T | ExactlyOne<Record<(typeof CompareFilterKeys)[number], T>> | ExactlyOne<Record<(typeof CompareInFilterKeys)[number], T[]>> | ExactlyOne<Record<(typeof BetweenFilterKeys)[number], [T, T]>>;
|
|
163
|
+
export type TextFilter<T> = ExactlyOne<Record<(typeof TextFilterKeys)[number], string>> | ExactlyOne<Record<(typeof TextFilterFTSKeys)[number], FullTextSearchFilter>>;
|
|
164
164
|
/**
|
|
165
165
|
* Filter operators for each PG data type
|
|
166
166
|
*/
|
|
@@ -170,8 +170,8 @@ export type FilterDataType<T extends AllowedTSType> = T extends string ? TextFil
|
|
|
170
170
|
* Multiple columns are combined with AND
|
|
171
171
|
* @example: { colName: { $operator: ["value"] } }
|
|
172
172
|
* */
|
|
173
|
-
type NormalFilter<T> = {
|
|
174
|
-
[K in keyof Partial<T>]: FilterDataType<T[K]>;
|
|
173
|
+
export type NormalFilter<T> = {
|
|
174
|
+
[K in keyof Partial<T>]: CompareFilter<T[K]> | FilterDataType<T[K]>;
|
|
175
175
|
} & Partial<ComplexFilter>;
|
|
176
176
|
/**
|
|
177
177
|
* Filters with shorthand notation for autocomplete convenience
|
package/dist/filters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAW,MAAM,QAAQ,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC;AACnE,MAAM,MAAM,cAAc,GAAG,aAAa,EAAE,CAAC;AAE7C,eAAO,MAAM,iBAAiB,wIAgBpB,CAAC;AACX,eAAO,MAAM,mBAAmB,0BAA2B,CAAC;AAC5D,eAAO,MAAM,iBAAiB,sCAAuC,CAAC;AAEtE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEhB,CAAC;AAEX,eAAO,MAAM,eAAe,uEAAyB,CAAC;AAEtD,eAAO,MAAM,cAAc,mDAAoD,CAAC;AAEhF,eAAO,MAAM,iBAAiB,0DAA2D,CAAC;AAE1F,eAAO,MAAM,mCAAmC,wFAKtC,CAAC;AACX,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC3C,MAAM,CAAC,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CACvE,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":"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"}
|
package/dist/filters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":";;;AACA,iCAA6C;AAKhC,QAAA,iBAAiB,GAAG;IAC/B,GAAG;IACH,KAAK;IACL,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,iBAAiB;IACjB,oBAAoB;CACZ,CAAC;AACE,QAAA,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAC/C,QAAA,iBAAiB,GAAG,CAAC,UAAU,EAAE,aAAa,CAAU,CAAC;AAEzD,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,OAAO;QAC7B,WAAW,EACT,sFAAsF;QACxF,OAAO,EAAE,iDAAiD;KAC3D;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,OAAO;QAC7B,WAAW,EACT,8FAA8F;QAChG,OAAO,EAAE,iDAAiD;KAC3D;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,GAAG;QACb,oBAAoB,EAAE,MAAM;QAC5B,WAAW,EAAE,iEAAiE;QAC9E,OAAO,EAAE,mCAAmC;KAC7C;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,QAAQ;QAC9B,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,yDAAyD;KACnE;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,QAAQ;QAC9B,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,4CAA4C;KACtD;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,OAAO;QAC7B,WAAW,EAAE,qDAAqD;QAClE,OAAO,EAAE,gDAAgD;KAC1D;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,GAAG;QACb,oBAAoB,EAAE,SAAS;QAC/B,WAAW,EACT,+IAA+I;QACjJ,OAAO,EAAE,2BAA2B;KACrC;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,QAAQ;QAC9B,WAAW,EACT,yGAAyG;QAC3G,OAAO,EAAE,wCAAwC;KAClD;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,UAAU;QAChC,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE,oDAAoD;KAC9D;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,UAAU;QAChC,WAAW,EACT,6LAA6L;QAC/L,OAAO,EAAE,8CAA8C;KACxD;CACO,CAAC;AAEE,QAAA,eAAe,GAAG,IAAA,cAAO,EAAC,qBAAa,CAAC,CAAC;AAEzC,QAAA,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAEnE,QAAA,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAU,CAAC;AAE7E,QAAA,mCAAmC,GAAG;IACjD,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;CACd,CAAC;
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":";;;AACA,iCAA6C;AAKhC,QAAA,iBAAiB,GAAG;IAC/B,GAAG;IACH,KAAK;IACL,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,iBAAiB;IACjB,oBAAoB;CACZ,CAAC;AACE,QAAA,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAC/C,QAAA,iBAAiB,GAAG,CAAC,UAAU,EAAE,aAAa,CAAU,CAAC;AAEzD,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,OAAO;QAC7B,WAAW,EACT,sFAAsF;QACxF,OAAO,EAAE,iDAAiD;KAC3D;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,OAAO;QAC7B,WAAW,EACT,8FAA8F;QAChG,OAAO,EAAE,iDAAiD;KAC3D;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,GAAG;QACb,oBAAoB,EAAE,MAAM;QAC5B,WAAW,EAAE,iEAAiE;QAC9E,OAAO,EAAE,mCAAmC;KAC7C;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,QAAQ;QAC9B,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,yDAAyD;KACnE;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,QAAQ;QAC9B,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,4CAA4C;KACtD;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,OAAO;QAC7B,WAAW,EAAE,qDAAqD;QAClE,OAAO,EAAE,gDAAgD;KAC1D;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,GAAG;QACb,oBAAoB,EAAE,SAAS;QAC/B,WAAW,EACT,+IAA+I;QACjJ,OAAO,EAAE,2BAA2B;KACrC;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,QAAQ;QAC9B,WAAW,EACT,yGAAyG;QAC3G,OAAO,EAAE,wCAAwC;KAClD;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,UAAU;QAChC,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE,oDAAoD;KAC9D;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,UAAU;QAChC,WAAW,EACT,6LAA6L;QAC/L,OAAO,EAAE,8CAA8C;KACxD;CACO,CAAC;AAEE,QAAA,eAAe,GAAG,IAAA,cAAO,EAAC,qBAAa,CAAC,CAAC;AAEzC,QAAA,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAEnE,QAAA,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAU,CAAC;AAE7E,QAAA,mCAAmC,GAAG;IACjD,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;CACd,CAAC;AAKE,QAAA,mBAAmB,GAAG;IACjC,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,KAAK;IACL,WAAW;IACX,cAAc;IACd,IAAI;IACJ,WAAW;CACH,CAAC;AAqCX,wBAAwB;AACxB,wBAAwB;AAExB;;GAEG;AACH,sBAAsB;AACtB,uBAAuB;AACV,QAAA,cAAc,GAAG;IAC5B,GAAG;IACH,IAAI;IACJ,GAAG;IACH,KAAK;IACL,KAAK;IACL,IAAI;IACJ,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,IAAI;CACI,CAAC;AACE,QAAA,gBAAgB,GAAG;IAC9B,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;CACR,CAAC;AAYE,QAAA,WAAW,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAU,CAAC;AAGtF,QAAA,2BAA2B,GAAG;IACzC,GAAG,sBAAc;IACjB,GAAG,uBAAe;IAClB,GAAG,yBAAiB;IACpB,GAAG,yBAAiB;IACpB,GAAG,2BAAmB;CACd,CAAC;AAEE,QAAA,kBAAkB,GAAG,SAAkB,CAAC"}
|
package/lib/filters.ts
CHANGED
|
@@ -108,23 +108,6 @@ export type FullTextSearchFilter = ExactlyOne<
|
|
|
108
108
|
Record<(typeof TextFilter_FullTextSearchFilterKeys)[number], string[]>
|
|
109
109
|
>;
|
|
110
110
|
|
|
111
|
-
/**
|
|
112
|
-
* Example: col_name: { $gt: 2 }
|
|
113
|
-
*/
|
|
114
|
-
export type CompareFilter<T extends AllowedTSType = string> =
|
|
115
|
-
/**
|
|
116
|
-
* column value equals provided value
|
|
117
|
-
*/
|
|
118
|
-
| T
|
|
119
|
-
| ExactlyOne<Record<(typeof CompareFilterKeys)[number], T>>
|
|
120
|
-
| ExactlyOne<Record<(typeof CompareInFilterKeys)[number], T[]>>
|
|
121
|
-
| ExactlyOne<Record<(typeof BetweenFilterKeys)[number], [T, T]>>;
|
|
122
|
-
|
|
123
|
-
export type TextFilter<T> =
|
|
124
|
-
| CompareFilter<T>
|
|
125
|
-
| ExactlyOne<Record<(typeof TextFilterKeys)[number], string>>
|
|
126
|
-
| ExactlyOne<Record<(typeof TextFilterFTSKeys)[number], FullTextSearchFilter>>;
|
|
127
|
-
|
|
128
111
|
export const ArrayFilterOperands = [
|
|
129
112
|
"@>",
|
|
130
113
|
"<@",
|
|
@@ -279,6 +262,24 @@ export type ValueOf<T> = T[keyof T];
|
|
|
279
262
|
export type EqualityFilter<T extends AnyObject> = {
|
|
280
263
|
[K in keyof Partial<T>]: CastFromTSToPG<T[K]>;
|
|
281
264
|
};
|
|
265
|
+
type NoDistribute<T> = [T] extends [infer U] ? U : never;
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Example: col_name: { $gt: 2 }
|
|
269
|
+
*/
|
|
270
|
+
export type CompareFilter<T extends AllowedTSType> =
|
|
271
|
+
/**
|
|
272
|
+
* column value equals provided value
|
|
273
|
+
*/
|
|
274
|
+
| T
|
|
275
|
+
| ExactlyOne<Record<(typeof CompareFilterKeys)[number], T>>
|
|
276
|
+
| ExactlyOne<Record<(typeof CompareInFilterKeys)[number], T[]>>
|
|
277
|
+
| ExactlyOne<Record<(typeof BetweenFilterKeys)[number], [T, T]>>;
|
|
278
|
+
|
|
279
|
+
export type TextFilter<T> =
|
|
280
|
+
// | CompareFilter<T>
|
|
281
|
+
| ExactlyOne<Record<(typeof TextFilterKeys)[number], string>>
|
|
282
|
+
| ExactlyOne<Record<(typeof TextFilterFTSKeys)[number], FullTextSearchFilter>>;
|
|
282
283
|
|
|
283
284
|
/**
|
|
284
285
|
* Filter operators for each PG data type
|
|
@@ -296,8 +297,8 @@ export type FilterDataType<T extends AllowedTSType> =
|
|
|
296
297
|
* Multiple columns are combined with AND
|
|
297
298
|
* @example: { colName: { $operator: ["value"] } }
|
|
298
299
|
* */
|
|
299
|
-
type NormalFilter<T> = {
|
|
300
|
-
[K in keyof Partial<T>]: FilterDataType<T[K]>;
|
|
300
|
+
export type NormalFilter<T> = {
|
|
301
|
+
[K in keyof Partial<T>]: CompareFilter<T[K]> | FilterDataType<T[K]>;
|
|
301
302
|
} & Partial<ComplexFilter>;
|
|
302
303
|
|
|
303
304
|
/**
|