UNPKG

@shopify/graphql-client

Version:

Shopify GraphQL Client - A lightweight generic GraphQL JS client to interact with Shopify GraphQL APIs

1 lines 4.7 kB
{"version":3,"file":"utilities.mjs","sources":["../../src/graphql-client/utilities.ts"],"sourcesContent":["import {CLIENT, MAX_RETRIES, MIN_RETRIES} from './constants';\n\nexport function formatErrorMessage(message: string, client = CLIENT) {\n return message.startsWith(`${client}`) ? message : `${client}: ${message}`;\n}\n\nexport function getErrorMessage(error: any) {\n return error instanceof Error ? error.message : JSON.stringify(error);\n}\n\nexport function getErrorCause(error: any): Record<string, any> | undefined {\n return error instanceof Error && error.cause ? error.cause : undefined;\n}\n\nexport function combineErrors(dataArray: Record<string, any>[]) {\n return dataArray.flatMap(({errors}) => {\n return errors ?? [];\n });\n}\n\nexport function validateRetries({\n client,\n retries,\n}: {\n client: string;\n retries?: number;\n}) {\n if (\n retries !== undefined &&\n (typeof retries !== 'number' ||\n retries < MIN_RETRIES ||\n retries > MAX_RETRIES)\n ) {\n throw new Error(\n `${client}: The provided \"retries\" value (${retries}) is invalid - it cannot be less than ${MIN_RETRIES} or greater than ${MAX_RETRIES}`,\n );\n }\n}\n\nexport function getKeyValueIfValid(key: string, value?: any) {\n return value &&\n (typeof value !== 'object' ||\n Array.isArray(value) ||\n (typeof value === 'object' && Object.keys(value).length > 0))\n ? {[key]: value}\n : {};\n}\n\nexport function buildDataObjectByPath(\n path: string[],\n data: any,\n): Record<string | number, any> {\n if (path.length === 0) {\n return data;\n }\n\n const key = path.pop() as string | number;\n const newData = {\n [key]: data,\n };\n\n if (path.length === 0) {\n return newData;\n }\n\n return buildDataObjectByPath(path, newData);\n}\n\nfunction combineObjects(baseObject: any, newObject: any) {\n return Object.keys(newObject || {}).reduce(\n (acc: any, key: string | number) => {\n if (\n (typeof newObject[key] === 'object' || Array.isArray(newObject[key])) &&\n baseObject[key]\n ) {\n acc[key] = combineObjects(baseObject[key], newObject[key]);\n return acc;\n }\n\n acc[key] = newObject[key];\n return acc;\n },\n Array.isArray(baseObject) ? [...baseObject] : {...baseObject},\n );\n}\n\nexport function buildCombinedDataObject([\n initialDatum,\n ...remainingData\n]: any[]) {\n return remainingData.reduce(combineObjects, {...initialDatum});\n}\n"],"names":[],"mappings":"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"}