UNPKG

apollo-client

Version:
53 lines 1.97 kB
"use strict"; var includes = require('lodash.includes'); function isScalarValue(value) { var SCALAR_TYPES = ['IntValue', 'FloatValue', 'StringValue', 'BooleanValue']; return includes(SCALAR_TYPES, value.kind); } function isVariable(value) { return value.kind === 'Variable'; } function storeKeyNameFromField(field, variables) { if (field.arguments && field.arguments.length) { var argObj_1 = {}; field.arguments.forEach(function (_a) { var name = _a.name, value = _a.value; if (isScalarValue(value)) { argObj_1[name.value] = value.value; } else if (isVariable(value)) { if (!variables) { throw new Error('Internal err: Field has a variable argument but variables not passed.'); } var variableValue = variables[value.name.value]; argObj_1[name.value] = variableValue; } else { throw new Error("For inline arguments, only scalar types are supported. To use Enum or Object types, please pass them as variables."); } }); var stringifiedArgs = JSON.stringify(argObj_1); return field.name.value + "(" + stringifiedArgs + ")"; } return field.name.value; } exports.storeKeyNameFromField = storeKeyNameFromField; function resultKeyNameFromField(field) { return field.alias ? field.alias.value : field.name.value; } exports.resultKeyNameFromField = resultKeyNameFromField; function isField(selection) { return selection.kind === 'Field'; } exports.isField = isField; function isInlineFragment(selection) { return selection.kind === 'InlineFragment'; } exports.isInlineFragment = isInlineFragment; function graphQLResultHasError(result) { return result.errors && result.errors.length; } exports.graphQLResultHasError = graphQLResultHasError; //# sourceMappingURL=storeUtils.js.map