Validate variable names are unique
This commit is contained in:
@ -253,7 +253,8 @@ data ObjectField a = ObjectField Name a
|
||||
--
|
||||
-- Variables are usually passed along with the query, but not in the query
|
||||
-- itself. They make queries reusable.
|
||||
data VariableDefinition = VariableDefinition Name Type (Maybe ConstValue)
|
||||
data VariableDefinition =
|
||||
VariableDefinition Name Type (Maybe ConstValue) Location
|
||||
deriving (Eq, Show)
|
||||
|
||||
-- ** Type References
|
||||
|
@ -95,7 +95,7 @@ variableDefinitions formatter
|
||||
= parensCommas formatter $ variableDefinition formatter
|
||||
|
||||
variableDefinition :: Formatter -> VariableDefinition -> Lazy.Text
|
||||
variableDefinition formatter (VariableDefinition var ty defaultValue')
|
||||
variableDefinition formatter (VariableDefinition var ty defaultValue' _)
|
||||
= variable var
|
||||
<> eitherFormat formatter ": " ":"
|
||||
<> type' ty
|
||||
|
@ -492,12 +492,13 @@ variableDefinitions = listOptIn parens variableDefinition
|
||||
<?> "VariableDefinitions"
|
||||
|
||||
variableDefinition :: Parser VariableDefinition
|
||||
variableDefinition = VariableDefinition
|
||||
<$> variable
|
||||
<* colon
|
||||
<*> type'
|
||||
<*> defaultValue
|
||||
<?> "VariableDefinition"
|
||||
variableDefinition = label "VariableDefinition" $ do
|
||||
location <- getLocation
|
||||
variableName <- variable
|
||||
colon
|
||||
variableType <- type'
|
||||
variableValue <- defaultValue
|
||||
pure $ VariableDefinition variableName variableType variableValue location
|
||||
|
||||
variable :: Parser Name
|
||||
variable = dollar *> name <?> "Variable"
|
||||
|
Reference in New Issue
Block a user