payload-is
Version:
A comprehensive TypeScript/JavaScript type checking library providing functions to check data types, collections, primitives, and built-in objects
27 lines (22 loc) • 721 B
text/typescript
import { getTag } from "./type.ts";
import type { AnyAsyncFunction, AnyFunction } from "./type.ts";
// function
export function isFunction(payload: unknown): payload is AnyFunction {
return typeof payload === "function";
}
// AsyncFunction
export function isAsyncFunction(payload: unknown): payload is AnyAsyncFunction {
return getTag(payload) === "AsyncFunction";
}
// GeneratorFunction
export function isGeneratorFunction(
payload: unknown
): payload is GeneratorFunction {
return getTag(payload) === "GeneratorFunction";
}
// AsyncGeneratorFunction
export function isAsyncGeneratorFunction(
payload: unknown
): payload is AsyncGeneratorFunction {
return getTag(payload) === "AsyncGeneratorFunction";
}