/// import { TypedArray } from 'type-fest'; import { StringPredicate } from './predicates/string'; import { NumberPredicate } from './predicates/number'; import { BooleanPredicate } from './predicates/boolean'; import { Predicate, PredicateOptions } from './predicates/predicate'; import { ArrayPredicate } from './predicates/array'; import { ObjectPredicate, Shape } from './predicates/object'; import { DatePredicate } from './predicates/date'; import { ErrorPredicate } from './predicates/error'; import { MapPredicate } from './predicates/map'; import { WeakMapPredicate } from './predicates/weak-map'; import { SetPredicate } from './predicates/set'; import { WeakSetPredicate } from './predicates/weak-set'; import { TypedArrayPredicate } from './predicates/typed-array'; import { ArrayBufferPredicate } from './predicates/array-buffer'; import { DataViewPredicate } from './predicates/data-view'; import { BasePredicate } from './predicates/base-predicate'; import { AnyPredicate } from './predicates/any'; export interface Predicates { /** Test the value to be a string. */ readonly string: StringPredicate; /** Test the value to be a number. */ readonly number: NumberPredicate; /** Test the value to be a boolean. */ readonly boolean: BooleanPredicate; /** Test the value to be undefined. */ readonly undefined: Predicate; /** Test the value to be null. */ readonly null: Predicate; /** Test the value to be null or undefined. */ readonly nullOrUndefined: Predicate; /** Test the value to be not a number. */ readonly nan: Predicate; /** Test the value to be a Symbol. */ readonly symbol: Predicate; /** Test the value to be an array. */ readonly array: ArrayPredicate; /** Test the value to be an object. */ readonly object: ObjectPredicate; /** Test the value to be a Date. */ readonly date: DatePredicate; /** Test the value to be an Error. */ readonly error: ErrorPredicate; /** Test the value to be a Map. */ readonly map: MapPredicate; /** Test the value to be a WeakMap. */ readonly weakMap: WeakMapPredicate; /** Test the value to be a Set. */ readonly set: SetPredicate; /** Test the value to be a WeakSet. */ readonly weakSet: WeakSetPredicate; /** Test the value to be a Function. */ readonly function: Predicate; /** Test the value to be a Buffer. */ readonly buffer: Predicate; /** Test the value to be a RegExp. */ readonly regExp: Predicate; /** Test the value to be a Promise. */ readonly promise: Predicate>; /** Test the value to be a typed array. */ readonly typedArray: TypedArrayPredicate; /** Test the value to be a Int8Array. */ readonly int8Array: TypedArrayPredicate; /** Test the value to be a Uint8Array. */ readonly uint8Array: TypedArrayPredicate; /** Test the value to be a Uint8ClampedArray. */ readonly uint8ClampedArray: TypedArrayPredicate; /** Test the value to be a Int16Array. */ readonly int16Array: TypedArrayPredicate; /** Test the value to be a Uint16Array. */ readonly uint16Array: TypedArrayPredicate; /** Test the value to be a Int32Array. */ readonly int32Array: TypedArrayPredicate; /** Test the value to be a Uint32Array. */ readonly uint32Array: TypedArrayPredicate; /** Test the value to be a Float32Array. */ readonly float32Array: TypedArrayPredicate; /** Test the value to be a Float64Array. */ readonly float64Array: TypedArrayPredicate; /** Test the value to be a ArrayBuffer. */ readonly arrayBuffer: ArrayBufferPredicate; /** Test the value to be a SharedArrayBuffer. */ readonly sharedArrayBuffer: ArrayBufferPredicate; /** Test the value to be a DataView. */ readonly dataView: DataViewPredicate; /** Test the value to be Iterable. */ readonly iterable: Predicate>; /** Test that the value matches at least one of the given predicates. */ any: ((p1: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate, p3: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate, p3: BasePredicate, p4: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate, p3: BasePredicate, p4: BasePredicate, p5: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate, p3: BasePredicate, p4: BasePredicate, p5: BasePredicate, p6: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate, p3: BasePredicate, p4: BasePredicate, p5: BasePredicate, p6: BasePredicate, p7: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate, p3: BasePredicate, p4: BasePredicate, p5: BasePredicate, p6: BasePredicate, p7: BasePredicate, p8: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate, p3: BasePredicate, p4: BasePredicate, p5: BasePredicate, p6: BasePredicate, p7: BasePredicate, p8: BasePredicate, p9: BasePredicate) => AnyPredicate) & ((p1: BasePredicate, p2: BasePredicate, p3: BasePredicate, p4: BasePredicate, p5: BasePredicate, p6: BasePredicate, p7: BasePredicate, p8: BasePredicate, p9: BasePredicate, p10: BasePredicate) => AnyPredicate) & ((...predicate: BasePredicate[]) => AnyPredicate); } declare const _default: (object: T, options?: PredicateOptions | undefined) => T & Predicates; export default _default; export { StringPredicate, NumberPredicate, BooleanPredicate, ArrayPredicate, ObjectPredicate, DatePredicate, ErrorPredicate, MapPredicate, WeakMapPredicate, SetPredicate, WeakSetPredicate, TypedArrayPredicate, ArrayBufferPredicate, DataViewPredicate, AnyPredicate, Shape };