@sqb/connect 4.14.0 → 4.15.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.
- package/cjs/client/sqb-connection.js +1 -1
- package/cjs/orm/repository.class.js +77 -19
- package/esm/client/adapter.js +2 -1
- package/esm/client/cursor-stream.js +9 -4
- package/esm/client/cursor.js +22 -17
- package/esm/client/extensions.js +5 -1
- package/esm/client/field-info-map.js +5 -1
- package/esm/client/helpers.js +19 -12
- package/esm/client/sqb-client.js +32 -27
- package/esm/client/sqb-connection.js +42 -37
- package/esm/client/types.js +5 -1
- package/esm/index.js +40 -32
- package/esm/orm/backward.js +19 -12
- package/esm/orm/base-entity.js +10 -6
- package/esm/orm/commands/command.helper.js +34 -28
- package/esm/orm/commands/count.command.js +10 -6
- package/esm/orm/commands/create.command.js +18 -14
- package/esm/orm/commands/delete.command.js +10 -6
- package/esm/orm/commands/find.command.js +34 -30
- package/esm/orm/commands/row-converter.js +7 -3
- package/esm/orm/commands/update.command.js +18 -14
- package/esm/orm/decorators/column.decorator.js +10 -7
- package/esm/orm/decorators/embedded.decorator.js +7 -4
- package/esm/orm/decorators/entity.decorator.js +56 -53
- package/esm/orm/decorators/events.decorator.js +27 -19
- package/esm/orm/decorators/foreignkey.decorator.js +7 -4
- package/esm/orm/decorators/index.decorator.js +9 -6
- package/esm/orm/decorators/link.decorator.js +11 -8
- package/esm/orm/decorators/primarykey.decorator.js +11 -8
- package/esm/orm/decorators/transform.decorator.js +11 -7
- package/esm/orm/model/association-field-metadata.js +8 -4
- package/esm/orm/model/association-node.js +6 -2
- package/esm/orm/model/association.js +20 -16
- package/esm/orm/model/column-field-metadata.js +8 -4
- package/esm/orm/model/embedded-field-metadata.js +7 -4
- package/esm/orm/model/entity-metadata.js +50 -47
- package/esm/orm/model/field-metadata.js +2 -1
- package/esm/orm/model/index-metadata.js +2 -1
- package/esm/orm/model/link-chain.js +8 -4
- package/esm/orm/orm.const.js +6 -3
- package/esm/orm/orm.type.js +2 -1
- package/esm/orm/repository.class.js +103 -41
- package/esm/orm/util/apply-mixins.js +4 -1
- package/esm/orm/util/extract-keyvalues.js +9 -6
- package/esm/orm/util/orm.helper.js +20 -10
- package/esm/orm/util/parse-fields-projection.js +11 -6
- package/esm/orm/util/serialize-field.js +13 -10
- package/package.json +30 -24
- package/types/orm/repository.class.d.ts +110 -11
- package/cjs/package.json +0 -3
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Association = void 0;
|
|
4
|
+
const putil_varhelpers_1 = require("putil-varhelpers");
|
|
5
|
+
const orm_helper_js_1 = require("../util/orm.helper.js");
|
|
6
|
+
const entity_metadata_js_1 = require("./entity-metadata.js");
|
|
7
|
+
class Association {
|
|
5
8
|
constructor(name, args) {
|
|
6
9
|
this.name = name;
|
|
7
10
|
this.source = args.source;
|
|
@@ -11,13 +14,13 @@ export class Association {
|
|
|
11
14
|
this.many = !!args.many;
|
|
12
15
|
}
|
|
13
16
|
async resolveSource() {
|
|
14
|
-
this._source = await resolveEntityMeta(this.source);
|
|
17
|
+
this._source = await (0, orm_helper_js_1.resolveEntityMeta)(this.source);
|
|
15
18
|
if (!this._source)
|
|
16
19
|
throw new Error(`Can't resolve source entity of association "${this.name}"`);
|
|
17
20
|
return this._source;
|
|
18
21
|
}
|
|
19
22
|
async resolveTarget() {
|
|
20
|
-
this._target = await resolveEntityMeta(this.target);
|
|
23
|
+
this._target = await (0, orm_helper_js_1.resolveEntityMeta)(this.target);
|
|
21
24
|
if (!this._target)
|
|
22
25
|
throw new Error(`Can't resolve target entity of association "${this.name}"`);
|
|
23
26
|
return this._target;
|
|
@@ -54,7 +57,7 @@ export class Association {
|
|
|
54
57
|
let targetKey = this.targetKey || '';
|
|
55
58
|
if (!(sourceKey && targetKey)) {
|
|
56
59
|
// Try to determine key fields from foreign key from source to target
|
|
57
|
-
let foreign = await EntityMetadata.getForeignKeyFor(source, target);
|
|
60
|
+
let foreign = await entity_metadata_js_1.EntityMetadata.getForeignKeyFor(source, target);
|
|
58
61
|
if (foreign && foreign !== this) {
|
|
59
62
|
await foreign._resolveKeys();
|
|
60
63
|
this._sourceKey = foreign._sourceKey;
|
|
@@ -64,7 +67,7 @@ export class Association {
|
|
|
64
67
|
return;
|
|
65
68
|
}
|
|
66
69
|
// Try to determine key fields from foreign key from target to source
|
|
67
|
-
foreign = await EntityMetadata.getForeignKeyFor(target, source);
|
|
70
|
+
foreign = await entity_metadata_js_1.EntityMetadata.getForeignKeyFor(target, source);
|
|
68
71
|
if (foreign && foreign !== this) {
|
|
69
72
|
await foreign._resolveKeys();
|
|
70
73
|
this._sourceKey = foreign._targetKey;
|
|
@@ -75,38 +78,39 @@ export class Association {
|
|
|
75
78
|
}
|
|
76
79
|
if (this.many) {
|
|
77
80
|
if (!sourceKey) {
|
|
78
|
-
const primaryIndexColumns = EntityMetadata.getPrimaryIndexColumns(source);
|
|
81
|
+
const primaryIndexColumns = entity_metadata_js_1.EntityMetadata.getPrimaryIndexColumns(source);
|
|
79
82
|
sourceKey = primaryIndexColumns && primaryIndexColumns.length === 1 ? primaryIndexColumns[0].name : 'id';
|
|
80
83
|
}
|
|
81
84
|
if (!targetKey && sourceKey) {
|
|
82
85
|
// snake-case
|
|
83
86
|
let s = source.name[0].toLowerCase() + source.name.substring(1) + '_' + sourceKey;
|
|
84
|
-
if (!EntityMetadata.getColumnField(target, s))
|
|
85
|
-
s = camelCase(s);
|
|
87
|
+
if (!entity_metadata_js_1.EntityMetadata.getColumnField(target, s))
|
|
88
|
+
s = (0, putil_varhelpers_1.camelCase)(s);
|
|
86
89
|
targetKey = s;
|
|
87
90
|
}
|
|
88
91
|
}
|
|
89
92
|
else {
|
|
90
93
|
if (!targetKey) {
|
|
91
|
-
const primaryIndexColumns = EntityMetadata.getPrimaryIndexColumns(target);
|
|
94
|
+
const primaryIndexColumns = entity_metadata_js_1.EntityMetadata.getPrimaryIndexColumns(target);
|
|
92
95
|
targetKey = primaryIndexColumns && primaryIndexColumns.length === 1 ? primaryIndexColumns[0].name : 'id';
|
|
93
96
|
}
|
|
94
97
|
if (!sourceKey && targetKey) {
|
|
95
98
|
// snake-case
|
|
96
99
|
let s = target.name[0].toLowerCase() + target.name.substring(1) + '_' + targetKey;
|
|
97
|
-
if (!EntityMetadata.getColumnField(source, s))
|
|
98
|
-
s = camelCase(s);
|
|
100
|
+
if (!entity_metadata_js_1.EntityMetadata.getColumnField(source, s))
|
|
101
|
+
s = (0, putil_varhelpers_1.camelCase)(s);
|
|
99
102
|
sourceKey = s;
|
|
100
103
|
}
|
|
101
104
|
}
|
|
102
105
|
}
|
|
103
|
-
this._targetProperty = EntityMetadata.getColumnField(target, targetKey);
|
|
106
|
+
this._targetProperty = entity_metadata_js_1.EntityMetadata.getColumnField(target, targetKey);
|
|
104
107
|
if (!this._targetProperty)
|
|
105
108
|
throw new Error(`Can't determine target key of ${this.name}`);
|
|
106
|
-
this._sourceProperty = EntityMetadata.getColumnField(source, sourceKey);
|
|
109
|
+
this._sourceProperty = entity_metadata_js_1.EntityMetadata.getColumnField(source, sourceKey);
|
|
107
110
|
if (!this._sourceProperty)
|
|
108
111
|
throw new Error(`Can't determine source key of ${this.name}`);
|
|
109
112
|
this._targetKey = targetKey;
|
|
110
113
|
this._sourceKey = sourceKey;
|
|
111
114
|
}
|
|
112
115
|
}
|
|
116
|
+
exports.Association = Association;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ColumnFieldMetadata = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
6
|
+
var ColumnFieldMetadata;
|
|
3
7
|
(function (ColumnFieldMetadata) {
|
|
4
8
|
function create(entity, name, options = {}) {
|
|
5
9
|
const result = {
|
|
@@ -14,7 +18,7 @@ export var ColumnFieldMetadata;
|
|
|
14
18
|
}
|
|
15
19
|
ColumnFieldMetadata.create = create;
|
|
16
20
|
function assign(target, options) {
|
|
17
|
-
Object.assign(target,
|
|
21
|
+
Object.assign(target, lodash_1.default.omit(options, ['entity', 'name', 'kind']));
|
|
18
22
|
}
|
|
19
23
|
ColumnFieldMetadata.assign = assign;
|
|
20
24
|
function checkEnumValue(col, v) {
|
|
@@ -25,4 +29,4 @@ export var ColumnFieldMetadata;
|
|
|
25
29
|
throw new Error(`${col.entity.name}.${col.name} value must be one of (${enumKeys})`);
|
|
26
30
|
}
|
|
27
31
|
ColumnFieldMetadata.checkEnumValue = checkEnumValue;
|
|
28
|
-
})(ColumnFieldMetadata || (ColumnFieldMetadata = {}));
|
|
32
|
+
})(ColumnFieldMetadata || (exports.ColumnFieldMetadata = ColumnFieldMetadata = {}));
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmbeddedFieldMetadata = void 0;
|
|
4
|
+
const orm_helper_js_1 = require("../util/orm.helper.js");
|
|
5
|
+
var EmbeddedFieldMetadata;
|
|
3
6
|
(function (EmbeddedFieldMetadata) {
|
|
4
7
|
function create(entity, name, type, options) {
|
|
5
8
|
const result = {
|
|
@@ -16,10 +19,10 @@ export var EmbeddedFieldMetadata;
|
|
|
16
19
|
}
|
|
17
20
|
EmbeddedFieldMetadata.create = create;
|
|
18
21
|
async function resolveType(meta) {
|
|
19
|
-
const typ = await resolveEntityMeta(meta.type);
|
|
22
|
+
const typ = await (0, orm_helper_js_1.resolveEntityMeta)(meta.type);
|
|
20
23
|
if (typ)
|
|
21
24
|
return typ;
|
|
22
25
|
throw new Error(`Can't resolve type of ${meta.entity.name}.${meta.name}`);
|
|
23
26
|
}
|
|
24
27
|
EmbeddedFieldMetadata.resolveType = resolveType;
|
|
25
|
-
})(EmbeddedFieldMetadata || (EmbeddedFieldMetadata = {}));
|
|
28
|
+
})(EmbeddedFieldMetadata || (exports.EmbeddedFieldMetadata = EmbeddedFieldMetadata = {}));
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntityMetadata = void 0;
|
|
4
|
+
const builder_1 = require("@sqb/builder");
|
|
5
|
+
const orm_const_js_1 = require("../orm.const.js");
|
|
6
|
+
const orm_helper_js_1 = require("../util/orm.helper.js");
|
|
7
|
+
const association_js_1 = require("./association.js");
|
|
8
|
+
const association_field_metadata_js_1 = require("./association-field-metadata.js");
|
|
9
|
+
const column_field_metadata_js_1 = require("./column-field-metadata.js");
|
|
10
|
+
const embedded_field_metadata_js_1 = require("./embedded-field-metadata.js");
|
|
11
|
+
var EntityMetadata;
|
|
9
12
|
(function (EntityMetadata) {
|
|
10
13
|
function define(ctor) {
|
|
11
14
|
const own = getOwn(ctor);
|
|
@@ -20,7 +23,7 @@ export var EntityMetadata;
|
|
|
20
23
|
foreignKeys: [],
|
|
21
24
|
eventListeners: {},
|
|
22
25
|
};
|
|
23
|
-
Reflect.defineMetadata(ENTITY_METADATA_KEY, meta, ctor);
|
|
26
|
+
Reflect.defineMetadata(orm_const_js_1.ENTITY_METADATA_KEY, meta, ctor);
|
|
24
27
|
// Merge base entity columns into this one
|
|
25
28
|
if (baseMeta) {
|
|
26
29
|
EntityMetadata.mixin(meta, baseMeta);
|
|
@@ -29,11 +32,11 @@ export var EntityMetadata;
|
|
|
29
32
|
}
|
|
30
33
|
EntityMetadata.define = define;
|
|
31
34
|
function get(ctor) {
|
|
32
|
-
return Reflect.getMetadata(ENTITY_METADATA_KEY, ctor);
|
|
35
|
+
return Reflect.getMetadata(orm_const_js_1.ENTITY_METADATA_KEY, ctor);
|
|
33
36
|
}
|
|
34
37
|
EntityMetadata.get = get;
|
|
35
38
|
function getOwn(ctor) {
|
|
36
|
-
return Reflect.getOwnMetadata(ENTITY_METADATA_KEY, ctor);
|
|
39
|
+
return Reflect.getOwnMetadata(orm_const_js_1.ENTITY_METADATA_KEY, ctor);
|
|
37
40
|
}
|
|
38
41
|
EntityMetadata.getOwn = getOwn;
|
|
39
42
|
function getField(entity, fieldName) {
|
|
@@ -42,21 +45,21 @@ export var EntityMetadata;
|
|
|
42
45
|
EntityMetadata.getField = getField;
|
|
43
46
|
function getColumnField(entity, fieldName) {
|
|
44
47
|
const el = getField(entity, fieldName);
|
|
45
|
-
if (el && !isColumnField(el))
|
|
48
|
+
if (el && !(0, orm_helper_js_1.isColumnField)(el))
|
|
46
49
|
throw new Error(`"${el.name}" requested as "column" but it is "${el.kind}"`);
|
|
47
50
|
return el;
|
|
48
51
|
}
|
|
49
52
|
EntityMetadata.getColumnField = getColumnField;
|
|
50
53
|
function getEmbeddedField(entity, fieldName) {
|
|
51
54
|
const el = getField(entity, fieldName);
|
|
52
|
-
if (el && !isEmbeddedField(el))
|
|
55
|
+
if (el && !(0, orm_helper_js_1.isEmbeddedField)(el))
|
|
53
56
|
throw new Error(`"${el.name}" requested as "embedded" but it is "${el.kind}"`);
|
|
54
57
|
return el;
|
|
55
58
|
}
|
|
56
59
|
EntityMetadata.getEmbeddedField = getEmbeddedField;
|
|
57
60
|
function getAssociationField(entity, fieldName) {
|
|
58
61
|
const el = getField(entity, fieldName);
|
|
59
|
-
if (el && !isAssociationField(el)) {
|
|
62
|
+
if (el && !(0, orm_helper_js_1.isAssociationField)(el)) {
|
|
60
63
|
throw new Error(`"${el.name}" requested as "association" but it is "${el.kind}"`);
|
|
61
64
|
}
|
|
62
65
|
return el;
|
|
@@ -71,7 +74,7 @@ export var EntityMetadata;
|
|
|
71
74
|
return;
|
|
72
75
|
fieldName = fieldName.toLowerCase();
|
|
73
76
|
for (const prop of Object.values(entity.fields)) {
|
|
74
|
-
if (isColumnField(prop) && prop.fieldName.toLowerCase() === fieldName)
|
|
77
|
+
if ((0, orm_helper_js_1.isColumnField)(prop) && prop.fieldName.toLowerCase() === fieldName)
|
|
75
78
|
return prop;
|
|
76
79
|
}
|
|
77
80
|
}
|
|
@@ -98,27 +101,27 @@ export var EntityMetadata;
|
|
|
98
101
|
}
|
|
99
102
|
EntityMetadata.getFieldNames = getFieldNames;
|
|
100
103
|
function getColumnFieldNames(entity) {
|
|
101
|
-
return getFieldNames(entity, isColumnField);
|
|
104
|
+
return getFieldNames(entity, orm_helper_js_1.isColumnField);
|
|
102
105
|
}
|
|
103
106
|
EntityMetadata.getColumnFieldNames = getColumnFieldNames;
|
|
104
107
|
function getEmbeddedFieldNames(entity) {
|
|
105
|
-
return getFieldNames(entity, isEmbeddedField);
|
|
108
|
+
return getFieldNames(entity, orm_helper_js_1.isEmbeddedField);
|
|
106
109
|
}
|
|
107
110
|
EntityMetadata.getEmbeddedFieldNames = getEmbeddedFieldNames;
|
|
108
111
|
function getAssociationFieldNames(entity) {
|
|
109
|
-
return getFieldNames(entity, isAssociationField);
|
|
112
|
+
return getFieldNames(entity, orm_helper_js_1.isAssociationField);
|
|
110
113
|
}
|
|
111
114
|
EntityMetadata.getAssociationFieldNames = getAssociationFieldNames;
|
|
112
115
|
function getNonAssociationFieldNames(entity) {
|
|
113
|
-
return getFieldNames(entity, x => !isAssociationField(x));
|
|
116
|
+
return getFieldNames(entity, x => !(0, orm_helper_js_1.isAssociationField)(x));
|
|
114
117
|
}
|
|
115
118
|
EntityMetadata.getNonAssociationFieldNames = getNonAssociationFieldNames;
|
|
116
119
|
function getInsertColumnNames(entity) {
|
|
117
|
-
return getFieldNames(entity, x => isColumnField(x) && !x.noInsert);
|
|
120
|
+
return getFieldNames(entity, x => (0, orm_helper_js_1.isColumnField)(x) && !x.noInsert);
|
|
118
121
|
}
|
|
119
122
|
EntityMetadata.getInsertColumnNames = getInsertColumnNames;
|
|
120
123
|
function getUpdateColumnNames(entity) {
|
|
121
|
-
return getFieldNames(entity, x => isColumnField(x) && !x.noUpdate);
|
|
124
|
+
return getFieldNames(entity, x => (0, orm_helper_js_1.isColumnField)(x) && !x.noUpdate);
|
|
122
125
|
}
|
|
123
126
|
EntityMetadata.getUpdateColumnNames = getUpdateColumnNames;
|
|
124
127
|
function getPrimaryIndex(entity) {
|
|
@@ -161,7 +164,7 @@ export var EntityMetadata;
|
|
|
161
164
|
EntityMetadata.addIndex = addIndex;
|
|
162
165
|
function addForeignKey(entity, propertyKey, target, targetKey) {
|
|
163
166
|
entity.foreignKeys = entity.foreignKeys || [];
|
|
164
|
-
const fk = new Association(entity.name + '.' + propertyKey, {
|
|
167
|
+
const fk = new association_js_1.Association(entity.name + '.' + propertyKey, {
|
|
165
168
|
source: entity.ctor,
|
|
166
169
|
sourceKey: propertyKey,
|
|
167
170
|
target,
|
|
@@ -181,30 +184,30 @@ export var EntityMetadata;
|
|
|
181
184
|
function defineColumnField(entity, name, options = {}) {
|
|
182
185
|
delete entity._fieldNames;
|
|
183
186
|
let prop = EntityMetadata.getField(entity, name);
|
|
184
|
-
if (isColumnField(prop))
|
|
187
|
+
if ((0, orm_helper_js_1.isColumnField)(prop))
|
|
185
188
|
options = { ...prop, ...options };
|
|
186
189
|
if (!options.type) {
|
|
187
190
|
switch (options.dataType) {
|
|
188
|
-
case DataType.BOOL:
|
|
191
|
+
case builder_1.DataType.BOOL:
|
|
189
192
|
options.type = Boolean;
|
|
190
193
|
break;
|
|
191
|
-
case DataType.VARCHAR:
|
|
192
|
-
case DataType.CHAR:
|
|
193
|
-
case DataType.TEXT:
|
|
194
|
+
case builder_1.DataType.VARCHAR:
|
|
195
|
+
case builder_1.DataType.CHAR:
|
|
196
|
+
case builder_1.DataType.TEXT:
|
|
194
197
|
options.type = String;
|
|
195
198
|
break;
|
|
196
|
-
case DataType.NUMBER:
|
|
197
|
-
case DataType.DOUBLE:
|
|
198
|
-
case DataType.FLOAT:
|
|
199
|
-
case DataType.INTEGER:
|
|
200
|
-
case DataType.SMALLINT:
|
|
199
|
+
case builder_1.DataType.NUMBER:
|
|
200
|
+
case builder_1.DataType.DOUBLE:
|
|
201
|
+
case builder_1.DataType.FLOAT:
|
|
202
|
+
case builder_1.DataType.INTEGER:
|
|
203
|
+
case builder_1.DataType.SMALLINT:
|
|
201
204
|
options.type = Number;
|
|
202
205
|
break;
|
|
203
|
-
case DataType.TIMESTAMP:
|
|
204
|
-
case DataType.TIMESTAMPTZ:
|
|
206
|
+
case builder_1.DataType.TIMESTAMP:
|
|
207
|
+
case builder_1.DataType.TIMESTAMPTZ:
|
|
205
208
|
options.type = Date;
|
|
206
209
|
break;
|
|
207
|
-
case DataType.BINARY:
|
|
210
|
+
case builder_1.DataType.BINARY:
|
|
208
211
|
options.type = Buffer;
|
|
209
212
|
break;
|
|
210
213
|
default:
|
|
@@ -214,26 +217,26 @@ export var EntityMetadata;
|
|
|
214
217
|
if (!options.dataType) {
|
|
215
218
|
switch (options.type) {
|
|
216
219
|
case Boolean:
|
|
217
|
-
options.dataType = DataType.BOOL;
|
|
220
|
+
options.dataType = builder_1.DataType.BOOL;
|
|
218
221
|
break;
|
|
219
222
|
case Number:
|
|
220
|
-
options.dataType = DataType.NUMBER;
|
|
223
|
+
options.dataType = builder_1.DataType.NUMBER;
|
|
221
224
|
break;
|
|
222
225
|
case Date:
|
|
223
|
-
options.dataType = DataType.TIMESTAMP;
|
|
226
|
+
options.dataType = builder_1.DataType.TIMESTAMP;
|
|
224
227
|
break;
|
|
225
228
|
case Array:
|
|
226
|
-
options.dataType = DataType.VARCHAR;
|
|
229
|
+
options.dataType = builder_1.DataType.VARCHAR;
|
|
227
230
|
options.isArray = true;
|
|
228
231
|
break;
|
|
229
232
|
case Buffer:
|
|
230
|
-
options.dataType = DataType.BINARY;
|
|
233
|
+
options.dataType = builder_1.DataType.BINARY;
|
|
231
234
|
break;
|
|
232
235
|
default:
|
|
233
|
-
options.dataType = DataType.VARCHAR;
|
|
236
|
+
options.dataType = builder_1.DataType.VARCHAR;
|
|
234
237
|
}
|
|
235
238
|
}
|
|
236
|
-
prop = ColumnFieldMetadata.create(entity, name, options);
|
|
239
|
+
prop = column_field_metadata_js_1.ColumnFieldMetadata.create(entity, name, options);
|
|
237
240
|
entity.fields[name.toLowerCase()] = prop;
|
|
238
241
|
return prop;
|
|
239
242
|
}
|
|
@@ -241,16 +244,16 @@ export var EntityMetadata;
|
|
|
241
244
|
function defineEmbeddedField(entity, name, type, options) {
|
|
242
245
|
delete entity._fieldNames;
|
|
243
246
|
let prop = EntityMetadata.getField(entity, name);
|
|
244
|
-
if (isEmbeddedField(prop))
|
|
247
|
+
if ((0, orm_helper_js_1.isEmbeddedField)(prop))
|
|
245
248
|
options = { ...prop, ...options };
|
|
246
|
-
prop = EmbeddedFieldMetadata.create(entity, name, type, options);
|
|
249
|
+
prop = embedded_field_metadata_js_1.EmbeddedFieldMetadata.create(entity, name, type, options);
|
|
247
250
|
entity.fields[name.toLowerCase()] = prop;
|
|
248
251
|
return prop;
|
|
249
252
|
}
|
|
250
253
|
EntityMetadata.defineEmbeddedField = defineEmbeddedField;
|
|
251
254
|
function defineAssociationField(entity, propertyKey, association, options) {
|
|
252
255
|
delete entity._fieldNames;
|
|
253
|
-
const prop = AssociationFieldMetadata.create(entity, propertyKey, association, options);
|
|
256
|
+
const prop = association_field_metadata_js_1.AssociationFieldMetadata.create(entity, propertyKey, association, options);
|
|
254
257
|
let l = association;
|
|
255
258
|
let i = 1;
|
|
256
259
|
while (l) {
|
|
@@ -295,7 +298,7 @@ export var EntityMetadata;
|
|
|
295
298
|
derived.foreignKeys = derived.foreignKeys || [];
|
|
296
299
|
for (const fk of base.foreignKeys) {
|
|
297
300
|
if (!fk.sourceKey || hasField(fk.sourceKey)) {
|
|
298
|
-
const newFk = new Association(fk.name, { ...fk, source: derived.ctor });
|
|
301
|
+
const newFk = new association_js_1.Association(fk.name, { ...fk, source: derived.ctor });
|
|
299
302
|
derived.foreignKeys.push(newFk);
|
|
300
303
|
}
|
|
301
304
|
}
|
|
@@ -318,4 +321,4 @@ export var EntityMetadata;
|
|
|
318
321
|
}
|
|
319
322
|
}
|
|
320
323
|
EntityMetadata.mixin = mixin;
|
|
321
|
-
})(EntityMetadata || (EntityMetadata = {}));
|
|
324
|
+
})(EntityMetadata || (exports.EntityMetadata = EntityMetadata = {}));
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LinkChain = void 0;
|
|
4
|
+
const association_node_js_1 = require("./association-node.js");
|
|
5
|
+
class LinkChain {
|
|
3
6
|
constructor(target, targetKey, sourceKey, many) {
|
|
4
7
|
this.target = target;
|
|
5
|
-
this.first = this.current = new AssociationNode('', {
|
|
8
|
+
this.first = this.current = new association_node_js_1.AssociationNode('', {
|
|
6
9
|
many,
|
|
7
10
|
target,
|
|
8
11
|
source: null,
|
|
@@ -25,7 +28,7 @@ export class LinkChain {
|
|
|
25
28
|
return this._newNode(target, targetColumn, parentColumn, true);
|
|
26
29
|
}
|
|
27
30
|
_newNode(target, targetKey, parentKey, many = false) {
|
|
28
|
-
const child = new AssociationNode(this.current.name, {
|
|
31
|
+
const child = new association_node_js_1.AssociationNode(this.current.name, {
|
|
29
32
|
many,
|
|
30
33
|
source: this.current.target,
|
|
31
34
|
target,
|
|
@@ -38,3 +41,4 @@ export class LinkChain {
|
|
|
38
41
|
return this;
|
|
39
42
|
}
|
|
40
43
|
}
|
|
44
|
+
exports.LinkChain = LinkChain;
|
package/esm/orm/orm.const.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DECORATOR_FACTORY = exports.REPOSITORY_KEY = exports.ENTITY_METADATA_KEY = void 0;
|
|
4
|
+
exports.ENTITY_METADATA_KEY = Symbol.for('SQB_ENTITY_METADATA');
|
|
5
|
+
exports.REPOSITORY_KEY = Symbol.for('SQB_REPOSITORY');
|
|
6
|
+
exports.DECORATOR_FACTORY = Symbol.for('decorator.factory');
|
package/esm/orm/orm.type.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|