@@ -41,6 +41,7 @@ import type { NestedAlternative } from "../utils/partial-parser"
4141import { PartialParser } from "../utils/partial-parser"
4242import type { Rule } from "eslint"
4343import { getAllowedCharRanges , inRange } from "../utils/char-ranges"
44+ import { assertNever } from "../utils/util"
4445
4546type ParentNode = Group | CapturingGroup | Pattern | LookaroundAssertion
4647
@@ -393,7 +394,7 @@ function getPartialSubsetRelation(
393394 return SubsetRelation . leftSupersetOfRight
394395
395396 default :
396- throw new Error ( relation )
397+ return assertNever ( relation )
397398 }
398399 }
399400 if ( rightIsPartial && ! leftIsPartial ) {
@@ -406,7 +407,7 @@ function getPartialSubsetRelation(
406407 return SubsetRelation . none
407408
408409 default :
409- throw new Error ( relation )
410+ return assertNever ( relation )
410411 }
411412 }
412413
@@ -696,7 +697,7 @@ function* findDuplicationNfa(
696697 }
697698
698699 default :
699- throw new Error ( relation )
700+ throw assertNever ( relation )
700701 }
701702 }
702703
@@ -823,10 +824,6 @@ function deduplicateResults(
823824 } )
824825}
825826
826- function assertNever ( value : never ) : never {
827- throw new Error ( `Invalid value: ${ value } ` )
828- }
829-
830827function mentionNested ( nested : NestedAlternative ) : string {
831828 if ( nested . type === "Alternative" ) {
832829 return mention ( nested )
@@ -1338,7 +1335,7 @@ export default createRule("no-dupe-disjunctions", {
13381335 break
13391336
13401337 default :
1341- throw new Error ( result )
1338+ throw assertNever ( result )
13421339 }
13431340 }
13441341
0 commit comments