color-q/src/utls.ts

33 lines
836 B
TypeScript

import { isEmpty, isNil } from 'lodash-es';
export function defaultEmptyFormData<D>(formData: FormData, param: string, defaultValue: D): D {
const value = formData.get(param) as D;
if (isNil(value) || isEmpty(value)) {
return defaultValue;
}
return value;
}
export function defaultEmptyValue<T, D>(value: T, defaultValue: D): T | D {
if (isNil(value) || isEmpty(value)) {
return defaultValue;
}
return value;
}
export function isNilOrEmpty(value?: unknown): boolean {
return isNil(value) || isEmpty(value);
}
export function mapToObject<K extends string | number | symbol, V>(map: Map<K, V>): Record<K, V> {
const obj = {} as Record<K, V>;
map.forEach((value, key) => {
if (value instanceof Map) {
obj[key] = mapToObject(value);
} else {
obj[key] = value;
}
});
return obj;
}