mirror of
https://github.com/dillonkearns/elm-pages-v3-beta.git
synced 2024-11-24 06:54:03 +03:00
Add Exception import when needed.
This commit is contained in:
parent
b1afe428e4
commit
0e4c33e01b
@ -7,6 +7,7 @@ import Elm.Syntax.Expression as Expression exposing (Expression)
|
||||
import Elm.Syntax.Import exposing (Import)
|
||||
import Elm.Syntax.ModuleName exposing (ModuleName)
|
||||
import Elm.Syntax.Node as Node exposing (Node)
|
||||
import Elm.Syntax.Range exposing (Range)
|
||||
import Review.Fix
|
||||
import Review.ModuleNameLookupTable as ModuleNameLookupTable exposing (ModuleNameLookupTable)
|
||||
import Review.Rule as Rule exposing (Error, Rule)
|
||||
@ -15,6 +16,7 @@ import Review.Rule as Rule exposing (Error, Rule)
|
||||
type alias Context =
|
||||
{ lookupTable : ModuleNameLookupTable
|
||||
, importContext : Dict (List String) ImportContext
|
||||
, firstImport : Maybe Range
|
||||
}
|
||||
|
||||
|
||||
@ -66,15 +68,39 @@ rule =
|
||||
|> Rule.withExpressionEnterVisitor expressionVisitor
|
||||
|> Rule.withDeclarationEnterVisitor declarationVisitor
|
||||
|> Rule.withImportVisitor importVisitor
|
||||
|> Rule.withFinalModuleEvaluation finalEvaluation
|
||||
|> Rule.fromModuleRuleSchema
|
||||
|
||||
|
||||
finalEvaluation : Context -> List (Rule.Error {})
|
||||
finalEvaluation context =
|
||||
case Dict.get [ "Exception" ] context.importContext of
|
||||
Nothing ->
|
||||
let
|
||||
importAddRange : { start : { row : Int, column : Int }, end : { row : Int, column : Int } }
|
||||
importAddRange =
|
||||
context.firstImport |> Maybe.withDefault { start = { row = 0, column = 0 }, end = { row = 0, column = 0 } }
|
||||
in
|
||||
[ Rule.errorWithFix
|
||||
{ message = "Codemod"
|
||||
, details = [ "" ]
|
||||
}
|
||||
importAddRange
|
||||
[ Review.Fix.insertAt importAddRange.end "\nimport Exception\n"
|
||||
]
|
||||
]
|
||||
|
||||
_ ->
|
||||
[]
|
||||
|
||||
|
||||
initialContext : Rule.ContextCreator () Context
|
||||
initialContext =
|
||||
Rule.initContextCreator
|
||||
(\lookupTable () ->
|
||||
{ lookupTable = lookupTable
|
||||
, importContext = Dict.empty
|
||||
, firstImport = Nothing
|
||||
}
|
||||
)
|
||||
|> Rule.withModuleNameLookupTable
|
||||
@ -91,6 +117,7 @@ importVisitor node context =
|
||||
, { context
|
||||
| importContext =
|
||||
context.importContext |> Dict.insert key value
|
||||
, firstImport = context.firstImport |> Maybe.withDefault (Node.range node) |> Just
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -15,6 +15,7 @@ all =
|
||||
import Server.Request as Request
|
||||
|
||||
import BackendTask exposing (BackendTask)
|
||||
import Exception
|
||||
import RouteBuilder exposing (Page, StaticPayload, single)
|
||||
import Pages.PageUrl exposing (PageUrl)
|
||||
import Pages.Url
|
||||
@ -69,6 +70,7 @@ data =
|
||||
import Server.Request as Request
|
||||
|
||||
import BackendTask exposing (BackendTask)
|
||||
import Exception
|
||||
import RouteBuilder exposing (Page, StaticPayload, single)
|
||||
import Pages.PageUrl exposing (PageUrl)
|
||||
import Pages.Url
|
||||
@ -113,6 +115,7 @@ data =
|
||||
"""module Route.Index exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
import BackendTask as DS
|
||||
import RouteBuilder exposing (Page, StaticPayload, single)
|
||||
import Pages.PageUrl exposing (PageUrl)
|
||||
@ -166,6 +169,7 @@ data =
|
||||
"""module Route.Index exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
import BackendTask as DS
|
||||
import RouteBuilder exposing (Page, StaticPayload, single)
|
||||
import Pages.PageUrl exposing (PageUrl)
|
||||
@ -213,6 +217,7 @@ data =
|
||||
import Server.Request as Request
|
||||
|
||||
import BackendTask exposing (BackendTask)
|
||||
import Exception
|
||||
import RouteBuilder exposing (Page, StaticPayload)
|
||||
import Pages.PageUrl exposing (PageUrl)
|
||||
import Pages.Url
|
||||
@ -267,6 +272,7 @@ data =
|
||||
import Server.Request as Request
|
||||
|
||||
import BackendTask exposing (BackendTask)
|
||||
import Exception
|
||||
import RouteBuilder exposing (Page, StaticPayload)
|
||||
import Pages.PageUrl exposing (PageUrl)
|
||||
import Pages.Url
|
||||
@ -312,6 +318,7 @@ data =
|
||||
"""module Route.Login exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
@ -348,6 +355,7 @@ route =
|
||||
"""module Route.Login exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
@ -382,6 +390,7 @@ route =
|
||||
"""module Route.Login exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
@ -410,6 +419,7 @@ route =
|
||||
"""module Route.Login exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request
|
||||
import Exception
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
@ -446,6 +456,7 @@ route =
|
||||
"""module Route.Login exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request
|
||||
import Exception
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
@ -480,6 +491,7 @@ route =
|
||||
"""module Route.Login exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request
|
||||
import Exception
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
@ -508,6 +520,7 @@ route =
|
||||
"""module Route.Login exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
@ -536,6 +549,7 @@ route =
|
||||
"""module Route.Index exposing (Data, Model, Msg, route)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
|
||||
import BackendTask exposing (BackendTask)
|
||||
import RouteBuilder exposing (Page, StaticPayload)
|
||||
@ -583,6 +597,7 @@ data =
|
||||
"""module Shared exposing (Data, Model, Msg, template)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
|
||||
import Browser.Navigation
|
||||
import BackendTask
|
||||
@ -633,6 +648,7 @@ type alias Model =
|
||||
"""module Shared exposing (Data, Model, Msg, template)
|
||||
|
||||
import Server.Request as Request
|
||||
import Exception
|
||||
|
||||
import Browser.Navigation
|
||||
import BackendTask
|
||||
|
Loading…
Reference in New Issue
Block a user