UNPKG

@graphql-tools/utils

Version:

Common package containing utils and types for GraphQL tools

33 lines (32 loc) 866 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.printPathArray = exports.pathToArray = exports.addPath = void 0; /** * Given a Path and a key, return a new Path containing the new key. */ function addPath(prev, key, typename) { return { prev, key, typename }; } exports.addPath = addPath; /** * Given a Path, return an Array of the path keys. */ function pathToArray(path) { const flattened = []; let curr = path; while (curr) { flattened.push(curr.key); curr = curr.prev; } return flattened.reverse(); } exports.pathToArray = pathToArray; /** * Build a string describing the path. */ function printPathArray(path) { return path .map(key => (typeof key === 'number' ? '[' + key.toString() + ']' : '.' + key)) .join(''); } exports.printPathArray = printPathArray;