@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.
- package/README.md +44 -359
- package/dist/adapters/dexie.cjs +1 -1
- package/dist/adapters/dexie.cjs.map +1 -1
- package/dist/adapters/dexie.d.ts +3 -4
- package/dist/adapters/dexie.mjs +6 -9
- package/dist/adapters/dexie.mjs.map +1 -1
- package/dist/adapters/zustand-store.cjs +1 -1
- package/dist/adapters/zustand-store.cjs.map +1 -1
- package/dist/adapters/zustand-store.d.ts +20 -41
- package/dist/adapters/zustand-store.mjs +34 -194
- package/dist/adapters/zustand-store.mjs.map +1 -1
- package/dist/base/index.d.ts +0 -1
- package/dist/base/visitorquestionnaire.d.ts +2 -2
- package/dist/db.cjs +1 -1
- package/dist/db.cjs.map +1 -1
- package/dist/db.mjs +57 -75
- package/dist/db.mjs.map +1 -1
- package/dist/features/analytics/analytics.d.ts +156 -156
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.mjs +92 -107
- package/dist/index.mjs.map +1 -1
- package/dist/schema.cjs +1 -1
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.ts +1 -2088
- package/dist/schema.mjs +105 -161
- package/dist/schema.mjs.map +1 -1
- package/dist/stores/store.cjs +1 -1
- package/dist/stores/store.cjs.map +1 -1
- package/dist/stores/store.d.ts +7 -158
- package/dist/stores/store.mjs +13 -427
- package/dist/stores/store.mjs.map +1 -1
- package/dist/utils/casing.cjs +1 -1
- package/dist/utils/casing.cjs.map +1 -1
- package/dist/utils/casing.d.ts +0 -4
- package/dist/utils/casing.mjs +1 -4
- package/dist/utils/casing.mjs.map +1 -1
- package/dist/validation.cjs +1 -1
- package/dist/validation.cjs.map +1 -1
- package/dist/validation.d.ts +0 -2
- package/dist/validation.mjs +3 -14
- package/dist/validation.mjs.map +1 -1
- package/package.json +5 -1
- package/dist/adapters/structured-store.cjs +0 -2
- package/dist/adapters/structured-store.cjs.map +0 -1
- package/dist/adapters/structured-store.d.ts +0 -45
- package/dist/adapters/structured-store.mjs +0 -51
- package/dist/adapters/structured-store.mjs.map +0 -1
- package/dist/base/favoriteunit.cjs +0 -2
- package/dist/base/favoriteunit.cjs.map +0 -1
- package/dist/base/favoriteunit.d.ts +0 -14
- package/dist/base/favoriteunit.mjs +0 -10
- package/dist/base/favoriteunit.mjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./errors.cjs"),r=require("./schema.cjs"),l=require("./db.cjs"),u=require("./debug.cjs"),s=require("./storage.cjs"),c=require("./stores/store.cjs"),d=require("./adapters/zustand-store.cjs"),t=require("./features/units/transformers.cjs"),n=require("./features/filters/transformers.cjs"),o=require("./utils/dimensions.cjs"),p=require("./validation.cjs"),y=require("./base/overviewimagesonproperty.cjs"),S=require("./base/amenityimagesonproperty.cjs"),M=require("./base/floorplan.cjs"),g=require("./base/media.cjs"),E=require("./base/property.cjs"),h=require("./base/propertyhighlight.cjs"),v=require("./base/room.cjs"),T=require("./base/style.cjs"),P=require("./base/unit.cjs"),e=require("./base/enums.cjs"),R=require("./base/renderedstyle.cjs"),A=require("./base/propertyamenity.cjs"),U=require("./base/user.cjs"),q=require("./base/propertylink.cjs"),m=require("./features/analytics/AnalyticsProvider.cjs"),i=require("./features/analytics/analytics.cjs");exports.OpenDBError=a.OpenDBError;exports.SchemaMismatchError=a.SchemaMismatchError;exports.ApiUserSchema=r.ApiUserSchema;exports.FiltersSchema=r.FiltersSchema;exports.PropertySchema=r.PropertySchema;exports.QueryParamsSchema=r.QueryParamsSchema;exports.ResultsModeEnum=r.ResultsModeEnum;exports.SCHEMA_VERSION=r.SCHEMA_VERSION;exports.SortByEnum=r.SortByEnum;exports.UnitSchema=r.UnitSchema;exports.UserSchema=r.UserSchema;exports.getDB=l.getDB;exports.resetDB=l.resetDB;exports.debugDump=u.debugDump;exports.exportJSON=u.exportJSON;exports.createORMStringStorage=s.createORMStringStorage;exports.kvGet=s.kvGet;exports.kvRemove=s.kvRemove;exports.kvSet=s.kvSet;exports.inResiOrmStore=c.inResiOrmStore;exports.useInResiStore=d.useInResiStore;exports.DEFAULT_PLACEHOLDER_IMAGE=t.DEFAULT_PLACEHOLDER_IMAGE;exports.DEFAULT_WEB_ORIGIN=t.DEFAULT_WEB_ORIGIN;exports.buildExploreUrl=t.buildExploreUrl;exports.buildImageUrl=t.buildImageUrl;exports.transformUnitsApiResponse=t.transformUnitsApiResponse;exports.transformUnitsApiResponseToClient=t.transformUnitsApiResponseToClient;exports.transformUnitsApiResponseToClientFilters=t.transformUnitsApiResponseToClientFilters;exports.defaultSortParamMap=n.defaultSortParamMap;exports.transformFiltersToPreferences=n.transformFiltersToPreferences;exports.transformFiltersToUnitsSearchParams=n.transformFiltersToUnitsSearchParams;exports.dimensionToMmNumber=o.dimensionToMmNumber;exports.formatDimensions=o.formatDimensions;exports.imperialToMm=o.imperialToMm;exports.inchesToMm=o.inchesToMm;exports.mmToInches=o.mmToInches;exports.toInchesDisplay=o.toInchesDisplay;exports.configureValidation=p.configureValidation;exports.OverviewImagesOnPropertyModel=y.OverviewImagesOnPropertyModel;exports.AmenityImagesOnPropertyModel=S.AmenityImagesOnPropertyModel;exports.FloorPlanModel=M.FloorPlanModel;exports.MediaModel=g.MediaModel;exports.PropertyModel=E.PropertyModel;exports.PropertyHighlightModel=h.PropertyHighlightModel;exports.RoomModel=v.RoomModel;exports.StyleModel=T.StyleModel;exports.UnitModel=P.UnitModel;exports.Currency=e.Currency;exports.DeliveryStatus=e.DeliveryStatus;exports.EngagementType=e.EngagementType;exports.ExternalService=e.ExternalService;exports.FurnitureAvailability=e.FurnitureAvailability;exports.Highlights=e.Highlights;exports.MediaType=e.MediaType;exports.QueueJobStatus=e.QueueJobStatus;exports.RenderStatus=e.RenderStatus;exports.Status=e.Status;exports.UserRole=e.UserRole;exports.RenderedStyleModel=R.RenderedStyleModel;exports.PropertyAmenityModel=A.PropertyAmenityModel;exports.UserModel=U.UserModel;exports.PropertyLinkModel=q.PropertyLinkModel;exports.AnalyticsProvider=m.AnalyticsProvider;exports.useAnalytics=m.useAnalytics;exports.QuestionEnumValues=i.QuestionEnumValues;exports.QuestionnaireInteractionValues=i.QuestionnaireInteractionValues;exports.SortEnumValues=i.SortEnumValues;exports.buildTrackingEvents=i.buildTrackingEvents;exports.useTrackEvent=i.useTrackEvent;exports.useTrackingEvents=i.useTrackingEvents;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,8 @@ export * from "./schema";
|
|
|
3
3
|
export * from "./db";
|
|
4
4
|
export * from "./debug";
|
|
5
5
|
export * from "./storage";
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export { createStructuredStore, createStructuredStoreActions, type StructuredStore, type StructuredStoreActions } from "./adapters/structured-store";
|
|
6
|
+
export { inResiOrmStore } from "./stores/store";
|
|
7
|
+
export { useInResiStore, type InResiOrmStore } from "./adapters/zustand-store";
|
|
9
8
|
export * from "./features/units/transformers";
|
|
10
9
|
export * from "./features/filters/transformers";
|
|
11
10
|
export * from "./utils/dimensions";
|
package/dist/index.mjs
CHANGED
|
@@ -1,115 +1,100 @@
|
|
|
1
1
|
import { OpenDBError as o, SchemaMismatchError as t } from "./errors.mjs";
|
|
2
|
-
import { ApiUserSchema as
|
|
3
|
-
import { getDB as
|
|
4
|
-
import { debugDump as
|
|
5
|
-
import { createORMStringStorage as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import { AnalyticsProvider as Ke, useAnalytics as Xe } from "./features/analytics/AnalyticsProvider.mjs";
|
|
29
|
-
import { QuestionEnumValues as $e, QuestionnaireInteractionValues as er, SortEnumValues as rr, buildTrackingEvents as or, useTrackEvent as tr, useTrackingEvents as ar } from "./features/analytics/analytics.mjs";
|
|
2
|
+
import { ApiUserSchema as i, FiltersSchema as n, PropertySchema as s, QueryParamsSchema as a, ResultsModeEnum as p, SCHEMA_VERSION as l, SortByEnum as f, UnitSchema as u, UserSchema as x } from "./schema.mjs";
|
|
3
|
+
import { getDB as S, resetDB as M } from "./db.mjs";
|
|
4
|
+
import { debugDump as y, exportJSON as E } from "./debug.mjs";
|
|
5
|
+
import { createORMStringStorage as h, kvGet as R, kvRemove as T, kvSet as A } from "./storage.mjs";
|
|
6
|
+
import { inResiOrmStore as U } from "./stores/store.mjs";
|
|
7
|
+
import { useInResiStore as I } from "./adapters/zustand-store.mjs";
|
|
8
|
+
import { DEFAULT_PLACEHOLDER_IMAGE as O, DEFAULT_WEB_ORIGIN as F, buildExploreUrl as b, buildImageUrl as k, transformUnitsApiResponse as B, transformUnitsApiResponseToClient as C, transformUnitsApiResponseToClientFilters as L } from "./features/units/transformers.mjs";
|
|
9
|
+
import { defaultSortParamMap as _, transformFiltersToPreferences as H, transformFiltersToUnitsSearchParams as N } from "./features/filters/transformers.mjs";
|
|
10
|
+
import { dimensionToMmNumber as G, formatDimensions as J, imperialToMm as w, inchesToMm as W, mmToInches as j, toInchesDisplay as q } from "./utils/dimensions.mjs";
|
|
11
|
+
import { configureValidation as K } from "./validation.mjs";
|
|
12
|
+
import { OverviewImagesOnPropertyModel as Y } from "./base/overviewimagesonproperty.mjs";
|
|
13
|
+
import { AmenityImagesOnPropertyModel as $ } from "./base/amenityimagesonproperty.mjs";
|
|
14
|
+
import { FloorPlanModel as re } from "./base/floorplan.mjs";
|
|
15
|
+
import { MediaModel as te } from "./base/media.mjs";
|
|
16
|
+
import { PropertyModel as ie } from "./base/property.mjs";
|
|
17
|
+
import { PropertyHighlightModel as se } from "./base/propertyhighlight.mjs";
|
|
18
|
+
import { RoomModel as pe } from "./base/room.mjs";
|
|
19
|
+
import { StyleModel as fe } from "./base/style.mjs";
|
|
20
|
+
import { UnitModel as xe } from "./base/unit.mjs";
|
|
21
|
+
import { Currency as Se, DeliveryStatus as Me, EngagementType as ce, ExternalService as ye, FurnitureAvailability as Ee, Highlights as ge, MediaType as he, QueueJobStatus as Re, RenderStatus as Te, Status as Ae, UserRole as Pe } from "./base/enums.mjs";
|
|
22
|
+
import { RenderedStyleModel as ve } from "./base/renderedstyle.mjs";
|
|
23
|
+
import { PropertyAmenityModel as De } from "./base/propertyamenity.mjs";
|
|
24
|
+
import { UserModel as Fe } from "./base/user.mjs";
|
|
25
|
+
import { PropertyLinkModel as ke } from "./base/propertylink.mjs";
|
|
26
|
+
import { AnalyticsProvider as Ce, useAnalytics as Le } from "./features/analytics/AnalyticsProvider.mjs";
|
|
27
|
+
import { QuestionEnumValues as _e, QuestionnaireInteractionValues as He, SortEnumValues as Ne, buildTrackingEvents as Qe, useTrackEvent as Ge, useTrackingEvents as Je } from "./features/analytics/analytics.mjs";
|
|
30
28
|
export {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Oe as ExternalService,
|
|
41
|
-
Je as FavoriteUnitModel,
|
|
29
|
+
$ as AmenityImagesOnPropertyModel,
|
|
30
|
+
Ce as AnalyticsProvider,
|
|
31
|
+
i as ApiUserSchema,
|
|
32
|
+
Se as Currency,
|
|
33
|
+
O as DEFAULT_PLACEHOLDER_IMAGE,
|
|
34
|
+
F as DEFAULT_WEB_ORIGIN,
|
|
35
|
+
Me as DeliveryStatus,
|
|
36
|
+
ce as EngagementType,
|
|
37
|
+
ye as ExternalService,
|
|
42
38
|
n as FiltersSchema,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
re as FloorPlanModel,
|
|
40
|
+
Ee as FurnitureAvailability,
|
|
41
|
+
ge as Highlights,
|
|
42
|
+
te as MediaModel,
|
|
43
|
+
he as MediaType,
|
|
48
44
|
o as OpenDBError,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
Y as OverviewImagesOnPropertyModel,
|
|
46
|
+
De as PropertyAmenityModel,
|
|
47
|
+
se as PropertyHighlightModel,
|
|
48
|
+
ke as PropertyLinkModel,
|
|
49
|
+
ie as PropertyModel,
|
|
54
50
|
s as PropertySchema,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
f as SCHEMA_VERSION,
|
|
51
|
+
a as QueryParamsSchema,
|
|
52
|
+
_e as QuestionEnumValues,
|
|
53
|
+
He as QuestionnaireInteractionValues,
|
|
54
|
+
Re as QueueJobStatus,
|
|
55
|
+
Te as RenderStatus,
|
|
56
|
+
ve as RenderedStyleModel,
|
|
57
|
+
p as ResultsModeEnum,
|
|
58
|
+
pe as RoomModel,
|
|
59
|
+
l as SCHEMA_VERSION,
|
|
65
60
|
t as SchemaMismatchError,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
u as
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
x as
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
B as store,
|
|
105
|
-
ie as toInchesDisplay,
|
|
106
|
-
Y as transformFiltersToPreferences,
|
|
107
|
-
$ as transformFiltersToUnitsSearchParams,
|
|
108
|
-
j as transformUnitsApiResponse,
|
|
109
|
-
q as transformUnitsApiResponseToClient,
|
|
110
|
-
z as transformUnitsApiResponseToClientFilters,
|
|
111
|
-
Xe as useAnalytics,
|
|
112
|
-
tr as useTrackEvent,
|
|
113
|
-
ar as useTrackingEvents
|
|
61
|
+
f as SortByEnum,
|
|
62
|
+
Ne as SortEnumValues,
|
|
63
|
+
Ae as Status,
|
|
64
|
+
fe as StyleModel,
|
|
65
|
+
xe as UnitModel,
|
|
66
|
+
u as UnitSchema,
|
|
67
|
+
Fe as UserModel,
|
|
68
|
+
Pe as UserRole,
|
|
69
|
+
x as UserSchema,
|
|
70
|
+
b as buildExploreUrl,
|
|
71
|
+
k as buildImageUrl,
|
|
72
|
+
Qe as buildTrackingEvents,
|
|
73
|
+
K as configureValidation,
|
|
74
|
+
h as createORMStringStorage,
|
|
75
|
+
y as debugDump,
|
|
76
|
+
_ as defaultSortParamMap,
|
|
77
|
+
G as dimensionToMmNumber,
|
|
78
|
+
E as exportJSON,
|
|
79
|
+
J as formatDimensions,
|
|
80
|
+
S as getDB,
|
|
81
|
+
w as imperialToMm,
|
|
82
|
+
U as inResiOrmStore,
|
|
83
|
+
W as inchesToMm,
|
|
84
|
+
R as kvGet,
|
|
85
|
+
T as kvRemove,
|
|
86
|
+
A as kvSet,
|
|
87
|
+
j as mmToInches,
|
|
88
|
+
M as resetDB,
|
|
89
|
+
q as toInchesDisplay,
|
|
90
|
+
H as transformFiltersToPreferences,
|
|
91
|
+
N as transformFiltersToUnitsSearchParams,
|
|
92
|
+
B as transformUnitsApiResponse,
|
|
93
|
+
C as transformUnitsApiResponseToClient,
|
|
94
|
+
L as transformUnitsApiResponseToClientFilters,
|
|
95
|
+
Le as useAnalytics,
|
|
96
|
+
I as useInResiStore,
|
|
97
|
+
Ge as useTrackEvent,
|
|
98
|
+
Je as useTrackingEvents
|
|
114
99
|
};
|
|
115
100
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/schema.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs"),e=2,l=n.object({uuid:n.string().uuid(),createdAt:n.string().datetime().optional()}),t=n.union([n.string(),n.number(),n.boolean(),n.record(n.unknown())]),r=n.union([t,n.array(t)]),s=n.object({date_availability:r.nullable().optional(),qty_bedrooms:n.union([n.array(t),n.null()]).optional(),base_price:n.number().nullable().optional(),highlights:n.array(t).optional()}),u=n.enum(["all","bestFit","closestMatch","favorites","loading"]),a=n.enum(["relevance","newest","cost_low_to_high","cost_high_to_low"]),p=n.object({limit:n.number().default(10),page:n.number().default(1),sortBy:a.default("relevance"),base_price:n.number().nullable().optional(),date_availability:n.array(n.string()).optional(),qty_bedrooms:n.array(n.number()).optional(),highlights:n.array(n.string()).optional(),nearBuilding:n.array(n.string()).optional(),nearNeighbourhood:n.array(n.string()).optional()}),o=n.object({id:n.union([n.number().int(),n.string()]).optional(),name:n.string(),slug:n.string().nullable().optional(),qty_bedrooms:n.coerce.number().nullable().optional(),qty_bathrooms:n.coerce.number().nullable().optional(),base_price:n.coerce.number().nullable().optional(),dim_sq_ft:n.coerce.number().nullable().optional(),propertyId:n.union([n.number().int(),n.string()]).optional(),is_available:n.boolean().optional(),createdAt:n.string().datetime().optional(),updatedAt:n.string().datetime().optional(),date_availability:n.string().datetime().nullable().optional(),unitSetAvailableOn:n.string().datetime().nullable().optional(),floorPlanId:n.union([n.number().int(),n.string()]).nullable().optional(),property:n.unknown().optional(),amenities:n.array(n.unknown()).optional(),highlights:n.array(n.unknown()).optional(),floorPlan:n.unknown().nullable().optional(),renderedStyle:n.array(n.unknown()).optional(),video:n.unknown().nullable().optional(),videoThumbnail:n.unknown().nullable().optional(),embedGif:n.unknown().nullable().optional(),userId:n.union([n.number().int(),n.string()]).optional(),user:n.unknown().optional(),status:n.string().optional(),external_id:n.string().nullable().optional(),unitRenderedStyles:n.array(n.unknown()).optional()}),i=n.object({id:n.union([n.number().int(),n.string()]),createdAt:n.string().datetime(),updatedAt:n.string().datetime(),name:n.string(),slug:n.string().nullable().optional(),description:n.string(),contact_name:n.string().nullable().optional(),contact_email:n.string().optional(),contact_phone:n.string().nullable().optional(),notification_email:n.string().nullable().optional(),logo:n.unknown().nullable().optional(),leadMedia:n.unknown().nullable().optional(),overviewImages:n.array(n.unknown()).optional(),amenityImages:n.array(n.unknown()).optional(),address_street:n.string().optional(),address_city:n.string().optional(),address_state:n.string().nullable().optional(),ingestionFileName:n.string().nullable().optional(),address_zip:n.string().optional(),address_country:n.string().optional(),units:n.array(o).optional(),amenities:n.array(n.unknown()).optional(),highlights:n.array(n.unknown()).optional(),externalServices:n.array(n.unknown()).optional(),userId:n.union([n.number().int(),n.string()]).optional(),user:n.unknown().optional(),status:n.string().optional(),floorPlans:n.array(n.unknown()).optional()}),m=n.object({id:n.union([n.number().int(),n.string()]).optional(),email:n.string().email().optional(),first_name:n.string().optional(),last_name:n.string().optional(),password:n.string().optional(),salt:n.string().optional(),role:n.string().optional(),Property:n.array(i).optional(),Unit:n.array(o).optional(),floorPlans:n.array(n.unknown()).optional(),createdAt:n.string().datetime().optional(),updatedAt:n.string().datetime().optional()});exports.ApiUserSchema=m;exports.FiltersSchema=s;exports.PropertySchema=i;exports.QueryParamsSchema=p;exports.ResultsModeEnum=u;exports.SCHEMA_VERSION=e;exports.SortByEnum=a;exports.UnitSchema=o;exports.UserSchema=l;
|
|
2
2
|
//# sourceMappingURL=schema.cjs.map
|
package/dist/schema.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.cjs","sources":["../src/schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const SCHEMA_VERSION = 1 as const;\n\n// Entities\nexport const UserSchema = z.object({\n uuid: z.string().uuid(),\n // stored as ISO string; include to match ensureUser()\n createdAt: z.string().datetime().optional(),\n});\nexport type User = z.infer<typeof UserSchema>;\n\n// User-specific Unit state\nexport const UserUnitDataSchema = z.object({\n isFavorite: z.boolean().optional(),\n viewedDate: z.string().optional(),\n});\n// Back-compat alias (to be deprecated): keep existing name\nexport const UnitDataSchema = UserUnitDataSchema;\nexport type UnitData = z.infer<typeof UserUnitDataSchema>;\n\n// Filters and query params\nconst FilterOptionValueSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.record(z.unknown()),\n]);\n\nconst FilterCollectionSchema = z.union([\n FilterOptionValueSchema,\n z.array(FilterOptionValueSchema),\n]);\n\nexport const FiltersSchema = z.object({\n date_availability: FilterCollectionSchema.nullable().optional(),\n qty_bedrooms: z.union([z.array(FilterOptionValueSchema), z.null()]).optional(),\n base_price: z.number().nullable().optional(),\n highlights: z.array(FilterOptionValueSchema).optional(),\n});\nexport type Filters = z.infer<typeof FiltersSchema>;\n\nexport const ResultsModeEnum = z.enum([\"all\", \"bestFit\", \"closestMatch\", \"favorites\", \"loading\"]);\nexport type ResultsMode = z.infer<typeof ResultsModeEnum>;\nexport const SortByEnum = z.enum([\"relevance\", \"newest\", \"cost_low_to_high\", \"cost_high_to_low\"]);\nexport type SortBy = z.infer<typeof SortByEnum>;\n\nexport const QueryParamsSchema = z.object({\n limit: z.number().default(10),\n page: z.number().default(1),\n sortBy: SortByEnum.default(\"relevance\"),\n base_price: z.number().nullable().optional(),\n date_availability: z.array(z.string()).optional(),\n qty_bedrooms: z.array(z.number()).optional(),\n highlights: z.array(z.string()).optional(),\n nearBuilding: z.array(z.string()).optional(),\n nearNeighbourhood: z.array(z.string()).optional(),\n});\nexport type QueryParams = z.infer<typeof QueryParamsSchema>;\n\n// App (standalone) persisted state\nexport const AppStoreDataSchema = z.object({\n data: z.record(UnitDataSchema),\n filters: FiltersSchema,\n tempFilters: FiltersSchema,\n apiFilters: QueryParamsSchema,\n resultsMode: ResultsModeEnum,\n propertySlug: z.string().nullable(),\n resolvedQuestionnaireValues: z.record(z.array(z.string())),\n sortBy: SortByEnum,\n});\nexport type AppStoreData = z.infer<typeof AppStoreDataSchema>;\n\n// Domain models (optional fields to mirror API shape without breaking)\n// Mirrors the backend Unit model with relaxed optional fields\nexport const UnitSchema = z.object({\n id: z.union([z.number().int(), z.string()]).optional(),\n name: z.string(),\n slug: z.string().nullable().optional(),\n qty_bedrooms: z.coerce.number().nullable().optional(),\n qty_bathrooms: z.coerce.number().nullable().optional(),\n base_price: z.coerce.number().nullable().optional(),\n dim_sq_ft: z.coerce.number().nullable().optional(),\n propertyId: z.union([z.number().int(), z.string()]).optional(),\n is_available: z.boolean().optional(),\n createdAt: z.string().datetime().optional(),\n updatedAt: z.string().datetime().optional(),\n date_availability: z.string().datetime().nullable().optional(),\n unitSetAvailableOn: z.string().datetime().nullable().optional(),\n floorPlanId: z.union([z.number().int(), z.string()]).nullable().optional(),\n // Relations and nested structures kept loose to avoid coupling\n property: z.unknown().optional(),\n amenities: z.array(z.unknown()).optional(),\n highlights: z.array(z.unknown()).optional(),\n floorPlan: z.unknown().nullable().optional(),\n renderedStyle: z.array(z.unknown()).optional(),\n video: z.unknown().nullable().optional(),\n videoThumbnail: z.unknown().nullable().optional(),\n embedGif: z.unknown().nullable().optional(),\n userId: z.union([z.number().int(), z.string()]).optional(),\n user: z.unknown().optional(),\n status: z.string().optional(),\n external_id: z.string().nullable().optional(),\n unitRenderedStyles: z.array(z.unknown()).optional(),\n});\nexport type Unit = z.infer<typeof UnitSchema>;\n\n// Mirrors the backend Property model with relaxed optional fields\nexport const PropertySchema = z.object({\n /**\n * Property (readable shape)\n *\n * interface Property {\n * id: number | string\n * createdAt: string // ISO\n * updatedAt: string // ISO\n * title: string\n * slug?: string | null\n * description: string\n * contactName?: string | null\n * contactEmail?: string\n * contactPhone?: string | null\n * notificationEmail?: string | null\n * logo?: unknown | null\n * leadMedia?: unknown | null\n * overviewImages?: unknown[]\n * amenityImages?: unknown[]\n * street?: string\n * city?: string\n * state?: string | null\n * zip?: string\n * country?: string\n * units?: Unit[]\n * amenities?: unknown[]\n * highlights?: unknown[]\n * externalServices?: unknown[]\n * userId?: number | string\n * user?: unknown\n * status?: string\n * floorPlans?: unknown[]\n * }\n */\n id: z.union([z.number().int(), z.string()]),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n name: z.string(),\n slug: z.string().nullable().optional(),\n description: z.string(),\n contact_name: z.string().nullable().optional(),\n contact_email: z.string().optional(),\n contact_phone: z.string().nullable().optional(),\n notification_email: z.string().nullable().optional(),\n logo: z.unknown().nullable().optional(),\n leadMedia: z.unknown().nullable().optional(),\n overviewImages: z.array(z.unknown()).optional(),\n amenityImages: z.array(z.unknown()).optional(),\n address_street: z.string().optional(),\n address_city: z.string().optional(),\n address_state: z.string().nullable().optional(),\n ingestionFileName: z.string().nullable().optional(),\n address_zip: z.string().optional(),\n address_country: z.string().optional(),\n units: z.array(UnitSchema).optional(),\n amenities: z.array(z.unknown()).optional(),\n highlights: z.array(z.unknown()).optional(),\n externalServices: z.array(z.unknown()).optional(),\n userId: z.union([z.number().int(), z.string()]).optional(),\n user: z.unknown().optional(),\n status: z.string().optional(),\n floorPlans: z.array(z.unknown()).optional(),\n});\nexport type Property = z.infer<typeof PropertySchema>;\n\n// Mirrors the backend User model with relaxed optional fields\n// Named ApiUserSchema to avoid conflict with local UserSchema (uuid-only)\nexport const ApiUserSchema = z.object({\n id: z.union([z.number().int(), z.string()]).optional(),\n email: z.string().email().optional(),\n first_name: z.string().optional(),\n last_name: z.string().optional(),\n password: z.string().optional(),\n salt: z.string().optional(),\n role: z.string().optional(),\n Property: z.array(PropertySchema).optional(),\n Unit: z.array(UnitSchema).optional(),\n floorPlans: z.array(z.unknown()).optional(),\n createdAt: z.string().datetime().optional(),\n updatedAt: z.string().datetime().optional(),\n});\nexport type ApiUser = z.infer<typeof ApiUserSchema>;\n\n// Property-related schemas used by the PropertyStore and UnifiedStore\nexport const ViewedUnitSchema = z.object({\n unitId: z.string(),\n viewedDate: z.string(),\n});\nexport type ViewedUnit = z.infer<typeof ViewedUnitSchema>;\n\nexport const TourContactDataSchema = z.object({\n timezone: z.string().optional(),\n favouriteUnits: z.array(z.coerce.string()).optional(),\n preferences: z.record(z.unknown()).optional(),\n});\nexport type TourContactData = z.infer<typeof TourContactDataSchema>;\n\nexport const UserPropertyStateSchema = z.object({\n id: z.coerce.string(),\n slug: z.string(),\n favoritedUnits: z.array(z.string()).optional(),\n tourContactedOn: z.string().nullable(),\n viewedUnits: z.array(ViewedUnitSchema),\n questionnaireResults: z.unknown().nullable().optional(),\n tourContactData: TourContactDataSchema.nullable().optional(),\n // Full property payload persisted alongside per-property state\n data: PropertySchema.optional(),\n});\nexport type UserPropertyState = z.infer<typeof UserPropertyStateSchema>;\n\nexport const PropertyStoreDataSchema = z.object({\n data: z.record(UserPropertyStateSchema),\n propertySlug: z.string().nullable(),\n propertyId: z.string().nullable(),\n hasPreviouslySearched: z.array(z.string()),\n});\nexport type PropertyStoreData = z.infer<typeof PropertyStoreDataSchema>;\n\n// Unified store schema (combines property + app persistent bits)\nexport const UnifiedStoreDataSchema = z.object({\n // Property-related data\n properties: z.record(UserPropertyStateSchema),\n currentPropertyId: z.string().nullable(),\n currentPropertySlug: z.string().nullable(),\n hasPreviouslySearched: z.array(z.string()),\n\n // App-level data\n unitResults: z.array(UnitSchema),\n filters: FiltersSchema,\n tempFilters: FiltersSchema,\n apiFilters: QueryParamsSchema,\n resultsMode: ResultsModeEnum,\n resolvedQuestionnaireValues: z.record(z.array(z.string())),\n sortBy: SortByEnum,\n});\nexport type UnifiedStoreData = z.infer<typeof UnifiedStoreDataSchema>;\n"],"names":["SCHEMA_VERSION","UserSchema","z.object","z.string","UserUnitDataSchema","z.boolean","UnitDataSchema","FilterOptionValueSchema","z.union","z.number","z.record","z.unknown","FilterCollectionSchema","z.array","FiltersSchema","z.null","ResultsModeEnum","z.enum","SortByEnum","QueryParamsSchema","AppStoreDataSchema","UnitSchema","z.coerce","PropertySchema","ApiUserSchema","ViewedUnitSchema","TourContactDataSchema","UserPropertyStateSchema","PropertyStoreDataSchema","UnifiedStoreDataSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.cjs","sources":["../src/schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const SCHEMA_VERSION = 2 as const;\n\n// Entities\nexport const UserSchema = z.object({\n uuid: z.string().uuid(),\n // stored as ISO string; include to match ensureUser()\n createdAt: z.string().datetime().optional(),\n});\nexport type User = z.infer<typeof UserSchema>;\n\n\n// Filters and query params\nconst FilterOptionValueSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.record(z.unknown()),\n]);\n\nconst FilterCollectionSchema = z.union([\n FilterOptionValueSchema,\n z.array(FilterOptionValueSchema),\n]);\n\nexport const FiltersSchema = z.object({\n date_availability: FilterCollectionSchema.nullable().optional(),\n qty_bedrooms: z.union([z.array(FilterOptionValueSchema), z.null()]).optional(),\n base_price: z.number().nullable().optional(),\n highlights: z.array(FilterOptionValueSchema).optional(),\n});\nexport type Filters = z.infer<typeof FiltersSchema>;\n\nexport const ResultsModeEnum = z.enum([\"all\", \"bestFit\", \"closestMatch\", \"favorites\", \"loading\"]);\nexport type ResultsMode = z.infer<typeof ResultsModeEnum>;\nexport const SortByEnum = z.enum([\"relevance\", \"newest\", \"cost_low_to_high\", \"cost_high_to_low\"]);\nexport type SortBy = z.infer<typeof SortByEnum>;\n\nexport const QueryParamsSchema = z.object({\n limit: z.number().default(10),\n page: z.number().default(1),\n sortBy: SortByEnum.default(\"relevance\"),\n base_price: z.number().nullable().optional(),\n date_availability: z.array(z.string()).optional(),\n qty_bedrooms: z.array(z.number()).optional(),\n highlights: z.array(z.string()).optional(),\n nearBuilding: z.array(z.string()).optional(),\n nearNeighbourhood: z.array(z.string()).optional(),\n});\nexport type QueryParams = z.infer<typeof QueryParamsSchema>;\n\n\n// Domain models (optional fields to mirror API shape without breaking)\n// Mirrors the backend Unit model with relaxed optional fields\nexport const UnitSchema = z.object({\n id: z.union([z.number().int(), z.string()]).optional(),\n name: z.string(),\n slug: z.string().nullable().optional(),\n qty_bedrooms: z.coerce.number().nullable().optional(),\n qty_bathrooms: z.coerce.number().nullable().optional(),\n base_price: z.coerce.number().nullable().optional(),\n dim_sq_ft: z.coerce.number().nullable().optional(),\n propertyId: z.union([z.number().int(), z.string()]).optional(),\n is_available: z.boolean().optional(),\n createdAt: z.string().datetime().optional(),\n updatedAt: z.string().datetime().optional(),\n date_availability: z.string().datetime().nullable().optional(),\n unitSetAvailableOn: z.string().datetime().nullable().optional(),\n floorPlanId: z.union([z.number().int(), z.string()]).nullable().optional(),\n // Relations and nested structures kept loose to avoid coupling\n property: z.unknown().optional(),\n amenities: z.array(z.unknown()).optional(),\n highlights: z.array(z.unknown()).optional(),\n floorPlan: z.unknown().nullable().optional(),\n renderedStyle: z.array(z.unknown()).optional(),\n video: z.unknown().nullable().optional(),\n videoThumbnail: z.unknown().nullable().optional(),\n embedGif: z.unknown().nullable().optional(),\n userId: z.union([z.number().int(), z.string()]).optional(),\n user: z.unknown().optional(),\n status: z.string().optional(),\n external_id: z.string().nullable().optional(),\n unitRenderedStyles: z.array(z.unknown()).optional(),\n});\nexport type Unit = z.infer<typeof UnitSchema>;\n\n// Mirrors the backend Property model with relaxed optional fields\nexport const PropertySchema = z.object({\n /**\n * Property (readable shape)\n *\n * interface Property {\n * id: number | string\n * createdAt: string // ISO\n * updatedAt: string // ISO\n * title: string\n * slug?: string | null\n * description: string\n * contactName?: string | null\n * contactEmail?: string\n * contactPhone?: string | null\n * notificationEmail?: string | null\n * logo?: unknown | null\n * leadMedia?: unknown | null\n * overviewImages?: unknown[]\n * amenityImages?: unknown[]\n * street?: string\n * city?: string\n * state?: string | null\n * zip?: string\n * country?: string\n * units?: Unit[]\n * amenities?: unknown[]\n * highlights?: unknown[]\n * externalServices?: unknown[]\n * userId?: number | string\n * user?: unknown\n * status?: string\n * floorPlans?: unknown[]\n * }\n */\n id: z.union([z.number().int(), z.string()]),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n name: z.string(),\n slug: z.string().nullable().optional(),\n description: z.string(),\n contact_name: z.string().nullable().optional(),\n contact_email: z.string().optional(),\n contact_phone: z.string().nullable().optional(),\n notification_email: z.string().nullable().optional(),\n logo: z.unknown().nullable().optional(),\n leadMedia: z.unknown().nullable().optional(),\n overviewImages: z.array(z.unknown()).optional(),\n amenityImages: z.array(z.unknown()).optional(),\n address_street: z.string().optional(),\n address_city: z.string().optional(),\n address_state: z.string().nullable().optional(),\n ingestionFileName: z.string().nullable().optional(),\n address_zip: z.string().optional(),\n address_country: z.string().optional(),\n units: z.array(UnitSchema).optional(),\n amenities: z.array(z.unknown()).optional(),\n highlights: z.array(z.unknown()).optional(),\n externalServices: z.array(z.unknown()).optional(),\n userId: z.union([z.number().int(), z.string()]).optional(),\n user: z.unknown().optional(),\n status: z.string().optional(),\n floorPlans: z.array(z.unknown()).optional(),\n});\nexport type Property = z.infer<typeof PropertySchema>;\n\n// Mirrors the backend User model with relaxed optional fields\n// Named ApiUserSchema to avoid conflict with local UserSchema (uuid-only)\nexport const ApiUserSchema = z.object({\n id: z.union([z.number().int(), z.string()]).optional(),\n email: z.string().email().optional(),\n first_name: z.string().optional(),\n last_name: z.string().optional(),\n password: z.string().optional(),\n salt: z.string().optional(),\n role: z.string().optional(),\n Property: z.array(PropertySchema).optional(),\n Unit: z.array(UnitSchema).optional(),\n floorPlans: z.array(z.unknown()).optional(),\n createdAt: z.string().datetime().optional(),\n updatedAt: z.string().datetime().optional(),\n});\nexport type ApiUser = z.infer<typeof ApiUserSchema>;\n\n\n"],"names":["SCHEMA_VERSION","UserSchema","z.object","z.string","FilterOptionValueSchema","z.union","z.number","z.boolean","z.record","z.unknown","FilterCollectionSchema","z.array","FiltersSchema","z.null","ResultsModeEnum","z.enum","SortByEnum","QueryParamsSchema","UnitSchema","z.coerce","PropertySchema","ApiUserSchema"],"mappings":"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"}
|