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.
@@ -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
- onupgradeneeded?: (event: IDBOpenDBRequest) => any;
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 {};
@@ -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;IACtB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAC;CACpD;AAED,eAAO,MAAM,YAAY,GACvB,QAAQ,uBAAuB,KAC9B,OAAO,CAAC,WAAW,CAwBrB,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 D = (s) => typeof s == "function", O = (s) => s == null, P = (s) => s?.constructor ? s.constructor.toString().includes("RegExp()") : !1, C = [
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), q = (s, t, e) => !("$eq" in t && t.$eq !== e[s] || "$nq" in t && t.$nq === e[s] || !O(t.$gt) && !(t.$gt < e[s]) || !O(t.$gte) && !(t.$gte <= e[s]) || !O(t.$lt) && !(t.$lt > e[s]) || !O(t.$lte) && !(t.$lte >= e[s]) || !O(t.$not) && q(s, t.$not, e) || !O(t.$regex) && !t.$regex.test(e[s])), b = (s, t) => {
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) => b(o, t)))
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) => b(o, t)))
19
+ if (!s.$or.some((o) => g(o, t)))
20
20
  return !1;
21
21
  } else if (j(n)) {
22
- if (!q(r, n, t)) return !1;
23
- } else if (P(s[r])) {
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
- }, E = (s, t) => {
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 M {
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(h) {
52
+ }, d.onerror = function(u) {
53
53
  if (o)
54
- return a(h);
55
- h.preventDefault(), i(null);
54
+ return a(u);
55
+ u.preventDefault(), i(null);
56
56
  };
57
57
  });
58
- let u = c();
58
+ let h = c();
59
59
  try {
60
60
  for (; ; ) {
61
- const i = await u;
61
+ const i = await h;
62
62
  if (i && i.value)
63
- u = c(), i.continue(), b(t, i.value) && (yield i.value);
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, u = [], i = d.objectStore(o).openCursor(t.$key);
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(u);
81
+ r(h);
82
82
  return;
83
83
  }
84
- if (b(t, a.value)) {
85
- const h = a.value && c ? await c.preProcess(a.value, e) : a.value;
86
- u.push(h && c ? new c(h) : h);
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, u = d.objectStore(o).get(t);
97
- u.onsuccess = async (i) => {
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 h = i.target.result && c ? await c.preProcess(i.target.result, e) : i.target.result;
101
- a = h && c ? new c(h) : h;
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
- }, u.onerror = (i) => {
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 u = 0; u < t.length; ++u) {
113
+ for (let h = 0; h < t.length; ++h) {
114
114
  const i = await new Promise(
115
- (a, h) => {
116
- const p = d.add(t[u]);
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 ? h(l) : (l.preventDefault(), a({ status: "error", event: l }));
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 u = c.put(t);
140
- u.onsuccess = (i) => {
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
- }, u.onerror = (i) => {
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, u = {
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 h = o.objectStore(n).openCursor(t.$key);
155
- h.onsuccess = (p) => {
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(u);
157
+ i(h);
158
158
  return;
159
159
  }
160
160
  const l = p.target.result;
161
- if (!b(t, l.value)) {
161
+ if (!g(t, l.value)) {
162
162
  l.continue();
163
163
  return;
164
164
  }
165
- ++u.matchedCount;
165
+ ++h.matchedCount;
166
166
  try {
167
- const f = D(e) ? e(l.value) : E(l.value, e), N = l.update(f);
168
- N.onsuccess = () => {
169
- ++u.modifiedCount, d !== u.modifiedCount ? l.continue() : i(u);
170
- }, N.onerror = (v) => {
171
- c ? a(v) : (v.preventDefault(), l.continue());
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 (f) {
174
- c ? (o.abort(), a(f)) : l.continue();
173
+ } catch (m) {
174
+ c ? (o.abort(), a(m)) : l.continue();
175
175
  }
176
- }, h.onerror = (p) => {
176
+ }, u.onerror = (p) => {
177
177
  if (c)
178
178
  return a(p);
179
- p.preventDefault(), i(u);
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((u, i) => {
194
+ return new Promise((h, i) => {
195
195
  const a = n.objectStore(r).openCursor(t.$key);
196
- a.onsuccess = (h) => {
197
- if (!h.target || !("result" in h.target) || !h.target.result) {
198
- u(c);
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 = h.target.result;
202
- if (!b(t, p.value)) {
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() : u(c);
211
- }, l.onerror = (f) => {
210
+ ++c.deletedCount, o !== c.deletedCount ? p.continue() : h(c);
211
+ }, l.onerror = (m) => {
212
212
  if (d)
213
- return i(f);
214
- f.preventDefault(), p.continue();
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 = (h) => {
221
+ }, a.onerror = (u) => {
222
222
  if (d)
223
- return i(h);
224
- h.preventDefault(), u(c);
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((u, i) => {
238
+ return new Promise((h, i) => {
239
239
  const a = c.get(t);
240
- a.onsuccess = async (h) => {
240
+ a.onsuccess = async (u) => {
241
241
  let p;
242
- if (h.target && "result" in h.target && (p = h.target.result), !p) {
243
- u(p);
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
- u(p);
251
- }, l.onerror = (f) => {
250
+ h(p);
251
+ }, l.onerror = (m) => {
252
252
  if (d)
253
- return i(f);
254
- f.preventDefault(), u(void 0);
253
+ return i(m);
254
+ m.preventDefault(), h(void 0);
255
255
  };
256
256
  } catch {
257
257
  if (d)
258
- return n.abort(), i(h);
259
- u(void 0);
258
+ return n.abort(), i(u);
259
+ h(void 0);
260
260
  }
261
- }, a.onerror = (h) => {
261
+ }, a.onerror = (u) => {
262
262
  if (d)
263
- return i(h);
264
- h.preventDefault(), u(void 0);
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: u = !0
274
+ new: h = !0
275
275
  } = r, i = o.objectStore(n);
276
- return new Promise((a, h) => {
276
+ return new Promise((a, u) => {
277
277
  const p = i.get(t);
278
278
  p.onsuccess = (l) => {
279
- let f;
280
- if (l.target && "result" in l.target && (f = l.target.result), !f) {
281
- a(f);
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 N = D(e) ? e(f) : E(f, e), v = i.put(N);
286
- v.onsuccess = async () => {
287
- let m = f;
288
- u && (m = N), m = d ? await d.preProcess(m, r) : m, a(d ? new d(m) : m);
289
- }, v.onerror = (m) => {
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 h(m);
292
- m.preventDefault(), a(void 0);
291
+ return u(y);
292
+ y.preventDefault(), a(void 0);
293
293
  };
294
294
  } catch {
295
295
  if (c)
296
- return o.abort(), h(l);
296
+ return o.abort(), u(l);
297
297
  a(void 0);
298
298
  }
299
299
  }, p.onerror = (l) => {
300
300
  if (c)
301
- return h(l);
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 u = 0;
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(u);
314
+ r(h);
315
315
  return;
316
316
  }
317
- b(t, a.value) && ++u, a.continue();
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 y {
324
+ class f {
325
325
  static executor;
326
326
  static getInstance() {
327
- return this.executor || (this.executor = new M()), this.executor;
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")), y.getInstance().openCursor(t, {
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")), y.getInstance().find(t, {
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")), y.getInstance().findById(t.$key, {
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")), y.getInstance().insertOne(t, {
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")), y.getInstance().insertMany(t, {
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")), y.getInstance().replaceOne(t, {
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")), y.getInstance().updateMany(t, e, {
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")), y.getInstance().updateOne(t, e, {
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")), y.getInstance().deleteMany(t, {
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")), y.getInstance().deleteOne(t, {
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")), y.getInstance().findByIdAndDelete(
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")), y.getInstance().findByIdAndUpdate(t, e, {
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")), y.getInstance().countDocuments(
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 g = {}, F = class S {
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(this, {
835
- modelInstance: this
836
- });
832
+ return this.getInstanceSchema().validate(
833
+ this,
834
+ this.getSchemaMethodOptions()
835
+ );
837
836
  }
838
837
  toJSON() {
839
- return this.getInstanceSchema().castFrom(this);
838
+ return this.getInstanceSchema().castFrom(
839
+ this,
840
+ this.getSchemaMethodOptions()
841
+ );
840
842
  }
841
843
  getInstanceSchema() {
842
- return S.getSchema(this);
844
+ return I.getSchema(this);
843
845
  }
844
846
  getInstanceDB() {
845
- return S.getDB(this);
847
+ return I.getDB(this);
846
848
  }
847
849
  getInstanceStoreName() {
848
- return S.getStoreName(this);
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: "_id"
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 T(s, t) {
940
- class e extends F {
946
+ function J(s, t) {
947
+ class e extends R {
941
948
  }
942
- return e._schema = t.clone(), e._storeName = s, g[s] = e;
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 k extends A {
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
- class I {
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 k({ message: `${t} is required!` })
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 R extends I {
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((e) => this.valueSchema.castFrom(e));
1021
+ return t.map((r) => this.valueSchema.castFrom(r, e));
1003
1022
  }
1004
1023
  }
1005
- class $ extends I {
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
- return t && typeof t == "object" && "_id" in t ? this.valueSchema.validate(t._id, e) : this.valueSchema.validate(t, e);
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
- if (!g[this.ref])
1017
- throw new Error(`Ref ${this.ref} model is not created`);
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
- if (!g[this.ref])
1026
- throw new Error(`Ref ${this.ref} model is not created`);
1027
- return await new w(e.idb, this.ref).findById(r, {
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
- return t && typeof t == "object" && "_id" in t ? t._id && this.valueSchema.castFrom(t._id) : t && this.valueSchema.castFrom(t);
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 U extends A {
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 B extends I {
1082
+ class q extends S {
1053
1083
  constructor(t) {
1054
1084
  super(t), typeof t.min == "number" && this.validationRules.push(
1055
- new U({
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 I {
1098
+ class _ extends S {
1069
1099
  castFrom(t) {
1070
1100
  return String(t);
1071
1101
  }
1072
1102
  }
1073
- class L extends $ {
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 (!g[this.ref])
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: g[this.ref],
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((e) => super.castFrom(e));
1134
+ return t.map((r) => super.castFrom(r, e));
1105
1135
  }
1106
1136
  }
1107
- class x extends I {
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 e in t)
1114
- "type" in this.rawDefinition[e] && (this.rawDefinition[e] = {
1115
- ...this.rawDefinition[e]
1116
- }), this.tree[e] = this.parseSchemaDefinition(e, t[e]);
1117
- this.tree._id || (this.tree._id = new _({ name: "_id", required: !0 }));
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 B(o),
1166
+ valueSchema: new q(o),
1137
1167
  required: e.required
1138
- })) : new B(o);
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 L({
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 R({
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 e = {};
1186
- for (const r in this.tree)
1187
- e[r] = this.tree[r].castFrom(t[r]);
1188
- return e;
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 V = async (s) => {
1192
- const { models: t, db: e, version: r, onupgradeneeded: n } = s;
1193
- return new Promise((o, d) => {
1194
- const c = indexedDB.open(e, r);
1195
- c.onerror = d, c.onsuccess = function() {
1196
- t.forEach((u) => {
1197
- u.init(this.result);
1198
- }), o(this.result);
1199
- }, c.onupgradeneeded = function() {
1200
- t.forEach((u) => {
1201
- u.onUpgradeNeeded(this.result);
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
- F as AbstractModel,
1241
+ R as AbstractModel,
1208
1242
  x as Schema,
1209
- V as configureIDB,
1210
- T as model
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":"AASA,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;AAGrD,QAAA,MAAM,aAAa,EAAE,MAqKpB,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
+ {"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 { ValidateOptions, ValidationRule } from './validation-rule/type';
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
- constructor({ name, isVirtual, validationRules, required, }?: BaseSchemaConstructorOptions);
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: ValidateOptions): Promise<any>;
18
- validate(value: unknown, options: ValidateOptions): boolean;
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;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE9E,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;gBAE3B,EACV,IAAI,EACJ,SAAiB,EACjB,eAAoB,EACpB,QAAQ,GACT,GAAE,4BAAiC;IAYpC,KAAK,IAAI,OAAO;IAIhB,YAAY;IAIN,UAAU,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,6BAA6B;IAKnC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAEpE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAM3D,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAC3C"}
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,3 @@
1
+ import { SchemaOptions } from './types';
2
+ export declare const applySchemaOptionsDefaults: (options?: Partial<SchemaOptions>) => SchemaOptions;
3
+ //# sourceMappingURL=helpers.d.ts.map
@@ -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"}
@@ -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: ValidateOptions): Promise<void>;
27
- validate(value: unknown, options: ValidateOptions): boolean;
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,UAAU,EAAqC,MAAM,eAAe,CAAC;AAQ9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGjE,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;gBAExC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAsBpD,OAAO,CAAC,qBAAqB;IA0E7B,WAAW;IAIX,KAAK;IAMC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe;IAUnD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe;IAY3C,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IAYxC,QAAQ,CAAC,KAAK,EAAE,OAAO;CAaxB"}
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 { ValidateOptions } from '../../validation-rule/type';
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: ValidateOptions): boolean;
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,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,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,eAAe,GAAG,OAAO;IAc3D,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
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 { ValidateOptions } from '../../validation-rule/type';
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
- validate(value: unknown, options: ValidateOptions): boolean;
13
- save(value: unknown, _options: ValidateOptions): Promise<any>;
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,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAS,KAAK,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEvE,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;gBAEtB,OAAO,EAAE,2BAA2B;IAOhD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAQrD,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe;IAa9C,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IA0BxC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAOlC"}
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 { ValidateOptions } from '../../validation-rule/type';
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: ValidateOptions): boolean;
11
- save(value: unknown, options: ValidateOptions): Promise<any[] | undefined>;
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,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAS,KAAK,6BAA6B,EAAE,MAAM,YAAY,CAAC;AACvE,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,eAAe,GAAG,OAAO;IAQrD,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe;IAK7C,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IA6CxC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAKlC"}
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"}
@@ -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;AAEtC,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"}
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 { ModelInstance } from '../../model/types';
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: ValidateOptions): boolean;
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,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,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,eAAe,GAAG,OAAO;CACjE"}
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.2",
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.5"
31
+ "iodm-query": "0.0.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@eslint/js": "^9.30.1",