persona-community-5/.pnpm-store/v3/files/38/948b2d16fc47d1332ed8758029e3dd61bc15971e596bbb4ef36b2b081beaab1ba7f78a5f343242d388a55868a1a26fac997fd4868bb407e974881e7b8ae069
rdev-worker a1d0d1bf1c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature community-ui --requirements 'Build the React commu...
2026-02-24 08:22:30 +00:00

35 lines
2.1 KiB
Plaintext

import type { RuleContext, RuleListener, RuleMetaData, RuleMetaDataDocs, RuleModule } from '../ts-eslint/Rule';
export type { RuleListener, RuleModule };
export type NamedCreateRuleMetaDocs<Options extends readonly unknown[]> = Omit<RuleMetaDataDocs<Options>, 'url'>;
export type NamedCreateRuleMeta<MessageIds extends string, Options extends readonly unknown[]> = Omit<RuleMetaData<MessageIds, Options>, 'docs'> & {
docs: NamedCreateRuleMetaDocs<Options>;
};
export interface RuleCreateAndOptions<Options extends readonly unknown[], MessageIds extends string> {
create: (context: Readonly<RuleContext<MessageIds, Options>>, optionsWithDefault: Readonly<Options>) => RuleListener;
defaultOptions: Readonly<Options>;
}
export interface RuleWithMeta<Options extends readonly unknown[], MessageIds extends string> extends RuleCreateAndOptions<Options, MessageIds> {
meta: RuleMetaData<MessageIds, Options>;
}
export interface RuleWithMetaAndName<Options extends readonly unknown[], MessageIds extends string> extends RuleCreateAndOptions<Options, MessageIds> {
meta: NamedCreateRuleMeta<MessageIds, Options>;
name: string;
}
/**
* Creates reusable function to create rules with default options and docs URLs.
*
* @param urlCreator Creates a documentation URL for a given rule name.
* @returns Function to create a rule with the docs URL format.
*/
export declare function RuleCreator(urlCreator: (ruleName: string) => string): <Options extends readonly unknown[], MessageIds extends string>({ name, meta, ...rule }: Readonly<RuleWithMetaAndName<Options, MessageIds>>) => RuleModule<MessageIds, Options>;
export declare namespace RuleCreator {
var withoutDocs: typeof createRule;
}
/**
* Creates a well-typed TSESLint custom ESLint rule without a docs URL.
*
* @returns Well-typed TSESLint custom ESLint rule.
* @remarks It is generally better to provide a docs URL function to RuleCreator.
*/
declare function createRule<Options extends readonly unknown[], MessageIds extends string>({ create, defaultOptions, meta, }: Readonly<RuleWithMeta<Options, MessageIds>>): RuleModule<MessageIds, Options>;
//# sourceMappingURL=RuleCreator.d.ts.map