[{"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  - the component model\n  - a list of headers (name: String, value: String)\n  - a closure to updater the caller model with the component model. Something like (\\\\gqlClientModel -> {model | gqlClientModel = gqlClientModel})\n  - the caller model\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  - the component message\n  - the component model\n  - the caller Cmd Msg to get a new header\n  - a closure to handle the result of an OK query. The closure should accept the caller model and a decoder for the response\n  - a closure to handle the result of an Error query. The closure should accept the caller model and a Graphql.Http.Error\n  - a closure to updater the caller model with the component model. Something like (\\\\gqlClientModel -> {model | gqlClientModel = gqlClientModel})\n  - the caller model\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  - the mutation name\n  - a list of headers (name: String, value: String)\n  - the component model\n  - the selection set of the query that will be executed\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  - the query name\n  - a list of headers (name: String, value: String)\n  - the component model\n  - the selection set of the query that will be executed\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":[]}]