@superbright/indexeddb-orm 1.0.33 → 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 (53) 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/analytics.d.ts +156 -156
  19. package/dist/index.cjs +1 -1
  20. package/dist/index.d.ts +2 -3
  21. package/dist/index.mjs +92 -107
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/schema.cjs +1 -1
  24. package/dist/schema.cjs.map +1 -1
  25. package/dist/schema.d.ts +1 -2088
  26. package/dist/schema.mjs +105 -161
  27. package/dist/schema.mjs.map +1 -1
  28. package/dist/stores/store.cjs +1 -1
  29. package/dist/stores/store.cjs.map +1 -1
  30. package/dist/stores/store.d.ts +7 -158
  31. package/dist/stores/store.mjs +13 -427
  32. package/dist/stores/store.mjs.map +1 -1
  33. package/dist/utils/casing.cjs +1 -1
  34. package/dist/utils/casing.cjs.map +1 -1
  35. package/dist/utils/casing.d.ts +0 -4
  36. package/dist/utils/casing.mjs +1 -4
  37. package/dist/utils/casing.mjs.map +1 -1
  38. package/dist/validation.cjs +1 -1
  39. package/dist/validation.cjs.map +1 -1
  40. package/dist/validation.d.ts +0 -2
  41. package/dist/validation.mjs +3 -14
  42. package/dist/validation.mjs.map +1 -1
  43. package/package.json +5 -1
  44. package/dist/adapters/structured-store.cjs +0 -2
  45. package/dist/adapters/structured-store.cjs.map +0 -1
  46. package/dist/adapters/structured-store.d.ts +0 -45
  47. package/dist/adapters/structured-store.mjs +0 -51
  48. package/dist/adapters/structured-store.mjs.map +0 -1
  49. package/dist/base/favoriteunit.cjs +0 -2
  50. package/dist/base/favoriteunit.cjs.map +0 -1
  51. package/dist/base/favoriteunit.d.ts +0 -14
  52. package/dist/base/favoriteunit.mjs +0 -10
  53. 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;"}