-
Notifications
You must be signed in to change notification settings - Fork 147
/
Copy pathindex.ts
37 lines (34 loc) · 861 Bytes
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { ESLintUtils } from '@typescript-eslint/utils';
import { getDocsUrl, TestingLibraryPluginDocs } from '../utils';
import {
DetectionOptions,
detectTestingLibraryUtils,
EnhancedRuleCreate,
} from './detect-testing-library-utils';
export const createTestingLibraryRule = <
TOptions extends readonly unknown[],
TMessageIds extends string,
>({
create,
detectionOptions = {},
...remainingConfig
}: Readonly<
Omit<
ESLintUtils.RuleWithMetaAndName<
TOptions,
TMessageIds,
TestingLibraryPluginDocs<TOptions>
>,
'create'
> & {
create: EnhancedRuleCreate<TMessageIds, TOptions>;
detectionOptions?: Partial<DetectionOptions>;
}
>) =>
ESLintUtils.RuleCreator<TestingLibraryPluginDocs<TOptions>>(getDocsUrl)({
...remainingConfig,
create: detectTestingLibraryUtils<TMessageIds, TOptions>(
create,
detectionOptions
),
});