UNPKG

ohayolibs

Version:

Ohayo is a set of essential modules for ohayojp.

48 lines (38 loc) 1.52 kB
import { isDevMode } from '@angular/core'; import { environment } from 'ng-zorro-antd/core/environments'; import { NzSafeAny } from 'ng-zorro-antd/core/types'; const record: Record<string, boolean> = {}; export const PREFIX = '[@OHAYO]:'; function notRecorded(...args: NzSafeAny[]): boolean { const asRecord = args.reduce((acc, c) => acc + c.toString(), ''); if (record[asRecord]) { return false; } else { record[asRecord] = true; return true; } } function consoleCommonBehavior(consoleFunc: (...args: NzSafeAny) => void, ...args: NzSafeAny[]): void { if (environment.isTestMode || (isDevMode() && notRecorded(...args))) { consoleFunc(...args); } } // Warning should only be printed in dev mode and only once. export const warn = (...args: NzSafeAny[]) => consoleCommonBehavior((...arg: NzSafeAny[]) => console.warn(PREFIX, ...arg), ...args); export const deprecation11 = (comp: string, from: string, to?: string) => { warnDeprecation(`${comp} => '${from}' is going to be removed in 11.0.0${to ? `, Please use '${to}' instead` : ``}.`); }; export const warnDeprecation = (...args: NzSafeAny[]) => { if (!environment.isTestMode) { const stack = new Error().stack; return consoleCommonBehavior((...arg: NzSafeAny[]) => console.warn(PREFIX, 'deprecated:', ...arg, stack), ...args); } else { return () => { }; } }; // Log should only be printed in dev mode. export const log = (...args: NzSafeAny[]) => { if (isDevMode()) { console.log(PREFIX, ...args); } };