UNPKG

@technobuddha/library

Version:
34 lines 3.31 kB
import { empty, space } from "./constants.js"; import { escapeGraphQL } from "./escape-graphql.js"; import { isArrayLike } from "./is-array-like.js"; import { isBoolean } from "./is-boolean.js"; import { isNumber } from "./is-number.js"; import { isString } from "./is-string.js"; import { zipperMerge } from "./zipper-merge.js"; export function graphQL(template, ...args) { if (!isString(template) && isArrayLike(template) && 'raw' in template) { return zipperMerge(template.map((t) => t.replaceAll(/[\r\n]+\s*/gu, space)), args.map((arg) => graphQL(arg))) .flat() .join(empty) .trim(); } if (isNumber(template)) { return template.toString(); } if (isString(template)) { return `"${escapeGraphQL(template)}"`; } if (template === null) { return 'null'; } if (isBoolean(template)) { return template ? 'true' : 'false'; } if (Array.isArray(template)) { return `[ ${template.map((a) => graphQL(a)).join(', ')} ]`; } return `{ ${Object.entries(template) .map(([key, value]) => `${key}: ${graphQL(value)}`) .join(', ')} }`; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFzQ2hELE1BQU0sVUFBVSxPQUFPLENBQ3JCLFFBQTZDLEVBQzdDLEdBQUcsSUFBb0I7SUFFdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3RFLE9BQU8sV0FBVyxDQUNoQixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDaEM7YUFDRSxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ1gsSUFBSSxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7SUFDRCxPQUFPLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUF3QyxDQUFDO1NBQ2pFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUNwQixDQUFDIn0=