From 0c9c5da87d791825e12a46dd4cd4940281a1e6ad Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Wed, 19 Aug 2020 17:22:32 +0300 Subject: [PATCH] fix: avoid union types to be imported in schematics --- npm/ng-packs/packages/schematics/src/utils/model.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/schematics/src/utils/model.ts b/npm/ng-packs/packages/schematics/src/utils/model.ts index 6c13317d75..0dd2c4e020 100644 --- a/npm/ng-packs/packages/schematics/src/utils/model.ts +++ b/npm/ng-packs/packages/schematics/src/utils/model.ts @@ -84,7 +84,17 @@ export function mergeBaseTypeWithProperties({ baseType, genericArguments, proper const baseTypes = baseType ? [baseType] : []; const propTypes = (properties ?? []).map(({ type }) => type); - return [...baseTypes, ...propTypes].map(removeGenerics); + return [...baseTypes, ...propTypes].reduce(flattenUnionTypes, []).map(removeGenerics); +} + +export function flattenUnionTypes(types: string[], type: string) { + type + .replace(/^{/, '') + .replace(/}$/, '') + .split(':') + .forEach(t => types.push(t)); + + return types; } export function createGenericRemover(genericArguments: string[] | null) {