• Type Parameters

    • I extends InitState

      init state function

    • T extends Record<string, Record<PropertyKey, CallableFunction>>

      facets

    Parameters

    • tag: string
    • interfaceGuardKit: undefined | InterfaceGuardKit
    • init: I
    • facets: T & ThisType<{
          facets: GuardedKit<T>;
          state: StateResult<I>;
      }>
    • Optionaloptions: DefineKindOptions<{
          facets: T;
          state: StateResult<I>;
      }>

    Returns ((...args: Parameters<I>) => GuardedKit<T>)

      • (...args): GuardedKit<T>
      • Parameters

        • Rest...args: Parameters<I>

        Returns GuardedKit<T>