import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'dsKeys' }) /** * Pipe for parsing all values of an enumeration to an array of key-value pairs */ export class EnumKeysPipe implements PipeTransform { /** * @param value An enumeration * @returns {any} Array with all keys and values of the input enumeration */ transform(value): any { const keys = []; for (const enumMember in value) { if (!isNaN(parseInt(enumMember, 10))) { keys.push({ key: +enumMember, value: value[enumMember] }); } else { keys.push({ key: enumMember, value: value[enumMember] }); } } return keys; } }