[{"name":"GraphqlClient.Client","comment":" This is a Graphql client with automatic retry\n\n@docs authenticationChanged\n@docs manageUpdate\n@docs runMutation\n@docs runQuery\n\n","unions":[],"aliases":[],"values":[{"name":"authenticationChanged","comment":" funzione da chiamare quando il chiamante è riuscito a recuperare un nuovo token\nQuesta funzione triggera l'esecuzione di tutte le query che erano fallite fino a questo punto ed erano rimaste in attesa di nuova autenticazione\nI parametri sono:\n\n  - il modello del componente\n  - una lista di Authentication, tuple di (header name, header value) espressi tutti e due come String\n  - una closure per aggiornare il modello del chiamante con il modello del componente. tipo (\\\\gqlClientModel -> {model | gqlClientModel = gqlClientModel})\n  - il modello del chiamante\n\n","type":"GraphqlClient.Model.Model name decodesTo msg -> List.List GraphqlClient.Model.Authentication -> (GraphqlClient.Model.Model name decodesTo msg -> model -> model) -> model -> ( model, Platform.Cmd.Cmd msg )"},{"name":"manageUpdate","comment":" HOF che permette il wiring di un componente GqlClient con il chiamante.\nVa messo nell'Update del chiamante dove si ricevono i messaggi del componente\nLa sua funzione principale è quella di evitare che il chiamante debba ricordare tutti i dettagli implementativi di integrazione, con il rischio di dimenticarsi dei pezzi\n\nI parametri sono:\n\n  - il messaggio del componente\n  - il modello del componente\n  - il Cmd Msg del chiamante per ottenere un nuovo token\n  - una closure per gestire il risultato di una query andata a buon fine. La closure accetta il modello del chiamante e il tipo di risposta della query eseguita (decodesTo)\n  - una closure per gestire il risultato di una query andata in errore. La closure accetta il modello del chiamante e un Graphql.Http.Error\n  - una closure per aggiornare il modello del chiamante con il modello del componente. tipo (\\\\gqlClientModel -> {model | gqlClientModel = gqlClientModel})\n  - il modello del chiamante\n\n","type":"GraphqlClient.Model.Msg name decodesTo -> GraphqlClient.Model.Model name decodesTo msg -> Platform.Cmd.Cmd msg -> (model -> name -> decodesTo -> ( model, Platform.Cmd.Cmd msg )) -> (model -> name -> Graphql.Http.Error decodesTo -> model) -> (GraphqlClient.Model.Model name decodesTo msg -> model -> model) -> model -> ( model, Platform.Cmd.Cmd msg )"},{"name":"runMutation","comment":" funzione che permette di eseguire una mutation graphql\nritorna una tupla con il modello aggiornato del client (da inserire nel modello del chiamante) e il comando da eseguire.\nIl comando va ovviamente passato al runtime elm\n\nI parametri sono:\n\n  - il nome della mutation\n  - una lista di header di autenticazione (name: String, value: String)\n  - il modello del componente\n  - il selection set della query da eseguire\n\n","type":"name -> List.List GraphqlClient.Model.Authentication -> GraphqlClient.Model.Model name decodesTo msg -> Graphql.SelectionSet.SelectionSet decodesTo Graphql.Operation.RootMutation -> ( GraphqlClient.Model.Model name decodesTo msg, Platform.Cmd.Cmd (GraphqlClient.Model.Msg name decodesTo) )"},{"name":"runQuery","comment":" funzione che permette di eseguire una query graphql\nritorna una tupla con il modello aggiornato del client (da inserire nel modello del chiamante) e il comando da eseguire.\nIl comando va ovviamente passato al runtime elm\n\nI parametri sono:\n\n  - il nome della query\n  - una lista di header di autenticazione (name: String, value: String)\n  - il modello del componente\n  - il selection set della query da eseguire\n\n","type":"name -> List.List GraphqlClient.Model.Authentication -> GraphqlClient.Model.Model name decodesTo msg -> Graphql.SelectionSet.SelectionSet decodesTo Graphql.Operation.RootQuery -> ( GraphqlClient.Model.Model name decodesTo msg, Platform.Cmd.Cmd (GraphqlClient.Model.Msg name decodesTo) )"}],"binops":[]}]