@cubejs-backend/shared 1.7.11 → 1.7.13
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/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/sql-escape.d.ts +46 -0
- package/dist/src/sql-escape.d.ts.map +1 -0
- package/dist/src/sql-escape.js +180 -0
- package/dist/src/sql-escape.js.map +1 -0
- package/package.json +3 -3
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,kBAAkB,GACnB,MAAM,OAAO,CAAC;AACf,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,kBAAkB,GACnB,MAAM,OAAO,CAAC;AACf,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -45,4 +45,5 @@ __exportStar(require("./PerfTracker"), exports);
|
|
|
45
45
|
__exportStar(require("./disposedProxy"), exports);
|
|
46
46
|
__exportStar(require("./logger"), exports);
|
|
47
47
|
__exportStar(require("./pool"), exports);
|
|
48
|
+
__exportStar(require("./sql-escape"), exports);
|
|
48
49
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAOe;AANb,6FAAA,MAAM,OAAA;AACN,uGAAA,gBAAgB,OAAA;AAChB,sGAAA,eAAe,OAAA;AACf,gHAAA,yBAAyB,OAAA;AACzB,oGAAA,aAAa,OAAA;AACb,yGAAA,kBAAkB,OAAA;AAEpB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,iDAA+B;AAC/B,2CAAyB;AACzB,+CAA6B;AAC7B,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B;AAC7B,gDAA8B;AAC9B,kDAAgC;AAChC,2CAAyB;AACzB,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAOe;AANb,6FAAA,MAAM,OAAA;AACN,uGAAA,gBAAgB,OAAA;AAChB,sGAAA,eAAe,OAAA;AACf,gHAAA,yBAAyB,OAAA;AACzB,oGAAA,aAAa,OAAA;AACb,yGAAA,kBAAkB,OAAA;AAEpB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,iDAA+B;AAC/B,2CAAyB;AACzB,+CAA6B;AAC7B,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B;AAC7B,gDAA8B;AAC9B,kDAAgC;AAChC,2CAAyB;AACzB,yCAAuB;AACvB,+CAA6B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface SqlDialectEscapeRules {
|
|
2
|
+
/** Character that delimits string literals. Standard SQL uses a single quote. */
|
|
3
|
+
readonly stringQuoteChar: string;
|
|
4
|
+
/**
|
|
5
|
+
* When `true`, a quote inside a literal is escaped by doubling it (`''`).
|
|
6
|
+
* Every standards-tracking engine supports this, so it is the safe default.
|
|
7
|
+
*/
|
|
8
|
+
readonly doubleQuoteToEscape: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* When `true`, the backslash is an escape character inside string literals and
|
|
11
|
+
* a literal backslash must be doubled (`\\`). MySQL behaves this way; Presto,
|
|
12
|
+
* Trino and standard SQL do NOT.
|
|
13
|
+
*/
|
|
14
|
+
readonly escapeBackslash: boolean;
|
|
15
|
+
/** Character that delimits identifiers (`"` for standard SQL, `` ` `` for MySQL). */
|
|
16
|
+
readonly identifierQuoteChar: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Escaping dialect of the target engine:
|
|
20
|
+
* - `ansi` — standard SQL: Presto, Trino, Athena, Dremio, ksqlDB, Pinot, ...
|
|
21
|
+
* - `mysql` — MySQL / MariaDB: quotes doubled, backslash is an escape char
|
|
22
|
+
* - `spark` — Spark SQL / Hive / Databricks: backslash escapes only
|
|
23
|
+
*/
|
|
24
|
+
export type EscapeDialect = 'ansi' | 'mysql' | 'spark';
|
|
25
|
+
/**
|
|
26
|
+
* Format a query for the given engine dialect: `?` -> escaped value,
|
|
27
|
+
* `??` -> escaped identifier.
|
|
28
|
+
*/
|
|
29
|
+
export declare function format(dialect: EscapeDialect, sql: string, values?: unknown): string;
|
|
30
|
+
/**
|
|
31
|
+
* Format a query for standard-SQL engines (Presto, Trino, Postgres, ...):
|
|
32
|
+
* `?` -> escaped value, `??` -> escaped identifier.
|
|
33
|
+
*/
|
|
34
|
+
export declare function formatAnsi(sql: string, values?: unknown): string;
|
|
35
|
+
/**
|
|
36
|
+
* Format a query for MySQL / MariaDB: `?` -> escaped value, `??` -> escaped
|
|
37
|
+
* identifier.
|
|
38
|
+
*/
|
|
39
|
+
export declare function formatMySql(sql: string, values?: unknown): string;
|
|
40
|
+
/**
|
|
41
|
+
* Format a query for Spark SQL / Hive / Databricks: `?` -> escaped value,
|
|
42
|
+
* `??` -> escaped identifier.
|
|
43
|
+
*/
|
|
44
|
+
export declare function formatSparkSql(sql: string, values?: unknown): string;
|
|
45
|
+
export declare function escapeStringLiteral(value: string): string;
|
|
46
|
+
//# sourceMappingURL=sql-escape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-escape.d.ts","sourceRoot":"","sources":["../../src/sql-escape.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,iFAAiF;IACjF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,qFAAqF;IACrF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAoKD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAQvD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAEpF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAEjE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.escapeStringLiteral = exports.formatSparkSql = exports.formatMySql = exports.formatAnsi = exports.format = void 0;
|
|
4
|
+
const AnsiSqlDialect = {
|
|
5
|
+
stringQuoteChar: '\'',
|
|
6
|
+
doubleQuoteToEscape: true,
|
|
7
|
+
escapeBackslash: false,
|
|
8
|
+
identifierQuoteChar: '"',
|
|
9
|
+
};
|
|
10
|
+
const MySqlDialect = {
|
|
11
|
+
stringQuoteChar: '\'',
|
|
12
|
+
doubleQuoteToEscape: true,
|
|
13
|
+
escapeBackslash: true,
|
|
14
|
+
identifierQuoteChar: '`',
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Spark SQL / Hive / Databricks. Their lexers know backslash escapes only — a
|
|
18
|
+
* doubled quote is NOT an escape, it closes the literal and opens the next one.
|
|
19
|
+
* Because adjacent literals are concatenated, `'O''Brien'` silently evaluates to
|
|
20
|
+
* `OBrien` instead of raising, so quotes MUST be escaped as `\'` here.
|
|
21
|
+
*/
|
|
22
|
+
const SparkSqlDialect = {
|
|
23
|
+
stringQuoteChar: '\'',
|
|
24
|
+
doubleQuoteToEscape: false,
|
|
25
|
+
escapeBackslash: true,
|
|
26
|
+
identifierQuoteChar: '`',
|
|
27
|
+
};
|
|
28
|
+
class SqlEscaper {
|
|
29
|
+
rules;
|
|
30
|
+
constructor(rules) {
|
|
31
|
+
this.rules = rules;
|
|
32
|
+
}
|
|
33
|
+
static forDialect(dialect) {
|
|
34
|
+
return new SqlEscaper(dialect);
|
|
35
|
+
}
|
|
36
|
+
escapeString(value) {
|
|
37
|
+
const { stringQuoteChar, escapeBackslash, doubleQuoteToEscape } = this.rules;
|
|
38
|
+
let escaped = value;
|
|
39
|
+
// Backslash MUST be doubled first (before quote handling) so we do not double
|
|
40
|
+
// the backslashes we ourselves introduce when escaping quotes.
|
|
41
|
+
if (escapeBackslash) {
|
|
42
|
+
escaped = escaped.split('\\').join('\\\\');
|
|
43
|
+
}
|
|
44
|
+
escaped = doubleQuoteToEscape
|
|
45
|
+
? escaped.split(stringQuoteChar).join(stringQuoteChar + stringQuoteChar)
|
|
46
|
+
: escaped.split(stringQuoteChar).join(`\\${stringQuoteChar}`);
|
|
47
|
+
return `${stringQuoteChar}${escaped}${stringQuoteChar}`;
|
|
48
|
+
}
|
|
49
|
+
escapeIdentifier(identifier) {
|
|
50
|
+
const q = this.rules.identifierQuoteChar;
|
|
51
|
+
return `${q}${String(identifier).split(q).join(q + q)}${q}`;
|
|
52
|
+
}
|
|
53
|
+
escapeValue(value) {
|
|
54
|
+
return this.escapeValueInternal(value, false);
|
|
55
|
+
}
|
|
56
|
+
escapeValueInternal(value, stringifyObjects) {
|
|
57
|
+
if (value === null || value === undefined) {
|
|
58
|
+
return 'NULL';
|
|
59
|
+
}
|
|
60
|
+
switch (typeof value) {
|
|
61
|
+
case 'boolean':
|
|
62
|
+
return value ? 'TRUE' : 'FALSE';
|
|
63
|
+
case 'bigint':
|
|
64
|
+
return value.toString();
|
|
65
|
+
case 'number':
|
|
66
|
+
return String(value);
|
|
67
|
+
case 'string':
|
|
68
|
+
return this.escapeString(value);
|
|
69
|
+
case 'object': {
|
|
70
|
+
const obj = value;
|
|
71
|
+
if (value instanceof Date) {
|
|
72
|
+
return Number.isNaN(value.getTime()) ? 'NULL' : this.escapeString(value.toISOString());
|
|
73
|
+
}
|
|
74
|
+
if (Array.isArray(value)) {
|
|
75
|
+
return value
|
|
76
|
+
.map((v) => (Array.isArray(v)
|
|
77
|
+
? `(${this.escapeValueInternal(v, true)})`
|
|
78
|
+
: this.escapeValueInternal(v, true)))
|
|
79
|
+
.join(', ');
|
|
80
|
+
}
|
|
81
|
+
if (Buffer.isBuffer(value)) {
|
|
82
|
+
return `X${this.escapeString(value.toString('hex'))}`;
|
|
83
|
+
}
|
|
84
|
+
if (typeof obj.toSqlString === 'function') {
|
|
85
|
+
return String(obj.toSqlString());
|
|
86
|
+
}
|
|
87
|
+
if (stringifyObjects) {
|
|
88
|
+
return this.escapeString(String(value));
|
|
89
|
+
}
|
|
90
|
+
return Object.keys(value)
|
|
91
|
+
.filter((key) => typeof value[key] !== 'function')
|
|
92
|
+
.map((key) => (`${this.escapeIdentifier(key)} = ${this.escapeValueInternal(value[key], true)}`))
|
|
93
|
+
.join(', ');
|
|
94
|
+
}
|
|
95
|
+
default:
|
|
96
|
+
throw new Error(`Unsupported parameter type for SQL escaping: ${typeof value}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Substitutes positional placeholders in `sql` with escaped `values`:
|
|
101
|
+
* - `?` is replaced by an escaped value ({@link escapeValue})
|
|
102
|
+
* - `??` is replaced by an escaped identifier ({@link escapeIdentifier})
|
|
103
|
+
* Longer runs of `?` are left untouched. This mirrors `sqlstring.format`'s
|
|
104
|
+
* placeholder semantics so it can be a drop-in replacement in drivers.
|
|
105
|
+
*/
|
|
106
|
+
format(sql, values) {
|
|
107
|
+
if (values === null || values === undefined) {
|
|
108
|
+
return sql;
|
|
109
|
+
}
|
|
110
|
+
const valueList = Array.isArray(values) ? values : [values];
|
|
111
|
+
if (valueList.length === 0) {
|
|
112
|
+
return sql;
|
|
113
|
+
}
|
|
114
|
+
const placeholders = /\?+/g;
|
|
115
|
+
let result = '';
|
|
116
|
+
let chunkIndex = 0;
|
|
117
|
+
let valuesIndex = 0;
|
|
118
|
+
let match = placeholders.exec(sql);
|
|
119
|
+
while (valuesIndex < valueList.length && match !== null) {
|
|
120
|
+
const len = match[0].length;
|
|
121
|
+
// `?` -> value, `??` -> identifier. Longer runs (`???`+) are not placeholders
|
|
122
|
+
// we understand, so we leave them verbatim and consume no value.
|
|
123
|
+
if (len <= 2) {
|
|
124
|
+
const rendered = len === 2
|
|
125
|
+
? this.escapeIdentifier(String(valueList[valuesIndex]))
|
|
126
|
+
: this.escapeValue(valueList[valuesIndex]);
|
|
127
|
+
result += sql.slice(chunkIndex, match.index) + rendered;
|
|
128
|
+
chunkIndex = placeholders.lastIndex;
|
|
129
|
+
valuesIndex += 1;
|
|
130
|
+
}
|
|
131
|
+
match = placeholders.exec(sql);
|
|
132
|
+
}
|
|
133
|
+
if (chunkIndex === 0) {
|
|
134
|
+
return sql;
|
|
135
|
+
}
|
|
136
|
+
return chunkIndex < sql.length ? result + sql.slice(chunkIndex) : result;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const Dialects = {
|
|
140
|
+
ansi: AnsiSqlDialect,
|
|
141
|
+
mysql: MySqlDialect,
|
|
142
|
+
spark: SparkSqlDialect,
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Format a query for the given engine dialect: `?` -> escaped value,
|
|
146
|
+
* `??` -> escaped identifier.
|
|
147
|
+
*/
|
|
148
|
+
function format(dialect, sql, values) {
|
|
149
|
+
return new SqlEscaper(Dialects[dialect]).format(sql, values);
|
|
150
|
+
}
|
|
151
|
+
exports.format = format;
|
|
152
|
+
/**
|
|
153
|
+
* Format a query for standard-SQL engines (Presto, Trino, Postgres, ...):
|
|
154
|
+
* `?` -> escaped value, `??` -> escaped identifier.
|
|
155
|
+
*/
|
|
156
|
+
function formatAnsi(sql, values) {
|
|
157
|
+
return format('ansi', sql, values);
|
|
158
|
+
}
|
|
159
|
+
exports.formatAnsi = formatAnsi;
|
|
160
|
+
/**
|
|
161
|
+
* Format a query for MySQL / MariaDB: `?` -> escaped value, `??` -> escaped
|
|
162
|
+
* identifier.
|
|
163
|
+
*/
|
|
164
|
+
function formatMySql(sql, values) {
|
|
165
|
+
return format('mysql', sql, values);
|
|
166
|
+
}
|
|
167
|
+
exports.formatMySql = formatMySql;
|
|
168
|
+
/**
|
|
169
|
+
* Format a query for Spark SQL / Hive / Databricks: `?` -> escaped value,
|
|
170
|
+
* `??` -> escaped identifier.
|
|
171
|
+
*/
|
|
172
|
+
function formatSparkSql(sql, values) {
|
|
173
|
+
return format('spark', sql, values);
|
|
174
|
+
}
|
|
175
|
+
exports.formatSparkSql = formatSparkSql;
|
|
176
|
+
function escapeStringLiteral(value) {
|
|
177
|
+
return new SqlEscaper(AnsiSqlDialect).escapeString(String(value));
|
|
178
|
+
}
|
|
179
|
+
exports.escapeStringLiteral = escapeStringLiteral;
|
|
180
|
+
//# sourceMappingURL=sql-escape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-escape.js","sourceRoot":"","sources":["../../src/sql-escape.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cubejs-backend/shared",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.13",
|
|
4
4
|
"description": "Shared code for Cube.js backend packages",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"typings": "dist/src/index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@cubejs-backend/linter": "1.7.
|
|
30
|
+
"@cubejs-backend/linter": "1.7.13",
|
|
31
31
|
"@types/bytes": "^3.1.5",
|
|
32
32
|
"@types/cli-progress": "^3.9.1",
|
|
33
33
|
"@types/decompress": "^4.2.7",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"resolutions": {
|
|
68
68
|
"colors": "1.4.0"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "c05b9d2c94645c75b752d3e7058a7d6232dea621"
|
|
71
71
|
}
|