@mrnafisia/type-query 4.0.7 → 4.0.8

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 (46) hide show
  1. package/dist/prd.tsconfig.tsbuildinfo +1 -0
  2. package/dist/src/Table.d.ts +158 -0
  3. package/dist/src/Table.d.ts.map +1 -0
  4. package/dist/src/Table.js +6 -0
  5. package/dist/src/Table.js.map +1 -0
  6. package/dist/src/context.d.ts +90 -0
  7. package/dist/src/context.d.ts.map +1 -0
  8. package/dist/src/context.js +84 -0
  9. package/dist/src/context.js.map +1 -0
  10. package/dist/src/createModelParser.d.ts +47 -0
  11. package/dist/src/createModelParser.d.ts.map +1 -0
  12. package/dist/src/createModelParser.js +339 -0
  13. package/dist/src/createModelParser.js.map +1 -0
  14. package/dist/src/ddl.d.ts +22 -0
  15. package/dist/src/ddl.d.ts.map +1 -0
  16. package/dist/src/ddl.js +92 -0
  17. package/dist/src/ddl.js.map +1 -0
  18. package/dist/src/entity.d.ts +114 -0
  19. package/dist/src/entity.d.ts.map +1 -0
  20. package/dist/src/entity.js +543 -0
  21. package/dist/src/entity.js.map +1 -0
  22. package/dist/src/index.d.ts +10 -0
  23. package/dist/src/index.d.ts.map +1 -0
  24. package/dist/src/index.js +70 -0
  25. package/dist/src/index.js.map +1 -0
  26. package/dist/src/keywords.d.ts +158 -0
  27. package/dist/src/keywords.d.ts.map +1 -0
  28. package/dist/src/keywords.js +187 -0
  29. package/dist/src/keywords.js.map +1 -0
  30. package/dist/src/resolve.d.ts +15 -0
  31. package/dist/src/resolve.d.ts.map +1 -0
  32. package/dist/src/resolve.js +599 -0
  33. package/dist/src/resolve.js.map +1 -0
  34. package/dist/src/testTransaction.d.ts +23 -0
  35. package/dist/src/testTransaction.d.ts.map +1 -0
  36. package/dist/src/testTransaction.js +115 -0
  37. package/dist/src/testTransaction.js.map +1 -0
  38. package/dist/src/transaction.d.ts +6 -0
  39. package/dist/src/transaction.d.ts.map +1 -0
  40. package/dist/src/transaction.js +28 -0
  41. package/dist/src/transaction.js.map +1 -0
  42. package/dist/src/utils.d.ts +62 -0
  43. package/dist/src/utils.d.ts.map +1 -0
  44. package/dist/src/utils.js +86 -0
  45. package/dist/src/utils.js.map +1 -0
  46. package/package.json +1 -1
@@ -0,0 +1,543 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createQuery = exports.getTableDataOfJoinSelectColumn = exports.createJoinSelectQuery = exports.createJoinSelectEntity = exports.createDeleteQuery = exports.createUpdateQuery = exports.createInsertQuery = exports.createSelectQuery = exports.defaultCustomQueryBuilder = exports.createEntity = void 0;
37
+ const U = __importStar(require("./utils"));
38
+ const keywords_1 = require("./keywords");
39
+ const never_catch_1 = require("never-catch");
40
+ const context_1 = require("./context");
41
+ const resolve_1 = require("./resolve");
42
+ const createEntity = (table) => {
43
+ const context = (0, context_1.createContext)(table);
44
+ return {
45
+ table,
46
+ context,
47
+ select: (returning, where, options = {}) => createQuery(params => createSelectQuery(context, table, returning, where, options, params)),
48
+ insert: (rows, returning, options = {}) => createQuery(params => createInsertQuery(context, table, rows, returning, options, params)),
49
+ update: (sets, where, returning) => createQuery(params => createUpdateQuery(context, table, sets, where, returning, params)),
50
+ delete: (where, returning) => createQuery(params => createDeleteQuery(context, table, returning, where, params)),
51
+ join: (mainAlias, joinType, joinTable, joinAlias, on) => createJoinSelectEntity({ table, alias: mainAlias }, [
52
+ {
53
+ table: joinTable,
54
+ joinType,
55
+ alias: joinAlias,
56
+ on
57
+ }
58
+ ], {
59
+ [`${mainAlias}Context`]: (0, context_1.createContext)(table, mainAlias),
60
+ [`${joinAlias}Context`]: (0, context_1.createContext)(joinTable, joinAlias)
61
+ })
62
+ };
63
+ };
64
+ exports.createEntity = createEntity;
65
+ const defaultCustomQueryBuilder = (parts, params) => {
66
+ const tokens = ['SELECT'];
67
+ if (parts.distinctPart !== '') {
68
+ tokens.push(parts.distinctPart);
69
+ }
70
+ tokens.push(parts.returningPart, 'FROM', parts.fromPart, 'WHERE', parts.wherePart);
71
+ if (parts.groupByPart !== '') {
72
+ tokens.push('GROUP BY', parts.groupByPart);
73
+ }
74
+ if (parts.ordersPart !== '') {
75
+ tokens.push('ORDER BY', parts.ordersPart);
76
+ }
77
+ if (parts.paginationPart !== '') {
78
+ tokens.push(parts.paginationPart);
79
+ }
80
+ return {
81
+ sql: tokens.join(' '),
82
+ params
83
+ };
84
+ };
85
+ exports.defaultCustomQueryBuilder = defaultCustomQueryBuilder;
86
+ const createSelectQuery = (context, table, returning, where, options, params) => {
87
+ const errorPrefix = `select("${table.schemaName}"."${table.tableName}")`;
88
+ const { distinct = false, groupBy = [], orders = [], start, step, customQueryBuilder = defaultCustomQueryBuilder } = options;
89
+ let distinctPart = '';
90
+ const _distinct = typeof distinct === 'function' ? distinct(context) : distinct;
91
+ if (_distinct === true) {
92
+ distinctPart = 'DISTINCT';
93
+ }
94
+ else if (Array.isArray(_distinct)) {
95
+ const distinctTextArray = [];
96
+ for (const aDistinct of _distinct) {
97
+ if (typeof aDistinct === 'object') {
98
+ const resolvedExpression = (0, resolve_1.resolveExpression)(aDistinct.expression, params.length + 1, false);
99
+ if (!resolvedExpression.ok) {
100
+ return (0, never_catch_1.err)(`${errorPrefix} -> distinct -> ${_distinct.indexOf(aDistinct)} -> ${resolvedExpression.error}`);
101
+ }
102
+ params.push(...resolvedExpression.value.params);
103
+ distinctTextArray.push(resolvedExpression.value.text);
104
+ }
105
+ else {
106
+ distinctTextArray.push((0, resolve_1.resolveColumn)(table, aDistinct, false));
107
+ }
108
+ }
109
+ distinctPart = `DISTINCT ON(${distinctTextArray.join(', ')})`;
110
+ }
111
+ const _returning = typeof returning === 'function' ? returning(context) : returning;
112
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => [table.columns[column].title, undefined], _returning, params.length + 1);
113
+ if (!resolvedReturning.ok) {
114
+ return (0, never_catch_1.err)(`${errorPrefix} -> ${resolvedReturning.error}`);
115
+ }
116
+ params.push(...resolvedReturning.value.params);
117
+ const returningPart = resolvedReturning.value.text;
118
+ const fromPart = `"${table.schemaName}"."${table.tableName}"`;
119
+ const resolvedWhereResult = (0, resolve_1.resolveExpression)(typeof where === 'function' ? where(context) : where, params.length + 1, false);
120
+ if (!resolvedWhereResult.ok) {
121
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> ${resolvedWhereResult.error}`);
122
+ }
123
+ if (resolvedWhereResult.value.text === '') {
124
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> neutral`);
125
+ }
126
+ params.push(...resolvedWhereResult.value.params);
127
+ const wherePart = resolvedWhereResult.value.text;
128
+ let groupByPart = '';
129
+ const _groupBy = typeof groupBy === 'function' ? groupBy(context) : groupBy;
130
+ if (_groupBy.length !== 0) {
131
+ const groupByTextArray = [];
132
+ for (const aGroupBy of _groupBy) {
133
+ if (typeof aGroupBy === 'object') {
134
+ const resolvedExpression = (0, resolve_1.resolveExpression)(aGroupBy.expression, params.length + 1, false);
135
+ if (!resolvedExpression.ok) {
136
+ return (0, never_catch_1.err)(`${errorPrefix} -> groupBy -> ${_groupBy.indexOf(aGroupBy)} -> ${resolvedExpression.error}`);
137
+ }
138
+ params.push(...resolvedExpression.value.params);
139
+ groupByTextArray.push(resolvedExpression.value.text);
140
+ }
141
+ else {
142
+ groupByTextArray.push((0, resolve_1.resolveColumn)(table, aGroupBy, false));
143
+ }
144
+ }
145
+ groupByPart = groupByTextArray.join(', ');
146
+ }
147
+ let ordersPart = '';
148
+ const _orders = typeof orders === 'function' ? orders(context) : orders;
149
+ if (_orders.length !== 0) {
150
+ const ordersTextArray = [];
151
+ for (const order of _orders) {
152
+ const { by, direction, nullPosition } = order;
153
+ const nullPositionText = nullPosition !== undefined
154
+ ? ' ' + keywords_1.Dictionary.OrderNullPosition[nullPosition]
155
+ : '';
156
+ if (typeof by === 'object') {
157
+ const resolvedExpression = (0, resolve_1.resolveExpression)(by.expression, params.length + 1, false);
158
+ if (!resolvedExpression.ok) {
159
+ return (0, never_catch_1.err)(`${errorPrefix} -> orderBy -> ${_orders.indexOf(order)} -> by -> ${resolvedExpression.error}`);
160
+ }
161
+ params.push(...resolvedExpression.value.params);
162
+ ordersTextArray.push(`${resolvedExpression.value.text} ${keywords_1.Dictionary.OrderDirection[direction]}${nullPositionText}`);
163
+ }
164
+ else {
165
+ ordersTextArray.push(`${(0, resolve_1.resolveColumn)(table, by, false)} ${keywords_1.Dictionary.OrderDirection[direction]}${nullPositionText}`);
166
+ }
167
+ }
168
+ ordersPart = ordersTextArray.join(', ');
169
+ }
170
+ let paginationPart = '';
171
+ const paginationTextArray = [];
172
+ if (start !== undefined) {
173
+ if (start < 0) {
174
+ return (0, never_catch_1.err)(`${errorPrefix} -> start -> invalid`);
175
+ }
176
+ paginationTextArray.push(`OFFSET ${start}`);
177
+ }
178
+ if (step !== undefined) {
179
+ if (step <= 0) {
180
+ return (0, never_catch_1.err)(`${errorPrefix} -> step -> invalid`);
181
+ }
182
+ paginationTextArray.push(`LIMIT ${step}`);
183
+ }
184
+ if (paginationTextArray.length !== 0) {
185
+ paginationPart = paginationTextArray.join(' ');
186
+ }
187
+ return (0, never_catch_1.ok)(customQueryBuilder({
188
+ distinctPart,
189
+ returningPart,
190
+ fromPart,
191
+ wherePart,
192
+ groupByPart,
193
+ ordersPart,
194
+ paginationPart
195
+ }, params));
196
+ };
197
+ exports.createSelectQuery = createSelectQuery;
198
+ const createInsertQuery = (context, table, rows, returning, options, params) => {
199
+ const errorPrefix = `insert("${table.schemaName}"."${table.tableName}")`;
200
+ const { nullableDefaultColumns = [] } = options;
201
+ const tokens = [`INSERT INTO "${table.schemaName}"."${table.tableName}"`];
202
+ const insertingColumns = [];
203
+ const columnsTextArray = [];
204
+ for (const column in table.columns) {
205
+ if (nullableDefaultColumns.includes(column) ||
206
+ !table.columns[column].nullable ||
207
+ table.columns[column].default) {
208
+ insertingColumns.push(column);
209
+ columnsTextArray.push((0, resolve_1.resolveColumn)(table, column, false));
210
+ }
211
+ }
212
+ tokens.push(`(${columnsTextArray.join(', ')})`, 'VALUES');
213
+ const rowsTextArray = [];
214
+ const _rows = typeof rows === 'function' ? rows(context) : rows;
215
+ if (_rows.length === 0) {
216
+ return (0, never_catch_1.err)(`${errorPrefix} -> rows -> empty`);
217
+ }
218
+ for (const _row of _rows) {
219
+ const rowTokens = [];
220
+ for (const insertingColumn of insertingColumns) {
221
+ if (_row[insertingColumn] === undefined) {
222
+ const column = table.columns[insertingColumn];
223
+ if (column.defaultValue !== undefined) {
224
+ switch (column.defaultValue[0]) {
225
+ case 'auto-increment':
226
+ rowTokens.push('DEFAULT');
227
+ continue;
228
+ case 'created-at':
229
+ case 'updated-at':
230
+ rowTokens.push(U.stringify(new Date(), true));
231
+ continue;
232
+ case 'sql':
233
+ rowTokens.push(column.defaultValue[1]);
234
+ continue;
235
+ case 'js':
236
+ rowTokens.push(U.stringify(column.defaultValue[1], true));
237
+ continue;
238
+ }
239
+ }
240
+ if (column.nullable) {
241
+ rowTokens.push(U.stringify(null, true));
242
+ continue;
243
+ }
244
+ return (0, never_catch_1.err)(`${errorPrefix} -> rows -> [${_rows.indexOf(_row)}] -> [${insertingColumn}] -> no-value`);
245
+ }
246
+ else {
247
+ const resolvedExpressionResult = (0, resolve_1.resolveExpression)(_row[insertingColumn], params.length + 1, false);
248
+ if (!resolvedExpressionResult.ok) {
249
+ return (0, never_catch_1.err)(`${errorPrefix} -> rows -> [${_rows.indexOf(_row)}] -> [${insertingColumn}] -> ${resolvedExpressionResult.error}`);
250
+ }
251
+ if (resolvedExpressionResult.value.text === '') {
252
+ return (0, never_catch_1.err)(`${errorPrefix} -> rows -> [${_rows.indexOf(_row)}] -> [${insertingColumn}] -> neutral`);
253
+ }
254
+ params.push(...resolvedExpressionResult.value.params);
255
+ rowTokens.push(resolvedExpressionResult.value.text);
256
+ }
257
+ }
258
+ rowsTextArray.push(`(${rowTokens.join(', ')})`);
259
+ }
260
+ tokens.push(rowsTextArray.join(', '));
261
+ const _returning = typeof returning === 'function' ? returning(context) : returning;
262
+ if (_returning.length !== 0) {
263
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => [table.columns[column].title, undefined], _returning, params.length + 1);
264
+ if (!resolvedReturning.ok) {
265
+ return (0, never_catch_1.err)(`${errorPrefix} -> ${resolvedReturning.error}`);
266
+ }
267
+ params.push(...resolvedReturning.value.params);
268
+ tokens.push('RETURNING', resolvedReturning.value.text);
269
+ }
270
+ return (0, never_catch_1.ok)({ sql: tokens.join(' '), params });
271
+ };
272
+ exports.createInsertQuery = createInsertQuery;
273
+ const createUpdateQuery = (context, table, sets, where, returning, params) => {
274
+ const errorPrefix = `update("${table.schemaName}"."${table.tableName}")`;
275
+ const tokens = [`UPDATE "${table.schemaName}"."${table.tableName}" SET`];
276
+ const _set = typeof sets === 'function' ? sets(context) : sets;
277
+ const setsTextArray = [];
278
+ let key;
279
+ for (key in _set) {
280
+ if (_set[key] === undefined) {
281
+ continue;
282
+ }
283
+ const setExpressionResult = (0, resolve_1.resolveExpression)(_set[key], params.length + 1, false);
284
+ if (!setExpressionResult.ok) {
285
+ return (0, never_catch_1.err)(`${errorPrefix} -> sets -> [${key}] -> ${setExpressionResult.error}`);
286
+ }
287
+ if (setExpressionResult.value.text === '') {
288
+ return (0, never_catch_1.err)(`${errorPrefix} -> sets -> [${key}] -> neutral`);
289
+ }
290
+ params.push(...setExpressionResult.value.params);
291
+ setsTextArray.push(`${(0, resolve_1.resolveColumn)(table, key, false)} = ${setExpressionResult.value.text}`);
292
+ }
293
+ for (const column in table.columns) {
294
+ switch (table.columns[column].defaultValue?.[0]) {
295
+ case 'updated-at':
296
+ setsTextArray.push(`${(0, resolve_1.resolveColumn)(table, column, false)} = ${U.stringify(new Date(), true)}`);
297
+ break;
298
+ }
299
+ }
300
+ if (setsTextArray.length === 0) {
301
+ return (0, never_catch_1.err)(`${errorPrefix} -> sets -> empty`);
302
+ }
303
+ tokens.push(setsTextArray.join(', '));
304
+ const resolvedWhereResult = (0, resolve_1.resolveExpression)(typeof where === 'function' ? where(context) : where, params.length + 1, false);
305
+ if (!resolvedWhereResult.ok) {
306
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> ${resolvedWhereResult.error}`);
307
+ }
308
+ if (resolvedWhereResult.value.text === '') {
309
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> neutral`);
310
+ }
311
+ params.push(...resolvedWhereResult.value.params);
312
+ tokens.push('WHERE', resolvedWhereResult.value.text);
313
+ const _returning = typeof returning === 'function' ? returning(context) : returning;
314
+ if (_returning.length !== 0) {
315
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => [table.columns[column].title, undefined], _returning, params.length + 1);
316
+ if (!resolvedReturning.ok) {
317
+ return (0, never_catch_1.err)(`${errorPrefix} -> ${resolvedReturning.error}`);
318
+ }
319
+ params.push(...resolvedReturning.value.params);
320
+ tokens.push('RETURNING', resolvedReturning.value.text);
321
+ }
322
+ return (0, never_catch_1.ok)({ sql: tokens.join(' '), params });
323
+ };
324
+ exports.createUpdateQuery = createUpdateQuery;
325
+ const createDeleteQuery = (context, table, returning, where, params) => {
326
+ const tokens = [`DELETE FROM "${table.schemaName}"."${table.tableName}"`];
327
+ const resolvedWhereResult = (0, resolve_1.resolveExpression)(typeof where === 'function' ? where(context) : where, params.length + 1, false);
328
+ if (!resolvedWhereResult.ok) {
329
+ return (0, never_catch_1.err)(`delete("${table.schemaName}"."${table.tableName}") -> where -> ${resolvedWhereResult.error}`);
330
+ }
331
+ if (resolvedWhereResult.value.text === '') {
332
+ return (0, never_catch_1.err)(`delete("${table.schemaName}"."${table.tableName}") -> where -> neutral`);
333
+ }
334
+ params.push(...resolvedWhereResult.value.params);
335
+ tokens.push('WHERE', resolvedWhereResult.value.text);
336
+ const _returning = typeof returning === 'function' ? returning(context) : returning;
337
+ if (_returning.length !== 0) {
338
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => [table.columns[column].title, undefined], _returning, params.length + 1);
339
+ if (!resolvedReturning.ok) {
340
+ return (0, never_catch_1.err)(`delete("${table.schemaName}"."${table.tableName}") -> ${resolvedReturning.error}`);
341
+ }
342
+ params.push(...resolvedReturning.value.params);
343
+ tokens.push('RETURNING', resolvedReturning.value.text);
344
+ }
345
+ return (0, never_catch_1.ok)({ sql: tokens.join(' '), params });
346
+ };
347
+ exports.createDeleteQuery = createDeleteQuery;
348
+ const createJoinSelectEntity = (main, joinTables, contexts) => ({
349
+ contexts,
350
+ select: (returning, where, options = {}) => createQuery(params => createJoinSelectQuery(contexts, main, joinTables, returning, where, options, params)),
351
+ join: (joinType, joinTable, joinAlias, on) => {
352
+ joinTables.push({
353
+ table: joinTable,
354
+ on,
355
+ joinType,
356
+ alias: joinAlias
357
+ });
358
+ return createJoinSelectEntity(main, joinTables, {
359
+ ...contexts,
360
+ [`${joinAlias}Context`]: (0, context_1.createContext)(joinTable, joinAlias)
361
+ });
362
+ }
363
+ });
364
+ exports.createJoinSelectEntity = createJoinSelectEntity;
365
+ const createJoinSelectQuery = (contexts, main, joinTables, returning, where, options, params) => {
366
+ const errorPrefix = `join-select("${main.table.schemaName}"."${main.table.tableName}")`;
367
+ const allTables = [main, ...joinTables];
368
+ const { distinct = false, groupBy = [], orders = [], start, step, customQueryBuilder = defaultCustomQueryBuilder } = options;
369
+ let distinctPart = '';
370
+ const _distinct = typeof distinct === 'function' ? distinct(contexts) : distinct;
371
+ if (_distinct === true) {
372
+ distinctPart = 'DISTINCT';
373
+ }
374
+ else if (Array.isArray(_distinct)) {
375
+ const distinctTextArray = [];
376
+ for (const aDistinct of _distinct) {
377
+ if (typeof aDistinct === 'object') {
378
+ const resolvedExpression = (0, resolve_1.resolveExpression)(aDistinct.expression, params.length + 1, false);
379
+ if (!resolvedExpression.ok) {
380
+ return (0, never_catch_1.err)(`${errorPrefix} -> distinct -> ${_distinct.indexOf(aDistinct)} -> ${resolvedExpression.error}`);
381
+ }
382
+ params.push(...resolvedExpression.value.params);
383
+ distinctTextArray.push(resolvedExpression.value.text);
384
+ }
385
+ else {
386
+ const { table, alias } = getTableDataOfJoinSelectColumn(allTables, aDistinct);
387
+ distinctTextArray.push((0, resolve_1.resolveColumn)(table, aDistinct.substring((alias + '_').length), true, alias));
388
+ }
389
+ }
390
+ distinctPart = `DISTINCT ON(${distinctTextArray.join(', ')})`;
391
+ }
392
+ const _returning = typeof returning === 'function' ? returning(contexts) : returning;
393
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => {
394
+ const { table, alias } = getTableDataOfJoinSelectColumn(allTables, column);
395
+ const columnKey = column.substring((alias + '_').length);
396
+ return [table.columns[columnKey].title, alias];
397
+ }, _returning, params.length + 1);
398
+ if (!resolvedReturning.ok) {
399
+ return (0, never_catch_1.err)(`${errorPrefix} -> ${resolvedReturning.error}`);
400
+ }
401
+ params.push(...resolvedReturning.value.params);
402
+ const returningPart = resolvedReturning.value.text;
403
+ let fromPart = `"${main.table.schemaName}"."${main.table.tableName}" "${main.alias}"`;
404
+ for (const joinTable of joinTables) {
405
+ const onExpressionResult = (0, resolve_1.resolveExpression)(typeof joinTable.on === 'function'
406
+ ? joinTable.on(contexts)
407
+ : joinTable.on, params.length + 1, false);
408
+ if (!onExpressionResult.ok) {
409
+ return (0, never_catch_1.err)(`${errorPrefix} -> join -> ${joinTables.indexOf(joinTable)} -> ${onExpressionResult.error}`);
410
+ }
411
+ if (onExpressionResult.value.text === '') {
412
+ return (0, never_catch_1.err)(`${errorPrefix} -> join -> ${joinTables.indexOf(joinTable)} -> neutral`);
413
+ }
414
+ params.push(...onExpressionResult.value.params);
415
+ fromPart += ` ${keywords_1.Dictionary.JoinType[joinTable.joinType]} "${joinTable.table.schemaName}"."${joinTable.table.tableName}" "${joinTable.alias}" ON ${onExpressionResult.value.text}`;
416
+ }
417
+ const resolvedWhereResult = (0, resolve_1.resolveExpression)(typeof where === 'function' ? where(contexts) : where, params.length + 1, false);
418
+ if (!resolvedWhereResult.ok) {
419
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> ${resolvedWhereResult.error}`);
420
+ }
421
+ if (resolvedWhereResult.value.text === '') {
422
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> neutral`);
423
+ }
424
+ params.push(...resolvedWhereResult.value.params);
425
+ const wherePart = resolvedWhereResult.value.text;
426
+ let groupByPart = '';
427
+ const _groupBy = typeof groupBy === 'function' ? groupBy(contexts) : groupBy;
428
+ if (_groupBy.length !== 0) {
429
+ const groupByTextArray = [];
430
+ for (const aGroupBy of _groupBy) {
431
+ if (typeof aGroupBy === 'object') {
432
+ const resolvedGroupBy = (0, resolve_1.resolveExpression)(aGroupBy.expression, params.length + 1, false);
433
+ if (!resolvedGroupBy.ok) {
434
+ return (0, never_catch_1.err)(`${errorPrefix} -> groupBy -> ${_groupBy.indexOf(aGroupBy)} -> ${resolvedGroupBy.error}`);
435
+ }
436
+ params.push(...resolvedGroupBy.value.params);
437
+ groupByTextArray.push(resolvedGroupBy.value.text);
438
+ }
439
+ else {
440
+ const { table, alias } = getTableDataOfJoinSelectColumn(allTables, aGroupBy);
441
+ groupByTextArray.push((0, resolve_1.resolveColumn)(table, aGroupBy.substring((alias + '_').length), true, alias));
442
+ }
443
+ }
444
+ groupByPart = groupByTextArray.join(', ');
445
+ }
446
+ let ordersPart = '';
447
+ const _orders = typeof orders === 'function' ? orders(contexts) : orders;
448
+ if (_orders.length !== 0) {
449
+ const ordersTextArray = [];
450
+ for (const order of _orders) {
451
+ const { by, direction, nullPosition } = order;
452
+ const nullPositionText = nullPosition !== undefined
453
+ ? ' ' + keywords_1.Dictionary.OrderNullPosition[nullPosition]
454
+ : '';
455
+ if (typeof by === 'object') {
456
+ const resolvedGroupBy = (0, resolve_1.resolveExpression)(by.expression, params.length + 1, false);
457
+ if (!resolvedGroupBy.ok) {
458
+ return (0, never_catch_1.err)(`${errorPrefix} -> orderBy -> ${_orders.indexOf(order)} -> by -> ${resolvedGroupBy.error}`);
459
+ }
460
+ params.push(...resolvedGroupBy.value.params);
461
+ ordersTextArray.push(`${resolvedGroupBy.value.text} ${keywords_1.Dictionary.OrderDirection[direction]}${nullPositionText}`);
462
+ }
463
+ else {
464
+ const { table, alias } = getTableDataOfJoinSelectColumn(allTables, by);
465
+ ordersTextArray.push(`${(0, resolve_1.resolveColumn)(table, by.substring((alias + '_').length), true, alias)} ${keywords_1.Dictionary.OrderDirection[direction]}${nullPositionText}`);
466
+ }
467
+ }
468
+ ordersPart = ordersTextArray.join(', ');
469
+ }
470
+ let paginationPart = '';
471
+ const paginationTextArray = [];
472
+ if (start !== undefined) {
473
+ if (start < 0) {
474
+ return (0, never_catch_1.err)(`${errorPrefix} -> start -> invalid`);
475
+ }
476
+ paginationTextArray.push(`OFFSET ${start}`);
477
+ }
478
+ if (step !== undefined) {
479
+ if (step <= 0) {
480
+ return (0, never_catch_1.err)(`${errorPrefix} -> step -> invalid`);
481
+ }
482
+ paginationTextArray.push(`LIMIT ${step}`);
483
+ }
484
+ if (paginationTextArray.length !== 0) {
485
+ paginationPart = paginationTextArray.join(' ');
486
+ }
487
+ return (0, never_catch_1.ok)(customQueryBuilder({
488
+ distinctPart,
489
+ returningPart,
490
+ fromPart,
491
+ wherePart,
492
+ groupByPart,
493
+ ordersPart,
494
+ paginationPart
495
+ }, params));
496
+ };
497
+ exports.createJoinSelectQuery = createJoinSelectQuery;
498
+ const getTableDataOfJoinSelectColumn = (tablesData, column) => {
499
+ const splitColumn = column.split('_');
500
+ if (splitColumn.length < 2) {
501
+ throw `no separator`;
502
+ }
503
+ for (let i = 1; i < splitColumn.length; i++) {
504
+ const tableAlias = splitColumn.slice(0, i).join('_');
505
+ for (const tableData of tablesData) {
506
+ if (tableData.alias === tableAlias &&
507
+ tableData.table.columns[splitColumn.slice(i).join('_')] !==
508
+ undefined) {
509
+ return tableData;
510
+ }
511
+ }
512
+ }
513
+ throw `column not found`;
514
+ };
515
+ exports.getTableDataOfJoinSelectColumn = getTableDataOfJoinSelectColumn;
516
+ const createQuery = (createQueryData) => {
517
+ let queryDataResult;
518
+ return {
519
+ getData: (params = []) => {
520
+ if (queryDataResult === undefined) {
521
+ queryDataResult = createQueryData(params);
522
+ }
523
+ if (!queryDataResult.ok) {
524
+ return queryDataResult;
525
+ }
526
+ return queryDataResult;
527
+ },
528
+ execute: async (client, mode, params = []) => {
529
+ if (queryDataResult === undefined) {
530
+ queryDataResult = createQueryData(params);
531
+ }
532
+ if (!queryDataResult.ok) {
533
+ return Promise.resolve(queryDataResult);
534
+ }
535
+ return client
536
+ .query(queryDataResult.value.sql + ';', queryDataResult.value.params)
537
+ .then(({ rows }) => (0, resolve_1.resolveResult)(rows, mode))
538
+ .catch(e => (0, never_catch_1.err)(e));
539
+ }
540
+ };
541
+ };
542
+ exports.createQuery = createQuery;
543
+ //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { type Context, createContext } from './context';
2
+ export { type Model, type ModelWithPrefix, Int2Range, Int4Range, Int8Range, Parser, createModelParser } from './createModelParser';
3
+ export { generateCreateSequencesSQL, generateDropSequencesSQL, generateCreateTableSQL, generateDropTableSQL, getSequenceName } from './ddl';
4
+ export { type InsertingRow, type UpdateSets, type JoinType, type OrderDirection, type Mode, type CustomColumn, createEntity, defaultCustomQueryBuilder } from './entity';
5
+ export { partialQuery, resolveExpression, resolveColumn, resolveReturning, resolveResult } from './resolve';
6
+ export { createReference, type Table, type Schema, type ColumnInfo, type ExtractEssentialSchema, type GetColumnType, type BooleanColumn, type Int2Int4Column, type Int8Column, type Float4Float8Column, type DecimalColumn, type CharVarcharTextUuidColumn, type DateTimestampTimestamptzColumn, type JsonJsonbColumn, type CustomTypeColumn, type ReferenceActions, type PgType, type NullableType, type Json, type JsonObject, type JsonArray, type BaseJsonValue } from './Table';
7
+ export { type TestTableData, testTransaction, createTestTableData, isRowEqual, isEqual } from './testTransaction';
8
+ export { transaction } from './transaction';
9
+ export * as U from './utils';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EACH,KAAK,KAAK,EACV,KAAK,eAAe,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,EACN,iBAAiB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,YAAY,EACZ,yBAAyB,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,EACH,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,eAAe,EACf,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,KAAK,aAAa,EAClB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,OAAO,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC"}