UNPKG

@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 17.1 kB
{"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,40],"value":{"moduleName":{"range":[3,8,3,26],"value":["CustomScalarCodecs"]},"moduleAlias":null,"exposingList":{"range":[3,27,3,40],"value":{"type":"explicit","explicit":[{"range":[3,37,3,39],"value":{"type":"typeOrAlias","typeOrAlias":{"name":"Id"}}}]}}}},{"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,68],"value":{"moduleName":{"range":[7,8,7,28],"value":["Graphql","SelectionSet"]},"moduleAlias":{"range":[7,32,7,44],"value":["SelectionSet"]},"exposingList":{"range":[7,45,7,68],"value":{"type":"explicit","explicit":[{"range":[7,55,7,67],"value":{"type":"typeOrAlias","typeOrAlias":{"name":"SelectionSet"}}}]}}}},{"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,23],"value":{"moduleName":{"range":[10,8,10,23],"value":["Swapi","Interface"]},"moduleAlias":null,"exposingList":null}},{"range":[11,1,11,46],"value":{"moduleName":{"range":[11,8,11,33],"value":["Swapi","Interface","Character"]},"moduleAlias":{"range":[11,37,11,46],"value":["Character"]},"exposingList":null}},{"range":[12,1,12,28],"value":{"moduleName":{"range":[12,8,12,19],"value":["Swapi","Query"]},"moduleAlias":{"range":[12,23,12,28],"value":["Query"]},"exposingList":null}}],"declarations":[{"range":[33,1,34,14],"value":{"type":"typeAlias","typeAlias":{"documentation":null,"name":{"range":[33,12,33,20],"value":"Response"},"generics":[],"typeAnnotation":{"range":[34,5,34,14],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[34,5,34,14],"value":{"moduleName":[],"name":"Character"}},"args":[]}}}}}},{"range":[37,1,42,47],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[37,1,37,40],"value":{"name":{"range":[37,1,37,6],"value":"query"},"typeAnnotation":{"range":[37,9,37,40],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[37,9,37,21],"value":{"moduleName":[],"name":"SelectionSet"}},"args":[{"range":[37,22,37,30],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[37,22,37,30],"value":{"moduleName":[],"name":"Response"}},"args":[]}}},{"range":[37,31,37,40],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[37,31,37,40],"value":{"moduleName":[],"name":"RootQuery"}},"args":[]}}}]}}}}},"declaration":{"range":[38,1,42,47],"value":{"name":{"range":[38,1,38,6],"value":"query"},"arguments":[],"expression":{"range":[42,5,42,47],"value":{"type":"application","application":[{"range":[42,5,42,15],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Query"],"name":"hero"}}},{"range":[42,16,42,24],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"identity"}}},{"range":[42,25,42,47],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"characterInfoSelection"}}}]}}}}}}},{"range":[63,1,67,6],"value":{"type":"typeAlias","typeAlias":{"documentation":null,"name":{"range":[63,12,63,21],"value":"Character"},"generics":[],"typeAnnotation":{"range":[64,5,67,6],"value":{"type":"record","record":{"value":[{"range":[64,7,64,20],"value":{"name":{"range":[64,7,64,11],"value":"name"},"typeAnnotation":{"range":[64,14,64,20],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[64,14,64,20],"value":{"moduleName":[],"name":"String"}},"args":[]}}}}},{"range":[65,5,66,5],"value":{"name":{"range":[65,7,65,9],"value":"id"},"typeAnnotation":{"range":[65,12,65,14],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[65,12,65,14],"value":{"moduleName":[],"name":"Id"}},"args":[]}}}}},{"range":[66,5,67,5],"value":{"name":{"range":[66,7,66,14],"value":"friends"},"typeAnnotation":{"range":[66,17,66,28],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[66,17,66,21],"value":{"moduleName":[],"name":"List"}},"args":[{"range":[66,22,66,28],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[66,22,66,28],"value":{"moduleName":[],"name":"String"}},"args":[]}}}]}}}}}]}}}}}},{"range":[77,1,82,43],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[77,1,77,74],"value":{"name":{"range":[77,1,77,23],"value":"characterInfoSelection"},"typeAnnotation":{"range":[77,26,77,74],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[77,26,77,38],"value":{"moduleName":[],"name":"SelectionSet"}},"args":[{"range":[77,39,77,48],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[77,39,77,48],"value":{"moduleName":[],"name":"Character"}},"args":[]}}},{"range":[77,49,77,74],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[77,49,77,74],"value":{"moduleName":["Swapi","Interface"],"name":"Character"}},"args":[]}}}]}}}}},"declaration":{"range":[78,1,82,43],"value":{"name":{"range":[78,1,78,23],"value":"characterInfoSelection"},"arguments":[],"expression":{"range":[79,5,82,43],"value":{"type":"application","application":[{"range":[79,5,79,22],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["SelectionSet"],"name":"map3"}}},{"range":[79,23,79,32],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"Character"}}},{"range":[80,9,80,23],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Character"],"name":"name"}}},{"range":[81,9,81,21],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Character"],"name":"id"}}},{"range":[82,9,82,43],"value":{"type":"parenthesized","parenthesized":{"range":[82,10,82,42],"value":{"type":"application","application":[{"range":[82,10,82,27],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Character"],"name":"friends"}}},{"range":[82,28,82,42],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Character"],"name":"name"}}}]}}}}]}}}}}}},{"range":[85,1,89,68],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[85,1,85,22],"value":{"name":{"range":[85,1,85,12],"value":"makeRequest"},"typeAnnotation":{"range":[85,15,85,22],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[85,15,85,18],"value":{"moduleName":[],"name":"Cmd"}},"args":[{"range":[85,19,85,22],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[85,19,85,22],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}}]}}}}},"declaration":{"range":[86,1,89,68],"value":{"name":{"range":[86,1,86,12],"value":"makeRequest"},"arguments":[],"expression":{"range":[87,5,89,68],"value":{"type":"application","application":[{"range":[87,5,87,10],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"query"}}},{"range":[88,9,88,11],"value":{"type":"operator","operator":"|>"}},{"range":[88,12,88,37],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Graphql","Http"],"name":"queryRequest"}}},{"range":[88,38,88,73],"value":{"type":"literal","literal":"https://elm-graphql.herokuapp.com"}},{"range":[89,9,89,11],"value":{"type":"operator","operator":"|>"}},{"range":[89,12,89,29],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Graphql","Http"],"name":"send"}}},{"range":[89,30,89,68],"value":{"type":"parenthesized","parenthesized":{"range":[89,31,89,67],"value":{"type":"application","application":[{"range":[89,31,89,52],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["RemoteData"],"name":"fromResult"}}},{"range":[89,53,89,55],"value":{"type":"operator","operator":">>"}},{"range":[89,56,89,67],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"GotResponse"}}}]}}}}]}}}}}}},{"range":[96,1,97,24],"value":{"type":"typedecl","typedecl":{"documentation":null,"name":{"range":[96,6,96,9],"value":"Msg"},"generics":[],"constructors":[{"range":[97,7,97,24],"value":{"name":{"range":[97,7,97,18],"value":"GotResponse"},"arguments":[{"range":[97,19,97,24],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[97,19,97,24],"value":{"moduleName":[],"name":"Model"}},"args":[]}}}]}}]}}},{"range":[100,1,101,54],"value":{"type":"typeAlias","typeAlias":{"documentation":null,"name":{"range":[100,12,100,17],"value":"Model"},"generics":[],"typeAnnotation":{"range":[101,5,101,54],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[101,5,101,15],"value":{"moduleName":[],"name":"RemoteData"}},"args":[{"range":[101,16,101,45],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[101,17,101,35],"value":{"moduleName":["Graphql","Http"],"name":"Error"}},"args":[{"range":[101,36,101,44],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[101,36,101,44],"value":{"moduleName":[],"name":"Response"}},"args":[]}}}]}}},{"range":[101,46,101,54],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[101,46,101,54],"value":{"moduleName":[],"name":"Response"}},"args":[]}}}]}}}}}},{"range":[104,1,105,7],"value":{"type":"typeAlias","typeAlias":{"documentation":null,"name":{"range":[104,12,104,17],"value":"Flags"},"generics":[],"typeAnnotation":{"range":[105,5,105,7],"value":{"type":"unit","unit":{}}}}}},{"range":[108,1,110,40],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[108,1,108,35],"value":{"name":{"range":[108,1,108,5],"value":"init"},"typeAnnotation":{"range":[108,8,108,35],"value":{"type":"function","function":{"left":{"range":[108,8,108,13],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[108,8,108,13],"value":{"moduleName":[],"name":"Flags"}},"args":[]}}},"right":{"range":[108,17,108,35],"value":{"type":"tupled","tupled":{"values":[{"range":[108,19,108,24],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[108,19,108,24],"value":{"moduleName":[],"name":"Model"}},"args":[]}}},{"range":[108,26,108,33],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[108,26,108,29],"value":{"moduleName":[],"name":"Cmd"}},"args":[{"range":[108,30,108,33],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[108,30,108,33],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}}]}}}]}}}}}}}},"declaration":{"range":[109,1,110,40],"value":{"name":{"range":[109,1,109,5],"value":"init"},"arguments":[{"range":[109,6,109,7],"value":{"type":"all","all":{}}}],"expression":{"range":[110,5,110,40],"value":{"type":"tupled","tupled":[{"range":[110,7,110,25],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["RemoteData"],"name":"Loading"}}},{"range":[110,27,110,38],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"makeRequest"}}}]}}}}}}},{"range":[113,1,117,35],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[113,1,113,44],"value":{"name":{"range":[113,1,113,7],"value":"update"},"typeAnnotation":{"range":[113,10,113,44],"value":{"type":"function","function":{"left":{"range":[113,10,113,13],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[113,10,113,13],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}},"right":{"range":[113,17,113,44],"value":{"type":"function","function":{"left":{"range":[113,17,113,22],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[113,17,113,22],"value":{"moduleName":[],"name":"Model"}},"args":[]}}},"right":{"range":[113,26,113,44],"value":{"type":"tupled","tupled":{"values":[{"range":[113,28,113,33],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[113,28,113,33],"value":{"moduleName":[],"name":"Model"}},"args":[]}}},{"range":[113,35,113,42],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[113,35,113,38],"value":{"moduleName":[],"name":"Cmd"}},"args":[{"range":[113,39,113,42],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[113,39,113,42],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}}]}}}]}}}}}}}}}}},"declaration":{"range":[114,1,117,35],"value":{"name":{"range":[114,1,114,7],"value":"update"},"arguments":[{"range":[114,8,114,11],"value":{"type":"var","var":{"value":"msg"}}},{"range":[114,12,114,17],"value":{"type":"var","var":{"value":"model"}}}],"expression":{"range":[115,5,117,35],"value":{"type":"case","case":{"cases":[{"pattern":{"range":[116,9,116,29],"value":{"type":"named","named":{"qualified":{"moduleName":[],"name":"GotResponse"},"patterns":[{"range":[116,21,116,29],"value":{"type":"var","var":{"value":"response"}}}]}}},"expression":{"range":[117,13,117,35],"value":{"type":"tupled","tupled":[{"range":[117,15,117,23],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"response"}}},{"range":[117,25,117,33],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Cmd"],"name":"none"}}}]}}}],"expression":{"range":[115,10,115,13],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"msg"}}}}}}}}}}},{"range":[120,1,126,10],"value":{"type":"function","function":{"documentation":null,"signature":{"range":[120,1,120,44],"value":{"name":{"range":[120,1,120,5],"value":"main"},"typeAnnotation":{"range":[120,8,120,44],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[120,8,120,28],"value":{"moduleName":["Helpers","Main"],"name":"Program"}},"args":[{"range":[120,29,120,34],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[120,29,120,34],"value":{"moduleName":[],"name":"Flags"}},"args":[]}}},{"range":[120,35,120,40],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[120,35,120,40],"value":{"moduleName":[],"name":"Model"}},"args":[]}}},{"range":[120,41,120,44],"value":{"type":"typed","typed":{"moduleNameAndName":{"range":[120,41,120,44],"value":{"moduleName":[],"name":"Msg"}},"args":[]}}}]}}}}},"declaration":{"range":[121,1,126,10],"value":{"name":{"range":[121,1,121,5],"value":"main"},"arguments":[],"expression":{"range":[122,5,126,10],"value":{"type":"application","application":[{"range":[122,5,122,26],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Helpers","Main"],"name":"document"}}},{"range":[123,9,126,10],"value":{"type":"record","record":[{"range":[123,11,123,22],"value":{"field":{"range":[123,11,123,15],"value":"init"},"expression":{"range":[123,18,123,22],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"init"}}}}},{"range":[124,11,125,9],"value":{"field":{"range":[124,11,124,17],"value":"update"},"expression":{"range":[124,20,124,26],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"update"}}}}},{"range":[125,11,126,9],"value":{"field":{"range":[125,11,125,22],"value":"queryString"},"expression":{"range":[125,25,125,54],"value":{"type":"application","application":[{"range":[125,25,125,48],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":["Document"],"name":"serializeQuery"}}},{"range":[125,49,125,54],"value":{"type":"functionOrValue","functionOrValue":{"moduleName":[],"name":"query"}}}]}}}}]}}]}}}}}}}],"comments":[{"range":[93,1,93,26],"value":"-- Elm Architecture Setup"},{"range":[71,1,74,3],"value":"{- Check out this page to learn more about how Record Constructor Functions\n like `Character` in this example are used as the first argument to `selection`s:\n https://dillonkearns.gitbooks.io/elm-graphql/content/selection-sets.html\n-}"},{"range":[46,1,60,3],"value":"{-\n\n `characterInfoSelection` below is equivalent to defining\n a fragment like this in raw GraphQL:\n\n\n fragment characterInfo on Character {\n name\n id\n friends {\n name\n }\n }\n\n-}"},{"range":[41,5,41,125],"value":"-- https://medium.com/@zenitram.oiram/graphqelm-optional-arguments-in-a-language-without-optional-arguments-d8074ca3cf74"},{"range":[40,5,40,67],"value":"-- optional arguments to `hero`. Read this blog post for more:"},{"range":[39,5,39,58],"value":"-- We use `identity` to say that we aren't giving any"},{"range":[16,1,30,3],"value":"{-\n\n The `query` definition in our Elm code\n is using our `characterInfoSelection` `SelectionSet`\n that we define lower down in our Elm code.\n The equivalent raw GraphQL would look like this:\n\n\n query {\n hero {\n ...characterInfo\n }\n }\n\n-}"}]}