@slonik/sql-tag 46.2.0 → 46.3.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 (36) hide show
  1. package/dist/factories/createSqlTag.d.ts.map +1 -1
  2. package/dist/factories/createSqlTag.js +6 -0
  3. package/dist/factories/createSqlTag.js.map +1 -1
  4. package/dist/factories/createSqlTag.test/uuid.test.d.ts +2 -0
  5. package/dist/factories/createSqlTag.test/uuid.test.d.ts.map +1 -0
  6. package/dist/factories/createSqlTag.test/uuid.test.js +24 -0
  7. package/dist/factories/createSqlTag.test/uuid.test.js.map +1 -0
  8. package/dist/factories/createSqlTokenSqlFragment.d.ts.map +1 -1
  9. package/dist/factories/createSqlTokenSqlFragment.js +4 -0
  10. package/dist/factories/createSqlTokenSqlFragment.js.map +1 -1
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/sqlFragmentFactories/createUuidSqlFragment.d.ts +4 -0
  16. package/dist/sqlFragmentFactories/createUuidSqlFragment.d.ts.map +1 -0
  17. package/dist/sqlFragmentFactories/createUuidSqlFragment.js +23 -0
  18. package/dist/sqlFragmentFactories/createUuidSqlFragment.js.map +1 -0
  19. package/dist/tokens.d.ts +1 -0
  20. package/dist/tokens.d.ts.map +1 -1
  21. package/dist/tokens.js +2 -1
  22. package/dist/tokens.js.map +1 -1
  23. package/dist/types.d.ts +41 -36
  24. package/dist/types.d.ts.map +1 -1
  25. package/dist/utilities/isSqlToken.d.ts.map +1 -1
  26. package/dist/utilities/isSqlToken.js +1 -0
  27. package/dist/utilities/isSqlToken.js.map +1 -1
  28. package/package.json +5 -5
  29. package/src/factories/createSqlTag.test/uuid.test.ts +25 -0
  30. package/src/factories/createSqlTag.ts +8 -0
  31. package/src/factories/createSqlTokenSqlFragment.ts +4 -0
  32. package/src/index.ts +2 -0
  33. package/src/sqlFragmentFactories/createUuidSqlFragment.ts +28 -0
  34. package/src/tokens.ts +1 -0
  35. package/src/types.ts +88 -81
  36. package/src/utilities/isSqlToken.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"createSqlTag.d.ts","sourceRoot":"","sources":["../../src/factories/createSqlTag.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,MAAM,EAEZ,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAK,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AA+EzC,eAAO,MAAM,YAAY,GACvB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,kBAEP;IACb,WAAW,CAAC,EAAE,CAAC,CAAC;CACjB,KACA,MAAM,CAAC,CAAC,CAsHV,CAAC"}
1
+ {"version":3,"file":"createSqlTag.d.ts","sourceRoot":"","sources":["../../src/factories/createSqlTag.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEL,KAAK,MAAM,EAEZ,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAK,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AA+EzC,eAAO,MAAM,YAAY,GACvB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,kBAEP;IACb,WAAW,CAAC,EAAE,CAAC,CAAC;CACjB,KACA,MAAM,CAAC,CAAC,CA4HV,CAAC"}
@@ -167,6 +167,12 @@ const createSqlTag = (configuration = {}) => {
167
167
  type: tokens_1.QueryToken,
168
168
  });
169
169
  },
170
+ uuid: (uuid) => {
171
+ return Object.freeze({
172
+ type: tokens_1.UuidToken,
173
+ uuid: uuid,
174
+ });
175
+ },
170
176
  };
171
177
  };
172
178
  exports.createSqlTag = createSqlTag;
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=uuid.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/uuid.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
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 tokens_1 = require("../../tokens");
7
+ const createSqlTag_1 = require("../createSqlTag");
8
+ const ava_1 = __importDefault(require("ava"));
9
+ const sql = (0, createSqlTag_1.createSqlTag)();
10
+ (0, ava_1.default)('binds a uuid', (t) => {
11
+ const query = sql.fragment `SELECT ${sql.uuid('00000000-0000-0000-0000-000000000000')}`;
12
+ t.deepEqual(query, {
13
+ sql: 'SELECT $slonik_1::uuid',
14
+ type: tokens_1.FragmentToken,
15
+ values: ['00000000-0000-0000-0000-000000000000'],
16
+ });
17
+ });
18
+ (0, ava_1.default)('throws if not valid uuid', (t) => {
19
+ const error = t.throws(() => {
20
+ sql.fragment `SELECT ${sql.uuid('1')}`;
21
+ });
22
+ t.is(error?.message, 'UUID parameter value must be a valid UUID.');
23
+ });
24
+ //# sourceMappingURL=uuid.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/uuid.test.ts"],"names":[],"mappings":";;;;;AAAA,yCAA6C;AAC7C,kDAA+C;AAC/C,8CAAuB;AAEvB,MAAM,GAAG,GAAG,IAAA,2BAAY,GAAE,CAAC;AAE3B,IAAA,aAAI,EAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAA,UAAU,GAAG,CAAC,IAAI,CAC1C,sCAAsC,CACvC,EAAE,CAAC;IAEJ,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE;QACjB,GAAG,EAAE,wBAAwB;QAC7B,IAAI,EAAE,sBAAa;QACnB,MAAM,EAAE,CAAC,sCAAsC,CAAC;KACjD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAC1B,GAAG,CAAC,QAAQ,CAAA,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,4CAA4C,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSqlTokenSqlFragment.d.ts","sourceRoot":"","sources":["../../src/factories/createSqlTokenSqlFragment.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAGhF,eAAO,MAAM,yBAAyB,UAC7B,YAAY,6BACQ,MAAM,KAChC,gBA4BF,CAAC"}
1
+ {"version":3,"file":"createSqlTokenSqlFragment.d.ts","sourceRoot":"","sources":["../../src/factories/createSqlTokenSqlFragment.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAGhF,eAAO,MAAM,yBAAyB,UAC7B,YAAY,6BACQ,MAAM,KAChC,gBA8BF,CAAC"}
@@ -12,6 +12,7 @@ const createListSqlFragment_1 = require("../sqlFragmentFactories/createListSqlFr
12
12
  const createQuerySqlFragment_1 = require("../sqlFragmentFactories/createQuerySqlFragment");
13
13
  const createTimestampSqlFragment_1 = require("../sqlFragmentFactories/createTimestampSqlFragment");
14
14
  const createUnnestSqlFragment_1 = require("../sqlFragmentFactories/createUnnestSqlFragment");
15
+ const createUuidSqlFragment_1 = require("../sqlFragmentFactories/createUuidSqlFragment");
15
16
  const tokens_1 = require("../tokens");
16
17
  const errors_1 = require("@slonik/errors");
17
18
  const createSqlTokenSqlFragment = (token, greatestParameterPosition) => {
@@ -51,6 +52,9 @@ const createSqlTokenSqlFragment = (token, greatestParameterPosition) => {
51
52
  else if (token.type === tokens_1.UnnestToken) {
52
53
  return (0, createUnnestSqlFragment_1.createUnnestSqlFragment)(token, greatestParameterPosition);
53
54
  }
55
+ else if (token.type === tokens_1.UuidToken) {
56
+ return (0, createUuidSqlFragment_1.createUuidSqlFragment)(token, greatestParameterPosition);
57
+ }
54
58
  throw new errors_1.UnexpectedStateError('Unexpected token type.');
55
59
  };
56
60
  exports.createSqlTokenSqlFragment = createSqlTokenSqlFragment;
@@ -1 +1 @@
1
- {"version":3,"file":"createSqlTokenSqlFragment.js","sourceRoot":"","sources":["../../src/factories/createSqlTokenSqlFragment.ts"],"names":[],"mappings":";;;AAAA,2FAAwF;AACxF,6FAA0F;AAC1F,yFAAsF;AACtF,iGAA8F;AAC9F,qGAAkG;AAClG,iGAA8F;AAC9F,yFAAsF;AACtF,yFAAsF;AACtF,2FAAwF;AACxF,mGAAgG;AAChG,6FAA0F;AAC1F,sCAamB;AAEnB,2CAAsD;AAE/C,MAAM,yBAAyB,GAAG,CACvC,KAAmB,EACnB,yBAAiC,EACf,EAAE;IACpB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAU,EAAE,CAAC;QAC9B,OAAO,IAAA,+CAAsB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAW,EAAE,CAAC;QACtC,OAAO,IAAA,iDAAuB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAS,EAAE,CAAC;QACpC,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAa,EAAE,CAAC;QACxC,OAAO,IAAA,qDAAyB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAe,EAAE,CAAC;QAC1C,OAAO,IAAA,yDAA2B,EAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAa,EAAE,CAAC;QACxC,OAAO,IAAA,qDAAyB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAe,EAAE,CAAC;QAC1C,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAS,EAAE,CAAC;QACpC,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAS,EAAE,CAAC;QACpC,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAU,EAAE,CAAC;QACrC,OAAO,IAAA,+CAAsB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAc,EAAE,CAAC;QACzC,OAAO,IAAA,uDAA0B,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAW,EAAE,CAAC;QACtC,OAAO,IAAA,iDAAuB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,6BAAoB,CAAC,wBAAwB,CAAC,CAAC;AAC3D,CAAC,CAAC;AA/BW,QAAA,yBAAyB,6BA+BpC"}
1
+ {"version":3,"file":"createSqlTokenSqlFragment.js","sourceRoot":"","sources":["../../src/factories/createSqlTokenSqlFragment.ts"],"names":[],"mappings":";;;AAAA,2FAAwF;AACxF,6FAA0F;AAC1F,yFAAsF;AACtF,iGAA8F;AAC9F,qGAAkG;AAClG,iGAA8F;AAC9F,yFAAsF;AACtF,yFAAsF;AACtF,2FAAwF;AACxF,mGAAgG;AAChG,6FAA0F;AAC1F,yFAAsF;AACtF,sCAcmB;AAEnB,2CAAsD;AAE/C,MAAM,yBAAyB,GAAG,CACvC,KAAmB,EACnB,yBAAiC,EACf,EAAE;IACpB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAU,EAAE,CAAC;QAC9B,OAAO,IAAA,+CAAsB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAW,EAAE,CAAC;QACtC,OAAO,IAAA,iDAAuB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAS,EAAE,CAAC;QACpC,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAa,EAAE,CAAC;QACxC,OAAO,IAAA,qDAAyB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAe,EAAE,CAAC;QAC1C,OAAO,IAAA,yDAA2B,EAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAa,EAAE,CAAC;QACxC,OAAO,IAAA,qDAAyB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAe,EAAE,CAAC;QAC1C,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAS,EAAE,CAAC;QACpC,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAS,EAAE,CAAC;QACpC,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAU,EAAE,CAAC;QACrC,OAAO,IAAA,+CAAsB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAc,EAAE,CAAC;QACzC,OAAO,IAAA,uDAA0B,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAW,EAAE,CAAC;QACtC,OAAO,IAAA,iDAAuB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAS,EAAE,CAAC;QACpC,OAAO,IAAA,6CAAqB,EAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,IAAI,6BAAoB,CAAC,wBAAwB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAjCW,QAAA,yBAAyB,6BAiCpC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { createSqlTag } from './factories/createSqlTag';
2
2
  export { createSqlTokenSqlFragment } from './factories/createSqlTokenSqlFragment';
3
- export { ArrayToken, BinaryToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, } from './tokens';
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 ValueExpression, } from './types';
3
+ export { ArrayToken, BinaryToken, ComparisonPredicateToken, DateToken, FragmentToken, IdentifierToken, IntervalToken, JsonBinaryToken, JsonToken, ListToken, QueryToken, TimestampToken, UnnestToken, UuidToken, } from './tokens';
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';
5
5
  export { isSqlToken } from './utilities/isSqlToken';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,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,GACZ,MAAM,UAAU,CAAC;AAClB,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,eAAe,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,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,UAAU,CAAC;AAClB,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,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSqlToken = exports.UnnestToken = exports.TimestampToken = exports.QueryToken = exports.ListToken = exports.JsonToken = exports.JsonBinaryToken = exports.IntervalToken = exports.IdentifierToken = exports.FragmentToken = exports.DateToken = exports.ComparisonPredicateToken = exports.BinaryToken = exports.ArrayToken = exports.createSqlTokenSqlFragment = exports.createSqlTag = void 0;
3
+ exports.isSqlToken = exports.UuidToken = exports.UnnestToken = exports.TimestampToken = exports.QueryToken = exports.ListToken = exports.JsonToken = exports.JsonBinaryToken = exports.IntervalToken = exports.IdentifierToken = exports.FragmentToken = exports.DateToken = exports.ComparisonPredicateToken = exports.BinaryToken = exports.ArrayToken = exports.createSqlTokenSqlFragment = exports.createSqlTag = void 0;
4
4
  var createSqlTag_1 = require("./factories/createSqlTag");
5
5
  Object.defineProperty(exports, "createSqlTag", { enumerable: true, get: function () { return createSqlTag_1.createSqlTag; } });
6
6
  var createSqlTokenSqlFragment_1 = require("./factories/createSqlTokenSqlFragment");
@@ -19,6 +19,7 @@ Object.defineProperty(exports, "ListToken", { enumerable: true, get: function ()
19
19
  Object.defineProperty(exports, "QueryToken", { enumerable: true, get: function () { return tokens_1.QueryToken; } });
20
20
  Object.defineProperty(exports, "TimestampToken", { enumerable: true, get: function () { return tokens_1.TimestampToken; } });
21
21
  Object.defineProperty(exports, "UnnestToken", { enumerable: true, get: function () { return tokens_1.UnnestToken; } });
22
+ Object.defineProperty(exports, "UuidToken", { enumerable: true, get: function () { return tokens_1.UuidToken; } });
22
23
  var isSqlToken_1 = require("./utilities/isSqlToken");
23
24
  Object.defineProperty(exports, "isSqlToken", { enumerable: true, get: function () { return isSqlToken_1.isSqlToken; } });
24
25
  //# 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,yDAAwD;AAA/C,4GAAA,YAAY,OAAA;AACrB,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,mCAckB;AAbhB,oGAAA,UAAU,OAAA;AACV,qGAAA,WAAW,OAAA;AACX,kHAAA,wBAAwB,OAAA;AACxB,mGAAA,SAAS,OAAA;AACT,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AAuBb,qDAAoD;AAA3C,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AAA/C,4GAAA,YAAY,OAAA;AACrB,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,mCAekB;AAdhB,oGAAA,UAAU,OAAA;AACV,qGAAA,WAAW,OAAA;AACX,kHAAA,wBAAwB,OAAA;AACxB,mGAAA,SAAS,OAAA;AACT,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AAwBX,qDAAoD;AAA3C,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type SqlFragmentToken, type UuidSqlToken } from '../types';
2
+ export type UUID = `${string}-${string}-${string}-${string}-${string}`;
3
+ export declare const createUuidSqlFragment: (token: UuidSqlToken, greatestParameterPosition: number) => SqlFragmentToken;
4
+ //# sourceMappingURL=createUuidSqlFragment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUuidSqlFragment.d.ts","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUuidSqlFragment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAIpE,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AASvE,eAAO,MAAM,qBAAqB,UACzB,YAAY,6BACQ,MAAM,KAChC,gBAUF,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createUuidSqlFragment = void 0;
4
+ const tokens_1 = require("../tokens");
5
+ const formatSlonikPlaceholder_1 = require("../utilities/formatSlonikPlaceholder");
6
+ const errors_1 = require("@slonik/errors");
7
+ // eslint-disable-next-line func-style
8
+ function isValidUuid(uuid) {
9
+ const uuidRegex = /^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu;
10
+ return uuidRegex.test(uuid);
11
+ }
12
+ const createUuidSqlFragment = (token, greatestParameterPosition) => {
13
+ if (!isValidUuid(token.uuid)) {
14
+ throw new errors_1.InvalidInputError('UUID parameter value must be a valid UUID.');
15
+ }
16
+ return {
17
+ sql: (0, formatSlonikPlaceholder_1.formatSlonikPlaceholder)(greatestParameterPosition + 1) + '::uuid',
18
+ type: tokens_1.FragmentToken,
19
+ values: [token.uuid],
20
+ };
21
+ };
22
+ exports.createUuidSqlFragment = createUuidSqlFragment;
23
+ //# sourceMappingURL=createUuidSqlFragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUuidSqlFragment.js","sourceRoot":"","sources":["../../src/sqlFragmentFactories/createUuidSqlFragment.ts"],"names":[],"mappings":";;;AAAA,sCAA0C;AAE1C,kFAA+E;AAC/E,2CAAmD;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;AAEM,MAAM,qBAAqB,GAAG,CACnC,KAAmB,EACnB,yBAAiC,EACf,EAAE;IACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,0BAAiB,CAAC,4CAA4C,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,GAAG,EAAE,IAAA,iDAAuB,EAAC,yBAAyB,GAAG,CAAC,CAAC,GAAG,QAAQ;QACtE,IAAI,EAAE,sBAAa;QACnB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;KACrB,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,qBAAqB,yBAahC"}
package/dist/tokens.d.ts CHANGED
@@ -11,4 +11,5 @@ export declare const ListToken: unique symbol;
11
11
  export declare const QueryToken: unique symbol;
12
12
  export declare const TimestampToken: unique symbol;
13
13
  export declare const UnnestToken: unique symbol;
14
+ export declare const UuidToken: unique symbol;
14
15
  //# sourceMappingURL=tokens.d.ts.map
@@ -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"}
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"}
package/dist/tokens.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnnestToken = exports.TimestampToken = exports.QueryToken = exports.ListToken = exports.JsonToken = exports.JsonBinaryToken = exports.IntervalToken = exports.IdentifierToken = exports.FragmentToken = exports.DateToken = exports.ComparisonPredicateToken = exports.BinaryToken = exports.ArrayToken = void 0;
3
+ exports.UuidToken = exports.UnnestToken = exports.TimestampToken = exports.QueryToken = exports.ListToken = exports.JsonToken = exports.JsonBinaryToken = exports.IntervalToken = exports.IdentifierToken = exports.FragmentToken = exports.DateToken = exports.ComparisonPredicateToken = exports.BinaryToken = exports.ArrayToken = void 0;
4
4
  exports.ArrayToken = Symbol.for('SLONIK_TOKEN_ARRAY');
5
5
  exports.BinaryToken = Symbol.for('SLONIK_TOKEN_BINARY');
6
6
  exports.ComparisonPredicateToken = Symbol.for('SLONIK_TOKEN_COMPARISON_PREDICATE');
@@ -14,4 +14,5 @@ exports.ListToken = Symbol.for('SLONIK_TOKEN_LIST');
14
14
  exports.QueryToken = Symbol.for('SLONIK_TOKEN_QUERY');
15
15
  exports.TimestampToken = Symbol.for('SLONIK_TOKEN_TIMESTAMP');
16
16
  exports.UnnestToken = Symbol.for('SLONIK_TOKEN_UNNEST');
17
+ exports.UuidToken = Symbol.for('SLONIK_TOKEN_UUID');
17
18
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9C,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAChD,QAAA,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAChD,mCAAmC,CACpC,CAAC;AACW,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC5C,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACpD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACxD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACpD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACzD,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC5C,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC5C,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9C,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACtD,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9C,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAChD,QAAA,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAChD,mCAAmC,CACpC,CAAC;AACW,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC5C,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACpD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACxD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACpD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACzD,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC5C,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC5C,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9C,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACtD,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAChD,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -2,29 +2,6 @@ import type * as tokens from './tokens';
2
2
  import { type PrimitiveValueExpression } from '@slonik/types';
3
3
  import { type ZodTypeAny } from 'zod';
4
4
  export { type PrimitiveValueExpression } from '@slonik/types';
5
- export type SerializableValue = {
6
- [key: string]: SerializableValue;
7
- } | boolean | null | number | readonly SerializableValue[] | SerializableValue[] | string | undefined;
8
- export type IntervalInput = {
9
- days?: number;
10
- hours?: number;
11
- minutes?: number;
12
- months?: number;
13
- seconds?: number;
14
- weeks?: number;
15
- years?: number;
16
- };
17
- export type SqlFragmentToken = {
18
- readonly sql: string;
19
- readonly type: typeof tokens.FragmentToken;
20
- readonly values: readonly PrimitiveValueExpression[];
21
- };
22
- export type ValueExpression = PrimitiveValueExpression | SqlFragmentToken | SqlToken;
23
- /**
24
- * "string" type covers all type name identifiers – the literal values are added only to assist developer
25
- * experience with auto suggestions for commonly used type name identifiers.
26
- */
27
- type TypeNameIdentifier = 'bool' | 'bytea' | 'float4' | 'float8' | 'int2' | 'int4' | 'int8' | 'json' | 'text' | 'timestamptz' | 'uuid' | string;
28
5
  export type ArraySqlToken = {
29
6
  readonly memberType: SqlFragmentToken | TypeNameIdentifier;
30
7
  readonly type: typeof tokens.ArrayToken;
@@ -47,15 +24,19 @@ export type IdentifierSqlToken = {
47
24
  readonly names: readonly string[];
48
25
  readonly type: typeof tokens.IdentifierToken;
49
26
  };
27
+ export type IntervalInput = {
28
+ days?: number;
29
+ hours?: number;
30
+ minutes?: number;
31
+ months?: number;
32
+ seconds?: number;
33
+ weeks?: number;
34
+ years?: number;
35
+ };
50
36
  export type IntervalSqlToken = {
51
37
  readonly interval: IntervalInput;
52
38
  readonly type: typeof tokens.IntervalToken;
53
39
  };
54
- export type ListSqlToken = {
55
- readonly glue: SqlFragmentToken;
56
- readonly members: readonly ValueExpression[];
57
- readonly type: typeof tokens.ListToken;
58
- };
59
40
  export type JsonBinarySqlToken = {
60
41
  readonly type: typeof tokens.JsonBinaryToken;
61
42
  readonly value: SerializableValue;
@@ -64,22 +45,25 @@ export type JsonSqlToken = {
64
45
  readonly type: typeof tokens.JsonToken;
65
46
  readonly value: SerializableValue;
66
47
  };
48
+ export type ListSqlToken = {
49
+ readonly glue: SqlFragmentToken;
50
+ readonly members: readonly ValueExpression[];
51
+ readonly type: typeof tokens.ListToken;
52
+ };
67
53
  export type QuerySqlToken<T extends ZodTypeAny = ZodTypeAny> = {
68
54
  readonly parser: T;
69
55
  readonly sql: string;
70
56
  readonly type: typeof tokens.QueryToken;
71
57
  readonly values: readonly PrimitiveValueExpression[];
72
58
  };
73
- export type TimestampSqlToken = {
74
- readonly date: Date;
75
- readonly type: typeof tokens.TimestampToken;
59
+ export type SerializableValue = boolean | null | number | readonly SerializableValue[] | SerializableValue[] | string | undefined | {
60
+ [key: string]: SerializableValue;
76
61
  };
77
- export type UnnestSqlToken = {
78
- readonly columnTypes: Array<[...string[], TypeNameIdentifier]> | Array<SqlFragmentToken | TypeNameIdentifier>;
79
- readonly tuples: ReadonlyArray<readonly ValueExpression[]>;
80
- readonly type: typeof tokens.UnnestToken;
62
+ export type SqlFragmentToken = {
63
+ readonly sql: string;
64
+ readonly type: typeof tokens.FragmentToken;
65
+ readonly values: readonly PrimitiveValueExpression[];
81
66
  };
82
- export type SqlToken = ArraySqlToken | BinarySqlToken | DateSqlToken | FragmentSqlToken | IdentifierSqlToken | IntervalSqlToken | JsonBinarySqlToken | JsonSqlToken | ListSqlToken | QuerySqlToken | TimestampSqlToken | UnnestSqlToken;
83
67
  export type SqlTag<Z extends Record<string, ZodTypeAny> = Record<string, ZodTypeAny>> = {
84
68
  array: (values: readonly PrimitiveValueExpression[], memberType: SqlFragmentToken | TypeNameIdentifier) => ArraySqlToken;
85
69
  binary: (data: Buffer) => BinarySqlToken;
@@ -96,5 +80,26 @@ export type SqlTag<Z extends Record<string, ZodTypeAny> = Record<string, ZodType
96
80
  typeAlias: <K extends keyof Z>(typeAlias: K) => (template: TemplateStringsArray, ...values: ValueExpression[]) => QuerySqlToken<Z[K]>;
97
81
  unnest: (tuples: ReadonlyArray<readonly any[]>, columnTypes: Array<[...string[], TypeNameIdentifier]> | Array<SqlFragmentToken | TypeNameIdentifier>) => UnnestSqlToken;
98
82
  unsafe: (template: TemplateStringsArray, ...values: ValueExpression[]) => QuerySqlToken;
83
+ uuid: (uuid: string) => UuidSqlToken;
84
+ };
85
+ export type SqlToken = ArraySqlToken | BinarySqlToken | DateSqlToken | FragmentSqlToken | IdentifierSqlToken | IntervalSqlToken | JsonBinarySqlToken | JsonSqlToken | ListSqlToken | QuerySqlToken | TimestampSqlToken | UnnestSqlToken | UuidSqlToken;
86
+ export type TimestampSqlToken = {
87
+ readonly date: Date;
88
+ readonly type: typeof tokens.TimestampToken;
99
89
  };
90
+ export type UnnestSqlToken = {
91
+ readonly columnTypes: Array<[...string[], TypeNameIdentifier]> | Array<SqlFragmentToken | TypeNameIdentifier>;
92
+ readonly tuples: ReadonlyArray<readonly ValueExpression[]>;
93
+ readonly type: typeof tokens.UnnestToken;
94
+ };
95
+ export type UuidSqlToken = {
96
+ readonly type: typeof tokens.UuidToken;
97
+ readonly uuid: `${string}-${string}-${string}-${string}-${string}`;
98
+ };
99
+ export type ValueExpression = PrimitiveValueExpression | SqlFragmentToken | SqlToken;
100
+ /**
101
+ * "string" type covers all type name identifiers – the literal values are added only to assist developer
102
+ * experience with auto suggestions for commonly used type name identifiers.
103
+ */
104
+ type TypeNameIdentifier = 'bool' | 'bytea' | 'float4' | 'float8' | 'int2' | 'int4' | 'int8' | 'json' | 'text' | 'timestamptz' | 'uuid' | string;
100
105
  //# sourceMappingURL=types.d.ts.map
@@ -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":"AAeA,OAAO,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAgCzD,eAAO,MAAM,UAAU,YAAa,OAAO,KAAG,OAAO,IAAI,YAmCxD,CAAC"}
1
+ {"version":3,"file":"isSqlToken.d.ts","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAiCzD,eAAO,MAAM,UAAU,YAAa,OAAO,KAAG,OAAO,IAAI,YAmCxD,CAAC"}
@@ -18,6 +18,7 @@ const Tokens = [
18
18
  tokens_1.QueryToken,
19
19
  tokens_1.TimestampToken,
20
20
  tokens_1.UnnestToken,
21
+ tokens_1.UuidToken,
21
22
  ];
22
23
  const tokenNamess = Tokens.map((token) => {
23
24
  const tokenTypeName = Symbol.keyFor(token);
@@ -1 +1 @@
1
- {"version":3,"file":"isSqlToken.js","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":";;;AAAA,sCAcmB;AAEnB,qDAAkD;AAClD,2CAAsD;AAEtD,MAAM,MAAM,GAAG;IACb,mBAAU;IACV,oBAAW;IACX,iCAAwB;IACxB,kBAAS;IACT,sBAAa;IACb,wBAAe;IACf,sBAAa;IACb,wBAAe;IACf,kBAAS;IACT,kBAAS;IACT,mBAAU;IACV,uBAAc;IACd,oBAAW;CACH,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,6BAAoB,CAC5B,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC,CAAC;AAEI,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,IAAA,+BAAc,EAAC,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;AAnCW,QAAA,UAAU,cAmCrB"}
1
+ {"version":3,"file":"isSqlToken.js","sourceRoot":"","sources":["../../src/utilities/isSqlToken.ts"],"names":[],"mappings":";;;AAAA,sCAemB;AAEnB,qDAAkD;AAClD,2CAAsD;AAEtD,MAAM,MAAM,GAAG;IACb,mBAAU;IACV,oBAAW;IACX,iCAAwB;IACxB,kBAAS;IACT,sBAAa;IACb,wBAAe;IACf,sBAAa;IACb,wBAAe;IACf,kBAAS;IACT,kBAAS;IACT,mBAAU;IACV,uBAAc;IACd,oBAAW;IACX,kBAAS;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,6BAAoB,CAC5B,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC,CAAC;AAEI,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,IAAA,+BAAc,EAAC,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;AAnCW,QAAA,UAAU,cAmCrB"}
package/package.json CHANGED
@@ -16,8 +16,8 @@
16
16
  ]
17
17
  },
18
18
  "dependencies": {
19
- "@slonik/errors": "^46.2.0",
20
- "@slonik/types": "^46.2.0",
19
+ "@slonik/errors": "^46.3.0",
20
+ "@slonik/types": "^46.3.0",
21
21
  "roarr": "^7.21.1",
22
22
  "safe-stable-stringify": "^2.4.3",
23
23
  "serialize-error": "^8.0.0"
@@ -27,12 +27,12 @@
27
27
  "@types/node": "^22.9.0",
28
28
  "ava": "^6.1.3",
29
29
  "cspell": "^8.16.0",
30
- "eslint": "^9.14.0",
30
+ "eslint": "^9.16.0",
31
31
  "nyc": "^15.1.0",
32
32
  "ts-node": "^10.9.1",
33
33
  "typescript": "^5.6.3",
34
34
  "zod": "^3.22.4",
35
- "@slonik/eslint-config": "^46.2.0"
35
+ "@slonik/eslint-config": "^46.3.0"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=18"
@@ -75,7 +75,7 @@
75
75
  "url": "https://github.com/gajus/slonik"
76
76
  },
77
77
  "types": "./dist/index.d.ts",
78
- "version": "46.2.0",
78
+ "version": "46.3.0",
79
79
  "scripts": {
80
80
  "build": "rm -fr ./dist && tsc --project ./tsconfig.json",
81
81
  "lint": "npm run lint:cspell && npm run lint:eslint && npm run lint:tsc",
@@ -0,0 +1,25 @@
1
+ import { FragmentToken } from '../../tokens';
2
+ import { createSqlTag } from '../createSqlTag';
3
+ import test from 'ava';
4
+
5
+ const sql = createSqlTag();
6
+
7
+ test('binds a uuid', (t) => {
8
+ const query = sql.fragment`SELECT ${sql.uuid(
9
+ '00000000-0000-0000-0000-000000000000',
10
+ )}`;
11
+
12
+ t.deepEqual(query, {
13
+ sql: 'SELECT $slonik_1::uuid',
14
+ type: FragmentToken,
15
+ values: ['00000000-0000-0000-0000-000000000000'],
16
+ });
17
+ });
18
+
19
+ test('throws if not valid uuid', (t) => {
20
+ const error = t.throws(() => {
21
+ sql.fragment`SELECT ${sql.uuid('1')}`;
22
+ });
23
+
24
+ t.is(error?.message, 'UUID parameter value must be a valid UUID.');
25
+ });
@@ -1,4 +1,5 @@
1
1
  import { Logger } from '../Logger';
2
+ import { type UUID } from '../sqlFragmentFactories/createUuidSqlFragment';
2
3
  import {
3
4
  ArrayToken,
4
5
  BinaryToken,
@@ -12,6 +13,7 @@ import {
12
13
  QueryToken,
13
14
  TimestampToken,
14
15
  UnnestToken,
16
+ UuidToken,
15
17
  } from '../tokens';
16
18
  import {
17
19
  type PrimitiveValueExpression,
@@ -229,5 +231,11 @@ export const createSqlTag = <
229
231
  type: QueryToken,
230
232
  });
231
233
  },
234
+ uuid: (uuid) => {
235
+ return Object.freeze({
236
+ type: UuidToken,
237
+ uuid: uuid as UUID,
238
+ });
239
+ },
232
240
  };
233
241
  };
@@ -9,6 +9,7 @@ import { createListSqlFragment } from '../sqlFragmentFactories/createListSqlFrag
9
9
  import { createQuerySqlFragment } from '../sqlFragmentFactories/createQuerySqlFragment';
10
10
  import { createTimestampSqlFragment } from '../sqlFragmentFactories/createTimestampSqlFragment';
11
11
  import { createUnnestSqlFragment } from '../sqlFragmentFactories/createUnnestSqlFragment';
12
+ import { createUuidSqlFragment } from '../sqlFragmentFactories/createUuidSqlFragment';
12
13
  import {
13
14
  ArrayToken,
14
15
  BinaryToken,
@@ -22,6 +23,7 @@ import {
22
23
  QueryToken,
23
24
  TimestampToken,
24
25
  UnnestToken,
26
+ UuidToken,
25
27
  } from '../tokens';
26
28
  import { type SqlFragmentToken, type SqlToken as SqlTokenType } from '../types';
27
29
  import { UnexpectedStateError } from '@slonik/errors';
@@ -54,6 +56,8 @@ export const createSqlTokenSqlFragment = (
54
56
  return createTimestampSqlFragment(token, greatestParameterPosition);
55
57
  } else if (token.type === UnnestToken) {
56
58
  return createUnnestSqlFragment(token, greatestParameterPosition);
59
+ } else if (token.type === UuidToken) {
60
+ return createUuidSqlFragment(token, greatestParameterPosition);
57
61
  }
58
62
 
59
63
  throw new UnexpectedStateError('Unexpected token type.');
package/src/index.ts CHANGED
@@ -14,6 +14,7 @@ export {
14
14
  QueryToken,
15
15
  TimestampToken,
16
16
  UnnestToken,
17
+ UuidToken,
17
18
  } from './tokens';
18
19
  export {
19
20
  type ArraySqlToken,
@@ -34,6 +35,7 @@ export {
34
35
  type SqlToken,
35
36
  type TimestampSqlToken,
36
37
  type UnnestSqlToken,
38
+ type UuidSqlToken,
37
39
  type ValueExpression,
38
40
  } from './types';
39
41
  export { isSqlToken } from './utilities/isSqlToken';
@@ -0,0 +1,28 @@
1
+ import { FragmentToken } from '../tokens';
2
+ import { type SqlFragmentToken, type UuidSqlToken } from '../types';
3
+ import { formatSlonikPlaceholder } from '../utilities/formatSlonikPlaceholder';
4
+ import { InvalidInputError } from '@slonik/errors';
5
+
6
+ export type UUID = `${string}-${string}-${string}-${string}-${string}`;
7
+
8
+ // eslint-disable-next-line func-style
9
+ function isValidUuid(uuid: string): uuid is UUID {
10
+ const uuidRegex = /^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu;
11
+
12
+ return uuidRegex.test(uuid);
13
+ }
14
+
15
+ export const createUuidSqlFragment = (
16
+ token: UuidSqlToken,
17
+ greatestParameterPosition: number,
18
+ ): SqlFragmentToken => {
19
+ if (!isValidUuid(token.uuid)) {
20
+ throw new InvalidInputError('UUID parameter value must be a valid UUID.');
21
+ }
22
+
23
+ return {
24
+ sql: formatSlonikPlaceholder(greatestParameterPosition + 1) + '::uuid',
25
+ type: FragmentToken,
26
+ values: [token.uuid],
27
+ };
28
+ };
package/src/tokens.ts CHANGED
@@ -13,3 +13,4 @@ export const ListToken = Symbol.for('SLONIK_TOKEN_LIST');
13
13
  export const QueryToken = Symbol.for('SLONIK_TOKEN_QUERY');
14
14
  export const TimestampToken = Symbol.for('SLONIK_TOKEN_TIMESTAMP');
15
15
  export const UnnestToken = Symbol.for('SLONIK_TOKEN_UNNEST');
16
+ export const UuidToken = Symbol.for('SLONIK_TOKEN_UUID');
package/src/types.ts CHANGED
@@ -4,57 +4,6 @@ import { type ZodTypeAny } from 'zod';
4
4
 
5
5
  export { type PrimitiveValueExpression } from '@slonik/types';
6
6
 
7
- export type SerializableValue =
8
- | {
9
- [key: string]: SerializableValue;
10
- }
11
- | boolean
12
- | null
13
- | number
14
- | readonly SerializableValue[]
15
- | SerializableValue[]
16
- | string
17
- | undefined;
18
-
19
- export type IntervalInput = {
20
- days?: number;
21
- hours?: number;
22
- minutes?: number;
23
- months?: number;
24
- seconds?: number;
25
- weeks?: number;
26
- years?: number;
27
- };
28
-
29
- export type SqlFragmentToken = {
30
- readonly sql: string;
31
- readonly type: typeof tokens.FragmentToken;
32
- readonly values: readonly PrimitiveValueExpression[];
33
- };
34
-
35
- export type ValueExpression =
36
- | PrimitiveValueExpression
37
- | SqlFragmentToken
38
- | SqlToken;
39
-
40
- /**
41
- * "string" type covers all type name identifiers – the literal values are added only to assist developer
42
- * experience with auto suggestions for commonly used type name identifiers.
43
- */
44
- type TypeNameIdentifier =
45
- | 'bool'
46
- | 'bytea'
47
- | 'float4'
48
- | 'float8'
49
- | 'int2'
50
- | 'int4'
51
- | 'int8'
52
- | 'json'
53
- | 'text'
54
- | 'timestamptz'
55
- | 'uuid'
56
- | string;
57
-
58
7
  export type ArraySqlToken = {
59
8
  readonly memberType: SqlFragmentToken | TypeNameIdentifier;
60
9
  readonly type: typeof tokens.ArrayToken;
@@ -82,17 +31,21 @@ export type IdentifierSqlToken = {
82
31
  readonly type: typeof tokens.IdentifierToken;
83
32
  };
84
33
 
34
+ export type IntervalInput = {
35
+ days?: number;
36
+ hours?: number;
37
+ minutes?: number;
38
+ months?: number;
39
+ seconds?: number;
40
+ weeks?: number;
41
+ years?: number;
42
+ };
43
+
85
44
  export type IntervalSqlToken = {
86
45
  readonly interval: IntervalInput;
87
46
  readonly type: typeof tokens.IntervalToken;
88
47
  };
89
48
 
90
- export type ListSqlToken = {
91
- readonly glue: SqlFragmentToken;
92
- readonly members: readonly ValueExpression[];
93
- readonly type: typeof tokens.ListToken;
94
- };
95
-
96
49
  export type JsonBinarySqlToken = {
97
50
  readonly type: typeof tokens.JsonBinaryToken;
98
51
  readonly value: SerializableValue;
@@ -103,6 +56,12 @@ export type JsonSqlToken = {
103
56
  readonly value: SerializableValue;
104
57
  };
105
58
 
59
+ export type ListSqlToken = {
60
+ readonly glue: SqlFragmentToken;
61
+ readonly members: readonly ValueExpression[];
62
+ readonly type: typeof tokens.ListToken;
63
+ };
64
+
106
65
  export type QuerySqlToken<T extends ZodTypeAny = ZodTypeAny> = {
107
66
  readonly parser: T;
108
67
  readonly sql: string;
@@ -110,33 +69,24 @@ export type QuerySqlToken<T extends ZodTypeAny = ZodTypeAny> = {
110
69
  readonly values: readonly PrimitiveValueExpression[];
111
70
  };
112
71
 
113
- export type TimestampSqlToken = {
114
- readonly date: Date;
115
- readonly type: typeof tokens.TimestampToken;
116
- };
72
+ export type SerializableValue =
73
+ | boolean
74
+ | null
75
+ | number
76
+ | readonly SerializableValue[]
77
+ | SerializableValue[]
78
+ | string
79
+ | undefined
80
+ | {
81
+ [key: string]: SerializableValue;
82
+ };
117
83
 
118
- export type UnnestSqlToken = {
119
- readonly columnTypes:
120
- | Array<[...string[], TypeNameIdentifier]>
121
- | Array<SqlFragmentToken | TypeNameIdentifier>;
122
- readonly tuples: ReadonlyArray<readonly ValueExpression[]>;
123
- readonly type: typeof tokens.UnnestToken;
84
+ export type SqlFragmentToken = {
85
+ readonly sql: string;
86
+ readonly type: typeof tokens.FragmentToken;
87
+ readonly values: readonly PrimitiveValueExpression[];
124
88
  };
125
89
 
126
- export type SqlToken =
127
- | ArraySqlToken
128
- | BinarySqlToken
129
- | DateSqlToken
130
- | FragmentSqlToken
131
- | IdentifierSqlToken
132
- | IntervalSqlToken
133
- | JsonBinarySqlToken
134
- | JsonSqlToken
135
- | ListSqlToken
136
- | QuerySqlToken
137
- | TimestampSqlToken
138
- | UnnestSqlToken;
139
-
140
90
  export type SqlTag<
141
91
  Z extends Record<string, ZodTypeAny> = Record<string, ZodTypeAny>,
142
92
  > = {
@@ -186,4 +136,61 @@ export type SqlTag<
186
136
  template: TemplateStringsArray,
187
137
  ...values: ValueExpression[]
188
138
  ) => QuerySqlToken;
139
+ uuid: (uuid: string) => UuidSqlToken;
189
140
  };
141
+
142
+ export type SqlToken =
143
+ | ArraySqlToken
144
+ | BinarySqlToken
145
+ | DateSqlToken
146
+ | FragmentSqlToken
147
+ | IdentifierSqlToken
148
+ | IntervalSqlToken
149
+ | JsonBinarySqlToken
150
+ | JsonSqlToken
151
+ | ListSqlToken
152
+ | QuerySqlToken
153
+ | TimestampSqlToken
154
+ | UnnestSqlToken
155
+ | UuidSqlToken;
156
+
157
+ export type TimestampSqlToken = {
158
+ readonly date: Date;
159
+ readonly type: typeof tokens.TimestampToken;
160
+ };
161
+
162
+ export type UnnestSqlToken = {
163
+ readonly columnTypes:
164
+ | Array<[...string[], TypeNameIdentifier]>
165
+ | Array<SqlFragmentToken | TypeNameIdentifier>;
166
+ readonly tuples: ReadonlyArray<readonly ValueExpression[]>;
167
+ readonly type: typeof tokens.UnnestToken;
168
+ };
169
+
170
+ export type UuidSqlToken = {
171
+ readonly type: typeof tokens.UuidToken;
172
+ readonly uuid: `${string}-${string}-${string}-${string}-${string}`;
173
+ };
174
+
175
+ export type ValueExpression =
176
+ | PrimitiveValueExpression
177
+ | SqlFragmentToken
178
+ | SqlToken;
179
+
180
+ /**
181
+ * "string" type covers all type name identifiers – the literal values are added only to assist developer
182
+ * experience with auto suggestions for commonly used type name identifiers.
183
+ */
184
+ type TypeNameIdentifier =
185
+ | 'bool'
186
+ | 'bytea'
187
+ | 'float4'
188
+ | 'float8'
189
+ | 'int2'
190
+ | 'int4'
191
+ | 'int8'
192
+ | 'json'
193
+ | 'text'
194
+ | 'timestamptz'
195
+ | 'uuid'
196
+ | string;
@@ -12,6 +12,7 @@ import {
12
12
  QueryToken,
13
13
  TimestampToken,
14
14
  UnnestToken,
15
+ UuidToken,
15
16
  } from '../tokens';
16
17
  import { type SqlToken as SqlTokenType } from '../types';
17
18
  import { hasOwnProperty } from './hasOwnProperty';
@@ -31,6 +32,7 @@ const Tokens = [
31
32
  QueryToken,
32
33
  TimestampToken,
33
34
  UnnestToken,
35
+ UuidToken,
34
36
  ] as const;
35
37
 
36
38
  const tokenNamess = Tokens.map((token) => {