@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/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 }, options)`. A call made while another is in
54
- * flight returns that call's promise (and its item) instead of creating a second one.
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;
@@ -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;AAepG,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,OAiIrB,CAAA;AAED,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;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,EAAE,QA2NtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;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,mBAqDhC,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
+ {"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>;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAWzC,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;AAW/D,eAAO,MAAM,SAAS,EAAE,SA8HvB,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,cAwFF,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,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"}
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"}
@@ -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;AAcpE,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,wBAsGF,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;AAyMD,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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAa1C;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,kBAAkB,MAAM,GAAG,IAAI,GAAG,SAAS;;;;CAqFpE,CAAA;AAuBD,eAAO,MAAM,UAAU;;;WAuGE,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,mCA0EhC,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;CAEjC,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.9",
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.9",
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.9",
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",