@superbright/indexeddb-orm 1.0.32 → 1.0.34

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.
Files changed (62) hide show
  1. package/README.md +44 -359
  2. package/dist/adapters/dexie.cjs +1 -1
  3. package/dist/adapters/dexie.cjs.map +1 -1
  4. package/dist/adapters/dexie.d.ts +3 -4
  5. package/dist/adapters/dexie.mjs +6 -9
  6. package/dist/adapters/dexie.mjs.map +1 -1
  7. package/dist/adapters/zustand-store.cjs +1 -1
  8. package/dist/adapters/zustand-store.cjs.map +1 -1
  9. package/dist/adapters/zustand-store.d.ts +20 -41
  10. package/dist/adapters/zustand-store.mjs +34 -194
  11. package/dist/adapters/zustand-store.mjs.map +1 -1
  12. package/dist/base/index.d.ts +0 -1
  13. package/dist/base/visitorquestionnaire.d.ts +2 -2
  14. package/dist/db.cjs +1 -1
  15. package/dist/db.cjs.map +1 -1
  16. package/dist/db.mjs +57 -75
  17. package/dist/db.mjs.map +1 -1
  18. package/dist/features/analytics/AnalyticsProvider.cjs +1 -1
  19. package/dist/features/analytics/AnalyticsProvider.cjs.map +1 -1
  20. package/dist/features/analytics/AnalyticsProvider.d.ts +1 -0
  21. package/dist/features/analytics/AnalyticsProvider.mjs +63 -59
  22. package/dist/features/analytics/AnalyticsProvider.mjs.map +1 -1
  23. package/dist/features/analytics/analytics.cjs +1 -1
  24. package/dist/features/analytics/analytics.cjs.map +1 -1
  25. package/dist/features/analytics/analytics.d.ts +157 -157
  26. package/dist/features/analytics/analytics.mjs +190 -158
  27. package/dist/features/analytics/analytics.mjs.map +1 -1
  28. package/dist/index.cjs +1 -1
  29. package/dist/index.d.ts +2 -3
  30. package/dist/index.mjs +92 -107
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/schema.cjs +1 -1
  33. package/dist/schema.cjs.map +1 -1
  34. package/dist/schema.d.ts +1 -2088
  35. package/dist/schema.mjs +105 -161
  36. package/dist/schema.mjs.map +1 -1
  37. package/dist/stores/store.cjs +1 -1
  38. package/dist/stores/store.cjs.map +1 -1
  39. package/dist/stores/store.d.ts +7 -158
  40. package/dist/stores/store.mjs +13 -427
  41. package/dist/stores/store.mjs.map +1 -1
  42. package/dist/utils/casing.cjs +1 -1
  43. package/dist/utils/casing.cjs.map +1 -1
  44. package/dist/utils/casing.d.ts +0 -4
  45. package/dist/utils/casing.mjs +1 -4
  46. package/dist/utils/casing.mjs.map +1 -1
  47. package/dist/validation.cjs +1 -1
  48. package/dist/validation.cjs.map +1 -1
  49. package/dist/validation.d.ts +0 -2
  50. package/dist/validation.mjs +3 -14
  51. package/dist/validation.mjs.map +1 -1
  52. package/package.json +5 -1
  53. package/dist/adapters/structured-store.cjs +0 -2
  54. package/dist/adapters/structured-store.cjs.map +0 -1
  55. package/dist/adapters/structured-store.d.ts +0 -45
  56. package/dist/adapters/structured-store.mjs +0 -51
  57. package/dist/adapters/structured-store.mjs.map +0 -1
  58. package/dist/base/favoriteunit.cjs +0 -2
  59. package/dist/base/favoriteunit.cjs.map +0 -1
  60. package/dist/base/favoriteunit.d.ts +0 -14
  61. package/dist/base/favoriteunit.mjs +0 -10
  62. package/dist/base/favoriteunit.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"structured-store.cjs","sources":["../../src/adapters/structured-store.ts"],"sourcesContent":["/**\n * Structured store wrapper (preferred DX)\n *\n * This layer wraps the flat Zustand adapter with domain‑grouped actions\n * for a more discoverable API in apps. It does not add new behavior —\n * it simply organizes calls like:\n * - `property.unit.favorites.toggle` → `toggleFavorite`\n * - `property.unit.viewed.mark` → `markUnitAsViewed`\n * - `filters.set/submit/...` → filter methods\n */\nimport {\n type ZustandUnifiedStoreState,\n createZustandUnifiedStore,\n type Filters,\n type UnitData,\n type TourContactData,\n type QueryParams\n} from \"./zustand-store\";\n\nexport interface StructuredStoreActions {\n property: {\n unit: {\n favorites: {\n toggle: (unitId: string) => Promise<void>;\n setAll: (unitIds: string[]) => Promise<void>;\n };\n viewed: {\n mark: (unitId: string, slug: string) => Promise<void>;\n };\n };\n questionnaire: {\n setResults: (results: unknown) => Promise<void>;\n };\n tour: {\n setContactedOn: () => Promise<void>;\n getContactedOn: () => Promise<string | null>;\n setContactData: (data: TourContactData) => Promise<void>;\n };\n };\n\n filters: {\n set: (filters: Partial<Filters>) => Promise<void>;\n setTemp: (filters: Partial<Filters>) => Promise<void>;\n setToDefault: () => Promise<void>;\n commitTemp: <K extends keyof Filters>(key: K, defaultValue: Filters[K]) => Promise<void>;\n commitDateAvailability: () => Promise<void>;\n submit: () => Promise<void>;\n };\n}\n\nexport function createStructuredStoreActions(store: ZustandUnifiedStoreState, get?: () => ZustandUnifiedStoreState): StructuredStoreActions {\n return {\n property: {\n unit: {\n favorites: {\n toggle: store.toggleFavorite.bind(store),\n setAll: store.setFavoriteUnitIds.bind(store),\n },\n viewed: {\n mark: store.markUnitAsViewed.bind(store),\n },\n },\n questionnaire: {\n setResults: store.setQuestionnaireResults.bind(store),\n },\n tour: {\n setContactedOn: store.setTourContactedOn.bind(store),\n getContactedOn: store.getTourContactedOn.bind(store),\n setContactData: store.setTourContactData.bind(store),\n },\n },\n filters: {\n set: store.setFilters.bind(store),\n setTemp: store.setTempFilters.bind(store),\n setToDefault: store.setFiltersToDefault.bind(store),\n commitTemp: async (key, defaultValue) => {\n const state = get ? get() : (store as unknown as ZustandUnifiedStoreState);\n const value = (state.tempFilters as Filters)[key] ?? defaultValue;\n await store.handleTempFilterChange(key, value as any);\n await store.submitFilterUpdate();\n },\n commitDateAvailability: async () => {\n await store.submitFilterUpdate();\n },\n submit: store.submitFilterUpdate.bind(store),\n },\n };\n}\n\nexport type StructuredStore = ZustandUnifiedStoreState & StructuredStoreActions;\n\nexport function createStructuredStore(options?: {\n onFilterUpdate?: (apiParams: QueryParams) => void;\n}) {\n return (set: any, get: any): StructuredStore => {\n const baseStore = createZustandUnifiedStore(options)(set, get);\n const actions = createStructuredStoreActions(baseStore, get);\n\n return {\n ...baseStore,\n ...actions,\n };\n };\n}\n"],"names":["createStructuredStoreActions","store","get","key","defaultValue","value","createStructuredStore","options","set","baseStore","createZustandUnifiedStore","actions"],"mappings":"uHAkDO,SAASA,EAA6BC,EAAiCC,EAA8D,CAC1I,MAAO,CACL,SAAU,CACR,KAAM,CACJ,UAAW,CACT,OAAQD,EAAM,eAAe,KAAKA,CAAK,EACvC,OAAQA,EAAM,mBAAmB,KAAKA,CAAK,CAAA,EAE7C,OAAQ,CACN,KAAMA,EAAM,iBAAiB,KAAKA,CAAK,CAAA,CACzC,EAEF,cAAe,CACb,WAAYA,EAAM,wBAAwB,KAAKA,CAAK,CAAA,EAEtD,KAAM,CACJ,eAAgBA,EAAM,mBAAmB,KAAKA,CAAK,EACnD,eAAgBA,EAAM,mBAAmB,KAAKA,CAAK,EACnD,eAAgBA,EAAM,mBAAmB,KAAKA,CAAK,CAAA,CACrD,EAEF,QAAS,CACP,IAAKA,EAAM,WAAW,KAAKA,CAAK,EAChC,QAASA,EAAM,eAAe,KAAKA,CAAK,EACxC,aAAcA,EAAM,oBAAoB,KAAKA,CAAK,EAClD,WAAY,MAAOE,EAAKC,IAAiB,CAEvC,MAAMC,GADQH,EAAMA,EAAA,EAASD,GACR,YAAwBE,CAAG,GAAKC,EACrD,MAAMH,EAAM,uBAAuBE,EAAKE,CAAY,EACpD,MAAMJ,EAAM,mBAAA,CACd,EACA,uBAAwB,SAAY,CAClC,MAAMA,EAAM,mBAAA,CACd,EACA,OAAQA,EAAM,mBAAmB,KAAKA,CAAK,CAAA,CAC7C,CAEJ,CAIO,SAASK,EAAsBC,EAEnC,CACD,MAAO,CAACC,EAAUN,IAA8B,CAC9C,MAAMO,EAAYC,EAAAA,0BAA0BH,CAAO,EAAEC,EAAKN,CAAG,EACvDS,EAAUX,EAA6BS,EAAWP,CAAG,EAE3D,MAAO,CACL,GAAGO,EACH,GAAGE,CAAA,CAEP,CACF"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Structured store wrapper (preferred DX)
3
- *
4
- * This layer wraps the flat Zustand adapter with domain‑grouped actions
5
- * for a more discoverable API in apps. It does not add new behavior —
6
- * it simply organizes calls like:
7
- * - `property.unit.favorites.toggle` → `toggleFavorite`
8
- * - `property.unit.viewed.mark` → `markUnitAsViewed`
9
- * - `filters.set/submit/...` → filter methods
10
- */
11
- import { type ZustandUnifiedStoreState, type Filters, type TourContactData, type QueryParams } from "./zustand-store";
12
- export interface StructuredStoreActions {
13
- property: {
14
- unit: {
15
- favorites: {
16
- toggle: (unitId: string) => Promise<void>;
17
- setAll: (unitIds: string[]) => Promise<void>;
18
- };
19
- viewed: {
20
- mark: (unitId: string, slug: string) => Promise<void>;
21
- };
22
- };
23
- questionnaire: {
24
- setResults: (results: unknown) => Promise<void>;
25
- };
26
- tour: {
27
- setContactedOn: () => Promise<void>;
28
- getContactedOn: () => Promise<string | null>;
29
- setContactData: (data: TourContactData) => Promise<void>;
30
- };
31
- };
32
- filters: {
33
- set: (filters: Partial<Filters>) => Promise<void>;
34
- setTemp: (filters: Partial<Filters>) => Promise<void>;
35
- setToDefault: () => Promise<void>;
36
- commitTemp: <K extends keyof Filters>(key: K, defaultValue: Filters[K]) => Promise<void>;
37
- commitDateAvailability: () => Promise<void>;
38
- submit: () => Promise<void>;
39
- };
40
- }
41
- export declare function createStructuredStoreActions(store: ZustandUnifiedStoreState, get?: () => ZustandUnifiedStoreState): StructuredStoreActions;
42
- export type StructuredStore = ZustandUnifiedStoreState & StructuredStoreActions;
43
- export declare function createStructuredStore(options?: {
44
- onFilterUpdate?: (apiParams: QueryParams) => void;
45
- }): (set: any, get: any) => StructuredStore;
@@ -1,51 +0,0 @@
1
- import { createZustandUnifiedStore as u } from "./zustand-store.mjs";
2
- function c(t, i) {
3
- return {
4
- property: {
5
- unit: {
6
- favorites: {
7
- toggle: t.toggleFavorite.bind(t),
8
- setAll: t.setFavoriteUnitIds.bind(t)
9
- },
10
- viewed: {
11
- mark: t.markUnitAsViewed.bind(t)
12
- }
13
- },
14
- questionnaire: {
15
- setResults: t.setQuestionnaireResults.bind(t)
16
- },
17
- tour: {
18
- setContactedOn: t.setTourContactedOn.bind(t),
19
- getContactedOn: t.getTourContactedOn.bind(t),
20
- setContactData: t.setTourContactData.bind(t)
21
- }
22
- },
23
- filters: {
24
- set: t.setFilters.bind(t),
25
- setTemp: t.setTempFilters.bind(t),
26
- setToDefault: t.setFiltersToDefault.bind(t),
27
- commitTemp: async (e, n) => {
28
- const d = (i ? i() : t).tempFilters[e] ?? n;
29
- await t.handleTempFilterChange(e, d), await t.submitFilterUpdate();
30
- },
31
- commitDateAvailability: async () => {
32
- await t.submitFilterUpdate();
33
- },
34
- submit: t.submitFilterUpdate.bind(t)
35
- }
36
- };
37
- }
38
- function s(t) {
39
- return (i, e) => {
40
- const n = u(t)(i, e), a = c(n, e);
41
- return {
42
- ...n,
43
- ...a
44
- };
45
- };
46
- }
47
- export {
48
- s as createStructuredStore,
49
- c as createStructuredStoreActions
50
- };
51
- //# sourceMappingURL=structured-store.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"structured-store.mjs","sources":["../../src/adapters/structured-store.ts"],"sourcesContent":["/**\n * Structured store wrapper (preferred DX)\n *\n * This layer wraps the flat Zustand adapter with domain‑grouped actions\n * for a more discoverable API in apps. It does not add new behavior —\n * it simply organizes calls like:\n * - `property.unit.favorites.toggle` → `toggleFavorite`\n * - `property.unit.viewed.mark` → `markUnitAsViewed`\n * - `filters.set/submit/...` → filter methods\n */\nimport {\n type ZustandUnifiedStoreState,\n createZustandUnifiedStore,\n type Filters,\n type UnitData,\n type TourContactData,\n type QueryParams\n} from \"./zustand-store\";\n\nexport interface StructuredStoreActions {\n property: {\n unit: {\n favorites: {\n toggle: (unitId: string) => Promise<void>;\n setAll: (unitIds: string[]) => Promise<void>;\n };\n viewed: {\n mark: (unitId: string, slug: string) => Promise<void>;\n };\n };\n questionnaire: {\n setResults: (results: unknown) => Promise<void>;\n };\n tour: {\n setContactedOn: () => Promise<void>;\n getContactedOn: () => Promise<string | null>;\n setContactData: (data: TourContactData) => Promise<void>;\n };\n };\n\n filters: {\n set: (filters: Partial<Filters>) => Promise<void>;\n setTemp: (filters: Partial<Filters>) => Promise<void>;\n setToDefault: () => Promise<void>;\n commitTemp: <K extends keyof Filters>(key: K, defaultValue: Filters[K]) => Promise<void>;\n commitDateAvailability: () => Promise<void>;\n submit: () => Promise<void>;\n };\n}\n\nexport function createStructuredStoreActions(store: ZustandUnifiedStoreState, get?: () => ZustandUnifiedStoreState): StructuredStoreActions {\n return {\n property: {\n unit: {\n favorites: {\n toggle: store.toggleFavorite.bind(store),\n setAll: store.setFavoriteUnitIds.bind(store),\n },\n viewed: {\n mark: store.markUnitAsViewed.bind(store),\n },\n },\n questionnaire: {\n setResults: store.setQuestionnaireResults.bind(store),\n },\n tour: {\n setContactedOn: store.setTourContactedOn.bind(store),\n getContactedOn: store.getTourContactedOn.bind(store),\n setContactData: store.setTourContactData.bind(store),\n },\n },\n filters: {\n set: store.setFilters.bind(store),\n setTemp: store.setTempFilters.bind(store),\n setToDefault: store.setFiltersToDefault.bind(store),\n commitTemp: async (key, defaultValue) => {\n const state = get ? get() : (store as unknown as ZustandUnifiedStoreState);\n const value = (state.tempFilters as Filters)[key] ?? defaultValue;\n await store.handleTempFilterChange(key, value as any);\n await store.submitFilterUpdate();\n },\n commitDateAvailability: async () => {\n await store.submitFilterUpdate();\n },\n submit: store.submitFilterUpdate.bind(store),\n },\n };\n}\n\nexport type StructuredStore = ZustandUnifiedStoreState & StructuredStoreActions;\n\nexport function createStructuredStore(options?: {\n onFilterUpdate?: (apiParams: QueryParams) => void;\n}) {\n return (set: any, get: any): StructuredStore => {\n const baseStore = createZustandUnifiedStore(options)(set, get);\n const actions = createStructuredStoreActions(baseStore, get);\n\n return {\n ...baseStore,\n ...actions,\n };\n };\n}\n"],"names":["createStructuredStoreActions","store","get","key","defaultValue","value","createStructuredStore","options","set","baseStore","createZustandUnifiedStore","actions"],"mappings":";AAkDO,SAASA,EAA6BC,GAAiCC,GAA8D;AAC1I,SAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,WAAW;AAAA,UACT,QAAQD,EAAM,eAAe,KAAKA,CAAK;AAAA,UACvC,QAAQA,EAAM,mBAAmB,KAAKA,CAAK;AAAA,QAAA;AAAA,QAE7C,QAAQ;AAAA,UACN,MAAMA,EAAM,iBAAiB,KAAKA,CAAK;AAAA,QAAA;AAAA,MACzC;AAAA,MAEF,eAAe;AAAA,QACb,YAAYA,EAAM,wBAAwB,KAAKA,CAAK;AAAA,MAAA;AAAA,MAEtD,MAAM;AAAA,QACJ,gBAAgBA,EAAM,mBAAmB,KAAKA,CAAK;AAAA,QACnD,gBAAgBA,EAAM,mBAAmB,KAAKA,CAAK;AAAA,QACnD,gBAAgBA,EAAM,mBAAmB,KAAKA,CAAK;AAAA,MAAA;AAAA,IACrD;AAAA,IAEF,SAAS;AAAA,MACP,KAAKA,EAAM,WAAW,KAAKA,CAAK;AAAA,MAChC,SAASA,EAAM,eAAe,KAAKA,CAAK;AAAA,MACxC,cAAcA,EAAM,oBAAoB,KAAKA,CAAK;AAAA,MAClD,YAAY,OAAOE,GAAKC,MAAiB;AAEvC,cAAMC,KADQH,IAAMA,EAAA,IAASD,GACR,YAAwBE,CAAG,KAAKC;AACrD,cAAMH,EAAM,uBAAuBE,GAAKE,CAAY,GACpD,MAAMJ,EAAM,mBAAA;AAAA,MACd;AAAA,MACA,wBAAwB,YAAY;AAClC,cAAMA,EAAM,mBAAA;AAAA,MACd;AAAA,MACA,QAAQA,EAAM,mBAAmB,KAAKA,CAAK;AAAA,IAAA;AAAA,EAC7C;AAEJ;AAIO,SAASK,EAAsBC,GAEnC;AACD,SAAO,CAACC,GAAUN,MAA8B;AAC9C,UAAMO,IAAYC,EAA0BH,CAAO,EAAEC,GAAKN,CAAG,GACvDS,IAAUX,EAA6BS,GAAWP,CAAG;AAE3D,WAAO;AAAA,MACL,GAAGO;AAAA,MACH,GAAGE;AAAA,IAAA;AAAA,EAEP;AACF;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs"),t=e.object({userId:e.number().int(),unitId:e.number().int(),createdAt:e.date()});exports.FavoriteUnitModel=t;
2
- //# sourceMappingURL=favoriteunit.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"favoriteunit.cjs","sources":["../../src/base/favoriteunit.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const FavoriteUnitModel = z.object({\n userId: z.number().int(),\n unitId: z.number().int(),\n createdAt: z.date(),\n });"],"names":["FavoriteUnitModel","z.object","z.number","z.date"],"mappings":"mKAEaA,EAAoBC,EAAAA,OAAS,CACtC,OAAQC,EAAAA,OAAE,EAAS,IAAA,EACnB,OAAQA,EAAAA,OAAE,EAAS,IAAA,EACnB,UAAWC,EAAAA,KAAE,CACf,CAAC"}
@@ -1,14 +0,0 @@
1
- import { z } from "zod";
2
- export declare const FavoriteUnitModel: z.ZodObject<{
3
- userId: z.ZodNumber;
4
- unitId: z.ZodNumber;
5
- createdAt: z.ZodDate;
6
- }, "strip", z.ZodTypeAny, {
7
- createdAt: Date;
8
- userId: number;
9
- unitId: number;
10
- }, {
11
- createdAt: Date;
12
- userId: number;
13
- unitId: number;
14
- }>;
@@ -1,10 +0,0 @@
1
- import { object as t, date as o, number as e } from "../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.mjs";
2
- const a = t({
3
- userId: e().int(),
4
- unitId: e().int(),
5
- createdAt: o()
6
- });
7
- export {
8
- a as FavoriteUnitModel
9
- };
10
- //# sourceMappingURL=favoriteunit.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"favoriteunit.mjs","sources":["../../src/base/favoriteunit.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const FavoriteUnitModel = z.object({\n userId: z.number().int(),\n unitId: z.number().int(),\n createdAt: z.date(),\n });"],"names":["FavoriteUnitModel","z.object","z.number","z.date"],"mappings":";AAEO,MAAMA,IAAoBC,EAAS;AAAA,EACtC,QAAQC,EAAE,EAAS,IAAA;AAAA,EACnB,QAAQA,EAAE,EAAS,IAAA;AAAA,EACnB,WAAWC,EAAE;AACf,CAAC;"}