@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.
Files changed (168) hide show
  1. package/dist/Logger.js +2 -5
  2. package/dist/Logger.js.map +1 -1
  3. package/dist/factories/createPrimitiveValueExpressions.d.ts +1 -1
  4. package/dist/factories/createPrimitiveValueExpressions.d.ts.map +1 -1
  5. package/dist/factories/createPrimitiveValueExpressions.js +8 -12
  6. package/dist/factories/createPrimitiveValueExpressions.js.map +1 -1
  7. package/dist/factories/createSqlTag.d.ts +3 -3
  8. package/dist/factories/createSqlTag.d.ts.map +1 -1
  9. package/dist/factories/createSqlTag.js +39 -43
  10. package/dist/factories/createSqlTag.js.map +1 -1
  11. package/dist/factories/createSqlTag.test/array.test.js +18 -23
  12. package/dist/factories/createSqlTag.test/array.test.js.map +1 -1
  13. package/dist/factories/createSqlTag.test/date.test.js +7 -12
  14. package/dist/factories/createSqlTag.test/date.test.js.map +1 -1
  15. package/dist/factories/createSqlTag.test/identifier.test.js +9 -14
  16. package/dist/factories/createSqlTag.test/identifier.test.js.map +1 -1
  17. package/dist/factories/createSqlTag.test/interval.test.js +9 -14
  18. package/dist/factories/createSqlTag.test/interval.test.js.map +1 -1
  19. package/dist/factories/createSqlTag.test/join.test.js +21 -26
  20. package/dist/factories/createSqlTag.test/join.test.js.map +1 -1
  21. package/dist/factories/createSqlTag.test/json.test.js +21 -26
  22. package/dist/factories/createSqlTag.test/json.test.js.map +1 -1
  23. package/dist/factories/createSqlTag.test/jsonb.test.js +21 -26
  24. package/dist/factories/createSqlTag.test/jsonb.test.js.map +1 -1
  25. package/dist/factories/createSqlTag.test/literalValue.test.js +6 -11
  26. package/dist/factories/createSqlTag.test/literalValue.test.js.map +1 -1
  27. package/dist/factories/createSqlTag.test/sql.test.js +17 -22
  28. package/dist/factories/createSqlTag.test/sql.test.js.map +1 -1
  29. package/dist/factories/createSqlTag.test/timestamp.test.js +7 -12
  30. package/dist/factories/createSqlTag.test/timestamp.test.js.map +1 -1
  31. package/dist/factories/createSqlTag.test/type.test.js +7 -12
  32. package/dist/factories/createSqlTag.test/type.test.js.map +1 -1
  33. package/dist/factories/createSqlTag.test/typeAlias.test.js +12 -17
  34. package/dist/factories/createSqlTag.test/typeAlias.test.js.map +1 -1
  35. package/dist/factories/createSqlTag.test/unnest.test.js +19 -24
  36. package/dist/factories/createSqlTag.test/unnest.test.js.map +1 -1
  37. package/dist/factories/createSqlTag.test/uuid.test.js +7 -12
  38. package/dist/factories/createSqlTag.test/uuid.test.js.map +1 -1
  39. package/dist/factories/createSqlTokenSqlFragment.d.ts +1 -1
  40. package/dist/factories/createSqlTokenSqlFragment.d.ts.map +1 -1
  41. package/dist/factories/createSqlTokenSqlFragment.js +55 -59
  42. package/dist/factories/createSqlTokenSqlFragment.js.map +1 -1
  43. package/dist/index.d.ts +5 -5
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +4 -24
  46. package/dist/index.js.map +1 -1
  47. package/dist/regexRules/slonikPlaceholderRegexRule.js +1 -4
  48. package/dist/regexRules/slonikPlaceholderRegexRule.js.map +1 -1
  49. package/dist/sqlFragmentFactories/createArraySqlFragment.d.ts +1 -1
  50. package/dist/sqlFragmentFactories/createArraySqlFragment.d.ts.map +1 -1
  51. package/dist/sqlFragmentFactories/createArraySqlFragment.js +18 -22
  52. package/dist/sqlFragmentFactories/createArraySqlFragment.js.map +1 -1
  53. package/dist/sqlFragmentFactories/createBinarySqlFragment.d.ts +1 -1
  54. package/dist/sqlFragmentFactories/createBinarySqlFragment.d.ts.map +1 -1
  55. package/dist/sqlFragmentFactories/createBinarySqlFragment.js +7 -11
  56. package/dist/sqlFragmentFactories/createBinarySqlFragment.js.map +1 -1
  57. package/dist/sqlFragmentFactories/createDateSqlFragment.d.ts +1 -1
  58. package/dist/sqlFragmentFactories/createDateSqlFragment.d.ts.map +1 -1
  59. package/dist/sqlFragmentFactories/createDateSqlFragment.js +7 -11
  60. package/dist/sqlFragmentFactories/createDateSqlFragment.js.map +1 -1
  61. package/dist/sqlFragmentFactories/createFragmentSqlFragment.d.ts +1 -1
  62. package/dist/sqlFragmentFactories/createFragmentSqlFragment.d.ts.map +1 -1
  63. package/dist/sqlFragmentFactories/createFragmentSqlFragment.js +10 -14
  64. package/dist/sqlFragmentFactories/createFragmentSqlFragment.js.map +1 -1
  65. package/dist/sqlFragmentFactories/createIdentifierSqlFragment.d.ts +1 -1
  66. package/dist/sqlFragmentFactories/createIdentifierSqlFragment.d.ts.map +1 -1
  67. package/dist/sqlFragmentFactories/createIdentifierSqlFragment.js +7 -11
  68. package/dist/sqlFragmentFactories/createIdentifierSqlFragment.js.map +1 -1
  69. package/dist/sqlFragmentFactories/createIntervalSqlFragment.d.ts +1 -1
  70. package/dist/sqlFragmentFactories/createIntervalSqlFragment.d.ts.map +1 -1
  71. package/dist/sqlFragmentFactories/createIntervalSqlFragment.js +16 -20
  72. package/dist/sqlFragmentFactories/createIntervalSqlFragment.js.map +1 -1
  73. package/dist/sqlFragmentFactories/createJsonSqlFragment.d.ts +1 -1
  74. package/dist/sqlFragmentFactories/createJsonSqlFragment.d.ts.map +1 -1
  75. package/dist/sqlFragmentFactories/createJsonSqlFragment.js +18 -22
  76. package/dist/sqlFragmentFactories/createJsonSqlFragment.js.map +1 -1
  77. package/dist/sqlFragmentFactories/createListSqlFragment.d.ts +1 -1
  78. package/dist/sqlFragmentFactories/createListSqlFragment.d.ts.map +1 -1
  79. package/dist/sqlFragmentFactories/createListSqlFragment.js +16 -20
  80. package/dist/sqlFragmentFactories/createListSqlFragment.js.map +1 -1
  81. package/dist/sqlFragmentFactories/createQuerySqlFragment.d.ts +1 -1
  82. package/dist/sqlFragmentFactories/createQuerySqlFragment.d.ts.map +1 -1
  83. package/dist/sqlFragmentFactories/createQuerySqlFragment.js +10 -14
  84. package/dist/sqlFragmentFactories/createQuerySqlFragment.js.map +1 -1
  85. package/dist/sqlFragmentFactories/createTimestampSqlFragment.d.ts +1 -1
  86. package/dist/sqlFragmentFactories/createTimestampSqlFragment.d.ts.map +1 -1
  87. package/dist/sqlFragmentFactories/createTimestampSqlFragment.js +8 -12
  88. package/dist/sqlFragmentFactories/createTimestampSqlFragment.js.map +1 -1
  89. package/dist/sqlFragmentFactories/createUnnestSqlFragment.d.ts +1 -1
  90. package/dist/sqlFragmentFactories/createUnnestSqlFragment.d.ts.map +1 -1
  91. package/dist/sqlFragmentFactories/createUnnestSqlFragment.js +17 -21
  92. package/dist/sqlFragmentFactories/createUnnestSqlFragment.js.map +1 -1
  93. package/dist/sqlFragmentFactories/createUuidSqlFragment.d.ts +1 -1
  94. package/dist/sqlFragmentFactories/createUuidSqlFragment.d.ts.map +1 -1
  95. package/dist/sqlFragmentFactories/createUuidSqlFragment.js +7 -11
  96. package/dist/sqlFragmentFactories/createUuidSqlFragment.js.map +1 -1
  97. package/dist/tokens.js +14 -17
  98. package/dist/tokens.js.map +1 -1
  99. package/dist/types.d.ts +6 -6
  100. package/dist/types.d.ts.map +1 -1
  101. package/dist/types.js +1 -2
  102. package/dist/utilities/countArrayDimensions.js +1 -5
  103. package/dist/utilities/countArrayDimensions.js.map +1 -1
  104. package/dist/utilities/countArrayDimensions.test.js +6 -11
  105. package/dist/utilities/countArrayDimensions.test.js.map +1 -1
  106. package/dist/utilities/escapeIdentifier.js +1 -5
  107. package/dist/utilities/escapeIdentifier.js.map +1 -1
  108. package/dist/utilities/escapeIdentifier.test.js +6 -11
  109. package/dist/utilities/escapeIdentifier.test.js.map +1 -1
  110. package/dist/utilities/escapeLiteralValue.js +1 -5
  111. package/dist/utilities/escapeLiteralValue.js.map +1 -1
  112. package/dist/utilities/escapeLiteralValue.test.js +7 -12
  113. package/dist/utilities/escapeLiteralValue.test.js.map +1 -1
  114. package/dist/utilities/formatSlonikPlaceholder.js +1 -5
  115. package/dist/utilities/formatSlonikPlaceholder.js.map +1 -1
  116. package/dist/utilities/hasOwnProperty.js +1 -5
  117. package/dist/utilities/hasOwnProperty.js.map +1 -1
  118. package/dist/utilities/isPlainObject.js +1 -5
  119. package/dist/utilities/isPlainObject.js.map +1 -1
  120. package/dist/utilities/isPrimitiveValueExpression.js +1 -5
  121. package/dist/utilities/isPrimitiveValueExpression.js.map +1 -1
  122. package/dist/utilities/isSqlToken.d.ts +1 -1
  123. package/dist/utilities/isSqlToken.d.ts.map +1 -1
  124. package/dist/utilities/isSqlToken.js +20 -24
  125. package/dist/utilities/isSqlToken.js.map +1 -1
  126. package/dist/utilities/safeStringify.js +3 -7
  127. package/dist/utilities/safeStringify.js.map +1 -1
  128. package/dist/utilities/stripArrayNotation.js +1 -5
  129. package/dist/utilities/stripArrayNotation.js.map +1 -1
  130. package/dist/utilities/stripArrayNotation.test.js +6 -11
  131. package/dist/utilities/stripArrayNotation.test.js.map +1 -1
  132. package/package.json +17 -36
  133. package/src/factories/createPrimitiveValueExpressions.ts +3 -3
  134. package/src/factories/createSqlTag.test/array.test.ts +2 -2
  135. package/src/factories/createSqlTag.test/date.test.ts +2 -2
  136. package/src/factories/createSqlTag.test/identifier.test.ts +2 -2
  137. package/src/factories/createSqlTag.test/interval.test.ts +2 -2
  138. package/src/factories/createSqlTag.test/join.test.ts +2 -2
  139. package/src/factories/createSqlTag.test/json.test.ts +2 -2
  140. package/src/factories/createSqlTag.test/jsonb.test.ts +2 -2
  141. package/src/factories/createSqlTag.test/literalValue.test.ts +2 -2
  142. package/src/factories/createSqlTag.test/sql.test.ts +4 -3
  143. package/src/factories/createSqlTag.test/timestamp.test.ts +2 -2
  144. package/src/factories/createSqlTag.test/type.test.ts +1 -1
  145. package/src/factories/createSqlTag.test/typeAlias.test.ts +3 -2
  146. package/src/factories/createSqlTag.test/unnest.test.ts +2 -2
  147. package/src/factories/createSqlTag.test/uuid.test.ts +2 -2
  148. package/src/factories/createSqlTag.ts +17 -16
  149. package/src/factories/createSqlTokenSqlFragment.ts +14 -14
  150. package/src/index.ts +5 -5
  151. package/src/sqlFragmentFactories/createArraySqlFragment.ts +7 -7
  152. package/src/sqlFragmentFactories/createBinarySqlFragment.ts +3 -3
  153. package/src/sqlFragmentFactories/createDateSqlFragment.ts +3 -3
  154. package/src/sqlFragmentFactories/createFragmentSqlFragment.ts +4 -4
  155. package/src/sqlFragmentFactories/createIdentifierSqlFragment.ts +3 -3
  156. package/src/sqlFragmentFactories/createIntervalSqlFragment.ts +3 -3
  157. package/src/sqlFragmentFactories/createJsonSqlFragment.ts +10 -10
  158. package/src/sqlFragmentFactories/createListSqlFragment.ts +11 -11
  159. package/src/sqlFragmentFactories/createQuerySqlFragment.ts +4 -4
  160. package/src/sqlFragmentFactories/createTimestampSqlFragment.ts +3 -3
  161. package/src/sqlFragmentFactories/createUnnestSqlFragment.ts +11 -11
  162. package/src/sqlFragmentFactories/createUuidSqlFragment.ts +3 -3
  163. package/src/types.ts +9 -6
  164. package/src/utilities/countArrayDimensions.test.ts +1 -1
  165. package/src/utilities/escapeIdentifier.test.ts +1 -1
  166. package/src/utilities/escapeLiteralValue.test.ts +1 -1
  167. package/src/utilities/isSqlToken.ts +3 -3
  168. package/src/utilities/stripArrayNotation.test.ts +1 -1
@@ -1,18 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeStringify = void 0;
4
- const safe_stable_stringify_1 = require("safe-stable-stringify");
5
- const stringify = (0, safe_stable_stringify_1.configure)({
1
+ import { configure } from 'safe-stable-stringify';
2
+ const stringify = configure({
6
3
  bigint: true,
7
4
  circularValue: '[Circular]',
8
5
  strict: true,
9
6
  });
10
- const safeStringify = (subject, replacer, space) => {
7
+ export const safeStringify = (subject, replacer, space) => {
11
8
  const result = stringify(subject, replacer, space);
12
9
  if (result === undefined) {
13
10
  throw new Error('Expected result to be string');
14
11
  }
15
12
  return result;
16
13
  };
17
- exports.safeStringify = safeStringify;
18
14
  //# sourceMappingURL=safeStringify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"safeStringify.js","sourceRoot":"","sources":["../../src/utilities/safeStringify.ts"],"names":[],"mappings":";;;AAAA,iEAAkD;AAElD,MAAM,SAAS,GAAG,IAAA,iCAAS,EAAC;IAC1B,MAAM,EAAE,IAAI;IACZ,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE,IAAI;CACb,CAAC,CAAC;AAEI,MAAM,aAAa,GAAG,CAC3B,OAAgB,EAChB,QAIa,EACb,KAAuB,EACf,EAAE;IACV,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB"}
1
+ {"version":3,"file":"safeStringify.js","sourceRoot":"","sources":["../../src/utilities/safeStringify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,SAAS,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,IAAI;IACZ,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE,IAAI;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAgB,EAChB,QAIa,EACb,KAAuB,EACf,EAAE;IACV,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stripArrayNotation = void 0;
4
- const stripArrayNotation = (identifierName) => {
1
+ export const stripArrayNotation = (identifierName) => {
5
2
  let tail = identifierName.trim();
6
3
  while (tail.endsWith('[]')) {
7
4
  tail = tail.trim().slice(0, -2);
8
5
  }
9
6
  return tail;
10
7
  };
11
- exports.stripArrayNotation = stripArrayNotation;
12
8
  //# sourceMappingURL=stripArrayNotation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripArrayNotation.js","sourceRoot":"","sources":["../../src/utilities/stripArrayNotation.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAAC,cAAsB,EAAU,EAAE;IACnE,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAEjC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B"}
1
+ {"version":3,"file":"stripArrayNotation.js","sourceRoot":"","sources":["../../src/utilities/stripArrayNotation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,cAAsB,EAAU,EAAE;IACnE,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAEjC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1,13 +1,8 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const stripArrayNotation_1 = require("./stripArrayNotation");
7
- const ava_1 = __importDefault(require("ava"));
8
- (0, ava_1.default)('strips array notation', (t) => {
9
- t.is((0, stripArrayNotation_1.stripArrayNotation)('foo'), 'foo');
10
- t.is((0, stripArrayNotation_1.stripArrayNotation)('foo[]'), 'foo');
11
- t.is((0, stripArrayNotation_1.stripArrayNotation)('foo[][]'), 'foo');
1
+ import { stripArrayNotation } from './stripArrayNotation.js';
2
+ import test from 'ava';
3
+ test('strips array notation', (t) => {
4
+ t.is(stripArrayNotation('foo'), 'foo');
5
+ t.is(stripArrayNotation('foo[]'), 'foo');
6
+ t.is(stripArrayNotation('foo[][]'), 'foo');
12
7
  });
13
8
  //# sourceMappingURL=stripArrayNotation.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripArrayNotation.test.js","sourceRoot":"","sources":["../../src/utilities/stripArrayNotation.test.ts"],"names":[],"mappings":";;;;;AAAA,6DAA0D;AAC1D,8CAAuB;AAEvB,IAAA,aAAI,EAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,CAAC,CAAC,EAAE,CAAC,IAAA,uCAAkB,EAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,EAAE,CAAC,IAAA,uCAAkB,EAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,IAAA,uCAAkB,EAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"stripArrayNotation.test.js","sourceRoot":"","sources":["../../src/utilities/stripArrayNotation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,IAAI,MAAM,KAAK,CAAC;AAEvB,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -11,31 +11,32 @@
11
11
  "files": [
12
12
  "src/**/*.test.ts"
13
13
  ],
14
- "require": [
15
- "ts-node/register/transpile-only"
14
+ "nodeArguments": [
15
+ "--import=tsimp"
16
16
  ]
17
17
  },
18
18
  "dependencies": {
19
- "@slonik/errors": "^47.3.2",
20
- "@slonik/types": "^47.3.2",
19
+ "@slonik/errors": "^48.1.0",
20
+ "@slonik/types": "^48.1.0",
21
21
  "roarr": "^7.21.1",
22
22
  "safe-stable-stringify": "^2.5.0",
23
- "serialize-error": "^8.0.0"
23
+ "serialize-error": "^12.0.0",
24
+ "zod": "^3.25.7"
24
25
  },
25
26
  "description": "A Node.js PostgreSQL client with strict types, detailed logging and assertions.",
26
27
  "devDependencies": {
27
- "@types/node": "^22.15.8",
28
+ "@standard-schema/spec": "^1.0.0",
29
+ "@types/node": "^22.15.19",
28
30
  "ava": "^6.3.0",
29
- "cspell": "^8.16.0",
30
- "eslint": "9.16.0",
31
- "nyc": "^15.1.0",
32
- "ts-node": "^10.9.1",
31
+ "cspell": "^9.0.1",
32
+ "eslint": "9.27.0",
33
+ "tsimp": "^2.0.12",
33
34
  "typescript": "^5.8.3",
34
- "zod": "^3.25.6",
35
- "@slonik/eslint-config": "^47.3.2"
35
+ "typescript-eslint": "^8.32.1",
36
+ "@slonik/eslint-config": "^48.1.0"
36
37
  },
37
38
  "engines": {
38
- "node": ">=18"
39
+ "node": ">=24"
39
40
  },
40
41
  "files": [
41
42
  "./src",
@@ -49,39 +50,19 @@
49
50
  "license": "BSD-3-Clause",
50
51
  "main": "./dist/index.js",
51
52
  "name": "@slonik/sql-tag",
52
- "nyc": {
53
- "all": true,
54
- "exclude": [
55
- "**/*.d.ts"
56
- ],
57
- "include": [
58
- "src/**/*.ts"
59
- ],
60
- "reporter": [
61
- "html",
62
- "text-summary"
63
- ],
64
- "require": [
65
- "ts-node/register/transpile-only"
66
- ],
67
- "silent": true,
68
- "sourceMap": false
69
- },
70
- "peerDependencies": {
71
- "zod": "^3"
72
- },
73
53
  "repository": {
74
54
  "type": "git",
75
55
  "url": "https://github.com/gajus/slonik"
76
56
  },
57
+ "type": "module",
77
58
  "types": "./dist/index.d.ts",
78
- "version": "47.3.2",
59
+ "version": "48.1.0",
79
60
  "scripts": {
80
61
  "build": "rm -fr ./dist && tsc --project ./tsconfig.json",
81
62
  "lint": "npm run lint:cspell && npm run lint:eslint && npm run lint:tsc",
82
63
  "lint:cspell": "cspell . --no-progress --gitignore",
83
64
  "lint:eslint": "eslint --cache ./src",
84
65
  "lint:tsc": "tsc --noEmit",
85
- "test": "nyc ava --verbose --serial"
66
+ "test": "ava --verbose --serial"
86
67
  }
87
68
  }
@@ -1,6 +1,6 @@
1
- import { Logger } from '../Logger';
2
- import { type PrimitiveValueExpression } from '../types';
3
- import { safeStringify } from '../utilities/safeStringify';
1
+ import { Logger } from '../Logger.js';
2
+ import type { PrimitiveValueExpression } from '../types.js';
3
+ import { safeStringify } from '../utilities/safeStringify.js';
4
4
  import { UnexpectedStateError } from '@slonik/errors';
5
5
 
6
6
  const log = Logger.child({
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,7 +1,8 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import { InvalidInputError } from '@slonik/errors';
4
- import anyTest, { type TestFn } from 'ava';
4
+ import anyTest from 'ava';
5
+ import type { TestFn } from 'ava';
5
6
  import { ROARR } from 'roarr';
6
7
 
7
8
  const test = anyTest as TestFn<{
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,4 +1,4 @@
1
- import { createSqlTag } from '../createSqlTag';
1
+ import { createSqlTag } from '../createSqlTag.js';
2
2
  import test from 'ava';
3
3
  import { z } from 'zod';
4
4
 
@@ -1,5 +1,6 @@
1
- import { createSqlTag } from '../createSqlTag';
2
- import anyTest, { type TestFn } from 'ava';
1
+ import { createSqlTag } from '../createSqlTag.js';
2
+ import anyTest from 'ava';
3
+ import type { TestFn } from 'ava';
3
4
  import { ROARR } from 'roarr';
4
5
  import { z } from 'zod';
5
6
 
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { FragmentToken } from '../../tokens';
2
- import { createSqlTag } from '../createSqlTag';
1
+ import { FragmentToken } from '../../tokens.js';
2
+ import { createSqlTag } from '../createSqlTag.js';
3
3
  import test from 'ava';
4
4
 
5
5
  const sql = createSqlTag();
@@ -1,5 +1,5 @@
1
- import { Logger } from '../Logger';
2
- import { type UUID } from '../sqlFragmentFactories/createUuidSqlFragment';
1
+ import { Logger } from '../Logger.js';
2
+ import type { UUID } from '../sqlFragmentFactories/createUuidSqlFragment.js';
3
3
  import {
4
4
  ArrayToken,
5
5
  BinaryToken,
@@ -14,20 +14,21 @@ import {
14
14
  TimestampToken,
15
15
  UnnestToken,
16
16
  UuidToken,
17
- } from '../tokens';
18
- import {
19
- type PrimitiveValueExpression,
20
- type SqlTag,
21
- type ValueExpression,
22
- } from '../types';
23
- import { escapeLiteralValue } from '../utilities/escapeLiteralValue';
24
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
25
- import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression';
26
- import { isSqlToken } from '../utilities/isSqlToken';
27
- import { safeStringify } from '../utilities/safeStringify';
28
- import { createSqlTokenSqlFragment } from './createSqlTokenSqlFragment';
17
+ } from '../tokens.js';
18
+ import type {
19
+ PrimitiveValueExpression,
20
+ SqlTag,
21
+ ValueExpression,
22
+ } from '../types.js';
23
+ import { escapeLiteralValue } from '../utilities/escapeLiteralValue.js';
24
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
25
+ import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression.js';
26
+ import { isSqlToken } from '../utilities/isSqlToken.js';
27
+ import { safeStringify } from '../utilities/safeStringify.js';
28
+ import { createSqlTokenSqlFragment } from './createSqlTokenSqlFragment.js';
29
29
  import { InvalidInputError } from '@slonik/errors';
30
- import { z, type ZodTypeAny } from 'zod';
30
+ import type { StandardSchemaV1 } from '@standard-schema/spec';
31
+ import { z } from 'zod';
31
32
 
32
33
  const log = Logger.child({
33
34
  namespace: 'sql',
@@ -108,7 +109,7 @@ const createFragment = (
108
109
 
109
110
  export const createSqlTag = <
110
111
  K extends PropertyKey,
111
- P extends ZodTypeAny,
112
+ P extends StandardSchemaV1,
112
113
  Z extends Record<K, P>,
113
114
  >(
114
115
  configuration: {
@@ -1,15 +1,15 @@
1
- import { createArraySqlFragment } from '../sqlFragmentFactories/createArraySqlFragment';
2
- import { createBinarySqlFragment } from '../sqlFragmentFactories/createBinarySqlFragment';
3
- import { createDateSqlFragment } from '../sqlFragmentFactories/createDateSqlFragment';
4
- import { createFragmentSqlFragment } from '../sqlFragmentFactories/createFragmentSqlFragment';
5
- import { createIdentifierSqlFragment } from '../sqlFragmentFactories/createIdentifierSqlFragment';
6
- import { createIntervalSqlFragment } from '../sqlFragmentFactories/createIntervalSqlFragment';
7
- import { createJsonSqlFragment } from '../sqlFragmentFactories/createJsonSqlFragment';
8
- import { createListSqlFragment } from '../sqlFragmentFactories/createListSqlFragment';
9
- import { createQuerySqlFragment } from '../sqlFragmentFactories/createQuerySqlFragment';
10
- import { createTimestampSqlFragment } from '../sqlFragmentFactories/createTimestampSqlFragment';
11
- import { createUnnestSqlFragment } from '../sqlFragmentFactories/createUnnestSqlFragment';
12
- import { createUuidSqlFragment } from '../sqlFragmentFactories/createUuidSqlFragment';
1
+ import { createArraySqlFragment } from '../sqlFragmentFactories/createArraySqlFragment.js';
2
+ import { createBinarySqlFragment } from '../sqlFragmentFactories/createBinarySqlFragment.js';
3
+ import { createDateSqlFragment } from '../sqlFragmentFactories/createDateSqlFragment.js';
4
+ import { createFragmentSqlFragment } from '../sqlFragmentFactories/createFragmentSqlFragment.js';
5
+ import { createIdentifierSqlFragment } from '../sqlFragmentFactories/createIdentifierSqlFragment.js';
6
+ import { createIntervalSqlFragment } from '../sqlFragmentFactories/createIntervalSqlFragment.js';
7
+ import { createJsonSqlFragment } from '../sqlFragmentFactories/createJsonSqlFragment.js';
8
+ import { createListSqlFragment } from '../sqlFragmentFactories/createListSqlFragment.js';
9
+ import { createQuerySqlFragment } from '../sqlFragmentFactories/createQuerySqlFragment.js';
10
+ import { createTimestampSqlFragment } from '../sqlFragmentFactories/createTimestampSqlFragment.js';
11
+ import { createUnnestSqlFragment } from '../sqlFragmentFactories/createUnnestSqlFragment.js';
12
+ import { createUuidSqlFragment } from '../sqlFragmentFactories/createUuidSqlFragment.js';
13
13
  import {
14
14
  ArrayToken,
15
15
  BinaryToken,
@@ -24,8 +24,8 @@ import {
24
24
  TimestampToken,
25
25
  UnnestToken,
26
26
  UuidToken,
27
- } from '../tokens';
28
- import { type SqlFragmentToken, type SqlToken as SqlTokenType } from '../types';
27
+ } from '../tokens.js';
28
+ import type { SqlFragmentToken, SqlToken as SqlTokenType } from '../types.js';
29
29
  import { UnexpectedStateError } from '@slonik/errors';
30
30
 
31
31
  export const createSqlTokenSqlFragment = (
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { createSqlTag } from './factories/createSqlTag';
2
- export { createSqlTokenSqlFragment } from './factories/createSqlTokenSqlFragment';
1
+ export { createSqlTag } from './factories/createSqlTag.js';
2
+ export { createSqlTokenSqlFragment } from './factories/createSqlTokenSqlFragment.js';
3
3
  export {
4
4
  ArrayToken,
5
5
  BinaryToken,
@@ -15,7 +15,7 @@ export {
15
15
  TimestampToken,
16
16
  UnnestToken,
17
17
  UuidToken,
18
- } from './tokens';
18
+ } from './tokens.js';
19
19
  export {
20
20
  type ArraySqlToken,
21
21
  type BinarySqlToken,
@@ -37,5 +37,5 @@ export {
37
37
  type UnnestSqlToken,
38
38
  type UuidSqlToken,
39
39
  type ValueExpression,
40
- } from './types';
41
- export { isSqlToken } from './utilities/isSqlToken';
40
+ } from './types.js';
41
+ export { isSqlToken } from './utilities/isSqlToken.js';
@@ -1,10 +1,10 @@
1
- import { createSqlTokenSqlFragment } from '../factories/createSqlTokenSqlFragment';
2
- import { FragmentToken } from '../tokens';
3
- import { type ArraySqlToken, type SqlFragmentToken } from '../types';
4
- import { escapeIdentifier } from '../utilities/escapeIdentifier';
5
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
6
- import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression';
7
- import { isSqlToken } from '../utilities/isSqlToken';
1
+ import { createSqlTokenSqlFragment } from '../factories/createSqlTokenSqlFragment.js';
2
+ import { FragmentToken } from '../tokens.js';
3
+ import type { ArraySqlToken, SqlFragmentToken } from '../types.js';
4
+ import { escapeIdentifier } from '../utilities/escapeIdentifier.js';
5
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
6
+ import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression.js';
7
+ import { isSqlToken } from '../utilities/isSqlToken.js';
8
8
  import { InvalidInputError, UnexpectedStateError } from '@slonik/errors';
9
9
 
10
10
  export const createArraySqlFragment = (
@@ -1,6 +1,6 @@
1
- import { FragmentToken } from '../tokens';
2
- import { type BinarySqlToken, type SqlFragmentToken } from '../types';
3
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
1
+ import { FragmentToken } from '../tokens.js';
2
+ import type { BinarySqlToken, SqlFragmentToken } from '../types.js';
3
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
4
4
  import { InvalidInputError } from '@slonik/errors';
5
5
 
6
6
  export const createBinarySqlFragment = (
@@ -1,6 +1,6 @@
1
- import { FragmentToken } from '../tokens';
2
- import { type DateSqlToken, type SqlFragmentToken } from '../types';
3
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
1
+ import { FragmentToken } from '../tokens.js';
2
+ import type { DateSqlToken, SqlFragmentToken } from '../types.js';
3
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
4
4
  import { InvalidInputError } from '@slonik/errors';
5
5
 
6
6
  export const createDateSqlFragment = (
@@ -1,7 +1,7 @@
1
- import { slonikPlaceholderRegexRule } from '../regexRules/slonikPlaceholderRegexRule';
2
- import { FragmentToken } from '../tokens';
3
- import { type FragmentSqlToken, type SqlFragmentToken } from '../types';
4
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
1
+ import { slonikPlaceholderRegexRule } from '../regexRules/slonikPlaceholderRegexRule.js';
2
+ import { FragmentToken } from '../tokens.js';
3
+ import type { FragmentSqlToken, SqlFragmentToken } from '../types.js';
4
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
5
5
  import { UnexpectedStateError } from '@slonik/errors';
6
6
 
7
7
  export const createFragmentSqlFragment = (
@@ -1,6 +1,6 @@
1
- import { FragmentToken } from '../tokens';
2
- import { type IdentifierSqlToken, type SqlFragmentToken } from '../types';
3
- import { escapeIdentifier } from '../utilities/escapeIdentifier';
1
+ import { FragmentToken } from '../tokens.js';
2
+ import type { IdentifierSqlToken, SqlFragmentToken } from '../types.js';
3
+ import { escapeIdentifier } from '../utilities/escapeIdentifier.js';
4
4
  import { InvalidInputError } from '@slonik/errors';
5
5
 
6
6
  export const createIdentifierSqlFragment = (
@@ -1,6 +1,6 @@
1
- import { FragmentToken } from '../tokens';
2
- import { type IntervalSqlToken, type SqlFragmentToken } from '../types';
3
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
1
+ import { FragmentToken } from '../tokens.js';
2
+ import type { IntervalSqlToken, SqlFragmentToken } from '../types.js';
3
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
4
4
  import { InvalidInputError } from '@slonik/errors';
5
5
  import { z } from 'zod';
6
6
 
@@ -1,13 +1,13 @@
1
- import { Logger } from '../Logger';
2
- import { FragmentToken } from '../tokens';
3
- import {
4
- type JsonBinarySqlToken,
5
- type JsonSqlToken,
6
- type SqlFragmentToken,
7
- } from '../types';
8
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
9
- import { isPlainObject } from '../utilities/isPlainObject';
10
- import { safeStringify } from '../utilities/safeStringify';
1
+ import { Logger } from '../Logger.js';
2
+ import { FragmentToken } from '../tokens.js';
3
+ import type {
4
+ JsonBinarySqlToken,
5
+ JsonSqlToken,
6
+ SqlFragmentToken,
7
+ } from '../types.js';
8
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
9
+ import { isPlainObject } from '../utilities/isPlainObject.js';
10
+ import { safeStringify } from '../utilities/safeStringify.js';
11
11
  import { InvalidInputError } from '@slonik/errors';
12
12
  import { serializeError } from 'serialize-error';
13
13
 
@@ -1,14 +1,14 @@
1
- import { createPrimitiveValueExpressions } from '../factories/createPrimitiveValueExpressions';
2
- import { createSqlTokenSqlFragment } from '../factories/createSqlTokenSqlFragment';
3
- import { FragmentToken } from '../tokens';
4
- import {
5
- type ListSqlToken,
6
- type PrimitiveValueExpression,
7
- type SqlFragmentToken,
8
- } from '../types';
9
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
10
- import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression';
11
- import { isSqlToken } from '../utilities/isSqlToken';
1
+ import { createPrimitiveValueExpressions } from '../factories/createPrimitiveValueExpressions.js';
2
+ import { createSqlTokenSqlFragment } from '../factories/createSqlTokenSqlFragment.js';
3
+ import { FragmentToken } from '../tokens.js';
4
+ import type {
5
+ ListSqlToken,
6
+ PrimitiveValueExpression,
7
+ SqlFragmentToken,
8
+ } from '../types.js';
9
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
10
+ import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression.js';
11
+ import { isSqlToken } from '../utilities/isSqlToken.js';
12
12
  import { InvalidInputError } from '@slonik/errors';
13
13
 
14
14
  export const createListSqlFragment = (
@@ -1,7 +1,7 @@
1
- import { slonikPlaceholderRegexRule } from '../regexRules/slonikPlaceholderRegexRule';
2
- import { FragmentToken } from '../tokens';
3
- import { type QuerySqlToken, type SqlFragmentToken } from '../types';
4
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
1
+ import { slonikPlaceholderRegexRule } from '../regexRules/slonikPlaceholderRegexRule.js';
2
+ import { FragmentToken } from '../tokens.js';
3
+ import type { QuerySqlToken, SqlFragmentToken } from '../types.js';
4
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
5
5
  import { UnexpectedStateError } from '@slonik/errors';
6
6
 
7
7
  export const createQuerySqlFragment = (
@@ -1,6 +1,6 @@
1
- import { FragmentToken } from '../tokens';
2
- import { type SqlFragmentToken, type TimestampSqlToken } from '../types';
3
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
1
+ import { FragmentToken } from '../tokens.js';
2
+ import type { SqlFragmentToken, TimestampSqlToken } from '../types.js';
3
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
4
4
  import { InvalidInputError } from '@slonik/errors';
5
5
 
6
6
  export const createTimestampSqlFragment = (
@@ -1,14 +1,14 @@
1
- import { FragmentToken } from '../tokens';
2
- import {
3
- type PrimitiveValueExpression,
4
- type SqlFragmentToken,
5
- type UnnestSqlToken,
6
- } from '../types';
7
- import { countArrayDimensions } from '../utilities/countArrayDimensions';
8
- import { escapeIdentifier } from '../utilities/escapeIdentifier';
9
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
10
- import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression';
11
- import { stripArrayNotation } from '../utilities/stripArrayNotation';
1
+ import { FragmentToken } from '../tokens.js';
2
+ import type {
3
+ PrimitiveValueExpression,
4
+ SqlFragmentToken,
5
+ UnnestSqlToken,
6
+ } from '../types.js';
7
+ import { countArrayDimensions } from '../utilities/countArrayDimensions.js';
8
+ import { escapeIdentifier } from '../utilities/escapeIdentifier.js';
9
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
10
+ import { isPrimitiveValueExpression } from '../utilities/isPrimitiveValueExpression.js';
11
+ import { stripArrayNotation } from '../utilities/stripArrayNotation.js';
12
12
  import { InvalidInputError } from '@slonik/errors';
13
13
 
14
14
  export const createUnnestSqlFragment = (
@@ -1,6 +1,6 @@
1
- import { FragmentToken } from '../tokens';
2
- import { type SqlFragmentToken, type UuidSqlToken } from '../types';
3
- import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
1
+ import { FragmentToken } from '../tokens.js';
2
+ import type { SqlFragmentToken, UuidSqlToken } from '../types.js';
3
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder.js';
4
4
  import { InvalidInputError } from '@slonik/errors';
5
5
 
6
6
  export type UUID = `${string}-${string}-${string}-${string}-${string}`;