@odata2ts/odata2ts
Version:
Flexible generator to produce various TypeScript artefacts (from simple model interfaces to complete odata clients) from OData metadata files
22 lines • 854 B
JavaScript
export class ImportedNameValidator {
constructor(reservedNames) {
this.importedNames = new Map();
reservedNames === null || reservedNames === void 0 ? void 0 : reservedNames.forEach((rn) => {
this.importedNames.set(rn, { ["_"]: rn });
});
}
validateName(qualifier, name) {
var _a;
const qualifiers = (_a = this.importedNames.get(name)) !== null && _a !== void 0 ? _a : {};
const hitName = qualifiers[qualifier];
if (hitName) {
return hitName;
}
const qualifiersSize = Object.keys(qualifiers).length;
const result = qualifiersSize ? `${name}_${qualifiersSize}` : name;
qualifiers[qualifier] = result;
this.importedNames.set(name, qualifiers);
return result;
}
}
//# sourceMappingURL=ImportedNameValidator.js.map