@pattern-stack/frontend-patterns 0.2.0-alpha.19 → 0.2.0-alpha.20
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +70 -2
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +70 -2
- package/dist/index.js.map +1 -1
- package/dist/sync/createStore.d.ts +78 -15
- package/dist/sync/createStore.d.ts.map +1 -1
- package/dist/sync/index.d.ts +2 -2
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/types.d.ts +106 -0
- package/dist/sync/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -22,5 +22,5 @@ export { useBreakpoint, useResponsiveValue, useMediaQuery, useMaxMediaQuery, use
|
|
|
22
22
|
export { useOnlineStatus, type OnlineStatus } from "./atoms/hooks/useOnlineStatus";
|
|
23
23
|
export { ConnectionStatus, type ConnectionStatusProps } from "./atoms/composed/ConnectionStatus";
|
|
24
24
|
export { createEntityHooks, createStore, EntityStoreProvider, useStore, } from "./sync";
|
|
25
|
-
export type { EntityHookConfig, EntityHooks, EntityApi, Page, ListQuery, ListParams, UseListOptions, UseGetOptions, UseListResult, UseGetResult, WhereClause, EntityQueryKeys, StoreConfig, Store, Resolvers, Lookups, } from "./sync";
|
|
25
|
+
export type { EntityHookConfig, EntityHooks, EntityApi, Page, ListQuery, ListParams, UseListOptions, UseGetOptions, UseListResult, UseGetResult, UseDataOptions, UseDataResult, LookupsEngine, SortSpec, WhereClause, EntityQueryKeys, StoreConfig, Store, EntityWithData, Resolvers, Lookups, } from "./sync";
|
|
26
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,0CAA0C,CAAC;AAClD,OAAO,aAAa,CAAC;AAErB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGjF,OAAO,EACL,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClG,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,YAAY,EACV,MAAM,EACN,WAAW,EAAE,iCAAiC;AAC9C,aAAa,EACb,QAAQ,EACR,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAGjG,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,QAAQ,GACT,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,EACX,KAAK,EACL,SAAS,EACT,OAAO,GACR,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,0CAA0C,CAAC;AAClD,OAAO,aAAa,CAAC;AAErB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGjF,OAAO,EACL,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClG,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,YAAY,EACV,MAAM,EACN,WAAW,EAAE,iCAAiC;AAC9C,aAAa,EACb,QAAQ,EACR,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAGjG,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,QAAQ,GACT,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,WAAW,EACX,eAAe,EACf,WAAW,EACX,KAAK,EACL,cAAc,EACd,SAAS,EACT,OAAO,GACR,MAAM,QAAQ,CAAC"}
|
package/dist/index.es.js
CHANGED
|
@@ -19297,7 +19297,8 @@ function createEntityHooks(config) {
|
|
|
19297
19297
|
};
|
|
19298
19298
|
}
|
|
19299
19299
|
function createStore(config) {
|
|
19300
|
-
const { entities, collections } = config;
|
|
19300
|
+
const { entities, collections, fields, lookups: lookupsEngine } = config;
|
|
19301
|
+
const defaultGetRowId = (row) => String(row.id);
|
|
19301
19302
|
const resolve = {};
|
|
19302
19303
|
for (const [name, collection] of Object.entries(collections)) {
|
|
19303
19304
|
const singular = name.endsWith("ies") ? name.slice(0, -3) + "y" : name.endsWith("s") ? name.slice(0, -1) : name;
|
|
@@ -19327,8 +19328,75 @@ function createStore(config) {
|
|
|
19327
19328
|
lookupCache = null;
|
|
19328
19329
|
}
|
|
19329
19330
|
};
|
|
19331
|
+
function makeUseData(entityName, entity) {
|
|
19332
|
+
const meta = fields ? fields[entityName] : void 0;
|
|
19333
|
+
return function useData(opts = {}) {
|
|
19334
|
+
const { pageSize } = opts;
|
|
19335
|
+
const list = entity.useList({ pageSize });
|
|
19336
|
+
useEffect(() => {
|
|
19337
|
+
if (lookupsEngine) {
|
|
19338
|
+
void lookupsEngine.hydrate().catch(() => {
|
|
19339
|
+
});
|
|
19340
|
+
}
|
|
19341
|
+
}, []);
|
|
19342
|
+
const hydratedLookups = lookupsEngine ? lookupsEngine.current : null;
|
|
19343
|
+
const result = useMemo(
|
|
19344
|
+
() => ({
|
|
19345
|
+
rows: list.data,
|
|
19346
|
+
isLoading: list.isLoading,
|
|
19347
|
+
isError: list.isError,
|
|
19348
|
+
error: list.error,
|
|
19349
|
+
refetch: list.refetch,
|
|
19350
|
+
page: list.page,
|
|
19351
|
+
pageCount: list.pageCount,
|
|
19352
|
+
total: list.total,
|
|
19353
|
+
pageSize: list.pageSize,
|
|
19354
|
+
setPage: list.setPage,
|
|
19355
|
+
next: list.next,
|
|
19356
|
+
prev: list.prev,
|
|
19357
|
+
hasNext: list.hasNext,
|
|
19358
|
+
hasPrev: list.hasPrev,
|
|
19359
|
+
getRowId: defaultGetRowId,
|
|
19360
|
+
meta,
|
|
19361
|
+
lookups: hydratedLookups,
|
|
19362
|
+
// Reserved (inert):
|
|
19363
|
+
sort: null,
|
|
19364
|
+
setSort: () => {
|
|
19365
|
+
},
|
|
19366
|
+
filter: null,
|
|
19367
|
+
setFilter: () => {
|
|
19368
|
+
}
|
|
19369
|
+
}),
|
|
19370
|
+
[
|
|
19371
|
+
list.data,
|
|
19372
|
+
list.isLoading,
|
|
19373
|
+
list.isError,
|
|
19374
|
+
list.error,
|
|
19375
|
+
list.refetch,
|
|
19376
|
+
list.page,
|
|
19377
|
+
list.pageCount,
|
|
19378
|
+
list.total,
|
|
19379
|
+
list.pageSize,
|
|
19380
|
+
list.setPage,
|
|
19381
|
+
list.next,
|
|
19382
|
+
list.prev,
|
|
19383
|
+
list.hasNext,
|
|
19384
|
+
list.hasPrev,
|
|
19385
|
+
hydratedLookups
|
|
19386
|
+
]
|
|
19387
|
+
);
|
|
19388
|
+
return result;
|
|
19389
|
+
};
|
|
19390
|
+
}
|
|
19391
|
+
const augmentedEntities = {};
|
|
19392
|
+
for (const [name, entity] of Object.entries(entities)) {
|
|
19393
|
+
augmentedEntities[name] = {
|
|
19394
|
+
...entity,
|
|
19395
|
+
useData: makeUseData(name, entity)
|
|
19396
|
+
};
|
|
19397
|
+
}
|
|
19330
19398
|
return {
|
|
19331
|
-
...
|
|
19399
|
+
...augmentedEntities,
|
|
19332
19400
|
collections,
|
|
19333
19401
|
resolve,
|
|
19334
19402
|
lookups
|