Options
All
  • Public
  • Public/Protected
  • All
Menu

@fp51/foldable-helpers - v1.0.0

Index

Functions

and

  • and<Guards>(...guards: Guards): (t: InputParametersToIntersection<Parameters<Guards[number]>>) => t is InputParametersToIntersection<Parameters<Guards[number]>> & IntersectionOfOutputTypes
  • Type parameters

    • Guards: Guard<any, any>[]

    Parameters

    • Rest ...guards: Guards

    Returns (t: InputParametersToIntersection<Parameters<Guards[number]>>) => t is InputParametersToIntersection<Parameters<Guards[number]>> & IntersectionOfOutputTypes

      • (t: InputParametersToIntersection<Parameters<Guards[number]>>): t is InputParametersToIntersection<Parameters<Guards[number]>> & IntersectionOfOutputTypes
      • Parameters

        • t: InputParametersToIntersection<Parameters<Guards[number]>>

        Returns t is InputParametersToIntersection<Parameters<Guards[number]>> & IntersectionOfOutputTypes

createFold

  • createFold<Types>(...guards: Guardify<Types>): { <R>(...funcs: Funcify<Types, R>): (s: AllTypes) => R; <R, S>(...funcs: Funcify<{ [ key in string | number | symbol]: Extract<Types[key], S> }, R>): (s: S) => R }
  • Type parameters

    • Types: any[]

    Parameters

    • Rest ...guards: Guardify<Types>

    Returns { <R>(...funcs: Funcify<Types, R>): (s: AllTypes) => R; <R, S>(...funcs: Funcify<{ [ key in string | number | symbol]: Extract<Types[key], S> }, R>): (s: S) => R }

      • <R>(...funcs: Funcify<Types, R>): (s: AllTypes) => R
      • <R, S>(...funcs: Funcify<{ [ key in string | number | symbol]: Extract<Types[key], S> }, R>): (s: S) => R
      • Type parameters

        • R

        Parameters

        • Rest ...funcs: Funcify<Types, R>

        Returns (s: AllTypes) => R

          • (s: AllTypes): R
          • Parameters

            • s: AllTypes

            Returns R

      • Type parameters

        • R

        • S: any

        Parameters

        • Rest ...funcs: Funcify<{ [ key in string | number | symbol]: Extract<Types[key], S> }, R>

        Returns (s: S) => R

          • (s: S): R
          • Parameters

            • s: S

            Returns R

createFoldObject

  • createFoldObject<TypesRecord>(guards: { [ key in string | number | symbol]: Guard<any, TypesRecord[key]> }): { <R>(funcs: { [ key in string | number | symbol]: Func<TypesRecord[key], R> }): (s: AllTypes) => R; <R, S>(funcs: { [ key in string | number | symbol]: Func<Extract<S, TypesRecord[key]>, R> }): (s: S) => R }
  • Type parameters

    • TypesRecord: Record<string | number | symbol, any>

    Parameters

    • guards: { [ key in string | number | symbol]: Guard<any, TypesRecord[key]> }

    Returns { <R>(funcs: { [ key in string | number | symbol]: Func<TypesRecord[key], R> }): (s: AllTypes) => R; <R, S>(funcs: { [ key in string | number | symbol]: Func<Extract<S, TypesRecord[key]>, R> }): (s: S) => R }

      • <R>(funcs: { [ key in string | number | symbol]: Func<TypesRecord[key], R> }): (s: AllTypes) => R
      • <R, S>(funcs: { [ key in string | number | symbol]: Func<Extract<S, TypesRecord[key]>, R> }): (s: S) => R
      • Type parameters

        • R

        Parameters

        • funcs: { [ key in string | number | symbol]: Func<TypesRecord[key], R> }

        Returns (s: AllTypes) => R

          • (s: AllTypes): R
          • Parameters

            • s: AllTypes

            Returns R

      • Type parameters

        • R

        • S: any

        Parameters

        • funcs: { [ key in string | number | symbol]: Func<Extract<S, TypesRecord[key]>, R> }

        Returns (s: S) => R

          • (s: S): R
          • Parameters

            • s: S

            Returns R

not

  • not<A, B>(guard: Guard<A, B>): NotGuard<A, B>
  • Type parameters

    • A

    • B

    Parameters

    • guard: Guard<A, B>

    Returns NotGuard<A, B>

or

  • or<Guards>(...guards: Guards): (t: InputParametersToIntersection<Parameters<Guards[number]>>) => t is InputParametersToIntersection<Parameters<Guards[number]>> & GuardedType<Guards[number]>
  • Type parameters

    • Guards: Guard<any, any>[]

    Parameters

    • Rest ...guards: Guards

    Returns (t: InputParametersToIntersection<Parameters<Guards[number]>>) => t is InputParametersToIntersection<Parameters<Guards[number]>> & GuardedType<Guards[number]>

      • (t: InputParametersToIntersection<Parameters<Guards[number]>>): t is InputParametersToIntersection<Parameters<Guards[number]>> & GuardedType<Guards[number]>
      • Parameters

        • t: InputParametersToIntersection<Parameters<Guards[number]>>

        Returns t is InputParametersToIntersection<Parameters<Guards[number]>> & GuardedType<Guards[number]>

Generated using TypeDoc