jfmengels/elm-lint/2.0.1

NOTE: this package is not compatible with Elm 0.19.1

Lint.Rules.DefaultPatternPosition

rule : Configuration -> LintRule

Enforce the default pattern to always appear first or last.

type alias Configuration =
{ position : PatternPosition }

Configuration for the rule.

= First
| Last

Configures whether the default pattern should appear first or last.

Fail

rules =
    [ DefaultPatternPosition.rule { position = Lint.Rules.DefaultPatternPosition.Last }
    ]


case value of
  -- LintError, this pattern should appear last
  _ -> result
  Foo -> bar


-- --------------------


rules =
    [ DefaultPatternPosition.rule { position = Lint.Rules.DefaultPatternPosition.First }
    ]


case value of
  Foo -> bar
  -- LintError, this pattern should appear first
  _ -> result

Success

rules =
    [ DefaultPatternPosition.rule { position = Lint.Rules.DefaultPatternPosition.Last }
    ]


case value of
  Foo -> bar
  _ -> result


case value of
  -- No default pattern
  Foo -> bar
  Bar -> foo


-- --------------------


rules =
    [ DefaultPatternPosition.rule { position = Lint.Rules.DefaultPatternPosition.First }
    ]


case value of
  _ -> result
  Foo -> bar