Function defineExoClassKit
- defineExoClassKit<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 in string | number | symbol]: ThisType<{
facets: GuardedKit<F>;
state: ReturnType<I>;
}>
}
Optional options: FarClassOptions<KitContext<S, F>> = {}
Returns ((...args) => GuardedKit<F>)
- (...args): GuardedKit<F>
Parameters
Rest ...args: Parameters<I>
Returns GuardedKit<F>
init function