From 7726294bfe469fa0e25f04fe73facc4944572f54 Mon Sep 17 00:00:00 2001 From: chirokas <157580465+chirokas@users.noreply.github.com> Date: Mon, 1 Apr 2024 18:58:15 +0800 Subject: [PATCH] fix: convert `optionalityOrder` to kebab case --- docs/rules/sort-interfaces.md | 4 +-- rules/sort-interfaces.ts | 18 ++++++------- test/sort-interfaces.test.ts | 48 +++++++++++++++++------------------ 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/rules/sort-interfaces.md b/docs/rules/sort-interfaces.md index c7719b161..acce92703 100644 --- a/docs/rules/sort-interfaces.md +++ b/docs/rules/sort-interfaces.md @@ -100,7 +100,7 @@ type Group = 'multiline' | CustomGroup interface Options { type?: 'alphabetical' | 'natural' | 'line-length' - optionalityOrder?: 'ignore' | 'optional-first' | 'required-first' + 'optionality-order'?: 'ignore' | 'optional-first' | 'required-first' order?: 'asc' | 'desc' 'ignore-case'?: boolean groups?: (Group | Group[])[] @@ -118,7 +118,7 @@ interface Options { - `natural` - sort in natural order. - `line-length` - sort by code line length. -### optionalityOrder +### optionality-order (default: `'ignore'`) diff --git a/rules/sort-interfaces.ts b/rules/sort-interfaces.ts index 5420d2826..0d383bc22 100644 --- a/rules/sort-interfaces.ts +++ b/rules/sort-interfaces.ts @@ -24,7 +24,7 @@ type Group = 'multiline' | 'unknown' | T[number] type Options = [ Partial<{ 'custom-groups': { [key: string]: string[] | string } - optionalityOrder: OptionalityOrder + 'optionality-order': OptionalityOrder groups: (Group[] | Group)[] 'partition-by-new-line': boolean 'ignore-pattern': string[] @@ -51,7 +51,7 @@ export default createEslintRule, MESSAGE_ID>({ 'custom-groups': { type: 'object', }, - optionalityOrder: { + 'optionality-order': { enum: [ OptionalityOrder.ignore, OptionalityOrder['optional-first'], @@ -111,7 +111,7 @@ export default createEslintRule, MESSAGE_ID>({ TSInterfaceDeclaration: node => { if (node.body.body.length > 1) { let options = complete(context.options.at(0), { - optionalityOrder: OptionalityOrder.ignore, + 'optionality-order': OptionalityOrder.ignore, 'partition-by-new-line': false, type: SortType.alphabetical, 'ignore-case': false, @@ -246,13 +246,15 @@ export default createEslintRule, MESSAGE_ID>({ ) } + let optionalityOrder = options['optionality-order'] + let checkOrder = ( members: SortingNode[], left: SortingNode, right: SortingNode, iteration: number, ) => { - if (options.optionalityOrder === OptionalityOrder.ignore) { + if (optionalityOrder === OptionalityOrder.ignore) { return checkGroupSort(left, right) } @@ -270,8 +272,7 @@ export default createEslintRule, MESSAGE_ID>({ if (isMemberOptional(left.node) !== isMemberOptional(right.node)) { return ( isMemberOptional(left.node) !== - (options.optionalityOrder === - OptionalityOrder['optional-first']) + (optionalityOrder === OptionalityOrder['optional-first']) ) } @@ -291,7 +292,7 @@ export default createEslintRule, MESSAGE_ID>({ fix: fixer => { let sortedNodes - if (options.optionalityOrder !== OptionalityOrder.ignore) { + if (optionalityOrder !== OptionalityOrder.ignore) { let optionalNodes = nodes.filter(member => isMemberOptional(member.node), ) @@ -300,8 +301,7 @@ export default createEslintRule, MESSAGE_ID>({ ) sortedNodes = - options.optionalityOrder === - OptionalityOrder['optional-first'] + optionalityOrder === OptionalityOrder['optional-first'] ? [ ...toSorted(optionalNodes), ...toSorted(requiredNodes), diff --git a/test/sort-interfaces.test.ts b/test/sort-interfaces.test.ts index 64cecaa96..620fea813 100644 --- a/test/sort-interfaces.test.ts +++ b/test/sort-interfaces.test.ts @@ -681,7 +681,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], }, @@ -709,7 +709,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], errors: [ @@ -761,7 +761,7 @@ describe(RULE_NAME, () => { callback: 'on*', }, groups: ['unknown', 'callback'], - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], errors: [ @@ -814,7 +814,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], 'partition-by-new-line': true, }, ], @@ -859,7 +859,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], }, @@ -887,7 +887,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], errors: [ @@ -939,7 +939,7 @@ describe(RULE_NAME, () => { callback: 'on*', }, groups: ['unknown', 'callback'], - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], errors: [ @@ -992,7 +992,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], 'partition-by-new-line': true, }, ], @@ -1696,7 +1696,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], }, @@ -1724,7 +1724,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], errors: [ @@ -1776,7 +1776,7 @@ describe(RULE_NAME, () => { callback: 'on*', }, groups: ['unknown', 'callback'], - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], errors: [ @@ -1829,7 +1829,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], 'partition-by-new-line': true, }, ], @@ -1874,7 +1874,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], }, @@ -1902,7 +1902,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], errors: [ @@ -1954,7 +1954,7 @@ describe(RULE_NAME, () => { callback: 'on*', }, groups: ['unknown', 'callback'], - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], errors: [ @@ -2007,7 +2007,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], 'partition-by-new-line': true, }, ], @@ -2673,7 +2673,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], }, @@ -2701,7 +2701,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], errors: [ @@ -2753,7 +2753,7 @@ describe(RULE_NAME, () => { callback: 'on*', }, groups: ['unknown', 'callback'], - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], }, ], errors: [ @@ -2813,7 +2813,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['optional-first'], + 'optionality-order': OptionalityOrder['optional-first'], 'partition-by-new-line': true, }, ], @@ -2851,7 +2851,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], }, @@ -2879,7 +2879,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], errors: [ @@ -2931,7 +2931,7 @@ describe(RULE_NAME, () => { callback: 'on*', }, groups: ['unknown', 'callback'], - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], }, ], errors: [ @@ -2991,7 +2991,7 @@ describe(RULE_NAME, () => { options: [ { ...options, - optionalityOrder: OptionalityOrder['required-first'], + 'optionality-order': OptionalityOrder['required-first'], 'partition-by-new-line': true, }, ],