@slonik/sql-tag 40.2.2

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 (233) hide show
  1. package/README.md +2 -0
  2. package/dist/Logger.d.ts +2 -0
  3. package/dist/Logger.d.ts.map +1 -0
  4. package/dist/Logger.js +8 -0
  5. package/dist/Logger.js.map +1 -0
  6. package/dist/factories/createPrimitiveValueExpressions.d.ts +3 -0
  7. package/dist/factories/createPrimitiveValueExpressions.d.ts.map +1 -0
  8. package/dist/factories/createPrimitiveValueExpressions.js +33 -0
  9. package/dist/factories/createPrimitiveValueExpressions.js.map +1 -0
  10. package/dist/factories/createSqlTag.d.ts +38 -0
  11. package/dist/factories/createSqlTag.d.ts.map +1 -0
  12. package/dist/factories/createSqlTag.js +170 -0
  13. package/dist/factories/createSqlTag.js.map +1 -0
  14. package/dist/factories/createSqlTag.test/array.test.d.ts +2 -0
  15. package/dist/factories/createSqlTag.test/array.test.d.ts.map +1 -0
  16. package/dist/factories/createSqlTag.test/array.test.js +76 -0
  17. package/dist/factories/createSqlTag.test/array.test.js.map +1 -0
  18. package/dist/factories/createSqlTag.test/date.test.d.ts +2 -0
  19. package/dist/factories/createSqlTag.test/date.test.d.ts.map +1 -0
  20. package/dist/factories/createSqlTag.test/date.test.js +25 -0
  21. package/dist/factories/createSqlTag.test/date.test.js.map +1 -0
  22. package/dist/factories/createSqlTag.test/identifier.test.d.ts +2 -0
  23. package/dist/factories/createSqlTag.test/identifier.test.d.ts.map +1 -0
  24. package/dist/factories/createSqlTag.test/identifier.test.js +38 -0
  25. package/dist/factories/createSqlTag.test/identifier.test.js.map +1 -0
  26. package/dist/factories/createSqlTag.test/interval.test.d.ts +2 -0
  27. package/dist/factories/createSqlTag.test/interval.test.d.ts.map +1 -0
  28. package/dist/factories/createSqlTag.test/interval.test.js +43 -0
  29. package/dist/factories/createSqlTag.test/interval.test.js.map +1 -0
  30. package/dist/factories/createSqlTag.test/join.test.d.ts +2 -0
  31. package/dist/factories/createSqlTag.test/join.test.d.ts.map +1 -0
  32. package/dist/factories/createSqlTag.test/join.test.js +87 -0
  33. package/dist/factories/createSqlTag.test/join.test.js.map +1 -0
  34. package/dist/factories/createSqlTag.test/json.test.d.ts +2 -0
  35. package/dist/factories/createSqlTag.test/json.test.d.ts.map +1 -0
  36. package/dist/factories/createSqlTag.test/json.test.js +88 -0
  37. package/dist/factories/createSqlTag.test/json.test.js.map +1 -0
  38. package/dist/factories/createSqlTag.test/jsonb.test.d.ts +2 -0
  39. package/dist/factories/createSqlTag.test/jsonb.test.d.ts.map +1 -0
  40. package/dist/factories/createSqlTag.test/jsonb.test.js +88 -0
  41. package/dist/factories/createSqlTag.test/jsonb.test.js.map +1 -0
  42. package/dist/factories/createSqlTag.test/literalValue.test.d.ts +2 -0
  43. package/dist/factories/createSqlTag.test/literalValue.test.d.ts.map +1 -0
  44. package/dist/factories/createSqlTag.test/literalValue.test.js +18 -0
  45. package/dist/factories/createSqlTag.test/literalValue.test.js.map +1 -0
  46. package/dist/factories/createSqlTag.test/sql.test.d.ts +2 -0
  47. package/dist/factories/createSqlTag.test/sql.test.d.ts.map +1 -0
  48. package/dist/factories/createSqlTag.test/sql.test.js +138 -0
  49. package/dist/factories/createSqlTag.test/sql.test.js.map +1 -0
  50. package/dist/factories/createSqlTag.test/timestamp.test.d.ts +2 -0
  51. package/dist/factories/createSqlTag.test/timestamp.test.d.ts.map +1 -0
  52. package/dist/factories/createSqlTag.test/timestamp.test.js +25 -0
  53. package/dist/factories/createSqlTag.test/timestamp.test.js.map +1 -0
  54. package/dist/factories/createSqlTag.test/type.test.d.ts +2 -0
  55. package/dist/factories/createSqlTag.test/type.test.d.ts.map +1 -0
  56. package/dist/factories/createSqlTag.test/type.test.js +19 -0
  57. package/dist/factories/createSqlTag.test/type.test.js.map +1 -0
  58. package/dist/factories/createSqlTag.test/typeAlias.test.d.ts +2 -0
  59. package/dist/factories/createSqlTag.test/typeAlias.test.d.ts.map +1 -0
  60. package/dist/factories/createSqlTag.test/typeAlias.test.js +47 -0
  61. package/dist/factories/createSqlTag.test/typeAlias.test.js.map +1 -0
  62. package/dist/factories/createSqlTag.test/unnest.test.d.ts +2 -0
  63. package/dist/factories/createSqlTag.test/unnest.test.d.ts.map +1 -0
  64. package/dist/factories/createSqlTag.test/unnest.test.js +127 -0
  65. package/dist/factories/createSqlTag.test/unnest.test.js.map +1 -0
  66. package/dist/factories/createSqlTokenSqlFragment.d.ts +3 -0
  67. package/dist/factories/createSqlTokenSqlFragment.d.ts.map +1 -0
  68. package/dist/factories/createSqlTokenSqlFragment.js +57 -0
  69. package/dist/factories/createSqlTokenSqlFragment.js.map +1 -0
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +6 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/regexRules/slonikPlaceholderRegexRule.d.ts +2 -0
  75. package/dist/regexRules/slonikPlaceholderRegexRule.d.ts.map +1 -0
  76. package/dist/regexRules/slonikPlaceholderRegexRule.js +5 -0
  77. package/dist/regexRules/slonikPlaceholderRegexRule.js.map +1 -0
  78. package/dist/sqlFragmentFactories/createArraySqlFragment.d.ts +3 -0
  79. package/dist/sqlFragmentFactories/createArraySqlFragment.d.ts.map +1 -0
  80. package/dist/sqlFragmentFactories/createArraySqlFragment.js +48 -0
  81. package/dist/sqlFragmentFactories/createArraySqlFragment.js.map +1 -0
  82. package/dist/sqlFragmentFactories/createBinarySqlFragment.d.ts +3 -0
  83. package/dist/sqlFragmentFactories/createBinarySqlFragment.d.ts.map +1 -0
  84. package/dist/sqlFragmentFactories/createBinarySqlFragment.js +16 -0
  85. package/dist/sqlFragmentFactories/createBinarySqlFragment.js.map +1 -0
  86. package/dist/sqlFragmentFactories/createDateSqlFragment.d.ts +3 -0
  87. package/dist/sqlFragmentFactories/createDateSqlFragment.d.ts.map +1 -0
  88. package/dist/sqlFragmentFactories/createDateSqlFragment.js +16 -0
  89. package/dist/sqlFragmentFactories/createDateSqlFragment.js.map +1 -0
  90. package/dist/sqlFragmentFactories/createFragmentSqlFragment.d.ts +3 -0
  91. package/dist/sqlFragmentFactories/createFragmentSqlFragment.d.ts.map +1 -0
  92. package/dist/sqlFragmentFactories/createFragmentSqlFragment.js +34 -0
  93. package/dist/sqlFragmentFactories/createFragmentSqlFragment.js.map +1 -0
  94. package/dist/sqlFragmentFactories/createIdentifierSqlFragment.d.ts +3 -0
  95. package/dist/sqlFragmentFactories/createIdentifierSqlFragment.d.ts.map +1 -0
  96. package/dist/sqlFragmentFactories/createIdentifierSqlFragment.js +21 -0
  97. package/dist/sqlFragmentFactories/createIdentifierSqlFragment.js.map +1 -0
  98. package/dist/sqlFragmentFactories/createIntervalSqlFragment.d.ts +3 -0
  99. package/dist/sqlFragmentFactories/createIntervalSqlFragment.d.ts.map +1 -0
  100. package/dist/sqlFragmentFactories/createIntervalSqlFragment.js +57 -0
  101. package/dist/sqlFragmentFactories/createIntervalSqlFragment.js.map +1 -0
  102. package/dist/sqlFragmentFactories/createJsonSqlFragment.d.ts +3 -0
  103. package/dist/sqlFragmentFactories/createJsonSqlFragment.d.ts.map +1 -0
  104. package/dist/sqlFragmentFactories/createJsonSqlFragment.js +49 -0
  105. package/dist/sqlFragmentFactories/createJsonSqlFragment.js.map +1 -0
  106. package/dist/sqlFragmentFactories/createListSqlFragment.d.ts +3 -0
  107. package/dist/sqlFragmentFactories/createListSqlFragment.d.ts.map +1 -0
  108. package/dist/sqlFragmentFactories/createListSqlFragment.js +38 -0
  109. package/dist/sqlFragmentFactories/createListSqlFragment.js.map +1 -0
  110. package/dist/sqlFragmentFactories/createQuerySqlFragment.d.ts +3 -0
  111. package/dist/sqlFragmentFactories/createQuerySqlFragment.d.ts.map +1 -0
  112. package/dist/sqlFragmentFactories/createQuerySqlFragment.js +34 -0
  113. package/dist/sqlFragmentFactories/createQuerySqlFragment.js.map +1 -0
  114. package/dist/sqlFragmentFactories/createTimestampSqlFragment.d.ts +3 -0
  115. package/dist/sqlFragmentFactories/createTimestampSqlFragment.d.ts.map +1 -0
  116. package/dist/sqlFragmentFactories/createTimestampSqlFragment.js +18 -0
  117. package/dist/sqlFragmentFactories/createTimestampSqlFragment.js.map +1 -0
  118. package/dist/sqlFragmentFactories/createUnnestSqlFragment.d.ts +3 -0
  119. package/dist/sqlFragmentFactories/createUnnestSqlFragment.d.ts.map +1 -0
  120. package/dist/sqlFragmentFactories/createUnnestSqlFragment.js +81 -0
  121. package/dist/sqlFragmentFactories/createUnnestSqlFragment.js.map +1 -0
  122. package/dist/tokens.d.ts +14 -0
  123. package/dist/tokens.d.ts.map +1 -0
  124. package/dist/tokens.js +17 -0
  125. package/dist/tokens.js.map +1 -0
  126. package/dist/types.d.ts +99 -0
  127. package/dist/types.d.ts.map +1 -0
  128. package/dist/types.js +3 -0
  129. package/dist/types.js.map +1 -0
  130. package/dist/utilities/countArrayDimensions.d.ts +2 -0
  131. package/dist/utilities/countArrayDimensions.d.ts.map +1 -0
  132. package/dist/utilities/countArrayDimensions.js +14 -0
  133. package/dist/utilities/countArrayDimensions.js.map +1 -0
  134. package/dist/utilities/countArrayDimensions.test.d.ts +2 -0
  135. package/dist/utilities/countArrayDimensions.test.d.ts.map +1 -0
  136. package/dist/utilities/countArrayDimensions.test.js +13 -0
  137. package/dist/utilities/countArrayDimensions.test.js.map +1 -0
  138. package/dist/utilities/escapeIdentifier.d.ts +5 -0
  139. package/dist/utilities/escapeIdentifier.d.ts.map +1 -0
  140. package/dist/utilities/escapeIdentifier.js +12 -0
  141. package/dist/utilities/escapeIdentifier.js.map +1 -0
  142. package/dist/utilities/escapeIdentifier.test.d.ts +2 -0
  143. package/dist/utilities/escapeIdentifier.test.d.ts.map +1 -0
  144. package/dist/utilities/escapeIdentifier.test.js +13 -0
  145. package/dist/utilities/escapeIdentifier.test.js.map +1 -0
  146. package/dist/utilities/escapeLiteralValue.d.ts +5 -0
  147. package/dist/utilities/escapeLiteralValue.d.ts.map +1 -0
  148. package/dist/utilities/escapeLiteralValue.js +29 -0
  149. package/dist/utilities/escapeLiteralValue.js.map +1 -0
  150. package/dist/utilities/escapeLiteralValue.test.d.ts +2 -0
  151. package/dist/utilities/escapeLiteralValue.test.d.ts.map +1 -0
  152. package/dist/utilities/escapeLiteralValue.test.js +14 -0
  153. package/dist/utilities/escapeLiteralValue.test.js.map +1 -0
  154. package/dist/utilities/formatSlonikPlaceholder.d.ts +14 -0
  155. package/dist/utilities/formatSlonikPlaceholder.d.ts.map +1 -0
  156. package/dist/utilities/formatSlonikPlaceholder.js +20 -0
  157. package/dist/utilities/formatSlonikPlaceholder.js.map +1 -0
  158. package/dist/utilities/hasOwnProperty.d.ts +6 -0
  159. package/dist/utilities/hasOwnProperty.d.ts.map +1 -0
  160. package/dist/utilities/hasOwnProperty.js +12 -0
  161. package/dist/utilities/hasOwnProperty.js.map +1 -0
  162. package/dist/utilities/isPlainObject.d.ts +2 -0
  163. package/dist/utilities/isPlainObject.d.ts.map +1 -0
  164. package/dist/utilities/isPlainObject.js +16 -0
  165. package/dist/utilities/isPlainObject.js.map +1 -0
  166. package/dist/utilities/isPrimitiveValueExpression.d.ts +2 -0
  167. package/dist/utilities/isPrimitiveValueExpression.d.ts.map +1 -0
  168. package/dist/utilities/isPrimitiveValueExpression.js +12 -0
  169. package/dist/utilities/isPrimitiveValueExpression.js.map +1 -0
  170. package/dist/utilities/isSqlToken.d.ts +3 -0
  171. package/dist/utilities/isSqlToken.d.ts.map +1 -0
  172. package/dist/utilities/isSqlToken.js +35 -0
  173. package/dist/utilities/isSqlToken.js.map +1 -0
  174. package/dist/utilities/safeStringify.d.ts +2 -0
  175. package/dist/utilities/safeStringify.d.ts.map +1 -0
  176. package/dist/utilities/safeStringify.js +18 -0
  177. package/dist/utilities/safeStringify.js.map +1 -0
  178. package/dist/utilities/stripArrayNotation.d.ts +2 -0
  179. package/dist/utilities/stripArrayNotation.d.ts.map +1 -0
  180. package/dist/utilities/stripArrayNotation.js +12 -0
  181. package/dist/utilities/stripArrayNotation.js.map +1 -0
  182. package/dist/utilities/stripArrayNotation.test.d.ts +2 -0
  183. package/dist/utilities/stripArrayNotation.test.d.ts.map +1 -0
  184. package/dist/utilities/stripArrayNotation.test.js +13 -0
  185. package/dist/utilities/stripArrayNotation.test.js.map +1 -0
  186. package/package.json +88 -0
  187. package/src/Logger.ts +5 -0
  188. package/src/declarations.d.ts +8 -0
  189. package/src/factories/createPrimitiveValueExpressions.ts +43 -0
  190. package/src/factories/createSqlTag.test/array.test.ts +107 -0
  191. package/src/factories/createSqlTag.test/date.test.ts +26 -0
  192. package/src/factories/createSqlTag.test/identifier.test.ts +39 -0
  193. package/src/factories/createSqlTag.test/interval.test.ts +44 -0
  194. package/src/factories/createSqlTag.test/join.test.ts +127 -0
  195. package/src/factories/createSqlTag.test/json.test.ts +106 -0
  196. package/src/factories/createSqlTag.test/jsonb.test.ts +106 -0
  197. package/src/factories/createSqlTag.test/literalValue.test.ts +17 -0
  198. package/src/factories/createSqlTag.test/sql.test.ts +165 -0
  199. package/src/factories/createSqlTag.test/timestamp.test.ts +29 -0
  200. package/src/factories/createSqlTag.test/type.test.ts +17 -0
  201. package/src/factories/createSqlTag.test/typeAlias.test.ts +53 -0
  202. package/src/factories/createSqlTag.test/unnest.test.ts +173 -0
  203. package/src/factories/createSqlTag.ts +256 -0
  204. package/src/factories/createSqlTokenSqlFragment.ts +60 -0
  205. package/src/index.ts +2 -0
  206. package/src/regexRules/slonikPlaceholderRegexRule.ts +1 -0
  207. package/src/sqlFragmentFactories/createArraySqlFragment.ts +67 -0
  208. package/src/sqlFragmentFactories/createBinarySqlFragment.ts +17 -0
  209. package/src/sqlFragmentFactories/createDateSqlFragment.ts +19 -0
  210. package/src/sqlFragmentFactories/createFragmentSqlFragment.ts +48 -0
  211. package/src/sqlFragmentFactories/createIdentifierSqlFragment.ts +24 -0
  212. package/src/sqlFragmentFactories/createIntervalSqlFragment.ts +71 -0
  213. package/src/sqlFragmentFactories/createJsonSqlFragment.ts +66 -0
  214. package/src/sqlFragmentFactories/createListSqlFragment.ts +48 -0
  215. package/src/sqlFragmentFactories/createQuerySqlFragment.ts +48 -0
  216. package/src/sqlFragmentFactories/createTimestampSqlFragment.ts +22 -0
  217. package/src/sqlFragmentFactories/createUnnestSqlFragment.ts +118 -0
  218. package/src/tokens.ts +14 -0
  219. package/src/types.ts +189 -0
  220. package/src/utilities/countArrayDimensions.test.ts +8 -0
  221. package/src/utilities/countArrayDimensions.ts +12 -0
  222. package/src/utilities/escapeIdentifier.test.ts +8 -0
  223. package/src/utilities/escapeIdentifier.ts +8 -0
  224. package/src/utilities/escapeLiteralValue.test.ts +9 -0
  225. package/src/utilities/escapeLiteralValue.ts +26 -0
  226. package/src/utilities/formatSlonikPlaceholder.ts +15 -0
  227. package/src/utilities/hasOwnProperty.ts +10 -0
  228. package/src/utilities/isPlainObject.ts +14 -0
  229. package/src/utilities/isPrimitiveValueExpression.ts +11 -0
  230. package/src/utilities/isSqlToken.ts +52 -0
  231. package/src/utilities/safeStringify.ts +25 -0
  232. package/src/utilities/stripArrayNotation.test.ts +8 -0
  233. package/src/utilities/stripArrayNotation.ts +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/join.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=json.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/json.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
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)('creates a value list (object)', (t) => {
11
+ const query = sql.fragment `SELECT ${sql.json({
12
+ foo: 'bar',
13
+ })}`;
14
+ t.deepEqual(query, {
15
+ sql: 'SELECT $slonik_1::json',
16
+ type: tokens_1.FragmentToken,
17
+ values: ['{"foo":"bar"}'],
18
+ });
19
+ });
20
+ (0, ava_1.default)('creates a value list (array)', (t) => {
21
+ const query = sql.fragment `SELECT ${sql.json([
22
+ {
23
+ foo: 'bar',
24
+ },
25
+ ])}`;
26
+ t.deepEqual(query, {
27
+ sql: 'SELECT $slonik_1::json',
28
+ type: tokens_1.FragmentToken,
29
+ values: ['[{"foo":"bar"}]'],
30
+ });
31
+ });
32
+ (0, ava_1.default)("stringifies NULL to 'null'::json", (t) => {
33
+ const query = sql.fragment `SELECT ${sql.json(null)}`;
34
+ t.deepEqual(query, {
35
+ sql: 'SELECT $slonik_1::json',
36
+ type: tokens_1.FragmentToken,
37
+ values: ['null'],
38
+ });
39
+ });
40
+ (0, ava_1.default)('JSON encodes string values', (t) => {
41
+ const query = sql.fragment `SELECT ${sql.json('example string')}`;
42
+ t.deepEqual(query, {
43
+ sql: 'SELECT $slonik_1::json',
44
+ type: tokens_1.FragmentToken,
45
+ values: ['"example string"'],
46
+ });
47
+ });
48
+ (0, ava_1.default)('JSON encodes numeric values', (t) => {
49
+ const query = sql.fragment `SELECT ${sql.json(1234)}`;
50
+ t.deepEqual(query, {
51
+ sql: 'SELECT $slonik_1::json',
52
+ type: tokens_1.FragmentToken,
53
+ values: ['1234'],
54
+ });
55
+ });
56
+ (0, ava_1.default)('JSON encodes boolean values', (t) => {
57
+ const query = sql.fragment `SELECT ${sql.json(true)}`;
58
+ t.deepEqual(query, {
59
+ sql: 'SELECT $slonik_1::json',
60
+ type: tokens_1.FragmentToken,
61
+ values: ['true'],
62
+ });
63
+ });
64
+ (0, ava_1.default)('throws if payload is undefined', (t) => {
65
+ const error = t.throws(() => {
66
+ sql.fragment `SELECT ${sql.json(undefined)}`;
67
+ });
68
+ t.is(error?.message, 'JSON payload must not be undefined.');
69
+ });
70
+ (0, ava_1.default)('throws if payload cannot be stringified (non-primitive object)', (t) => {
71
+ const error = t.throws(() => {
72
+ // @ts-expect-error - intentional
73
+ sql.fragment `SELECT ${sql.json(() => { })}`;
74
+ });
75
+ t.is(error?.message, 'JSON payload must be a primitive value or a plain object.');
76
+ });
77
+ (0, ava_1.default)('Object types with optional properties are allowed', (t) => {
78
+ const testValue = {
79
+ foo: 'bar',
80
+ };
81
+ const query = sql.fragment `SELECT ${sql.json(testValue)}`;
82
+ t.deepEqual(query, {
83
+ sql: 'SELECT $slonik_1::json',
84
+ type: tokens_1.FragmentToken,
85
+ values: ['{"foo":"bar"}'],
86
+ });
87
+ });
88
+ //# sourceMappingURL=json.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/json.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jsonb.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonb.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/jsonb.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
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)('creates a value list (object)', (t) => {
11
+ const query = sql.fragment `SELECT ${sql.jsonb({
12
+ foo: 'bar',
13
+ })}`;
14
+ t.deepEqual(query, {
15
+ sql: 'SELECT $slonik_1::jsonb',
16
+ type: tokens_1.FragmentToken,
17
+ values: ['{"foo":"bar"}'],
18
+ });
19
+ });
20
+ (0, ava_1.default)('creates a value list (array)', (t) => {
21
+ const query = sql.fragment `SELECT ${sql.jsonb([
22
+ {
23
+ foo: 'bar',
24
+ },
25
+ ])}`;
26
+ t.deepEqual(query, {
27
+ sql: 'SELECT $slonik_1::jsonb',
28
+ type: tokens_1.FragmentToken,
29
+ values: ['[{"foo":"bar"}]'],
30
+ });
31
+ });
32
+ (0, ava_1.default)("stringifies NULL to 'null'::jsonb", (t) => {
33
+ const query = sql.fragment `SELECT ${sql.jsonb(null)}`;
34
+ t.deepEqual(query, {
35
+ sql: 'SELECT $slonik_1::jsonb',
36
+ type: tokens_1.FragmentToken,
37
+ values: ['null'],
38
+ });
39
+ });
40
+ (0, ava_1.default)('JSON encodes string values', (t) => {
41
+ const query = sql.fragment `SELECT ${sql.jsonb('example string')}`;
42
+ t.deepEqual(query, {
43
+ sql: 'SELECT $slonik_1::jsonb',
44
+ type: tokens_1.FragmentToken,
45
+ values: ['"example string"'],
46
+ });
47
+ });
48
+ (0, ava_1.default)('JSON encodes numeric values', (t) => {
49
+ const query = sql.fragment `SELECT ${sql.jsonb(1234)}`;
50
+ t.deepEqual(query, {
51
+ sql: 'SELECT $slonik_1::jsonb',
52
+ type: tokens_1.FragmentToken,
53
+ values: ['1234'],
54
+ });
55
+ });
56
+ (0, ava_1.default)('JSON encodes boolean values', (t) => {
57
+ const query = sql.fragment `SELECT ${sql.jsonb(true)}`;
58
+ t.deepEqual(query, {
59
+ sql: 'SELECT $slonik_1::jsonb',
60
+ type: tokens_1.FragmentToken,
61
+ values: ['true'],
62
+ });
63
+ });
64
+ (0, ava_1.default)('throws if payload is undefined', (t) => {
65
+ const error = t.throws(() => {
66
+ sql.fragment `SELECT ${sql.jsonb(undefined)}`;
67
+ });
68
+ t.is(error?.message, 'JSON payload must not be undefined.');
69
+ });
70
+ (0, ava_1.default)('throws if payload cannot be stringified (non-primitive object)', (t) => {
71
+ const error = t.throws(() => {
72
+ // @ts-expect-error - intentional
73
+ sql.fragment `SELECT ${sql.jsonb(() => { })}`;
74
+ });
75
+ t.is(error?.message, 'JSON payload must be a primitive value or a plain object.');
76
+ });
77
+ (0, ava_1.default)('Object types with optional properties are allowed', (t) => {
78
+ const testValue = {
79
+ foo: 'bar',
80
+ };
81
+ const query = sql.fragment `SELECT ${sql.jsonb(testValue)}`;
82
+ t.deepEqual(query, {
83
+ sql: 'SELECT $slonik_1::jsonb',
84
+ type: tokens_1.FragmentToken,
85
+ values: ['{"foo":"bar"}'],
86
+ });
87
+ });
88
+ //# sourceMappingURL=jsonb.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonb.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/jsonb.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=literalValue.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"literalValue.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/literalValue.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
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)('creates an object describing a query with an inlined literal value', (t) => {
11
+ const query = sql.fragment `CREATE USER foo WITH PASSWORD ${sql.literalValue('bar')}`;
12
+ t.deepEqual(query, {
13
+ sql: "CREATE USER foo WITH PASSWORD 'bar'",
14
+ type: tokens_1.FragmentToken,
15
+ values: [],
16
+ });
17
+ });
18
+ //# sourceMappingURL=literalValue.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"literalValue.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/literalValue.test.ts"],"names":[],"mappings":";;;;;AAAA,yCAA6C;AAC7C,kDAA+C;AAC/C,8CAAuB;AAEvB,MAAM,GAAG,GAAG,IAAA,2BAAY,GAAE,CAAC;AAE3B,IAAA,aAAI,EAAC,oEAAoE,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/E,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAA,iCAAiC,GAAG,CAAC,YAAY,CACzE,KAAK,CACN,EAAE,CAAC;IAEJ,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE;QACjB,GAAG,EAAE,qCAAqC;QAC1C,IAAI,EAAE,sBAAa;QACnB,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sql.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/sql.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,138 @@
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 roarr_1 = require("roarr");
10
+ const test = ava_1.default;
11
+ const sql = (0, createSqlTag_1.createSqlTag)();
12
+ test.beforeEach((t) => {
13
+ t.context.logs = [];
14
+ roarr_1.ROARR.write = (message) => {
15
+ t.context.logs.push(JSON.parse(message));
16
+ };
17
+ });
18
+ test('creates an object describing a query', (t) => {
19
+ const query = sql.fragment `SELECT 1`;
20
+ t.deepEqual(query, {
21
+ sql: 'SELECT 1',
22
+ type: tokens_1.FragmentToken,
23
+ values: [],
24
+ });
25
+ });
26
+ test('creates an object describing query value bindings', (t) => {
27
+ const query = sql.fragment `SELECT ${'foo'}`;
28
+ t.deepEqual(query, {
29
+ sql: 'SELECT $slonik_1',
30
+ type: tokens_1.FragmentToken,
31
+ values: ['foo'],
32
+ });
33
+ });
34
+ test('creates an object describing query value bindings (multiple)', (t) => {
35
+ const query = sql.fragment `SELECT ${'foo'}, ${'bar'}`;
36
+ t.deepEqual(query, {
37
+ sql: 'SELECT $slonik_1, $slonik_2',
38
+ type: tokens_1.FragmentToken,
39
+ values: ['foo', 'bar'],
40
+ });
41
+ });
42
+ test('nests sql templates', (t) => {
43
+ const query0 = sql.fragment `SELECT ${'foo'} FROM bar`;
44
+ const query1 = sql.fragment `SELECT ${'baz'} FROM (${query0})`;
45
+ t.deepEqual(query1, {
46
+ sql: 'SELECT $slonik_1 FROM (SELECT $slonik_2 FROM bar)',
47
+ type: tokens_1.FragmentToken,
48
+ values: ['baz', 'foo'],
49
+ });
50
+ });
51
+ test('throws if bound an undefined value', (t) => {
52
+ const error = t.throws(() => {
53
+ // @ts-expect-error - intentional
54
+ sql.fragment `SELECT ${undefined}`;
55
+ });
56
+ t.is(error?.message, 'SQL tag cannot be bound to undefined value at index 1.');
57
+ });
58
+ // eslint-disable-next-line n/no-process-env
59
+ if (process.env.ROARR_LOG === '1') {
60
+ // This test is only valid when ROARR_LOG=1.
61
+ // TODO find a way to test this without relying on environment variables.
62
+ test.serial('logs all bound values if one is undefined', (t) => {
63
+ t.throws(() => {
64
+ // @ts-expect-error - intentional
65
+ sql.fragment `SELECT ${undefined}`;
66
+ });
67
+ const targetMessage = t.context.logs.find((message) => {
68
+ return message.message === 'bound values';
69
+ });
70
+ t.truthy(targetMessage);
71
+ t.deepEqual(targetMessage.context.parts, ['SELECT ', '']);
72
+ });
73
+ }
74
+ test('the sql property is immutable', (t) => {
75
+ const query = sql.fragment `SELECT 1`;
76
+ t.throws(() => {
77
+ // @ts-expect-error This is intentional.
78
+ query.sql = 'SELECT 2';
79
+ });
80
+ });
81
+ /**
82
+ * https://github.com/gajus/slonik/pull/552
83
+ */
84
+ test('copes with dollar-number in table name', (t) => {
85
+ const query0 = sql.fragment `discounted_to_$1 (offer_id INTEGER)`;
86
+ const query1 = sql.fragment `CREATE TABLE ${query0}`;
87
+ t.deepEqual(query1, {
88
+ sql: 'CREATE TABLE discounted_to_$1 (offer_id INTEGER)',
89
+ type: tokens_1.FragmentToken,
90
+ values: [],
91
+ });
92
+ });
93
+ /**
94
+ * https://github.com/gajus/slonik/pull/552
95
+ */
96
+ test('copes with dollar-number in column name (CREATE TABLE)', (t) => {
97
+ const query0 = sql.fragment `offers (discounted_to_$1 BOOLEAN)`;
98
+ const query1 = sql.fragment `CREATE TABLE ${query0}`;
99
+ t.deepEqual(query1, {
100
+ sql: 'CREATE TABLE offers (discounted_to_$1 BOOLEAN)',
101
+ type: tokens_1.FragmentToken,
102
+ values: [],
103
+ });
104
+ });
105
+ /**
106
+ * https://github.com/gajus/slonik/pull/552
107
+ */
108
+ test('copes with dollar-number in column name (SELECT)', (t) => {
109
+ const query0 = sql.fragment `"discounted_to_$1" IS TRUE`;
110
+ const query1 = sql.fragment `SELECT * FROM offers WHERE ${query0}`;
111
+ t.deepEqual(query1, {
112
+ sql: 'SELECT * FROM offers WHERE "discounted_to_$1" IS TRUE',
113
+ type: tokens_1.FragmentToken,
114
+ values: [],
115
+ });
116
+ });
117
+ /**
118
+ * https://github.com/gajus/slonik/pull/552
119
+ */
120
+ test('copes with dollar-number in function definitions', (t) => {
121
+ // example function from https://www.postgresql.org/docs/current/sql-createfunction.html
122
+ const query0 = sql.fragment `add(integer, integer) RETURNS integer
123
+ AS 'select $1 + $2;'
124
+ LANGUAGE SQL
125
+ IMMUTABLE
126
+ RETURNS NULL ON NULL INPUT`;
127
+ const query1 = sql.fragment `CREATE FUNCTION ${query0}`;
128
+ t.deepEqual(query1, {
129
+ sql: `CREATE FUNCTION add(integer, integer) RETURNS integer
130
+ AS 'select $1 + $2;'
131
+ LANGUAGE SQL
132
+ IMMUTABLE
133
+ RETURNS NULL ON NULL INPUT`,
134
+ type: tokens_1.FragmentToken,
135
+ values: [],
136
+ });
137
+ });
138
+ //# sourceMappingURL=sql.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/sql.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=timestamp.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/timestamp.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
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 timestamp', (t) => {
11
+ const query = sql.fragment `SELECT ${sql.timestamp(new Date('2022-08-19T03:27:24.951Z'))}`;
12
+ t.deepEqual(query, {
13
+ sql: 'SELECT to_timestamp($slonik_1)',
14
+ type: tokens_1.FragmentToken,
15
+ values: ['1660879644.951'],
16
+ });
17
+ });
18
+ (0, ava_1.default)('throws if not instance of Date', (t) => {
19
+ const error = t.throws(() => {
20
+ // @ts-expect-error - intentional
21
+ sql.fragment `SELECT ${sql.timestamp(1)}`;
22
+ });
23
+ t.is(error?.message, 'Timestamp parameter value must be an instance of Date.');
24
+ });
25
+ //# sourceMappingURL=timestamp.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/timestamp.test.ts"],"names":[],"mappings":";;;;;AAAA,yCAA6C;AAC7C,kDAA+C;AAC/C,8CAAuB;AAEvB,MAAM,GAAG,GAAG,IAAA,2BAAY,GAAE,CAAC;AAE3B,IAAA,aAAI,EAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAA,UAAU,GAAG,CAAC,SAAS,CAC/C,IAAI,IAAI,CAAC,0BAA0B,CAAC,CACrC,EAAE,CAAC;IAEJ,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE;QACjB,GAAG,EAAE,gCAAgC;QACrC,IAAI,EAAE,sBAAa;QACnB,MAAM,EAAE,CAAC,gBAAgB,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAC1B,iCAAiC;QACjC,GAAG,CAAC,QAAQ,CAAA,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CACF,KAAK,EAAE,OAAO,EACd,wDAAwD,CACzD,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=type.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/type.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
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 createSqlTag_1 = require("../createSqlTag");
7
+ const ava_1 = __importDefault(require("ava"));
8
+ const zod_1 = require("zod");
9
+ const sql = (0, createSqlTag_1.createSqlTag)();
10
+ (0, ava_1.default)('describes zod object associated with the query', (t) => {
11
+ const zodObject = zod_1.z.object({
12
+ id: zod_1.z.number(),
13
+ });
14
+ const query = sql.type(zodObject) `
15
+ SELECT 1 id
16
+ `;
17
+ t.is(query.parser, zodObject);
18
+ });
19
+ //# sourceMappingURL=type.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/type.test.ts"],"names":[],"mappings":";;;;;AAAA,kDAA+C;AAC/C,8CAAuB;AACvB,6BAAwB;AAExB,MAAM,GAAG,GAAG,IAAA,2BAAY,GAAE,CAAC;AAE3B,IAAA,aAAI,EAAC,gDAAgD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3D,MAAM,SAAS,GAAG,OAAC,CAAC,MAAM,CAAC;QACzB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;KACf,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;;GAEhC,CAAC;IAEF,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typeAlias.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeAlias.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/typeAlias.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
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 createSqlTag_1 = require("../createSqlTag");
7
+ const ava_1 = __importDefault(require("ava"));
8
+ const roarr_1 = require("roarr");
9
+ const zod_1 = require("zod");
10
+ const test = ava_1.default;
11
+ test.beforeEach((t) => {
12
+ t.context.logs = [];
13
+ roarr_1.ROARR.write = (message) => {
14
+ t.context.logs.push(JSON.parse(message));
15
+ };
16
+ });
17
+ test('describes zod object associated with the query', (t) => {
18
+ const typeAliases = {
19
+ id: zod_1.z.object({
20
+ id: zod_1.z.number(),
21
+ }),
22
+ };
23
+ const sql = (0, createSqlTag_1.createSqlTag)({
24
+ typeAliases,
25
+ });
26
+ const query = sql.typeAlias('id') `
27
+ SELECT 1 id
28
+ `;
29
+ t.is(query.parser, typeAliases.id);
30
+ });
31
+ test('cannot alias unknown fields', (t) => {
32
+ const typeAliases = {
33
+ id: zod_1.z.object({
34
+ id: zod_1.z.number(),
35
+ }),
36
+ };
37
+ const sql = (0, createSqlTag_1.createSqlTag)({
38
+ typeAliases,
39
+ });
40
+ t.throws(() => {
41
+ // @ts-expect-error - intentional
42
+ sql.typeAlias('void') `
43
+ SELECT 1 id
44
+ `;
45
+ });
46
+ });
47
+ //# sourceMappingURL=typeAlias.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeAlias.test.js","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/typeAlias.test.ts"],"names":[],"mappings":";;;;;AAAA,kDAA+C;AAC/C,8CAA2C;AAC3C,iCAA8B;AAC9B,6BAAwB;AAExB,MAAM,IAAI,GAAG,aAEX,CAAC;AAEH,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;IACpB,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;IAEpB,aAAK,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE;QACxB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3D,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC;YACX,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;SACf,CAAC;KACH,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,2BAAY,EAAC;QACvB,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;;GAEhC,CAAC;IAEF,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE,EAAE;IACxC,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC;YACX,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;SACf,CAAC;KACH,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,2BAAY,EAAC;QACvB,WAAW;KACZ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QACZ,iCAAiC;QACjC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;;KAEpB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=unnest.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unnest.test.d.ts","sourceRoot":"","sources":["../../../src/factories/createSqlTag.test/unnest.test.ts"],"names":[],"mappings":""}