@saltcorn/db-common 0.6.2-beta.1 → 0.6.2-beta.5

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.
Files changed (43) hide show
  1. package/dist/coverage/lcov-report/block-navigation.d.ts +2 -0
  2. package/dist/coverage/lcov-report/block-navigation.d.ts.map +1 -0
  3. package/dist/coverage/lcov-report/block-navigation.js +66 -0
  4. package/dist/coverage/lcov-report/block-navigation.js.map +1 -0
  5. package/dist/coverage/lcov-report/prettify.d.ts +1 -0
  6. package/dist/coverage/lcov-report/prettify.d.ts.map +1 -0
  7. package/dist/coverage/lcov-report/prettify.js +478 -0
  8. package/dist/coverage/lcov-report/prettify.js.map +1 -0
  9. package/dist/coverage/lcov-report/sorter.d.ts +2 -0
  10. package/dist/coverage/lcov-report/sorter.d.ts.map +1 -0
  11. package/dist/coverage/lcov-report/sorter.js +141 -0
  12. package/dist/coverage/lcov-report/sorter.js.map +1 -0
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/{index.js → dist/index.js} +17 -16
  16. package/dist/index.js.map +1 -0
  17. package/dist/internal.d.ts +86 -0
  18. package/dist/internal.d.ts.map +1 -0
  19. package/dist/internal.js +250 -0
  20. package/dist/internal.js.map +1 -0
  21. package/dist/internal.test.d.ts +2 -0
  22. package/dist/internal.test.d.ts.map +1 -0
  23. package/dist/internal.test.js +248 -0
  24. package/dist/internal.test.js.map +1 -0
  25. package/dist/multi-tenant.d.ts +28 -0
  26. package/dist/multi-tenant.d.ts.map +1 -0
  27. package/dist/multi-tenant.js +50 -0
  28. package/dist/multi-tenant.js.map +1 -0
  29. package/dist/single-tenant.d.ts +28 -0
  30. package/dist/single-tenant.d.ts.map +1 -0
  31. package/dist/single-tenant.js +45 -0
  32. package/dist/single-tenant.js.map +1 -0
  33. package/dist/tenants.d.ts +9 -0
  34. package/dist/tenants.d.ts.map +1 -0
  35. package/dist/tenants.js +18 -0
  36. package/dist/tenants.js.map +1 -0
  37. package/dist/tsconfig.ref.tsbuildinfo +1 -0
  38. package/package.json +31 -7
  39. package/internal.js +0 -342
  40. package/internal.test.js +0 -198
  41. package/multi-tenant.js +0 -48
  42. package/single-tenant.js +0 -30
  43. package/tenants.js +0 -21
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ /* eslint-disable */
3
+ var addSorting = (function () {
4
+ 'use strict';
5
+ var cols, currentSort = {
6
+ index: 0,
7
+ desc: false
8
+ };
9
+ // returns the summary table element
10
+ function getTable() {
11
+ return document.querySelector('.coverage-summary');
12
+ }
13
+ // returns the thead element of the summary table
14
+ function getTableHeader() {
15
+ return getTable().querySelector('thead tr');
16
+ }
17
+ // returns the tbody element of the summary table
18
+ function getTableBody() {
19
+ return getTable().querySelector('tbody');
20
+ }
21
+ // returns the th element for nth column
22
+ function getNthColumn(n) {
23
+ return getTableHeader().querySelectorAll('th')[n];
24
+ }
25
+ // loads all columns
26
+ function loadColumns() {
27
+ var colNodes = getTableHeader().querySelectorAll('th'), colNode, cols = [], col, i;
28
+ for (i = 0; i < colNodes.length; i += 1) {
29
+ colNode = colNodes[i];
30
+ col = {
31
+ key: colNode.getAttribute('data-col'),
32
+ sortable: !colNode.getAttribute('data-nosort'),
33
+ type: colNode.getAttribute('data-type') || 'string'
34
+ };
35
+ cols.push(col);
36
+ if (col.sortable) {
37
+ col.defaultDescSort = col.type === 'number';
38
+ colNode.innerHTML =
39
+ colNode.innerHTML + '<span class="sorter"></span>';
40
+ }
41
+ }
42
+ return cols;
43
+ }
44
+ // attaches a data attribute to every tr element with an object
45
+ // of data values keyed by column name
46
+ function loadRowData(tableRow) {
47
+ var tableCols = tableRow.querySelectorAll('td'), colNode, col, data = {}, i, val;
48
+ for (i = 0; i < tableCols.length; i += 1) {
49
+ colNode = tableCols[i];
50
+ col = cols[i];
51
+ val = colNode.getAttribute('data-value');
52
+ if (col.type === 'number') {
53
+ val = Number(val);
54
+ }
55
+ data[col.key] = val;
56
+ }
57
+ return data;
58
+ }
59
+ // loads all row data
60
+ function loadData() {
61
+ var rows = getTableBody().querySelectorAll('tr'), i;
62
+ for (i = 0; i < rows.length; i += 1) {
63
+ rows[i].data = loadRowData(rows[i]);
64
+ }
65
+ }
66
+ // sorts the table using the data for the ith column
67
+ function sortByIndex(index, desc) {
68
+ var key = cols[index].key, sorter = function (a, b) {
69
+ a = a.data[key];
70
+ b = b.data[key];
71
+ return a < b ? -1 : a > b ? 1 : 0;
72
+ }, finalSorter = sorter, tableBody = document.querySelector('.coverage-summary tbody'), rowNodes = tableBody.querySelectorAll('tr'), rows = [], i;
73
+ if (desc) {
74
+ finalSorter = function (a, b) {
75
+ return -1 * sorter(a, b);
76
+ };
77
+ }
78
+ for (i = 0; i < rowNodes.length; i += 1) {
79
+ rows.push(rowNodes[i]);
80
+ tableBody.removeChild(rowNodes[i]);
81
+ }
82
+ rows.sort(finalSorter);
83
+ for (i = 0; i < rows.length; i += 1) {
84
+ tableBody.appendChild(rows[i]);
85
+ }
86
+ }
87
+ // removes sort indicators for current column being sorted
88
+ function removeSortIndicators() {
89
+ var col = getNthColumn(currentSort.index), cls = col.className;
90
+ cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
91
+ col.className = cls;
92
+ }
93
+ // adds sort indicators for current column being sorted
94
+ function addSortIndicators() {
95
+ getNthColumn(currentSort.index).className += currentSort.desc
96
+ ? ' sorted-desc'
97
+ : ' sorted';
98
+ }
99
+ // adds event listeners for all sorter widgets
100
+ function enableUI() {
101
+ var i, el, ithSorter = function ithSorter(i) {
102
+ var col = cols[i];
103
+ return function () {
104
+ var desc = col.defaultDescSort;
105
+ if (currentSort.index === i) {
106
+ desc = !currentSort.desc;
107
+ }
108
+ sortByIndex(i, desc);
109
+ removeSortIndicators();
110
+ currentSort.index = i;
111
+ currentSort.desc = desc;
112
+ addSortIndicators();
113
+ };
114
+ };
115
+ for (i = 0; i < cols.length; i += 1) {
116
+ if (cols[i].sortable) {
117
+ // add the click event handler on the th so users
118
+ // dont have to click on those tiny arrows
119
+ el = getNthColumn(i).querySelector('.sorter').parentElement;
120
+ if (el.addEventListener) {
121
+ el.addEventListener('click', ithSorter(i));
122
+ }
123
+ else {
124
+ el.attachEvent('onclick', ithSorter(i));
125
+ }
126
+ }
127
+ }
128
+ }
129
+ // adds sorting functionality to the UI
130
+ return function () {
131
+ if (!getTable()) {
132
+ return;
133
+ }
134
+ cols = loadColumns();
135
+ loadData();
136
+ addSortIndicators();
137
+ enableUI();
138
+ };
139
+ })();
140
+ window.addEventListener('load', addSorting);
141
+ //# sourceMappingURL=sorter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sorter.js","sourceRoot":"","sources":["../../../coverage/lcov-report/sorter.js"],"names":[],"mappings":"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"}
@@ -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,16 +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
- */
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,86 @@
1
+ /**
2
+ * @category db-common
3
+ * @module internal
4
+ */
5
+ /**
6
+ * Transform value to correct sql name.
7
+ * Note! Dont use other symbols than ^A-Za-z_0-9
8
+ * @function
9
+ * @param {string} nm
10
+ * @returns {string}
11
+ */
12
+ export declare const sqlsanitize: (nm: string | symbol) => string;
13
+ /**
14
+ * Transform value to correct sql name.
15
+ * Instead of sqlsanitize also allows .
16
+ * For e.g. table name
17
+ * Note! Dont use other symbols than ^A-Za-z_0-9.
18
+ * @function
19
+ * @param {string} nm
20
+ * @returns {string}
21
+ */
22
+ export declare const sqlsanitizeAllowDots: (nm: string | symbol) => string;
23
+ export declare type Value = string | number | boolean | Date | Value[];
24
+ export declare type Where = {
25
+ _fts?: {
26
+ fields: any[];
27
+ table?: string;
28
+ searchTerm: string;
29
+ };
30
+ or?: Where[];
31
+ not?: Where | symbol;
32
+ eq?: Value[];
33
+ [key: string]: {
34
+ in: Value[];
35
+ } | {
36
+ or: Value[];
37
+ } | {
38
+ gt: Value;
39
+ equal?: boolean;
40
+ } | {
41
+ lt: Value;
42
+ equal?: boolean;
43
+ } | Value[] | {
44
+ inSelect: {
45
+ where: Where;
46
+ field: string;
47
+ table: string;
48
+ };
49
+ } | null | symbol | any;
50
+ };
51
+ declare type WhereAndVals = {
52
+ where: string;
53
+ values: Value[];
54
+ };
55
+ /**
56
+ * @param {object} whereObj
57
+ * @param {boolean} is_sqlite
58
+ * @param {number} initCount
59
+ * @returns {object}
60
+ */
61
+ export declare const mkWhere: (whereObj: Where, is_sqlite: boolean, initCount?: number) => WhereAndVals;
62
+ export declare type CoordOpts = {
63
+ latField: string;
64
+ longField: string;
65
+ lat: string;
66
+ long: string;
67
+ };
68
+ export declare type SelectOptions = {
69
+ orderBy?: {
70
+ distance: CoordOpts;
71
+ } | string;
72
+ limit?: string | number;
73
+ offset?: string | number;
74
+ nocase?: boolean;
75
+ orderDesc?: boolean;
76
+ };
77
+ /**
78
+ * @param {object} selopts
79
+ * @returns {string}
80
+ */
81
+ export declare const mkSelectOptions: (selopts: SelectOptions) => string;
82
+ export declare type Row = {
83
+ [key: string]: any;
84
+ };
85
+ export {};
86
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,OAAQ,MAAM,GAAG,MAAM,KAAG,MAOjD,CAAC;AACF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,OAAQ,MAAM,GAAG,MAAM,KAAG,MAO1D,CAAC;AAsEF,oBAAY,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AAE/D,oBAAY,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACb,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GACR;QAAE,EAAE,EAAE,KAAK,EAAE,CAAA;KAAE,GACf;QAAE,EAAE,EAAE,KAAK,EAAE,CAAA;KAAE,GACf;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,KAAK,EAAE,GACP;QAAE,QAAQ,EAAE;YAAE,KAAK,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAC5D,IAAI,GACJ,MAAM,GACN,GAAG,CAAC;CACT,CAAC;AA4HF,aAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,aACR,KAAK,aACJ,OAAO,cACP,MAAM,KAChB,YAYF,CAAC;AAaF,oBAAY,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAoBF,oBAAY,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,GAAG,MAAM,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,YAAa,aAAa,KAAG,MAoBxD,CAAC;AAEF,oBAAY,GAAG,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC"}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ /**
3
+ * @category db-common
4
+ * @module internal
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.mkSelectOptions = exports.mkWhere = exports.sqlsanitizeAllowDots = exports.sqlsanitize = void 0;
8
+ //https://stackoverflow.com/questions/15300704/regex-with-my-jquery-function-for-sql-variable-name-validation
9
+ /**
10
+ * Transform value to correct sql name.
11
+ * Note! Dont use other symbols than ^A-Za-z_0-9
12
+ * @function
13
+ * @param {string} nm
14
+ * @returns {string}
15
+ */
16
+ const sqlsanitize = (nm) => {
17
+ if (typeof nm === "symbol") {
18
+ return nm.description ? (0, exports.sqlsanitize)(nm.description) : "";
19
+ }
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 nm.description ? (0, exports.sqlsanitizeAllowDots)(nm.description) : "";
39
+ }
40
+ const s = nm.replace(/[^A-Za-z_0-9."]*/g, "");
41
+ if (s[0] >= "0" && s[0] <= "9")
42
+ return `_${s}`;
43
+ else
44
+ return s;
45
+ };
46
+ exports.sqlsanitizeAllowDots = sqlsanitizeAllowDots;
47
+ const postgresPlaceHolderStack = (init = 0) => {
48
+ let values = [];
49
+ let i = init;
50
+ return {
51
+ push(x) {
52
+ values.push(x);
53
+ i += 1;
54
+ return `$${i}`;
55
+ },
56
+ is_sqlite: false,
57
+ getValues() {
58
+ return values;
59
+ },
60
+ };
61
+ };
62
+ const sqlitePlaceHolderStack = () => {
63
+ let values = [];
64
+ return {
65
+ push(x) {
66
+ values.push(x);
67
+ return `?`;
68
+ },
69
+ is_sqlite: true,
70
+ getValues() {
71
+ return values;
72
+ },
73
+ };
74
+ };
75
+ /**
76
+ *
77
+ * @param {object} v
78
+ * @param {string} i
79
+ * @param {boolean} is_sqlite
80
+ * @returns {string}
81
+ */
82
+ const whereFTS = (v, phs) => {
83
+ const { fields, table } = v;
84
+ let flds = fields
85
+ .filter((f) => f.type && f.type.sql_name === "text")
86
+ .map((f) => "coalesce(" +
87
+ (table
88
+ ? `"${(0, exports.sqlsanitize)(table)}"."${(0, exports.sqlsanitize)(f.name)}"`
89
+ : `"${(0, exports.sqlsanitize)(f.name)}"`) +
90
+ ",'')")
91
+ .join(" || ' ' || ");
92
+ if (flds === "")
93
+ flds = "''";
94
+ if (phs.is_sqlite)
95
+ return `${flds} LIKE '%' || ${phs.push(v.searchTerm)} || '%'`;
96
+ else
97
+ return `to_tsvector('english', ${flds}) @@ plainto_tsquery('english', ${phs.push(v.searchTerm)})`;
98
+ };
99
+ /**
100
+ *
101
+ * @param {boolean} is_sqlite
102
+ * @param {string} i
103
+ * @returns {function}
104
+ */
105
+ const subSelectWhere = (phs) => (k, v) => {
106
+ const whereObj = v.inSelect.where;
107
+ const wheres = whereObj ? Object.entries(whereObj) : [];
108
+ const where = whereObj && wheres.length > 0
109
+ ? "where " + wheres.map(whereClause(phs)).join(" and ")
110
+ : "";
111
+ return `${quote((0, exports.sqlsanitizeAllowDots)(k))} in (select ${v.inSelect.field} from ${v.inSelect.table} ${where})`;
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(".")
123
+ ? s.split(".").map(quote).join(".")
124
+ : s.includes('"')
125
+ ? s
126
+ : `"${s}"`;
127
+ /**
128
+ * @param {boolean} is_sqlite
129
+ * @param {string} i
130
+ * @returns {function}
131
+ */
132
+ const whereOr = (phs) => (ors) => wrapParens(ors
133
+ .map((vi) => Object.entries(vi)
134
+ .map((kv) => whereClause(phs)(kv))
135
+ .join(" and "))
136
+ .join(" or "));
137
+ const equals = ([v1, v2], phs) => {
138
+ const pVal = (v) => typeof v === "symbol"
139
+ ? quote((0, exports.sqlsanitizeAllowDots)(v))
140
+ : phs.push(v) + (typeof v === "string" ? "::text" : "");
141
+ const isNull = (v) => `${pVal(v)} is null`;
142
+ if (v1 === null && v2 === null)
143
+ return "null is null";
144
+ if (v1 === null)
145
+ return isNull(v2);
146
+ if (v2 === null)
147
+ return isNull(v1);
148
+ return `${pVal(v1)}=${pVal(v2)}`;
149
+ };
150
+ /**
151
+ * @param {boolean} is_sqlite
152
+ * @param {string} i
153
+ * @returns {function}
154
+ */
155
+ const whereClause = (phs) => ([k, v]) => k === "_fts"
156
+ ? whereFTS(v, phs)
157
+ : typeof (v || {}).in !== "undefined"
158
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))} = ${phs.is_sqlite ? "" : "ANY"} (${phs.push(v.in)})`
159
+ : k === "or" && Array.isArray(v)
160
+ ? whereOr(phs)(v)
161
+ : k === "not" && typeof v === "object"
162
+ ? `not (${Object.entries(v)
163
+ .map((kv) => whereClause(phs)(kv))
164
+ .join(" and ")})`
165
+ : k === "eq" && Array.isArray(v)
166
+ ? // @ts-ignore
167
+ equals(v, phs)
168
+ : v && v.or && Array.isArray(v.or)
169
+ ? wrapParens(v.or.map((vi) => whereClause(phs)([k, vi])).join(" or "))
170
+ : Array.isArray(v)
171
+ ? v.map((vi) => whereClause(phs)([k, vi])).join(" and ")
172
+ : typeof (v || {}).ilike !== "undefined"
173
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))} ${phs.is_sqlite ? "LIKE" : "ILIKE"} '%' || ${phs.push(v.ilike)} || '%'`
174
+ : typeof (v || {}).gt !== "undefined"
175
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))}>${v.equal ? "=" : ""}${phs.push(v.gt)}`
176
+ : typeof (v || {}).lt !== "undefined"
177
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))}<${v.equal ? "=" : ""}${phs.push(v.lt)}`
178
+ : typeof (v || {}).inSelect !== "undefined"
179
+ ? subSelectWhere(phs)(k, v)
180
+ : typeof (v || {}).json !== "undefined"
181
+ ? phs.is_sqlite
182
+ ? `json_extract(${quote((0, exports.sqlsanitizeAllowDots)(k))}, '$.${(0, exports.sqlsanitizeAllowDots)(v.json[0])}')=${phs.push(v.json[1])}`
183
+ : `${quote((0, exports.sqlsanitizeAllowDots)(k))}->>'${(0, exports.sqlsanitizeAllowDots)(v.json[0])}'=${phs.push(v.json[1])}`
184
+ : v === null
185
+ ? `${quote((0, exports.sqlsanitizeAllowDots)(k))} is null`
186
+ : k === "not"
187
+ ? `not (${typeof v === "symbol" ? v.description : phs.push(v)})`
188
+ : `${quote((0, exports.sqlsanitizeAllowDots)(k))}=${typeof v === "symbol" ? v.description : phs.push(v)}`;
189
+ /**
190
+ * @param {object} whereObj
191
+ * @param {boolean} is_sqlite
192
+ * @param {number} initCount
193
+ * @returns {object}
194
+ */
195
+ const mkWhere = (whereObj, is_sqlite, initCount = 0) => {
196
+ const wheres = whereObj ? Object.entries(whereObj) : [];
197
+ //console.log({ wheres });
198
+ const placeHolderStack = is_sqlite
199
+ ? sqlitePlaceHolderStack()
200
+ : postgresPlaceHolderStack(initCount);
201
+ const where = whereObj && wheres.length > 0
202
+ ? "where " + wheres.map(whereClause(placeHolderStack)).join(" and ")
203
+ : "";
204
+ const values = placeHolderStack.getValues();
205
+ return { where, values };
206
+ };
207
+ exports.mkWhere = mkWhere;
208
+ /**
209
+ * @param {number|string} x
210
+ * @returns {number|null}
211
+ */
212
+ const toInt = (x) => typeof x === "number"
213
+ ? Math.round(x)
214
+ : typeof x === "string"
215
+ ? parseInt(x)
216
+ : null;
217
+ /**
218
+ * @param {object} opts
219
+ * @param {string} opts.latField
220
+ * @param {string} opts.longField
221
+ * @param {number} opts.lat
222
+ * @param {number} opts.long
223
+ * @returns {string}
224
+ */
225
+ const getDistanceOrder = ({ latField, longField, lat, long }) => {
226
+ const cos_lat_2 = Math.pow(Math.cos((+lat * Math.PI) / 180), 2);
227
+ return `((${(0, exports.sqlsanitizeAllowDots)(latField)} - ${+lat})*(${(0, exports.sqlsanitizeAllowDots)(latField)} - ${+lat})) + ((${(0, exports.sqlsanitizeAllowDots)(longField)} - ${+long})*(${(0, exports.sqlsanitizeAllowDots)(longField)} - ${+long})*${cos_lat_2})`;
228
+ };
229
+ /**
230
+ * @param {object} selopts
231
+ * @returns {string}
232
+ */
233
+ const mkSelectOptions = (selopts) => {
234
+ const orderby = selopts.orderBy === "RANDOM()"
235
+ ? "order by RANDOM()"
236
+ : selopts.orderBy &&
237
+ typeof selopts.orderBy === "object" &&
238
+ selopts.orderBy.distance
239
+ ? `order by ${getDistanceOrder(selopts.orderBy.distance)}`
240
+ : selopts.orderBy && typeof selopts.orderBy === "string" && selopts.nocase
241
+ ? `order by lower(${quote((0, exports.sqlsanitizeAllowDots)(selopts.orderBy))})${selopts.orderDesc ? " DESC" : ""}`
242
+ : selopts.orderBy && typeof selopts.orderBy === "string"
243
+ ? `order by ${quote((0, exports.sqlsanitizeAllowDots)(selopts.orderBy))}${selopts.orderDesc ? " DESC" : ""}`
244
+ : "";
245
+ const limit = selopts.limit ? `limit ${toInt(selopts.limit)}` : "";
246
+ const offset = selopts.offset ? `offset ${toInt(selopts.offset)}` : "";
247
+ return [orderby, limit, offset].filter((s) => s).join(" ");
248
+ };
249
+ exports.mkSelectOptions = mkSelectOptions;
250
+ //# 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":""}