projecte_ionic/node_modules/@angular-eslint/eslint-plugin/dist/utils/create-eslint-rule.d.ts
2022-02-09 18:30:03 +01:00

31 lines
1.7 KiB
TypeScript
Executable file

import type { ParserServices, TSESLint } from '@typescript-eslint/experimental-utils';
export declare const createESLintRule: <TOptions extends readonly unknown[], TMessageIds extends string, TRuleListener extends TSESLint.RuleListener = TSESLint.RuleListener>({ name, meta, defaultOptions, create, }: Readonly<{
name: string;
meta: {
docs: {
category: "Best Practices" | "Stylistic Issues" | "Variables" | "Possible Errors";
description: string;
recommended: false | "error" | "warn";
suggestion?: boolean | undefined;
requiresTypeChecking?: boolean | undefined;
extendsBaseRule?: string | boolean | undefined;
};
} & Omit<TSESLint.RuleMetaData<TMessageIds>, "docs">;
defaultOptions: Readonly<TOptions>;
create: (context: Readonly<TSESLint.RuleContext<TMessageIds, TOptions>>, optionsWithDefault: Readonly<TOptions>) => TRuleListener;
}>) => TSESLint.RuleModule<TMessageIds, TOptions, TRuleListener>;
declare type RequiredParserServices = {
[k in keyof ParserServices]: Exclude<ParserServices[k], undefined>;
};
/**
* TODO: Expose via @typescript-eslint/experimental-utils
*/
export declare function getParserServices<TMessageIds extends string, TOptions extends any[]>(context: TSESLint.RuleContext<TMessageIds, TOptions>): RequiredParserServices;
declare type NodeMaps = {
[k in keyof Pick<ParserServices, 'esTreeNodeToTSNodeMap' | 'tsNodeToESTreeNodeMap'>]: NonNullable<ParserServices[k]>;
};
/**
* TODO: Expose via @typescript-eslint/experimental-utils
*/
export declare function getNodeMaps<_TMessageIds extends string, _TOptions extends any[]>(context: any): NodeMaps;
export {};