UNPKG

ui5plugin-parser

Version:
129 lines (128 loc) 5.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.URLBuilder = void 0; const ParserPool_1 = require("../../parser/pool/ParserPool"); const SAPNode_1 = require("../librarydata/SAPNode"); const AbstractBaseClass_1 = require("../parsing/ui5class/AbstractBaseClass"); class URLBuilder { constructor(configHandler) { this._URLHost = configHandler.getDataSource(); this._UI5Version = configHandler.getUI5Version(); } getMarkupUrlForClassApi(SAPClass) { const className = SAPClass instanceof SAPNode_1.SAPNode ? SAPClass.getName() : SAPClass instanceof AbstractBaseClass_1.AbstractBaseClass ? SAPClass.className : ""; if (ParserPool_1.default.getManifestForClass(className) || this._isNativeClass(className)) { return ""; } return this._wrapInMarkup(this.getUrlForClassApi(SAPClass)); } getMarkupUrlForPropertiesApi(SAPClass) { if (ParserPool_1.default.getManifestForClass(SAPClass.className) || this._isNativeClass(SAPClass.className)) { return ""; } return this._wrapInMarkup(this._getUrlForPropertiesApi(SAPClass)); } getMarkupUrlForAggregationApi(SAPClass) { if (ParserPool_1.default.getManifestForClass(SAPClass.className) || this._isNativeClass(SAPClass.className)) { return ""; } return this._wrapInMarkup(this._geUrlForAggregationApi(SAPClass)); } getMarkupUrlForAssociationApi(SAPClass) { if (ParserPool_1.default.getManifestForClass(SAPClass.className) || this._isNativeClass(SAPClass.className)) { return ""; } return this._wrapInMarkup(this._geUrlForAssociationApi(SAPClass)); } getMarkupUrlForEventsApi(SAPClass, eventName = "Events") { if (ParserPool_1.default.getManifestForClass(SAPClass.className) || this._isNativeClass(SAPClass.className)) { return ""; } return this._wrapInMarkup(this._geUrlForEventsApi(SAPClass, eventName)); } getMarkupUrlForMethodApi(SAPClass, methodName) { const className = SAPClass instanceof SAPNode_1.SAPNode ? SAPClass.getName() : SAPClass instanceof AbstractBaseClass_1.AbstractBaseClass ? SAPClass.className : ""; if (ParserPool_1.default.getManifestForClass(className) || this._isNativeClass(className)) { return ""; } return this._wrapInMarkup(this.getUrlForMethodApi(SAPClass, methodName)); } getUrlForClassApi(SAPClass) { const className = SAPClass instanceof SAPNode_1.SAPNode ? SAPClass.getName() : SAPClass instanceof AbstractBaseClass_1.AbstractBaseClass ? SAPClass.className : ""; if (ParserPool_1.default.getManifestForClass(className) || this._isNativeClass(className)) { return ""; } return this._getUrlClassApiBase(className); } _getUrlForPropertiesApi(SAPClass) { const urlBase = this._getUrlClassApiBase(SAPClass.className); return `${urlBase}/controlProperties`; } _geUrlForEventsApi(SAPClass, eventName) { const urlBase = this._getUrlClassApiBase(SAPClass.className); return `${urlBase}/events/${eventName}`; } _geUrlForAggregationApi(SAPClass) { const urlBase = this._getUrlClassApiBase(SAPClass.className); return `${urlBase}/aggregations`; } _geUrlForAssociationApi(SAPClass) { const urlBase = this._getUrlClassApiBase(SAPClass.className); return `${urlBase}/associations`; } getUrlForMethodApi(SAPClass, methodName) { const className = SAPClass instanceof SAPNode_1.SAPNode ? SAPClass.getName() : SAPClass instanceof AbstractBaseClass_1.AbstractBaseClass ? SAPClass.className : ""; if (ParserPool_1.default.getManifestForClass(className) || this._isNativeClass(className)) { return ""; } const urlBase = this._getUrlClassApiBase(className); return `${urlBase}/methods/${methodName}`; } _isNativeClass(className) { const standardClasses = ["array", "object", "promise", "function", "boolean", "void", "map"]; return standardClasses.includes(className.toLowerCase()); } getAPIIndexUrl() { return `${this._getUrlBase()}/docs/api/api-index.json`; } getDesignTimeUrlForLib(libDotNotation) { const libPath = libDotNotation.replace(/\./g, "/"); return `${this._getUrlBase()}/test-resources/${libPath}/designtime/apiref/api.json`; } getIconURIs() { return [ `${this._getUrlBase()}/test-resources/sap/m/demokit/iconExplorer/webapp/model/SAP-icons/groups.json`, `${this._getUrlBase()}/test-resources/sap/m/demokit/iconExplorer/webapp/model/SAP-icons-TNT/groups.json`, `${this._getUrlBase()}/test-resources/sap/m/demokit/iconExplorer/webapp/model/BusinessSuiteInAppSymbols/groups.json` ]; } _wrapInMarkup(url) { return `[UI5 API](${url})\n`; } _getUrlClassApiBase(className) { return `${this._getUrlBase()}#/api/${className}`; } _getUrlBase() { return `${this._URLHost}${this._UI5Version}`; } getUrlBase() { return this._getUrlBase(); } } exports.URLBuilder = URLBuilder;