@quatrain/core 0.4.3 → 0.4.4
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/lib/components/AbstractObject.d.ts +1 -1
- package/lib/components/AbstractObject.js +2 -2
- package/lib/components/DataObject.d.ts +2 -2
- package/lib/components/DataObject.js +14 -12
- package/lib/components/types/DataObjectClass.d.ts +1 -1
- package/lib/properties/ObjectProperty.js +3 -2
- package/lib/utils/DataGenerator.js +3 -2
- package/package.json +1 -1
|
@@ -14,7 +14,6 @@ const Query_1 = require("../backends/Query");
|
|
|
14
14
|
class AbstractObject {
|
|
15
15
|
constructor(dao) {
|
|
16
16
|
this._dataObject = dao;
|
|
17
|
-
AbstractObject.COLLECTION = this.constructor.name.toLowerCase();
|
|
18
17
|
}
|
|
19
18
|
get(key) {
|
|
20
19
|
return this._dataObject.get(key);
|
|
@@ -52,7 +51,8 @@ class AbstractObject {
|
|
|
52
51
|
}
|
|
53
52
|
save() {
|
|
54
53
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
|
|
54
|
+
yield this._dataObject.save();
|
|
55
|
+
return this;
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
delete() {
|
|
@@ -67,7 +67,7 @@ export declare class DataObject implements DataObjectClass<any> {
|
|
|
67
67
|
* @returns any
|
|
68
68
|
*/
|
|
69
69
|
val(key: string): any;
|
|
70
|
-
toJSON(): {
|
|
70
|
+
toJSON(objectsAsReferences?: boolean): {
|
|
71
71
|
[x: string]: any;
|
|
72
72
|
};
|
|
73
73
|
toReference(): {
|
|
@@ -75,7 +75,7 @@ export declare class DataObject implements DataObjectClass<any> {
|
|
|
75
75
|
ref: string;
|
|
76
76
|
uri: string;
|
|
77
77
|
};
|
|
78
|
-
protected _dataToJSON(): {};
|
|
78
|
+
protected _dataToJSON(objectsAsReferences?: boolean): {};
|
|
79
79
|
read(): Promise<DataObjectClass<any>>;
|
|
80
80
|
save(): Promise<DataObjectClass<any>>;
|
|
81
81
|
delete(): Promise<DataObjectClass<any>>;
|
|
@@ -159,26 +159,30 @@ class DataObject {
|
|
|
159
159
|
throw new Error(`Unknown property '${key}'`);
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
|
-
toJSON() {
|
|
163
|
-
return Object.assign(Object.assign({}, (this._uid && { uid: this._uid })), this._dataToJSON());
|
|
162
|
+
toJSON(objectsAsReferences = false) {
|
|
163
|
+
return Object.assign(Object.assign({}, (this._uid && { uid: this._uid })), this._dataToJSON(objectsAsReferences));
|
|
164
164
|
}
|
|
165
165
|
toReference() {
|
|
166
166
|
return Object.assign(Object.assign({}, this._objectUri.toReference()), { label: this.val('name') || '' });
|
|
167
167
|
}
|
|
168
|
-
_dataToJSON() {
|
|
168
|
+
_dataToJSON(objectsAsReferences = false) {
|
|
169
169
|
const data = {};
|
|
170
170
|
Object.keys(this._properties).forEach((key) => {
|
|
171
171
|
const prop = Reflect.get(this._properties, key);
|
|
172
|
-
const value = prop.val();
|
|
173
172
|
switch (prop.constructor.name) {
|
|
174
173
|
case 'CollectionProperty':
|
|
175
174
|
// ignore
|
|
176
175
|
break;
|
|
177
176
|
case 'ObjectProperty':
|
|
178
|
-
|
|
177
|
+
const value = prop.val();
|
|
178
|
+
Reflect.set(data, key, value
|
|
179
|
+
? objectsAsReferences
|
|
180
|
+
? value.toReference()
|
|
181
|
+
: value.toJSON()
|
|
182
|
+
: null);
|
|
179
183
|
break;
|
|
180
184
|
default:
|
|
181
|
-
Reflect.set(data, key,
|
|
185
|
+
Reflect.set(data, key, prop.val() || null);
|
|
182
186
|
}
|
|
183
187
|
});
|
|
184
188
|
return data;
|
|
@@ -195,12 +199,10 @@ class DataObject {
|
|
|
195
199
|
});
|
|
196
200
|
}
|
|
197
201
|
save() {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
return this.uid ? backend.update(this) : backend.create(this);
|
|
203
|
-
});
|
|
202
|
+
const backend = Core_1.Core.getBackend(this.backend || Core_1.Core.defaultBackend);
|
|
203
|
+
this._persisted = true;
|
|
204
|
+
this._modified = false;
|
|
205
|
+
return this.uid ? backend.update(this) : backend.create(this);
|
|
204
206
|
}
|
|
205
207
|
delete() {
|
|
206
208
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -19,9 +19,10 @@ class ObjectProperty extends BaseProperty_1.BaseProperty {
|
|
|
19
19
|
return super.set(value);
|
|
20
20
|
}
|
|
21
21
|
toJSON() {
|
|
22
|
-
return this._value &&
|
|
22
|
+
return this._value &&
|
|
23
|
+
(this._value.dataObject || this._value instanceof DataObject_1.DataObject)
|
|
23
24
|
? this._value.dataObject.toReference()
|
|
24
|
-
:
|
|
25
|
+
: null;
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
exports.ObjectProperty = ObjectProperty;
|
|
@@ -93,8 +93,9 @@ const DataGenerator = (model, qty = 5, forcedValues = {}) => __awaiter(void 0, v
|
|
|
93
93
|
break;
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
|
-
|
|
96
|
+
yield dao.save();
|
|
97
|
+
promises.push(dao);
|
|
97
98
|
}
|
|
98
|
-
return
|
|
99
|
+
return promises;
|
|
99
100
|
});
|
|
100
101
|
exports.DataGenerator = DataGenerator;
|