@voxpelli/typed-utils
Version:
My personal (type-enabled) utils / helpers
45 lines • 2.12 kB
TypeScript
/**
* @template {unknown[]|(readonly unknown[])} T
* @template {undefined|null|false|string} [V=undefined]
* @template {import('@voxpelli/type-helpers').NonGenericString<V>} [R=import('@voxpelli/type-helpers').NonGenericString<V>]
* @param {T} input
* @param {import('@voxpelli/type-helpers').NonGenericString<V, 'Only accepting literal strings and undefined|null|false'>} [value]
* @returns {Exclude<T[number], R>[]}
*/
export function filter<T extends unknown[] | (readonly unknown[]), V extends undefined | null | false | string = undefined, R extends import("@voxpelli/type-helpers").NonGenericString<V> = import("@voxpelli/type-helpers").NonGenericString<V, never>>(input: T, value?: import("@voxpelli/type-helpers").NonGenericString<V, "Only accepting literal strings and undefined|null|false"> | undefined): Exclude<T[number], R>[];
/**
* @template {unknown[]|(readonly unknown[])} T
* @template R
* @param {T} input
* @param {(value: T[number]) => value is R} callback
* @returns {R[]}
*/
export function filterWithCallback<T extends unknown[] | (readonly unknown[]), R>(input: T, callback: (value: T[number]) => value is R): R[];
/**
* @template {(value: unknown) => value is any} CB
* @param {unknown} value
* @param {CB} callback
* @returns {value is Array<CB extends ((value: unknown) => value is infer U) ? U : never>}
*/
export function isArrayOfType<CB extends (value: unknown) => value is any>(value: unknown, callback: CB): value is Array<CB extends ((value: unknown) => value is infer U) ? U : never>;
/**
* Array.isArray() on its own give type any[]
*
* @deprecated Use typesafeIsArray() instead
* @param {unknown} value
* @returns {value is unknown[]}
*/
export function isUnknownArray(value: unknown): value is unknown[];
/**
* Array.isArray() on its own give type any[]
*
* @param {unknown} value
* @returns {value is unknown[]}
*/
export function typesafeIsArray(value: unknown): value is unknown[];
/**
* @param {unknown} value
* @returns {value is string[]}
*/
export function isStringArray(value: unknown): value is string[];
//# sourceMappingURL=array.d.ts.map