@superbright/indexeddb-orm 1.0.38 → 1.0.39

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.
@@ -1,13 +1,13 @@
1
1
  import { convertKeysToSnakeCase as w, convertKeysToCamelCase as l } from "../../utils/casing.mjs";
2
- import { normalizeToStringArray as P } from "../../utils/collections.mjs";
3
- import { useAnalytics as O } from "./AnalyticsProvider.mjs";
4
- import { object as c, string as e, number as t, enum as y, any as b, unknown as x, boolean as f, array as k, union as E } from "../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.mjs";
2
+ import { normalizeToStringArray as b } from "../../utils/collections.mjs";
3
+ import { useAnalytics as P } from "./AnalyticsProvider.mjs";
4
+ import { object as c, string as e, number as n, enum as y, any as O, unknown as x, boolean as f, array as k, union as E } from "../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.mjs";
5
5
  const ke = ["location", "budget", "size", "other"], C = [
6
6
  "cost_low_to_high",
7
7
  "cost_high_to_low",
8
8
  "newest",
9
9
  "relevance"
10
- ], A = [
10
+ ], _ = [
11
11
  "Skip",
12
12
  "Continue",
13
13
  "Back"
@@ -17,26 +17,26 @@ const ke = ["location", "budget", "size", "other"], C = [
17
17
  propertyName: e().min(1, "propertyName is required")
18
18
  }), m = p.extend({
19
19
  propertyName: e().min(1, "propertyName is required")
20
- }), M = m.extend({
21
- totalUnitsAvailable: t().int().nonnegative(),
22
- resultsUnitCount: t().int().nonnegative(),
20
+ }), A = m.extend({
21
+ totalUnitsAvailable: n().int().nonnegative(),
22
+ resultsUnitCount: n().int().nonnegative(),
23
23
  unitCountDate: e().optional()
24
- }), V = m.extend({
25
- totalUnitsAvailable: t().int().nonnegative(),
26
- resultsUnitCount: t().int().nonnegative(),
24
+ }), M = m.extend({
25
+ totalUnitsAvailable: n().int().nonnegative(),
26
+ resultsUnitCount: n().int().nonnegative(),
27
27
  unitCountDate: e().optional()
28
- }), N = m.extend({
29
- totalUnitsAvailable: t().int().nonnegative(),
30
- resultsUnitCount: t().int().nonnegative(),
28
+ }), q = m.extend({
29
+ totalUnitsAvailable: n().int().nonnegative(),
30
+ resultsUnitCount: n().int().nonnegative(),
31
31
  unitCountDate: e().optional(),
32
32
  lifestylePreferences: x().optional()
33
- }), q = m.extend({
34
- funnelStep: t().int().nonnegative(),
33
+ }), v = m.extend({
34
+ funnelStep: n().int().nonnegative(),
35
35
  profileQuestion: e().min(1, "profileQuestion is required"),
36
- interactedElement: y(A),
36
+ interactedElement: y(_),
37
37
  questionEnum: e().optional()
38
- }), B = q.extend({
39
- selectedAnswersEnumArray: b().transform((s) => P(s)).refine((s) => Array.isArray(s), {
38
+ }), V = v.extend({
39
+ selectedAnswersEnumArray: O().transform((s) => b(s)).refine((s) => Array.isArray(s), {
40
40
  message: "selectedAnswersEnumArray must resolve to an array"
41
41
  })
42
42
  });
@@ -54,77 +54,87 @@ const o = m.extend({
54
54
  formName: e().min(1, "formName is required"),
55
55
  styleId: e().min(1, "styleId is required"),
56
56
  styleName: e().min(1, "styleName is required"),
57
- unitBedrooms: t().int().nonnegative(),
57
+ unitBedrooms: n().int().nonnegative(),
58
58
  favoritedUnit: f()
59
59
  }), g = o.extend({
60
60
  roomName: e().min(1, "roomName is required"),
61
- unitBedrooms: t().int().nonnegative(),
61
+ unitBedrooms: n().int().nonnegative(),
62
62
  styleId: e().min(1, "styleId is required"),
63
63
  styleName: e().min(1, "styleName is required"),
64
64
  favoritedUnit: f()
65
- }), _ = o.extend({
65
+ }), B = o.extend({
66
66
  roomName: e().min(1, "roomName is required"),
67
- unitBedrooms: t().int().nonnegative(),
67
+ unitBedrooms: n().int().nonnegative(),
68
68
  styleId: e().min(1, "styleId is required"),
69
69
  styleName: e().min(1, "styleName is required"),
70
70
  furnitureId: e().min(1, "furnitureId is required"),
71
71
  furnitureName: e().min(1, "furnitureName is required"),
72
- type: y(["click", "hover_on", "hover_off"])
72
+ type: y(["click", "hover_on", "hover_off"]),
73
+ brand_name: e().min(1, "brand_name is required"),
74
+ category: e().min(1, "category is required")
73
75
  }), Q = o.extend({
74
76
  roomName: e().min(1, "roomName is required"),
75
- unitBedrooms: t().int().nonnegative(),
77
+ unitBedrooms: n().int().nonnegative(),
76
78
  styleId: e().min(1, "styleId is required"),
77
79
  styleName: e().min(1, "styleName is required"),
78
80
  furnitureId: e().min(1, "furnitureId is required"),
79
81
  furnitureName: e().min(1, "furnitureName is required"),
80
82
  link: e().min(1, "link is required"),
81
83
  type: e().min(1, "type is required"),
82
- favoritedUnit: f()
84
+ favoritedUnit: f(),
85
+ brand_name: e().min(1, "brand_name is required"),
86
+ category: e().min(1, "category is required")
83
87
  }), D = o.extend({
84
88
  roomName: e().min(1, "roomName is required"),
85
- unitBedrooms: t().int().nonnegative(),
89
+ unitBedrooms: n().int().nonnegative(),
86
90
  styleId: e().min(1, "styleId is required"),
87
91
  styleName: e().min(1, "styleName is required"),
88
92
  furnitureId: e().min(1, "furnitureId is required"),
89
- furnitureName: e().min(1, "furnitureName is required")
93
+ furnitureName: e().min(1, "furnitureName is required"),
94
+ brand_name: e().min(1, "brand_name is required"),
95
+ category: e().min(1, "category is required")
90
96
  }), R = o.extend({
91
97
  roomName: e().min(1, "roomName is required"),
92
- unitBedrooms: t().int().nonnegative(),
98
+ unitBedrooms: n().int().nonnegative(),
93
99
  styleId: e().min(1, "styleId is required"),
94
100
  styleName: e().min(1, "styleName is required"),
95
101
  furnitureId: e().min(1, "furnitureId is required"),
96
- furnitureName: e().min(1, "furnitureName is required")
102
+ furnitureName: e().min(1, "furnitureName is required"),
103
+ brand_name: e().min(1, "brand_name is required"),
104
+ category: e().min(1, "category is required")
97
105
  }), L = o.extend({
98
106
  method: y(["Prev", "Next"]),
99
107
  roomName: e().min(1, "roomName is required"),
100
- unitBedrooms: t().int().nonnegative(),
108
+ unitBedrooms: n().int().nonnegative(),
101
109
  styleId: e().min(1, "styleId is required"),
102
110
  styleName: e().min(1, "styleName is required"),
103
111
  furnitureId: e().min(1, "furnitureId is required"),
104
- furnitureName: e().min(1, "furnitureName is required")
112
+ furnitureName: e().min(1, "furnitureName is required"),
113
+ brand_name: e().min(1, "brand_name is required"),
114
+ category: e().min(1, "category is required")
105
115
  }), U = o.extend({
106
116
  roomName: e().min(1, "roomName is required"),
107
- unitBedrooms: t().int().nonnegative(),
117
+ unitBedrooms: n().int().nonnegative(),
108
118
  styleId: e().min(1, "styleId is required"),
109
119
  styleName: e().min(1, "styleName is required"),
110
120
  method: y(["Navigation", "Map"])
111
121
  }), z = U.extend({
112
- timeInRoom: t().int().nonnegative()
122
+ timeInRoom: n().int().nonnegative()
113
123
  }), W = o.extend({
114
124
  roomName: e().min(1, "roomName is required"),
115
- unitBedrooms: t().int().nonnegative(),
125
+ unitBedrooms: n().int().nonnegative(),
116
126
  styleId: e().min(1, "styleId is required"),
117
127
  styleName: e().min(1, "styleName is required"),
118
128
  method: y(["On Click Play"]),
119
- videoCurrentTime: t().int().nonnegative(),
120
- videoDuration: t().int().nonnegative(),
121
- videoPercent: t().int().nonnegative(),
129
+ videoCurrentTime: n().int().nonnegative(),
130
+ videoDuration: n().int().nonnegative(),
131
+ videoPercent: n().int().nonnegative(),
122
132
  videoFilename: e().min(1, "videoFilename is required")
123
133
  }), j = o.extend({
124
134
  utmSource: e().min(1, "utm_source is required"),
125
135
  utmMedium: e().min(1, "utm_medium is required"),
126
136
  utmName: e().min(1, "utm_name is required"),
127
- unitBedrooms: t().int().nonnegative(),
137
+ unitBedrooms: n().int().nonnegative(),
128
138
  styleId: e().min(1, "styleId is required"),
129
139
  styleName: e().min(1, "styleName is required"),
130
140
  favoritedUnit: f()
@@ -136,15 +146,15 @@ const o = m.extend({
136
146
  }), H = F.extend({
137
147
  roomName: e().min(1, "roomName is required")
138
148
  }), J = o.extend({
139
- unitBedrooms: t().int().nonnegative()
149
+ unitBedrooms: n().int().nonnegative()
140
150
  }), $ = o.extend({
141
151
  utmSource: e().min(1, "utm_source is required"),
142
152
  utmMedium: e().min(1, "utm_medium is required"),
143
153
  utmName: e().min(1, "utm_name is required")
144
- }), v = o.extend({
154
+ }), N = o.extend({
145
155
  toastCopy: e().min(1, "toastCopy is required")
146
156
  }), X = o.extend({
147
- unitBedrooms: t().int().nonnegative(),
157
+ unitBedrooms: n().int().nonnegative(),
148
158
  styleId: e().min(1, "styleId is required"),
149
159
  styleName: e().min(1, "styleName is required")
150
160
  }), Y = m, Z = m.extend({
@@ -165,42 +175,42 @@ const o = m.extend({
165
175
  buttonName: e().min(1, "buttonName is required"),
166
176
  formName: e().min(1, "formName is required"),
167
177
  pageName: e().min(1, "pageName is required"),
168
- bedrooms: k(E([e(), t()])).optional(),
169
- price: t().nullable().optional()
178
+ bedrooms: k(E([e(), n()])).optional(),
179
+ price: n().nullable().optional()
170
180
  })
171
- }), te = m.extend({
172
- bedrooms: k(t()).optional(),
173
- price_min: t().optional(),
174
- price_max: t().optional(),
181
+ }), ne = m.extend({
182
+ bedrooms: k(n()).optional(),
183
+ price_min: n().optional(),
184
+ price_max: n().optional(),
175
185
  highlights: k(e()).optional(),
176
186
  page_name: e().optional()
177
- }), ne = o.extend({
187
+ }), ie = o.extend({
178
188
  favoritedUnit: f(),
179
- unitIndex: t().int().nonnegative()
180
- }), K = b().transform((s) => P(s)).refine((s) => Array.isArray(s), {
189
+ unitIndex: n().int().nonnegative()
190
+ }), K = O().transform((s) => b(s)).refine((s) => Array.isArray(s), {
181
191
  message: "Selection must resolve to an array"
182
- }), ie = m.extend({
183
- filterIndex: t().int().nonnegative(),
192
+ }), te = m.extend({
193
+ filterIndex: n().int().nonnegative(),
184
194
  filterLabel: e().min(1, "filterLabel is required"),
185
195
  selectedFiltersEnum: K,
186
196
  filterName: e().optional()
187
197
  }), h = m.extend({
188
- filterIndex: t().int().nonnegative(),
198
+ filterIndex: n().int().nonnegative(),
189
199
  filterLabel: e().min(1, "filterLabel is required"),
190
200
  selectedFiltersEnum: K
191
201
  }), T = p.extend({
192
- sortIndex: t().int().nonnegative(),
202
+ sortIndex: n().int().nonnegative(),
193
203
  sortEnum: y(C)
194
204
  }), ae = m.extend({
195
- sortIndex: t().int().nonnegative(),
205
+ sortIndex: n().int().nonnegative(),
196
206
  sortEnum: y(C),
197
- resultsUnitCount: t().int().nonnegative(),
207
+ resultsUnitCount: n().int().nonnegative(),
198
208
  unitCountDate: e().optional()
199
209
  }), oe = p.extend({
200
210
  fullQuestionnaireSchemaJson: x().optional(),
201
211
  resultsJson: c({
202
212
  type: e().optional(),
203
- total: t().int().nonnegative().optional(),
213
+ total: n().int().nonnegative().optional(),
204
214
  units: k(
205
215
  c({
206
216
  unitId: e().min(1, "unitId is required"),
@@ -210,121 +220,121 @@ const o = m.extend({
210
220
  }).optional()
211
221
  }), se = o.extend({
212
222
  favoritedUnit: f(),
213
- unitIndex: t().int().nonnegative()
223
+ unitIndex: n().int().nonnegative()
214
224
  }), ue = o.extend({
215
225
  favoritedUnit: f(),
216
- unitIndex: t().int().nonnegative()
226
+ unitIndex: n().int().nonnegative()
217
227
  }), de = m.extend({
218
228
  unitId: e().min(1, "unitId is required"),
219
229
  unitName: e().min(1, "unitName is required"),
220
230
  unitSlug: e().min(1, "unitSlug is required"),
221
- resultsUnitCount: t().int().nonnegative(),
231
+ resultsUnitCount: n().int().nonnegative(),
222
232
  unitCountDate: e().optional(),
223
- unitIndex: t().int().nonnegative()
233
+ unitIndex: n().int().nonnegative()
224
234
  });
225
235
  function me() {
226
- const s = O();
236
+ const s = P();
227
237
  return (u, d) => {
228
238
  const r = d == null ? d : w(d);
229
239
  s.track(u, r);
230
240
  };
231
241
  }
232
- const le = (s, u, d, r) => (i) => {
242
+ const le = (s, u, d, r) => (t) => {
233
243
  const a = l(
234
- i
235
- ), n = u.safeParse(a);
236
- if (!n.success) {
244
+ t
245
+ ), i = u.safeParse(a);
246
+ if (!i.success) {
237
247
  r != null && r.isDev && console.warn(
238
248
  `[Analytics] Invalid payload for "${s}":`,
239
- n.error.flatten()
249
+ i.error.flatten()
240
250
  );
241
251
  return;
242
252
  }
243
- const S = r != null && r.forwardOriginalPayload ? i : n.data;
253
+ const S = r != null && r.forwardOriginalPayload ? t : i.data;
244
254
  d(s, S, {
245
255
  skipKeyTransform: r == null ? void 0 : r.skipKeyTransform
246
256
  });
247
257
  };
248
258
  function ce(s, u = !1) {
249
- const d = (i, a, n) => {
250
- const S = n != null && n.skipKeyTransform ? a : w(a);
251
- s(i, S);
252
- }, r = (i, a, n) => le(i, a, d, { ...n, isDev: u });
259
+ const d = (t, a, i) => {
260
+ const S = i != null && i.skipKeyTransform ? a : w(a);
261
+ s(t, S);
262
+ }, r = (t, a, i) => le(t, a, d, { ...i, isDev: u });
253
263
  return {
254
- trackViewAllUnits: (i) => {
264
+ trackViewAllUnits: (t) => {
255
265
  const a = l(
256
- i
257
- ), n = M.safeParse({
266
+ t
267
+ ), i = A.safeParse({
258
268
  unitCountDate: (/* @__PURE__ */ new Date()).toISOString(),
259
269
  ...a
260
270
  });
261
- if (!n.success) {
262
- u && console.warn('[Analytics] Invalid payload for "View All Units":', n.error.flatten());
271
+ if (!i.success) {
272
+ u && console.warn('[Analytics] Invalid payload for "View All Units":', i.error.flatten());
263
273
  return;
264
274
  }
265
- d("View All Units", n.data);
275
+ d("View All Units", i.data);
266
276
  },
267
- trackQuestionnaireSkip: (i) => {
277
+ trackQuestionnaireSkip: (t) => {
268
278
  const a = l(
269
- i
270
- ), n = q.safeParse({
279
+ t
280
+ ), i = v.safeParse({
271
281
  ...a,
272
282
  interactedElement: "Skip"
273
283
  });
274
- if (!n.success) {
275
- u && console.warn('[Analytics] Invalid payload for "Questionnaire Navigated" (Skip):', n.error.flatten());
284
+ if (!i.success) {
285
+ u && console.warn('[Analytics] Invalid payload for "Questionnaire Navigated" (Skip):', i.error.flatten());
276
286
  return;
277
287
  }
278
- d("Questionnaire Navigated", n.data);
288
+ d("Questionnaire Navigated", i.data);
279
289
  },
280
- trackQuestionnaireContinue: (i) => {
290
+ trackQuestionnaireContinue: (t) => {
281
291
  const a = l(
282
- i
283
- ), n = B.safeParse({
292
+ t
293
+ ), i = V.safeParse({
284
294
  ...a,
285
295
  interactedElement: "Continue"
286
296
  });
287
- if (!n.success) {
288
- u && console.warn('[Analytics] Invalid payload for "Questionnaire Navigated" (Continue):', n.error.flatten());
297
+ if (!i.success) {
298
+ u && console.warn('[Analytics] Invalid payload for "Questionnaire Navigated" (Continue):', i.error.flatten());
289
299
  return;
290
300
  }
291
- d("Questionnaire Navigated", n.data);
301
+ d("Questionnaire Navigated", i.data);
292
302
  },
293
- trackQuestionnaireBack: (i) => {
303
+ trackQuestionnaireBack: (t) => {
294
304
  const a = l(
295
- i
296
- ), n = q.safeParse({
305
+ t
306
+ ), i = v.safeParse({
297
307
  ...a,
298
308
  interactedElement: "Back"
299
309
  });
300
- if (!n.success) {
301
- u && console.warn('[Analytics] Invalid payload for "Questionnaire Navigated" (Back):', n.error.flatten());
310
+ if (!i.success) {
311
+ u && console.warn('[Analytics] Invalid payload for "Questionnaire Navigated" (Back):', i.error.flatten());
302
312
  return;
303
313
  }
304
- d("Questionnaire Navigated", n.data);
314
+ d("Questionnaire Navigated", i.data);
305
315
  },
306
316
  trackClickUnit: r("Unit Card Clicked", se, {
307
317
  skipKeyTransform: !0,
308
318
  forwardOriginalPayload: !0
309
319
  }),
310
- trackHoverUnit: r("Unit Hovered", ne, {
320
+ trackHoverUnit: r("Unit Hovered", ie, {
311
321
  skipKeyTransform: !0,
312
322
  forwardOriginalPayload: !0
313
323
  }),
314
- trackLoadMore: (i) => {
324
+ trackLoadMore: (t) => {
315
325
  const a = l(
316
- i
317
- ), n = V.safeParse({
326
+ t
327
+ ), i = M.safeParse({
318
328
  unitCountDate: (/* @__PURE__ */ new Date()).toISOString(),
319
329
  ...a
320
330
  });
321
- if (!n.success) {
322
- u && console.warn('[Analytics] Invalid payload for "More Units Loaded":', n.error.flatten());
331
+ if (!i.success) {
332
+ u && console.warn('[Analytics] Invalid payload for "More Units Loaded":', i.error.flatten());
323
333
  return;
324
334
  }
325
- d("More Units Loaded", n.data);
335
+ d("More Units Loaded", i.data);
326
336
  },
327
- trackFilterOpened: r("Filter Opened", ie),
337
+ trackFilterOpened: r("Filter Opened", te),
328
338
  trackFilterCanceled: r(
329
339
  "Filter Cleared",
330
340
  h
@@ -333,18 +343,18 @@ function ce(s, u = !1) {
333
343
  "Filter Applied",
334
344
  h
335
345
  ),
336
- trackOpenSort: (i) => {
346
+ trackOpenSort: (t) => {
337
347
  const a = l(
338
- i
339
- ), n = ae.safeParse({
348
+ t
349
+ ), i = ae.safeParse({
340
350
  unitCountDate: (/* @__PURE__ */ new Date()).toISOString(),
341
351
  ...a
342
352
  });
343
- if (!n.success) {
344
- u && console.warn('[Analytics] Invalid payload for "Sort Opened":', n.error.flatten());
353
+ if (!i.success) {
354
+ u && console.warn('[Analytics] Invalid payload for "Sort Opened":', i.error.flatten());
345
355
  return;
346
356
  }
347
- d("Sort Opened", n.data);
357
+ d("Sort Opened", i.data);
348
358
  },
349
359
  trackSelectSort: r("Sort Applied", T),
350
360
  trackCancelSort: r("Sort Canceled", T),
@@ -362,17 +372,17 @@ function ce(s, u = !1) {
362
372
  ),
363
373
  trackScheduleTourFormInteracted: r(
364
374
  "Schedule Tour Form Interacted",
365
- N,
375
+ q,
366
376
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
367
377
  ),
368
378
  trackScheduleTourFormSubmitted: r(
369
379
  "Schedule Tour Form Submitted",
370
- N,
380
+ q,
371
381
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
372
382
  ),
373
383
  trackScheduleTourUrlClicked: r(
374
384
  "Schedule Tour URL Clicked",
375
- N,
385
+ q,
376
386
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
377
387
  ),
378
388
  trackGetInTouchFormOpened: r(
@@ -407,7 +417,7 @@ function ce(s, u = !1) {
407
417
  ),
408
418
  trackFurnitureViewed: r(
409
419
  "Furniture Viewed",
410
- _,
420
+ B,
411
421
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
412
422
  ),
413
423
  trackFurnitureExternalUrlClicked: r(
@@ -452,17 +462,17 @@ function ce(s, u = !1) {
452
462
  ),
453
463
  trackToastImpression: r(
454
464
  "Toast Impression",
455
- v,
465
+ N,
456
466
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
457
467
  ),
458
468
  trackToastClicked: r(
459
469
  "Toast Clicked",
460
- v,
470
+ N,
461
471
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
462
472
  ),
463
473
  trackToastClosed: r(
464
474
  "Toast Closed",
465
- v,
475
+ N,
466
476
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
467
477
  ),
468
478
  trackContentModalOpened: r(
@@ -488,7 +498,7 @@ function ce(s, u = !1) {
488
498
  ),
489
499
  trackSubscriptionRemoved: r(
490
500
  "Subscription Removed",
491
- te
501
+ ne
492
502
  ),
493
503
  trackWebPageViewed: r(
494
504
  "Page Viewed",
@@ -505,20 +515,20 @@ function ce(s, u = !1) {
505
515
  J,
506
516
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
507
517
  ),
508
- trackEmailClick: (i) => r(
509
- `Email Interaction - ${i.event_name}`,
518
+ trackEmailClick: (t) => r(
519
+ `Email Interaction - ${t.event_name}`,
510
520
  $,
511
521
  { skipKeyTransform: !0, forwardOriginalPayload: !0 }
512
522
  )
513
523
  };
514
524
  }
515
525
  function Se() {
516
- const { isDev: s } = O(), u = me();
526
+ const { isDev: s } = P(), u = me();
517
527
  return ce(u, s);
518
528
  }
519
529
  export {
520
530
  ke as QuestionEnumValues,
521
- A as QuestionnaireInteractionValues,
531
+ _ as QuestionnaireInteractionValues,
522
532
  C as SortEnumValues,
523
533
  ce as buildTrackingEvents,
524
534
  me as useTrackEvent,