- defineExoClass<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>