iodm 0.0.2 → 0.0.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/dist/configure.d.ts +3 -2
- package/dist/configure.d.ts.map +1 -1
- package/dist/index.es.js +218 -184
- package/dist/model/index.d.ts.map +1 -1
- package/dist/schema/base-schema.d.ts +8 -5
- package/dist/schema/base-schema.d.ts.map +1 -1
- package/dist/schema/helpers.d.ts +3 -0
- package/dist/schema/helpers.d.ts.map +1 -0
- package/dist/schema/index.d.ts +5 -5
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/non-primitive/array/index.d.ts +3 -3
- package/dist/schema/non-primitive/array/index.d.ts.map +1 -1
- package/dist/schema/non-primitive/ref/index.d.ts +6 -4
- package/dist/schema/non-primitive/ref/index.d.ts.map +1 -1
- package/dist/schema/non-primitive/ref-array/index.d.ts +4 -4
- package/dist/schema/non-primitive/ref-array/index.d.ts.map +1 -1
- package/dist/schema/types.d.ts +7 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/validation-rule/type.d.ts +2 -5
- package/dist/schema/validation-rule/type.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/configure.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import { IModel } from './model/types';
|
|
|
2
2
|
interface ConfigureIndexedDBProps {
|
|
3
3
|
db: string;
|
|
4
4
|
version: number;
|
|
5
|
-
models: Array<IModel
|
|
6
|
-
|
|
5
|
+
models: Array<IModel<any, any, any>>;
|
|
6
|
+
onUpgradeNeededPre?: (event: IDBOpenDBRequest) => any;
|
|
7
|
+
onUpgradeNeededPost?: (event: IDBOpenDBRequest) => any;
|
|
7
8
|
}
|
|
8
9
|
export declare const configureIDB: (config: ConfigureIndexedDBProps) => Promise<IDBDatabase>;
|
|
9
10
|
export {};
|
package/dist/configure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,UAAU,uBAAuB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,UAAU,uBAAuB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAC;CACxD;AAED,eAAO,MAAM,YAAY,GACvB,QAAQ,uBAAuB,KAC9B,OAAO,CAAC,WAAW,CA2BrB,CAAC"}
|
package/dist/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const E = (s) => typeof s == "function", b = (s) => s == null, M = (s) => s?.constructor ? s.constructor.toString().includes("RegExp()") : !1, C = [
|
|
2
2
|
"$eq",
|
|
3
3
|
"$nq",
|
|
4
4
|
"$gt",
|
|
@@ -7,25 +7,25 @@ const D = (s) => typeof s == "function", O = (s) => s == null, P = (s) => s?.con
|
|
|
7
7
|
"$lte",
|
|
8
8
|
"$not",
|
|
9
9
|
"$regex"
|
|
10
|
-
], j = (s) => typeof s != "object" || !s ? !1 : C.some((t) => t in s),
|
|
10
|
+
], j = (s) => typeof s != "object" || !s ? !1 : C.some((t) => t in s), P = (s, t, e) => !("$eq" in t && t.$eq !== e[s] || "$nq" in t && t.$nq === e[s] || !b(t.$gt) && !(t.$gt < e[s]) || !b(t.$gte) && !(t.$gte <= e[s]) || !b(t.$lt) && !(t.$lt > e[s]) || !b(t.$lte) && !(t.$lte >= e[s]) || !b(t.$not) && P(s, t.$not, e) || !b(t.$regex) && !t.$regex.test(e[s])), g = (s, t) => {
|
|
11
11
|
if (typeof t != "object" || !t) return !0;
|
|
12
12
|
const e = Object.keys(s).filter((r) => r != "$key");
|
|
13
13
|
for (const r of e) {
|
|
14
14
|
const n = s[r];
|
|
15
15
|
if (r === "$and" && s.$and) {
|
|
16
|
-
if (!s.$and.every((o) =>
|
|
16
|
+
if (!s.$and.every((o) => g(o, t)))
|
|
17
17
|
return !1;
|
|
18
18
|
} else if (r === "$or" && s.$or) {
|
|
19
|
-
if (!s.$or.some((o) =>
|
|
19
|
+
if (!s.$or.some((o) => g(o, t)))
|
|
20
20
|
return !1;
|
|
21
21
|
} else if (j(n)) {
|
|
22
|
-
if (!
|
|
23
|
-
} else if (
|
|
22
|
+
if (!P(r, n, t)) return !1;
|
|
23
|
+
} else if (M(s[r])) {
|
|
24
24
|
if (!s[r].test(t[r])) return !1;
|
|
25
25
|
} else if (s[r] !== t[r]) return !1;
|
|
26
26
|
}
|
|
27
27
|
return !0;
|
|
28
|
-
},
|
|
28
|
+
}, B = (s, t) => {
|
|
29
29
|
if (typeof s != "object" || !s) return s;
|
|
30
30
|
if (t.$set)
|
|
31
31
|
for (const e in t.$set)
|
|
@@ -41,7 +41,7 @@ const D = (s) => typeof s == "function", O = (s) => s == null, P = (s) => s?.con
|
|
|
41
41
|
Array.isArray(s[e]) && (t.$pop[e] == 1 ? s[e].pop() : s[e].shift());
|
|
42
42
|
return s;
|
|
43
43
|
};
|
|
44
|
-
class
|
|
44
|
+
class k {
|
|
45
45
|
async openCursor(t, e) {
|
|
46
46
|
const { storeName: r, transaction: n, throwOnError: o = !0 } = e;
|
|
47
47
|
return {
|
|
@@ -49,18 +49,18 @@ class M {
|
|
|
49
49
|
const d = n.objectStore(r).openCursor(t.$key), c = () => new Promise((i, a) => {
|
|
50
50
|
d.onsuccess = function() {
|
|
51
51
|
i(this.result);
|
|
52
|
-
}, d.onerror = function(
|
|
52
|
+
}, d.onerror = function(u) {
|
|
53
53
|
if (o)
|
|
54
|
-
return a(
|
|
55
|
-
|
|
54
|
+
return a(u);
|
|
55
|
+
u.preventDefault(), i(null);
|
|
56
56
|
};
|
|
57
57
|
});
|
|
58
|
-
let
|
|
58
|
+
let h = c();
|
|
59
59
|
try {
|
|
60
60
|
for (; ; ) {
|
|
61
|
-
const i = await
|
|
61
|
+
const i = await h;
|
|
62
62
|
if (i && i.value)
|
|
63
|
-
|
|
63
|
+
h = c(), i.continue(), g(t, i.value) && (yield i.value);
|
|
64
64
|
else
|
|
65
65
|
break;
|
|
66
66
|
}
|
|
@@ -74,16 +74,16 @@ class M {
|
|
|
74
74
|
}
|
|
75
75
|
async find(t, e) {
|
|
76
76
|
return new Promise((r, n) => {
|
|
77
|
-
const { storeName: o, transaction: d, Constructor: c } = e,
|
|
77
|
+
const { storeName: o, transaction: d, Constructor: c } = e, h = [], i = d.objectStore(o).openCursor(t.$key);
|
|
78
78
|
i.onsuccess = async function() {
|
|
79
79
|
const a = this.result;
|
|
80
80
|
if (!a || !a.value) {
|
|
81
|
-
r(
|
|
81
|
+
r(h);
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
|
-
if (
|
|
85
|
-
const
|
|
86
|
-
|
|
84
|
+
if (g(t, a.value)) {
|
|
85
|
+
const u = a.value && c ? await c.preProcess(a.value, e) : a.value;
|
|
86
|
+
h.push(u && c ? new c(u) : u);
|
|
87
87
|
}
|
|
88
88
|
a.continue();
|
|
89
89
|
}, i.onerror = (a) => {
|
|
@@ -93,15 +93,15 @@ class M {
|
|
|
93
93
|
}
|
|
94
94
|
async findById(t, e) {
|
|
95
95
|
return new Promise((r, n) => {
|
|
96
|
-
const { storeName: o, transaction: d, Constructor: c } = e,
|
|
97
|
-
|
|
96
|
+
const { storeName: o, transaction: d, Constructor: c } = e, h = d.objectStore(o).get(t);
|
|
97
|
+
h.onsuccess = async (i) => {
|
|
98
98
|
let a = null;
|
|
99
99
|
if (i.target && "result" in i.target) {
|
|
100
|
-
const
|
|
101
|
-
a =
|
|
100
|
+
const u = i.target.result && c ? await c.preProcess(i.target.result, e) : i.target.result;
|
|
101
|
+
a = u && c ? new c(u) : u;
|
|
102
102
|
}
|
|
103
103
|
r(a);
|
|
104
|
-
},
|
|
104
|
+
}, h.onerror = (i) => {
|
|
105
105
|
n(i);
|
|
106
106
|
};
|
|
107
107
|
});
|
|
@@ -110,14 +110,14 @@ class M {
|
|
|
110
110
|
const { storeName: r, transaction: n, throwOnError: o } = e, d = n.objectStore(r), c = {
|
|
111
111
|
result: []
|
|
112
112
|
};
|
|
113
|
-
for (let
|
|
113
|
+
for (let h = 0; h < t.length; ++h) {
|
|
114
114
|
const i = await new Promise(
|
|
115
|
-
(a,
|
|
116
|
-
const p = d.add(t[
|
|
115
|
+
(a, u) => {
|
|
116
|
+
const p = d.add(t[h]);
|
|
117
117
|
p.onsuccess = (l) => {
|
|
118
118
|
a({ status: "success", event: l });
|
|
119
119
|
}, p.onerror = (l) => {
|
|
120
|
-
o ?
|
|
120
|
+
o ? u(l) : (l.preventDefault(), a({ status: "error", event: l }));
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
123
|
);
|
|
@@ -136,47 +136,47 @@ class M {
|
|
|
136
136
|
return new Promise((o, d) => {
|
|
137
137
|
let c = e.objectStore;
|
|
138
138
|
c || (c = n.objectStore(r));
|
|
139
|
-
const
|
|
140
|
-
|
|
139
|
+
const h = c.put(t);
|
|
140
|
+
h.onsuccess = (i) => {
|
|
141
141
|
let a;
|
|
142
142
|
i.target && "result" in i.target && (a = i.target.result), o(a);
|
|
143
|
-
},
|
|
143
|
+
}, h.onerror = (i) => {
|
|
144
144
|
d(i);
|
|
145
145
|
};
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
148
|
async updateMany(t, e, r) {
|
|
149
|
-
const { storeName: n, transaction: o, updateLimit: d, throwOnError: c } = r,
|
|
149
|
+
const { storeName: n, transaction: o, updateLimit: d, throwOnError: c } = r, h = {
|
|
150
150
|
modifiedCount: 0,
|
|
151
151
|
matchedCount: 0
|
|
152
152
|
};
|
|
153
153
|
return new Promise((i, a) => {
|
|
154
|
-
const
|
|
155
|
-
|
|
154
|
+
const u = o.objectStore(n).openCursor(t.$key);
|
|
155
|
+
u.onsuccess = (p) => {
|
|
156
156
|
if (!p.target || !("result" in p.target) || !p.target.result) {
|
|
157
|
-
i(
|
|
157
|
+
i(h);
|
|
158
158
|
return;
|
|
159
159
|
}
|
|
160
160
|
const l = p.target.result;
|
|
161
|
-
if (!
|
|
161
|
+
if (!g(t, l.value)) {
|
|
162
162
|
l.continue();
|
|
163
163
|
return;
|
|
164
164
|
}
|
|
165
|
-
++
|
|
165
|
+
++h.matchedCount;
|
|
166
166
|
try {
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
++
|
|
170
|
-
},
|
|
171
|
-
c ? a(
|
|
167
|
+
const m = E(e) ? e(l.value) : B(l.value, e), O = l.update(m);
|
|
168
|
+
O.onsuccess = () => {
|
|
169
|
+
++h.modifiedCount, d !== h.modifiedCount ? l.continue() : i(h);
|
|
170
|
+
}, O.onerror = (N) => {
|
|
171
|
+
c ? a(N) : (N.preventDefault(), l.continue());
|
|
172
172
|
};
|
|
173
|
-
} catch (
|
|
174
|
-
c ? (o.abort(), a(
|
|
173
|
+
} catch (m) {
|
|
174
|
+
c ? (o.abort(), a(m)) : l.continue();
|
|
175
175
|
}
|
|
176
|
-
},
|
|
176
|
+
}, u.onerror = (p) => {
|
|
177
177
|
if (c)
|
|
178
178
|
return a(p);
|
|
179
|
-
p.preventDefault(), i(
|
|
179
|
+
p.preventDefault(), i(h);
|
|
180
180
|
};
|
|
181
181
|
});
|
|
182
182
|
}
|
|
@@ -191,15 +191,15 @@ class M {
|
|
|
191
191
|
deletedCount: 0,
|
|
192
192
|
matchedCount: 0
|
|
193
193
|
};
|
|
194
|
-
return new Promise((
|
|
194
|
+
return new Promise((h, i) => {
|
|
195
195
|
const a = n.objectStore(r).openCursor(t.$key);
|
|
196
|
-
a.onsuccess = (
|
|
197
|
-
if (!
|
|
198
|
-
|
|
196
|
+
a.onsuccess = (u) => {
|
|
197
|
+
if (!u.target || !("result" in u.target) || !u.target.result) {
|
|
198
|
+
h(c);
|
|
199
199
|
return;
|
|
200
200
|
}
|
|
201
|
-
const p =
|
|
202
|
-
if (!
|
|
201
|
+
const p = u.target.result;
|
|
202
|
+
if (!g(t, p.value)) {
|
|
203
203
|
p.continue();
|
|
204
204
|
return;
|
|
205
205
|
}
|
|
@@ -207,21 +207,21 @@ class M {
|
|
|
207
207
|
try {
|
|
208
208
|
const l = p.delete();
|
|
209
209
|
l.onsuccess = () => {
|
|
210
|
-
++c.deletedCount, o !== c.deletedCount ? p.continue() :
|
|
211
|
-
}, l.onerror = (
|
|
210
|
+
++c.deletedCount, o !== c.deletedCount ? p.continue() : h(c);
|
|
211
|
+
}, l.onerror = (m) => {
|
|
212
212
|
if (d)
|
|
213
|
-
return i(
|
|
214
|
-
|
|
213
|
+
return i(m);
|
|
214
|
+
m.preventDefault(), p.continue();
|
|
215
215
|
};
|
|
216
216
|
} catch (l) {
|
|
217
217
|
if (d)
|
|
218
218
|
return n.abort(), i(l);
|
|
219
219
|
p.continue();
|
|
220
220
|
}
|
|
221
|
-
}, a.onerror = (
|
|
221
|
+
}, a.onerror = (u) => {
|
|
222
222
|
if (d)
|
|
223
|
-
return i(
|
|
224
|
-
|
|
223
|
+
return i(u);
|
|
224
|
+
u.preventDefault(), h(c);
|
|
225
225
|
};
|
|
226
226
|
});
|
|
227
227
|
}
|
|
@@ -235,33 +235,33 @@ class M {
|
|
|
235
235
|
Constructor: o,
|
|
236
236
|
throwOnError: d = !0
|
|
237
237
|
} = e, c = n.objectStore(r);
|
|
238
|
-
return new Promise((
|
|
238
|
+
return new Promise((h, i) => {
|
|
239
239
|
const a = c.get(t);
|
|
240
|
-
a.onsuccess = async (
|
|
240
|
+
a.onsuccess = async (u) => {
|
|
241
241
|
let p;
|
|
242
|
-
if (
|
|
243
|
-
|
|
242
|
+
if (u.target && "result" in u.target && (p = u.target.result), !p) {
|
|
243
|
+
h(p);
|
|
244
244
|
return;
|
|
245
245
|
}
|
|
246
246
|
p = o ? await o.preProcess(p, e) : p, p = o ? new o(p) : p;
|
|
247
247
|
try {
|
|
248
248
|
const l = c.delete(t);
|
|
249
249
|
l.onsuccess = () => {
|
|
250
|
-
|
|
251
|
-
}, l.onerror = (
|
|
250
|
+
h(p);
|
|
251
|
+
}, l.onerror = (m) => {
|
|
252
252
|
if (d)
|
|
253
|
-
return i(
|
|
254
|
-
|
|
253
|
+
return i(m);
|
|
254
|
+
m.preventDefault(), h(void 0);
|
|
255
255
|
};
|
|
256
256
|
} catch {
|
|
257
257
|
if (d)
|
|
258
|
-
return n.abort(), i(
|
|
259
|
-
|
|
258
|
+
return n.abort(), i(u);
|
|
259
|
+
h(void 0);
|
|
260
260
|
}
|
|
261
|
-
}, a.onerror = (
|
|
261
|
+
}, a.onerror = (u) => {
|
|
262
262
|
if (d)
|
|
263
|
-
return i(
|
|
264
|
-
|
|
263
|
+
return i(u);
|
|
264
|
+
u.preventDefault(), h(void 0);
|
|
265
265
|
};
|
|
266
266
|
});
|
|
267
267
|
}
|
|
@@ -271,34 +271,34 @@ class M {
|
|
|
271
271
|
transaction: o,
|
|
272
272
|
Constructor: d,
|
|
273
273
|
throwOnError: c = !0,
|
|
274
|
-
new:
|
|
274
|
+
new: h = !0
|
|
275
275
|
} = r, i = o.objectStore(n);
|
|
276
|
-
return new Promise((a,
|
|
276
|
+
return new Promise((a, u) => {
|
|
277
277
|
const p = i.get(t);
|
|
278
278
|
p.onsuccess = (l) => {
|
|
279
|
-
let
|
|
280
|
-
if (l.target && "result" in l.target && (
|
|
281
|
-
a(
|
|
279
|
+
let m;
|
|
280
|
+
if (l.target && "result" in l.target && (m = l.target.result), !m) {
|
|
281
|
+
a(m);
|
|
282
282
|
return;
|
|
283
283
|
}
|
|
284
284
|
try {
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
let
|
|
288
|
-
|
|
289
|
-
},
|
|
285
|
+
const O = E(e) ? e(m) : B(m, e), N = i.put(O);
|
|
286
|
+
N.onsuccess = async () => {
|
|
287
|
+
let y = m;
|
|
288
|
+
h && (y = O), y = d ? await d.preProcess(y, r) : y, a(d ? new d(y) : y);
|
|
289
|
+
}, N.onerror = (y) => {
|
|
290
290
|
if (c)
|
|
291
|
-
return
|
|
292
|
-
|
|
291
|
+
return u(y);
|
|
292
|
+
y.preventDefault(), a(void 0);
|
|
293
293
|
};
|
|
294
294
|
} catch {
|
|
295
295
|
if (c)
|
|
296
|
-
return o.abort(),
|
|
296
|
+
return o.abort(), u(l);
|
|
297
297
|
a(void 0);
|
|
298
298
|
}
|
|
299
299
|
}, p.onerror = (l) => {
|
|
300
300
|
if (c)
|
|
301
|
-
return
|
|
301
|
+
return u(l);
|
|
302
302
|
l.preventDefault(), a(void 0);
|
|
303
303
|
};
|
|
304
304
|
});
|
|
@@ -306,25 +306,25 @@ class M {
|
|
|
306
306
|
async countDocuments(t, e) {
|
|
307
307
|
return new Promise((r, n) => {
|
|
308
308
|
const { storeName: o, transaction: d, throwOnError: c } = e;
|
|
309
|
-
let
|
|
309
|
+
let h = 0;
|
|
310
310
|
const i = d.objectStore(o).openCursor(t.$key);
|
|
311
311
|
i.onsuccess = function() {
|
|
312
312
|
const a = this.result;
|
|
313
313
|
if (!a || !a.value) {
|
|
314
|
-
r(
|
|
314
|
+
r(h);
|
|
315
315
|
return;
|
|
316
316
|
}
|
|
317
|
-
|
|
317
|
+
g(t, a.value) && ++h, a.continue();
|
|
318
318
|
}, i.onerror = (a) => {
|
|
319
319
|
c ? n(a) : (a.preventDefault(), r(void 0));
|
|
320
320
|
};
|
|
321
321
|
});
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
|
-
class
|
|
324
|
+
class f {
|
|
325
325
|
static executor;
|
|
326
326
|
static getInstance() {
|
|
327
|
-
return this.executor || (this.executor = new
|
|
327
|
+
return this.executor || (this.executor = new k()), this.executor;
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
330
|
class w {
|
|
@@ -364,7 +364,7 @@ class w {
|
|
|
364
364
|
throw new Error("Invalid openCursor method options");
|
|
365
365
|
const { query: t, execOptions: e } = this.options;
|
|
366
366
|
let r = e?.transaction;
|
|
367
|
-
return r || (r = this.idb.transaction(this.storeName, "readonly")),
|
|
367
|
+
return r || (r = this.idb.transaction(this.storeName, "readonly")), f.getInstance().openCursor(t, {
|
|
368
368
|
...e,
|
|
369
369
|
idb: this.idb,
|
|
370
370
|
transaction: r,
|
|
@@ -393,7 +393,7 @@ class w {
|
|
|
393
393
|
throw new Error("Invalid find method options");
|
|
394
394
|
const { query: t, execOptions: e } = this.options;
|
|
395
395
|
let r = e?.transaction;
|
|
396
|
-
return r || (r = this.idb.transaction(this.storeName, "readonly")),
|
|
396
|
+
return r || (r = this.idb.transaction(this.storeName, "readonly")), f.getInstance().find(t, {
|
|
397
397
|
...e,
|
|
398
398
|
idb: this.idb,
|
|
399
399
|
transaction: r,
|
|
@@ -427,7 +427,7 @@ class w {
|
|
|
427
427
|
throw new Error("search key is required");
|
|
428
428
|
const { query: t, execOptions: e } = this.options;
|
|
429
429
|
let r = e.transaction;
|
|
430
|
-
return r || (r = this.idb.transaction(this.storeName, "readonly")),
|
|
430
|
+
return r || (r = this.idb.transaction(this.storeName, "readonly")), f.getInstance().findById(t.$key, {
|
|
431
431
|
...e,
|
|
432
432
|
idb: this.idb,
|
|
433
433
|
transaction: r,
|
|
@@ -464,7 +464,7 @@ class w {
|
|
|
464
464
|
);
|
|
465
465
|
this.options.insertList = [];
|
|
466
466
|
let e = this.options.execOptions.transaction;
|
|
467
|
-
return e || (e = this.idb.transaction(this.storeName, "readwrite")),
|
|
467
|
+
return e || (e = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().insertOne(t, {
|
|
468
468
|
idb: this.idb,
|
|
469
469
|
transaction: e,
|
|
470
470
|
storeName: this.storeName
|
|
@@ -501,7 +501,7 @@ class w {
|
|
|
501
501
|
const t = this.options.insertList.slice();
|
|
502
502
|
this.options.insertList = [];
|
|
503
503
|
let e = this.options.execOptions.transaction;
|
|
504
|
-
return e || (e = this.idb.transaction(this.storeName, "readwrite")),
|
|
504
|
+
return e || (e = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().insertMany(t, {
|
|
505
505
|
idb: this.idb,
|
|
506
506
|
transaction: e,
|
|
507
507
|
storeName: this.storeName,
|
|
@@ -535,7 +535,7 @@ class w {
|
|
|
535
535
|
throw new Error("Invalid replaceOne method options");
|
|
536
536
|
const { payload: t, execOptions: e } = this.options;
|
|
537
537
|
let r = e.transaction;
|
|
538
|
-
return r || (r = this.idb.transaction(this.storeName, "readwrite")),
|
|
538
|
+
return r || (r = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().replaceOne(t, {
|
|
539
539
|
...e,
|
|
540
540
|
idb: this.idb,
|
|
541
541
|
storeName: this.storeName,
|
|
@@ -569,7 +569,7 @@ class w {
|
|
|
569
569
|
throw new Error("Invalid updateMany method options");
|
|
570
570
|
const { query: t, payload: e, execOptions: r } = this.options;
|
|
571
571
|
let n = r.transaction;
|
|
572
|
-
return n || (n = this.idb.transaction(this.storeName, "readwrite")),
|
|
572
|
+
return n || (n = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().updateMany(t, e, {
|
|
573
573
|
...r,
|
|
574
574
|
idb: this.idb,
|
|
575
575
|
storeName: this.storeName,
|
|
@@ -603,7 +603,7 @@ class w {
|
|
|
603
603
|
throw new Error("Invalid updateOne method options");
|
|
604
604
|
const { query: t, payload: e, execOptions: r } = this.options;
|
|
605
605
|
let n = r.transaction;
|
|
606
|
-
return n || (n = this.idb.transaction(this.storeName, "readwrite")),
|
|
606
|
+
return n || (n = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().updateOne(t, e, {
|
|
607
607
|
...r,
|
|
608
608
|
idb: this.idb,
|
|
609
609
|
storeName: this.storeName,
|
|
@@ -635,7 +635,7 @@ class w {
|
|
|
635
635
|
throw new Error("Invalid deleteMany method options");
|
|
636
636
|
const { query: t, execOptions: e } = this.options;
|
|
637
637
|
let r = e.transaction;
|
|
638
|
-
return r || (r = this.idb.transaction(this.storeName, "readwrite")),
|
|
638
|
+
return r || (r = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().deleteMany(t, {
|
|
639
639
|
...e,
|
|
640
640
|
idb: this.idb,
|
|
641
641
|
storeName: this.storeName,
|
|
@@ -670,7 +670,7 @@ class w {
|
|
|
670
670
|
throw new Error("Invalid deleteOne method options");
|
|
671
671
|
const { query: t, execOptions: e } = this.options;
|
|
672
672
|
let r = e.transaction;
|
|
673
|
-
return r || (r = this.idb.transaction(this.storeName, "readwrite")),
|
|
673
|
+
return r || (r = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().deleteOne(t, {
|
|
674
674
|
...e,
|
|
675
675
|
idb: this.idb,
|
|
676
676
|
storeName: this.storeName,
|
|
@@ -703,7 +703,7 @@ class w {
|
|
|
703
703
|
throw new Error("Invalid findByIdAndDelete method options");
|
|
704
704
|
const { id: t, execOptions: e } = this.options;
|
|
705
705
|
let r = e.transaction;
|
|
706
|
-
return r || (r = this.idb.transaction(this.storeName, "readwrite")),
|
|
706
|
+
return r || (r = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().findByIdAndDelete(
|
|
707
707
|
t,
|
|
708
708
|
{
|
|
709
709
|
...e,
|
|
@@ -745,7 +745,7 @@ class w {
|
|
|
745
745
|
throw new Error("Invalid findByIdAndUpdate method options");
|
|
746
746
|
const { id: t, payload: e, execOptions: r } = this.options;
|
|
747
747
|
let n = r.transaction;
|
|
748
|
-
return n || (n = this.idb.transaction(this.storeName, "readwrite")),
|
|
748
|
+
return n || (n = this.idb.transaction(this.storeName, "readwrite")), f.getInstance().findByIdAndUpdate(t, e, {
|
|
749
749
|
...r,
|
|
750
750
|
idb: this.idb,
|
|
751
751
|
storeName: this.storeName,
|
|
@@ -780,7 +780,7 @@ class w {
|
|
|
780
780
|
throw new Error("Invalid countDocuments method options");
|
|
781
781
|
const { query: t, execOptions: e } = this.options;
|
|
782
782
|
let r = e.transaction;
|
|
783
|
-
return r || (r = this.idb.transaction(this.storeName, "readonly")),
|
|
783
|
+
return r || (r = this.idb.transaction(this.storeName, "readonly")), f.getInstance().countDocuments(
|
|
784
784
|
t,
|
|
785
785
|
{
|
|
786
786
|
...e,
|
|
@@ -815,7 +815,7 @@ class w {
|
|
|
815
815
|
return this.exec().then(t, e);
|
|
816
816
|
}
|
|
817
817
|
}
|
|
818
|
-
const
|
|
818
|
+
const v = {}, R = class I {
|
|
819
819
|
// instance properties and methods
|
|
820
820
|
constructor(t) {
|
|
821
821
|
if (t && typeof t == "object")
|
|
@@ -823,29 +823,36 @@ const g = {}, F = class S {
|
|
|
823
823
|
this[e] = t[e];
|
|
824
824
|
}
|
|
825
825
|
async save() {
|
|
826
|
-
return this.validate(), await this.getInstanceSchema().save(this,
|
|
827
|
-
modelInstance: this
|
|
828
|
-
}), new w(
|
|
826
|
+
return this.validate(), await this.getInstanceSchema().save(this, this.getSchemaMethodOptions()), new w(
|
|
829
827
|
this.getInstanceDB(),
|
|
830
828
|
this.getInstanceStoreName()
|
|
831
829
|
).replaceOne(this.toJSON());
|
|
832
830
|
}
|
|
833
831
|
validate() {
|
|
834
|
-
return this.getInstanceSchema().validate(
|
|
835
|
-
|
|
836
|
-
|
|
832
|
+
return this.getInstanceSchema().validate(
|
|
833
|
+
this,
|
|
834
|
+
this.getSchemaMethodOptions()
|
|
835
|
+
);
|
|
837
836
|
}
|
|
838
837
|
toJSON() {
|
|
839
|
-
return this.getInstanceSchema().castFrom(
|
|
838
|
+
return this.getInstanceSchema().castFrom(
|
|
839
|
+
this,
|
|
840
|
+
this.getSchemaMethodOptions()
|
|
841
|
+
);
|
|
840
842
|
}
|
|
841
843
|
getInstanceSchema() {
|
|
842
|
-
return
|
|
844
|
+
return I.getSchema(this);
|
|
843
845
|
}
|
|
844
846
|
getInstanceDB() {
|
|
845
|
-
return
|
|
847
|
+
return I.getDB(this);
|
|
846
848
|
}
|
|
847
849
|
getInstanceStoreName() {
|
|
848
|
-
return
|
|
850
|
+
return I.getStoreName(this);
|
|
851
|
+
}
|
|
852
|
+
getSchemaMethodOptions() {
|
|
853
|
+
return {
|
|
854
|
+
modelInstance: this
|
|
855
|
+
};
|
|
849
856
|
}
|
|
850
857
|
// static properties and methods
|
|
851
858
|
static _schema;
|
|
@@ -877,7 +884,7 @@ const g = {}, F = class S {
|
|
|
877
884
|
}
|
|
878
885
|
static onUpgradeNeeded(t) {
|
|
879
886
|
this._storeName && !t.objectStoreNames.contains(this._storeName) && t.createObjectStore(this._storeName, {
|
|
880
|
-
keyPath:
|
|
887
|
+
keyPath: this.getSchema().getSchemaOptions().keyPath
|
|
881
888
|
});
|
|
882
889
|
}
|
|
883
890
|
static async preProcess(t, e) {
|
|
@@ -936,10 +943,10 @@ const g = {}, F = class S {
|
|
|
936
943
|
);
|
|
937
944
|
}
|
|
938
945
|
};
|
|
939
|
-
function
|
|
940
|
-
class e extends
|
|
946
|
+
function J(s, t) {
|
|
947
|
+
class e extends R {
|
|
941
948
|
}
|
|
942
|
-
return e._schema = t.clone(), e._storeName = s,
|
|
949
|
+
return e._schema = t.clone(), e._storeName = s, v[s] = e;
|
|
943
950
|
}
|
|
944
951
|
class A {
|
|
945
952
|
message;
|
|
@@ -947,25 +954,34 @@ class A {
|
|
|
947
954
|
this.message = t.message;
|
|
948
955
|
}
|
|
949
956
|
}
|
|
950
|
-
class
|
|
957
|
+
class F extends A {
|
|
951
958
|
validate(t) {
|
|
952
959
|
if (t == null || t === "")
|
|
953
960
|
throw new Error(this.message);
|
|
954
961
|
return !0;
|
|
955
962
|
}
|
|
956
963
|
}
|
|
957
|
-
|
|
964
|
+
const $ = {
|
|
965
|
+
keyPath: "_id"
|
|
966
|
+
}, U = (s = $) => {
|
|
967
|
+
const t = { ...$ };
|
|
968
|
+
return Object.keys(t).forEach((e) => {
|
|
969
|
+
t[e] = s[e] ?? $[e];
|
|
970
|
+
}), t;
|
|
971
|
+
};
|
|
972
|
+
class S {
|
|
958
973
|
name;
|
|
959
974
|
isVirtual;
|
|
960
975
|
validationRules;
|
|
976
|
+
schemaOptions;
|
|
961
977
|
constructor({
|
|
962
978
|
name: t,
|
|
963
979
|
isVirtual: e = !1,
|
|
964
980
|
validationRules: r = [],
|
|
965
981
|
required: n
|
|
966
|
-
} = {}) {
|
|
967
|
-
this.name = t, this.isVirtual = e, this.validationRules = r, n && this.validationRules.push(
|
|
968
|
-
new
|
|
982
|
+
} = {}, o) {
|
|
983
|
+
this.name = t, this.isVirtual = e, this.validationRules = r, this.schemaOptions = U(o), n && this.validationRules.push(
|
|
984
|
+
new F({ message: `${t} is required!` })
|
|
969
985
|
);
|
|
970
986
|
}
|
|
971
987
|
clone() {
|
|
@@ -974,58 +990,68 @@ class I {
|
|
|
974
990
|
getIsVirtual() {
|
|
975
991
|
return this.isVirtual;
|
|
976
992
|
}
|
|
993
|
+
getSchemaOptions() {
|
|
994
|
+
return this.schemaOptions;
|
|
995
|
+
}
|
|
977
996
|
async preProcess(t, e) {
|
|
978
997
|
return this.name ? t[this.name] : t;
|
|
979
998
|
}
|
|
980
999
|
async save(t, e) {
|
|
981
1000
|
}
|
|
982
1001
|
validate(t, e) {
|
|
983
|
-
const r = this.castFrom(t);
|
|
1002
|
+
const r = this.castFrom(t, e);
|
|
984
1003
|
return this.validationRules.forEach((n) => n.validate(r, e)), !0;
|
|
985
1004
|
}
|
|
986
1005
|
}
|
|
987
|
-
class
|
|
1006
|
+
class L extends S {
|
|
988
1007
|
valueSchema;
|
|
989
1008
|
constructor(t) {
|
|
990
1009
|
super(t), this.valueSchema = t.valueSchema;
|
|
991
1010
|
}
|
|
992
1011
|
validate(t, e) {
|
|
993
|
-
const r = this.castFrom(t);
|
|
1012
|
+
const r = this.castFrom(t, e);
|
|
994
1013
|
return this.validationRules.forEach((n) => n.validate(r, e)), r && r.forEach((n) => {
|
|
995
1014
|
this.valueSchema.validate(n, e);
|
|
996
1015
|
}), !0;
|
|
997
1016
|
}
|
|
998
|
-
castFrom(t) {
|
|
1017
|
+
castFrom(t, e) {
|
|
999
1018
|
if (t == null) return t;
|
|
1000
1019
|
if (!Array.isArray(t))
|
|
1001
1020
|
throw new Error("cant cast to a array");
|
|
1002
|
-
return t.map((
|
|
1021
|
+
return t.map((r) => this.valueSchema.castFrom(r, e));
|
|
1003
1022
|
}
|
|
1004
1023
|
}
|
|
1005
|
-
class
|
|
1024
|
+
class D extends S {
|
|
1006
1025
|
ref;
|
|
1007
1026
|
valueSchema;
|
|
1027
|
+
subDocId;
|
|
1008
1028
|
constructor(t) {
|
|
1009
1029
|
super(t), this.ref = t.ref, this.valueSchema = t.valueSchema;
|
|
1010
1030
|
}
|
|
1031
|
+
getRefModel() {
|
|
1032
|
+
if (!v[this.ref])
|
|
1033
|
+
throw new Error(`Ref ${this.ref} model is not created`);
|
|
1034
|
+
return v[this.ref];
|
|
1035
|
+
}
|
|
1011
1036
|
validate(t, e) {
|
|
1012
|
-
|
|
1037
|
+
const r = this.getRefModel().getSchema().getSchemaOptions().keyPath;
|
|
1038
|
+
return t && typeof t == "object" ? this.valueSchema.validate(
|
|
1039
|
+
t[r],
|
|
1040
|
+
e
|
|
1041
|
+
) : this.valueSchema.validate(t, e);
|
|
1013
1042
|
}
|
|
1014
1043
|
async save(t, e) {
|
|
1015
1044
|
if (!t || typeof t != "object") return;
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
const r = t instanceof g[this.ref] ? t : new g[this.ref](t);
|
|
1019
|
-
return r.validate(), r.save();
|
|
1045
|
+
const r = this.getRefModel(), n = t instanceof r ? t : new r(t);
|
|
1046
|
+
return n.validate(), n.save();
|
|
1020
1047
|
}
|
|
1021
1048
|
async preProcess(t, e) {
|
|
1022
1049
|
if (this.name && e.populateFields && e.populateFields[this.name]) {
|
|
1023
1050
|
let r = t[this.name];
|
|
1024
1051
|
if (typeof r == "string" || typeof r == "number") {
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
Constructor: g[this.ref],
|
|
1052
|
+
const n = this.getRefModel();
|
|
1053
|
+
return this.subDocId = r, await new w(e.idb, this.ref).findById(r, {
|
|
1054
|
+
Constructor: n,
|
|
1029
1055
|
// need to remove the prefix for nested objects
|
|
1030
1056
|
// populateFields: options.populateFields,
|
|
1031
1057
|
transaction: e.transaction
|
|
@@ -1034,11 +1060,15 @@ class $ extends I {
|
|
|
1034
1060
|
}
|
|
1035
1061
|
return this.name ? t[this.name] : t;
|
|
1036
1062
|
}
|
|
1037
|
-
castFrom(t) {
|
|
1038
|
-
|
|
1063
|
+
castFrom(t, e) {
|
|
1064
|
+
const r = this.getRefModel().getSchema().getSchemaOptions().keyPath;
|
|
1065
|
+
return t && typeof t == "object" ? this.valueSchema.castFrom(
|
|
1066
|
+
t[r],
|
|
1067
|
+
e
|
|
1068
|
+
) : this.valueSchema.castFrom(t ?? this.subDocId, e);
|
|
1039
1069
|
}
|
|
1040
1070
|
}
|
|
1041
|
-
class
|
|
1071
|
+
class T extends A {
|
|
1042
1072
|
min;
|
|
1043
1073
|
constructor(t) {
|
|
1044
1074
|
super(t), this.min = t.min;
|
|
@@ -1049,10 +1079,10 @@ class U extends A {
|
|
|
1049
1079
|
return !0;
|
|
1050
1080
|
}
|
|
1051
1081
|
}
|
|
1052
|
-
class
|
|
1082
|
+
class q extends S {
|
|
1053
1083
|
constructor(t) {
|
|
1054
1084
|
super(t), typeof t.min == "number" && this.validationRules.push(
|
|
1055
|
-
new
|
|
1085
|
+
new T({
|
|
1056
1086
|
message: `${t.name} must be greater then or equal to ${t.min}`,
|
|
1057
1087
|
min: t.min
|
|
1058
1088
|
})
|
|
@@ -1065,12 +1095,12 @@ class B extends I {
|
|
|
1065
1095
|
return Number(t);
|
|
1066
1096
|
}
|
|
1067
1097
|
}
|
|
1068
|
-
class _ extends
|
|
1098
|
+
class _ extends S {
|
|
1069
1099
|
castFrom(t) {
|
|
1070
1100
|
return String(t);
|
|
1071
1101
|
}
|
|
1072
1102
|
}
|
|
1073
|
-
class
|
|
1103
|
+
class V extends D {
|
|
1074
1104
|
validate(t, e) {
|
|
1075
1105
|
return this.validationRules.forEach((r) => r.validate(t, e)), Array.isArray(t) ? t.every((r) => super.validate(r, e)) : !0;
|
|
1076
1106
|
}
|
|
@@ -1088,10 +1118,10 @@ class L extends $ {
|
|
|
1088
1118
|
n.map((o, d) => {
|
|
1089
1119
|
if (typeof o != "string" && typeof o != "number")
|
|
1090
1120
|
return o;
|
|
1091
|
-
if (!
|
|
1121
|
+
if (!v[this.ref])
|
|
1092
1122
|
throw new Error(`Ref ${this.ref} model is not created`);
|
|
1093
1123
|
return !r.has(this.name) && !r.has(`${this.name}.${d}`) ? o : new w(e.idb, this.ref).findById(o, {
|
|
1094
|
-
Constructor:
|
|
1124
|
+
Constructor: v[this.ref],
|
|
1095
1125
|
// need to remove the prefix for nested objects
|
|
1096
1126
|
// populateFields: options.populateFields,
|
|
1097
1127
|
transaction: e.transaction
|
|
@@ -1099,22 +1129,22 @@ class L extends $ {
|
|
|
1099
1129
|
})
|
|
1100
1130
|
) : n;
|
|
1101
1131
|
}
|
|
1102
|
-
castFrom(t) {
|
|
1132
|
+
castFrom(t, e) {
|
|
1103
1133
|
if (Array.isArray(t))
|
|
1104
|
-
return t.map((
|
|
1134
|
+
return t.map((r) => super.castFrom(r, e));
|
|
1105
1135
|
}
|
|
1106
1136
|
}
|
|
1107
|
-
class x extends
|
|
1137
|
+
class x extends S {
|
|
1108
1138
|
refNames;
|
|
1109
1139
|
tree;
|
|
1110
1140
|
rawDefinition;
|
|
1111
|
-
constructor(t) {
|
|
1112
|
-
super(), this.rawDefinition = t, this.tree = {}, this.refNames = [];
|
|
1113
|
-
for (let
|
|
1114
|
-
"type" in this.rawDefinition[
|
|
1115
|
-
...this.rawDefinition[
|
|
1116
|
-
}), this.tree[
|
|
1117
|
-
this.tree.
|
|
1141
|
+
constructor(t, e) {
|
|
1142
|
+
super({}, e), this.rawDefinition = t, this.tree = {}, this.refNames = [];
|
|
1143
|
+
for (let r in t)
|
|
1144
|
+
"type" in this.rawDefinition[r] && (this.rawDefinition[r] = {
|
|
1145
|
+
...this.rawDefinition[r]
|
|
1146
|
+
}), this.tree[r] = this.parseSchemaDefinition(r, t[r]);
|
|
1147
|
+
this.tree[this.schemaOptions.keyPath] || (this.tree._id = new _({ name: "_id", required: !0 }));
|
|
1118
1148
|
}
|
|
1119
1149
|
parseSchemaDefinition(t, e) {
|
|
1120
1150
|
const r = "type" in e ? e.type : e, n = {
|
|
@@ -1122,7 +1152,7 @@ class x extends I {
|
|
|
1122
1152
|
required: void 0
|
|
1123
1153
|
};
|
|
1124
1154
|
if ("type" in e && (n.required = e.required), r === String)
|
|
1125
|
-
return "ref" in e && e.ref ? (this.refNames.push(e.ref), new
|
|
1155
|
+
return "ref" in e && e.ref ? (this.refNames.push(e.ref), new D({
|
|
1126
1156
|
name: t,
|
|
1127
1157
|
ref: e.ref,
|
|
1128
1158
|
valueSchema: new _(n),
|
|
@@ -1130,21 +1160,21 @@ class x extends I {
|
|
|
1130
1160
|
})) : new _(n);
|
|
1131
1161
|
if (r === Number) {
|
|
1132
1162
|
const o = n;
|
|
1133
|
-
return "min" in e && (o.min = e.min), "ref" in e && e.ref ? (this.refNames.push(e.ref), new
|
|
1163
|
+
return "min" in e && (o.min = e.min), "ref" in e && e.ref ? (this.refNames.push(e.ref), new D({
|
|
1134
1164
|
name: t,
|
|
1135
1165
|
ref: e.ref,
|
|
1136
|
-
valueSchema: new
|
|
1166
|
+
valueSchema: new q(o),
|
|
1137
1167
|
required: e.required
|
|
1138
|
-
})) : new
|
|
1168
|
+
})) : new q(o);
|
|
1139
1169
|
} else if (Array.isArray(r)) {
|
|
1140
1170
|
if (r.length === 0)
|
|
1141
1171
|
throw new Error("Array type must have a value type");
|
|
1142
|
-
return "ref" in r[0] && r[0].ref ? (this.refNames.push(r[0].ref), new
|
|
1172
|
+
return "ref" in r[0] && r[0].ref ? (this.refNames.push(r[0].ref), new V({
|
|
1143
1173
|
name: t,
|
|
1144
1174
|
ref: r[0].ref,
|
|
1145
1175
|
valueSchema: this.parseSchemaDefinition(t, r[0].type),
|
|
1146
1176
|
required: r[0].required
|
|
1147
|
-
})) : new
|
|
1177
|
+
})) : new L({
|
|
1148
1178
|
valueSchema: this.parseSchemaDefinition(t, r[0]),
|
|
1149
1179
|
...n
|
|
1150
1180
|
});
|
|
@@ -1157,7 +1187,8 @@ class x extends I {
|
|
|
1157
1187
|
}
|
|
1158
1188
|
clone() {
|
|
1159
1189
|
return new x(
|
|
1160
|
-
this.rawDefinition
|
|
1190
|
+
this.rawDefinition,
|
|
1191
|
+
this.schemaOptions
|
|
1161
1192
|
);
|
|
1162
1193
|
}
|
|
1163
1194
|
async save(t, e) {
|
|
@@ -1179,33 +1210,36 @@ class x extends I {
|
|
|
1179
1210
|
this.tree[n] && (r[n] = await this.tree[n].preProcess(t, e));
|
|
1180
1211
|
return r;
|
|
1181
1212
|
}
|
|
1182
|
-
castFrom(t) {
|
|
1213
|
+
castFrom(t, e) {
|
|
1183
1214
|
if (!t || typeof t != "object")
|
|
1184
1215
|
throw new Error("Cant cast value to object schema");
|
|
1185
|
-
const
|
|
1186
|
-
for (const
|
|
1187
|
-
|
|
1188
|
-
|
|
1216
|
+
const r = {};
|
|
1217
|
+
for (const n in this.tree)
|
|
1218
|
+
r[n] = this.tree[n].castFrom(
|
|
1219
|
+
t[n],
|
|
1220
|
+
e
|
|
1221
|
+
);
|
|
1222
|
+
return r;
|
|
1189
1223
|
}
|
|
1190
1224
|
}
|
|
1191
|
-
const
|
|
1192
|
-
const { models: t, db: e, version: r,
|
|
1193
|
-
return new Promise((
|
|
1194
|
-
const
|
|
1195
|
-
|
|
1196
|
-
t.forEach((
|
|
1197
|
-
|
|
1198
|
-
}),
|
|
1199
|
-
},
|
|
1200
|
-
t.forEach((
|
|
1201
|
-
|
|
1225
|
+
const z = async (s) => {
|
|
1226
|
+
const { models: t, db: e, version: r, onUpgradeNeededPost: n, onUpgradeNeededPre: o } = s;
|
|
1227
|
+
return new Promise((d, c) => {
|
|
1228
|
+
const h = indexedDB.open(e, r);
|
|
1229
|
+
h.onerror = c, h.onsuccess = function() {
|
|
1230
|
+
t.forEach((i) => {
|
|
1231
|
+
i.init(this.result);
|
|
1232
|
+
}), d(this.result);
|
|
1233
|
+
}, h.onupgradeneeded = function() {
|
|
1234
|
+
o && o(this), t.forEach((i) => {
|
|
1235
|
+
i.onUpgradeNeeded(this.result);
|
|
1202
1236
|
}), n && n(this);
|
|
1203
1237
|
};
|
|
1204
1238
|
});
|
|
1205
1239
|
};
|
|
1206
1240
|
export {
|
|
1207
|
-
|
|
1241
|
+
R as AbstractModel,
|
|
1208
1242
|
x as Schema,
|
|
1209
|
-
|
|
1210
|
-
|
|
1243
|
+
z as configureIDB,
|
|
1244
|
+
J as model
|
|
1211
1245
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAC;AAKrD,QAAA,MAAM,aAAa,EAAE,MA6KpB,CAAC;AAEF,iBAAS,KAAK,CAAC,OAAO,SAAS,MAAM,GAAG,GAAG,EACzC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,GACd,MAAM,CACP,eAAe,CAAC,OAAO,CAAC,EACxB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CACjD,GACC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAO/C;AAED,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { QueryExecutorGetCommonOptions } from 'iodm-query';
|
|
2
|
-
import {
|
|
2
|
+
import { ValidationRule } from './validation-rule/type';
|
|
3
|
+
import { SchemaMethodOptions, SchemaOptions } from './types';
|
|
3
4
|
export interface BaseSchemaConstructorOptions {
|
|
4
5
|
name?: string;
|
|
5
6
|
isVirtual?: boolean;
|
|
@@ -10,12 +11,14 @@ export declare abstract class BaseSchema {
|
|
|
10
11
|
name?: string;
|
|
11
12
|
isVirtual: boolean;
|
|
12
13
|
validationRules: Array<ValidationRule>;
|
|
13
|
-
|
|
14
|
+
protected schemaOptions: SchemaOptions;
|
|
15
|
+
constructor({ name, isVirtual, validationRules, required, }?: BaseSchemaConstructorOptions, options?: Partial<SchemaOptions>);
|
|
14
16
|
clone(): unknown;
|
|
15
17
|
getIsVirtual(): boolean;
|
|
18
|
+
getSchemaOptions(): SchemaOptions;
|
|
16
19
|
preProcess(_doc: Record<string, unknown>, _options: QueryExecutorGetCommonOptions): Promise<unknown>;
|
|
17
|
-
save(_value: unknown, _options:
|
|
18
|
-
validate(value: unknown, options:
|
|
19
|
-
abstract castFrom(value: unknown): unknown;
|
|
20
|
+
save(_value: unknown, _options: SchemaMethodOptions): Promise<any>;
|
|
21
|
+
validate(value: unknown, options: SchemaMethodOptions): boolean;
|
|
22
|
+
abstract castFrom(value: unknown, options: SchemaMethodOptions): unknown;
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=base-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-schema.d.ts","sourceRoot":"","sources":["../../src/schema/base-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"base-schema.d.ts","sourceRoot":"","sources":["../../src/schema/base-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKlE,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,8BAAsB,UAAU;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACvC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;gBAGrC,EACE,IAAI,EACJ,SAAiB,EACjB,eAAoB,EACpB,QAAQ,GACT,GAAE,4BAAiC,EACpC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAclC,KAAK,IAAI,OAAO;IAIhB,YAAY;IAIZ,gBAAgB;IAIV,UAAU,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,6BAA6B;IAKnC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IAExE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAM/D,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;CACzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/schema/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAM7C,eAAO,MAAM,0BAA0B,GACrC,UAAS,OAAO,CAAC,aAAa,CAAyB,KACtD,aAQF,CAAC"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { QueryExecutorGetCommonOptions } from 'iodm-query';
|
|
2
|
+
import { SchemaMethodOptions, SchemaOptions } from './types.ts';
|
|
2
3
|
import { BaseSchema } from './base-schema';
|
|
3
|
-
import { ValidateOptions } from './validation-rule/type.ts';
|
|
4
4
|
type SchemaDefinitionValue = Schema | typeof String | typeof Number | SchemaDefinitionValue[] | {
|
|
5
5
|
type: typeof String;
|
|
6
6
|
required?: boolean;
|
|
@@ -19,14 +19,14 @@ export declare class Schema<RawDocType = any, TInstanceMethods = {}, TStaticMeth
|
|
|
19
19
|
private refNames;
|
|
20
20
|
private tree;
|
|
21
21
|
private rawDefinition;
|
|
22
|
-
constructor(definition: SchemaDefinition<RawDocType>);
|
|
22
|
+
constructor(definition: SchemaDefinition<RawDocType>, options?: Partial<SchemaOptions>);
|
|
23
23
|
private parseSchemaDefinition;
|
|
24
24
|
getRefNames(): string[];
|
|
25
25
|
clone(): Schema<RawDocType, TInstanceMethods, TStaticMethods>;
|
|
26
|
-
save(value: unknown, options:
|
|
27
|
-
validate(value: unknown, options:
|
|
26
|
+
save(value: unknown, options: SchemaMethodOptions): Promise<void>;
|
|
27
|
+
validate(value: unknown, options: SchemaMethodOptions): boolean;
|
|
28
28
|
preProcess(doc: Record<string, unknown>, options: QueryExecutorGetCommonOptions): Promise<Record<string, unknown>>;
|
|
29
|
-
castFrom(value: unknown): Record<string, any>;
|
|
29
|
+
castFrom(value: unknown, options: SchemaMethodOptions): Record<string, any>;
|
|
30
30
|
}
|
|
31
31
|
export {};
|
|
32
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIrE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,KAAK,qBAAqB,GACtB,MAAM,GACN,OAAO,MAAM,GACb,OAAO,MAAM,GACb,qBAAqB,EAAE,GACvB;IAAE,IAAI,EAAE,OAAO,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D,KAAK,gBAAgB,CAAC,UAAU,IAAI,MAAM,CACxC,MAAM,UAAU,EAChB,qBAAqB,CACtB,CAAC;AAEF,qBAAa,MAAM,CACjB,UAAU,GAAG,GAAG,EAChB,gBAAgB,GAAG,EAAE,EACrB,cAAc,GAAG,EAAE,CACnB,SAAQ,UAAU;IAClB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,aAAa,CAA+B;gBAGlD,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACxC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAuBlC,OAAO,CAAC,qBAAqB;IA0E7B,WAAW;IAIX,KAAK;IAOC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB;IAUvD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB;IAY/C,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IAYxC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB;CAgBtD"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { BaseSchemaConstructorOptions, BaseSchema } from '../../base-schema';
|
|
2
|
-
import {
|
|
2
|
+
import { SchemaMethodOptions } from '../../types';
|
|
3
3
|
export interface ArraySchemaConstructorOptions extends BaseSchemaConstructorOptions {
|
|
4
4
|
valueSchema: BaseSchema;
|
|
5
5
|
}
|
|
6
6
|
export declare class ArraySchema extends BaseSchema {
|
|
7
7
|
private valueSchema;
|
|
8
8
|
constructor(options: ArraySchemaConstructorOptions);
|
|
9
|
-
validate(value: unknown, options:
|
|
10
|
-
castFrom(value: unknown): unknown[] | null | undefined;
|
|
9
|
+
validate(value: unknown, options: SchemaMethodOptions): boolean;
|
|
10
|
+
castFrom(value: unknown, options: SchemaMethodOptions): unknown[] | null | undefined;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/array/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/array/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,6BACf,SAAQ,4BAA4B;IACpC,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,WAAY,SAAQ,UAAU;IACzC,OAAO,CAAC,WAAW,CAAa;gBAEpB,OAAO,EAAE,6BAA6B;IAMlD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAc/D,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB;CAQtD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseSchemaConstructorOptions, BaseSchema } from '../../base-schema';
|
|
2
|
-
import {
|
|
2
|
+
import { SchemaMethodOptions } from '../../types';
|
|
3
3
|
import { QueryExecutorGetCommonOptions } from 'iodm-query';
|
|
4
4
|
export interface RefSchemaConstructorOptions extends BaseSchemaConstructorOptions {
|
|
5
5
|
ref: string;
|
|
@@ -8,10 +8,12 @@ export interface RefSchemaConstructorOptions extends BaseSchemaConstructorOption
|
|
|
8
8
|
export declare class RefSchema extends BaseSchema {
|
|
9
9
|
protected ref: string;
|
|
10
10
|
protected valueSchema: BaseSchema;
|
|
11
|
+
protected subDocId: unknown;
|
|
11
12
|
constructor(options: RefSchemaConstructorOptions);
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
getRefModel(): import('../../../model/types').IModel<{}, {}, import('../../../model/types').ModelInstance>;
|
|
14
|
+
validate(value: unknown, options: SchemaMethodOptions): boolean;
|
|
15
|
+
save(value: unknown, _options: SchemaMethodOptions): Promise<any>;
|
|
14
16
|
preProcess(doc: Record<string, unknown>, options: QueryExecutorGetCommonOptions): Promise<unknown>;
|
|
15
|
-
castFrom(value: unknown): unknown;
|
|
17
|
+
castFrom(value: unknown, options: SchemaMethodOptions): unknown;
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/ref/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/ref/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,MAAM,WAAW,2BACf,SAAQ,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,SAAU,SAAQ,UAAU;IACvC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE,2BAA2B;IAOhD,WAAW;IAQX,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAazD,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB;IAWlD,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IA0BxC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;CAYhE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseSchemaConstructorOptions, BaseSchema } from '../../base-schema';
|
|
2
|
-
import {
|
|
2
|
+
import { SchemaMethodOptions } from '../../types';
|
|
3
3
|
import { QueryExecutorGetCommonOptions } from 'iodm-query';
|
|
4
4
|
import { RefSchema } from '../ref';
|
|
5
5
|
export interface RefArraySchemaConstructorOptions extends BaseSchemaConstructorOptions {
|
|
@@ -7,9 +7,9 @@ export interface RefArraySchemaConstructorOptions extends BaseSchemaConstructorO
|
|
|
7
7
|
valueSchema: BaseSchema;
|
|
8
8
|
}
|
|
9
9
|
export declare class RefArraySchema extends RefSchema {
|
|
10
|
-
validate(value: unknown, options:
|
|
11
|
-
save(value: unknown, options:
|
|
10
|
+
validate(value: unknown, options: SchemaMethodOptions): boolean;
|
|
11
|
+
save(value: unknown, options: SchemaMethodOptions): Promise<any[] | undefined>;
|
|
12
12
|
preProcess(doc: Record<string, unknown>, options: QueryExecutorGetCommonOptions): Promise<unknown>;
|
|
13
|
-
castFrom(value: unknown): unknown;
|
|
13
|
+
castFrom(value: unknown, options: SchemaMethodOptions): unknown;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/ref-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/ref-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,gCACf,SAAQ,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,cAAe,SAAQ,SAAS;IAC3C,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAQzD,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB;IAKjD,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IA6CxC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;CAKhE"}
|
package/dist/schema/types.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { Schema } from '.';
|
|
2
2
|
import { IfAny } from '../types';
|
|
3
|
+
import { ModelInstance } from '../model/types';
|
|
3
4
|
export type ObtainSchemaGeneric<TSchema, alias extends 'DocType' | 'TInstanceMethods' | 'TStaticMethods'> = TSchema extends Schema<infer DocType, infer TInstanceMethods, infer TStaticMethods> ? {
|
|
4
5
|
DocType: DocType;
|
|
5
6
|
TInstanceMethods: TInstanceMethods;
|
|
6
7
|
TStaticMethods: TStaticMethods;
|
|
7
8
|
}[alias] : unknown;
|
|
8
9
|
export type InferSchemaType<TSchema> = IfAny<TSchema, any, ObtainSchemaGeneric<TSchema, 'DocType'>>;
|
|
10
|
+
export interface SchemaOptions {
|
|
11
|
+
keyPath: string;
|
|
12
|
+
}
|
|
13
|
+
export interface SchemaMethodOptions {
|
|
14
|
+
modelInstance: ModelInstance;
|
|
15
|
+
}
|
|
9
16
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,mBAAmB,CAC7B,OAAO,EACP,KAAK,SAAS,SAAS,GAAG,kBAAkB,GAAG,gBAAgB,IAC7D,OAAO,SAAS,MAAM,CACxB,MAAM,OAAO,EACb,MAAM,gBAAgB,EACtB,MAAM,cAAc,CACrB,GACG;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC,KAAK,CAAC,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,eAAe,CAAC,OAAO,IAAI,KAAK,CAC1C,OAAO,EACP,GAAG,EACH,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CACxC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,aAAa,CAAC;CAC9B"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface ValidateOptions {
|
|
3
|
-
modelInstance: ModelInstance;
|
|
4
|
-
}
|
|
1
|
+
import { SchemaMethodOptions } from '../types';
|
|
5
2
|
export interface ValidationRuleOptions {
|
|
6
3
|
message: string;
|
|
7
4
|
}
|
|
8
5
|
export declare abstract class ValidationRule {
|
|
9
6
|
message: string;
|
|
10
7
|
constructor(options: ValidationRuleOptions);
|
|
11
|
-
abstract validate(value: any, options:
|
|
8
|
+
abstract validate(value: any, options: SchemaMethodOptions): boolean;
|
|
12
9
|
}
|
|
13
10
|
//# sourceMappingURL=type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/schema/validation-rule/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/schema/validation-rule/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8BAAsB,cAAc;IAClC,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,qBAAqB;IAI1C,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;CACrE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "iodm",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.4",
|
|
5
5
|
"description": "Object Data Modeling library for IndexedDB",
|
|
6
6
|
"main": "dist/index.es.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"test": "vitest"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"iodm-query": "0.0.
|
|
31
|
+
"iodm-query": "0.0.6"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@eslint/js": "^9.30.1",
|