interface ExoZone { exo: (<T>(tag: string,
interfaceGuard: undefined | InterfaceGuard<{ [M in string | number | symbol]: MethodGuard }>,
methods: T,
options?: FarClassOptions<ClassContext<{}, T>>) => Guarded<T>); exoClass: (<I, M>(tag: string,
interfaceGuard: undefined | ExoClassInterfaceGuard<M>,
init: I,
methods: ExoClassMethods<M, I>,
options?: FarClassOptions<ClassContext<ReturnType<I>, M>>) => ((...args: Parameters<I>) => Guarded<M>)); exoClassKit: (<I, F>(tag: string,
interfaceGuardKit: undefined | ExoClassInterfaceGuardKit<F>,
init: I,
methodsKit: ExoClassKitMethods<F, I>,
options?: FarClassOptions<KitContext<ReturnType<I>, GuardedKit<F>>, GuardedKit<F>>) => ((...args: Parameters<I>) => GuardedKit<F>)); makeOnce: (<T>(key: string,
maker: ((key: string) => T)) => T); subZone: ((label: string,
options?: StoreOptions) => Zone); watchPromise: ((p: Promise<any>,
watcher: PromiseWatcher,
...watcherArgs: unknown[]) => void); } Properties
exo
exo: (<T>(tag: string,
interfaceGuard: undefined | InterfaceGuard<{ [M in string | number | symbol]: MethodGuard}>,
methods: T,
options?: FarClassOptions<ClassContext<{}, T>>) => Guarded<T>) exoClass
exoClass: (<I, M>(tag: string,
interfaceGuard: undefined | ExoClassInterfaceGuard<M>,
init: I,
methods: ExoClassMethods<M, I>,
options?: FarClassOptions<ClassContext<ReturnType<I>, M>>) => ((...args: Parameters<I>) => Guarded<M>)) exoClassKit
exoClassKit: (<I, F>(tag: string,
interfaceGuardKit: undefined | ExoClassInterfaceGuardKit<F>,
init: I,
methodsKit: ExoClassKitMethods<F, I>,
options?: FarClassOptions<KitContext<ReturnType<I>, GuardedKit<F>>, GuardedKit<F>>) => ((...args: Parameters<I>) => GuardedKit<F>)) makeOnce
makeOnce: (<T>(key: string,
maker: ((key: string) => T)) => T) watchPromise
watchPromise: ((p: Promise<any>,
watcher: PromiseWatcher,
...watcherArgs: unknown[]) => void) Type declaration
- (p, watcher, ...watcherArgs): void
Returns void
create a singleton exo-object instance bound to this zone