@seedprotocol/react 0.7.9 → 0.7.10-next.1353.g74aeeed
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/SeedClientGate.d.ts +2 -1
- package/dist/SeedClientGate.d.ts.map +1 -1
- package/dist/SeedProvider.d.ts +3 -2
- package/dist/SeedProvider.d.ts.map +1 -1
- package/dist/index.js +802 -743
- package/dist/index.js.map +1 -1
- package/dist/item.d.ts +6 -2
- package/dist/item.d.ts.map +1 -1
- package/dist/itemProperty.d.ts.map +1 -1
- package/dist/model.d.ts +4 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/modelProperty.d.ts +1 -1
- package/dist/modelProperty.d.ts.map +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/useHeldEntities.d.ts +24 -0
- package/dist/useHeldEntities.d.ts.map +1 -0
- package/package.json +3 -3
package/dist/item.d.ts
CHANGED
|
@@ -46,12 +46,16 @@ type UseItems = (props: UseItemsProps) => UseItemsReturn;
|
|
|
46
46
|
* - Schema-backed fields on each `IItem` (e.g. list relation properties) read from the item
|
|
47
47
|
* machine and may be `undefined` until that property is loaded; normalize for forms
|
|
48
48
|
* (e.g. `Array.isArray(x) ? x : []`).
|
|
49
|
+
* - Each mounted hook holds the items it lists and releases one when it leaves the list or the
|
|
50
|
+
* hook unmounts, so an item that no hook or caller holds is unloaded.
|
|
49
51
|
*/
|
|
50
52
|
export declare const useItems: UseItems;
|
|
51
53
|
export type UseCreateItemReturn = {
|
|
52
54
|
/**
|
|
53
|
-
* Calls `Item.create({ modelName, ...itemData },
|
|
54
|
-
*
|
|
55
|
+
* Calls `Item.create({ modelName, ...itemData }, { hold: false, ...options })`: the item takes no
|
|
56
|
+
* hold, so it unloads after the grace period unless something holds it (a mounted `useItem`, or
|
|
57
|
+
* `options.hold: true`, released with `item.unload()`). A call made while another is in flight
|
|
58
|
+
* returns that call's promise (and its item) instead of creating a second one.
|
|
55
59
|
*/
|
|
56
60
|
createItem: (modelName: string, itemData?: Record<string, any>, options?: ItemCreateOptions) => Promise<Item<any> | undefined>;
|
|
57
61
|
isLoading: boolean;
|
package/dist/item.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,IAAI,EAIL,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAiB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,IAAI,EAIL,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAiB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAgBpG,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI;IAC7C,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,OAAO,GAAG,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;AAElF,4FAA4F;AAC5F,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,GAAG,SAAS,6CAA0C,CAAA;AAEhG;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,OA4IrB,CAAA;AAOD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uGAAuG;IACvG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,CAAA;CAC5C,CAAA;AAED,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,cAAc,CAAA;AAgDxD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,EAAE,QAyOtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,UAAU,EAAE,CACV,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,OAAO,CAAC,EAAE,iBAAiB,KACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,aAAa,QAAO,mBA0DhC,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAChF,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,oBAgDjC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemProperty.d.ts","sourceRoot":"","sources":["../src/itemProperty.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"itemProperty.d.ts","sourceRoot":"","sources":["../src/itemProperty.ts"],"names":[],"mappings":"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"}
|
package/dist/model.d.ts
CHANGED
|
@@ -35,6 +35,10 @@ export type UseCreateModelReturn = {
|
|
|
35
35
|
error: Error | null;
|
|
36
36
|
resetError: () => void;
|
|
37
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Hook to create a Model with loading and error state. The model takes no hold: it stays cached
|
|
40
|
+
* until it is destroyed or evicted.
|
|
41
|
+
*/
|
|
38
42
|
export declare const useCreateModel: () => UseCreateModelReturn;
|
|
39
43
|
export type UseDestroyModelReturn = {
|
|
40
44
|
destroy: (model: Model) => Promise<void>;
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAYzC,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,KAAK,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEhD,KAAK,SAAS,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,eAAe,CAAA;AAe/D,eAAO,MAAM,SAAS,EAAE,SAsIvB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GACnB,mBAAmB,MAAM,GAAG,IAAI,GAAG,SAAS,EAC5C,YAAY,MAAM,GAAG,IAAI,GAAG,SAAS,KACpC,cA8FF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,CACN,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,KAAK,CAAA;IACV,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,oBAqBjC,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,eAAe,QAAO,qBA4BlC,CAAA"}
|
package/dist/modelProperty.d.ts
CHANGED
|
@@ -57,7 +57,7 @@ export type UseCreateModelPropertyReturn = {
|
|
|
57
57
|
* Hook to create a ModelProperty with loading and error state.
|
|
58
58
|
* create(schemaId, modelName, property) creates a new property on the model. schemaId is a schema
|
|
59
59
|
* name, schema file id or "name-version"; it is resolved to a stored schema name first, so create
|
|
60
|
-
* returns a promise.
|
|
60
|
+
* returns a promise. The property takes no hold: it stays cached until it is destroyed or evicted.
|
|
61
61
|
*/
|
|
62
62
|
export declare const useCreateModelProperty: () => UseCreateModelPropertyReturn;
|
|
63
63
|
export type UseDestroyModelPropertyReturn = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelProperty.d.ts","sourceRoot":"","sources":["../src/modelProperty.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"modelProperty.d.ts","sourceRoot":"","sources":["../src/modelProperty.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAkBpE,KAAK,wBAAwB,GAAG;IAC9B,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AAgCD,eAAO,MAAM,kBAAkB,GAC7B,mBAAmB,MAAM,GAAG,IAAI,GAAG,SAAS,EAC5C,YAAY,MAAM,GAAG,IAAI,GAAG,SAAS,KACpC,wBA6GF,CAAA;AAgDD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG;IAC3E,aAAa,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AACD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC;IACD,aAAa,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AACD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC;IACD,aAAa,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AA8MD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,CACN,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,6BAA6B,KACpC,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAAO,4BA8BzC,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAO,6BA4B1C,CAAA"}
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAc1C;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,kBAAkB,MAAM,GAAG,IAAI,GAAG,SAAS;;;;CAsFpE,CAAA;AA0BD,eAAO,MAAM,UAAU;;;WA8GE,KAAK,GAAG,IAAI;CAEpC,CAAA;AAED,eAAO,MAAM,eAAe;+BAIX,MAAM;;;;CAWtB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAO,sBA4BnC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mCA4EhC,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;CAEjC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** An entity instance a hook shows: Item, ItemProperty, Schema, Model or ModelProperty. */
|
|
2
|
+
type HeldEntity = {
|
|
3
|
+
unload(): void;
|
|
4
|
+
getService(): {
|
|
5
|
+
subscribe(observer: {
|
|
6
|
+
complete?: () => void;
|
|
7
|
+
}): {
|
|
8
|
+
unsubscribe(): void;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Holds each instance while the component shows it, with `retain` (the class's `retain`, which
|
|
14
|
+
* takes a hold on a cached, running instance). The release is deferred a tick: a StrictMode
|
|
15
|
+
* remount or a refetch returning the same instances takes its new holds before the old ones are
|
|
16
|
+
* dropped, so a count never touches 0 in between. The cache's grace period covers that too, but an
|
|
17
|
+
* app may configure it to 0. `onStopped` runs when an instance can't be held, and when a held one
|
|
18
|
+
* stops (destroyed, evicted, dropped by another tab), so the hook looks it up again.
|
|
19
|
+
*
|
|
20
|
+
* `retain` and `onStopped` should be stable (module-level, or from useCallback).
|
|
21
|
+
*/
|
|
22
|
+
export declare function useHeldEntities<T extends HeldEntity>(instances: readonly T[], retain: (instance: T) => boolean, onStopped: () => void): void;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=useHeldEntities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHeldEntities.d.ts","sourceRoot":"","sources":["../src/useHeldEntities.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,KAAK,UAAU,GAAG;IAChB,MAAM,IAAI,IAAI,CAAA;IACd,UAAU,IAAI;QAAE,SAAS,CAAC,QAAQ,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;SAAE,GAAG;YAAE,WAAW,IAAI,IAAI,CAAA;SAAE,CAAA;KAAE,CAAA;CAC1F,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAClD,SAAS,EAAE,SAAS,CAAC,EAAE,EACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,OAAO,EAChC,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI,CAsBN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seedprotocol/react",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.10-next.1353.g74aeeed",
|
|
4
4
|
"description": "React hooks and components for Seed Protocol: live schemas, models, items and properties from @seedprotocol/sdk, backed by TanStack Query",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"seed-protocol",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"test:browser": "cd ../.. && vitest --config vite.config.js --project=browser"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"@seedprotocol/sdk": "0.7.
|
|
43
|
+
"@seedprotocol/sdk": "0.7.10-next.1353.g74aeeed",
|
|
44
44
|
"react": "^18 || ^19",
|
|
45
45
|
"react-dom": "^18 || ^19",
|
|
46
46
|
"@tanstack/react-query": "^5"
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"xstate": "^5.28.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@seedprotocol/sdk": "0.7.
|
|
59
|
+
"@seedprotocol/sdk": "0.7.10-next.1353.g74aeeed",
|
|
60
60
|
"vite-plugin-dts": "^4.5.4",
|
|
61
61
|
"@tanstack/react-query": "^5.104.1",
|
|
62
62
|
"@testing-library/react": "^16.3.1",
|