|
|
|
@ -9,20 +9,16 @@ import { parseGenerics } from './tree'; |
|
|
|
|
|
|
|
export function createTypeSimplifier() { |
|
|
|
const parseType = createTypeParser(type => { |
|
|
|
const regexp = new RegExp(/.*(?<=\.)(?<generic>.+)<.*(?<=[\.<])(?<genericType>.+)>/gm); |
|
|
|
const { generic, genericType } = regexp.exec(type)?.groups ?? {}; |
|
|
|
|
|
|
|
if (generic) return `${generic}<${genericType}>`; |
|
|
|
|
|
|
|
type = type.replace( |
|
|
|
/System\.([0-9A-Za-z.]+)/g, |
|
|
|
(_, match) => SYSTEM_TYPES.get(match) ?? strings.camelize(match), |
|
|
|
); |
|
|
|
|
|
|
|
let regexp = new RegExp(/.*(?<=\.)(?<generic>.+)<.*(?<=[\.<])(?<genericType>.+)>/gm); |
|
|
|
let groups=regexp.exec(type)?.groups; |
|
|
|
|
|
|
|
if(!groups?.generic){ |
|
|
|
return type.split('.').pop()!; |
|
|
|
} |
|
|
|
else{ |
|
|
|
return `${groups?.generic}<${groups?.genericType}>` |
|
|
|
} |
|
|
|
return type.split('.').pop()!; |
|
|
|
}); |
|
|
|
|
|
|
|
return (type: string) => { |
|
|
|
@ -104,8 +100,8 @@ export function createTypeToImportMapper(solution: string, namespace: string) { |
|
|
|
const path = VOLO_REGEX.test(type) |
|
|
|
? '@abp/ng.core' |
|
|
|
: isEnum |
|
|
|
? relativePathToEnum(namespace, modelNamespace, specifiers[0]) |
|
|
|
: relativePathToModel(namespace, modelNamespace); |
|
|
|
? relativePathToEnum(namespace, modelNamespace, specifiers[0]) |
|
|
|
: relativePathToModel(namespace, modelNamespace); |
|
|
|
|
|
|
|
return new Import({ keyword: eImportKeyword.Type, path, refs, specifiers }); |
|
|
|
}; |
|
|
|
|