|
|
|
@ -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 });
|
|
|
|
|
};
|
|
|
|
|