@omniviewdev/runtime 0.11.0 → 0.12.0

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.
@@ -14,11 +14,12 @@ export type ResourceUpdateEvent = {
14
14
  type: 'DELETE';
15
15
  payload: DeletePayload;
16
16
  };
17
- /** Advisory events may patch observed host keys, never expand native page membership. */
18
- export declare function applyBatch(oldData: ResourceView | undefined, events: readonly ResourceUpdateEvent[], membershipChanged?: boolean): ResourceView | undefined;
19
- /** At most one pending event per observed page key; unseen row bodies are never retained. */
17
+ /** Explicit pages retain bounded membership; collections accept every admitted target event. */
18
+ export declare function applyBatch(oldData: ResourceView | undefined, events: readonly ResourceUpdateEvent[], membershipChanged?: boolean, collection?: boolean): ResourceView | undefined;
19
+ /** Keep only the latest event for each key within the active acquisition. */
20
20
  export declare function useEventBatcher(queryClient: QueryClient, queryKey: QueryKey, watchState: WatchState, options?: {
21
21
  syncWindowMs?: number;
22
22
  enabled?: boolean;
23
23
  isCurrent?: () => boolean;
24
+ collection?: boolean;
24
25
  }): (event: ResourceUpdateEvent) => void;
@@ -4,6 +4,8 @@ export interface UseResourcesOptions {
4
4
  pluginID?: string;
5
5
  request?: HostEnumerateRequest;
6
6
  enabled?: boolean;
7
+ /** Acquire all source pages internally and maintain collection membership from live events. */
8
+ collection?: boolean;
7
9
  /** Actual advisory native updates, never inferred from a finite page. */
8
10
  live?: boolean;
9
11
  }
@@ -12,14 +14,14 @@ export interface AcquiredResourcePage {
12
14
  request: HostEnumerateRequest;
13
15
  page: ResourceView;
14
16
  }
15
- /** One attempted acquisition and one displayed successful page; never accumulated row history. */
16
- export declare const useResources: ({ pluginID: explicitPluginID, request, enabled, live }: UseResourcesOptions) => {
17
+ /** Acquire an explicit source page, or opt into a complete collection acquisition. */
18
+ export declare const useResources: ({ pluginID: explicitPluginID, request, enabled, live, collection }: UseResourcesOptions) => {
17
19
  /** Attempted request state; an error does not rename or replace the acquired page. */
18
- resources: import('@tanstack/react-query').UseQueryResult<import('../..').HostSourcePage, Error>;
20
+ resources: import('@tanstack/react-query').UseQueryResult<ResourceView, Error>;
19
21
  acquired: AcquiredResourcePage | undefined;
20
22
  /** Gate acquired readiness when a consumer chooses to display the attempted page instead. */
21
23
  isAcquiredRequestCurrent: boolean;
22
- refreshAcquiredPage: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('../..').HostSourcePage, Error>>;
24
+ refreshAcquiredPage: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<ResourceView, Error>>;
23
25
  view: {
24
26
  guarantee: "bestEffort";
25
27
  count: import('../..').Count;