File tree Expand file tree Collapse file tree 3 files changed +96
-0
lines changed Expand file tree Collapse file tree 3 files changed +96
-0
lines changed Original file line number Diff line number Diff line change 1
1
import { mergeBanTypes } from "./mergers/ban-types" ;
2
2
import { mergeIndent } from "./mergers/indent" ;
3
+ import { mergeNoMemberDelimiterStyle } from "./mergers/member-delimiter-style" ;
3
4
import { mergeNoCaller } from "./mergers/no-caller" ;
4
5
import { mergeNoEval } from "./mergers/no-eval" ;
5
6
import { mergeNoUnnecessaryTypeAssertion } from "./mergers/no-unnecessary-type-assertion" ;
6
7
7
8
export const mergers = new Map ( [
8
9
[ "@typescript-eslint/ban-types" , mergeBanTypes ] ,
9
10
[ "@typescript-eslint/indent" , mergeIndent ] ,
11
+ [ "@typescript-eslint/member-delimiter-style" , mergeNoMemberDelimiterStyle ] ,
10
12
[ "@typescript-eslint/no-unnecessary-type-assertion" , mergeNoUnnecessaryTypeAssertion ] ,
11
13
[ "no-caller" , mergeNoCaller ] ,
12
14
[ "no-eval" , mergeNoEval ] ,
Original file line number Diff line number Diff line change
1
+ import { RuleMerger } from "../merger" ;
2
+
3
+ export const mergeNoMemberDelimiterStyle : RuleMerger = ( existingOptions , newOptions ) => {
4
+ if ( existingOptions === undefined && newOptions === undefined ) {
5
+ return [ ] ;
6
+ }
7
+
8
+ return [ merge ( ( existingOptions || [ ] ) [ 0 ] || { } , ( newOptions || [ ] ) [ 0 ] || { } ) ] ;
9
+ } ;
10
+
11
+ const merge = ( ...objs : Record < string , any > [ ] ) =>
12
+ [ ...objs ] . reduce (
13
+ ( acc , obj ) =>
14
+ Object . keys ( obj ) . reduce ( ( _ , k ) => {
15
+ acc [ k ] = obj [ k ] ;
16
+ return acc ;
17
+ } , { } ) ,
18
+ { } ,
19
+ ) ;
Original file line number Diff line number Diff line change
1
+ import { mergeNoMemberDelimiterStyle } from "../member-delimiter-style" ;
2
+
3
+ describe ( mergeNoMemberDelimiterStyle , ( ) => {
4
+ test ( "neither options existing" , ( ) => {
5
+ const result = mergeNoMemberDelimiterStyle ( undefined , undefined ) ;
6
+
7
+ expect ( result ) . toEqual ( [ ] ) ;
8
+ } ) ;
9
+
10
+ test ( "new object config existing" , ( ) => {
11
+ const result = mergeNoMemberDelimiterStyle ( undefined , [
12
+ {
13
+ multiline : {
14
+ delimiter : "semi" ,
15
+ requireLast : true ,
16
+ } ,
17
+ singleline : {
18
+ delimiter : "semi" ,
19
+ requireLast : false ,
20
+ } ,
21
+ } ,
22
+ ] ) ;
23
+
24
+ expect ( result ) . toEqual ( [
25
+ {
26
+ multiline : {
27
+ delimiter : "semi" ,
28
+ requireLast : true ,
29
+ } ,
30
+ singleline : {
31
+ delimiter : "semi" ,
32
+ requireLast : false ,
33
+ } ,
34
+ } ,
35
+ ] ) ;
36
+ } ) ;
37
+
38
+ test ( "both object config existing" , ( ) => {
39
+ const result = mergeNoMemberDelimiterStyle (
40
+ [
41
+ {
42
+ singleline : {
43
+ delimiter : "semi" ,
44
+ requireLast : false ,
45
+ } ,
46
+ } ,
47
+ ] ,
48
+ [
49
+ {
50
+ singleline : {
51
+ delimiter : "semi" ,
52
+ requireLast : false ,
53
+ } ,
54
+ multiline : {
55
+ delimiter : "semi" ,
56
+ requireLast : true ,
57
+ } ,
58
+ } ,
59
+ ] ,
60
+ ) ;
61
+
62
+ expect ( result ) . toEqual ( [
63
+ {
64
+ multiline : {
65
+ delimiter : "semi" ,
66
+ requireLast : true ,
67
+ } ,
68
+ singleline : {
69
+ delimiter : "semi" ,
70
+ requireLast : false ,
71
+ } ,
72
+ } ,
73
+ ] ) ;
74
+ } ) ;
75
+ } ) ;
You can’t perform that action at this time.
0 commit comments