UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

32 lines (26 loc) 936 B
import nunjucks from 'nunjucks' import nunjucksDate from 'nunjucks-date' import { FilterOption } from './components/_filters/filter-input/types' const setUpNunjucksFilters = (env: nunjucks.Environment) => { env.addFilter('addRequiredAttributeToAll', addRequiredAttributeToAll) env.addFilter('json', stringifyJson) env.addFilter('capitaliseSentence', capitaliseSentence) nunjucksDate.setDefaultFormat('DD/MM/YYYY') nunjucksDate.install(env, 'dprDate') } // eslint-disable-next-line @typescript-eslint/no-explicit-any const stringifyJson = (jsonObj: any) => { return JSON.stringify(jsonObj, null, 2) } const capitaliseSentence = (text: string) => { return text.charAt(0).toUpperCase() + text.substring(1).toLowerCase() } const addRequiredAttributeToAll = (items: Array<FilterOption>) => { return items.map((i) => ({ ...i, attributes: { required: true, }, })) } export default setUpNunjucksFilters