import { Rule } from '@angular-devkit/schematics'; import { EnumOption, IEnumDef } from '@vmfvmf/ywtc-lib'; import { FrontEndGenerator } from '../../../shared/generator'; import { getPrjSrd, setEnumDef } from '../../../router.gen'; export function gen(enumDef: IEnumDef): Rule { setEnumDef(enumDef); return new FrontEndGenerator(__filename).gen( { ...enumDef, ...getPrjSrd(), generateEnumOptions, generateEnumMapDescOptions }); } export function generateEnumOptions(options: Array) { return options.map(op => `${op.value} = '${op.value}'`).join(', '); } export function generateEnumMapDescOptions(options: Array) { let entries = new Array(); for (let op of options) { entries.push(`['${op.value}', '${op.text}']`); } return entries.join(',\n') }