Properties
exo
exo: (<T>(tag, interfaceGuard, methods, options?) => Guarded<T>)
Type declaration
- <T>(tag, interfaceGuard, methods, options?): Guarded<T>
Parameters
tag: string
interfaceGuard: undefined | InterfaceGuard<{
[M in string | number | symbol]: MethodGuard
}>
methods: T
Optional
options: FarClassOptions<ClassContext<S, M>, any>
Returns Guarded<T>
exoClass
exoClass: (<I, M>(tag, interfaceGuard, init, methods, options?) => ((...args) => Guarded<M>))
Type declaration
- <I, M>(tag, interfaceGuard, init, methods, options?): ((...args) => Guarded<M>)
Type Parameters
I extends ((...args) => any)
M extends Methods
Parameters
tag: string
interfaceGuard: undefined | InterfaceGuard<{
[K in string | number | symbol]: MethodGuard
}>
init: I
methods: M & ThisType<{
self: Guarded<M>;
state: ReturnType<I>;
}>
Optional
options: FarClassOptions<ClassContext<S, M>, any>
Returns ((...args) => Guarded<M>)
- (...args): Guarded<M>
Parameters
Rest
...args: Parameters<I>
Returns Guarded<M>
exoClassKit
exoClassKit: (<I, F>(tag, interfaceGuardKit, init, methodsKit, options?) => ((...args) => GuardedKit<F>))
Type declaration
- <I, F>(tag, interfaceGuardKit, init, methodsKit, options?): ((...args) => GuardedKit<F>)
Type Parameters
I extends ((...args) => any)
F extends Record<string, Methods>
Parameters
tag: string
interfaceGuardKit: undefined | {
[K in string | number | symbol]: InterfaceGuard<{
[M in string | number | symbol]: MethodGuard
}>
}
init: I
methodsKit: F & {
[K_1 in string | number | symbol]: ThisType<{
facets: GuardedKit<F>;
state: ReturnType<I>;
}>
}
Optional
options: FarClassOptions<KitContext<S, F>, GuardedKit<F>>
Returns ((...args) => GuardedKit<F>)
- (...args): GuardedKit<F>
Parameters
Rest
...args: Parameters<I>
Returns GuardedKit<F>
makeOnce
makeOnce: (<T>(key, maker) => T)
Type declaration
- <T>(key, maker): T
Parameters
key: string
maker: ((key) => T)
Returns T
subZone
subZone: ((label,
options?) => Zone)
create a singleton exo-object instance bound to this zone