pinia-orm-edge 1.9.0-28580767.64b3b57 → 1.9.0-28580890.9c8ee0d
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/casts.cjs +7 -1
- package/dist/casts.d.cts +1 -1
- package/dist/casts.d.mts +1 -1
- package/dist/casts.d.ts +1 -1
- package/dist/casts.mjs +7 -1
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.mjs +1 -1
- package/dist/index.cjs +9 -9
- package/dist/index.mjs +9 -9
- package/dist/shared/{pinia-orm.9bb2aea1.cjs → pinia-orm.a88d8365.cjs} +9 -1
- package/dist/shared/{pinia-orm.07af123e.mjs → pinia-orm.f3905af9.mjs} +9 -2
- package/package.json +2 -2
package/dist/casts.cjs
CHANGED
@@ -113,7 +113,13 @@ class DateCast extends CastAttribute.CastAttribute {
|
|
113
113
|
if (value === null) {
|
114
114
|
return null;
|
115
115
|
}
|
116
|
-
|
116
|
+
if (typeof value === "number") {
|
117
|
+
return new Date(value).toISOString();
|
118
|
+
}
|
119
|
+
if (typeof value === "string") {
|
120
|
+
return new Date(Date.parse(value)).toISOString();
|
121
|
+
}
|
122
|
+
return value.toISOString();
|
117
123
|
}
|
118
124
|
}
|
119
125
|
|
package/dist/casts.d.cts
CHANGED
@@ -60,7 +60,7 @@ declare class DateCast extends CastAttribute {
|
|
60
60
|
/**
|
61
61
|
* Make the value for the attribute.
|
62
62
|
*/
|
63
|
-
set(value: string | Date | null): string | null;
|
63
|
+
set(value: string | number | Date | null): string | null;
|
64
64
|
}
|
65
65
|
|
66
66
|
export { ArrayCast, BooleanCast, DateCast, NumberCast, StringCast };
|
package/dist/casts.d.mts
CHANGED
@@ -60,7 +60,7 @@ declare class DateCast extends CastAttribute {
|
|
60
60
|
/**
|
61
61
|
* Make the value for the attribute.
|
62
62
|
*/
|
63
|
-
set(value: string | Date | null): string | null;
|
63
|
+
set(value: string | number | Date | null): string | null;
|
64
64
|
}
|
65
65
|
|
66
66
|
export { ArrayCast, BooleanCast, DateCast, NumberCast, StringCast };
|
package/dist/casts.d.ts
CHANGED
@@ -60,7 +60,7 @@ declare class DateCast extends CastAttribute {
|
|
60
60
|
/**
|
61
61
|
* Make the value for the attribute.
|
62
62
|
*/
|
63
|
-
set(value: string | Date | null): string | null;
|
63
|
+
set(value: string | number | Date | null): string | null;
|
64
64
|
}
|
65
65
|
|
66
66
|
export { ArrayCast, BooleanCast, DateCast, NumberCast, StringCast };
|
package/dist/casts.mjs
CHANGED
@@ -111,7 +111,13 @@ class DateCast extends CastAttribute {
|
|
111
111
|
if (value === null) {
|
112
112
|
return null;
|
113
113
|
}
|
114
|
-
|
114
|
+
if (typeof value === "number") {
|
115
|
+
return new Date(value).toISOString();
|
116
|
+
}
|
117
|
+
if (typeof value === "string") {
|
118
|
+
return new Date(Date.parse(value)).toISOString();
|
119
|
+
}
|
120
|
+
return value.toISOString();
|
115
121
|
}
|
116
122
|
}
|
117
123
|
|
package/dist/helpers.cjs
CHANGED
package/dist/helpers.mjs
CHANGED
package/dist/index.cjs
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
const Utils = require('./shared/pinia-orm.
|
3
|
+
const Utils = require('./shared/pinia-orm.a88d8365.cjs');
|
4
4
|
const pinia = require('pinia');
|
5
5
|
const normalizr = require('@pinia-orm/normalizr');
|
6
6
|
const CastAttribute = require('./shared/pinia-orm.a7e3e0f3.cjs');
|
@@ -1307,16 +1307,16 @@ class Query {
|
|
1307
1307
|
const record = elements[id];
|
1308
1308
|
const existing = currentData[id];
|
1309
1309
|
let model = existing ? this.hydrate({ ...existing, ...record }, { operation: "set", action: "update" }) : this.hydrate(record, { operation: "set", action: "save" });
|
1310
|
-
const isSaving = model.$self().saving(model,
|
1311
|
-
const isUpdatingOrCreating = existing ? model.$self().updating(model,
|
1310
|
+
const isSaving = model.$self().saving(model, existing ?? {});
|
1311
|
+
const isUpdatingOrCreating = existing ? model.$self().updating(model, existing ?? {}) : model.$self().creating(model, existing ?? {});
|
1312
1312
|
if (isSaving === false || isUpdatingOrCreating === false) {
|
1313
1313
|
continue;
|
1314
1314
|
}
|
1315
1315
|
if (model.$isDirty()) {
|
1316
1316
|
model = this.hydrate(model.$getAttributes(), { operation: "set", action: existing ? "update" : "save" });
|
1317
1317
|
}
|
1318
|
-
afterSavingHooks.push(() => model.$self().saved(model,
|
1319
|
-
afterSavingHooks.push(() => existing ? model.$self().updated(model,
|
1318
|
+
afterSavingHooks.push(() => model.$self().saved(model, existing ?? {}));
|
1319
|
+
afterSavingHooks.push(() => existing ? model.$self().updated(model, existing ?? {}) : model.$self().created(model, existing ?? {}));
|
1320
1320
|
newData[id] = model.$getAttributes();
|
1321
1321
|
if (Object.values(model.$types()).length > 0 && !newData[id][model.$typeKey()]) {
|
1322
1322
|
newData[id][model.$typeKey()] = record[model.$typeKey()];
|
@@ -2023,7 +2023,7 @@ let String$1 = class String extends Type {
|
|
2023
2023
|
}
|
2024
2024
|
};
|
2025
2025
|
|
2026
|
-
|
2026
|
+
class Number extends Type {
|
2027
2027
|
/**
|
2028
2028
|
* Create a new Number attribute instance.
|
2029
2029
|
*/
|
@@ -2036,7 +2036,7 @@ let Number$1 = class Number extends Type {
|
|
2036
2036
|
make(value) {
|
2037
2037
|
return this.makeReturn("number", value);
|
2038
2038
|
}
|
2039
|
-
}
|
2039
|
+
}
|
2040
2040
|
|
2041
2041
|
class Boolean extends Type {
|
2042
2042
|
/**
|
@@ -2915,7 +2915,7 @@ class Model {
|
|
2915
2915
|
* Create a new Number attribute instance.
|
2916
2916
|
*/
|
2917
2917
|
static number(value) {
|
2918
|
-
return new Number
|
2918
|
+
return new Number(this.newRawInstance(), value);
|
2919
2919
|
}
|
2920
2920
|
/**
|
2921
2921
|
* Create a new Boolean attribute instance.
|
@@ -3445,7 +3445,7 @@ class Model {
|
|
3445
3445
|
return this.serializeArray(value);
|
3446
3446
|
}
|
3447
3447
|
if (typeof value === "object") {
|
3448
|
-
if (
|
3448
|
+
if (Utils.isDate(value)) {
|
3449
3449
|
return value.toISOString();
|
3450
3450
|
} else {
|
3451
3451
|
return this.serializeObject(value);
|
package/dist/index.mjs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { i as isArray, t as throwError, a as assert, g as generateId, b as isNullish, c as compareWithOperator, d as generateKey, e as isEmpty, f as isFunction, h as groupBy, o as orderBy, j as equals } from './shared/pinia-orm.
|
1
|
+
import { i as isArray, t as throwError, a as assert, g as generateId, b as isNullish, c as compareWithOperator, d as generateKey, e as isEmpty, f as isFunction, h as groupBy, o as orderBy, j as equals, k as isDate } from './shared/pinia-orm.f3905af9.mjs';
|
2
2
|
import { defineStore, acceptHMRUpdate } from 'pinia';
|
3
3
|
import { schema, normalize } from '@pinia-orm/normalizr';
|
4
4
|
export { C as CastAttribute } from './shared/pinia-orm.4ff2e12f.mjs';
|
@@ -1305,16 +1305,16 @@ class Query {
|
|
1305
1305
|
const record = elements[id];
|
1306
1306
|
const existing = currentData[id];
|
1307
1307
|
let model = existing ? this.hydrate({ ...existing, ...record }, { operation: "set", action: "update" }) : this.hydrate(record, { operation: "set", action: "save" });
|
1308
|
-
const isSaving = model.$self().saving(model,
|
1309
|
-
const isUpdatingOrCreating = existing ? model.$self().updating(model,
|
1308
|
+
const isSaving = model.$self().saving(model, existing ?? {});
|
1309
|
+
const isUpdatingOrCreating = existing ? model.$self().updating(model, existing ?? {}) : model.$self().creating(model, existing ?? {});
|
1310
1310
|
if (isSaving === false || isUpdatingOrCreating === false) {
|
1311
1311
|
continue;
|
1312
1312
|
}
|
1313
1313
|
if (model.$isDirty()) {
|
1314
1314
|
model = this.hydrate(model.$getAttributes(), { operation: "set", action: existing ? "update" : "save" });
|
1315
1315
|
}
|
1316
|
-
afterSavingHooks.push(() => model.$self().saved(model,
|
1317
|
-
afterSavingHooks.push(() => existing ? model.$self().updated(model,
|
1316
|
+
afterSavingHooks.push(() => model.$self().saved(model, existing ?? {}));
|
1317
|
+
afterSavingHooks.push(() => existing ? model.$self().updated(model, existing ?? {}) : model.$self().created(model, existing ?? {}));
|
1318
1318
|
newData[id] = model.$getAttributes();
|
1319
1319
|
if (Object.values(model.$types()).length > 0 && !newData[id][model.$typeKey()]) {
|
1320
1320
|
newData[id][model.$typeKey()] = record[model.$typeKey()];
|
@@ -2021,7 +2021,7 @@ let String$1 = class String extends Type {
|
|
2021
2021
|
}
|
2022
2022
|
};
|
2023
2023
|
|
2024
|
-
|
2024
|
+
class Number extends Type {
|
2025
2025
|
/**
|
2026
2026
|
* Create a new Number attribute instance.
|
2027
2027
|
*/
|
@@ -2034,7 +2034,7 @@ let Number$1 = class Number extends Type {
|
|
2034
2034
|
make(value) {
|
2035
2035
|
return this.makeReturn("number", value);
|
2036
2036
|
}
|
2037
|
-
}
|
2037
|
+
}
|
2038
2038
|
|
2039
2039
|
class Boolean extends Type {
|
2040
2040
|
/**
|
@@ -2913,7 +2913,7 @@ class Model {
|
|
2913
2913
|
* Create a new Number attribute instance.
|
2914
2914
|
*/
|
2915
2915
|
static number(value) {
|
2916
|
-
return new Number
|
2916
|
+
return new Number(this.newRawInstance(), value);
|
2917
2917
|
}
|
2918
2918
|
/**
|
2919
2919
|
* Create a new Boolean attribute instance.
|
@@ -3443,7 +3443,7 @@ class Model {
|
|
3443
3443
|
return this.serializeArray(value);
|
3444
3444
|
}
|
3445
3445
|
if (typeof value === "object") {
|
3446
|
-
if (
|
3446
|
+
if (isDate(value)) {
|
3447
3447
|
return value.toISOString();
|
3448
3448
|
} else {
|
3449
3449
|
return this.serializeObject(value);
|
@@ -21,6 +21,9 @@ function compareWithOperator(leftValue, rightValue, operator) {
|
|
21
21
|
function isNullish(value) {
|
22
22
|
return value === void 0 || value === null;
|
23
23
|
}
|
24
|
+
function isDate(value) {
|
25
|
+
return value instanceof Date && !Number.isNaN(value.getTime()) && typeof value.toISOString === "function";
|
26
|
+
}
|
24
27
|
function isArray(value) {
|
25
28
|
return Array.isArray(value);
|
26
29
|
}
|
@@ -37,7 +40,11 @@ function orderBy(collection, iteratees, directions, flags = "SORT_REGULAR") {
|
|
37
40
|
let index = -1;
|
38
41
|
const result = collection.map((value) => {
|
39
42
|
const criteria = iteratees.map((iteratee) => {
|
40
|
-
|
43
|
+
if (typeof iteratee === "function") {
|
44
|
+
return iteratee(value);
|
45
|
+
}
|
46
|
+
const newValue = getValue(value, iteratee, false);
|
47
|
+
return isDate(newValue) ? new Date(newValue).getTime() : newValue;
|
41
48
|
});
|
42
49
|
return { criteria, index: ++index, value };
|
43
50
|
});
|
@@ -160,6 +167,7 @@ exports.generateKey = generateKey;
|
|
160
167
|
exports.getValue = getValue;
|
161
168
|
exports.groupBy = groupBy;
|
162
169
|
exports.isArray = isArray;
|
170
|
+
exports.isDate = isDate;
|
163
171
|
exports.isEmpty = isEmpty;
|
164
172
|
exports.isFunction = isFunction;
|
165
173
|
exports.isNullish = isNullish;
|
@@ -19,6 +19,9 @@ function compareWithOperator(leftValue, rightValue, operator) {
|
|
19
19
|
function isNullish(value) {
|
20
20
|
return value === void 0 || value === null;
|
21
21
|
}
|
22
|
+
function isDate(value) {
|
23
|
+
return value instanceof Date && !Number.isNaN(value.getTime()) && typeof value.toISOString === "function";
|
24
|
+
}
|
22
25
|
function isArray(value) {
|
23
26
|
return Array.isArray(value);
|
24
27
|
}
|
@@ -35,7 +38,11 @@ function orderBy(collection, iteratees, directions, flags = "SORT_REGULAR") {
|
|
35
38
|
let index = -1;
|
36
39
|
const result = collection.map((value) => {
|
37
40
|
const criteria = iteratees.map((iteratee) => {
|
38
|
-
|
41
|
+
if (typeof iteratee === "function") {
|
42
|
+
return iteratee(value);
|
43
|
+
}
|
44
|
+
const newValue = getValue(value, iteratee, false);
|
45
|
+
return isDate(newValue) ? new Date(newValue).getTime() : newValue;
|
39
46
|
});
|
40
47
|
return { criteria, index: ++index, value };
|
41
48
|
});
|
@@ -150,4 +157,4 @@ function equals(a, b) {
|
|
150
157
|
return keys.every((k) => equals(a[k], b[k]));
|
151
158
|
}
|
152
159
|
|
153
|
-
export { assert as a, isNullish as b, compareWithOperator as c, generateKey as d, isEmpty as e, isFunction as f, generateId as g, groupBy as h, isArray as i, equals as j,
|
160
|
+
export { assert as a, isNullish as b, compareWithOperator as c, generateKey as d, isEmpty as e, isFunction as f, generateId as g, groupBy as h, isArray as i, equals as j, isDate as k, getValue as l, orderBy as o, throwError as t };
|
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-28580890.9c8ee0d",
|
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-28580890.9c8ee0d"
|
50
50
|
},
|
51
51
|
"devDependencies": {
|
52
52
|
"@nuxt/eslint-config": "^0.3.10",
|