UNPKG

@vendure/ngx-translate-extract

Version:

Extract strings from projects using ngx-translate

21 lines (20 loc) 736 B
const SORT_SENSITIVITY_SET = new Set(['base', 'accent', 'case', 'variant']); export class SortByKeyPostProcessor { name = 'SortByKey'; sortSensitivity; constructor(sortSensitivity) { if (isSortSensitivityType(sortSensitivity)) { this.sortSensitivity = sortSensitivity; } else { throw new Error(`Unknown sortSensitivity: ${sortSensitivity}`); } } process(draft) { const compareFn = this.sortSensitivity ? new Intl.Collator('en', { sensitivity: this.sortSensitivity }).compare : undefined; return draft.sort(compareFn); } } function isSortSensitivityType(keyInput) { return keyInput === undefined || SORT_SENSITIVITY_SET.has(keyInput); }