pinia-orm-edge 1.9.0-28580890.9c8ee0d → 1.9.0-28581629.9ed41d3
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/dist/index.cjs +20 -38
- package/dist/index.mjs +20 -38
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
@@ -1449,7 +1449,8 @@ class Query {
|
|
1449
1449
|
if (isDeleting === false) {
|
1450
1450
|
notDeletableIds.push(currentModel.$getIndexId());
|
1451
1451
|
} else {
|
1452
|
-
this.hydratedDataCache.delete(this.model.$entity() + currentModel.$getIndexId());
|
1452
|
+
this.hydratedDataCache.delete("set" + this.model.$entity() + currentModel.$getIndexId());
|
1453
|
+
this.hydratedDataCache.delete("get" + this.model.$entity() + currentModel.$getIndexId());
|
1453
1454
|
afterHooks.push(() => currentModel.$self().deleted(currentModel));
|
1454
1455
|
this.checkAndDeleteRelations(currentModel);
|
1455
1456
|
}
|
@@ -1481,16 +1482,21 @@ class Query {
|
|
1481
1482
|
* an update event trigger in vue if the object is used.
|
1482
1483
|
*/
|
1483
1484
|
getHydratedModel(record, options) {
|
1484
|
-
const id = this.model.$getKey(record, true);
|
1485
|
-
const
|
1486
|
-
|
1487
|
-
|
1485
|
+
const id = this.model.$entity() + this.model.$getKey(record, true);
|
1486
|
+
const operationId = options?.operation + id;
|
1487
|
+
let savedHydratedModel = this.hydratedDataCache.get(operationId);
|
1488
|
+
if (options?.action === "update") {
|
1489
|
+
this.hydratedDataCache.delete("get" + id);
|
1490
|
+
savedHydratedModel = void 0;
|
1491
|
+
}
|
1492
|
+
if (!this.getNewHydrated && savedHydratedModel) {
|
1493
|
+
return savedHydratedModel;
|
1488
1494
|
}
|
1489
1495
|
const modelByType = this.model.$types()[record[this.model.$typeKey()]];
|
1490
1496
|
const getNewInsance = (newOptions) => (modelByType ? modelByType.newRawInstance() : this.model).$newInstance(record, { relations: false, ...options || {}, ...newOptions });
|
1491
1497
|
const hydratedModel = getNewInsance();
|
1492
|
-
if (
|
1493
|
-
this.hydratedDataCache.set(
|
1498
|
+
if (Utils.isEmpty(this.eagerLoad) && options?.operation !== "set") {
|
1499
|
+
this.hydratedDataCache.set(operationId, hydratedModel);
|
1494
1500
|
}
|
1495
1501
|
return hydratedModel;
|
1496
1502
|
}
|
@@ -3184,12 +3190,18 @@ class Model {
|
|
3184
3190
|
continue;
|
3185
3191
|
}
|
3186
3192
|
const attr = fields[key];
|
3187
|
-
|
3193
|
+
let value = attributes[key];
|
3188
3194
|
if (attr instanceof Relation && !fillRelation) {
|
3189
3195
|
continue;
|
3190
3196
|
}
|
3191
3197
|
const mutator = mutators?.[key];
|
3192
3198
|
const cast = this.$casts()[key]?.newRawInstance(fields);
|
3199
|
+
if (mutator && operation === "get") {
|
3200
|
+
value = typeof mutator === "function" ? mutator(value) : typeof mutator.get === "function" ? mutator.get(value) : value;
|
3201
|
+
}
|
3202
|
+
if (cast && operation === "get") {
|
3203
|
+
value = cast.get(value);
|
3204
|
+
}
|
3193
3205
|
let keyValue = this.$fillField(key, attr, value);
|
3194
3206
|
if (mutator && typeof mutator !== "function" && operation === "set" && mutator.set) {
|
3195
3207
|
keyValue = mutator.set(keyValue);
|
@@ -3197,36 +3209,6 @@ class Model {
|
|
3197
3209
|
if (cast && operation === "set") {
|
3198
3210
|
keyValue = cast.set(keyValue);
|
3199
3211
|
}
|
3200
|
-
if (cast || mutator) {
|
3201
|
-
Object.defineProperty(this, "_" + key, {
|
3202
|
-
configurable: true,
|
3203
|
-
writable: true,
|
3204
|
-
enumerable: false
|
3205
|
-
});
|
3206
|
-
Object.defineProperty(this, key, {
|
3207
|
-
configurable: true,
|
3208
|
-
enumerable: true,
|
3209
|
-
get() {
|
3210
|
-
let scopeValue = this["_" + key];
|
3211
|
-
if (scopeValue === void 0) {
|
3212
|
-
return keyValue;
|
3213
|
-
}
|
3214
|
-
if (operation === "set") {
|
3215
|
-
return scopeValue;
|
3216
|
-
}
|
3217
|
-
if (mutator) {
|
3218
|
-
scopeValue = typeof mutator === "function" ? mutator(scopeValue) : typeof mutator.get === "function" ? mutator.get(scopeValue) : scopeValue;
|
3219
|
-
}
|
3220
|
-
if (cast) {
|
3221
|
-
scopeValue = cast.get(scopeValue);
|
3222
|
-
}
|
3223
|
-
return scopeValue;
|
3224
|
-
},
|
3225
|
-
set(value2) {
|
3226
|
-
this["_" + key] = value2;
|
3227
|
-
}
|
3228
|
-
});
|
3229
|
-
}
|
3230
3212
|
this[key] = this[key] ?? keyValue;
|
3231
3213
|
}
|
3232
3214
|
operation === "set" && (this.$self().original[this.$getKey(this, true)] = this.$getAttributes());
|
package/dist/index.mjs
CHANGED
@@ -1447,7 +1447,8 @@ class Query {
|
|
1447
1447
|
if (isDeleting === false) {
|
1448
1448
|
notDeletableIds.push(currentModel.$getIndexId());
|
1449
1449
|
} else {
|
1450
|
-
this.hydratedDataCache.delete(this.model.$entity() + currentModel.$getIndexId());
|
1450
|
+
this.hydratedDataCache.delete("set" + this.model.$entity() + currentModel.$getIndexId());
|
1451
|
+
this.hydratedDataCache.delete("get" + this.model.$entity() + currentModel.$getIndexId());
|
1451
1452
|
afterHooks.push(() => currentModel.$self().deleted(currentModel));
|
1452
1453
|
this.checkAndDeleteRelations(currentModel);
|
1453
1454
|
}
|
@@ -1479,16 +1480,21 @@ class Query {
|
|
1479
1480
|
* an update event trigger in vue if the object is used.
|
1480
1481
|
*/
|
1481
1482
|
getHydratedModel(record, options) {
|
1482
|
-
const id = this.model.$getKey(record, true);
|
1483
|
-
const
|
1484
|
-
|
1485
|
-
|
1483
|
+
const id = this.model.$entity() + this.model.$getKey(record, true);
|
1484
|
+
const operationId = options?.operation + id;
|
1485
|
+
let savedHydratedModel = this.hydratedDataCache.get(operationId);
|
1486
|
+
if (options?.action === "update") {
|
1487
|
+
this.hydratedDataCache.delete("get" + id);
|
1488
|
+
savedHydratedModel = void 0;
|
1489
|
+
}
|
1490
|
+
if (!this.getNewHydrated && savedHydratedModel) {
|
1491
|
+
return savedHydratedModel;
|
1486
1492
|
}
|
1487
1493
|
const modelByType = this.model.$types()[record[this.model.$typeKey()]];
|
1488
1494
|
const getNewInsance = (newOptions) => (modelByType ? modelByType.newRawInstance() : this.model).$newInstance(record, { relations: false, ...options || {}, ...newOptions });
|
1489
1495
|
const hydratedModel = getNewInsance();
|
1490
|
-
if (
|
1491
|
-
this.hydratedDataCache.set(
|
1496
|
+
if (isEmpty(this.eagerLoad) && options?.operation !== "set") {
|
1497
|
+
this.hydratedDataCache.set(operationId, hydratedModel);
|
1492
1498
|
}
|
1493
1499
|
return hydratedModel;
|
1494
1500
|
}
|
@@ -3182,12 +3188,18 @@ class Model {
|
|
3182
3188
|
continue;
|
3183
3189
|
}
|
3184
3190
|
const attr = fields[key];
|
3185
|
-
|
3191
|
+
let value = attributes[key];
|
3186
3192
|
if (attr instanceof Relation && !fillRelation) {
|
3187
3193
|
continue;
|
3188
3194
|
}
|
3189
3195
|
const mutator = mutators?.[key];
|
3190
3196
|
const cast = this.$casts()[key]?.newRawInstance(fields);
|
3197
|
+
if (mutator && operation === "get") {
|
3198
|
+
value = typeof mutator === "function" ? mutator(value) : typeof mutator.get === "function" ? mutator.get(value) : value;
|
3199
|
+
}
|
3200
|
+
if (cast && operation === "get") {
|
3201
|
+
value = cast.get(value);
|
3202
|
+
}
|
3191
3203
|
let keyValue = this.$fillField(key, attr, value);
|
3192
3204
|
if (mutator && typeof mutator !== "function" && operation === "set" && mutator.set) {
|
3193
3205
|
keyValue = mutator.set(keyValue);
|
@@ -3195,36 +3207,6 @@ class Model {
|
|
3195
3207
|
if (cast && operation === "set") {
|
3196
3208
|
keyValue = cast.set(keyValue);
|
3197
3209
|
}
|
3198
|
-
if (cast || mutator) {
|
3199
|
-
Object.defineProperty(this, "_" + key, {
|
3200
|
-
configurable: true,
|
3201
|
-
writable: true,
|
3202
|
-
enumerable: false
|
3203
|
-
});
|
3204
|
-
Object.defineProperty(this, key, {
|
3205
|
-
configurable: true,
|
3206
|
-
enumerable: true,
|
3207
|
-
get() {
|
3208
|
-
let scopeValue = this["_" + key];
|
3209
|
-
if (scopeValue === void 0) {
|
3210
|
-
return keyValue;
|
3211
|
-
}
|
3212
|
-
if (operation === "set") {
|
3213
|
-
return scopeValue;
|
3214
|
-
}
|
3215
|
-
if (mutator) {
|
3216
|
-
scopeValue = typeof mutator === "function" ? mutator(scopeValue) : typeof mutator.get === "function" ? mutator.get(scopeValue) : scopeValue;
|
3217
|
-
}
|
3218
|
-
if (cast) {
|
3219
|
-
scopeValue = cast.get(scopeValue);
|
3220
|
-
}
|
3221
|
-
return scopeValue;
|
3222
|
-
},
|
3223
|
-
set(value2) {
|
3224
|
-
this["_" + key] = value2;
|
3225
|
-
}
|
3226
|
-
});
|
3227
|
-
}
|
3228
3210
|
this[key] = this[key] ?? keyValue;
|
3229
3211
|
}
|
3230
3212
|
operation === "set" && (this.$self().original[this.$getKey(this, true)] = this.$getAttributes());
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "pinia-orm-edge",
|
3
|
-
"version": "1.9.0-
|
3
|
+
"version": "1.9.0-28581629.9ed41d3",
|
4
4
|
"description": "The Pinia plugin to enable Object-Relational Mapping access to the Pinia Store.",
|
5
5
|
"keywords": [
|
6
6
|
"vue",
|
@@ -46,7 +46,7 @@
|
|
46
46
|
"pinia": "^2.1.7"
|
47
47
|
},
|
48
48
|
"dependencies": {
|
49
|
-
"@pinia-orm/normalizr": "npm:@pinia-orm/normalizr-edge@1.9.0-
|
49
|
+
"@pinia-orm/normalizr": "npm:@pinia-orm/normalizr-edge@1.9.0-28581629.9ed41d3"
|
50
50
|
},
|
51
51
|
"devDependencies": {
|
52
52
|
"@nuxt/eslint-config": "^0.3.10",
|