Browse Source
Merge pull request #16972 from abpframework/auto-merge/rel-7-2/2036
Merge branch rel-7.3 with rel-7.2
pull/16973/head
Masum ULU
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
11 additions and
8 deletions
-
npm/ng-packs/packages/schematics/src/utils/generics.ts
-
npm/ng-packs/packages/schematics/src/utils/rule.ts
-
npm/ng-packs/packages/schematics/src/utils/type.ts
|
|
|
@ -67,21 +67,23 @@ export function generateRefWithPlaceholders(sourceType: string) { |
|
|
|
} |
|
|
|
|
|
|
|
export function extractSimpleGenerics(sourceType: string) { |
|
|
|
const { identifier, generics } = extractGenerics(sourceType); |
|
|
|
const { identifier, generics, array } = extractGenerics(sourceType); |
|
|
|
|
|
|
|
return { |
|
|
|
identifier: getLastSegment(identifier), |
|
|
|
generics: generics.map(getLastSegment), |
|
|
|
array |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
export function extractGenerics(sourceType: string) { |
|
|
|
const isArray = /\[\]$/.test(sourceType); |
|
|
|
const regex = /(?<identifier>[^<]+)(<(?<generics>.+)>)?/g; |
|
|
|
const { identifier = '', generics = '' } = regex.exec(sourceType)?.groups ?? {}; |
|
|
|
|
|
|
|
return { |
|
|
|
return { |
|
|
|
identifier, |
|
|
|
generics: generics.split(/,\s*/).filter(Boolean), |
|
|
|
array: isArray ? '[]':'' |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -25,7 +25,10 @@ export function applyWithOverwrite(source: Source, rules: Rule[]): Rule { |
|
|
|
export function mergeAndAllowDelete(host: Tree, rule: Rule) { |
|
|
|
return async (tree: Tree, context: SchematicContext) => { |
|
|
|
const nextTree = await callRule(rule, tree, context).toPromise(); |
|
|
|
if(!nextTree) return; |
|
|
|
if(!nextTree) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
host.merge(nextTree, MergeStrategy.AllowDeleteConflict); |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -14,10 +14,8 @@ export function createTypeSimplifier() { |
|
|
|
); |
|
|
|
|
|
|
|
type = /any</.test(type) ? 'any' : type; |
|
|
|
|
|
|
|
const { identifier, generics } = extractSimpleGenerics(type); |
|
|
|
|
|
|
|
return generics.length ? `${identifier}<${generics.join(', ')}>` : identifier; |
|
|
|
const { identifier, generics, array} = extractSimpleGenerics(type); |
|
|
|
return generics.length ? `${identifier}<${generics.join(', ')}>${array}` : identifier; |
|
|
|
}); |
|
|
|
|
|
|
|
return (type: string) => { |
|
|
|
|