@dww/graphiql-code-exporter
Version:
Export working code snippets from GraphiQL queries
19 lines (17 loc) • 1.06 kB
JavaScript
import refmt from 'reason';
export default {
language: 'ReasonML',
prismLanguage: 'reason',
name: 'bs-fetch',
options: [],
generate: function generate(_ref) {
var serverUrl = _ref.serverUrl,
variableName = _ref.variableName,
operationType = _ref.operationType,
operationName = _ref.operationName,
operation = _ref.operation,
options = _ref.options;
// snippet here
return refmt.printRE(refmt.parseRE('\nlet serverUrl = "' + serverUrl + '"\n\nlet ' + variableName + ' = [%graphql\n{|\n' + operation + '\n|}\n]\n\nlet payload = Js.Dict.empty();\nJs.Dict.set(payload, "' + operationType + '", Js.Json.string(' + variableName + '));\n\nJs.Promise.(\n Fetch.fetch(serverUrl,\n Fetch.RequestInit.make(\n ~method_=Post,\n ~body=Fetch.BodyInit.make(Js.Json.stringify(Js.Json.object_(payload))),\n ~headers=Fetch.HeadersInit.make({"Content-Type": "application/json"}),\n ()\n )\n )\n |> then_(Fetch.Response.json)\n |> then_(json => print_endline(json) |> resolve)\n);'));
}
};