UNPKG

@ui5/task-adaptation

Version:

Custom task for ui5-builder which allows building UI5 Flexibility Adaptation Projects for SAP BTP, Cloud Foundry environment

48 lines 1.6 kB
import MetadataJsonUtil from "./metadataJsonUtil.js"; export default class MetadataJsonReferenceUtil { json; aliases = null; namespaces = null; constructor(json) { this.json = json; } aliasToNamespace(target) { return this.convertReference(this.getAliases(), target); } namespaceToAlias(target) { return this.convertReference(this.getNamespaces(), target); } convertReference(references, target) { for (const alias of references.keys()) { target = target.replaceAll(alias + ".", references.get(alias) + "."); } return target; } getAliases() { this.initReferences(); return this.aliases; } getNamespaces() { this.initReferences(); return this.namespaces; } initReferences() { if (!this.aliases || !this.namespaces) { const references = new Array(); for (const ref of MetadataJsonUtil.getReferences(this.json)) { references.push(...ref.includes); } references.push(MetadataJsonUtil.getSchemaReference(this.json)); this.aliases = new Map(); this.namespaces = new Map(); for (const mapping of references) { if (mapping.alias && mapping.namespace) { const { alias, namespace } = mapping; this.aliases.set(alias, namespace); this.namespaces.set(namespace, alias); } } } } } //# sourceMappingURL=metadataJsonReferenceUtil.js.map