UNPKG

deox

Version:

Functional Type-safe Flux Standard Utilities

28 lines (27 loc) 1.4 kB
import { AnyAction } from './create-action'; import { ActionCreator } from './create-action-creator'; import { ExtractAction } from './types'; /** * Non-curried function * @example * const increment = createActionCreator('[Counter] increment') * const decrement = createActionCreator('[Counter] decrement') * isOfType('[Counter] increment', increment()) //=> true * @example * isOfType(['[Counter] increment', '[Counter] decrement'], increment()) //=> true * @example * isOfType(decrement(), increment()) //=> false */ export declare function isOfType<TSource extends AnyAction, TKey extends string | AnyAction | ActionCreator<AnyAction>, TSink extends TSource = ExtractAction<TSource, TKey>>(keys: TKey | ReadonlyArray<TKey>, action: TSource): action is TSink; /** * Curried function * @example * const increment = createActionCreator('[Counter] increment') * const decrement = createActionCreator('[Counter] decrement') * isOfType('[Counter] increment')(increment()) //=> true * @example * isOfType(['[Counter] increment', '[Counter] decrement'])(increment()) //=> true * @example * isOfType(decrement())(increment()) //=> false */ export declare function isOfType<TKey extends string | AnyAction | ActionCreator<AnyAction>>(keys: TKey | ReadonlyArray<TKey>): <TSource extends AnyAction, TSink extends TSource = ExtractAction<TSource, TKey>>(action: TSource) => action is TSink;