@acrool/js-utils
Version:
Common javascript utils methods for project development
44 lines (43 loc) • 1.15 kB
TypeScript
/**
* 過濾物件keyValue中, 將等於true的收集為陣列
* ex: {_1: false, _2: true} -> [2]
*
* hookForm getValues
* @param checkedId
*/
export declare function filterIsTrue(checkedId: {
[key: string]: string | number | boolean | undefined;
}): number[];
/**
* 反轉物件
* ex: {'name': 'jack'} -> {jack: 'name'}
*
* use: reverseObj({'name': 'jack'})
* @param obj
*/
export declare function reverseObj<T = any>(obj: {
[key: string]: any;
}): T;
/**
* 物件對應 Key值轉換
* ex: {name: 'jack'} -> {name: 'id'}
*
* use:
* const from = {name: 'jack'};
* const to = autoMapper(from, {name: 'id'});
*
* @param obj 原物件
* @param mapping 新物件Key Value對應表
*/
export declare function autoMapper<T = any>(obj: object, mapping: any): T;
/**
* 物件賦值(只賦予原始資料存在的Key)
* @param originObj 原始資料物件
* @param assignObj 賦予資料物件
*/
export declare function objectAssignValue<T extends object>(originObj: T, assignObj: object): T;
/**
* Object.keys 型別增強
* @param object
*/
export declare function objectKeys<T extends object>(object: T): Array<keyof T>;