bigal 13.0.0-beta2 → 13.0.0-beta4
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.
- package/CHANGELOG.md +4 -0
- package/README.md +1 -2
- package/dist/decorators/index.cjs +282 -0
- package/dist/decorators/index.d.cts +1 -0
- package/dist/decorators/index.d.mts +1 -0
- package/dist/decorators/index.d.ts +1 -0
- package/dist/decorators/index.mjs +271 -0
- package/dist/index.cjs +18 -638
- package/dist/index.d.cts +4 -419
- package/dist/index.d.mts +4 -419
- package/dist/index.d.ts +4 -419
- package/dist/index.mjs +4 -623
- package/dist/metadata/index.cjs +369 -0
- package/dist/metadata/index.d.cts +1 -0
- package/dist/metadata/index.d.mts +1 -0
- package/dist/metadata/index.d.ts +1 -0
- package/dist/metadata/index.mjs +358 -0
- package/dist/shared/bigal.03669aef.d.cts +105 -0
- package/dist/shared/bigal.03669aef.d.mts +105 -0
- package/dist/shared/bigal.03669aef.d.ts +105 -0
- package/dist/shared/bigal.06e3c45d.d.cts +315 -0
- package/dist/shared/bigal.06e3c45d.d.mts +315 -0
- package/dist/shared/bigal.06e3c45d.d.ts +315 -0
- package/package.json +28 -1
package/dist/index.cjs
CHANGED
|
@@ -1,366 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const _ = require('lodash');
|
|
4
|
+
const metadata_index = require('./metadata/index.cjs');
|
|
5
|
+
const decorators_index = require('./decorators/index.cjs');
|
|
4
6
|
|
|
5
7
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
6
8
|
|
|
7
9
|
const ___default = /*#__PURE__*/_interopDefaultCompat(_);
|
|
8
10
|
|
|
9
|
-
var __defProp$7 = Object.defineProperty;
|
|
10
|
-
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
-
var __publicField$7 = (obj, key, value) => {
|
|
12
|
-
__defNormalProp$7(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
13
|
-
return value;
|
|
14
|
-
};
|
|
15
|
-
class MetadataStorage {
|
|
16
|
-
constructor() {
|
|
17
|
-
__publicField$7(this, "models", []);
|
|
18
|
-
// All columns for all models. This data only represents @column specifics, not additional column modifiers
|
|
19
|
-
__publicField$7(this, "columns", []);
|
|
20
|
-
// This represents additional column behavior separate from the main @column decorator. For example, @primaryColumn, @versionColumn, etc
|
|
21
|
-
// This behavior will be merged over defaults from @column()
|
|
22
|
-
__publicField$7(this, "columnModifiers", []);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var __defProp$6 = Object.defineProperty;
|
|
27
|
-
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
28
|
-
var __publicField$6 = (obj, key, value) => {
|
|
29
|
-
__defNormalProp$6(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
30
|
-
return value;
|
|
31
|
-
};
|
|
32
|
-
class ColumnBaseMetadata {
|
|
33
|
-
constructor({
|
|
34
|
-
target,
|
|
35
|
-
name,
|
|
36
|
-
propertyName,
|
|
37
|
-
required = false,
|
|
38
|
-
insert = true,
|
|
39
|
-
update = true,
|
|
40
|
-
primary = false,
|
|
41
|
-
createDate = false,
|
|
42
|
-
updateDate = false,
|
|
43
|
-
version = false
|
|
44
|
-
}) {
|
|
45
|
-
/**
|
|
46
|
-
* Name of class with @table decorator
|
|
47
|
-
*/
|
|
48
|
-
__publicField$6(this, "target");
|
|
49
|
-
/**
|
|
50
|
-
* Column name in the database
|
|
51
|
-
*/
|
|
52
|
-
__publicField$6(this, "name");
|
|
53
|
-
/**
|
|
54
|
-
* Class property to which the column is applied
|
|
55
|
-
*/
|
|
56
|
-
__publicField$6(this, "propertyName");
|
|
57
|
-
/**
|
|
58
|
-
* Indicates if a value is required for creates.
|
|
59
|
-
*/
|
|
60
|
-
__publicField$6(this, "required");
|
|
61
|
-
/**
|
|
62
|
-
* Indicates if column is inserted by default. Default is true
|
|
63
|
-
*/
|
|
64
|
-
__publicField$6(this, "insert");
|
|
65
|
-
/**
|
|
66
|
-
* Indicates if column value is updated by "save" operation. Default is true
|
|
67
|
-
*/
|
|
68
|
-
__publicField$6(this, "update");
|
|
69
|
-
/**
|
|
70
|
-
* Indicates if this column is a primary key.
|
|
71
|
-
* Same can be achieved when @primaryColumn decorator is used
|
|
72
|
-
*/
|
|
73
|
-
__publicField$6(this, "primary");
|
|
74
|
-
/**
|
|
75
|
-
* Value will be equal to `new Date()` when the row is inserted into the table
|
|
76
|
-
* Same can be achieved when @createDateColumn decorator is used
|
|
77
|
-
*/
|
|
78
|
-
__publicField$6(this, "createDate");
|
|
79
|
-
/**
|
|
80
|
-
* Value will be equal to `new Date()` when the row is updated
|
|
81
|
-
* Same can be achieved when @updateDateColumn decorator is used
|
|
82
|
-
*/
|
|
83
|
-
__publicField$6(this, "updateDate");
|
|
84
|
-
/**
|
|
85
|
-
* Value will be set to 1 when the row is inserted. Value will be incremented by one when the row is updated
|
|
86
|
-
* Same can be achieved when @versionColumn decorator is used
|
|
87
|
-
*/
|
|
88
|
-
__publicField$6(this, "version");
|
|
89
|
-
this.target = target;
|
|
90
|
-
this.name = name;
|
|
91
|
-
this.propertyName = propertyName;
|
|
92
|
-
this.required = required;
|
|
93
|
-
this.insert = insert;
|
|
94
|
-
this.update = update;
|
|
95
|
-
this.primary = primary;
|
|
96
|
-
this.createDate = createDate;
|
|
97
|
-
this.updateDate = updateDate;
|
|
98
|
-
this.version = version;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
var __defProp$5 = Object.defineProperty;
|
|
103
|
-
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
104
|
-
var __publicField$5 = (obj, key, value) => {
|
|
105
|
-
__defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
106
|
-
return value;
|
|
107
|
-
};
|
|
108
|
-
class ColumnCollectionMetadata extends ColumnBaseMetadata {
|
|
109
|
-
constructor({
|
|
110
|
-
target,
|
|
111
|
-
//
|
|
112
|
-
name,
|
|
113
|
-
propertyName,
|
|
114
|
-
required,
|
|
115
|
-
insert,
|
|
116
|
-
update,
|
|
117
|
-
primary,
|
|
118
|
-
createDate,
|
|
119
|
-
updateDate,
|
|
120
|
-
version,
|
|
121
|
-
collection,
|
|
122
|
-
via,
|
|
123
|
-
through
|
|
124
|
-
}) {
|
|
125
|
-
super({
|
|
126
|
-
target,
|
|
127
|
-
name,
|
|
128
|
-
propertyName,
|
|
129
|
-
required,
|
|
130
|
-
insert,
|
|
131
|
-
update,
|
|
132
|
-
primary,
|
|
133
|
-
createDate,
|
|
134
|
-
updateDate,
|
|
135
|
-
version
|
|
136
|
-
});
|
|
137
|
-
__publicField$5(this, "_collectionString");
|
|
138
|
-
__publicField$5(this, "_collectionFn");
|
|
139
|
-
__publicField$5(this, "_throughString");
|
|
140
|
-
__publicField$5(this, "_throughFn");
|
|
141
|
-
/**
|
|
142
|
-
* Property name of the on the collection item type
|
|
143
|
-
*/
|
|
144
|
-
__publicField$5(this, "via");
|
|
145
|
-
this.via = via;
|
|
146
|
-
if (typeof collection === "string") {
|
|
147
|
-
this._collectionString = collection;
|
|
148
|
-
} else {
|
|
149
|
-
this._collectionFn = collection;
|
|
150
|
-
}
|
|
151
|
-
if (typeof through === "string") {
|
|
152
|
-
this._throughString = through;
|
|
153
|
-
} else if (through) {
|
|
154
|
-
this._throughFn = through;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Type of the items in the collection
|
|
159
|
-
*/
|
|
160
|
-
get collection() {
|
|
161
|
-
if (this._collectionString) {
|
|
162
|
-
return this._collectionString;
|
|
163
|
-
}
|
|
164
|
-
if (!this._collectionFn) {
|
|
165
|
-
throw new Error(`Unable to determine collection type for ${this.target}#${this.propertyName}`);
|
|
166
|
-
}
|
|
167
|
-
this._collectionString = this._collectionFn();
|
|
168
|
-
return this._collectionString;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Name of the junction table for multi-multi associations
|
|
172
|
-
*/
|
|
173
|
-
get through() {
|
|
174
|
-
if (this._throughString) {
|
|
175
|
-
return this._throughString;
|
|
176
|
-
}
|
|
177
|
-
if (this._throughFn) {
|
|
178
|
-
this._throughString = this._throughFn();
|
|
179
|
-
return this._throughString;
|
|
180
|
-
}
|
|
181
|
-
return void 0;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
var __defProp$4 = Object.defineProperty;
|
|
186
|
-
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
187
|
-
var __publicField$4 = (obj, key, value) => {
|
|
188
|
-
__defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
189
|
-
return value;
|
|
190
|
-
};
|
|
191
|
-
class ColumnModelMetadata extends ColumnBaseMetadata {
|
|
192
|
-
constructor({
|
|
193
|
-
target,
|
|
194
|
-
//
|
|
195
|
-
name,
|
|
196
|
-
propertyName,
|
|
197
|
-
required,
|
|
198
|
-
insert,
|
|
199
|
-
update,
|
|
200
|
-
primary,
|
|
201
|
-
createDate,
|
|
202
|
-
updateDate,
|
|
203
|
-
version,
|
|
204
|
-
model
|
|
205
|
-
}) {
|
|
206
|
-
super({
|
|
207
|
-
target,
|
|
208
|
-
name,
|
|
209
|
-
propertyName,
|
|
210
|
-
required,
|
|
211
|
-
insert,
|
|
212
|
-
update,
|
|
213
|
-
primary,
|
|
214
|
-
createDate,
|
|
215
|
-
updateDate,
|
|
216
|
-
version
|
|
217
|
-
});
|
|
218
|
-
__publicField$4(this, "_modelString");
|
|
219
|
-
__publicField$4(this, "_modelFn");
|
|
220
|
-
if (typeof model === "string") {
|
|
221
|
-
this._modelString = model;
|
|
222
|
-
} else {
|
|
223
|
-
this._modelFn = model;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Name of the model represented by this column id
|
|
228
|
-
*/
|
|
229
|
-
get model() {
|
|
230
|
-
if (this._modelString) {
|
|
231
|
-
return this._modelString;
|
|
232
|
-
}
|
|
233
|
-
if (!this._modelFn) {
|
|
234
|
-
throw new Error(`Unable to determine model type for ${this.target}#${this.propertyName}`);
|
|
235
|
-
}
|
|
236
|
-
this._modelString = this._modelFn();
|
|
237
|
-
return this._modelString;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
var __defProp$3 = Object.defineProperty;
|
|
242
|
-
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
243
|
-
var __publicField$3 = (obj, key, value) => {
|
|
244
|
-
__defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
245
|
-
return value;
|
|
246
|
-
};
|
|
247
|
-
class ColumnTypeMetadata extends ColumnBaseMetadata {
|
|
248
|
-
constructor(options) {
|
|
249
|
-
super({
|
|
250
|
-
target: options.target,
|
|
251
|
-
name: options.name,
|
|
252
|
-
propertyName: options.propertyName,
|
|
253
|
-
required: options.required,
|
|
254
|
-
insert: options.insert,
|
|
255
|
-
update: options.update,
|
|
256
|
-
primary: options.primary,
|
|
257
|
-
createDate: options.createDate,
|
|
258
|
-
updateDate: options.updateDate,
|
|
259
|
-
version: options.version
|
|
260
|
-
});
|
|
261
|
-
/**
|
|
262
|
-
* Type of the column
|
|
263
|
-
*/
|
|
264
|
-
__publicField$3(this, "type");
|
|
265
|
-
/**
|
|
266
|
-
* Default database value
|
|
267
|
-
*/
|
|
268
|
-
__publicField$3(this, "defaultsTo");
|
|
269
|
-
/**
|
|
270
|
-
* Array of possible enumerated values
|
|
271
|
-
*/
|
|
272
|
-
__publicField$3(this, "enum");
|
|
273
|
-
/**
|
|
274
|
-
* If set, enforces a maximum length check on the column
|
|
275
|
-
*
|
|
276
|
-
* Applies to types: string | string[]
|
|
277
|
-
*/
|
|
278
|
-
__publicField$3(this, "maxLength");
|
|
279
|
-
this.type = options.type;
|
|
280
|
-
this.defaultsTo = options.defaultsTo;
|
|
281
|
-
this.enum = options.enum;
|
|
282
|
-
this.maxLength = options.maxLength;
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
var __defProp$2 = Object.defineProperty;
|
|
287
|
-
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
288
|
-
var __publicField$2 = (obj, key, value) => {
|
|
289
|
-
__defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
290
|
-
return value;
|
|
291
|
-
};
|
|
292
|
-
class ModelMetadata {
|
|
293
|
-
constructor({
|
|
294
|
-
name,
|
|
295
|
-
//
|
|
296
|
-
type,
|
|
297
|
-
connection,
|
|
298
|
-
tableName,
|
|
299
|
-
readonly = false
|
|
300
|
-
}) {
|
|
301
|
-
__publicField$2(this, "_columns", []);
|
|
302
|
-
__publicField$2(this, "_primaryKeyColumn");
|
|
303
|
-
__publicField$2(this, "_createDateColumns", []);
|
|
304
|
-
__publicField$2(this, "_updateDateColumns", []);
|
|
305
|
-
__publicField$2(this, "_versionDateColumns", []);
|
|
306
|
-
__publicField$2(this, "name");
|
|
307
|
-
__publicField$2(this, "type");
|
|
308
|
-
__publicField$2(this, "connection");
|
|
309
|
-
__publicField$2(this, "tableName");
|
|
310
|
-
__publicField$2(this, "readonly");
|
|
311
|
-
__publicField$2(this, "columnsByColumnName", {});
|
|
312
|
-
__publicField$2(this, "columnsByPropertyName", {});
|
|
313
|
-
this.name = name;
|
|
314
|
-
this.type = type;
|
|
315
|
-
this.connection = connection;
|
|
316
|
-
this.tableName = tableName ?? ___default.snakeCase(name);
|
|
317
|
-
this.readonly = readonly;
|
|
318
|
-
}
|
|
319
|
-
set columns(columns) {
|
|
320
|
-
this._columns = columns;
|
|
321
|
-
this.columnsByColumnName = {};
|
|
322
|
-
this.columnsByPropertyName = {};
|
|
323
|
-
for (const column of columns) {
|
|
324
|
-
this.columnsByColumnName[column.name] = column;
|
|
325
|
-
this.columnsByPropertyName[column.propertyName] = column;
|
|
326
|
-
if (column.primary) {
|
|
327
|
-
this._primaryKeyColumn = column;
|
|
328
|
-
}
|
|
329
|
-
if (column.createDate) {
|
|
330
|
-
this._createDateColumns.push(column);
|
|
331
|
-
}
|
|
332
|
-
if (column.updateDate) {
|
|
333
|
-
this._updateDateColumns.push(column);
|
|
334
|
-
}
|
|
335
|
-
if (column.version) {
|
|
336
|
-
this._versionDateColumns.push(column);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
get columns() {
|
|
341
|
-
return this._columns;
|
|
342
|
-
}
|
|
343
|
-
get primaryKeyColumn() {
|
|
344
|
-
return this._primaryKeyColumn;
|
|
345
|
-
}
|
|
346
|
-
get createDateColumns() {
|
|
347
|
-
return this._createDateColumns;
|
|
348
|
-
}
|
|
349
|
-
get updateDateColumns() {
|
|
350
|
-
return this._updateDateColumns;
|
|
351
|
-
}
|
|
352
|
-
get versionColumns() {
|
|
353
|
-
return this._versionDateColumns;
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
function getMetadataStorage() {
|
|
358
|
-
if (!global.bigAlMetadataArgsStorage) {
|
|
359
|
-
global.bigAlMetadataArgsStorage = new MetadataStorage();
|
|
360
|
-
}
|
|
361
|
-
return global.bigAlMetadataArgsStorage;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
11
|
var __defProp$1 = Object.defineProperty;
|
|
365
12
|
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
366
13
|
var __publicField$1 = (obj, key, value) => {
|
|
@@ -2168,273 +1815,6 @@ ${stack}`;
|
|
|
2168
1815
|
}
|
|
2169
1816
|
}
|
|
2170
1817
|
|
|
2171
|
-
function column(dbColumnNameOrOptions, options) {
|
|
2172
|
-
return function columnDecorator(object, propertyName) {
|
|
2173
|
-
if (!dbColumnNameOrOptions) {
|
|
2174
|
-
dbColumnNameOrOptions = ___default.snakeCase(propertyName);
|
|
2175
|
-
}
|
|
2176
|
-
let dbColumnName;
|
|
2177
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
2178
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
2179
|
-
} else {
|
|
2180
|
-
options = dbColumnNameOrOptions;
|
|
2181
|
-
}
|
|
2182
|
-
if (!options) {
|
|
2183
|
-
options = {};
|
|
2184
|
-
}
|
|
2185
|
-
if (!dbColumnName) {
|
|
2186
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
2187
|
-
}
|
|
2188
|
-
const metadataStorage = getMetadataStorage();
|
|
2189
|
-
const columnCollectionOptions = options;
|
|
2190
|
-
if (columnCollectionOptions.collection || columnCollectionOptions.via) {
|
|
2191
|
-
if (!columnCollectionOptions.collection) {
|
|
2192
|
-
throw new Error("Unable to determine collection value. Please try specifying values as a strings to avoid circular dependency issues.");
|
|
2193
|
-
}
|
|
2194
|
-
metadataStorage.columns.push(
|
|
2195
|
-
new ColumnCollectionMetadata({
|
|
2196
|
-
target: object.constructor.name,
|
|
2197
|
-
name: dbColumnName,
|
|
2198
|
-
propertyName,
|
|
2199
|
-
required: columnCollectionOptions.required,
|
|
2200
|
-
collection: columnCollectionOptions.collection,
|
|
2201
|
-
through: columnCollectionOptions.through,
|
|
2202
|
-
via: columnCollectionOptions.via
|
|
2203
|
-
})
|
|
2204
|
-
);
|
|
2205
|
-
return;
|
|
2206
|
-
}
|
|
2207
|
-
const columnModelOptions = options;
|
|
2208
|
-
if (columnModelOptions.model) {
|
|
2209
|
-
metadataStorage.columns.push(
|
|
2210
|
-
new ColumnModelMetadata({
|
|
2211
|
-
target: object.constructor.name,
|
|
2212
|
-
name: dbColumnName,
|
|
2213
|
-
propertyName,
|
|
2214
|
-
required: columnModelOptions.required,
|
|
2215
|
-
model: columnModelOptions.model
|
|
2216
|
-
})
|
|
2217
|
-
);
|
|
2218
|
-
return;
|
|
2219
|
-
}
|
|
2220
|
-
const columnTypeOptions = options;
|
|
2221
|
-
metadataStorage.columns.push(
|
|
2222
|
-
new ColumnTypeMetadata({
|
|
2223
|
-
target: object.constructor.name,
|
|
2224
|
-
name: dbColumnName,
|
|
2225
|
-
propertyName,
|
|
2226
|
-
required: columnTypeOptions.required,
|
|
2227
|
-
type: columnTypeOptions.type,
|
|
2228
|
-
defaultsTo: columnTypeOptions.defaultsTo,
|
|
2229
|
-
enum: columnTypeOptions.enum,
|
|
2230
|
-
maxLength: columnTypeOptions.maxLength
|
|
2231
|
-
})
|
|
2232
|
-
);
|
|
2233
|
-
};
|
|
2234
|
-
}
|
|
2235
|
-
|
|
2236
|
-
function createDateColumn(dbColumnNameOrOptions, options) {
|
|
2237
|
-
return function createDateColumnDecorator(object, propertyName) {
|
|
2238
|
-
const metadataStorage = getMetadataStorage();
|
|
2239
|
-
let dbColumnName;
|
|
2240
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
2241
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
2242
|
-
} else {
|
|
2243
|
-
options = dbColumnNameOrOptions;
|
|
2244
|
-
}
|
|
2245
|
-
if (dbColumnNameOrOptions) {
|
|
2246
|
-
if (!options) {
|
|
2247
|
-
options = {};
|
|
2248
|
-
}
|
|
2249
|
-
if (!dbColumnName) {
|
|
2250
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
2251
|
-
}
|
|
2252
|
-
metadataStorage.columns.push(
|
|
2253
|
-
new ColumnTypeMetadata({
|
|
2254
|
-
target: object.constructor.name,
|
|
2255
|
-
name: dbColumnName,
|
|
2256
|
-
propertyName,
|
|
2257
|
-
createDate: true,
|
|
2258
|
-
required: options.required,
|
|
2259
|
-
type: options.type
|
|
2260
|
-
})
|
|
2261
|
-
);
|
|
2262
|
-
} else {
|
|
2263
|
-
metadataStorage.columnModifiers.push({
|
|
2264
|
-
target: object.constructor.name,
|
|
2265
|
-
name: dbColumnName ?? ___default.snakeCase(propertyName),
|
|
2266
|
-
propertyName,
|
|
2267
|
-
createDate: true,
|
|
2268
|
-
required: options ? options.required : void 0,
|
|
2269
|
-
type: options ? options.type : "datetime"
|
|
2270
|
-
});
|
|
2271
|
-
}
|
|
2272
|
-
};
|
|
2273
|
-
}
|
|
2274
|
-
|
|
2275
|
-
function primaryColumn(dbColumnNameOrOptions, options) {
|
|
2276
|
-
return function primaryColumnDecorator(object, propertyName) {
|
|
2277
|
-
let dbColumnName;
|
|
2278
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
2279
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
2280
|
-
} else {
|
|
2281
|
-
options = dbColumnNameOrOptions;
|
|
2282
|
-
}
|
|
2283
|
-
if (dbColumnNameOrOptions) {
|
|
2284
|
-
if (!options) {
|
|
2285
|
-
options = {};
|
|
2286
|
-
}
|
|
2287
|
-
if (!dbColumnName) {
|
|
2288
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
2289
|
-
}
|
|
2290
|
-
const { type } = options;
|
|
2291
|
-
const { model } = options;
|
|
2292
|
-
const metadataStorage = getMetadataStorage();
|
|
2293
|
-
if (model) {
|
|
2294
|
-
metadataStorage.columns.push(
|
|
2295
|
-
new ColumnModelMetadata({
|
|
2296
|
-
target: object.constructor.name,
|
|
2297
|
-
name: dbColumnName,
|
|
2298
|
-
propertyName,
|
|
2299
|
-
primary: true,
|
|
2300
|
-
required: options.required,
|
|
2301
|
-
model
|
|
2302
|
-
})
|
|
2303
|
-
);
|
|
2304
|
-
} else {
|
|
2305
|
-
metadataStorage.columns.push(
|
|
2306
|
-
new ColumnTypeMetadata({
|
|
2307
|
-
target: object.constructor.name,
|
|
2308
|
-
name: dbColumnName,
|
|
2309
|
-
propertyName,
|
|
2310
|
-
primary: true,
|
|
2311
|
-
required: options.required,
|
|
2312
|
-
type
|
|
2313
|
-
})
|
|
2314
|
-
);
|
|
2315
|
-
}
|
|
2316
|
-
} else {
|
|
2317
|
-
const metadataStorage = getMetadataStorage();
|
|
2318
|
-
metadataStorage.columnModifiers.push({
|
|
2319
|
-
target: object.constructor.name,
|
|
2320
|
-
name: dbColumnName ?? ___default.snakeCase(propertyName),
|
|
2321
|
-
propertyName,
|
|
2322
|
-
primary: true,
|
|
2323
|
-
required: options ? options.required : void 0,
|
|
2324
|
-
type: options ? options.type : void 0,
|
|
2325
|
-
model: options ? options.model : void 0
|
|
2326
|
-
});
|
|
2327
|
-
}
|
|
2328
|
-
};
|
|
2329
|
-
}
|
|
2330
|
-
|
|
2331
|
-
function table(dbNameOrTableOptions, options) {
|
|
2332
|
-
return function tableDecorator(classObject) {
|
|
2333
|
-
const className = classObject.name;
|
|
2334
|
-
let dbTableName;
|
|
2335
|
-
if (typeof dbNameOrTableOptions === "string") {
|
|
2336
|
-
dbTableName = dbNameOrTableOptions;
|
|
2337
|
-
} else {
|
|
2338
|
-
options = dbNameOrTableOptions;
|
|
2339
|
-
}
|
|
2340
|
-
if (!options) {
|
|
2341
|
-
options = {};
|
|
2342
|
-
}
|
|
2343
|
-
if (!options.name) {
|
|
2344
|
-
options.name = dbTableName ?? ___default.snakeCase(className);
|
|
2345
|
-
}
|
|
2346
|
-
const metadataStorage = getMetadataStorage();
|
|
2347
|
-
const modelMetadata = new ModelMetadata({
|
|
2348
|
-
name: className,
|
|
2349
|
-
type: classObject,
|
|
2350
|
-
tableName: options.name,
|
|
2351
|
-
readonly: options.readonly ?? false,
|
|
2352
|
-
connection: options.connection
|
|
2353
|
-
});
|
|
2354
|
-
metadataStorage.models.push(modelMetadata);
|
|
2355
|
-
};
|
|
2356
|
-
}
|
|
2357
|
-
|
|
2358
|
-
function updateDateColumn(dbColumnNameOrOptions, options) {
|
|
2359
|
-
return function updateDateColumnDecorator(object, propertyName) {
|
|
2360
|
-
let dbColumnName;
|
|
2361
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
2362
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
2363
|
-
} else {
|
|
2364
|
-
options = dbColumnNameOrOptions;
|
|
2365
|
-
}
|
|
2366
|
-
if (dbColumnNameOrOptions) {
|
|
2367
|
-
if (!options) {
|
|
2368
|
-
options = {};
|
|
2369
|
-
}
|
|
2370
|
-
if (!dbColumnName) {
|
|
2371
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
2372
|
-
}
|
|
2373
|
-
const metadataStorage = getMetadataStorage();
|
|
2374
|
-
metadataStorage.columns.push(
|
|
2375
|
-
new ColumnTypeMetadata({
|
|
2376
|
-
target: object.constructor.name,
|
|
2377
|
-
name: dbColumnName,
|
|
2378
|
-
propertyName,
|
|
2379
|
-
updateDate: true,
|
|
2380
|
-
required: options.required,
|
|
2381
|
-
type: options.type
|
|
2382
|
-
})
|
|
2383
|
-
);
|
|
2384
|
-
} else {
|
|
2385
|
-
const metadataStorage = getMetadataStorage();
|
|
2386
|
-
metadataStorage.columnModifiers.push({
|
|
2387
|
-
target: object.constructor.name,
|
|
2388
|
-
name: dbColumnName ?? ___default.snakeCase(propertyName),
|
|
2389
|
-
propertyName,
|
|
2390
|
-
updateDate: true,
|
|
2391
|
-
required: options ? options.required : void 0,
|
|
2392
|
-
type: options ? options.type : "datetime"
|
|
2393
|
-
});
|
|
2394
|
-
}
|
|
2395
|
-
};
|
|
2396
|
-
}
|
|
2397
|
-
|
|
2398
|
-
function versionColumn(dbColumnNameOrOptions, options) {
|
|
2399
|
-
return function versionColumnDecorator(object, propertyName) {
|
|
2400
|
-
let dbColumnName;
|
|
2401
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
2402
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
2403
|
-
} else {
|
|
2404
|
-
options = dbColumnNameOrOptions;
|
|
2405
|
-
}
|
|
2406
|
-
if (dbColumnNameOrOptions) {
|
|
2407
|
-
if (!options) {
|
|
2408
|
-
options = {};
|
|
2409
|
-
}
|
|
2410
|
-
if (!dbColumnName) {
|
|
2411
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
2412
|
-
}
|
|
2413
|
-
const metadataStorage = getMetadataStorage();
|
|
2414
|
-
metadataStorage.columns.push(
|
|
2415
|
-
new ColumnTypeMetadata({
|
|
2416
|
-
target: object.constructor.name,
|
|
2417
|
-
name: dbColumnName,
|
|
2418
|
-
propertyName,
|
|
2419
|
-
version: true,
|
|
2420
|
-
required: options.required,
|
|
2421
|
-
type: options.type
|
|
2422
|
-
})
|
|
2423
|
-
);
|
|
2424
|
-
} else {
|
|
2425
|
-
const metadataStorage = getMetadataStorage();
|
|
2426
|
-
metadataStorage.columnModifiers.push({
|
|
2427
|
-
target: object.constructor.name,
|
|
2428
|
-
name: dbColumnName ?? ___default.snakeCase(propertyName),
|
|
2429
|
-
propertyName,
|
|
2430
|
-
version: true,
|
|
2431
|
-
required: options ? options.required : void 0,
|
|
2432
|
-
type: options ? options.type : void 0
|
|
2433
|
-
});
|
|
2434
|
-
}
|
|
2435
|
-
};
|
|
2436
|
-
}
|
|
2437
|
-
|
|
2438
1818
|
class Entity {
|
|
2439
1819
|
static beforeCreate(values) {
|
|
2440
1820
|
return values;
|
|
@@ -2466,7 +1846,7 @@ function initialize({ models, pool, readonlyPool = pool, connections = {}, expos
|
|
|
2466
1846
|
inheritanceTreesByModelName[model.name] = getInheritanceTree(model);
|
|
2467
1847
|
modelNames.push(model.name);
|
|
2468
1848
|
}
|
|
2469
|
-
const metadataStorage = getMetadataStorage();
|
|
1849
|
+
const metadataStorage = metadata_index.getMetadataStorage();
|
|
2470
1850
|
const modelMetadataByModelName = {};
|
|
2471
1851
|
for (const model of metadataStorage.models) {
|
|
2472
1852
|
modelMetadataByModelName[model.name] = model;
|
|
@@ -2507,7 +1887,7 @@ function initialize({ models, pool, readonlyPool = pool, connections = {}, expos
|
|
|
2507
1887
|
if (!modelMetadata) {
|
|
2508
1888
|
throw new Error(`Unable to find @table() on ${model.name}`);
|
|
2509
1889
|
}
|
|
2510
|
-
modelMetadataByModelName[model.name] = new ModelMetadata({
|
|
1890
|
+
modelMetadataByModelName[model.name] = new metadata_index.ModelMetadata({
|
|
2511
1891
|
...modelMetadata,
|
|
2512
1892
|
name: model.name,
|
|
2513
1893
|
type: model
|
|
@@ -2541,13 +1921,13 @@ function initialize({ models, pool, readonlyPool = pool, connections = {}, expos
|
|
|
2541
1921
|
throw new Error(`Missing column type for ${modelName}#${propertyName}`);
|
|
2542
1922
|
}
|
|
2543
1923
|
if (columnDetails.model) {
|
|
2544
|
-
columnsByPropertyName[propertyName] = new ColumnModelMetadata({
|
|
1924
|
+
columnsByPropertyName[propertyName] = new metadata_index.ColumnModelMetadata({
|
|
2545
1925
|
...columnDetails,
|
|
2546
1926
|
name: columnDetails.name,
|
|
2547
1927
|
model: columnDetails.model
|
|
2548
1928
|
});
|
|
2549
1929
|
} else if (columnDetails.type) {
|
|
2550
|
-
columnsByPropertyName[propertyName] = new ColumnTypeMetadata({
|
|
1930
|
+
columnsByPropertyName[propertyName] = new metadata_index.ColumnTypeMetadata({
|
|
2551
1931
|
...columnDetails,
|
|
2552
1932
|
name: columnDetails.name,
|
|
2553
1933
|
type: columnDetails.type
|
|
@@ -2608,19 +1988,19 @@ function initialize({ models, pool, readonlyPool = pool, connections = {}, expos
|
|
|
2608
1988
|
return repositoriesByModelName;
|
|
2609
1989
|
}
|
|
2610
1990
|
|
|
2611
|
-
exports.ColumnBaseMetadata = ColumnBaseMetadata;
|
|
2612
|
-
exports.ColumnCollectionMetadata = ColumnCollectionMetadata;
|
|
2613
|
-
exports.ColumnModelMetadata = ColumnModelMetadata;
|
|
2614
|
-
exports.ColumnTypeMetadata = ColumnTypeMetadata;
|
|
1991
|
+
exports.ColumnBaseMetadata = metadata_index.ColumnBaseMetadata;
|
|
1992
|
+
exports.ColumnCollectionMetadata = metadata_index.ColumnCollectionMetadata;
|
|
1993
|
+
exports.ColumnModelMetadata = metadata_index.ColumnModelMetadata;
|
|
1994
|
+
exports.ColumnTypeMetadata = metadata_index.ColumnTypeMetadata;
|
|
1995
|
+
exports.ModelMetadata = metadata_index.ModelMetadata;
|
|
1996
|
+
exports.getMetadataStorage = metadata_index.getMetadataStorage;
|
|
1997
|
+
exports.column = decorators_index.column;
|
|
1998
|
+
exports.createDateColumn = decorators_index.createDateColumn;
|
|
1999
|
+
exports.primaryColumn = decorators_index.primaryColumn;
|
|
2000
|
+
exports.table = decorators_index.table;
|
|
2001
|
+
exports.updateDateColumn = decorators_index.updateDateColumn;
|
|
2002
|
+
exports.versionColumn = decorators_index.versionColumn;
|
|
2615
2003
|
exports.Entity = Entity;
|
|
2616
|
-
exports.ModelMetadata = ModelMetadata;
|
|
2617
2004
|
exports.ReadonlyRepository = ReadonlyRepository;
|
|
2618
2005
|
exports.Repository = Repository;
|
|
2619
|
-
exports.column = column;
|
|
2620
|
-
exports.createDateColumn = createDateColumn;
|
|
2621
|
-
exports.getMetadataStorage = getMetadataStorage;
|
|
2622
2006
|
exports.initialize = initialize;
|
|
2623
|
-
exports.primaryColumn = primaryColumn;
|
|
2624
|
-
exports.table = table;
|
|
2625
|
-
exports.updateDateColumn = updateDateColumn;
|
|
2626
|
-
exports.versionColumn = versionColumn;
|