@slonik/sql-tag 48.4.2 → 48.5.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/factories/createSqlTag.d.ts.map +1 -1
- package/dist/factories/createSqlTag.js +7 -1
- package/dist/factories/createSqlTag.js.map +1 -1
- package/dist/factories/createSqlTag.test/boolean.test.d.ts +2 -0
- package/dist/factories/createSqlTag.test/boolean.test.d.ts.map +1 -0
- package/dist/factories/createSqlTag.test/boolean.test.js +101 -0
- package/dist/factories/createSqlTag.test/boolean.test.js.map +1 -0
- package/dist/factories/createSqlTokenSqlFragment.d.ts.map +1 -1
- package/dist/factories/createSqlTokenSqlFragment.js +5 -1
- package/dist/factories/createSqlTokenSqlFragment.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/sqlFragmentFactories/createBooleanSqlFragment.d.ts +3 -0
- package/dist/sqlFragmentFactories/createBooleanSqlFragment.d.ts.map +1 -0
- package/dist/sqlFragmentFactories/createBooleanSqlFragment.js +14 -0
- package/dist/sqlFragmentFactories/createBooleanSqlFragment.js.map +1 -0
- package/dist/tokens.d.ts +1 -0
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +1 -0
- package/dist/tokens.js.map +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utilities/isSqlToken.d.ts.map +1 -1
- package/dist/utilities/isSqlToken.js +2 -1
- package/dist/utilities/isSqlToken.js.map +1 -1
- package/package.json +4 -4
- package/src/factories/createSqlTag.test/boolean.test.ts +127 -0
- package/src/factories/createSqlTag.ts +7 -0
- package/src/factories/createSqlTokenSqlFragment.ts +4 -0
- package/src/index.ts +2 -0
- package/src/sqlFragmentFactories/createBooleanSqlFragment.ts +19 -0
- package/src/tokens.ts +1 -0
- package/src/types.ts +7 -0
- package/src/utilities/isSqlToken.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSqlTag.d.ts","sourceRoot":"","sources":["../../src/factories/createSqlTag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createSqlTag.d.ts","sourceRoot":"","sources":["../../src/factories/createSqlTag.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAEV,MAAM,EAEP,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAgF9D,eAAO,MAAM,YAAY,GACvB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,gBAAgB,EAC1B,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAEtB,gBAAe;IACb,WAAW,CAAC,EAAE,CAAC,CAAC;CACZ,KACL,MAAM,CAAC,CAAC,CAkIV,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Logger } from '../Logger.js';
|
|
2
|
-
import { ArrayToken, BinaryToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from '../tokens.js';
|
|
2
|
+
import { ArrayToken, BinaryToken, BooleanToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from '../tokens.js';
|
|
3
3
|
import { escapeLiteralValue } from '../utilities/escapeLiteralValue.js';
|
|
4
4
|
import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
|
|
5
5
|
import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression.js';
|
|
@@ -73,6 +73,12 @@ export const createSqlTag = (configuration = {}) => {
|
|
|
73
73
|
type: BinaryToken,
|
|
74
74
|
});
|
|
75
75
|
},
|
|
76
|
+
boolean: (value) => {
|
|
77
|
+
return Object.freeze({
|
|
78
|
+
type: BooleanToken,
|
|
79
|
+
value: value,
|
|
80
|
+
});
|
|
81
|
+
},
|
|
76
82
|
date: (date) => {
|
|
77
83
|
return Object.freeze({
|
|
78
84
|
date,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSqlTag.js","sourceRoot":"","sources":["../../src/factories/createSqlTag.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createSqlTag.js","sourceRoot":"","sources":["../../src/factories/createSqlTag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/boolean.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { FragmentToken } from '../../tokens.js';
|
|
2
|
+
import { createSqlTag } from '../createSqlTag.js';
|
|
3
|
+
import test from 'ava';
|
|
4
|
+
const sql = createSqlTag();
|
|
5
|
+
test('binds true boolean value', (t) => {
|
|
6
|
+
const query = sql.fragment `SELECT ${sql.boolean(true)}`;
|
|
7
|
+
t.deepEqual(query, {
|
|
8
|
+
sql: 'SELECT $slonik_1::boolean',
|
|
9
|
+
type: FragmentToken,
|
|
10
|
+
values: [true],
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
test('binds false boolean value', (t) => {
|
|
14
|
+
const query = sql.fragment `SELECT ${sql.boolean(false)}`;
|
|
15
|
+
t.deepEqual(query, {
|
|
16
|
+
sql: 'SELECT $slonik_1::boolean',
|
|
17
|
+
type: FragmentToken,
|
|
18
|
+
values: [false],
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
test('throws if value is a string', (t) => {
|
|
22
|
+
const error = t.throws(() => {
|
|
23
|
+
// @ts-expect-error - intentional
|
|
24
|
+
sql.fragment `SELECT ${sql.boolean('true')}`;
|
|
25
|
+
});
|
|
26
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
27
|
+
});
|
|
28
|
+
test('throws if value is a number', (t) => {
|
|
29
|
+
const error = t.throws(() => {
|
|
30
|
+
// @ts-expect-error - intentional
|
|
31
|
+
sql.fragment `SELECT ${sql.boolean(1)}`;
|
|
32
|
+
});
|
|
33
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
34
|
+
});
|
|
35
|
+
test('throws if value is zero', (t) => {
|
|
36
|
+
const error = t.throws(() => {
|
|
37
|
+
// @ts-expect-error - intentional
|
|
38
|
+
sql.fragment `SELECT ${sql.boolean(0)}`;
|
|
39
|
+
});
|
|
40
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
41
|
+
});
|
|
42
|
+
test('throws if value is null', (t) => {
|
|
43
|
+
const error = t.throws(() => {
|
|
44
|
+
// @ts-expect-error - intentional
|
|
45
|
+
sql.fragment `SELECT ${sql.boolean(null)}`;
|
|
46
|
+
});
|
|
47
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
48
|
+
});
|
|
49
|
+
test('throws if value is undefined', (t) => {
|
|
50
|
+
const error = t.throws(() => {
|
|
51
|
+
// @ts-expect-error - intentional
|
|
52
|
+
sql.fragment `SELECT ${sql.boolean(undefined)}`;
|
|
53
|
+
});
|
|
54
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
55
|
+
});
|
|
56
|
+
test('throws if value is an object', (t) => {
|
|
57
|
+
const error = t.throws(() => {
|
|
58
|
+
// @ts-expect-error - intentional
|
|
59
|
+
sql.fragment `SELECT ${sql.boolean({})}`;
|
|
60
|
+
});
|
|
61
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
62
|
+
});
|
|
63
|
+
test('throws if value is an array', (t) => {
|
|
64
|
+
const error = t.throws(() => {
|
|
65
|
+
// @ts-expect-error - intentional
|
|
66
|
+
sql.fragment `SELECT ${sql.boolean([true])}`;
|
|
67
|
+
});
|
|
68
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
69
|
+
});
|
|
70
|
+
test('throws if value is a function', (t) => {
|
|
71
|
+
const error = t.throws(() => {
|
|
72
|
+
// @ts-expect-error - intentional
|
|
73
|
+
sql.fragment `SELECT ${sql.boolean(() => true)}`;
|
|
74
|
+
});
|
|
75
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
76
|
+
});
|
|
77
|
+
test('works with multiple boolean values in a query', (t) => {
|
|
78
|
+
const query = sql.fragment `SELECT ${sql.boolean(true)}, ${sql.boolean(false)}, ${sql.boolean(true)}`;
|
|
79
|
+
t.deepEqual(query, {
|
|
80
|
+
sql: 'SELECT $slonik_1::boolean, $slonik_2::boolean, $slonik_3::boolean',
|
|
81
|
+
type: FragmentToken,
|
|
82
|
+
values: [true, false, true],
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
test('works in WHERE clause', (t) => {
|
|
86
|
+
const query = sql.fragment `SELECT * FROM users WHERE active = ${sql.boolean(true)}`;
|
|
87
|
+
t.deepEqual(query, {
|
|
88
|
+
sql: 'SELECT * FROM users WHERE active = $slonik_1::boolean',
|
|
89
|
+
type: FragmentToken,
|
|
90
|
+
values: [true],
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
test('works with NOT operator', (t) => {
|
|
94
|
+
const query = sql.fragment `SELECT * FROM users WHERE NOT ${sql.boolean(false)}`;
|
|
95
|
+
t.deepEqual(query, {
|
|
96
|
+
sql: 'SELECT * FROM users WHERE NOT $slonik_1::boolean',
|
|
97
|
+
type: FragmentToken,
|
|
98
|
+
values: [false],
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=boolean.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/boolean.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSqlTokenSqlFragment.d.ts","sourceRoot":"","sources":["../../src/factories/createSqlTokenSqlFragment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createSqlTokenSqlFragment.d.ts","sourceRoot":"","sources":["../../src/factories/createSqlTokenSqlFragment.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAG9E,eAAO,MAAM,yBAAyB,GACpC,OAAO,YAAY,EACnB,2BAA2B,MAAM,KAChC,gBAgCF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createArraySqlFragment } from '../sqlFragmentFactories/createArraySqlFragment.js';
|
|
2
2
|
import { createBinarySqlFragment } from '../sqlFragmentFactories/createBinarySqlFragment.js';
|
|
3
|
+
import { createBooleanSqlFragment } from '../sqlFragmentFactories/createBooleanSqlFragment.js';
|
|
3
4
|
import { createDateSqlFragment } from '../sqlFragmentFactories/createDateSqlFragment.js';
|
|
4
5
|
import { createFragmentSqlFragment } from '../sqlFragmentFactories/createFragmentSqlFragment.js';
|
|
5
6
|
import { createIdentifierSqlFragment } from '../sqlFragmentFactories/createIdentifierSqlFragment.js';
|
|
@@ -10,7 +11,7 @@ import { createQuerySqlFragment } from '../sqlFragmentFactories/createQuerySqlFr
|
|
|
10
11
|
import { createTimestampSqlFragment } from '../sqlFragmentFactories/createTimestampSqlFragment.js';
|
|
11
12
|
import { createUnnestSqlFragment } from '../sqlFragmentFactories/createUnnestSqlFragment.js';
|
|
12
13
|
import { createUuidSqlFragment } from '../sqlFragmentFactories/createUuidSqlFragment.js';
|
|
13
|
-
import { ArrayToken, BinaryToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from '../tokens.js';
|
|
14
|
+
import { ArrayToken, BinaryToken, BooleanToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from '../tokens.js';
|
|
14
15
|
import { UnexpectedStateError } from '@slonik/errors';
|
|
15
16
|
export const createSqlTokenSqlFragment = (token, greatestParameterPosition) => {
|
|
16
17
|
if (token.type === ArrayToken) {
|
|
@@ -19,6 +20,9 @@ export const createSqlTokenSqlFragment = (token, greatestParameterPosition) => {
|
|
|
19
20
|
else if (token.type === BinaryToken) {
|
|
20
21
|
return createBinarySqlFragment(token, greatestParameterPosition);
|
|
21
22
|
}
|
|
23
|
+
else if (token.type === BooleanToken) {
|
|
24
|
+
return createBooleanSqlFragment(token, greatestParameterPosition);
|
|
25
|
+
}
|
|
22
26
|
else if (token.type === DateToken) {
|
|
23
27
|
return createDateSqlFragment(token, greatestParameterPosition);
|
|
24
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSqlTokenSqlFragment.js","sourceRoot":"","sources":["../../src/factories/createSqlTokenSqlFragment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createSqlTokenSqlFragment.js","sourceRoot":"","sources":["../../src/factories/createSqlTokenSqlFragment.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createSqlTag } from './factories/createSqlTag.js';
|
|
2
2
|
export { createSqlTokenSqlFragment } from './factories/createSqlTokenSqlFragment.js';
|
|
3
|
-
export { ArrayToken, BinaryToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from './tokens.js';
|
|
4
|
-
export { type ArraySqlToken, type BinarySqlToken, type DateSqlToken, type FragmentSqlToken, type IdentifierSqlToken, type IntervalInput, type IntervalSqlToken, type JsonBinarySqlToken, type JsonSqlToken, type ListSqlToken, type PrimitiveValueExpression, type QuerySqlToken, type SerializableValue, type SqlFragmentToken, type SqlTag, type SqlToken, type TimestampSqlToken, type UnnestSqlToken, type UuidSqlToken, type ValueExpression, } from './types.js';
|
|
3
|
+
export { ArrayToken, BinaryToken, BooleanToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from './tokens.js';
|
|
4
|
+
export { type ArraySqlToken, type BinarySqlToken, type BooleanSqlToken, type DateSqlToken, type FragmentSqlToken, type IdentifierSqlToken, type IntervalInput, type IntervalSqlToken, type JsonBinarySqlToken, type JsonSqlToken, type ListSqlToken, type PrimitiveValueExpression, type QuerySqlToken, type SerializableValue, type SqlFragmentToken, type SqlTag, type SqlToken, type TimestampSqlToken, type UnnestSqlToken, type UuidSqlToken, type ValueExpression, } from './types.js';
|
|
5
5
|
export { isSqlToken } from './utilities/isSqlToken.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,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,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,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,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createSqlTag } from './factories/createSqlTag.js';
|
|
2
2
|
export { createSqlTokenSqlFragment } from './factories/createSqlTokenSqlFragment.js';
|
|
3
|
-
export { ArrayToken, BinaryToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from './tokens.js';
|
|
3
|
+
export { ArrayToken, BinaryToken, BooleanToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from './tokens.js';
|
|
4
4
|
export { isSqlToken } from './utilities/isSqlToken.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,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,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,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,aAAa,CAAC;AAwBrB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBooleanSqlFragment.d.ts","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createBooleanSqlFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIrE,eAAO,MAAM,wBAAwB,GACnC,OAAO,eAAe,EACtB,2BAA2B,MAAM,KAChC,gBAUF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FragmentToken } from '../tokens.js';
|
|
2
|
+
import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
|
|
3
|
+
import { InvalidInputError } from '@slonik/errors';
|
|
4
|
+
export const createBooleanSqlFragment = (token, greatestParameterPosition) => {
|
|
5
|
+
if (typeof token.value !== 'boolean') {
|
|
6
|
+
throw new InvalidInputError('Boolean parameter value must be a boolean.');
|
|
7
|
+
}
|
|
8
|
+
return {
|
|
9
|
+
sql: formatSlonikPlaceholder(greatestParameterPosition + 1) + '::boolean',
|
|
10
|
+
type: FragmentToken,
|
|
11
|
+
values: [token.value],
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=createBooleanSqlFragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBooleanSqlFragment.js","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createBooleanSqlFragment.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;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAAsB,EACtB,yBAAiC,EACf,EAAE;IACpB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,iBAAiB,CAAC,4CAA4C,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,GAAG,EAAE,uBAAuB,CAAC,yBAAyB,GAAG,CAAC,CAAC,GAAG,WAAW;QACzE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;KACtB,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/tokens.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const ArrayToken: unique symbol;
|
|
2
2
|
export declare const BinaryToken: unique symbol;
|
|
3
|
+
export declare const BooleanToken: unique symbol;
|
|
3
4
|
export declare const ComparisonPredicateToken: unique symbol;
|
|
4
5
|
export declare const DateToken: unique symbol;
|
|
5
6
|
export declare const FragmentToken: unique symbol;
|
package/dist/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAmC,CAAC;AAC3D,eAAO,MAAM,WAAW,eAAoC,CAAC;AAC7D,eAAO,MAAM,wBAAwB,eAEpC,CAAC;AACF,eAAO,MAAM,SAAS,eAAkC,CAAC;AACzD,eAAO,MAAM,aAAa,eAAsC,CAAC;AACjE,eAAO,MAAM,eAAe,eAAwC,CAAC;AACrE,eAAO,MAAM,aAAa,eAAsC,CAAC;AACjE,eAAO,MAAM,eAAe,eAAyC,CAAC;AACtE,eAAO,MAAM,SAAS,eAAkC,CAAC;AACzD,eAAO,MAAM,SAAS,eAAkC,CAAC;AACzD,eAAO,MAAM,UAAU,eAAmC,CAAC;AAC3D,eAAO,MAAM,cAAc,eAAuC,CAAC;AACnE,eAAO,MAAM,WAAW,eAAoC,CAAC;AAC7D,eAAO,MAAM,SAAS,eAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAmC,CAAC;AAC3D,eAAO,MAAM,WAAW,eAAoC,CAAC;AAC7D,eAAO,MAAM,YAAY,eAAqC,CAAC;AAC/D,eAAO,MAAM,wBAAwB,eAEpC,CAAC;AACF,eAAO,MAAM,SAAS,eAAkC,CAAC;AACzD,eAAO,MAAM,aAAa,eAAsC,CAAC;AACjE,eAAO,MAAM,eAAe,eAAwC,CAAC;AACrE,eAAO,MAAM,aAAa,eAAsC,CAAC;AACjE,eAAO,MAAM,eAAe,eAAyC,CAAC;AACtE,eAAO,MAAM,SAAS,eAAkC,CAAC;AACzD,eAAO,MAAM,SAAS,eAAkC,CAAC;AACzD,eAAO,MAAM,UAAU,eAAmC,CAAC;AAC3D,eAAO,MAAM,cAAc,eAAuC,CAAC;AACnE,eAAO,MAAM,WAAW,eAAoC,CAAC;AAC7D,eAAO,MAAM,SAAS,eAAkC,CAAC"}
|
package/dist/tokens.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export const ArrayToken = Symbol.for('SLONIK_TOKEN_ARRAY');
|
|
2
2
|
export const BinaryToken = Symbol.for('SLONIK_TOKEN_BINARY');
|
|
3
|
+
export const BooleanToken = Symbol.for('SLONIK_TOKEN_BOOLEAN');
|
|
3
4
|
export const ComparisonPredicateToken = Symbol.for('SLONIK_TOKEN_COMPARISON_PREDICATE');
|
|
4
5
|
export const DateToken = Symbol.for('SLONIK_TOKEN_DATE');
|
|
5
6
|
export const FragmentToken = Symbol.for('SLONIK_TOKEN_FRAGMENT');
|
package/dist/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC/D,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
|
@@ -11,6 +11,10 @@ export type BinarySqlToken = {
|
|
|
11
11
|
readonly data: Buffer;
|
|
12
12
|
readonly type: typeof tokens.BinaryToken;
|
|
13
13
|
};
|
|
14
|
+
export type BooleanSqlToken = {
|
|
15
|
+
readonly type: typeof tokens.BooleanToken;
|
|
16
|
+
readonly value: boolean;
|
|
17
|
+
};
|
|
14
18
|
export type DateSqlToken = {
|
|
15
19
|
readonly date: Date;
|
|
16
20
|
readonly type: typeof tokens.DateToken;
|
|
@@ -67,6 +71,7 @@ export type SqlFragmentToken = {
|
|
|
67
71
|
export type SqlTag<Z extends Record<string, StandardSchemaV1> = Record<string, StandardSchemaV1>> = {
|
|
68
72
|
array: (values: readonly PrimitiveValueExpression[], memberType: SqlFragmentToken | TypeNameIdentifier) => ArraySqlToken;
|
|
69
73
|
binary: (data: Buffer) => BinarySqlToken;
|
|
74
|
+
boolean: (value: boolean) => BooleanSqlToken;
|
|
70
75
|
date: (date: Date) => DateSqlToken;
|
|
71
76
|
fragment: (template: TemplateStringsArray, ...values: ValueExpression[]) => SqlFragmentToken;
|
|
72
77
|
identifier: (names: readonly string[]) => IdentifierSqlToken;
|
|
@@ -82,7 +87,7 @@ export type SqlTag<Z extends Record<string, StandardSchemaV1> = Record<string, S
|
|
|
82
87
|
unsafe: (template: TemplateStringsArray, ...values: ValueExpression[]) => QuerySqlToken;
|
|
83
88
|
uuid: (uuid: string) => UuidSqlToken;
|
|
84
89
|
};
|
|
85
|
-
export type SqlToken = ArraySqlToken | BinarySqlToken | DateSqlToken | FragmentSqlToken | IdentifierSqlToken | IntervalSqlToken | JsonBinarySqlToken | JsonSqlToken | ListSqlToken | QuerySqlToken | TimestampSqlToken | UnnestSqlToken | UuidSqlToken;
|
|
90
|
+
export type SqlToken = ArraySqlToken | BinarySqlToken | BooleanSqlToken | DateSqlToken | FragmentSqlToken | IdentifierSqlToken | IntervalSqlToken | JsonBinarySqlToken | JsonSqlToken | ListSqlToken | QuerySqlToken | TimestampSqlToken | UnnestSqlToken | UuidSqlToken;
|
|
86
91
|
export type TimestampSqlToken = {
|
|
87
92
|
readonly date: Date;
|
|
88
93
|
readonly type: typeof tokens.TimestampToken;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isSqlToken.d.ts","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isSqlToken.d.ts","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAkC5D,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,YAmCxD,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { ArrayToken, BinaryToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from '../tokens.js';
|
|
1
|
+
import { ArrayToken, BinaryToken, BooleanToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from '../tokens.js';
|
|
2
2
|
import { hasOwnProperty } from './hasOwnProperty.js';
|
|
3
3
|
import { UnexpectedStateError } from '@slonik/errors';
|
|
4
4
|
const Tokens = [
|
|
5
5
|
ArrayToken,
|
|
6
6
|
BinaryToken,
|
|
7
|
+
BooleanToken,
|
|
7
8
|
ComparisonPredicateToken,
|
|
8
9
|
DateToken,
|
|
9
10
|
FragmentToken,
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
1
|
+
{"version":3,"file":"isSqlToken.js","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,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,YAAY;IACZ,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"}
|
package/package.json
CHANGED
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
]
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@slonik/errors": "^48.
|
|
20
|
-
"@slonik/types": "^48.
|
|
19
|
+
"@slonik/errors": "^48.5.0",
|
|
20
|
+
"@slonik/types": "^48.5.0",
|
|
21
21
|
"roarr": "^7.21.1",
|
|
22
22
|
"safe-stable-stringify": "^2.5.0",
|
|
23
23
|
"serialize-error": "^12.0.0",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"tsimp": "^2.0.12",
|
|
34
34
|
"typescript": "^5.8.3",
|
|
35
35
|
"typescript-eslint": "^8.33.0",
|
|
36
|
-
"@slonik/eslint-config": "^48.
|
|
36
|
+
"@slonik/eslint-config": "^48.5.0"
|
|
37
37
|
},
|
|
38
38
|
"engines": {
|
|
39
39
|
"node": ">=24"
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
},
|
|
57
57
|
"type": "module",
|
|
58
58
|
"types": "./dist/index.d.ts",
|
|
59
|
-
"version": "48.
|
|
59
|
+
"version": "48.5.0",
|
|
60
60
|
"scripts": {
|
|
61
61
|
"build": "rm -fr ./dist && tsc --project ./tsconfig.json",
|
|
62
62
|
"lint": "npm run lint:cspell && npm run lint:eslint && npm run lint:tsc",
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { FragmentToken } from '../../tokens.js';
|
|
2
|
+
import { createSqlTag } from '../createSqlTag.js';
|
|
3
|
+
import test from 'ava';
|
|
4
|
+
|
|
5
|
+
const sql = createSqlTag();
|
|
6
|
+
|
|
7
|
+
test('binds true boolean value', (t) => {
|
|
8
|
+
const query = sql.fragment`SELECT ${sql.boolean(true)}`;
|
|
9
|
+
|
|
10
|
+
t.deepEqual(query, {
|
|
11
|
+
sql: 'SELECT $slonik_1::boolean',
|
|
12
|
+
type: FragmentToken,
|
|
13
|
+
values: [true],
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
test('binds false boolean value', (t) => {
|
|
18
|
+
const query = sql.fragment`SELECT ${sql.boolean(false)}`;
|
|
19
|
+
|
|
20
|
+
t.deepEqual(query, {
|
|
21
|
+
sql: 'SELECT $slonik_1::boolean',
|
|
22
|
+
type: FragmentToken,
|
|
23
|
+
values: [false],
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test('throws if value is a string', (t) => {
|
|
28
|
+
const error = t.throws(() => {
|
|
29
|
+
// @ts-expect-error - intentional
|
|
30
|
+
sql.fragment`SELECT ${sql.boolean('true')}`;
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test('throws if value is a number', (t) => {
|
|
37
|
+
const error = t.throws(() => {
|
|
38
|
+
// @ts-expect-error - intentional
|
|
39
|
+
sql.fragment`SELECT ${sql.boolean(1)}`;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
test('throws if value is zero', (t) => {
|
|
46
|
+
const error = t.throws(() => {
|
|
47
|
+
// @ts-expect-error - intentional
|
|
48
|
+
sql.fragment`SELECT ${sql.boolean(0)}`;
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
test('throws if value is null', (t) => {
|
|
55
|
+
const error = t.throws(() => {
|
|
56
|
+
// @ts-expect-error - intentional
|
|
57
|
+
sql.fragment`SELECT ${sql.boolean(null)}`;
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test('throws if value is undefined', (t) => {
|
|
64
|
+
const error = t.throws(() => {
|
|
65
|
+
// @ts-expect-error - intentional
|
|
66
|
+
sql.fragment`SELECT ${sql.boolean(undefined)}`;
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
test('throws if value is an object', (t) => {
|
|
73
|
+
const error = t.throws(() => {
|
|
74
|
+
// @ts-expect-error - intentional
|
|
75
|
+
sql.fragment`SELECT ${sql.boolean({})}`;
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
test('throws if value is an array', (t) => {
|
|
82
|
+
const error = t.throws(() => {
|
|
83
|
+
// @ts-expect-error - intentional
|
|
84
|
+
sql.fragment`SELECT ${sql.boolean([true])}`;
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
test('throws if value is a function', (t) => {
|
|
91
|
+
const error = t.throws(() => {
|
|
92
|
+
// @ts-expect-error - intentional
|
|
93
|
+
sql.fragment`SELECT ${sql.boolean(() => true)}`;
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
t.is(error?.message, 'Boolean parameter value must be a boolean.');
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
test('works with multiple boolean values in a query', (t) => {
|
|
100
|
+
const query = sql.fragment`SELECT ${sql.boolean(true)}, ${sql.boolean(false)}, ${sql.boolean(true)}`;
|
|
101
|
+
|
|
102
|
+
t.deepEqual(query, {
|
|
103
|
+
sql: 'SELECT $slonik_1::boolean, $slonik_2::boolean, $slonik_3::boolean',
|
|
104
|
+
type: FragmentToken,
|
|
105
|
+
values: [true, false, true],
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
test('works in WHERE clause', (t) => {
|
|
110
|
+
const query = sql.fragment`SELECT * FROM users WHERE active = ${sql.boolean(true)}`;
|
|
111
|
+
|
|
112
|
+
t.deepEqual(query, {
|
|
113
|
+
sql: 'SELECT * FROM users WHERE active = $slonik_1::boolean',
|
|
114
|
+
type: FragmentToken,
|
|
115
|
+
values: [true],
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
test('works with NOT operator', (t) => {
|
|
120
|
+
const query = sql.fragment`SELECT * FROM users WHERE NOT ${sql.boolean(false)}`;
|
|
121
|
+
|
|
122
|
+
t.deepEqual(query, {
|
|
123
|
+
sql: 'SELECT * FROM users WHERE NOT $slonik_1::boolean',
|
|
124
|
+
type: FragmentToken,
|
|
125
|
+
values: [false],
|
|
126
|
+
});
|
|
127
|
+
});
|
|
@@ -3,6 +3,7 @@ import type { UUID } from '../sqlFragmentFactories/createUuidSqlFragment.js';
|
|
|
3
3
|
import {
|
|
4
4
|
ArrayToken,
|
|
5
5
|
BinaryToken,
|
|
6
|
+
BooleanToken,
|
|
6
7
|
DateToken,
|
|
7
8
|
FragmentToken,
|
|
8
9
|
IdentifierToken,
|
|
@@ -132,6 +133,12 @@ export const createSqlTag = <
|
|
|
132
133
|
type: BinaryToken,
|
|
133
134
|
});
|
|
134
135
|
},
|
|
136
|
+
boolean: (value) => {
|
|
137
|
+
return Object.freeze({
|
|
138
|
+
type: BooleanToken,
|
|
139
|
+
value: value as boolean,
|
|
140
|
+
});
|
|
141
|
+
},
|
|
135
142
|
date: (date) => {
|
|
136
143
|
return Object.freeze({
|
|
137
144
|
date,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createArraySqlFragment } from '../sqlFragmentFactories/createArraySqlFragment.js';
|
|
2
2
|
import { createBinarySqlFragment } from '../sqlFragmentFactories/createBinarySqlFragment.js';
|
|
3
|
+
import { createBooleanSqlFragment } from '../sqlFragmentFactories/createBooleanSqlFragment.js';
|
|
3
4
|
import { createDateSqlFragment } from '../sqlFragmentFactories/createDateSqlFragment.js';
|
|
4
5
|
import { createFragmentSqlFragment } from '../sqlFragmentFactories/createFragmentSqlFragment.js';
|
|
5
6
|
import { createIdentifierSqlFragment } from '../sqlFragmentFactories/createIdentifierSqlFragment.js';
|
|
@@ -13,6 +14,7 @@ import { createUuidSqlFragment } from '../sqlFragmentFactories/createUuidSqlFrag
|
|
|
13
14
|
import {
|
|
14
15
|
ArrayToken,
|
|
15
16
|
BinaryToken,
|
|
17
|
+
BooleanToken,
|
|
16
18
|
DateToken,
|
|
17
19
|
FragmentToken,
|
|
18
20
|
IdentifierToken,
|
|
@@ -36,6 +38,8 @@ export const createSqlTokenSqlFragment = (
|
|
|
36
38
|
return createArraySqlFragment(token, greatestParameterPosition);
|
|
37
39
|
} else if (token.type === BinaryToken) {
|
|
38
40
|
return createBinarySqlFragment(token, greatestParameterPosition);
|
|
41
|
+
} else if (token.type === BooleanToken) {
|
|
42
|
+
return createBooleanSqlFragment(token, greatestParameterPosition);
|
|
39
43
|
} else if (token.type === DateToken) {
|
|
40
44
|
return createDateSqlFragment(token, greatestParameterPosition);
|
|
41
45
|
} else if (token.type === FragmentToken) {
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { createSqlTokenSqlFragment } from './factories/createSqlTokenSqlFragment
|
|
|
3
3
|
export {
|
|
4
4
|
ArrayToken,
|
|
5
5
|
BinaryToken,
|
|
6
|
+
BooleanToken,
|
|
6
7
|
ComparisonPredicateToken,
|
|
7
8
|
DateToken,
|
|
8
9
|
FragmentToken,
|
|
@@ -19,6 +20,7 @@ export {
|
|
|
19
20
|
export {
|
|
20
21
|
type ArraySqlToken,
|
|
21
22
|
type BinarySqlToken,
|
|
23
|
+
type BooleanSqlToken,
|
|
22
24
|
type DateSqlToken,
|
|
23
25
|
type FragmentSqlToken,
|
|
24
26
|
type IdentifierSqlToken,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FragmentToken } from '../tokens.js';
|
|
2
|
+
import type { BooleanSqlToken, SqlFragmentToken } from '../types.js';
|
|
3
|
+
import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
|
|
4
|
+
import { InvalidInputError } from '@slonik/errors';
|
|
5
|
+
|
|
6
|
+
export const createBooleanSqlFragment = (
|
|
7
|
+
token: BooleanSqlToken,
|
|
8
|
+
greatestParameterPosition: number,
|
|
9
|
+
): SqlFragmentToken => {
|
|
10
|
+
if (typeof token.value !== 'boolean') {
|
|
11
|
+
throw new InvalidInputError('Boolean parameter value must be a boolean.');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
sql: formatSlonikPlaceholder(greatestParameterPosition + 1) + '::boolean',
|
|
16
|
+
type: FragmentToken,
|
|
17
|
+
values: [token.value],
|
|
18
|
+
};
|
|
19
|
+
};
|
package/src/tokens.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export const ArrayToken = Symbol.for('SLONIK_TOKEN_ARRAY');
|
|
2
2
|
export const BinaryToken = Symbol.for('SLONIK_TOKEN_BINARY');
|
|
3
|
+
export const BooleanToken = Symbol.for('SLONIK_TOKEN_BOOLEAN');
|
|
3
4
|
export const ComparisonPredicateToken = Symbol.for(
|
|
4
5
|
'SLONIK_TOKEN_COMPARISON_PREDICATE',
|
|
5
6
|
);
|
package/src/types.ts
CHANGED
|
@@ -15,6 +15,11 @@ export type BinarySqlToken = {
|
|
|
15
15
|
readonly type: typeof tokens.BinaryToken;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
+
export type BooleanSqlToken = {
|
|
19
|
+
readonly type: typeof tokens.BooleanToken;
|
|
20
|
+
readonly value: boolean;
|
|
21
|
+
};
|
|
22
|
+
|
|
18
23
|
export type DateSqlToken = {
|
|
19
24
|
readonly date: Date;
|
|
20
25
|
readonly type: typeof tokens.DateToken;
|
|
@@ -98,6 +103,7 @@ export type SqlTag<
|
|
|
98
103
|
memberType: SqlFragmentToken | TypeNameIdentifier,
|
|
99
104
|
) => ArraySqlToken;
|
|
100
105
|
binary: (data: Buffer) => BinarySqlToken;
|
|
106
|
+
boolean: (value: boolean) => BooleanSqlToken;
|
|
101
107
|
date: (date: Date) => DateSqlToken;
|
|
102
108
|
fragment: (
|
|
103
109
|
template: TemplateStringsArray,
|
|
@@ -145,6 +151,7 @@ export type SqlTag<
|
|
|
145
151
|
export type SqlToken =
|
|
146
152
|
| ArraySqlToken
|
|
147
153
|
| BinarySqlToken
|
|
154
|
+
| BooleanSqlToken
|
|
148
155
|
| DateSqlToken
|
|
149
156
|
| FragmentSqlToken
|
|
150
157
|
| IdentifierSqlToken
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ArrayToken,
|
|
3
3
|
BinaryToken,
|
|
4
|
+
BooleanToken,
|
|
4
5
|
ComparisonPredicateToken,
|
|
5
6
|
DateToken,
|
|
6
7
|
FragmentToken,
|
|
@@ -21,6 +22,7 @@ import { UnexpectedStateError } from '@slonik/errors';
|
|
|
21
22
|
const Tokens = [
|
|
22
23
|
ArrayToken,
|
|
23
24
|
BinaryToken,
|
|
25
|
+
BooleanToken,
|
|
24
26
|
ComparisonPredicateToken,
|
|
25
27
|
DateToken,
|
|
26
28
|
FragmentToken,
|