@paroicms/server
Version:
The ParoiCMS server
22 lines • 783 B
JavaScript
import { type } from "arktype";
const StringOrUndefinedOrNullAT = type("string|undefined|null");
export function translateLiquidFilter(value, { renderingContext, args }) {
const { siteContext } = renderingContext;
const str = StringOrUndefinedOrNullAT.assert(value);
if (!str)
return "";
const formattedArgs = args.map(formatStringOrNumber);
return siteContext.themeTranslator.translate({
language: renderingContext.language,
key: str,
args: formattedArgs,
});
}
function formatStringOrNumber(value) {
if (typeof value === "number")
return value;
if (typeof value === "string")
return value;
throw new Error(`invalid argument type: '${typeof value}'`);
}
//# sourceMappingURL=translate-filter.js.map