File tree Expand file tree Collapse file tree 3 files changed +88
-0
lines changed Expand file tree Collapse file tree 3 files changed +88
-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 ] = acc . hasOwnProperty ( k ) ? [ ] . concat ( acc [ k ] ) . concat ( obj [ 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 ( undefined , [
40
+ {
41
+ singleline : {
42
+ delimiter : "semi" ,
43
+ requireLast : false ,
44
+ } ,
45
+ } ,
46
+ {
47
+ multiline : {
48
+ delimiter : "semi" ,
49
+ requireLast : true ,
50
+ } ,
51
+ } ,
52
+ ] ) ;
53
+
54
+ expect ( result ) . toEqual ( [
55
+ {
56
+ multiline : {
57
+ delimiter : "semi" ,
58
+ requireLast : true ,
59
+ } ,
60
+ singleline : {
61
+ delimiter : "semi" ,
62
+ requireLast : false ,
63
+ } ,
64
+ } ,
65
+ ] ) ;
66
+ } ) ;
67
+ } ) ;
You can’t perform that action at this time.
0 commit comments