prostgles-types 4.0.114 → 4.0.115
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/.vscode/settings.json +10 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/files.d.ts +5 -5
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +13 -1
- package/dist/files.js.map +1 -1
- package/dist/filters.d.ts +22 -19
- package/dist/filters.d.ts.map +1 -1
- package/dist/filters.js +89 -45
- package/dist/filters.js.map +1 -1
- package/dist/index.d.ts +33 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -65
- package/dist/index.js.map +1 -1
- package/dist/insertUpdateUtils.d.ts.map +1 -1
- package/dist/insertUpdateUtils.js.map +1 -1
- package/dist/jsonb.d.ts +9 -9
- package/dist/jsonb.d.ts.map +1 -1
- package/dist/jsonb.js +44 -37
- package/dist/jsonb.js.map +1 -1
- package/dist/md5.d.ts.map +1 -1
- package/dist/md5.js +19 -18
- package/dist/md5.js.map +1 -1
- package/dist/replication.d.ts.map +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +70 -64
- package/dist/util.js.map +1 -1
- package/lib/auth.ts +11 -13
- package/lib/files.ts +87 -75
- package/lib/filters.ts +228 -193
- package/lib/index.ts +599 -464
- package/lib/insertUpdateUtils.ts +10 -10
- package/lib/jsonb.ts +242 -205
- package/lib/md5.ts +31 -28
- package/lib/replication.ts +39 -33
- package/lib/util.ts +217 -175
- package/package.json +2 -1
package/.vscode/settings.json
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"typescript.tsdk": "node_modules/typescript/lib"
|
|
2
|
+
"typescript.tsdk": "node_modules/typescript/lib",
|
|
3
|
+
"editor.formatOnSave": true,
|
|
4
|
+
"prettier.experimentalTernaries": true,
|
|
5
|
+
"[javascript]": {
|
|
6
|
+
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
7
|
+
},
|
|
8
|
+
"[typescript]": {
|
|
9
|
+
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
10
|
+
},
|
|
11
|
+
"prettier.printWidth": 100
|
|
3
12
|
}
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../lib/auth.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../lib/auth.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,GACV,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3B;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAE1E;;OAEG;IACH,SAAS,EAAE,aAAa,GAAG,SAAS,CAAC;IAErC;;OAEG;IACH,QAAQ,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAE7D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
|
package/dist/files.d.ts
CHANGED
|
@@ -72,11 +72,11 @@ export type ALLOWED_CONTENT_TYPE = keyof typeof CONTENT_TYPE_TO_EXT;
|
|
|
72
72
|
export type ALLOWED_EXTENSION = (typeof CONTENT_TYPE_TO_EXT)[ALLOWED_CONTENT_TYPE][number];
|
|
73
73
|
export type FileType = {
|
|
74
74
|
acceptedContent: FieldFilter<{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
image: 1;
|
|
76
|
+
audio: 1;
|
|
77
|
+
video: 1;
|
|
78
|
+
text: 1;
|
|
79
|
+
application: 1;
|
|
80
80
|
}>;
|
|
81
81
|
} | {
|
|
82
82
|
acceptedContentType: FieldFilter<typeof CONTENT_TYPE_TO_EXT>;
|
package/dist/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../lib/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAEhC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../lib/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAEhC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFtB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3F,MAAM,MAAM,QAAQ,GAChB;IAAE,eAAe,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,WAAW,EAAE,CAAC,CAAA;KAAE,CAAC,CAAA;CAAE,GAC3F;IAAE,mBAAmB,EAAE,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;CAAE,GAChE;IAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAA;CAAE,GAChE,KAAK,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
|
package/dist/files.js
CHANGED
|
@@ -54,7 +54,19 @@ exports.CONTENT_TYPE_TO_EXT = {
|
|
|
54
54
|
"application/x-xpinstall": ["xpi"],
|
|
55
55
|
"application/xhtml+xml": ["xhtml"],
|
|
56
56
|
"application/zip": ["zip"],
|
|
57
|
-
"application/octet-stream": [
|
|
57
|
+
"application/octet-stream": [
|
|
58
|
+
"bin",
|
|
59
|
+
"exe",
|
|
60
|
+
"dll",
|
|
61
|
+
"deb",
|
|
62
|
+
"dmg",
|
|
63
|
+
"eot",
|
|
64
|
+
"iso",
|
|
65
|
+
"img",
|
|
66
|
+
"msi",
|
|
67
|
+
"msp",
|
|
68
|
+
"msm",
|
|
69
|
+
],
|
|
58
70
|
"audio/midi": ["mid", "midi", "kar"],
|
|
59
71
|
"audio/mpeg": ["mp3"],
|
|
60
72
|
"audio/ogg": ["ogg"],
|
package/dist/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../lib/files.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAG;IACjC,WAAW,
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../lib/files.ts"],"names":[],"mappings":"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"}
|
package/dist/filters.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export declare const JsonbFilterKeys: ("@@" | "@>" | "<@" | "?" | "?|" | "?&" |
|
|
|
71
71
|
export declare const TextFilterKeys: readonly ["$ilike", "$like", "$nilike", "$nlike"];
|
|
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
|
-
export type FullTextSearchFilter = ExactlyOne<Record<typeof TextFilter_FullTextSearchFilterKeys[number], string[]>>;
|
|
74
|
+
export type FullTextSearchFilter = ExactlyOne<Record<(typeof TextFilter_FullTextSearchFilterKeys)[number], string[]>>;
|
|
75
75
|
/**
|
|
76
76
|
* Example: col_name: { $gt: 2 }
|
|
77
77
|
*/
|
|
@@ -79,22 +79,22 @@ export type CompareFilter<T extends AllowedTSType = string> =
|
|
|
79
79
|
/**
|
|
80
80
|
* column value equals provided value
|
|
81
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 = CompareFilter<string> | ExactlyOne<Record<typeof TextFilterKeys[number], string>> | ExactlyOne<Record<typeof TextFilterFTSKeys[number], FullTextSearchFilter>>;
|
|
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 = CompareFilter<string> | ExactlyOne<Record<(typeof TextFilterKeys)[number], string>> | ExactlyOne<Record<(typeof TextFilterFTSKeys)[number], FullTextSearchFilter>>;
|
|
84
84
|
export declare const ArrayFilterOperands: readonly ["@>", "<@", "=", "$eq", "$contains", "$containedBy", "&&", "$overlaps"];
|
|
85
|
-
export type ArrayFilter<T extends AllowedTSType[]> = Record<typeof ArrayFilterOperands[number], T> | ExactlyOne<Record<typeof ArrayFilterOperands[number], T>>;
|
|
85
|
+
export type ArrayFilter<T extends AllowedTSType[]> = Record<(typeof ArrayFilterOperands)[number], T> | ExactlyOne<Record<(typeof ArrayFilterOperands)[number], T>>;
|
|
86
86
|
/**
|
|
87
|
-
* Makes bounding box from NW and SE points
|
|
88
|
-
* float xmin, float ymin, float xmax, float ymax, integer srid=unknown
|
|
89
|
-
* https://postgis.net/docs/ST_MakeEnvelope.html
|
|
90
|
-
*/
|
|
87
|
+
* Makes bounding box from NW and SE points
|
|
88
|
+
* float xmin, float ymin, float xmax, float ymax, integer srid=unknown
|
|
89
|
+
* https://postgis.net/docs/ST_MakeEnvelope.html
|
|
90
|
+
*/
|
|
91
91
|
export type GeoBBox = {
|
|
92
92
|
ST_MakeEnvelope: number[];
|
|
93
93
|
};
|
|
94
94
|
/**
|
|
95
|
-
* Returns TRUE if A's 2D bounding box intersects B's 2D bounding box.
|
|
96
|
-
* https://postgis.net/docs/reference.html#Operators
|
|
97
|
-
*/
|
|
95
|
+
* Returns TRUE if A's 2D bounding box intersects B's 2D bounding box.
|
|
96
|
+
* https://postgis.net/docs/reference.html#Operators
|
|
97
|
+
*/
|
|
98
98
|
export type GeomFilter =
|
|
99
99
|
/**
|
|
100
100
|
* A's 2D bounding box intersects B's 2D bounding box.
|
|
@@ -108,12 +108,15 @@ export type GeomFilter =
|
|
|
108
108
|
| {
|
|
109
109
|
"@": GeoBBox;
|
|
110
110
|
};
|
|
111
|
+
/**
|
|
112
|
+
* A's bounding box contains B's.
|
|
113
|
+
*/
|
|
111
114
|
export declare const GeomFilterKeys: readonly ["~", "~=", "@", "|&>", "|>>", ">>", "=", "<<|", "<<", "&>", "&<|", "&<", "&&&", "&&"];
|
|
112
115
|
export declare const GeomFilter_Funcs: readonly ["ST_MakeEnvelope", "st_makeenvelope", "ST_MakePolygon", "st_makepolygon"];
|
|
113
116
|
export type AnyObject = Record<string, any>;
|
|
114
|
-
export type CastFromTSToPG<T extends AllowedTSType> = T extends number ?
|
|
117
|
+
export type CastFromTSToPG<T extends AllowedTSType> = T extends number ? T | string : T extends string ? T | number | Date : T extends boolean ? T | string : T extends Date ? T | string : T;
|
|
115
118
|
export declare const EXISTS_KEYS: readonly ["$exists", "$notExists", "$existsJoined", "$notExistsJoined"];
|
|
116
|
-
export type EXISTS_KEY = typeof EXISTS_KEYS[number];
|
|
119
|
+
export type EXISTS_KEY = (typeof EXISTS_KEYS)[number];
|
|
117
120
|
export declare const ComplexFilterComparisonKeys: readonly ["$ilike", "$like", "$nilike", "$nlike", ...("@@" | "@>" | "<@" | "?" | "?|" | "?&" | "||" | "-" | "#-" | "@?")[], "=", "$eq", "<>", ">", "<", ">=", "<=", "$eq", "$ne", "$gt", "$gte", "$lt", "$lte", "$isDistinctFrom", "$isNotDistinctFrom", "$between", "$notBetween", "$in", "$nin"];
|
|
118
121
|
export declare const COMPLEX_FILTER_KEY: "$filter";
|
|
119
122
|
/**
|
|
@@ -131,7 +134,7 @@ export type ComplexFilter = Record<typeof COMPLEX_FILTER_KEY, [
|
|
|
131
134
|
{
|
|
132
135
|
[funcName: string]: any[];
|
|
133
136
|
},
|
|
134
|
-
typeof ComplexFilterComparisonKeys[number]?,
|
|
137
|
+
(typeof ComplexFilterComparisonKeys)[number]?,
|
|
135
138
|
any?
|
|
136
139
|
]>;
|
|
137
140
|
export type KeyofString<T> = keyof T & string;
|
|
@@ -139,14 +142,14 @@ export type KeyofString<T> = keyof T & string;
|
|
|
139
142
|
* Shortened filter operands
|
|
140
143
|
*/
|
|
141
144
|
type BasicFilter<Field extends string, DataType extends any> = Partial<{
|
|
142
|
-
[K in Extract<typeof CompareFilterKeys[number], string> as `${Field}.${K}`]: CastFromTSToPG<DataType>;
|
|
145
|
+
[K in Extract<(typeof CompareFilterKeys)[number], string> as `${Field}.${K}`]: CastFromTSToPG<DataType>;
|
|
143
146
|
}> | Partial<{
|
|
144
|
-
[K in Extract<typeof CompareInFilterKeys[number], string> as `${Field}.${K}`]: CastFromTSToPG<DataType>[];
|
|
147
|
+
[K in Extract<(typeof CompareInFilterKeys)[number], string> as `${Field}.${K}`]: CastFromTSToPG<DataType>[];
|
|
145
148
|
}>;
|
|
146
149
|
type StringFilter<Field extends string, DataType extends any> = BasicFilter<Field, DataType> & (Partial<{
|
|
147
|
-
[K in Extract<typeof TextFilterKeys[number], string> as `${Field}.${K}`]: DataType;
|
|
150
|
+
[K in Extract<(typeof TextFilterKeys)[number], string> as `${Field}.${K}`]: DataType;
|
|
148
151
|
}> | Partial<{
|
|
149
|
-
[K in Extract<typeof TextFilterFTSKeys[number], string> as `${Field}.${K}`]: any;
|
|
152
|
+
[K in Extract<(typeof TextFilterFTSKeys)[number], string> as `${Field}.${K}`]: any;
|
|
150
153
|
}>);
|
|
151
154
|
export type ValueOf<T> = T[keyof T];
|
|
152
155
|
/**
|
|
@@ -159,7 +162,7 @@ export type EqualityFilter<T extends AnyObject> = {
|
|
|
159
162
|
/**
|
|
160
163
|
* Filter operators for each PG data type
|
|
161
164
|
*/
|
|
162
|
-
export type FilterDataType<T extends AllowedTSType> = T extends string ? TextFilter : T extends number ? CompareFilter<CastFromTSToPG<T>> : T extends boolean ? CompareFilter<CastFromTSToPG<T>> : T extends Date ? CompareFilter<CastFromTSToPG<T>> : T extends any[] ? ArrayFilter<T> :
|
|
165
|
+
export type FilterDataType<T extends AllowedTSType> = T extends string ? TextFilter : T extends number ? CompareFilter<CastFromTSToPG<T>> : T extends boolean ? CompareFilter<CastFromTSToPG<T>> : T extends Date ? CompareFilter<CastFromTSToPG<T>> : T extends any[] ? ArrayFilter<T> : CompareFilter<T> | TextFilter | GeomFilter;
|
|
163
166
|
/**
|
|
164
167
|
* Column filter with operators
|
|
165
168
|
* Multiple columns are combined with AND
|
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,
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":"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"}
|
package/dist/filters.js
CHANGED
|
@@ -3,81 +3,128 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.COMPLEX_FILTER_KEY = exports.ComplexFilterComparisonKeys = exports.EXISTS_KEYS = exports.GeomFilter_Funcs = exports.GeomFilterKeys = exports.ArrayFilterOperands = exports.TextFilter_FullTextSearchFilterKeys = exports.TextFilterFTSKeys = exports.TextFilterKeys = exports.JsonbFilterKeys = exports.JsonbOperands = exports.BetweenFilterKeys = exports.CompareInFilterKeys = exports.CompareFilterKeys = void 0;
|
|
4
4
|
const util_1 = require("./util");
|
|
5
5
|
exports.CompareFilterKeys = [
|
|
6
|
-
"=",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
6
|
+
"=",
|
|
7
|
+
"$eq",
|
|
8
|
+
"<>",
|
|
9
|
+
">",
|
|
10
|
+
"<",
|
|
11
|
+
">=",
|
|
12
|
+
"<=",
|
|
13
|
+
"$eq",
|
|
14
|
+
"$ne",
|
|
15
|
+
"$gt",
|
|
16
|
+
"$gte",
|
|
17
|
+
"$lt",
|
|
18
|
+
"$lte",
|
|
19
|
+
"$isDistinctFrom",
|
|
20
|
+
"$isNotDistinctFrom",
|
|
10
21
|
];
|
|
11
22
|
exports.CompareInFilterKeys = ["$in", "$nin"];
|
|
12
23
|
exports.BetweenFilterKeys = ["$between", "$notBetween"];
|
|
13
24
|
exports.JsonbOperands = {
|
|
14
25
|
"@>": {
|
|
15
|
-
|
|
26
|
+
Operator: "@>",
|
|
16
27
|
"Right Operand Type": "jsonb",
|
|
17
|
-
|
|
18
|
-
|
|
28
|
+
Description: "Does the left JSON value contain the right JSON path/value entries at the top level?",
|
|
29
|
+
Example: '\'{"a":1, "b":2}\'::jsonb @> \'{"b":2}\'::jsonb',
|
|
19
30
|
},
|
|
20
31
|
"<@": {
|
|
21
|
-
|
|
32
|
+
Operator: "<@",
|
|
22
33
|
"Right Operand Type": "jsonb",
|
|
23
|
-
|
|
24
|
-
|
|
34
|
+
Description: "Are the left JSON path/value entries contained at the top level within the right JSON value?",
|
|
35
|
+
Example: '\'{"b":2}\'::jsonb <@ \'{"a":1, "b":2}\'::jsonb',
|
|
25
36
|
},
|
|
26
37
|
"?": {
|
|
27
|
-
|
|
38
|
+
Operator: "?",
|
|
28
39
|
"Right Operand Type": "text",
|
|
29
|
-
|
|
30
|
-
|
|
40
|
+
Description: "Does the string exist as a top-level key within the JSON value?",
|
|
41
|
+
Example: "'{\"a\":1, \"b\":2}'::jsonb ? 'b'",
|
|
31
42
|
},
|
|
32
43
|
"?|": {
|
|
33
|
-
|
|
44
|
+
Operator: "?|",
|
|
34
45
|
"Right Operand Type": "text[]",
|
|
35
|
-
|
|
36
|
-
|
|
46
|
+
Description: "Do any of these array strings exist as top-level keys?",
|
|
47
|
+
Example: "'{\"a\":1, \"b\":2, \"c\":3}'::jsonb ?| array['b', 'c']",
|
|
37
48
|
},
|
|
38
49
|
"?&": {
|
|
39
|
-
|
|
50
|
+
Operator: "?&",
|
|
40
51
|
"Right Operand Type": "text[]",
|
|
41
|
-
|
|
42
|
-
|
|
52
|
+
Description: "Do all of these array strings exist as top-level keys?",
|
|
53
|
+
Example: "'[\"a\", \"b\"]'::jsonb ?& array['a', 'b']",
|
|
43
54
|
},
|
|
44
55
|
"||": {
|
|
45
|
-
|
|
56
|
+
Operator: "||",
|
|
46
57
|
"Right Operand Type": "jsonb",
|
|
47
|
-
|
|
48
|
-
|
|
58
|
+
Description: "Concatenate two jsonb values into a new jsonb value",
|
|
59
|
+
Example: '\'["a", "b"]\'::jsonb || \'["c", "d"]\'::jsonb',
|
|
49
60
|
},
|
|
50
61
|
"-": {
|
|
51
|
-
|
|
62
|
+
Operator: "-",
|
|
52
63
|
"Right Operand Type": "integer",
|
|
53
|
-
|
|
54
|
-
|
|
64
|
+
Description: "Delete the array element with specified index (Negative integers count from the end). Throws an error if top level container is not an array.",
|
|
65
|
+
Example: '\'["a", "b"]\'::jsonb - 1',
|
|
55
66
|
},
|
|
56
67
|
"#-": {
|
|
57
|
-
|
|
68
|
+
Operator: "#-",
|
|
58
69
|
"Right Operand Type": "text[]",
|
|
59
|
-
|
|
60
|
-
|
|
70
|
+
Description: "Delete the field or element with specified path (for JSON arrays, negative integers count from the end)",
|
|
71
|
+
Example: "'[\"a\", {\"b\":1}]'::jsonb #- '{1,b}'",
|
|
61
72
|
},
|
|
62
73
|
"@?": {
|
|
63
|
-
|
|
74
|
+
Operator: "@?",
|
|
64
75
|
"Right Operand Type": "jsonpath",
|
|
65
|
-
|
|
66
|
-
|
|
76
|
+
Description: "Does JSON path return any item for the specified JSON value?",
|
|
77
|
+
Example: "'{\"a\":[1,2,3,4,5]}'::jsonb @? '$.a[*] ? (@ > 2)'",
|
|
67
78
|
},
|
|
68
79
|
"@@": {
|
|
69
|
-
|
|
80
|
+
Operator: "@@",
|
|
70
81
|
"Right Operand Type": "jsonpath",
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
82
|
+
Description: "Returns the result of JSON path predicate check for the specified JSON value. Only the first item of the result is taken into account. If the result is not Boolean, then null is returned.",
|
|
83
|
+
Example: "'{\"a\":[1,2,3,4,5]}'::jsonb @@ '$.a[*] > 2'",
|
|
84
|
+
},
|
|
74
85
|
};
|
|
75
86
|
exports.JsonbFilterKeys = (0, util_1.getKeys)(exports.JsonbOperands);
|
|
76
87
|
exports.TextFilterKeys = ["$ilike", "$like", "$nilike", "$nlike"];
|
|
77
88
|
exports.TextFilterFTSKeys = ["@@", "@>", "<@", "$contains", "$containedBy"];
|
|
78
|
-
exports.TextFilter_FullTextSearchFilterKeys = [
|
|
79
|
-
|
|
80
|
-
|
|
89
|
+
exports.TextFilter_FullTextSearchFilterKeys = [
|
|
90
|
+
"to_tsquery",
|
|
91
|
+
"plainto_tsquery",
|
|
92
|
+
"phraseto_tsquery",
|
|
93
|
+
"websearch_to_tsquery",
|
|
94
|
+
];
|
|
95
|
+
exports.ArrayFilterOperands = [
|
|
96
|
+
"@>",
|
|
97
|
+
"<@",
|
|
98
|
+
"=",
|
|
99
|
+
"$eq",
|
|
100
|
+
"$contains",
|
|
101
|
+
"$containedBy",
|
|
102
|
+
"&&",
|
|
103
|
+
"$overlaps",
|
|
104
|
+
];
|
|
105
|
+
// | { "|&>": GeoBBox }
|
|
106
|
+
// | { "|>>": GeoBBox }
|
|
107
|
+
/**
|
|
108
|
+
* A's bounding box contains B's.
|
|
109
|
+
*/
|
|
110
|
+
// | { "~": GeoBBox }
|
|
111
|
+
// | { "~=": GeoBBox }
|
|
112
|
+
exports.GeomFilterKeys = [
|
|
113
|
+
"~",
|
|
114
|
+
"~=",
|
|
115
|
+
"@",
|
|
116
|
+
"|&>",
|
|
117
|
+
"|>>",
|
|
118
|
+
">>",
|
|
119
|
+
"=",
|
|
120
|
+
"<<|",
|
|
121
|
+
"<<",
|
|
122
|
+
"&>",
|
|
123
|
+
"&<|",
|
|
124
|
+
"&<",
|
|
125
|
+
"&&&",
|
|
126
|
+
"&&",
|
|
127
|
+
];
|
|
81
128
|
exports.GeomFilter_Funcs = [
|
|
82
129
|
"ST_MakeEnvelope",
|
|
83
130
|
"st_makeenvelope",
|
|
@@ -90,21 +137,18 @@ exports.ComplexFilterComparisonKeys = [
|
|
|
90
137
|
...exports.JsonbFilterKeys,
|
|
91
138
|
...exports.CompareFilterKeys,
|
|
92
139
|
...exports.BetweenFilterKeys,
|
|
93
|
-
...exports.CompareInFilterKeys
|
|
140
|
+
...exports.CompareInFilterKeys,
|
|
94
141
|
];
|
|
95
142
|
exports.COMPLEX_FILTER_KEY = "$filter";
|
|
96
143
|
const _f = {
|
|
97
|
-
"h.$eq": ["2"]
|
|
144
|
+
"h.$eq": ["2"],
|
|
98
145
|
};
|
|
99
146
|
const forcedFilter = {
|
|
100
147
|
// "h.$eq": ["2"]
|
|
101
|
-
$and: [
|
|
102
|
-
{ "h.$eq": [] },
|
|
103
|
-
{ h: { "$containedBy": [] } }
|
|
104
|
-
]
|
|
148
|
+
$and: [{ "h.$eq": [] }, { h: { $containedBy: [] } }],
|
|
105
149
|
};
|
|
106
150
|
const _f2 = {
|
|
107
|
-
$filter: [{ $funcName: ["colname", "opts"] }, ">", 2]
|
|
151
|
+
$filter: [{ $funcName: ["colname", "opts"] }, ">", 2],
|
|
108
152
|
};
|
|
109
153
|
const _d = {
|
|
110
154
|
a: 2,
|
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,
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../lib/filters.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare const _PG_date: readonly ["date", "timestamp", "timestamptz"];
|
|
|
13
13
|
export declare const _PG_interval: readonly ["interval"];
|
|
14
14
|
export declare const _PG_postgis: readonly ["geometry", "geography"];
|
|
15
15
|
export declare const _PG_geometric: readonly ["point", "line", "lseg", "box", "path", "polygon", "circle"];
|
|
16
|
-
export type PG_COLUMN_UDT_DATA_TYPE = typeof _PG_strings[number] | typeof _PG_numbers[number] | typeof _PG_geometric[number] | typeof _PG_json[number] | typeof _PG_bool[number] | typeof _PG_date[number] | typeof _PG_interval[number] | typeof _PG_postgis[number];
|
|
16
|
+
export type PG_COLUMN_UDT_DATA_TYPE = (typeof _PG_strings)[number] | (typeof _PG_numbers)[number] | (typeof _PG_geometric)[number] | (typeof _PG_json)[number] | (typeof _PG_bool)[number] | (typeof _PG_date)[number] | (typeof _PG_interval)[number] | (typeof _PG_postgis)[number];
|
|
17
17
|
export declare const TS_PG_Types: {
|
|
18
18
|
readonly "number[]": ("_int2" | "_int4" | "_float4" | "_float8" | "_oid")[];
|
|
19
19
|
readonly "boolean[]": "_bool"[];
|
|
@@ -217,7 +217,7 @@ export type JoinPath = {
|
|
|
217
217
|
on?: Record<string, string>[];
|
|
218
218
|
};
|
|
219
219
|
export type RawJoinPath = string | (JoinPath | string)[];
|
|
220
|
-
export type DetailedJoinSelect = Partial<Record<typeof JOIN_KEYS[number], RawJoinPath>> & {
|
|
220
|
+
export type DetailedJoinSelect = Partial<Record<(typeof JOIN_KEYS)[number], RawJoinPath>> & {
|
|
221
221
|
select: Select;
|
|
222
222
|
filter?: FullFilter<void, void>;
|
|
223
223
|
having?: FullFilter<void, void>;
|
|
@@ -244,13 +244,13 @@ type FunctionSelect = FunctionShorthand | FunctionFull;
|
|
|
244
244
|
*/
|
|
245
245
|
type FunctionAliasedSelect = Record<string, FunctionFull>;
|
|
246
246
|
type InclusiveSelect = true | 1 | FunctionSelect | JoinSelect;
|
|
247
|
-
type SelectFuncs<T extends AnyObject = AnyObject, IsTyped = false> = (
|
|
247
|
+
type SelectFuncs<T extends AnyObject = AnyObject, IsTyped = false> = ({
|
|
248
248
|
[K in keyof Partial<T>]: InclusiveSelect;
|
|
249
249
|
} & Record<string, IsTyped extends true ? FunctionFull : InclusiveSelect>) | FunctionAliasedSelect | {
|
|
250
250
|
[K in keyof Partial<T>]: true | 1 | string;
|
|
251
251
|
} | {
|
|
252
252
|
[K in keyof Partial<T>]: 0 | false;
|
|
253
|
-
} | CommonSelect | (keyof Partial<T>)[]
|
|
253
|
+
} | CommonSelect | (keyof Partial<T>)[];
|
|
254
254
|
/** S param is needed to ensure the non typed select works fine */
|
|
255
255
|
export type Select<T extends AnyObject | void = void, S extends DBSchema | void = void> = {
|
|
256
256
|
t: T;
|
|
@@ -290,30 +290,26 @@ type CommonSelectParams = {
|
|
|
290
290
|
* - statement-no-rls: sql statement without row level security
|
|
291
291
|
* - statement-where: sql statement where condition
|
|
292
292
|
*/
|
|
293
|
-
returnType?:
|
|
293
|
+
returnType?: "row"
|
|
294
294
|
/**
|
|
295
|
-
* Will return the first
|
|
295
|
+
* Will return the first value from the selected field
|
|
296
296
|
*/
|
|
297
|
-
"row"
|
|
298
|
-
/**
|
|
299
|
-
* Will return the first value from the selected field
|
|
300
|
-
*/
|
|
301
297
|
| "value"
|
|
302
298
|
/**
|
|
303
|
-
|
|
304
|
-
|
|
299
|
+
* Will return an array of values from the selected field. Similar to array_agg(field).
|
|
300
|
+
*/
|
|
305
301
|
| "values"
|
|
306
302
|
/**
|
|
307
|
-
|
|
308
|
-
|
|
303
|
+
* Will return the sql statement. Requires publishRawSQL privileges if called by client
|
|
304
|
+
*/
|
|
309
305
|
| "statement"
|
|
310
306
|
/**
|
|
311
|
-
|
|
312
|
-
|
|
307
|
+
* Will return the sql statement excluding the user header. Requires publishRawSQL privileges if called by client
|
|
308
|
+
*/
|
|
313
309
|
| "statement-no-rls"
|
|
314
310
|
/**
|
|
315
|
-
|
|
316
|
-
|
|
311
|
+
* Will return the sql statement where condition. Requires publishRawSQL privileges if called by client
|
|
312
|
+
*/
|
|
317
313
|
| "statement-where";
|
|
318
314
|
};
|
|
319
315
|
export type SelectParams<T extends AnyObject | void = void, S extends DBSchema | void = void> = CommonSelectParams & {
|
|
@@ -483,15 +479,19 @@ type GetColumns = (lang?: string, params?: {
|
|
|
483
479
|
data: AnyObject;
|
|
484
480
|
filter: AnyObject;
|
|
485
481
|
}) => Promise<ValidatedColumnInfo[]>;
|
|
482
|
+
/**
|
|
483
|
+
* Methods for interacting with a view
|
|
484
|
+
* - On client-side some methods are restricted (and undefined) based on publish rules on the server
|
|
485
|
+
*/
|
|
486
486
|
export type ViewHandler<TD extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
|
|
487
487
|
/**
|
|
488
488
|
* Retrieves the table/view info
|
|
489
489
|
*/
|
|
490
|
-
getInfo
|
|
490
|
+
getInfo: (lang?: string) => Promise<TableInfo>;
|
|
491
491
|
/**
|
|
492
492
|
* Retrieves columns metadata of the table/view
|
|
493
493
|
*/
|
|
494
|
-
getColumns
|
|
494
|
+
getColumns: GetColumns;
|
|
495
495
|
/**
|
|
496
496
|
* Retrieves a list of matching records from the view/table
|
|
497
497
|
*/
|
|
@@ -519,6 +519,10 @@ export type ViewHandler<TD extends AnyObject = AnyObject, S extends DBSchema | v
|
|
|
519
519
|
};
|
|
520
520
|
type UpsertDataToPGCastLax<T extends AnyObject> = PartialLax<UpsertDataToPGCast<T>>;
|
|
521
521
|
type InsertData<T extends AnyObject> = UpsertDataToPGCast<T> | UpsertDataToPGCast<T>[];
|
|
522
|
+
/**
|
|
523
|
+
* Methods for interacting with a table
|
|
524
|
+
* - On client-side some methods are restricted (and undefined) based on publish rules on the server
|
|
525
|
+
*/
|
|
522
526
|
export type TableHandler<TD extends AnyObject = AnyObject, S extends DBSchema | void = void> = ViewHandler<TD, S> & {
|
|
523
527
|
/**
|
|
524
528
|
* Updates a record in the table based on the specified filter criteria
|
|
@@ -614,8 +618,8 @@ export type SocketSQLStreamHandlers = {
|
|
|
614
618
|
export type SocketSQLStreamClient = SocketSQLStreamServer & {
|
|
615
619
|
start: (listener: (packet: SocketSQLStreamPacket) => void) => Promise<SocketSQLStreamHandlers>;
|
|
616
620
|
};
|
|
617
|
-
export type CheckForListen<T, O extends SQLOptions> = O["allowListen"] extends true ?
|
|
618
|
-
export type GetSQLReturnType<O extends SQLOptions> = CheckForListen<
|
|
621
|
+
export type CheckForListen<T, O extends SQLOptions> = O["allowListen"] extends true ? DBEventHandles | T : T;
|
|
622
|
+
export type GetSQLReturnType<O extends SQLOptions> = CheckForListen<O["returnType"] extends "row" ? AnyObject | null : O["returnType"] extends "rows" ? AnyObject[] : O["returnType"] extends "value" ? any | null : O["returnType"] extends "values" ? any[] : O["returnType"] extends "statement" ? string : O["returnType"] extends "noticeSubscription" ? DBEventHandles : O["returnType"] extends "stream" ? SocketSQLStreamClient : SQLResult<O["returnType"]>, O>;
|
|
619
623
|
export type SQLHandler =
|
|
620
624
|
/**
|
|
621
625
|
*
|
|
@@ -742,10 +746,10 @@ export declare const RULE_METHODS: {
|
|
|
742
746
|
readonly sync: readonly ["sync", "unsync"];
|
|
743
747
|
readonly subscribe: readonly ["unsubscribe", "subscribe", "subscribeOne"];
|
|
744
748
|
};
|
|
745
|
-
export type MethodKey = typeof RULE_METHODS[keyof typeof RULE_METHODS][number];
|
|
746
|
-
export type TableSchemaForClient = Record<string, Partial<Record<MethodKey,
|
|
749
|
+
export type MethodKey = (typeof RULE_METHODS)[keyof typeof RULE_METHODS][number];
|
|
750
|
+
export type TableSchemaForClient = Record<string, Partial<Record<MethodKey, MethodKey extends "insert" ? {
|
|
747
751
|
allowedNestedInserts?: string[];
|
|
748
|
-
} : AnyObject
|
|
752
|
+
} : AnyObject>>>;
|
|
749
753
|
export type TableSchema = {
|
|
750
754
|
schema: string;
|
|
751
755
|
name: string;
|
|
@@ -763,7 +767,7 @@ export type TableSchema = {
|
|
|
763
767
|
delete: boolean;
|
|
764
768
|
};
|
|
765
769
|
};
|
|
766
|
-
export type MethodFunction = (...args: any) =>
|
|
770
|
+
export type MethodFunction = (...args: any) => any | Promise<any>;
|
|
767
771
|
export type MethodFullDef = {
|
|
768
772
|
input: Record<string, JSONB.JSONBSchema>;
|
|
769
773
|
run: MethodFunction;
|
|
@@ -795,10 +799,10 @@ export type ClientSchema = {
|
|
|
795
799
|
tableSchemaErrors: TableSchemaErrors;
|
|
796
800
|
tableSchema?: DBSchemaTable[];
|
|
797
801
|
schema: TableSchemaForClient;
|
|
798
|
-
methods: (string | {
|
|
802
|
+
methods: (string | ({
|
|
799
803
|
name: string;
|
|
800
804
|
description?: string;
|
|
801
|
-
} & Pick<MethodFullDef, "input" | "output">)[];
|
|
805
|
+
} & Pick<MethodFullDef, "input" | "output">))[];
|
|
802
806
|
};
|
|
803
807
|
export type ProstglesError = {
|
|
804
808
|
message: string;
|
|
@@ -815,7 +819,7 @@ export { CONTENT_TYPE_TO_EXT } from "./files";
|
|
|
815
819
|
export type { ALLOWED_CONTENT_TYPE, ALLOWED_EXTENSION, FileColumnConfig, FileType } from "./files";
|
|
816
820
|
export * from "./filters";
|
|
817
821
|
export * from "./jsonb";
|
|
818
|
-
export type { ClientExpressData, ClientSyncHandles, ClientSyncInfo, ClientSyncPullResponse, SyncBatchParams, SyncConfig, onUpdatesParams } from "./replication";
|
|
822
|
+
export type { ClientExpressData, ClientSyncHandles, ClientSyncInfo, ClientSyncPullResponse, SyncBatchParams, SyncConfig, onUpdatesParams, } from "./replication";
|
|
819
823
|
export * from "./util";
|
|
820
824
|
export * from "./auth";
|
|
821
825
|
//# sourceMappingURL=index.d.ts.map
|