UNPKG

@reactionable/amplify

Version:
44 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.query = void 0; const core_1 = require("@aws-amplify/core"); const api_graphql_1 = require("@aws-amplify/api-graphql"); function isGraphQLResult(arg) { return arg !== null && typeof arg === "object" && ("data" in arg || "errors" in arg); } function extractData(result) { const resultKeys = Object.keys(result); if (resultKeys.length !== 1) { return undefined; } const data = result[resultKeys[0]]; return data; } async function query({ query, variables, rawData, }) { let result; try { result = await api_graphql_1.GraphQLAPI.graphql(core_1.Amplify, (0, api_graphql_1.graphqlOperation)(query, variables)); } catch (error) { if (error instanceof Error) { throw error; } if (!isGraphQLResult(error) || !error.errors) { throw new Error("An unexpected error occurred"); } throw new Error(error.errors.map((errorItem) => errorItem.message).join(", ")); } if (!result || !isGraphQLResult(result) || !result.data) { throw new Error("No data"); } if (rawData) { return result.data; } const data = extractData(result.data); if (!data) { throw new Error("No data"); } return data; } exports.query = query; //# sourceMappingURL=Query.js.map