bigal 13.0.0-beta1 → 13.0.0-beta3

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 CHANGED
@@ -5,6 +5,10 @@
5
5
  - Publish as CJS and ESM
6
6
  - Update npms
7
7
 
8
+ ### BREAKING CHANGES
9
+
10
+ - Consolidated exports for /errors, /query, and /types to root
11
+
8
12
  ## 12.1.5 - 2024-05-13
9
13
 
10
14
  - Update npms
@@ -0,0 +1,282 @@
1
+ 'use strict';
2
+
3
+ const _ = require('lodash');
4
+ const metadata_index = require('../metadata/index.cjs');
5
+
6
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
7
+
8
+ const ___default = /*#__PURE__*/_interopDefaultCompat(_);
9
+
10
+ function column(dbColumnNameOrOptions, options) {
11
+ return function columnDecorator(object, propertyName) {
12
+ if (!dbColumnNameOrOptions) {
13
+ dbColumnNameOrOptions = ___default.snakeCase(propertyName);
14
+ }
15
+ let dbColumnName;
16
+ if (typeof dbColumnNameOrOptions === "string") {
17
+ dbColumnName = dbColumnNameOrOptions;
18
+ } else {
19
+ options = dbColumnNameOrOptions;
20
+ }
21
+ if (!options) {
22
+ options = {};
23
+ }
24
+ if (!dbColumnName) {
25
+ dbColumnName = options.name ?? ___default.snakeCase(propertyName);
26
+ }
27
+ const metadataStorage = metadata_index.getMetadataStorage();
28
+ const columnCollectionOptions = options;
29
+ if (columnCollectionOptions.collection || columnCollectionOptions.via) {
30
+ if (!columnCollectionOptions.collection) {
31
+ throw new Error("Unable to determine collection value. Please try specifying values as a strings to avoid circular dependency issues.");
32
+ }
33
+ metadataStorage.columns.push(
34
+ new metadata_index.ColumnCollectionMetadata({
35
+ target: object.constructor.name,
36
+ name: dbColumnName,
37
+ propertyName,
38
+ required: columnCollectionOptions.required,
39
+ collection: columnCollectionOptions.collection,
40
+ through: columnCollectionOptions.through,
41
+ via: columnCollectionOptions.via
42
+ })
43
+ );
44
+ return;
45
+ }
46
+ const columnModelOptions = options;
47
+ if (columnModelOptions.model) {
48
+ metadataStorage.columns.push(
49
+ new metadata_index.ColumnModelMetadata({
50
+ target: object.constructor.name,
51
+ name: dbColumnName,
52
+ propertyName,
53
+ required: columnModelOptions.required,
54
+ model: columnModelOptions.model
55
+ })
56
+ );
57
+ return;
58
+ }
59
+ const columnTypeOptions = options;
60
+ metadataStorage.columns.push(
61
+ new metadata_index.ColumnTypeMetadata({
62
+ target: object.constructor.name,
63
+ name: dbColumnName,
64
+ propertyName,
65
+ required: columnTypeOptions.required,
66
+ type: columnTypeOptions.type,
67
+ defaultsTo: columnTypeOptions.defaultsTo,
68
+ enum: columnTypeOptions.enum,
69
+ maxLength: columnTypeOptions.maxLength
70
+ })
71
+ );
72
+ };
73
+ }
74
+
75
+ function createDateColumn(dbColumnNameOrOptions, options) {
76
+ return function createDateColumnDecorator(object, propertyName) {
77
+ const metadataStorage = metadata_index.getMetadataStorage();
78
+ let dbColumnName;
79
+ if (typeof dbColumnNameOrOptions === "string") {
80
+ dbColumnName = dbColumnNameOrOptions;
81
+ } else {
82
+ options = dbColumnNameOrOptions;
83
+ }
84
+ if (dbColumnNameOrOptions) {
85
+ if (!options) {
86
+ options = {};
87
+ }
88
+ if (!dbColumnName) {
89
+ dbColumnName = options.name ?? ___default.snakeCase(propertyName);
90
+ }
91
+ metadataStorage.columns.push(
92
+ new metadata_index.ColumnTypeMetadata({
93
+ target: object.constructor.name,
94
+ name: dbColumnName,
95
+ propertyName,
96
+ createDate: true,
97
+ required: options.required,
98
+ type: options.type
99
+ })
100
+ );
101
+ } else {
102
+ metadataStorage.columnModifiers.push({
103
+ target: object.constructor.name,
104
+ name: dbColumnName ?? ___default.snakeCase(propertyName),
105
+ propertyName,
106
+ createDate: true,
107
+ required: options ? options.required : void 0,
108
+ type: options ? options.type : "datetime"
109
+ });
110
+ }
111
+ };
112
+ }
113
+
114
+ function primaryColumn(dbColumnNameOrOptions, options) {
115
+ return function primaryColumnDecorator(object, propertyName) {
116
+ let dbColumnName;
117
+ if (typeof dbColumnNameOrOptions === "string") {
118
+ dbColumnName = dbColumnNameOrOptions;
119
+ } else {
120
+ options = dbColumnNameOrOptions;
121
+ }
122
+ if (dbColumnNameOrOptions) {
123
+ if (!options) {
124
+ options = {};
125
+ }
126
+ if (!dbColumnName) {
127
+ dbColumnName = options.name ?? ___default.snakeCase(propertyName);
128
+ }
129
+ const { type } = options;
130
+ const { model } = options;
131
+ const metadataStorage = metadata_index.getMetadataStorage();
132
+ if (model) {
133
+ metadataStorage.columns.push(
134
+ new metadata_index.ColumnModelMetadata({
135
+ target: object.constructor.name,
136
+ name: dbColumnName,
137
+ propertyName,
138
+ primary: true,
139
+ required: options.required,
140
+ model
141
+ })
142
+ );
143
+ } else {
144
+ metadataStorage.columns.push(
145
+ new metadata_index.ColumnTypeMetadata({
146
+ target: object.constructor.name,
147
+ name: dbColumnName,
148
+ propertyName,
149
+ primary: true,
150
+ required: options.required,
151
+ type
152
+ })
153
+ );
154
+ }
155
+ } else {
156
+ const metadataStorage = metadata_index.getMetadataStorage();
157
+ metadataStorage.columnModifiers.push({
158
+ target: object.constructor.name,
159
+ name: dbColumnName ?? ___default.snakeCase(propertyName),
160
+ propertyName,
161
+ primary: true,
162
+ required: options ? options.required : void 0,
163
+ type: options ? options.type : void 0,
164
+ model: options ? options.model : void 0
165
+ });
166
+ }
167
+ };
168
+ }
169
+
170
+ function table(dbNameOrTableOptions, options) {
171
+ return function tableDecorator(classObject) {
172
+ const className = classObject.name;
173
+ let dbTableName;
174
+ if (typeof dbNameOrTableOptions === "string") {
175
+ dbTableName = dbNameOrTableOptions;
176
+ } else {
177
+ options = dbNameOrTableOptions;
178
+ }
179
+ if (!options) {
180
+ options = {};
181
+ }
182
+ if (!options.name) {
183
+ options.name = dbTableName ?? ___default.snakeCase(className);
184
+ }
185
+ const metadataStorage = metadata_index.getMetadataStorage();
186
+ const modelMetadata = new metadata_index.ModelMetadata({
187
+ name: className,
188
+ type: classObject,
189
+ tableName: options.name,
190
+ readonly: options.readonly ?? false,
191
+ connection: options.connection
192
+ });
193
+ metadataStorage.models.push(modelMetadata);
194
+ };
195
+ }
196
+
197
+ function updateDateColumn(dbColumnNameOrOptions, options) {
198
+ return function updateDateColumnDecorator(object, propertyName) {
199
+ let dbColumnName;
200
+ if (typeof dbColumnNameOrOptions === "string") {
201
+ dbColumnName = dbColumnNameOrOptions;
202
+ } else {
203
+ options = dbColumnNameOrOptions;
204
+ }
205
+ if (dbColumnNameOrOptions) {
206
+ if (!options) {
207
+ options = {};
208
+ }
209
+ if (!dbColumnName) {
210
+ dbColumnName = options.name ?? ___default.snakeCase(propertyName);
211
+ }
212
+ const metadataStorage = metadata_index.getMetadataStorage();
213
+ metadataStorage.columns.push(
214
+ new metadata_index.ColumnTypeMetadata({
215
+ target: object.constructor.name,
216
+ name: dbColumnName,
217
+ propertyName,
218
+ updateDate: true,
219
+ required: options.required,
220
+ type: options.type
221
+ })
222
+ );
223
+ } else {
224
+ const metadataStorage = metadata_index.getMetadataStorage();
225
+ metadataStorage.columnModifiers.push({
226
+ target: object.constructor.name,
227
+ name: dbColumnName ?? ___default.snakeCase(propertyName),
228
+ propertyName,
229
+ updateDate: true,
230
+ required: options ? options.required : void 0,
231
+ type: options ? options.type : "datetime"
232
+ });
233
+ }
234
+ };
235
+ }
236
+
237
+ function versionColumn(dbColumnNameOrOptions, options) {
238
+ return function versionColumnDecorator(object, propertyName) {
239
+ let dbColumnName;
240
+ if (typeof dbColumnNameOrOptions === "string") {
241
+ dbColumnName = dbColumnNameOrOptions;
242
+ } else {
243
+ options = dbColumnNameOrOptions;
244
+ }
245
+ if (dbColumnNameOrOptions) {
246
+ if (!options) {
247
+ options = {};
248
+ }
249
+ if (!dbColumnName) {
250
+ dbColumnName = options.name ?? ___default.snakeCase(propertyName);
251
+ }
252
+ const metadataStorage = metadata_index.getMetadataStorage();
253
+ metadataStorage.columns.push(
254
+ new metadata_index.ColumnTypeMetadata({
255
+ target: object.constructor.name,
256
+ name: dbColumnName,
257
+ propertyName,
258
+ version: true,
259
+ required: options.required,
260
+ type: options.type
261
+ })
262
+ );
263
+ } else {
264
+ const metadataStorage = metadata_index.getMetadataStorage();
265
+ metadataStorage.columnModifiers.push({
266
+ target: object.constructor.name,
267
+ name: dbColumnName ?? ___default.snakeCase(propertyName),
268
+ propertyName,
269
+ version: true,
270
+ required: options ? options.required : void 0,
271
+ type: options ? options.type : void 0
272
+ });
273
+ }
274
+ };
275
+ }
276
+
277
+ exports.column = column;
278
+ exports.createDateColumn = createDateColumn;
279
+ exports.primaryColumn = primaryColumn;
280
+ exports.table = table;
281
+ exports.updateDateColumn = updateDateColumn;
282
+ exports.versionColumn = versionColumn;
@@ -0,0 +1 @@
1
+ export { c as column, a as createDateColumn, p as primaryColumn, t as table, u as updateDateColumn, v as versionColumn } from '../shared/bigal.03669aef.cjs';
@@ -0,0 +1 @@
1
+ export { c as column, a as createDateColumn, p as primaryColumn, t as table, u as updateDateColumn, v as versionColumn } from '../shared/bigal.03669aef.mjs';
@@ -0,0 +1 @@
1
+ export { c as column, a as createDateColumn, p as primaryColumn, t as table, u as updateDateColumn, v as versionColumn } from '../shared/bigal.03669aef.js';
@@ -0,0 +1,271 @@
1
+ import _ from 'lodash';
2
+ import { getMetadataStorage, ColumnCollectionMetadata, ColumnModelMetadata, ColumnTypeMetadata, ModelMetadata } from '../metadata/index.mjs';
3
+
4
+ function column(dbColumnNameOrOptions, options) {
5
+ return function columnDecorator(object, propertyName) {
6
+ if (!dbColumnNameOrOptions) {
7
+ dbColumnNameOrOptions = _.snakeCase(propertyName);
8
+ }
9
+ let dbColumnName;
10
+ if (typeof dbColumnNameOrOptions === "string") {
11
+ dbColumnName = dbColumnNameOrOptions;
12
+ } else {
13
+ options = dbColumnNameOrOptions;
14
+ }
15
+ if (!options) {
16
+ options = {};
17
+ }
18
+ if (!dbColumnName) {
19
+ dbColumnName = options.name ?? _.snakeCase(propertyName);
20
+ }
21
+ const metadataStorage = getMetadataStorage();
22
+ const columnCollectionOptions = options;
23
+ if (columnCollectionOptions.collection || columnCollectionOptions.via) {
24
+ if (!columnCollectionOptions.collection) {
25
+ throw new Error("Unable to determine collection value. Please try specifying values as a strings to avoid circular dependency issues.");
26
+ }
27
+ metadataStorage.columns.push(
28
+ new ColumnCollectionMetadata({
29
+ target: object.constructor.name,
30
+ name: dbColumnName,
31
+ propertyName,
32
+ required: columnCollectionOptions.required,
33
+ collection: columnCollectionOptions.collection,
34
+ through: columnCollectionOptions.through,
35
+ via: columnCollectionOptions.via
36
+ })
37
+ );
38
+ return;
39
+ }
40
+ const columnModelOptions = options;
41
+ if (columnModelOptions.model) {
42
+ metadataStorage.columns.push(
43
+ new ColumnModelMetadata({
44
+ target: object.constructor.name,
45
+ name: dbColumnName,
46
+ propertyName,
47
+ required: columnModelOptions.required,
48
+ model: columnModelOptions.model
49
+ })
50
+ );
51
+ return;
52
+ }
53
+ const columnTypeOptions = options;
54
+ metadataStorage.columns.push(
55
+ new ColumnTypeMetadata({
56
+ target: object.constructor.name,
57
+ name: dbColumnName,
58
+ propertyName,
59
+ required: columnTypeOptions.required,
60
+ type: columnTypeOptions.type,
61
+ defaultsTo: columnTypeOptions.defaultsTo,
62
+ enum: columnTypeOptions.enum,
63
+ maxLength: columnTypeOptions.maxLength
64
+ })
65
+ );
66
+ };
67
+ }
68
+
69
+ function createDateColumn(dbColumnNameOrOptions, options) {
70
+ return function createDateColumnDecorator(object, propertyName) {
71
+ const metadataStorage = getMetadataStorage();
72
+ let dbColumnName;
73
+ if (typeof dbColumnNameOrOptions === "string") {
74
+ dbColumnName = dbColumnNameOrOptions;
75
+ } else {
76
+ options = dbColumnNameOrOptions;
77
+ }
78
+ if (dbColumnNameOrOptions) {
79
+ if (!options) {
80
+ options = {};
81
+ }
82
+ if (!dbColumnName) {
83
+ dbColumnName = options.name ?? _.snakeCase(propertyName);
84
+ }
85
+ metadataStorage.columns.push(
86
+ new ColumnTypeMetadata({
87
+ target: object.constructor.name,
88
+ name: dbColumnName,
89
+ propertyName,
90
+ createDate: true,
91
+ required: options.required,
92
+ type: options.type
93
+ })
94
+ );
95
+ } else {
96
+ metadataStorage.columnModifiers.push({
97
+ target: object.constructor.name,
98
+ name: dbColumnName ?? _.snakeCase(propertyName),
99
+ propertyName,
100
+ createDate: true,
101
+ required: options ? options.required : void 0,
102
+ type: options ? options.type : "datetime"
103
+ });
104
+ }
105
+ };
106
+ }
107
+
108
+ function primaryColumn(dbColumnNameOrOptions, options) {
109
+ return function primaryColumnDecorator(object, propertyName) {
110
+ let dbColumnName;
111
+ if (typeof dbColumnNameOrOptions === "string") {
112
+ dbColumnName = dbColumnNameOrOptions;
113
+ } else {
114
+ options = dbColumnNameOrOptions;
115
+ }
116
+ if (dbColumnNameOrOptions) {
117
+ if (!options) {
118
+ options = {};
119
+ }
120
+ if (!dbColumnName) {
121
+ dbColumnName = options.name ?? _.snakeCase(propertyName);
122
+ }
123
+ const { type } = options;
124
+ const { model } = options;
125
+ const metadataStorage = getMetadataStorage();
126
+ if (model) {
127
+ metadataStorage.columns.push(
128
+ new ColumnModelMetadata({
129
+ target: object.constructor.name,
130
+ name: dbColumnName,
131
+ propertyName,
132
+ primary: true,
133
+ required: options.required,
134
+ model
135
+ })
136
+ );
137
+ } else {
138
+ metadataStorage.columns.push(
139
+ new ColumnTypeMetadata({
140
+ target: object.constructor.name,
141
+ name: dbColumnName,
142
+ propertyName,
143
+ primary: true,
144
+ required: options.required,
145
+ type
146
+ })
147
+ );
148
+ }
149
+ } else {
150
+ const metadataStorage = getMetadataStorage();
151
+ metadataStorage.columnModifiers.push({
152
+ target: object.constructor.name,
153
+ name: dbColumnName ?? _.snakeCase(propertyName),
154
+ propertyName,
155
+ primary: true,
156
+ required: options ? options.required : void 0,
157
+ type: options ? options.type : void 0,
158
+ model: options ? options.model : void 0
159
+ });
160
+ }
161
+ };
162
+ }
163
+
164
+ function table(dbNameOrTableOptions, options) {
165
+ return function tableDecorator(classObject) {
166
+ const className = classObject.name;
167
+ let dbTableName;
168
+ if (typeof dbNameOrTableOptions === "string") {
169
+ dbTableName = dbNameOrTableOptions;
170
+ } else {
171
+ options = dbNameOrTableOptions;
172
+ }
173
+ if (!options) {
174
+ options = {};
175
+ }
176
+ if (!options.name) {
177
+ options.name = dbTableName ?? _.snakeCase(className);
178
+ }
179
+ const metadataStorage = getMetadataStorage();
180
+ const modelMetadata = new ModelMetadata({
181
+ name: className,
182
+ type: classObject,
183
+ tableName: options.name,
184
+ readonly: options.readonly ?? false,
185
+ connection: options.connection
186
+ });
187
+ metadataStorage.models.push(modelMetadata);
188
+ };
189
+ }
190
+
191
+ function updateDateColumn(dbColumnNameOrOptions, options) {
192
+ return function updateDateColumnDecorator(object, propertyName) {
193
+ let dbColumnName;
194
+ if (typeof dbColumnNameOrOptions === "string") {
195
+ dbColumnName = dbColumnNameOrOptions;
196
+ } else {
197
+ options = dbColumnNameOrOptions;
198
+ }
199
+ if (dbColumnNameOrOptions) {
200
+ if (!options) {
201
+ options = {};
202
+ }
203
+ if (!dbColumnName) {
204
+ dbColumnName = options.name ?? _.snakeCase(propertyName);
205
+ }
206
+ const metadataStorage = getMetadataStorage();
207
+ metadataStorage.columns.push(
208
+ new ColumnTypeMetadata({
209
+ target: object.constructor.name,
210
+ name: dbColumnName,
211
+ propertyName,
212
+ updateDate: true,
213
+ required: options.required,
214
+ type: options.type
215
+ })
216
+ );
217
+ } else {
218
+ const metadataStorage = getMetadataStorage();
219
+ metadataStorage.columnModifiers.push({
220
+ target: object.constructor.name,
221
+ name: dbColumnName ?? _.snakeCase(propertyName),
222
+ propertyName,
223
+ updateDate: true,
224
+ required: options ? options.required : void 0,
225
+ type: options ? options.type : "datetime"
226
+ });
227
+ }
228
+ };
229
+ }
230
+
231
+ function versionColumn(dbColumnNameOrOptions, options) {
232
+ return function versionColumnDecorator(object, propertyName) {
233
+ let dbColumnName;
234
+ if (typeof dbColumnNameOrOptions === "string") {
235
+ dbColumnName = dbColumnNameOrOptions;
236
+ } else {
237
+ options = dbColumnNameOrOptions;
238
+ }
239
+ if (dbColumnNameOrOptions) {
240
+ if (!options) {
241
+ options = {};
242
+ }
243
+ if (!dbColumnName) {
244
+ dbColumnName = options.name ?? _.snakeCase(propertyName);
245
+ }
246
+ const metadataStorage = getMetadataStorage();
247
+ metadataStorage.columns.push(
248
+ new ColumnTypeMetadata({
249
+ target: object.constructor.name,
250
+ name: dbColumnName,
251
+ propertyName,
252
+ version: true,
253
+ required: options.required,
254
+ type: options.type
255
+ })
256
+ );
257
+ } else {
258
+ const metadataStorage = getMetadataStorage();
259
+ metadataStorage.columnModifiers.push({
260
+ target: object.constructor.name,
261
+ name: dbColumnName ?? _.snakeCase(propertyName),
262
+ propertyName,
263
+ version: true,
264
+ required: options ? options.required : void 0,
265
+ type: options ? options.type : void 0
266
+ });
267
+ }
268
+ };
269
+ }
270
+
271
+ export { column, createDateColumn, primaryColumn, table, updateDateColumn, versionColumn };