Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace FieldUtils

Index

Type aliases

Func

Func<Args, R>: (...args: Args) => R

Type parameters

  • Args: any[]

  • R

Type declaration

    • (...args: Args): R
    • Parameters

      • Rest ...args: Args

      Returns R

Middleware

Middleware<F>: (next: F) => F

Type parameters

  • F

Type declaration

    • (next: F): F
    • Parameters

      • next: F

      Returns F

Functions

compose

  • compose<Target>(...middlewares: Middleware<Target>[]): (target: Target) => Target
  • example middleware

    ```tsx function when(condition: () => boolean | Promise): Middleware<IValidator> { return (next: IValidator) => createAsyncValidator((value, ctx) => { return of(condition()).pipe( switchMap(cond => { if (cond) { return isAsyncValidator(next) ? next.validator(value, ctx) ?? of(null) : of(next(value, ctx)); } return of(null); }), ); }); } }

    const validator = compose(when(() => Math.random() > 0.5))(required('required if random number great then 5'));

    
    

    Type parameters

    • Target

    Parameters

    Returns (target: Target) => Target

      • (target: Target): Target
      • Parameters

        • target: Target

        Returns Target

Const makeChangeHandler

  • makeChangeHandler<Value>(model: FieldModel<Value>, option?: number, callback?: (value: Value) => void): (value: Value) => void
  • deprecated

    It's an alias of useChangeHandler, use the latter instead.

    Type parameters

    • Value

    Parameters

    • model: FieldModel<Value>
    • option: number = ...
    • Optional callback: (value: Value) => void
        • (value: Value): void
        • Parameters

          • value: Value

          Returns void

    Returns (value: Value) => void

      • (value: Value): void
      • Parameters

        • value: Value

        Returns void

multi

  • multi<T, R>(...funcs: ((t: T) => R)[]): (t: T) => void

useChangeHandler

  • useChangeHandler<Value>(model: FieldModel<Value>, option?: number, callback?: (value: Value) => void): (value: Value) => void
  • 生成一个默认的onChange回调,这个回调会触发model.validate 如果不需要在onChange的时候触发校验,如下即可:

    const onChange = useCallback(value => model.value = value, [model]);
    

    例如是一个input

    const onChange = useCallback((value: React.ChangeEvent<HTMLInputElement>) => {
      model.value = e.target.value;
    }, [model]);
    

    可以配合usePipe使用:

    function mapEventToValue(e) {
      return e.target.value;
    }
    function Foo() {
      const onChange = FieldUtils.usePipe(
        mapEventToValue,
        FieldUtils.useChangeHandler(model),
      );
    }
    

    Type parameters

    • Value

    Parameters

    • model: FieldModel<Value>
    • option: number = ...
    • Optional callback: (value: Value) => void
        • (value: Value): void
        • Parameters

          • value: Value

          Returns void

    Returns (value: Value) => void

      • (value: Value): void
      • Parameters

        • value: Value

        Returns void

useCompositionHandler

useMAppend

  • useMAppend<T>(...fns: ((t: T) => void)[]): (t: T) => void
  • deprecated

    use useMulti instead

    const callback = useMAppend(foo, bar, baz)

    is equal to

    const callback = useCallback(arg => {
      foo(arg);
      bar(arg);
      baz(arg);
    }, [foo, bar, baz])
    

    Type parameters

    • T

    Parameters

    • Rest ...fns: ((t: T) => void)[]

    Returns (t: T) => void

      • (t: T): void
      • Parameters

        • t: T

        Returns void

useMulti

  • useMulti<T, R>(func1: (t: T) => R, func2: (t: T) => R, deps?: any[]): (t: T) => void
  • useMulti<T, R>(func1: (t: T) => R, func2: (t: T) => R, func3: (t: T) => R, deps?: any[]): (t: T) => void
  • useMulti<T, R>(func1: (t: T) => R, func2: (t: T) => R, func3: (t: T) => R, func4: (t: T) => R, deps?: any[]): (t: T) => void
  • useMulti<T, R>(func1: (t: T) => R, func2: (t: T) => R, func3: (t: T) => R, func4: (t: T) => R, func5: (t: T) => R, deps?: any[]): (t: T) => void
  • useMulti<T, R>(func1: (t: T) => R, func2: (t: T) => R, func3: (t: T) => R, func4: (t: T) => R, func5: (t: T) => R, func6: (t: T) => R, deps?: any[]): (t: T) => void
  • useMulti<T, R>(func1: (t: T) => R, func2: (t: T) => R, func3: (t: T) => R, func4: (t: T) => R, func5: (t: T) => R, func6: (t: T) => R, func7: (t: T) => R, deps?: any[]): (t: T) => void
  • useMulti<T, R>(func1: (t: T) => R, func2: (t: T) => R, func3: (t: T) => R, func4: (t: T) => R, func5: (t: T) => R, func6: (t: T) => R, func7: (t: T) => R, func8: (t: T) => R, deps?: any[]): (t: T) => void
  • Type parameters

    • T

    • R

    Parameters

    • func1: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func2: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • Optional deps: any[]

    Returns (t: T) => void

      • (t: T): void
      • Parameters

        • t: T

        Returns void

  • Type parameters

    • T

    • R

    Parameters

    • func1: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func2: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func3: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • Optional deps: any[]

    Returns (t: T) => void

      • (t: T): void
      • Parameters

        • t: T

        Returns void

  • Type parameters

    • T

    • R

    Parameters

    • func1: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func2: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func3: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func4: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • Optional deps: any[]

    Returns (t: T) => void

      • (t: T): void
      • Parameters

        • t: T

        Returns void

  • Type parameters

    • T

    • R

    Parameters

    • func1: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func2: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func3: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func4: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func5: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • Optional deps: any[]

    Returns (t: T) => void

      • (t: T): void
      • Parameters

        • t: T

        Returns void

  • Type parameters

    • T

    • R

    Parameters

    • func1: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func2: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func3: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func4: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func5: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func6: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • Optional deps: any[]

    Returns (t: T) => void

      • (t: T): void
      • Parameters

        • t: T

        Returns void

  • Type parameters

    • T

    • R

    Parameters

    • func1: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func2: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func3: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func4: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func5: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func6: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func7: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • Optional deps: any[]

    Returns (t: T) => void

      • (t: T): void
      • Parameters

        • t: T

        Returns void

  • Type parameters

    • T

    • R

    Parameters

    • func1: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func2: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func3: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func4: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func5: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func6: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func7: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • func8: (t: T) => R
        • (t: T): R
        • Parameters

          • t: T

          Returns R

    • Optional deps: any[]

    Returns (t: T) => void

      • (t: T): void
      • Parameters

        • t: T

        Returns void

usePipe

  • usePipe<T0, T1, T2>(fn0: (t0: T0) => T1, fn1: (t1: T1) => T2, deps?: any[]): (t0: T0) => T2
  • usePipe<T0, T1, T2, T3>(fn0: (t0: T0) => T1, fn1: (t1: T1) => T2, fn2: (t2: T2) => T3, deps?: any[]): (t0: T0) => T3
  • usePipe<T0, T1, T2, T3, T4>(fn0: (t0: T0) => T1, fn1: (t1: T1) => T2, fn2: (t2: T2) => T3, fn3: (t3: T3) => T4, deps?: any[]): (t0: T0) => T4
  • usePipe<T0, T1, T2, T3, T4, T5>(fn0: (t0: T0) => T1, fn1: (t1: T1) => T2, fn2: (t2: T2) => T3, fn3: (t3: T3) => T4, fn4: (t4: T4) => T5, deps?: any[]): (t0: T0) => T5
  • usePipe<T0, T1, T2, T3, T4, T5, T6>(fn0: (t0: T0) => T1, fn1: (t1: T1) => T2, fn2: (t2: T2) => T3, fn3: (t3: T3) => T4, fn4: (t4: T4) => T5, fn5: (t5: T5) => T6, deps?: any[]): (t0: T0) => T6
  • usePipe<T0, T1, T2, T3, T4, T5, T6, T7>(fn0: (t0: T0) => T1, fn1: (t1: T1) => T2, fn2: (t2: T2) => T3, fn3: (t3: T3) => T4, fn4: (t4: T4) => T5, fn5: (t5: T5) => T6, fn6: (t6: T6) => T7, deps?: any[]): (t0: T0) => T7
  • usePipe<T0, T1, T2, T3, T4, T5, T6, T7, T8>(fn0: (t0: T0) => T1, fn1: (t1: T1) => T2, fn2: (t2: T2) => T3, fn3: (t3: T3) => T4, fn4: (t4: T4) => T5, fn5: (t5: T5) => T6, fn6: (t6: T6) => T7, fn7: (t7: T7) => T8, deps?: any[]): (t0: T0) => T8
  • const callback = usePipe(foo, bar, baz)

    is equal to

    const callback = useMemo(() => arg => {
     return baz(bar(foo(arg)))
    }, [foo, bar, baz])
    

    Type parameters

    • T0

    • T1

    • T2

    Parameters

    • fn0: (t0: T0) => T1
        • (t0: T0): T1
        • Parameters

          • t0: T0

          Returns T1

    • fn1: (t1: T1) => T2
        • (t1: T1): T2
        • Parameters

          • t1: T1

          Returns T2

    • Optional deps: any[]

    Returns (t0: T0) => T2

      • (t0: T0): T2
      • const callback = usePipe(foo, bar, baz)

        is equal to

        const callback = useMemo(() => arg => {
         return baz(bar(foo(arg)))
        }, [foo, bar, baz])
        

        Parameters

        • t0: T0

        Returns T2

  • Type parameters

    • T0

    • T1

    • T2

    • T3

    Parameters

    • fn0: (t0: T0) => T1
        • (t0: T0): T1
        • Parameters

          • t0: T0

          Returns T1

    • fn1: (t1: T1) => T2
        • (t1: T1): T2
        • Parameters

          • t1: T1

          Returns T2

    • fn2: (t2: T2) => T3
        • (t2: T2): T3
        • Parameters

          • t2: T2

          Returns T3

    • Optional deps: any[]

    Returns (t0: T0) => T3

      • (t0: T0): T3
      • Parameters

        • t0: T0

        Returns T3

  • Type parameters

    • T0

    • T1

    • T2

    • T3

    • T4

    Parameters

    • fn0: (t0: T0) => T1
        • (t0: T0): T1
        • Parameters

          • t0: T0

          Returns T1

    • fn1: (t1: T1) => T2
        • (t1: T1): T2
        • Parameters

          • t1: T1

          Returns T2

    • fn2: (t2: T2) => T3
        • (t2: T2): T3
        • Parameters

          • t2: T2

          Returns T3

    • fn3: (t3: T3) => T4
        • (t3: T3): T4
        • Parameters

          • t3: T3

          Returns T4

    • Optional deps: any[]

    Returns (t0: T0) => T4

      • (t0: T0): T4
      • Parameters

        • t0: T0

        Returns T4

  • Type parameters

    • T0

    • T1

    • T2

    • T3

    • T4

    • T5

    Parameters

    • fn0: (t0: T0) => T1
        • (t0: T0): T1
        • Parameters

          • t0: T0

          Returns T1

    • fn1: (t1: T1) => T2
        • (t1: T1): T2
        • Parameters

          • t1: T1

          Returns T2

    • fn2: (t2: T2) => T3
        • (t2: T2): T3
        • Parameters

          • t2: T2

          Returns T3

    • fn3: (t3: T3) => T4
        • (t3: T3): T4
        • Parameters

          • t3: T3

          Returns T4

    • fn4: (t4: T4) => T5
        • (t4: T4): T5
        • Parameters

          • t4: T4

          Returns T5

    • Optional deps: any[]

    Returns (t0: T0) => T5

      • (t0: T0): T5
      • Parameters

        • t0: T0

        Returns T5

  • Type parameters

    • T0

    • T1

    • T2

    • T3

    • T4

    • T5

    • T6

    Parameters

    • fn0: (t0: T0) => T1
        • (t0: T0): T1
        • Parameters

          • t0: T0

          Returns T1

    • fn1: (t1: T1) => T2
        • (t1: T1): T2
        • Parameters

          • t1: T1

          Returns T2

    • fn2: (t2: T2) => T3
        • (t2: T2): T3
        • Parameters

          • t2: T2

          Returns T3

    • fn3: (t3: T3) => T4
        • (t3: T3): T4
        • Parameters

          • t3: T3

          Returns T4

    • fn4: (t4: T4) => T5
        • (t4: T4): T5
        • Parameters

          • t4: T4

          Returns T5

    • fn5: (t5: T5) => T6
        • (t5: T5): T6
        • Parameters

          • t5: T5

          Returns T6

    • Optional deps: any[]

    Returns (t0: T0) => T6

      • (t0: T0): T6
      • Parameters

        • t0: T0

        Returns T6

  • Type parameters

    • T0

    • T1

    • T2

    • T3

    • T4

    • T5

    • T6

    • T7

    Parameters

    • fn0: (t0: T0) => T1
        • (t0: T0): T1
        • Parameters

          • t0: T0

          Returns T1

    • fn1: (t1: T1) => T2
        • (t1: T1): T2
        • Parameters

          • t1: T1

          Returns T2

    • fn2: (t2: T2) => T3
        • (t2: T2): T3
        • Parameters

          • t2: T2

          Returns T3

    • fn3: (t3: T3) => T4
        • (t3: T3): T4
        • Parameters

          • t3: T3

          Returns T4

    • fn4: (t4: T4) => T5
        • (t4: T4): T5
        • Parameters

          • t4: T4

          Returns T5

    • fn5: (t5: T5) => T6
        • (t5: T5): T6
        • Parameters

          • t5: T5

          Returns T6

    • fn6: (t6: T6) => T7
        • (t6: T6): T7
        • Parameters

          • t6: T6

          Returns T7

    • Optional deps: any[]

    Returns (t0: T0) => T7

      • (t0: T0): T7
      • Parameters

        • t0: T0

        Returns T7

  • Type parameters

    • T0

    • T1

    • T2

    • T3

    • T4

    • T5

    • T6

    • T7

    • T8

    Parameters

    • fn0: (t0: T0) => T1
        • (t0: T0): T1
        • Parameters

          • t0: T0

          Returns T1

    • fn1: (t1: T1) => T2
        • (t1: T1): T2
        • Parameters

          • t1: T1

          Returns T2

    • fn2: (t2: T2) => T3
        • (t2: T2): T3
        • Parameters

          • t2: T2

          Returns T3

    • fn3: (t3: T3) => T4
        • (t3: T3): T4
        • Parameters

          • t3: T3

          Returns T4

    • fn4: (t4: T4) => T5
        • (t4: T4): T5
        • Parameters

          • t4: T4

          Returns T5

    • fn5: (t5: T5) => T6
        • (t5: T5): T6
        • Parameters

          • t5: T5

          Returns T6

    • fn6: (t6: T6) => T7
        • (t6: T6): T7
        • Parameters

          • t6: T6

          Returns T7

    • fn7: (t7: T7) => T8
        • (t7: T7): T8
        • Parameters

          • t7: T7

          Returns T8

    • Optional deps: any[]

    Returns (t0: T0) => T8

      • (t0: T0): T8
      • Parameters

        • t0: T0

        Returns T8

Generated using TypeDoc