mirror of
https://github.com/jaronpate/unicord.git
synced 2026-10-18 21:47:40 +00:00
27 lines
1009 B
TypeScript
27 lines
1009 B
TypeScript
export function defaults(original: Record<string, any>, defaults: Record<string, any>) {
|
|
const final: Record<string, any> = {};
|
|
|
|
for (const prop of Object.keys(defaults)) {
|
|
final[prop] = defaults[prop];
|
|
}
|
|
|
|
for (const prop of Object.keys(original)) {
|
|
final[prop] = original[prop];
|
|
}
|
|
|
|
return final;
|
|
}
|
|
export const isNil = (value: any): value is null | undefined => value === null || value === undefined;
|
|
export const exists = <T>(value: T | null | undefined): value is NonNullable<T> => !isNil(value);
|
|
export const isObject = (value: any): value is Record<string, any> =>
|
|
typeof value === 'object' && !Array.isArray(value);
|
|
export const log = (...args: any[]) => {
|
|
const LOG_LEVEL = process.env.UNICORD_LOG_LEVEL?.toLocaleLowerCase();
|
|
|
|
if (LOG_LEVEL === 'debug') {
|
|
const timestamp = `\x1b[37m[${new Date().toLocaleString()}]\x1b[0m`;
|
|
const prefix = `\x1b[35m[unicord]`;
|
|
console.log(`${timestamp} ${prefix} \x1b[0m`, ...args);
|
|
}
|
|
};
|