Money filters for liquidjs used by OnVoard.
yarn add liquidjs-ov-money-filters
Setup plugin
import { Liquid } from 'liquidjs';
import { moneyFiltersPlugin } from 'liquidjs-ov-money-filters';
const engine = new Liquid();
engine.plugin(moneyFiltersPlugin);
Format money and display with currency
# Output: US$79.50
engine.parseAndRenderSync(`{{ 79.5|money:"USD" }}`);
Format money and display with currency's native symbol
# Output: $79.50
engine.parseAndRenderSync(`{{ 79.5|money_native:"USD" }}`);
Format money and display without currency prefix. Currency still needs to be passed since not all currencies gets rounded to 2 decimal place. Passed currency will be used to round money to the correct decimal place.
# Output: 79.50
engine.parseAndRenderSync(`{{ 79.5|money_without_prefix:"USD" }}`);
Wrap money with span element <span class="money" data-currency="{{ currency }}">{{ value }}</span>
. This is a convention to support currency conversion apps, allowing them to auto detect and convert prices to another currency.
# Output: <span class="money" data-currency="USD">$79.50</span>
engine.parseAndRenderSync(`{{ 79.5|money_native:"USD"|money_tag:"USD" }}`);
Applies thousand separator to make it easier to read.
# Output: 79,000,000.50
engine.parseAndRenderSync(`{{ 79000000.5|money_native:"USD"|money_thousand_separator:"," }}`);