@masknet/eslint-plugin
Version:
eslint plugin for masknet
20 lines • 1.64 kB
TypeScript
import type { ParserServices, ParserServicesWithTypeInformation } from '@typescript-eslint/utils';
import type { RuleContext, RuleListener, RuleMetaData } from '@typescript-eslint/utils/ts-eslint';
interface Metadata<TMessageIDs extends string, TOptions extends readonly unknown[]> extends RuleMetaData<TMessageIDs, TOptions> {
hidden?: boolean;
}
export interface RuleModule<TResolvedOptions, TOptions extends readonly unknown[], TMessageIDs extends string, TRuleListener extends RuleListener> {
readonly name: string;
readonly meta: Metadata<TMessageIDs, TOptions>;
resolveOptions?(...options: TOptions): TResolvedOptions;
create(context: Readonly<RuleContext<TMessageIDs, TOptions>>, options: TResolvedOptions): TRuleListener;
}
export interface ExportedRuleModule<TOptions extends readonly unknown[] = unknown[], TMessageIDs extends string = string, TRuleListener extends RuleListener = RuleListener> {
readonly name: string;
readonly meta: Metadata<TMessageIDs, TOptions>;
create(context: Readonly<RuleContext<TMessageIDs, TOptions>>): TRuleListener;
}
export type { RuleContext } from '@typescript-eslint/utils/ts-eslint';
export declare function createRule<TResolvedOptions, TOptions extends unknown[], TMessageIDs extends string, TRuleListener extends RuleListener = RuleListener>({ name, meta, create, resolveOptions }: RuleModule<TResolvedOptions, TOptions, TMessageIDs, TRuleListener>): any;
export declare function ensureParserWithTypeInformation(parserServices: Partial<ParserServices> | undefined): asserts parserServices is ParserServicesWithTypeInformation;
//# sourceMappingURL=rule.d.ts.map