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**.
18 lines • 713 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const groq_builder_1 = require("../groq-builder");
const utils_1 = require("../types/utils");
groq_builder_1.GroqBuilder.implement({
selectByType(typeQueries, defaultSelection) {
const mapped = {};
const root = this.root;
for (const key of (0, utils_1.keys)(typeQueries)) {
const condition = `_type == "${key}"`;
const queryFn = typeQueries[key];
const query = typeof queryFn === "function" ? queryFn(root) : queryFn;
mapped[condition] = query;
}
return this.select(mapped, defaultSelection);
},
});
//# sourceMappingURL=selectByType.js.map