zero-orm 1.0.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 (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1995 -0
  3. package/dist/prd.tsconfig.tsbuildinfo +1 -0
  4. package/dist/src/Table.d.ts +180 -0
  5. package/dist/src/Table.d.ts.map +1 -0
  6. package/dist/src/Table.js +8 -0
  7. package/dist/src/Table.js.map +1 -0
  8. package/dist/src/context.d.ts +90 -0
  9. package/dist/src/context.d.ts.map +1 -0
  10. package/dist/src/context.js +84 -0
  11. package/dist/src/context.js.map +1 -0
  12. package/dist/src/createModelParser.d.ts +47 -0
  13. package/dist/src/createModelParser.d.ts.map +1 -0
  14. package/dist/src/createModelParser.js +339 -0
  15. package/dist/src/createModelParser.js.map +1 -0
  16. package/dist/src/ddl.d.ts +22 -0
  17. package/dist/src/ddl.d.ts.map +1 -0
  18. package/dist/src/ddl.js +91 -0
  19. package/dist/src/ddl.js.map +1 -0
  20. package/dist/src/entity.d.ts +114 -0
  21. package/dist/src/entity.d.ts.map +1 -0
  22. package/dist/src/entity.js +539 -0
  23. package/dist/src/entity.js.map +1 -0
  24. package/dist/src/index.d.ts +10 -0
  25. package/dist/src/index.d.ts.map +1 -0
  26. package/dist/src/index.js +71 -0
  27. package/dist/src/index.js.map +1 -0
  28. package/dist/src/keywords.d.ts +158 -0
  29. package/dist/src/keywords.d.ts.map +1 -0
  30. package/dist/src/keywords.js +187 -0
  31. package/dist/src/keywords.js.map +1 -0
  32. package/dist/src/resolve.d.ts +15 -0
  33. package/dist/src/resolve.d.ts.map +1 -0
  34. package/dist/src/resolve.js +600 -0
  35. package/dist/src/resolve.js.map +1 -0
  36. package/dist/src/testTransaction.d.ts +23 -0
  37. package/dist/src/testTransaction.d.ts.map +1 -0
  38. package/dist/src/testTransaction.js +113 -0
  39. package/dist/src/testTransaction.js.map +1 -0
  40. package/dist/src/transaction.d.ts +6 -0
  41. package/dist/src/transaction.d.ts.map +1 -0
  42. package/dist/src/transaction.js +28 -0
  43. package/dist/src/transaction.js.map +1 -0
  44. package/dist/src/utils.d.ts +62 -0
  45. package/dist/src/utils.d.ts.map +1 -0
  46. package/dist/src/utils.js +86 -0
  47. package/dist/src/utils.js.map +1 -0
  48. package/package.json +47 -0
@@ -0,0 +1,539 @@
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) => createQuery(params => createInsertQuery(context, table, rows, returning, 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, params) => {
199
+ const errorPrefix = `insert("${table.schemaName}"."${table.tableName}")`;
200
+ const tokens = [`INSERT INTO "${table.schemaName}"."${table.tableName}"`];
201
+ const rowsTextArray = [];
202
+ const _rows = typeof rows === 'function' ? rows(context) : rows;
203
+ if (_rows.length === 0) {
204
+ return (0, never_catch_1.err)(`${errorPrefix} -> rows -> empty`);
205
+ }
206
+ const temp = Object.fromEntries(Object.keys(table.columns)
207
+ .filter(columnKey => !table.columns[columnKey].nullable ||
208
+ table.columns[columnKey].default)
209
+ .map(columnKey => [columnKey, true]));
210
+ _rows.forEach(_row => Object.keys(_row).forEach(key => (temp[key] = true)));
211
+ const insertingColumns = Object.keys(temp);
212
+ const columnsTextArray = insertingColumns.map(columnKey => (0, resolve_1.resolveColumn)(table, columnKey, false));
213
+ tokens.push(`(${columnsTextArray.join(', ')})`, 'VALUES');
214
+ for (const _row of _rows) {
215
+ const rowTokens = [];
216
+ for (const insertingColumn of insertingColumns) {
217
+ if (_row[insertingColumn] === undefined) {
218
+ const column = table.columns[insertingColumn];
219
+ if (column.defaultValue !== undefined) {
220
+ switch (column.defaultValue[0]) {
221
+ case 'auto-increment':
222
+ rowTokens.push('DEFAULT');
223
+ continue;
224
+ case 'created-at':
225
+ case 'updated-at':
226
+ rowTokens.push(U.stringify(new Date(), true));
227
+ continue;
228
+ case 'sql':
229
+ rowTokens.push(column.defaultValue[1]);
230
+ continue;
231
+ case 'js':
232
+ rowTokens.push(U.stringify(column.defaultValue[1], true));
233
+ continue;
234
+ }
235
+ }
236
+ if (column.nullable) {
237
+ rowTokens.push(U.stringify(null, true));
238
+ continue;
239
+ }
240
+ return (0, never_catch_1.err)(`${errorPrefix} -> rows -> [${_rows.indexOf(_row)}] -> [${insertingColumn}] -> no-value`);
241
+ }
242
+ else {
243
+ const resolvedExpressionResult = (0, resolve_1.resolveExpression)(_row[insertingColumn], params.length + 1, false);
244
+ if (!resolvedExpressionResult.ok) {
245
+ return (0, never_catch_1.err)(`${errorPrefix} -> rows -> [${_rows.indexOf(_row)}] -> [${insertingColumn}] -> ${resolvedExpressionResult.error}`);
246
+ }
247
+ if (resolvedExpressionResult.value.text === '') {
248
+ return (0, never_catch_1.err)(`${errorPrefix} -> rows -> [${_rows.indexOf(_row)}] -> [${insertingColumn}] -> neutral`);
249
+ }
250
+ params.push(...resolvedExpressionResult.value.params);
251
+ rowTokens.push(resolvedExpressionResult.value.text);
252
+ }
253
+ }
254
+ rowsTextArray.push(`(${rowTokens.join(', ')})`);
255
+ }
256
+ tokens.push(rowsTextArray.join(', '));
257
+ const _returning = typeof returning === 'function' ? returning(context) : returning;
258
+ if (_returning.length !== 0) {
259
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => [table.columns[column].title, undefined], _returning, params.length + 1);
260
+ if (!resolvedReturning.ok) {
261
+ return (0, never_catch_1.err)(`${errorPrefix} -> ${resolvedReturning.error}`);
262
+ }
263
+ params.push(...resolvedReturning.value.params);
264
+ tokens.push('RETURNING', resolvedReturning.value.text);
265
+ }
266
+ return (0, never_catch_1.ok)({ sql: tokens.join(' '), params });
267
+ };
268
+ exports.createInsertQuery = createInsertQuery;
269
+ const createUpdateQuery = (context, table, sets, where, returning, params) => {
270
+ const errorPrefix = `update("${table.schemaName}"."${table.tableName}")`;
271
+ const tokens = [`UPDATE "${table.schemaName}"."${table.tableName}" SET`];
272
+ const _set = typeof sets === 'function' ? sets(context) : sets;
273
+ const setsTextArray = [];
274
+ let key;
275
+ for (key in _set) {
276
+ if (_set[key] === undefined) {
277
+ continue;
278
+ }
279
+ const setExpressionResult = (0, resolve_1.resolveExpression)(_set[key], params.length + 1, false);
280
+ if (!setExpressionResult.ok) {
281
+ return (0, never_catch_1.err)(`${errorPrefix} -> sets -> [${key}] -> ${setExpressionResult.error}`);
282
+ }
283
+ if (setExpressionResult.value.text === '') {
284
+ return (0, never_catch_1.err)(`${errorPrefix} -> sets -> [${key}] -> neutral`);
285
+ }
286
+ params.push(...setExpressionResult.value.params);
287
+ setsTextArray.push(`${(0, resolve_1.resolveColumn)(table, key, false)} = ${setExpressionResult.value.text}`);
288
+ }
289
+ for (const column in table.columns) {
290
+ switch (table.columns[column].defaultValue?.[0]) {
291
+ case 'updated-at':
292
+ setsTextArray.push(`${(0, resolve_1.resolveColumn)(table, column, false)} = ${U.stringify(new Date(), true)}`);
293
+ break;
294
+ }
295
+ }
296
+ if (setsTextArray.length === 0) {
297
+ return (0, never_catch_1.err)(`${errorPrefix} -> sets -> empty`);
298
+ }
299
+ tokens.push(setsTextArray.join(', '));
300
+ const resolvedWhereResult = (0, resolve_1.resolveExpression)(typeof where === 'function' ? where(context) : where, params.length + 1, false);
301
+ if (!resolvedWhereResult.ok) {
302
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> ${resolvedWhereResult.error}`);
303
+ }
304
+ if (resolvedWhereResult.value.text === '') {
305
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> neutral`);
306
+ }
307
+ params.push(...resolvedWhereResult.value.params);
308
+ tokens.push('WHERE', resolvedWhereResult.value.text);
309
+ const _returning = typeof returning === 'function' ? returning(context) : returning;
310
+ if (_returning.length !== 0) {
311
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => [table.columns[column].title, undefined], _returning, params.length + 1);
312
+ if (!resolvedReturning.ok) {
313
+ return (0, never_catch_1.err)(`${errorPrefix} -> ${resolvedReturning.error}`);
314
+ }
315
+ params.push(...resolvedReturning.value.params);
316
+ tokens.push('RETURNING', resolvedReturning.value.text);
317
+ }
318
+ return (0, never_catch_1.ok)({ sql: tokens.join(' '), params });
319
+ };
320
+ exports.createUpdateQuery = createUpdateQuery;
321
+ const createDeleteQuery = (context, table, returning, where, params) => {
322
+ const tokens = [`DELETE FROM "${table.schemaName}"."${table.tableName}"`];
323
+ const resolvedWhereResult = (0, resolve_1.resolveExpression)(typeof where === 'function' ? where(context) : where, params.length + 1, false);
324
+ if (!resolvedWhereResult.ok) {
325
+ return (0, never_catch_1.err)(`delete("${table.schemaName}"."${table.tableName}") -> where -> ${resolvedWhereResult.error}`);
326
+ }
327
+ if (resolvedWhereResult.value.text === '') {
328
+ return (0, never_catch_1.err)(`delete("${table.schemaName}"."${table.tableName}") -> where -> neutral`);
329
+ }
330
+ params.push(...resolvedWhereResult.value.params);
331
+ tokens.push('WHERE', resolvedWhereResult.value.text);
332
+ const _returning = typeof returning === 'function' ? returning(context) : returning;
333
+ if (_returning.length !== 0) {
334
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => [table.columns[column].title, undefined], _returning, params.length + 1);
335
+ if (!resolvedReturning.ok) {
336
+ return (0, never_catch_1.err)(`delete("${table.schemaName}"."${table.tableName}") -> ${resolvedReturning.error}`);
337
+ }
338
+ params.push(...resolvedReturning.value.params);
339
+ tokens.push('RETURNING', resolvedReturning.value.text);
340
+ }
341
+ return (0, never_catch_1.ok)({ sql: tokens.join(' '), params });
342
+ };
343
+ exports.createDeleteQuery = createDeleteQuery;
344
+ const createJoinSelectEntity = (main, joinTables, contexts) => ({
345
+ contexts,
346
+ select: (returning, where, options = {}) => createQuery(params => createJoinSelectQuery(contexts, main, joinTables, returning, where, options, params)),
347
+ join: (joinType, joinTable, joinAlias, on) => {
348
+ joinTables.push({
349
+ table: joinTable,
350
+ on: on,
351
+ joinType,
352
+ alias: joinAlias
353
+ });
354
+ return createJoinSelectEntity(main, joinTables, {
355
+ ...contexts,
356
+ [`${joinAlias}Context`]: (0, context_1.createContext)(joinTable, joinAlias)
357
+ });
358
+ }
359
+ });
360
+ exports.createJoinSelectEntity = createJoinSelectEntity;
361
+ const createJoinSelectQuery = (contexts, main, joinTables, returning, where, options, params) => {
362
+ const errorPrefix = `join-select("${main.table.schemaName}"."${main.table.tableName}")`;
363
+ const allTables = [main, ...joinTables];
364
+ const { distinct = false, groupBy = [], orders = [], start, step, customQueryBuilder = defaultCustomQueryBuilder } = options;
365
+ let distinctPart = '';
366
+ const _distinct = typeof distinct === 'function' ? distinct(contexts) : distinct;
367
+ if (_distinct === true) {
368
+ distinctPart = 'DISTINCT';
369
+ }
370
+ else if (Array.isArray(_distinct)) {
371
+ const distinctTextArray = [];
372
+ for (const aDistinct of _distinct) {
373
+ if (typeof aDistinct === 'object') {
374
+ const resolvedExpression = (0, resolve_1.resolveExpression)(aDistinct.expression, params.length + 1, false);
375
+ if (!resolvedExpression.ok) {
376
+ return (0, never_catch_1.err)(`${errorPrefix} -> distinct -> ${_distinct.indexOf(aDistinct)} -> ${resolvedExpression.error}`);
377
+ }
378
+ params.push(...resolvedExpression.value.params);
379
+ distinctTextArray.push(resolvedExpression.value.text);
380
+ }
381
+ else {
382
+ const { table, alias } = getTableDataOfJoinSelectColumn(allTables, aDistinct);
383
+ distinctTextArray.push((0, resolve_1.resolveColumn)(table, aDistinct.substring((alias + '_').length), true, alias));
384
+ }
385
+ }
386
+ distinctPart = `DISTINCT ON(${distinctTextArray.join(', ')})`;
387
+ }
388
+ const _returning = typeof returning === 'function' ? returning(contexts) : returning;
389
+ const resolvedReturning = (0, resolve_1.resolveReturning)(column => {
390
+ const { table, alias } = getTableDataOfJoinSelectColumn(allTables, column);
391
+ const columnKey = column.substring((alias + '_').length);
392
+ return [table.columns[columnKey].title, alias];
393
+ }, _returning, params.length + 1);
394
+ if (!resolvedReturning.ok) {
395
+ return (0, never_catch_1.err)(`${errorPrefix} -> ${resolvedReturning.error}`);
396
+ }
397
+ params.push(...resolvedReturning.value.params);
398
+ const returningPart = resolvedReturning.value.text;
399
+ let fromPart = `"${main.table.schemaName}"."${main.table.tableName}" "${main.alias}"`;
400
+ for (const joinTable of joinTables) {
401
+ const onExpressionResult = (0, resolve_1.resolveExpression)(typeof joinTable.on === 'function'
402
+ ? joinTable.on(contexts)
403
+ : joinTable.on, params.length + 1, false);
404
+ if (!onExpressionResult.ok) {
405
+ return (0, never_catch_1.err)(`${errorPrefix} -> join -> ${joinTables.indexOf(joinTable)} -> ${onExpressionResult.error}`);
406
+ }
407
+ if (onExpressionResult.value.text === '') {
408
+ return (0, never_catch_1.err)(`${errorPrefix} -> join -> ${joinTables.indexOf(joinTable)} -> neutral`);
409
+ }
410
+ params.push(...onExpressionResult.value.params);
411
+ fromPart += ` ${keywords_1.Dictionary.JoinType[joinTable.joinType]} "${joinTable.table.schemaName}"."${joinTable.table.tableName}" "${joinTable.alias}" ON ${onExpressionResult.value.text}`;
412
+ }
413
+ const resolvedWhereResult = (0, resolve_1.resolveExpression)(typeof where === 'function' ? where(contexts) : where, params.length + 1, false);
414
+ if (!resolvedWhereResult.ok) {
415
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> ${resolvedWhereResult.error}`);
416
+ }
417
+ if (resolvedWhereResult.value.text === '') {
418
+ return (0, never_catch_1.err)(`${errorPrefix} -> where -> neutral`);
419
+ }
420
+ params.push(...resolvedWhereResult.value.params);
421
+ const wherePart = resolvedWhereResult.value.text;
422
+ let groupByPart = '';
423
+ const _groupBy = typeof groupBy === 'function' ? groupBy(contexts) : groupBy;
424
+ if (_groupBy.length !== 0) {
425
+ const groupByTextArray = [];
426
+ for (const aGroupBy of _groupBy) {
427
+ if (typeof aGroupBy === 'object') {
428
+ const resolvedGroupBy = (0, resolve_1.resolveExpression)(aGroupBy.expression, params.length + 1, false);
429
+ if (!resolvedGroupBy.ok) {
430
+ return (0, never_catch_1.err)(`${errorPrefix} -> groupBy -> ${_groupBy.indexOf(aGroupBy)} -> ${resolvedGroupBy.error}`);
431
+ }
432
+ params.push(...resolvedGroupBy.value.params);
433
+ groupByTextArray.push(resolvedGroupBy.value.text);
434
+ }
435
+ else {
436
+ const { table, alias } = getTableDataOfJoinSelectColumn(allTables, aGroupBy);
437
+ groupByTextArray.push((0, resolve_1.resolveColumn)(table, aGroupBy.substring((alias + '_').length), true, alias));
438
+ }
439
+ }
440
+ groupByPart = groupByTextArray.join(', ');
441
+ }
442
+ let ordersPart = '';
443
+ const _orders = typeof orders === 'function' ? orders(contexts) : orders;
444
+ if (_orders.length !== 0) {
445
+ const ordersTextArray = [];
446
+ for (const order of _orders) {
447
+ const { by, direction, nullPosition } = order;
448
+ const nullPositionText = nullPosition !== undefined
449
+ ? ' ' + keywords_1.Dictionary.OrderNullPosition[nullPosition]
450
+ : '';
451
+ if (typeof by === 'object') {
452
+ const resolvedGroupBy = (0, resolve_1.resolveExpression)(by.expression, params.length + 1, false);
453
+ if (!resolvedGroupBy.ok) {
454
+ return (0, never_catch_1.err)(`${errorPrefix} -> orderBy -> ${_orders.indexOf(order)} -> by -> ${resolvedGroupBy.error}`);
455
+ }
456
+ params.push(...resolvedGroupBy.value.params);
457
+ ordersTextArray.push(`${resolvedGroupBy.value.text} ${keywords_1.Dictionary.OrderDirection[direction]}${nullPositionText}`);
458
+ }
459
+ else {
460
+ const { table, alias } = getTableDataOfJoinSelectColumn(allTables, by);
461
+ ordersTextArray.push(`${(0, resolve_1.resolveColumn)(table, by.substring((alias + '_').length), true, alias)} ${keywords_1.Dictionary.OrderDirection[direction]}${nullPositionText}`);
462
+ }
463
+ }
464
+ ordersPart = ordersTextArray.join(', ');
465
+ }
466
+ let paginationPart = '';
467
+ const paginationTextArray = [];
468
+ if (start !== undefined) {
469
+ if (start < 0) {
470
+ return (0, never_catch_1.err)(`${errorPrefix} -> start -> invalid`);
471
+ }
472
+ paginationTextArray.push(`OFFSET ${start}`);
473
+ }
474
+ if (step !== undefined) {
475
+ if (step <= 0) {
476
+ return (0, never_catch_1.err)(`${errorPrefix} -> step -> invalid`);
477
+ }
478
+ paginationTextArray.push(`LIMIT ${step}`);
479
+ }
480
+ if (paginationTextArray.length !== 0) {
481
+ paginationPart = paginationTextArray.join(' ');
482
+ }
483
+ return (0, never_catch_1.ok)(customQueryBuilder({
484
+ distinctPart,
485
+ returningPart,
486
+ fromPart,
487
+ wherePart,
488
+ groupByPart,
489
+ ordersPart,
490
+ paginationPart
491
+ }, params));
492
+ };
493
+ exports.createJoinSelectQuery = createJoinSelectQuery;
494
+ const getTableDataOfJoinSelectColumn = (tablesData, column) => {
495
+ const splitColumn = column.split('_');
496
+ if (splitColumn.length < 2) {
497
+ throw `no separator`;
498
+ }
499
+ for (let i = 1; i < splitColumn.length; i++) {
500
+ const tableAlias = splitColumn.slice(0, i).join('_');
501
+ for (const tableData of tablesData) {
502
+ if (tableData.alias === tableAlias &&
503
+ tableData.table.columns[splitColumn.slice(i).join('_')] !==
504
+ undefined) {
505
+ return tableData;
506
+ }
507
+ }
508
+ }
509
+ throw `column not found`;
510
+ };
511
+ exports.getTableDataOfJoinSelectColumn = getTableDataOfJoinSelectColumn;
512
+ const createQuery = (createQueryData) => {
513
+ let queryDataResult;
514
+ return {
515
+ getData: (params = []) => {
516
+ if (queryDataResult === undefined) {
517
+ queryDataResult = createQueryData(params);
518
+ }
519
+ if (!queryDataResult.ok) {
520
+ return queryDataResult;
521
+ }
522
+ return queryDataResult;
523
+ },
524
+ execute: async (client, mode, params = []) => {
525
+ if (queryDataResult === undefined) {
526
+ queryDataResult = createQueryData(params);
527
+ }
528
+ if (!queryDataResult.ok) {
529
+ return Promise.resolve(queryDataResult);
530
+ }
531
+ return client
532
+ .query(queryDataResult.value.sql + ';', queryDataResult.value.params)
533
+ .then(({ rows }) => (0, resolve_1.resolveResult)(rows, mode))
534
+ .catch(e => (0, never_catch_1.err)(e));
535
+ }
536
+ };
537
+ };
538
+ exports.createQuery = createQuery;
539
+ //# 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, createTable, type Schema, type SchemaByColumns, type TableBySchema, type Table, type Columns, type ColumnInfo, 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,WAAW,EACX,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,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"}