@slonik/sql-tag 47.3.2 → 48.1.0
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/Logger.js +2 -5
- package/dist/Logger.js.map +1 -1
- package/dist/factories/createPrimitiveValueExpressions.d.ts +1 -1
- package/dist/factories/createPrimitiveValueExpressions.d.ts.map +1 -1
- package/dist/factories/createPrimitiveValueExpressions.js +8 -12
- package/dist/factories/createPrimitiveValueExpressions.js.map +1 -1
- package/dist/factories/createSqlTag.d.ts +3 -3
- package/dist/factories/createSqlTag.d.ts.map +1 -1
- package/dist/factories/createSqlTag.js +39 -43
- package/dist/factories/createSqlTag.js.map +1 -1
- package/dist/factories/createSqlTag.test/array.test.js +18 -23
- package/dist/factories/createSqlTag.test/array.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/date.test.js +7 -12
- package/dist/factories/createSqlTag.test/date.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/identifier.test.js +9 -14
- package/dist/factories/createSqlTag.test/identifier.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/interval.test.js +9 -14
- package/dist/factories/createSqlTag.test/interval.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/join.test.js +21 -26
- package/dist/factories/createSqlTag.test/join.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/json.test.js +21 -26
- package/dist/factories/createSqlTag.test/json.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/jsonb.test.js +21 -26
- package/dist/factories/createSqlTag.test/jsonb.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/literalValue.test.js +6 -11
- package/dist/factories/createSqlTag.test/literalValue.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/sql.test.js +17 -22
- package/dist/factories/createSqlTag.test/sql.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/timestamp.test.js +7 -12
- package/dist/factories/createSqlTag.test/timestamp.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/type.test.js +7 -12
- package/dist/factories/createSqlTag.test/type.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/typeAlias.test.js +12 -17
- package/dist/factories/createSqlTag.test/typeAlias.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/unnest.test.js +19 -24
- package/dist/factories/createSqlTag.test/unnest.test.js.map +1 -1
- package/dist/factories/createSqlTag.test/uuid.test.js +7 -12
- package/dist/factories/createSqlTag.test/uuid.test.js.map +1 -1
- package/dist/factories/createSqlTokenSqlFragment.d.ts +1 -1
- package/dist/factories/createSqlTokenSqlFragment.d.ts.map +1 -1
- package/dist/factories/createSqlTokenSqlFragment.js +55 -59
- package/dist/factories/createSqlTokenSqlFragment.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -24
- package/dist/index.js.map +1 -1
- package/dist/regexRules/slonikPlaceholderRegexRule.js +1 -4
- package/dist/regexRules/slonikPlaceholderRegexRule.js.map +1 -1
- package/dist/sqlFragmentFactories/createArraySqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createArraySqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createArraySqlFragment.js +18 -22
- package/dist/sqlFragmentFactories/createArraySqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createBinarySqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createBinarySqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createBinarySqlFragment.js +7 -11
- package/dist/sqlFragmentFactories/createBinarySqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createDateSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createDateSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createDateSqlFragment.js +7 -11
- package/dist/sqlFragmentFactories/createDateSqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createFragmentSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createFragmentSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createFragmentSqlFragment.js +10 -14
- package/dist/sqlFragmentFactories/createFragmentSqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createIdentifierSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createIdentifierSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createIdentifierSqlFragment.js +7 -11
- package/dist/sqlFragmentFactories/createIdentifierSqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createIntervalSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createIntervalSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createIntervalSqlFragment.js +16 -20
- package/dist/sqlFragmentFactories/createIntervalSqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createJsonSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createJsonSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createJsonSqlFragment.js +18 -22
- package/dist/sqlFragmentFactories/createJsonSqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createListSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createListSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createListSqlFragment.js +16 -20
- package/dist/sqlFragmentFactories/createListSqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createQuerySqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createQuerySqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createQuerySqlFragment.js +10 -14
- package/dist/sqlFragmentFactories/createQuerySqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createTimestampSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createTimestampSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createTimestampSqlFragment.js +8 -12
- package/dist/sqlFragmentFactories/createTimestampSqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createUnnestSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createUnnestSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createUnnestSqlFragment.js +17 -21
- package/dist/sqlFragmentFactories/createUnnestSqlFragment.js.map +1 -1
- package/dist/sqlFragmentFactories/createUuidSqlFragment.d.ts +1 -1
- package/dist/sqlFragmentFactories/createUuidSqlFragment.d.ts.map +1 -1
- package/dist/sqlFragmentFactories/createUuidSqlFragment.js +7 -11
- package/dist/sqlFragmentFactories/createUuidSqlFragment.js.map +1 -1
- package/dist/tokens.js +14 -17
- package/dist/tokens.js.map +1 -1
- package/dist/types.d.ts +6 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -2
- package/dist/utilities/countArrayDimensions.js +1 -5
- package/dist/utilities/countArrayDimensions.js.map +1 -1
- package/dist/utilities/countArrayDimensions.test.js +6 -11
- package/dist/utilities/countArrayDimensions.test.js.map +1 -1
- package/dist/utilities/escapeIdentifier.js +1 -5
- package/dist/utilities/escapeIdentifier.js.map +1 -1
- package/dist/utilities/escapeIdentifier.test.js +6 -11
- package/dist/utilities/escapeIdentifier.test.js.map +1 -1
- package/dist/utilities/escapeLiteralValue.js +1 -5
- package/dist/utilities/escapeLiteralValue.js.map +1 -1
- package/dist/utilities/escapeLiteralValue.test.js +7 -12
- package/dist/utilities/escapeLiteralValue.test.js.map +1 -1
- package/dist/utilities/formatSlonikPlaceholder.js +1 -5
- package/dist/utilities/formatSlonikPlaceholder.js.map +1 -1
- package/dist/utilities/hasOwnProperty.js +1 -5
- package/dist/utilities/hasOwnProperty.js.map +1 -1
- package/dist/utilities/isPlainObject.js +1 -5
- package/dist/utilities/isPlainObject.js.map +1 -1
- package/dist/utilities/isPrimitiveValueExpression.js +1 -5
- package/dist/utilities/isPrimitiveValueExpression.js.map +1 -1
- package/dist/utilities/isSqlToken.d.ts +1 -1
- package/dist/utilities/isSqlToken.d.ts.map +1 -1
- package/dist/utilities/isSqlToken.js +20 -24
- package/dist/utilities/isSqlToken.js.map +1 -1
- package/dist/utilities/safeStringify.js +3 -7
- package/dist/utilities/safeStringify.js.map +1 -1
- package/dist/utilities/stripArrayNotation.js +1 -5
- package/dist/utilities/stripArrayNotation.js.map +1 -1
- package/dist/utilities/stripArrayNotation.test.js +6 -11
- package/dist/utilities/stripArrayNotation.test.js.map +1 -1
- package/package.json +17 -36
- package/src/factories/createPrimitiveValueExpressions.ts +3 -3
- package/src/factories/createSqlTag.test/array.test.ts +2 -2
- package/src/factories/createSqlTag.test/date.test.ts +2 -2
- package/src/factories/createSqlTag.test/identifier.test.ts +2 -2
- package/src/factories/createSqlTag.test/interval.test.ts +2 -2
- package/src/factories/createSqlTag.test/join.test.ts +2 -2
- package/src/factories/createSqlTag.test/json.test.ts +2 -2
- package/src/factories/createSqlTag.test/jsonb.test.ts +2 -2
- package/src/factories/createSqlTag.test/literalValue.test.ts +2 -2
- package/src/factories/createSqlTag.test/sql.test.ts +4 -3
- package/src/factories/createSqlTag.test/timestamp.test.ts +2 -2
- package/src/factories/createSqlTag.test/type.test.ts +1 -1
- package/src/factories/createSqlTag.test/typeAlias.test.ts +3 -2
- package/src/factories/createSqlTag.test/unnest.test.ts +2 -2
- package/src/factories/createSqlTag.test/uuid.test.ts +2 -2
- package/src/factories/createSqlTag.ts +17 -16
- package/src/factories/createSqlTokenSqlFragment.ts +14 -14
- package/src/index.ts +5 -5
- package/src/sqlFragmentFactories/createArraySqlFragment.ts +7 -7
- package/src/sqlFragmentFactories/createBinarySqlFragment.ts +3 -3
- package/src/sqlFragmentFactories/createDateSqlFragment.ts +3 -3
- package/src/sqlFragmentFactories/createFragmentSqlFragment.ts +4 -4
- package/src/sqlFragmentFactories/createIdentifierSqlFragment.ts +3 -3
- package/src/sqlFragmentFactories/createIntervalSqlFragment.ts +3 -3
- package/src/sqlFragmentFactories/createJsonSqlFragment.ts +10 -10
- package/src/sqlFragmentFactories/createListSqlFragment.ts +11 -11
- package/src/sqlFragmentFactories/createQuerySqlFragment.ts +4 -4
- package/src/sqlFragmentFactories/createTimestampSqlFragment.ts +3 -3
- package/src/sqlFragmentFactories/createUnnestSqlFragment.ts +11 -11
- package/src/sqlFragmentFactories/createUuidSqlFragment.ts +3 -3
- package/src/types.ts +9 -6
- package/src/utilities/countArrayDimensions.test.ts +1 -1
- package/src/utilities/escapeIdentifier.test.ts +1 -1
- package/src/utilities/escapeLiteralValue.test.ts +1 -1
- package/src/utilities/isSqlToken.ts +3 -3
- package/src/utilities/stripArrayNotation.test.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createUnnestSqlFragment.d.ts","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUnnestSqlFragment.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"createUnnestSqlFragment.d.ts","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUnnestSqlFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,uBAAuB,GAClC,OAAO,cAAc,EACrB,2BAA2B,MAAM,KAChC,gBAuGF,CAAC"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const stripArrayNotation_1 = require("../utilities/stripArrayNotation");
|
|
10
|
-
const errors_1 = require("@slonik/errors");
|
|
11
|
-
const createUnnestSqlFragment = (token, greatestParameterPosition) => {
|
|
1
|
+
import { FragmentToken } from '../tokens.js';
|
|
2
|
+
import { countArrayDimensions } from '../utilities/countArrayDimensions.js';
|
|
3
|
+
import { escapeIdentifier } from '../utilities/escapeIdentifier.js';
|
|
4
|
+
import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
|
|
5
|
+
import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression.js';
|
|
6
|
+
import { stripArrayNotation } from '../utilities/stripArrayNotation.js';
|
|
7
|
+
import { InvalidInputError } from '@slonik/errors';
|
|
8
|
+
export const createUnnestSqlFragment = (token, greatestParameterPosition) => {
|
|
12
9
|
const { columnTypes } = token;
|
|
13
10
|
const values = [];
|
|
14
11
|
const unnestBindings = [];
|
|
@@ -27,9 +24,9 @@ const createUnnestSqlFragment = (token, greatestParameterPosition) => {
|
|
|
27
24
|
columnType = typeMember
|
|
28
25
|
.map((identifierName) => {
|
|
29
26
|
if (typeof identifierName !== 'string') {
|
|
30
|
-
throw new
|
|
27
|
+
throw new InvalidInputError('sql.unnest column identifier name array member type must be a string (type name identifier) or a SQL token.');
|
|
31
28
|
}
|
|
32
|
-
return
|
|
29
|
+
return escapeIdentifier(identifierName);
|
|
33
30
|
})
|
|
34
31
|
.join('.');
|
|
35
32
|
columnTypeIsIdentifier = true;
|
|
@@ -38,12 +35,12 @@ const createUnnestSqlFragment = (token, greatestParameterPosition) => {
|
|
|
38
35
|
columnType = typeMember.sql;
|
|
39
36
|
columnTypeIsIdentifier = true;
|
|
40
37
|
}
|
|
41
|
-
unnestSqlTokens.push(
|
|
38
|
+
unnestSqlTokens.push(formatSlonikPlaceholder(++placeholderIndex) +
|
|
42
39
|
'::' +
|
|
43
40
|
(columnTypeIsIdentifier
|
|
44
|
-
?
|
|
45
|
-
:
|
|
46
|
-
'[]'.repeat(
|
|
41
|
+
? stripArrayNotation(columnType)
|
|
42
|
+
: escapeIdentifier(stripArrayNotation(columnType))) +
|
|
43
|
+
'[]'.repeat(countArrayDimensions(columnType) + 1));
|
|
47
44
|
unnestBindings[columnIndex] = [];
|
|
48
45
|
columnIndex++;
|
|
49
46
|
}
|
|
@@ -60,9 +57,9 @@ const createUnnestSqlFragment = (token, greatestParameterPosition) => {
|
|
|
60
57
|
let tupleColumnIndex = 0;
|
|
61
58
|
for (const tupleValue of tupleValues) {
|
|
62
59
|
if (!Array.isArray(tupleValue) &&
|
|
63
|
-
!
|
|
60
|
+
!isPrimitiveValueExpression(tupleValue) &&
|
|
64
61
|
!Buffer.isBuffer(tupleValue)) {
|
|
65
|
-
throw new
|
|
62
|
+
throw new InvalidInputError('Invalid unnest tuple member type. Must be a primitive value expression.');
|
|
66
63
|
}
|
|
67
64
|
const tupleBindings = unnestBindings[tupleColumnIndex++];
|
|
68
65
|
if (!tupleBindings) {
|
|
@@ -75,9 +72,8 @@ const createUnnestSqlFragment = (token, greatestParameterPosition) => {
|
|
|
75
72
|
const sql = 'unnest(' + unnestSqlTokens.join(', ') + ')';
|
|
76
73
|
return {
|
|
77
74
|
sql,
|
|
78
|
-
type:
|
|
75
|
+
type: FragmentToken,
|
|
79
76
|
values,
|
|
80
77
|
};
|
|
81
78
|
};
|
|
82
|
-
exports.createUnnestSqlFragment = createUnnestSqlFragment;
|
|
83
79
|
//# sourceMappingURL=createUnnestSqlFragment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createUnnestSqlFragment.js","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUnnestSqlFragment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createUnnestSqlFragment.js","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUnnestSqlFragment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SqlFragmentToken, UuidSqlToken } from '../types.js';
|
|
2
2
|
export type UUID = `${string}-${string}-${string}-${string}-${string}`;
|
|
3
3
|
export declare const createUuidSqlFragment: (token: UuidSqlToken, greatestParameterPosition: number) => SqlFragmentToken;
|
|
4
4
|
//# sourceMappingURL=createUuidSqlFragment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createUuidSqlFragment.d.ts","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUuidSqlFragment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createUuidSqlFragment.d.ts","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUuidSqlFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIlE,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AASvE,eAAO,MAAM,qBAAqB,GAChC,OAAO,YAAY,EACnB,2BAA2B,MAAM,KAChC,gBAUF,CAAC"}
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const tokens_1 = require("../tokens");
|
|
5
|
-
const formatSlonikPlaceholder_1 = require("../utilities/formatSlonikPlaceholder");
|
|
6
|
-
const errors_1 = require("@slonik/errors");
|
|
1
|
+
import { FragmentToken } from '../tokens.js';
|
|
2
|
+
import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
|
|
3
|
+
import { InvalidInputError } from '@slonik/errors';
|
|
7
4
|
// eslint-disable-next-line func-style
|
|
8
5
|
function isValidUuid(uuid) {
|
|
9
6
|
const uuidRegex = /^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu;
|
|
10
7
|
return uuidRegex.test(uuid);
|
|
11
8
|
}
|
|
12
|
-
const createUuidSqlFragment = (token, greatestParameterPosition) => {
|
|
9
|
+
export const createUuidSqlFragment = (token, greatestParameterPosition) => {
|
|
13
10
|
if (!isValidUuid(token.uuid)) {
|
|
14
|
-
throw new
|
|
11
|
+
throw new InvalidInputError('UUID parameter value must be a valid UUID.');
|
|
15
12
|
}
|
|
16
13
|
return {
|
|
17
|
-
sql:
|
|
18
|
-
type:
|
|
14
|
+
sql: formatSlonikPlaceholder(greatestParameterPosition + 1) + '::uuid',
|
|
15
|
+
type: FragmentToken,
|
|
19
16
|
values: [token.uuid],
|
|
20
17
|
};
|
|
21
18
|
};
|
|
22
|
-
exports.createUuidSqlFragment = createUuidSqlFragment;
|
|
23
19
|
//# sourceMappingURL=createUuidSqlFragment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createUuidSqlFragment.js","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUuidSqlFragment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createUuidSqlFragment.js","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUuidSqlFragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAInD,sCAAsC;AACtC,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,SAAS,GAAG,8CAA8C,CAAC;IAEjE,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAmB,EACnB,yBAAiC,EACf,EAAE;IACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,iBAAiB,CAAC,4CAA4C,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,GAAG,EAAE,uBAAuB,CAAC,yBAAyB,GAAG,CAAC,CAAC,GAAG,QAAQ;QACtE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;KACrB,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/tokens.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
exports.TimestampToken = Symbol.for('SLONIK_TOKEN_TIMESTAMP');
|
|
16
|
-
exports.UnnestToken = Symbol.for('SLONIK_TOKEN_UNNEST');
|
|
17
|
-
exports.UuidToken = Symbol.for('SLONIK_TOKEN_UUID');
|
|
1
|
+
export const ArrayToken = Symbol.for('SLONIK_TOKEN_ARRAY');
|
|
2
|
+
export const BinaryToken = Symbol.for('SLONIK_TOKEN_BINARY');
|
|
3
|
+
export const ComparisonPredicateToken = Symbol.for('SLONIK_TOKEN_COMPARISON_PREDICATE');
|
|
4
|
+
export const DateToken = Symbol.for('SLONIK_TOKEN_DATE');
|
|
5
|
+
export const FragmentToken = Symbol.for('SLONIK_TOKEN_FRAGMENT');
|
|
6
|
+
export const IdentifierToken = Symbol.for('SLONIK_TOKEN_IDENTIFIER');
|
|
7
|
+
export const IntervalToken = Symbol.for('SLONIK_TOKEN_INTERVAL');
|
|
8
|
+
export const JsonBinaryToken = Symbol.for('SLONIK_TOKEN_JSON_BINARY');
|
|
9
|
+
export const JsonToken = Symbol.for('SLONIK_TOKEN_JSON');
|
|
10
|
+
export const ListToken = Symbol.for('SLONIK_TOKEN_LIST');
|
|
11
|
+
export const QueryToken = Symbol.for('SLONIK_TOKEN_QUERY');
|
|
12
|
+
export const TimestampToken = Symbol.for('SLONIK_TOKEN_TIMESTAMP');
|
|
13
|
+
export const UnnestToken = Symbol.for('SLONIK_TOKEN_UNNEST');
|
|
14
|
+
export const UuidToken = Symbol.for('SLONIK_TOKEN_UUID');
|
|
18
15
|
//# sourceMappingURL=tokens.js.map
|
package/dist/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAChD,mCAAmC,CACpC,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type * as tokens from './tokens';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type * as tokens from './tokens.js';
|
|
2
|
+
import type { PrimitiveValueExpression } from '@slonik/types';
|
|
3
|
+
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
4
4
|
export { type PrimitiveValueExpression } from '@slonik/types';
|
|
5
5
|
export type ArraySqlToken = {
|
|
6
6
|
readonly memberType: SqlFragmentToken | TypeNameIdentifier;
|
|
@@ -50,7 +50,7 @@ export type ListSqlToken = {
|
|
|
50
50
|
readonly members: readonly ValueExpression[];
|
|
51
51
|
readonly type: typeof tokens.ListToken;
|
|
52
52
|
};
|
|
53
|
-
export type QuerySqlToken<T extends
|
|
53
|
+
export type QuerySqlToken<T extends StandardSchemaV1 = StandardSchemaV1<any, any>> = {
|
|
54
54
|
readonly parser: T;
|
|
55
55
|
readonly sql: string;
|
|
56
56
|
readonly type: typeof tokens.QueryToken;
|
|
@@ -64,7 +64,7 @@ export type SqlFragmentToken = {
|
|
|
64
64
|
readonly type: typeof tokens.FragmentToken;
|
|
65
65
|
readonly values: readonly PrimitiveValueExpression[];
|
|
66
66
|
};
|
|
67
|
-
export type SqlTag<Z extends Record<string,
|
|
67
|
+
export type SqlTag<Z extends Record<string, StandardSchemaV1> = Record<string, StandardSchemaV1>> = {
|
|
68
68
|
array: (values: readonly PrimitiveValueExpression[], memberType: SqlFragmentToken | TypeNameIdentifier) => ArraySqlToken;
|
|
69
69
|
binary: (data: Buffer) => BinarySqlToken;
|
|
70
70
|
date: (date: Date) => DateSqlToken;
|
|
@@ -76,7 +76,7 @@ export type SqlTag<Z extends Record<string, ZodTypeAny> = Record<string, ZodType
|
|
|
76
76
|
jsonb: (value: SerializableValue) => JsonBinarySqlToken;
|
|
77
77
|
literalValue: (value: string) => SqlFragmentToken;
|
|
78
78
|
timestamp: (date: Date) => TimestampSqlToken;
|
|
79
|
-
type: <Y extends
|
|
79
|
+
type: <Y extends StandardSchemaV1>(parser: Y) => (template: TemplateStringsArray, ...values: ValueExpression[]) => QuerySqlToken<Y>;
|
|
80
80
|
typeAlias: <K extends keyof Z>(typeAlias: K) => (template: TemplateStringsArray, ...values: ValueExpression[]) => QuerySqlToken<Z[K]>;
|
|
81
81
|
unnest: (tuples: ReadonlyArray<readonly any[]>, columnTypes: Array<[...string[], TypeNameIdentifier]> | Array<SqlFragmentToken | TypeNameIdentifier>) => UnnestSqlToken;
|
|
82
82
|
unsafe: (template: TemplateStringsArray, ...values: ValueExpression[]) => QuerySqlToken;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.countArrayDimensions = void 0;
|
|
4
|
-
const countArrayDimensions = (identifierName) => {
|
|
1
|
+
export const countArrayDimensions = (identifierName) => {
|
|
5
2
|
let tail = identifierName.trim();
|
|
6
3
|
let arrayDimensionCount = 0;
|
|
7
4
|
while (tail.endsWith('[]')) {
|
|
@@ -10,5 +7,4 @@ const countArrayDimensions = (identifierName) => {
|
|
|
10
7
|
}
|
|
11
8
|
return arrayDimensionCount;
|
|
12
9
|
};
|
|
13
|
-
exports.countArrayDimensions = countArrayDimensions;
|
|
14
10
|
//# sourceMappingURL=countArrayDimensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countArrayDimensions.js","sourceRoot":"","sources":["../../src/utilities/countArrayDimensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"countArrayDimensions.js","sourceRoot":"","sources":["../../src/utilities/countArrayDimensions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,cAAsB,EAAU,EAAE;IACrE,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,mBAAmB,EAAE,CAAC;QAEtB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const ava_1 = __importDefault(require("ava"));
|
|
8
|
-
(0, ava_1.default)('returns the number of array dimensions', (t) => {
|
|
9
|
-
t.is((0, countArrayDimensions_1.countArrayDimensions)('foo'), 0);
|
|
10
|
-
t.is((0, countArrayDimensions_1.countArrayDimensions)('foo[]'), 1);
|
|
11
|
-
t.is((0, countArrayDimensions_1.countArrayDimensions)('foo[][]'), 2);
|
|
1
|
+
import { countArrayDimensions } from './countArrayDimensions.js';
|
|
2
|
+
import test from 'ava';
|
|
3
|
+
test('returns the number of array dimensions', (t) => {
|
|
4
|
+
t.is(countArrayDimensions('foo'), 0);
|
|
5
|
+
t.is(countArrayDimensions('foo[]'), 1);
|
|
6
|
+
t.is(countArrayDimensions('foo[][]'), 2);
|
|
12
7
|
});
|
|
13
8
|
//# sourceMappingURL=countArrayDimensions.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countArrayDimensions.test.js","sourceRoot":"","sources":["../../src/utilities/countArrayDimensions.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"countArrayDimensions.test.js","sourceRoot":"","sources":["../../src/utilities/countArrayDimensions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,IAAI,MAAM,KAAK,CAAC;AAEvB,IAAI,CAAC,wCAAwC,EAAE,CAAC,CAAC,EAAE,EAAE;IACnD,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.escapeIdentifier = void 0;
|
|
4
1
|
const rule = /"/gu;
|
|
5
2
|
/**
|
|
6
3
|
* @see https://github.com/brianc/node-postgres/blob/6c840aabb09f8a2d640800953f6b884b6841384c/lib/client.js#L306-L322
|
|
7
4
|
*/
|
|
8
|
-
const escapeIdentifier = (identifier) => {
|
|
5
|
+
export const escapeIdentifier = (identifier) => {
|
|
9
6
|
return '"' + identifier.replaceAll(rule, '""') + '"';
|
|
10
7
|
};
|
|
11
|
-
exports.escapeIdentifier = escapeIdentifier;
|
|
12
8
|
//# sourceMappingURL=escapeIdentifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escapeIdentifier.js","sourceRoot":"","sources":["../../src/utilities/escapeIdentifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"escapeIdentifier.js","sourceRoot":"","sources":["../../src/utilities/escapeIdentifier.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,KAAK,CAAC;AAEnB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAU,EAAE;IAC7D,OAAO,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;AACvD,CAAC,CAAC"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const ava_1 = __importDefault(require("ava"));
|
|
8
|
-
(0, ava_1.default)('escapes SQL identifiers', (t) => {
|
|
9
|
-
t.is((0, escapeIdentifier_1.escapeIdentifier)('foo'), '"foo"');
|
|
10
|
-
t.is((0, escapeIdentifier_1.escapeIdentifier)('foo bar'), '"foo bar"');
|
|
11
|
-
t.is((0, escapeIdentifier_1.escapeIdentifier)('"foo"'), '"""foo"""');
|
|
1
|
+
import { escapeIdentifier } from './escapeIdentifier.js';
|
|
2
|
+
import test from 'ava';
|
|
3
|
+
test('escapes SQL identifiers', (t) => {
|
|
4
|
+
t.is(escapeIdentifier('foo'), '"foo"');
|
|
5
|
+
t.is(escapeIdentifier('foo bar'), '"foo bar"');
|
|
6
|
+
t.is(escapeIdentifier('"foo"'), '"""foo"""');
|
|
12
7
|
});
|
|
13
8
|
//# sourceMappingURL=escapeIdentifier.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escapeIdentifier.test.js","sourceRoot":"","sources":["../../src/utilities/escapeIdentifier.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"escapeIdentifier.test.js","sourceRoot":"","sources":["../../src/utilities/escapeIdentifier.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,IAAI,MAAM,KAAK,CAAC;AAEvB,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;IACpC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.escapeLiteralValue = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* @see https://github.com/brianc/node-postgres/blob/6c840aabb09f8a2d640800953f6b884b6841384c/lib/client.js#L325-L348
|
|
6
3
|
*/
|
|
7
|
-
const escapeLiteralValue = (subject) => {
|
|
4
|
+
export const escapeLiteralValue = (subject) => {
|
|
8
5
|
let hasBackslash = false;
|
|
9
6
|
let escaped = "'";
|
|
10
7
|
for (const character of subject) {
|
|
@@ -25,5 +22,4 @@ const escapeLiteralValue = (subject) => {
|
|
|
25
22
|
}
|
|
26
23
|
return escaped;
|
|
27
24
|
};
|
|
28
|
-
exports.escapeLiteralValue = escapeLiteralValue;
|
|
29
25
|
//# sourceMappingURL=escapeLiteralValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escapeLiteralValue.js","sourceRoot":"","sources":["../../src/utilities/escapeLiteralValue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"escapeLiteralValue.js","sourceRoot":"","sources":["../../src/utilities/escapeLiteralValue.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAU,EAAE;IAC5D,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,OAAO,GAAG,GAAG,CAAC;IAElB,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,OAAO,IAAI,SAAS,GAAG,SAAS,CAAC;QACnC,CAAC;aAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,SAAS,GAAG,SAAS,CAAC;YACjC,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,SAAS,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,GAAG,CAAC;IAEf,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(0, ava_1.default)('escapes SQL literal value', (t) => {
|
|
9
|
-
t.is((0, escapeLiteralValue_1.escapeLiteralValue)('foo'), "'foo'");
|
|
10
|
-
t.is((0, escapeLiteralValue_1.escapeLiteralValue)('foo bar'), "'foo bar'");
|
|
11
|
-
t.is((0, escapeLiteralValue_1.escapeLiteralValue)('"foo"'), '\'"foo"\'');
|
|
12
|
-
t.is((0, escapeLiteralValue_1.escapeLiteralValue)('foo\\bar'), "E'foo\\\\bar'");
|
|
1
|
+
import { escapeLiteralValue } from './escapeLiteralValue.js';
|
|
2
|
+
import test from 'ava';
|
|
3
|
+
test('escapes SQL literal value', (t) => {
|
|
4
|
+
t.is(escapeLiteralValue('foo'), "'foo'");
|
|
5
|
+
t.is(escapeLiteralValue('foo bar'), "'foo bar'");
|
|
6
|
+
t.is(escapeLiteralValue('"foo"'), '\'"foo"\'');
|
|
7
|
+
t.is(escapeLiteralValue('foo\\bar'), "E'foo\\\\bar'");
|
|
13
8
|
});
|
|
14
9
|
//# sourceMappingURL=escapeLiteralValue.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escapeLiteralValue.test.js","sourceRoot":"","sources":["../../src/utilities/escapeLiteralValue.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"escapeLiteralValue.test.js","sourceRoot":"","sources":["../../src/utilities/escapeLiteralValue.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,IAAI,MAAM,KAAK,CAAC;AAEvB,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE;IACtC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatSlonikPlaceholder = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Slonik allows to compose queries using fragments, e.g.
|
|
6
3
|
* ```ts
|
|
@@ -13,8 +10,7 @@ exports.formatSlonikPlaceholder = void 0;
|
|
|
13
10
|
* To avoid that, we now use a placeholder that is prefixed with $slonik_.
|
|
14
11
|
* This way, we can safely detect placeholders that are part of a nested fragment.
|
|
15
12
|
*/
|
|
16
|
-
const formatSlonikPlaceholder = (index) => {
|
|
13
|
+
export const formatSlonikPlaceholder = (index) => {
|
|
17
14
|
return '$slonik_' + String(index);
|
|
18
15
|
};
|
|
19
|
-
exports.formatSlonikPlaceholder = formatSlonikPlaceholder;
|
|
20
16
|
//# sourceMappingURL=formatSlonikPlaceholder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatSlonikPlaceholder.js","sourceRoot":"","sources":["../../src/utilities/formatSlonikPlaceholder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formatSlonikPlaceholder.js","sourceRoot":"","sources":["../../src/utilities/formatSlonikPlaceholder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAE,EAAE;IACvD,OAAO,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hasOwnProperty = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* A stricter type guard.
|
|
6
3
|
* @see https://tsplay.dev/WK8zGw
|
|
7
4
|
*/
|
|
8
|
-
const hasOwnProperty = (object, property) => {
|
|
5
|
+
export const hasOwnProperty = (object, property) => {
|
|
9
6
|
return Object.prototype.hasOwnProperty.call(object, property);
|
|
10
7
|
};
|
|
11
|
-
exports.hasOwnProperty = hasOwnProperty;
|
|
12
8
|
//# sourceMappingURL=hasOwnProperty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasOwnProperty.js","sourceRoot":"","sources":["../../src/utilities/hasOwnProperty.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hasOwnProperty.js","sourceRoot":"","sources":["../../src/utilities/hasOwnProperty.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAS,EACT,QAAW,EACuB,EAAE;IACpC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPlainObject = void 0;
|
|
4
|
-
const isPlainObject = (subject) => {
|
|
1
|
+
export const isPlainObject = (subject) => {
|
|
5
2
|
if (typeof subject !== 'object' || subject === null) {
|
|
6
3
|
return false;
|
|
7
4
|
}
|
|
@@ -12,5 +9,4 @@ const isPlainObject = (subject) => {
|
|
|
12
9
|
!(Symbol.toStringTag in subject) &&
|
|
13
10
|
!(Symbol.iterator in subject));
|
|
14
11
|
};
|
|
15
|
-
exports.isPlainObject = isPlainObject;
|
|
16
12
|
//# sourceMappingURL=isPlainObject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPlainObject.js","sourceRoot":"","sources":["../../src/utilities/isPlainObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isPlainObject.js","sourceRoot":"","sources":["../../src/utilities/isPlainObject.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,EAAE;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,CACL,CAAC,SAAS,KAAK,IAAI;QACjB,SAAS,KAAK,MAAM,CAAC,SAAS;QAC9B,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,CAC9B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPrimitiveValueExpression = void 0;
|
|
4
|
-
const isPrimitiveValueExpression = (maybe) => {
|
|
1
|
+
export const isPrimitiveValueExpression = (maybe) => {
|
|
5
2
|
return (typeof maybe === 'string' ||
|
|
6
3
|
typeof maybe === 'number' ||
|
|
7
4
|
typeof maybe === 'boolean' ||
|
|
8
5
|
typeof maybe === 'bigint' ||
|
|
9
6
|
maybe === null);
|
|
10
7
|
};
|
|
11
|
-
exports.isPrimitiveValueExpression = isPrimitiveValueExpression;
|
|
12
8
|
//# sourceMappingURL=isPrimitiveValueExpression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPrimitiveValueExpression.js","sourceRoot":"","sources":["../../src/utilities/isPrimitiveValueExpression.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isPrimitiveValueExpression.js","sourceRoot":"","sources":["../../src/utilities/isPrimitiveValueExpression.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,KAAc,EACsC,EAAE;IACtD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI,CACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isSqlToken.d.ts","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"isSqlToken.d.ts","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAiC5D,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,YAmCxD,CAAC"}
|
|
@@ -1,37 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const tokens_1 = require("../tokens");
|
|
5
|
-
const hasOwnProperty_1 = require("./hasOwnProperty");
|
|
6
|
-
const errors_1 = require("@slonik/errors");
|
|
1
|
+
import { ArrayToken, BinaryToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from '../tokens.js';
|
|
2
|
+
import { hasOwnProperty } from './hasOwnProperty.js';
|
|
3
|
+
import { UnexpectedStateError } from '@slonik/errors';
|
|
7
4
|
const Tokens = [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
5
|
+
ArrayToken,
|
|
6
|
+
BinaryToken,
|
|
7
|
+
ComparisonPredicateToken,
|
|
8
|
+
DateToken,
|
|
9
|
+
FragmentToken,
|
|
10
|
+
IdentifierToken,
|
|
11
|
+
IntervalToken,
|
|
12
|
+
JsonBinaryToken,
|
|
13
|
+
JsonToken,
|
|
14
|
+
ListToken,
|
|
15
|
+
QueryToken,
|
|
16
|
+
TimestampToken,
|
|
17
|
+
UnnestToken,
|
|
18
|
+
UuidToken,
|
|
22
19
|
];
|
|
23
20
|
const tokenNamess = Tokens.map((token) => {
|
|
24
21
|
const tokenTypeName = Symbol.keyFor(token);
|
|
25
22
|
if (typeof tokenTypeName !== 'string') {
|
|
26
|
-
throw new
|
|
23
|
+
throw new UnexpectedStateError('Expected token type be a symbol with inferrable key');
|
|
27
24
|
}
|
|
28
25
|
return tokenTypeName;
|
|
29
26
|
});
|
|
30
|
-
const isSqlToken = (subject) => {
|
|
27
|
+
export const isSqlToken = (subject) => {
|
|
31
28
|
if (typeof subject !== 'object' || subject === null) {
|
|
32
29
|
return false;
|
|
33
30
|
}
|
|
34
|
-
if (!
|
|
31
|
+
if (!hasOwnProperty(subject, 'type')) {
|
|
35
32
|
return false;
|
|
36
33
|
}
|
|
37
34
|
const tokenType = subject.type;
|
|
@@ -57,5 +54,4 @@ const isSqlToken = (subject) => {
|
|
|
57
54
|
// construct custom SQL fragments.
|
|
58
55
|
return tokenNamess.includes(tokenTypeName);
|
|
59
56
|
};
|
|
60
|
-
exports.isSqlToken = isSqlToken;
|
|
61
57
|
//# sourceMappingURL=isSqlToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isSqlToken.js","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isSqlToken.js","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,wBAAwB,EACxB,SAAS,EACT,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,EACd,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,GAAG;IACb,UAAU;IACV,WAAW;IACX,wBAAwB;IACxB,SAAS;IACT,aAAa;IACb,eAAe;IACf,aAAa;IACb,eAAe;IACf,SAAS;IACT,SAAS;IACT,UAAU;IACV,cAAc;IACd,WAAW;IACX,SAAS;CACD,CAAC;AAEX,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;IACvC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,oBAAoB,CAC5B,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAA2B,EAAE;IACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8DAA8D;IAC9D,4BAA4B;IAC5B,+BAA+B;IAC/B,8BAA8B;IAC9B,EAAE;IACF,gDAAgD;IAChD,8CAA8C;IAC9C,sDAAsD;IACtD,EAAE;IACF,yDAAyD;IACzD,oDAAoD;IACpD,6CAA6C;IAC7C,kCAAkC;IAClC,OAAO,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC7C,CAAC,CAAC"}
|