@voiceflow/common
Version:
Junk drawer of utility functions
35 lines • 1.76 kB
TypeScript
import type { AnyRecord, Struct } from '../../types';
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