UNPKG

apollo-client

Version:
105 lines 3.48 kB
function isStringValue(value) { return value.kind === 'StringValue'; } function isBooleanValue(value) { return value.kind === 'BooleanValue'; } function isIntValue(value) { return value.kind === 'IntValue'; } function isFloatValue(value) { return value.kind === 'FloatValue'; } function isVariable(value) { return value.kind === 'Variable'; } function isObjectValue(value) { return value.kind === 'ObjectValue'; } function isListValue(value) { return value.kind === 'ListValue'; } function isEnumValue(value) { return value.kind === 'EnumValue'; } function valueToObjectRepresentation(argObj, name, value, variables) { if (isIntValue(value) || isFloatValue(value)) { argObj[name.value] = Number(value.value); } else if (isBooleanValue(value) || isStringValue(value)) { argObj[name.value] = value.value; } else if (isObjectValue(value)) { var nestedArgObj_1 = {}; value.fields.map(function (obj) { return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables); }); argObj[name.value] = nestedArgObj_1; } else if (isVariable(value)) { var variableValue = (variables || {})[value.name.value]; argObj[name.value] = variableValue; } else if (isListValue(value)) { argObj[name.value] = value.values.map(function (listValue) { var nestedArgArrayObj = {}; valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables); return nestedArgArrayObj[name.value]; }); } else if (isEnumValue(value)) { argObj[name.value] = value.value; } else { throw new Error("The inline argument \"" + name.value + "\" of kind \"" + value.kind + "\" is not supported.\n Use variables instead of inline arguments to overcome this limitation."); } } export 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; return valueToObjectRepresentation(argObj_1, name, value, variables); }); return storeKeyNameFromFieldNameAndArgs(field.name.value, argObj_1); } return field.name.value; } export function storeKeyNameFromFieldNameAndArgs(fieldName, args) { if (args) { var stringifiedArgs = JSON.stringify(args); return fieldName + "(" + stringifiedArgs + ")"; } return fieldName; } export function resultKeyNameFromField(field) { return field.alias ? field.alias.value : field.name.value; } export function isField(selection) { return selection.kind === 'Field'; } export function isInlineFragment(selection) { return selection.kind === 'InlineFragment'; } export function graphQLResultHasError(result) { return result.errors && result.errors.length; } export function isIdValue(idObject) { return (idObject != null && typeof idObject === 'object' && idObject.type === 'id'); } export function toIdValue(id, generated) { if (generated === void 0) { generated = false; } return { type: 'id', id: id, generated: generated, }; } export function isJsonValue(jsonObject) { return (jsonObject != null && typeof jsonObject === 'object' && jsonObject.type === 'json'); } //# sourceMappingURL=storeUtils.js.map