UNPKG

@voiceflow/common

Version:

Junk drawer of utility functions

35 lines 1.77 kB
import type { AnyRecord, Struct } from '../../types.js'; export { default as shallowEquals } from 'shallowequal'; export declare const selectField: <K extends string | number>(field: K) => <T extends { [key in K]: any; }>(obj: T) => T[K]; export declare const selectID: <T extends { id: any; }>(obj: T) => T["id"]; export declare const selectKey: <T extends { key: any; }>(obj: T) => T["key"]; export declare const selectValue: <T extends { value: any; }>(obj: T) => T["value"]; export declare const isObject: (obj: unknown) => obj is Struct; export declare const isPlainObject: (obj: unknown) => obj is Struct; export declare const hasProperty: <T, K extends string | keyof T>(obj: T, key: K) => obj is T & Record<K, unknown>; export declare const omit: <T, K extends keyof T>(obj: T, keys: K[]) => Omit<T, K>; export declare const pick: <T, K extends keyof T>(obj: T, keys: K[]) => Pick<T, K>; interface PickOmitBy { <T extends AnyRecord>(obj: T, predicate: (key: keyof T, value: T[keyof T]) => boolean): Partial<T>; <T extends AnyRecord, R extends AnyRecord>(obj: T, predicate: (key: keyof T, value: T[keyof T]) => boolean): R; } export declare const pickBy: PickOmitBy; export declare const omitBy: PickOmitBy; /** * @deprecated use pickBy instead */ export declare const filterEntries: PickOmitBy; export declare const mapEntry: <T, R>(obj: Record<string | number | symbol, T>, callback: (entry: [key: string, value: T]) => [string, R]) => { [k: string]: R; }; export declare const mapValue: <T, R>(obj: Record<string | number | symbol, T>, callback: (value: T) => R) => { [k: string]: R; }; export declare const shallowPartialEquals: <T extends object>(obj: T, partial: Partial<T>) => boolean; //# sourceMappingURL=common.d.ts.map