@paroicms/server
Version:
The ParoiCMS server
22 lines • 852 B
JavaScript
import { isPromise } from "node:util/types";
import { extractRenderingContext } from "./liquidjs-utils.js";
export function toLiquidFilterHandler(siteContext, handler) {
return function (value, ...args) {
try {
const renderingContext = extractRenderingContext(this.context);
const result = handler(value, { ctx: this.context, renderingContext, args });
if (isPromise(result)) {
return result.then(undefined, (error) => {
siteContext.logger.error("Error in liquid filter:", error);
throw error;
});
}
return result;
}
catch (error) {
siteContext.logger.error("Error in liquid filter:", error);
throw error;
}
};
}
//# sourceMappingURL=liquidjs-filter.js.map