UNPKG

groq-builder

Version:

A **schema-aware**, strongly-typed GROQ query builder. It enables you to build GROQ queries using **auto-completion**, **type-checking**, and **runtime validation**.

37 lines 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.chainParsers = chainParsers; exports.isParser = isParser; exports.isParserObject = isParserObject; exports.normalizeValidationFunction = normalizeValidationFunction; const query_error_1 = require("../types/query-error"); function chainParsers(a, b) { if (a && b) { return (input) => b(a(input)); } return a || b || null; } function isParser(value) { if (typeof value === "function") return true; return isParserObject(value); } function isParserObject(value) { return (typeof value === "object" && value !== null && "parse" in value && typeof value.parse === "function"); } function normalizeValidationFunction(parser) { if (!parser) { return null; } if (typeof parser === "function") { return parser; } if (isParserObject(parser)) { return (input) => parser.parse(input); } throw new query_error_1.QueryError(`Parser must be a function or an object`, { parser }); } //# sourceMappingURL=validate-utils.js.map