UNPKG

@serafin/pipeline

Version:

CRUD data access library with a functional approach

25 lines 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SetReadQueryParameterDefaultValue = void 0; const schema_builder_1 = require("@serafin/schema-builder"); /** * Pipe that set the given read query parameter default value * The schema will not be modified. */ function SetReadQueryParameterDefaultValue(queryParameterAccessor, value) { const queryParameter = queryParameterAccessor((0, schema_builder_1.createPropertyAccessor)()); return () => { return { read: async (next, query, context) => { const existingValue = queryParameter.get(query); if (existingValue === undefined) { const defaultValue = typeof value === "function" ? await value(query, context) : value; query = queryParameter.set(query, defaultValue); } return next(query, context); }, }; }; } exports.SetReadQueryParameterDefaultValue = SetReadQueryParameterDefaultValue; //# sourceMappingURL=SetQueryParameterDefaultValue.js.map