Type alias Payload<T>

Payload<T>: {
    $action: (<Names>(...options) => Promise<void>);
    $actioning: (<Names>(...names) => boolean);
    $actionings: string[];
    $actions: Map<Middleware<Payload<T>>, Set<string>>;
    $enumerable: ((...keys) => void);
    $initials: Set<object>;
    $loading: boolean;
    $options: Map<string, Record<any, any>[]>;
    $reset: ((...keys) => void);
    $unenumerable: ((...keys) => void);
    $unenumerables: Set<string>;
    $unuse: (<Names>(...names) => ((...middlewares) => void));
    $use: (<Names>(...names) => ((...middlewares) => void));
    $using: (<Names>(...names) => ((...middlewares) => Promise<void>));
} & T["Initial"] & Record<any, any>

Type Parameters

  • T extends {
        Actions?: Record<string, object>;
        Initial?: Record<any, any>;
    } = Record<any, any>

Type declaration

  • $action: (<Names>(...options) => Promise<void>)
      • <Names>(...options): Promise<void>
      • Type Parameters

        • Names extends string | undefined = undefined

        Parameters

        • Rest ...options: ({
              $name?: Names[] | (keyof T["Actions"])[] | Names | keyof T["Actions"];
          } & DeepPartial<T["Initial"]> & UnionToIntersection<T["Actions"][Names & keyof T["Actions"]]> & Record<any, any> | Names | keyof T["Actions"])[]

        Returns Promise<void>

  • $actioning: (<Names>(...names) => boolean)
      • <Names>(...names): boolean
      • Type Parameters

        • Names extends string

        Parameters

        • Rest ...names: Names[] | (keyof T["Actions"])[]

        Returns boolean

  • $actionings: string[]
  • $actions: Map<Middleware<Payload<T>>, Set<string>>
  • $enumerable: ((...keys) => void)
      • (...keys): void
      • Parameters

        • Rest ...keys: (keyof T["Initial"])[] | (keyof T["Actions"])[] | string[]

        Returns void

  • $initials: Set<object>
  • $loading: boolean
  • $options: Map<string, Record<any, any>[]>
  • $reset: ((...keys) => void)
      • (...keys): void
      • Parameters

        • Rest ...keys: (keyof T["Initial"])[] | (keyof T["Actions"])[] | string[]

        Returns void

  • $unenumerable: ((...keys) => void)
      • (...keys): void
      • Parameters

        • Rest ...keys: (keyof T["Initial"])[] | (keyof T["Actions"])[] | string[]

        Returns void

  • $unenumerables: Set<string>
  • $unuse: (<Names>(...names) => ((...middlewares) => void))
      • <Names>(...names): ((...middlewares) => void)
      • Type Parameters

        • Names extends string

        Parameters

        • Rest ...names: Names[] | (keyof T["Actions"])[]

        Returns ((...middlewares) => void)

          • (...middlewares): void
          • Parameters

            • Rest ...middlewares: Middleware<Payload<{
                  Actions: T["Actions"];
                  Initial: T["Initial"] & UnionToIntersection<T["Actions"][Names & keyof T["Actions"]]>;
              }>>[]

            Returns void

  • $use: (<Names>(...names) => ((...middlewares) => void))
      • <Names>(...names): ((...middlewares) => void)
      • Type Parameters

        • Names extends string

        Parameters

        • Rest ...names: Names[] | (keyof T["Actions"])[]

        Returns ((...middlewares) => void)

          • (...middlewares): void
          • Parameters

            • Rest ...middlewares: Middleware<Payload<{
                  Actions: T["Actions"];
                  Initial: T["Initial"] & UnionToIntersection<T["Actions"][Names & keyof T["Actions"]]>;
              }>>[]

            Returns void

  • $using: (<Names>(...names) => ((...middlewares) => Promise<void>))
      • <Names>(...names): ((...middlewares) => Promise<void>)
      • Type Parameters

        • Names extends string

        Parameters

        • Rest ...names: Names[] | (keyof T["Actions"])[]

        Returns ((...middlewares) => Promise<void>)

          • (...middlewares): Promise<void>
          • Parameters

            • Rest ...middlewares: Middleware<Payload<{
                  Actions: T["Actions"];
                  Initial: T["Initial"] & UnionToIntersection<T["Actions"][Names & keyof T["Actions"]]>;
              }>>[]

            Returns Promise<void>

Generated using TypeDoc