@dillonkearns/elm-graphql
Version:
<img src="https://cdn.jsdelivr.net/gh/martimatix/logo-graphqelm/logo.svg" alt="dillonearns/elm-graphql logo" width="40%" align="right">
1 lines • 16 kB
JSON
{"moduleDefinition":{"range":[1,1,1,43],"value":{"type":"normal","normal":{"moduleName":{"range":[1,8,1,27],"value":["Example01BasicQuery"]},"exposingList":{"range":[1,28,1,43],"value":{"type":"explicit","explicit":[{"range":[1,38,1,42],"value":{"type":"function","function":{"name":"main"}}}]}}}}},"imports":[{"range":[3,1,3,26],"value":{"moduleName":{"range":[3,8,3,26],"value":["CustomScalarCodecs"]},"moduleAlias":null,"exposingList":null}},{"range":[4,1,4,36],"value":{"moduleName":{"range":[4,8,4,24],"value":["Graphql","Document"]},"moduleAlias":{"range":[4,28,4,36],"value":["Document"]},"exposingList":null}},{"range":[5,1,5,20],"value":{"moduleName":{"range":[5,8,5,20],"value":["Graphql","Http"]},"moduleAlias":null,"exposingList":null}},{"range":[6,1,6,46],"value":{"moduleName":{"range":[6,8,6,25],"value":["Graphql","Operation"]},"moduleAlias":null,"exposingList":{"range":[6,26,6,46],"value":{"type":"explicit","explicit":[{"range":[6,36,6,45],"value":{"type":"typeOrAlias","typeOrAlias":{"name":"RootQuery"}}}]}}}},{"range":[7,1,7,74],"value":{"moduleName":{"range":[7,8,7,28],"value":["Graphql","SelectionSet"]},"moduleAlias":{"range":[7,32,7,44],"value":["SelectionSet"]},"exposingList":{"range":[7,45,7,74],"value":{"type":"explicit","explicit":[{"range":[7,55,7,67],"value":{"type":"typeOrAlias","typeOrAlias":{"name":"SelectionSet"}}},{"range":[7,69,7,73],"value":{"type":"function","function":{"name":"with"}}}]}}}},{"range":[8,1,8,20],"value":{"moduleName":{"range":[8,8,8,20],"value":["Helpers","Main"]},"moduleAlias":null,"exposingList":null}},{"range":[9,1,9,40],"value":{"moduleName":{"range":[9,8,9,18],"value":["RemoteData"]},"moduleAlias":null,"exposingList":{"range":[9,19,9,40],"value":{"type":"explicit","explicit":[{"range":[9,29,9,39],"value":{"type":"typeOrAlias","typeOrAlias":{"name":"RemoteData"}}}]}}}},{"range":[10,1,10,46],"value":{"moduleName":{"range":[10,8,10,33],"value":["Swapi","Interface","Character"]},"moduleAlias":{"range":[10,37,10,46],"value":["Character"]},"exposingList":null}},{"range":[11,1,11,28],"value":{"moduleName":{"range":[11,8,11,19],"value":["Swapi","Query"]},"moduleAlias":{"range":[11,23,11,28],"value":["Query"]},"exposingList":null}}],"declarations":[{"range":[14,1,15,14],"value":{"type":"typeAlias","typeAlias":{"documentation":null,"name":{"range":[14,12,14,20],"value":"Response"},"generics":[],"typeAnnotation":{"range":[15,5,15,14],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[15,5,15,14],"value":{"moduleName":[],"name":"Character"}},"args":[]}}}}}},{"range":[18,1,22,6],"value":{"type":"typeAlias","typeAlias":{"documentation":null,"name":{"range":[18,12,18,21],"value":"Character"},"generics":[],"typeAnnotation":{"range":[19,5,22,6],"value":{"type":"record","record":{"value":[{"range":[19,7,19,20],"value":{"name":{"range":[19,7,19,11],"value":"name"},"typeAnnotation":{"range":[19,14,19,20],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[19,14,19,20],"value":{"moduleName":[],"name":"String"}},"args":[]}}}}},{"range":[20,5,21,5],"value":{"name":{"range":[20,7,20,9],"value":"id"},"typeAnnotation":{"range":[20,12,20,33],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[20,12,20,33],"value":{"moduleName":["CustomScalarCodecs"],"name":"Id"}},"args":[]}}}}},{"range":[21,5,22,5],"value":{"name":{"range":[21,7,21,14],"value":"friends"},"typeAnnotation":{"range":[21,17,21,28],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[21,17,21,21],"value":{"moduleName":[],"name":"List"}},"args":[{"range":[21,22,21,28],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[21,22,21,28],"value":{"moduleName":[],"name":"String"}},"args":[]}}}]}}}}}]}}}}}},{"range":[41,1,51,10],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[41,1,41,40],"value":{"name":{"range":[41,1,41,6],"value":"query"},"typeAnnotation":{"range":[41,9,41,40],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[41,9,41,21],"value":{"moduleName":[],"name":"SelectionSet"}},"args":[{"range":[41,22,41,30],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[41,22,41,30],"value":{"moduleName":[],"name":"Response"}},"args":[]}}},{"range":[41,31,41,40],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[41,31,41,40],"value":{"moduleName":[],"name":"RootQuery"}},"args":[]}}}]}}}}},"declaration":{"range":[42,1,51,10],"value":{"name":{"range":[42,1,42,6],"value":"query"},"arguments":[],"expression":{"range":[46,5,51,10],"value":{"type":"application","application":[{"range":[46,5,46,15],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Query"],"name":"hero"}}},{"range":[46,16,46,24],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"identity"}}},{"range":[47,9,51,10],"value":{"type":"parenthesized","parenthesized":{"range":[47,10,50,55],"value":{"type":"application","application":[{"range":[47,10,47,30],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["SelectionSet"],"name":"succeed"}}},{"range":[47,31,47,40],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"Character"}}},{"range":[48,13,48,15],"value":{"type":"operator","operator":"|>"}},{"range":[48,16,48,20],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"with"}}},{"range":[48,21,48,35],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Character"],"name":"name"}}},{"range":[49,13,49,15],"value":{"type":"operator","operator":"|>"}},{"range":[49,16,49,20],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"with"}}},{"range":[49,21,49,33],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Character"],"name":"id"}}},{"range":[50,13,50,15],"value":{"type":"operator","operator":"|>"}},{"range":[50,16,50,20],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"with"}}},{"range":[50,21,50,55],"value":{"type":"parenthesized","parenthesized":{"range":[50,22,50,54],"value":{"type":"application","application":[{"range":[50,22,50,39],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Character"],"name":"friends"}}},{"range":[50,40,50,54],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Character"],"name":"name"}}}]}}}}]}}}}]}}}}}}},{"range":[54,1,58,68],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[54,1,54,22],"value":{"name":{"range":[54,1,54,12],"value":"makeRequest"},"typeAnnotation":{"range":[54,15,54,22],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[54,15,54,18],"value":{"moduleName":[],"name":"Cmd"}},"args":[{"range":[54,19,54,22],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[54,19,54,22],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}}]}}}}},"declaration":{"range":[55,1,58,68],"value":{"name":{"range":[55,1,55,12],"value":"makeRequest"},"arguments":[],"expression":{"range":[56,5,58,68],"value":{"type":"application","application":[{"range":[56,5,56,10],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"query"}}},{"range":[57,9,57,11],"value":{"type":"operator","operator":"|>"}},{"range":[57,12,57,37],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Graphql","Http"],"name":"queryRequest"}}},{"range":[57,38,57,73],"value":{"type":"literal","literal":"https://elm-graphql.herokuapp.com"}},{"range":[58,9,58,11],"value":{"type":"operator","operator":"|>"}},{"range":[58,12,58,29],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Graphql","Http"],"name":"send"}}},{"range":[58,30,58,68],"value":{"type":"parenthesized","parenthesized":{"range":[58,31,58,67],"value":{"type":"application","application":[{"range":[58,31,58,52],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["RemoteData"],"name":"fromResult"}}},{"range":[58,53,58,55],"value":{"type":"operator","operator":">>"}},{"range":[58,56,58,67],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"GotResponse"}}}]}}}}]}}}}}}},{"range":[65,1,66,24],"value":{"type":"typedecl","typedecl":{"documentation":null,"name":{"range":[65,6,65,9],"value":"Msg"},"generics":[],"constructors":[{"range":[66,7,66,24],"value":{"name":{"range":[66,7,66,18],"value":"GotResponse"},"arguments":[{"range":[66,19,66,24],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[66,19,66,24],"value":{"moduleName":[],"name":"Model"}},"args":[]}}}]}}]}}},{"range":[69,1,70,54],"value":{"type":"typeAlias","typeAlias":{"documentation":null,"name":{"range":[69,12,69,17],"value":"Model"},"generics":[],"typeAnnotation":{"range":[70,5,70,54],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[70,5,70,15],"value":{"moduleName":[],"name":"RemoteData"}},"args":[{"range":[70,16,70,45],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[70,17,70,35],"value":{"moduleName":["Graphql","Http"],"name":"Error"}},"args":[{"range":[70,36,70,44],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[70,36,70,44],"value":{"moduleName":[],"name":"Response"}},"args":[]}}}]}}},{"range":[70,46,70,54],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[70,46,70,54],"value":{"moduleName":[],"name":"Response"}},"args":[]}}}]}}}}}},{"range":[73,1,74,7],"value":{"type":"typeAlias","typeAlias":{"documentation":null,"name":{"range":[73,12,73,17],"value":"Flags"},"generics":[],"typeAnnotation":{"range":[74,5,74,7],"value":{"type":"unit","unit":{}}}}}},{"range":[77,1,79,40],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[77,1,77,35],"value":{"name":{"range":[77,1,77,5],"value":"init"},"typeAnnotation":{"range":[77,8,77,35],"value":{"type":"function","function":{"left":{"range":[77,8,77,13],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[77,8,77,13],"value":{"moduleName":[],"name":"Flags"}},"args":[]}}},"right":{"range":[77,17,77,35],"value":{"type":"tupled","tupled":{"values":[{"range":[77,19,77,24],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[77,19,77,24],"value":{"moduleName":[],"name":"Model"}},"args":[]}}},{"range":[77,26,77,33],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[77,26,77,29],"value":{"moduleName":[],"name":"Cmd"}},"args":[{"range":[77,30,77,33],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[77,30,77,33],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}}]}}}]}}}}}}}},"declaration":{"range":[78,1,79,40],"value":{"name":{"range":[78,1,78,5],"value":"init"},"arguments":[{"range":[78,6,78,7],"value":{"type":"all","all":{}}}],"expression":{"range":[79,5,79,40],"value":{"type":"tupled","tupled":[{"range":[79,7,79,25],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["RemoteData"],"name":"Loading"}}},{"range":[79,27,79,38],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"makeRequest"}}}]}}}}}}},{"range":[82,1,86,35],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[82,1,82,44],"value":{"name":{"range":[82,1,82,7],"value":"update"},"typeAnnotation":{"range":[82,10,82,44],"value":{"type":"function","function":{"left":{"range":[82,10,82,13],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[82,10,82,13],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}},"right":{"range":[82,17,82,44],"value":{"type":"function","function":{"left":{"range":[82,17,82,22],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[82,17,82,22],"value":{"moduleName":[],"name":"Model"}},"args":[]}}},"right":{"range":[82,26,82,44],"value":{"type":"tupled","tupled":{"values":[{"range":[82,28,82,33],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[82,28,82,33],"value":{"moduleName":[],"name":"Model"}},"args":[]}}},{"range":[82,35,82,42],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[82,35,82,38],"value":{"moduleName":[],"name":"Cmd"}},"args":[{"range":[82,39,82,42],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[82,39,82,42],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}}]}}}]}}}}}}}}}}},"declaration":{"range":[83,1,86,35],"value":{"name":{"range":[83,1,83,7],"value":"update"},"arguments":[{"range":[83,8,83,11],"value":{"type":"var","var":{"value":"msg"}}},{"range":[83,12,83,17],"value":{"type":"var","var":{"value":"model"}}}],"expression":{"range":[84,5,86,35],"value":{"type":"case","case":{"cases":[{"pattern":{"range":[85,9,85,29],"value":{"type":"named","named":{"qualified":{"moduleName":[],"name":"GotResponse"},"patterns":[{"range":[85,21,85,29],"value":{"type":"var","var":{"value":"response"}}}]}}},"expression":{"range":[86,13,86,35],"value":{"type":"tupled","tupled":[{"range":[86,15,86,23],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"response"}}},{"range":[86,25,86,33],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Cmd"],"name":"none"}}}]}}}],"expression":{"range":[84,10,84,13],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"msg"}}}}}}}}}}},{"range":[89,1,95,10],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[89,1,89,44],"value":{"name":{"range":[89,1,89,5],"value":"main"},"typeAnnotation":{"range":[89,8,89,44],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[89,8,89,28],"value":{"moduleName":["Helpers","Main"],"name":"Program"}},"args":[{"range":[89,29,89,34],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[89,29,89,34],"value":{"moduleName":[],"name":"Flags"}},"args":[]}}},{"range":[89,35,89,40],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[89,35,89,40],"value":{"moduleName":[],"name":"Model"}},"args":[]}}},{"range":[89,41,89,44],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[89,41,89,44],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}}]}}}}},"declaration":{"range":[90,1,95,10],"value":{"name":{"range":[90,1,90,5],"value":"main"},"arguments":[],"expression":{"range":[91,5,95,10],"value":{"type":"application","application":[{"range":[91,5,91,26],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Helpers","Main"],"name":"document"}}},{"range":[92,9,95,10],"value":{"type":"record","record":[{"range":[92,11,92,22],"value":{"field":{"range":[92,11,92,15],"value":"init"},"expression":{"range":[92,18,92,22],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"init"}}}}},{"range":[93,11,94,9],"value":{"field":{"range":[93,11,93,17],"value":"update"},"expression":{"range":[93,20,93,26],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"update"}}}}},{"range":[94,11,95,9],"value":{"field":{"range":[94,11,94,22],"value":"queryString"},"expression":{"range":[94,25,94,54],"value":{"type":"application","application":[{"range":[94,25,94,48],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Document"],"name":"serializeQuery"}}},{"range":[94,49,94,54],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"query"}}}]}}}}]}}]}}}}}}}],"comments":[{"range":[62,1,62,26],"value":"-- Elm Architecture Setup"},{"range":[45,5,45,125],"value":"-- https://medium.com/@zenitram.oiram/graphqelm-optional-arguments-in-a-language-without-optional-arguments-d8074ca3cf74"},{"range":[44,5,44,67],"value":"-- optional arguments to `hero`. Read this blog post for more:"},{"range":[43,5,43,58],"value":"-- We use `identity` to say that we aren't giving any"},{"range":[26,1,38,3],"value":"{-\n You could use `SelectionSet.map3 Character` here instead of `succeed`.\n\n The tradeoffs, in a nutshell:\n *mapN*\n - Better error messages (pipeline errors can be confusing, and the compiler has more to work with when you use mapN so it can be more precise)\n - Don't have to use `with`\n - Better IDE support (it knows you need to pass in exactly N items)\n\n *succeed*\n - You don't change `map2` -> `map3` when you add a new field\n - You can go beyond 8 items\n-}"}]}