UNPKG

@v4fire/core

Version:
97 lines (78 loc) 1.83 kB
/*! * V4Fire Core * https://github.com/V4Fire/Core * * Released under the MIT license * https://github.com/V4Fire/Core/blob/master/LICENSE */ export type WarnExprType = 'api' | 'module' | 'constant' | 'function' | 'class' | 'component' | 'method' | 'property' | 'accessor'; export type WarnContext = 'warning' | 'deprecated' | 'unimplemented'; export interface WarnAlternativeOptions { /** * Name of an alternative function/method/etc. */ name: string; /** * Source path of the alternative */ source?: string; } export type WarnAlternative = string | WarnAlternativeOptions; export interface WarnOptions { /** * Type of warn context * @type `'warning'` */ context?: WarnContext; /** * Name of an expression to wrap */ name?: string; /** * Type of expression to wrap */ type?: WarnExprType; /** * Name of a function/method/etc. that need to use instead of the current * or an object with additional options of the alternative */ alternative?: WarnAlternative; /** * Indicates that a function/method/etc. was renamed, but its interface still actual, * the value contains a name after renaming */ renamedTo?: string; /** * Indicates that a function/method/etc. was moved to a different file, but its interface still actual, * the value contains a source path after moving */ movedTo?: string; /** * Additional information */ notice?: string; } export interface InlineWarnOptions extends WarnOptions { /** @see [[WarnOptions.name]] */ name: string; /** @see [[WarnOptions.type]] */ type: WarnExprType; } export interface WarnedFn<A extends unknown[] = [], R = unknown> { (...args: A): R; warning: WarnOptions | InlineWarnOptions; deprecated?: WarnOptions | InlineWarnOptions; unimplemented?: WarnOptions | InlineWarnOptions; }