mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
build(store): build26 from 45504a2b
This commit is contained in:
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
import { AnyStore } from "../core/store.js";
|
||||
import { Context } from "@videojs/element/context";
|
||||
import { ReactiveController, ReactiveControllerHost } from "@videojs/element";
|
||||
//#region src/html/store-accessor.d.ts
|
||||
type StoreSource<Store extends AnyStore> = Store | Context<unknown, Store>;
|
||||
type StoreAccessorHost = ReactiveControllerHost & HTMLElement;
|
||||
/**
|
||||
* Resolves a store from either a direct instance or context.
|
||||
*
|
||||
* When given a direct store, provides immediate access.
|
||||
* When given a context, sets up a ContextConsumer to receive the store.
|
||||
*
|
||||
* @example Direct store
|
||||
* ```ts
|
||||
* const accessor = new StoreAccessor(host, store, (s) => console.log('available', s));
|
||||
* accessor.value; // Store (immediately available)
|
||||
* ```
|
||||
*
|
||||
* @example Context source
|
||||
* ```ts
|
||||
* const accessor = new StoreAccessor(host, context, (s) => console.log('available', s));
|
||||
* accessor.value; // null until context provides store
|
||||
* ```
|
||||
*/
|
||||
declare class StoreAccessor<Store extends AnyStore> implements ReactiveController {
|
||||
#private;
|
||||
constructor(host: StoreAccessorHost, source: StoreSource<Store>, onAvailable?: (store: Store) => void);
|
||||
/** Returns the store, or null if not yet available from context. */
|
||||
get value(): Store | null;
|
||||
hostConnected(): void;
|
||||
}
|
||||
//#endregion
|
||||
export { StoreAccessor, StoreAccessorHost, StoreSource };
|
||||
//# sourceMappingURL=store-accessor.d.ts.map
|
||||
Reference in New Issue
Block a user