@saltcorn/db-common 0.6.1-beta.3 → 0.6.2-beta.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.
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":""}
@@ -1,17 +1,17 @@
1
- // for the jsdoc documentation
2
- /**
3
- * @category db-common
4
- * @module db-common/index
5
- */
6
-
7
- /**
8
- * All files in the db-common package.
9
- * @namespace db-common_overview
10
- * @property {module:internal} internal
11
- * @property {module:multi-tenant} multi-tenant
12
- * @property {module:single-tenant} single-tenant
13
- * @property {module:tenants} tenants
14
- *
15
- * @category db-common
16
- */
17
-
1
+ "use strict";
2
+ // for the jsdoc documentation
3
+ /**
4
+ * @category db-common
5
+ * @module db-common/index
6
+ */
7
+ /**
8
+ * All files in the db-common package.
9
+ * @namespace db-common_overview
10
+ * @property {module:internal} internal
11
+ * @property {module:multi-tenant} multi-tenant
12
+ * @property {module:single-tenant} single-tenant
13
+ * @property {module:tenants} tenants
14
+ *
15
+ * @category db-common
16
+ */
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B;;;GAGG;AAEH;;;;;;;;;GASG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Transform value to correct sql name.
3
+ * Note! Dont use other symbols than ^A-Za-z_0-9
4
+ * @function
5
+ * @param {string} nm
6
+ * @returns {string}
7
+ */
8
+ export declare const sqlsanitize: (nm: string | any) => string;
9
+ /**
10
+ * Transform value to correct sql name.
11
+ * Instead of sqlsanitize also allows .
12
+ * For e.g. table name
13
+ * Note! Dont use other symbols than ^A-Za-z_0-9.
14
+ * @function
15
+ * @param {string} nm
16
+ * @returns {string}
17
+ */
18
+ export declare const sqlsanitizeAllowDots: (nm: string | any) => string;
19
+ declare type WhereAndVals = {
20
+ where: string;
21
+ values: string[];
22
+ };
23
+ /**
24
+ * @param {object} whereObj
25
+ * @param {boolean} is_sqlite
26
+ * @param {number} initCount
27
+ * @returns {object}
28
+ */
29
+ export declare const mkWhere: (whereObj: any, is_sqlite: boolean, initCount?: number) => WhereAndVals;
30
+ /**
31
+ * @param {object} selopts
32
+ * @returns {string[]}
33
+ */
34
+ export declare const mkSelectOptions: (selopts: any) => string;
35
+ export {};
36
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../internal.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,OAAQ,MAAM,GAAG,GAAG,KAAG,MAK9C,CAAC;AACF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,OAAQ,MAAM,GAAG,GAAG,KAAG,MAKvD,CAAC;AA6OF,aAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,aACR,GAAG,aACF,OAAO,yBAEjB,YAaF,CAAC;AAsCF;;;GAGG;AACH,eAAO,MAAM,eAAe,YAAa,GAAG,WAkB3C,CAAC"}
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mkSelectOptions = exports.mkWhere = exports.sqlsanitizeAllowDots = exports.sqlsanitize = void 0;
4
+ /**
5
+ * @category db-common
6
+ * @module internal
7
+ */
8
+ const { footer } = require("@saltcorn/markup/tags");
9
+ //https://stackoverflow.com/questions/15300704/regex-with-my-jquery-function-for-sql-variable-name-validation
10
+ /**
11
+ * Transform value to correct sql name.
12
+ * Note! Dont use other symbols than ^A-Za-z_0-9
13
+ * @function
14
+ * @param {string} nm
15
+ * @returns {string}
16
+ */
17
+ const sqlsanitize = (nm) => {
18
+ if (typeof nm === "symbol")
19
+ return (0, exports.sqlsanitize)(nm.description);
20
+ const s = nm.replace(/[^A-Za-z_0-9]*/g, "");
21
+ if (s[0] >= "0" && s[0] <= "9")
22
+ return `_${s}`;
23
+ else
24
+ return s;
25
+ };
26
+ exports.sqlsanitize = sqlsanitize;
27
+ /**
28
+ * Transform value to correct sql name.
29
+ * Instead of sqlsanitize also allows .
30
+ * For e.g. table name
31
+ * Note! Dont use other symbols than ^A-Za-z_0-9.
32
+ * @function
33
+ * @param {string} nm
34
+ * @returns {string}
35
+ */
36
+ const sqlsanitizeAllowDots = (nm) => {
37
+ if (typeof nm === "symbol")
38
+ return (0, exports.sqlsanitizeAllowDots)(nm.description);
39
+ const s = nm.replace(/[^A-Za-z_0-9."]*/g, "");
40
+ if (s[0] >= "0" && s[0] <= "9")
41
+ return `_${s}`;
42
+ else
43
+ return s;
44
+ };
45
+ exports.sqlsanitizeAllowDots = sqlsanitizeAllowDots;
46
+ /**
47
+ *
48
+ * @param {object} v
49
+ * @param {string} i
50
+ * @param {boolean} is_sqlite
51
+ * @returns {string}
52
+ */
53
+ const whereFTS = (v, i, is_sqlite) => {
54
+ const { fields, table } = v;
55
+ var flds = fields
56
+ .filter((f) => f.type && f.type.sql_name === "text")
57
+ .map((f) => "coalesce(" +
58
+ (table
59
+ ? `"${(0, exports.sqlsanitize)(table)}"."${(0, exports.sqlsanitize)(f.name)}"`
60
+ : `"${(0, exports.sqlsanitize)(f.name)}"`) +
61
+ ",'')")
62
+ .join(" || ' ' || ");
63
+ if (flds === "")
64
+ flds = "''";
65
+ if (is_sqlite)
66
+ return `${flds} LIKE '%' || ? || '%'`;
67
+ else
68
+ return `to_tsvector('english', ${flds}) @@ plainto_tsquery('english', $${i})`;
69
+ };
70
+ /**
71
+ * @param {boolean} is_sqlite
72
+ * @param {string} i
73
+ * @returns {string}
74
+ */
75
+ const placeHolder = (is_sqlite, i) => is_sqlite ? `?` : `$${i}`;
76
+ /**
77
+ * @returns {number}
78
+ */
79
+ const mkCounter = (init = 0) => {
80
+ let i = init;
81
+ return () => {
82
+ i += 1;
83
+ return i;
84
+ };
85
+ };
86
+ /**
87
+ *
88
+ * @param {boolean} is_sqlite
89
+ * @param {string} i
90
+ * @returns {function}
91
+ */
92
+ const subSelectWhere = (is_sqlite, i) => (k, v) => {
93
+ const whereObj = v.inSelect.where;
94
+ const wheres = whereObj ? Object.entries(whereObj) : [];
95
+ const where = whereObj && wheres.length > 0
96
+ ? "where " + wheres.map(whereClause(is_sqlite, i)).join(" and ")
97
+ : "";
98
+ return `${quote((0, exports.sqlsanitizeAllowDots)(k))} in (select ${v.inSelect.field} from ${v.inSelect.table} ${where})`;
99
+ };
100
+ /**
101
+ * @param {object} v
102
+ * @returns {object[]}
103
+ */
104
+ const subSelectVals = (v) => {
105
+ const whereObj = v.inSelect.where;
106
+ const wheres = whereObj ? Object.entries(whereObj) : [];
107
+ const xs = wheres
108
+ .map(getVal)
109
+ .flat(1)
110
+ .filter((v) => v !== null);
111
+ return xs;
112
+ };
113
+ /**
114
+ * @param {string} s
115
+ * @returns {string}
116
+ */
117
+ const wrapParens = (s) => (s ? `(${s})` : s);
118
+ /**
119
+ * @param {string} s
120
+ * @returns {string}
121
+ */
122
+ const quote = (s) => s.includes(".") || s.includes('"') ? s : `"${s}"`;
123
+ /**
124
+ * @param {boolean} is_sqlite
125
+ * @param {string} i
126
+ * @returns {function}
127
+ */
128
+ const whereOr = (is_sqlite, i) => (ors) => wrapParens(ors
129
+ .map((vi) => Object.entries(vi)
130
+ .map((kv) => whereClause(is_sqlite, i)(kv))
131
+ .join(" and "))
132
+ .join(" or "));
133
+ const equals = ([v1, v2], is_sqlite, i) => {
134
+ const pVal = (v) => typeof v === "symbol"
135
+ ? quote((0, exports.sqlsanitizeAllowDots)(v.description))
136
+ : placeHolder(is_sqlite, i()) + (typeof v === "string" ? "::text" : "");
137
+ const isNull = (v) => `${pVal(v)} is null`;
138
+ if (v1 === null && v2 === null)
139
+ return "null is null";
140
+ if (v1 === null)
141
+ return isNull(v2);
142
+ if (v2 === null)
143
+ return isNull(v1);
144
+ return `${pVal(v1)}=${pVal(v2)}`;
145
+ };
146
+ const equalsVals = (vs) => {
147
+ let vals = new Array();
148
+ vs.forEach((v) => {
149
+ if (v !== null && typeof v !== "symbol")
150
+ vals.push(v);
151
+ });
152
+ //console.log({ vals });
153
+ return vals;
154
+ };
155
+ /**
156
+ * @param {boolean} is_sqlite
157
+ * @param {string} i
158
+ * @returns {function}
159
+ */
160
+ const whereClause = (is_sqlite, i) => ([k, v]) => k === "_fts"
161
+ ? whereFTS(v, i(), is_sqlite)
162
+ : typeof (v || {}).in !== "undefined"
163
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))} = ${is_sqlite ? "" : "ANY"} (${placeHolder(is_sqlite, i())})`
164
+ : k === "or" && Array.isArray(v)
165
+ ? whereOr(is_sqlite, i)(v)
166
+ : k === "not" && typeof v === "object"
167
+ ? `not (${Object.entries(v)
168
+ .map((kv) => whereClause(is_sqlite, i)(kv))
169
+ .join(" and ")})`
170
+ : k === "eq" && Array.isArray(v)
171
+ ? // @ts-ignore
172
+ equals(v, is_sqlite, i)
173
+ : v && v.or && Array.isArray(v.or)
174
+ ? wrapParens(v.or.map((vi) => whereClause(is_sqlite, i)([k, vi])).join(" or "))
175
+ : Array.isArray(v)
176
+ ? v.map((vi) => whereClause(is_sqlite, i)([k, vi])).join(" and ")
177
+ : typeof (v || {}).ilike !== "undefined"
178
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))} ${is_sqlite ? "LIKE" : "ILIKE"} '%' || ${placeHolder(is_sqlite, i())} || '%'`
179
+ : typeof (v || {}).gt !== "undefined"
180
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))}>${v.equal ? "=" : ""}${placeHolder(is_sqlite, i())}`
181
+ : typeof (v || {}).lt !== "undefined"
182
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))}<${v.equal ? "=" : ""}${placeHolder(is_sqlite, i())}`
183
+ : typeof (v || {}).inSelect !== "undefined"
184
+ ? subSelectWhere(is_sqlite, i)(k, v)
185
+ : typeof (v || {}).json !== "undefined"
186
+ ? is_sqlite
187
+ ? `json_extract(${quote((0, exports.sqlsanitizeAllowDots)(k))}, '$.${(0, exports.sqlsanitizeAllowDots)(v.json[0])}')=${placeHolder(is_sqlite, i())}`
188
+ : `${quote((0, exports.sqlsanitizeAllowDots)(k))}->>'${(0, exports.sqlsanitizeAllowDots)(v.json[0])}'=${placeHolder(is_sqlite, i())}`
189
+ : v === null
190
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))} is null`
191
+ : k === "not"
192
+ ? `not (${typeof v === "symbol" ? v.description : placeHolder(is_sqlite, i())})`
193
+ : `${quote((0, exports.sqlsanitizeAllowDots)(k))}=${typeof v === "symbol" ? v.description : placeHolder(is_sqlite, i())}`;
194
+ /**
195
+ * @param {object[]} opts
196
+ * @param {object} opts.k
197
+ * @param {object} opts.v
198
+ * @returns {boolean|object}
199
+ */
200
+ const getVal = ([k, v]) => k === "_fts"
201
+ ? v.searchTerm
202
+ : typeof (v || {}).in !== "undefined"
203
+ ? [v.in]
204
+ : k === "not" && typeof v === "object"
205
+ ? Object.entries(v).map(getVal).flat(1)
206
+ : k === "eq" && Array.isArray(v)
207
+ ? equalsVals(v).flat(1)
208
+ : k === "or" && Array.isArray(v)
209
+ ? v
210
+ .map((vi) => Object.entries(vi).map(getVal))
211
+ .flat(1)
212
+ .flat(1)
213
+ : v && v.or && Array.isArray(v.or)
214
+ ? v.or.map((vi) => getVal([k, vi])).flat(1)
215
+ : Array.isArray(v)
216
+ ? v.map((vi) => getVal([k, vi])).flat(1)
217
+ : typeof (v || {}).ilike !== "undefined"
218
+ ? v.ilike
219
+ : typeof (v || {}).inSelect !== "undefined"
220
+ ? subSelectVals(v)
221
+ : typeof (v || {}).lt !== "undefined"
222
+ ? v.lt
223
+ : typeof (v || {}).gt !== "undefined"
224
+ ? v.gt
225
+ : typeof (v || {}).sql !== "undefined"
226
+ ? null
227
+ : typeof (v || {}).json !== "undefined"
228
+ ? v.json[1]
229
+ : typeof v === "symbol"
230
+ ? null
231
+ : v;
232
+ /**
233
+ * @param {object} whereObj
234
+ * @param {boolean} is_sqlite
235
+ * @param {number} initCount
236
+ * @returns {object}
237
+ */
238
+ const mkWhere = (whereObj, is_sqlite, initCount = 0) => {
239
+ const wheres = whereObj ? Object.entries(whereObj) : [];
240
+ //console.log({ wheres });
241
+ const where = whereObj && wheres.length > 0
242
+ ? "where " +
243
+ wheres.map(whereClause(is_sqlite, mkCounter(initCount))).join(" and ")
244
+ : "";
245
+ const values = wheres
246
+ .map(getVal)
247
+ .flat(1)
248
+ .filter((v) => v !== null);
249
+ return { where, values };
250
+ };
251
+ exports.mkWhere = mkWhere;
252
+ /**
253
+ * @param {number|string} x
254
+ * @returns {number|null}
255
+ */
256
+ const toInt = (x) => typeof x === "number"
257
+ ? Math.round(x)
258
+ : typeof x === "string"
259
+ ? parseInt(x)
260
+ : null;
261
+ /**
262
+ * @param {object} opts
263
+ * @param {string} opts.latField
264
+ * @param {string} opts.longField
265
+ * @param {number} opts.lat
266
+ * @param {number} opts.long
267
+ * @returns {string}
268
+ */
269
+ const getDistanceOrder = ({ latField, longField, lat, long }) => {
270
+ const cos_lat_2 = Math.pow(Math.cos((+lat * Math.PI) / 180), 2);
271
+ return `((${(0, exports.sqlsanitizeAllowDots)(latField)} - ${+lat})*(${(0, exports.sqlsanitizeAllowDots)(latField)} - ${+lat})) + ((${(0, exports.sqlsanitizeAllowDots)(longField)} - ${+long})*(${(0, exports.sqlsanitizeAllowDots)(longField)} - ${+long})*${cos_lat_2})`;
272
+ };
273
+ /**
274
+ * @param {object} selopts
275
+ * @returns {string[]}
276
+ */
277
+ const mkSelectOptions = (selopts) => {
278
+ const orderby = selopts.orderBy === "RANDOM()"
279
+ ? "order by RANDOM()"
280
+ : selopts.orderBy && selopts.orderBy.distance
281
+ ? `order by ${getDistanceOrder(selopts.orderBy.distance)}`
282
+ : selopts.orderBy && selopts.nocase
283
+ ? `order by lower(${(0, exports.sqlsanitizeAllowDots)(selopts.orderBy)})${selopts.orderDesc ? " DESC" : ""}`
284
+ : selopts.orderBy
285
+ ? `order by ${(0, exports.sqlsanitizeAllowDots)(selopts.orderBy)}${selopts.orderDesc ? " DESC" : ""}`
286
+ : "";
287
+ const limit = selopts.limit ? `limit ${toInt(selopts.limit)}` : "";
288
+ const offset = selopts.offset ? `offset ${toInt(selopts.offset)}` : "";
289
+ return [orderby, limit, offset].filter((s) => s).join(" ");
290
+ };
291
+ exports.mkSelectOptions = mkSelectOptions;
292
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=internal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.test.d.ts","sourceRoot":"","sources":["../internal.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ const { sqlsanitize, mkWhere, sqlsanitizeAllowDots } = require("./internal");
3
+ describe("sqlsanitize", () => {
4
+ it("should not alter valid name", () => {
5
+ expect(sqlsanitize("ffoo_oo")).toBe("ffoo_oo");
6
+ });
7
+ it("should not alter valid symbol", () => {
8
+ expect(sqlsanitize(Symbol("ffoo_oo"))).toBe("ffoo_oo");
9
+ });
10
+ it("should remove spaces", () => {
11
+ expect(sqlsanitize(" ")).toBe("");
12
+ });
13
+ it("should remove chars from invalid name", () => {
14
+ expect(sqlsanitize("ffoo--oo--uu")).toBe("ffoooouu");
15
+ });
16
+ it("should remove chars from invalid symbol", () => {
17
+ expect(sqlsanitize(Symbol("ffoo--oo--uu"))).toBe("ffoooouu");
18
+ });
19
+ it("should not allow dots", () => {
20
+ expect(sqlsanitize("ffoo.oo")).toBe("ffoooo");
21
+ });
22
+ it("should allow dots when specified", () => {
23
+ expect(sqlsanitizeAllowDots("ffoo.oo")).toBe("ffoo.oo");
24
+ });
25
+ it("should allow quotes when dots specified", () => {
26
+ expect(sqlsanitizeAllowDots('ffoo."oo"')).toBe('ffoo."oo"');
27
+ });
28
+ it("should allow numbers", () => {
29
+ expect(sqlsanitize("ff1oo_oo")).toBe("ff1oo_oo");
30
+ });
31
+ it("should not allow numbers in initial position", () => {
32
+ expect(sqlsanitize("1ffoo_o1o")).toBe("_1ffoo_o1o");
33
+ });
34
+ });
35
+ describe("mkWhere", () => {
36
+ it("should empty on no arg", () => {
37
+ expect(mkWhere()).toStrictEqual({ values: [], where: "" });
38
+ });
39
+ it("should empty on null obj arg", () => {
40
+ expect(mkWhere({})).toStrictEqual({ values: [], where: "" });
41
+ });
42
+ it("should query json", () => {
43
+ expect(mkWhere({ foo: { json: ["bar", 5] } })).toStrictEqual({
44
+ values: [5],
45
+ where: `where "foo"->>'bar'=$1`,
46
+ });
47
+ });
48
+ it("should set id", () => {
49
+ expect(mkWhere({ id: 5 })).toStrictEqual({
50
+ values: [5],
51
+ where: 'where "id"=$1',
52
+ });
53
+ expect(mkWhere({ id: 5, hello: "world" })).toStrictEqual({
54
+ values: [5, "world"],
55
+ where: 'where "id"=$1 and "hello"=$2',
56
+ });
57
+ });
58
+ it("should read eq", () => {
59
+ expect(mkWhere({ eq: [Symbol("id"), 5] })).toStrictEqual({
60
+ values: [5],
61
+ where: 'where "id"=$1',
62
+ });
63
+ expect(mkWhere({ eq: [Symbol("id"), null] })).toStrictEqual({
64
+ values: [],
65
+ where: 'where "id" is null',
66
+ });
67
+ expect(mkWhere({ eq: ["id", null] })).toStrictEqual({
68
+ values: ["id"],
69
+ where: "where $1::text is null",
70
+ });
71
+ expect(mkWhere({ eq: [4, 5] })).toStrictEqual({
72
+ values: [4, 5],
73
+ where: "where $1=$2",
74
+ });
75
+ expect(mkWhere({ eq: [null, 5] })).toStrictEqual({
76
+ values: [5],
77
+ where: "where $1 is null",
78
+ });
79
+ expect(mkWhere({ not: { eq: [Symbol("id"), 5] } })).toStrictEqual({
80
+ values: [5],
81
+ where: 'where not ("id"=$1)',
82
+ });
83
+ });
84
+ it("should query null", () => {
85
+ expect(mkWhere({ id: null })).toStrictEqual({
86
+ values: [],
87
+ where: 'where "id" is null',
88
+ });
89
+ expect(mkWhere({ id: null, foo: 1 })).toStrictEqual({
90
+ values: [1],
91
+ where: 'where "id" is null and "foo"=$1',
92
+ });
93
+ expect(mkWhere({ foo: 1, id: null })).toStrictEqual({
94
+ values: [1],
95
+ where: 'where "foo"=$1 and "id" is null',
96
+ });
97
+ });
98
+ it("should query lt/gt", () => {
99
+ expect(mkWhere({ id: { lt: 5 } })).toStrictEqual({
100
+ values: [5],
101
+ where: 'where "id"<$1',
102
+ });
103
+ expect(mkWhere({ id: { gt: 8 } })).toStrictEqual({
104
+ values: [8],
105
+ where: 'where "id">$1',
106
+ });
107
+ expect(mkWhere({ id: { lt: 5, equal: true } })).toStrictEqual({
108
+ values: [5],
109
+ where: 'where "id"<=$1',
110
+ });
111
+ expect(mkWhere({ id: { gt: 8, equal: true } })).toStrictEqual({
112
+ values: [8],
113
+ where: 'where "id">=$1',
114
+ });
115
+ expect(mkWhere({ id: [{ gt: 0 }, { lt: 10 }] })).toStrictEqual({
116
+ values: [0, 10],
117
+ where: 'where "id">$1 and "id"<$2',
118
+ });
119
+ expect(mkWhere({ id: { or: [{ gt: 10 }, { lt: 5 }] } })).toStrictEqual({
120
+ values: [10, 5],
121
+ where: 'where ("id">$1 or "id"<$2)',
122
+ });
123
+ });
124
+ it("should query subselect", () => {
125
+ expect(mkWhere({
126
+ id: [{ inSelect: { table: "foo", field: "bar", where: { baz: 7 } } }],
127
+ })).toStrictEqual({
128
+ values: [7],
129
+ where: 'where "id" in (select bar from foo where "baz"=$1)',
130
+ });
131
+ expect(mkWhere({
132
+ age: 45,
133
+ id: [{ inSelect: { table: "foo", field: "bar", where: { baz: 7 } } }],
134
+ name: "Alice",
135
+ })).toStrictEqual({
136
+ values: [45, 7, "Alice"],
137
+ where: `where "age"=$1 and "id" in (select bar from foo where "baz"=$2) and "name"=$3`,
138
+ });
139
+ });
140
+ it("should query or", () => {
141
+ expect(mkWhere({ or: [{ id: 5 }, { x: 7 }] })).toStrictEqual({
142
+ values: [5, 7],
143
+ where: 'where ("id"=$1 or "x"=$2)',
144
+ });
145
+ expect(mkWhere({ or: [{ id: 5 }, { x: { gt: 7 } }] })).toStrictEqual({
146
+ values: [5, 7],
147
+ where: 'where ("id"=$1 or "x">$2)',
148
+ });
149
+ expect(mkWhere({ or: [{ id: 5 }, { x: 7, y: 8 }] })).toStrictEqual({
150
+ values: [5, 7, 8],
151
+ where: 'where ("id"=$1 or "x"=$2 and "y"=$3)',
152
+ });
153
+ expect(mkWhere({ not: { id: 5 } })).toStrictEqual({
154
+ values: [5],
155
+ where: 'where not ("id"=$1)',
156
+ });
157
+ expect(mkWhere({ not: { id: 5, y: 1 } })).toStrictEqual({
158
+ values: [5, 1],
159
+ where: 'where not ("id"=$1 and "y"=$2)',
160
+ });
161
+ expect(mkWhere({ not: { y: { in: [1, 2, 3] } } })).toStrictEqual({
162
+ values: [[1, 2, 3]],
163
+ where: 'where not ("y" = ANY ($1))',
164
+ });
165
+ expect(mkWhere({ y: { in: [1, 2, 3] } })).toStrictEqual({
166
+ values: [[1, 2, 3]],
167
+ where: 'where "y" = ANY ($1)',
168
+ });
169
+ expect(mkWhere({
170
+ or: [
171
+ { not: { eq: ["1", null] } },
172
+ { not: { eq: [null, null] }, married_to: null },
173
+ ],
174
+ })).toStrictEqual({
175
+ values: ["1"],
176
+ where: 'where (not ($1::text is null) or not (null is null) and "married_to" is null)',
177
+ });
178
+ /*
179
+
180
+ expect(mkWhere([{ id: 5 }, { x: 7 }])).toStrictEqual({
181
+ values: [5, 7],
182
+ where: 'where "id"=$1 and "x"=$2',
183
+ });
184
+ expect(mkWhere([{ or: [{ id: 5 }, { x: 7 }] }, { z: 9 }])).toStrictEqual({
185
+ values: [5, 7, 9],
186
+ where: 'where ("id"=$1 or "x"=$2) and "z"=$3',
187
+ });*/
188
+ });
189
+ });
190
+ //# sourceMappingURL=internal.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.test.js","sourceRoot":"","sources":["../internal.test.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @category db-common
3
+ * @module multi-tenant
4
+ */
5
+ /// <reference types="node" />
6
+ import { AsyncLocalStorage } from "async_hooks";
7
+ export declare const tenantNamespace: AsyncLocalStorage<unknown>;
8
+ /**
9
+ * set the connection object of the the multi-tenant
10
+ * @param connObjPara
11
+ */
12
+ export declare const init: (connObjPara: any) => void;
13
+ /**
14
+ * @returns {boolean}
15
+ */
16
+ export declare const is_it_multi_tenant: () => boolean;
17
+ /**
18
+ * @returns {void}
19
+ */
20
+ export declare const enable_multi_tenant: () => void;
21
+ /**
22
+ * @param {object} tenant
23
+ * @param {function} f
24
+ * @returns {object}
25
+ */
26
+ export declare const runWithTenant: (tenant: any, f: () => any) => any;
27
+ export declare const getTenantSchema: () => string;
28
+ //# sourceMappingURL=multi-tenant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-tenant.d.ts","sourceRoot":"","sources":["../multi-tenant.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKhD,eAAO,MAAM,eAAe,4BAA0B,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,IAAI,gBAAiB,GAAG,KAAG,IAEvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,OAA0B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAO,IAAU,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,aAAa,WAAY,GAAG,KAAK,MAAM,GAAG,KAAG,GAGzD,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,MAIlC,CAAC"}