navidev-adt-api
Version:
API de conexión al Abap Developer Tools
112 lines (111 loc) • 5.2 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdtAbapObject = void 0;
const adtConnection_1 = require("../adtConnection/adtConnection");
const abapObjectStructureApp_1 = __importDefault(require("./abapObjectStructureApp"));
const abapObjectCheckRunApp_1 = __importDefault(require("./abapObjectCheckRunApp"));
const abapObjectLockApp_1 = __importDefault(require("./abapObjectLockApp"));
const abapObjectActivateApp_1 = __importDefault(require("./abapObjectActivateApp"));
const abapObjectElementInfoApp_1 = __importDefault(require("./abapObjectElementInfoApp"));
const adtRepository_1 = require("../adtRepository/adtRepository");
__exportStar(require("./abapObjectsTypes"), exports);
class AdtAbapObject {
/**
* CONSTRUCTOR
*/
constructor(logonData) {
this.connectionController = new adtConnection_1.AdtConnection(logonData);
this.AdtRepository = new adtRepository_1.AdtRepository(logonData);
this.ObjectStructureApp = new abapObjectStructureApp_1.default(this.connectionController, this.AdtRepository);
this.objectCheckRunApp = new abapObjectCheckRunApp_1.default(this.connectionController);
this.objectLockApp = new abapObjectLockApp_1.default(this.connectionController);
this.objectActivateApp = new abapObjectActivateApp_1.default(this.connectionController);
this.objectElementInfo = new abapObjectElementInfoApp_1.default(this.connectionController);
}
/**
* Lee la estructura de un objeto
* @param objectUri URL del objeto
* @param version version del código
* @returns Estructura de datos
*/
readObjectStructure(objectUri_1) {
return __awaiter(this, arguments, void 0, function* (objectUri, version = "active") {
return this.ObjectStructureApp.readObjectStructure(objectUri, version);
});
}
/**
* Valida la sintaxis de un objeto
* @param objectUri URL del objeto
* @param artifacts Objetos/Contenido a validar su sintaxis
* @returns Resultado de la validación
*/
checkRun(objectUri, artifacts) {
return __awaiter(this, void 0, void 0, function* () {
return this.objectCheckRunApp.checkObject(objectUri, artifacts);
});
}
/**
* Bloqueo del objeto pasado por la URL
* @param objectUri URL del objeto
* @returns Resultado del bloqueo
*/
lock(objectUri) {
return this.objectLockApp.lock(objectUri);
}
/**
* Desbloqueo del objeto
* @param objectUri Url de objeto
* @param lockHandle Bloqueo
* @returns Nada si va todo bien
*/
unlock(objectUri, lockHandle) {
return this.objectLockApp.unlock(objectUri, lockHandle);
}
/**
* Graba el contenido de un include (codigo fuente principal, macros, etc..) la clase.
* @param objectUri URL del objeto
* @param objectName Nombre de la clase
* @returns Resultado del proceso de la activación. Si va todo bien no devuelve nada
*/
activate(objectUri, objectName) {
return this.objectActivateApp.activate(objectUri, objectName);
}
/**
* Información de una elemento en una línea y posición
* @param objectUri url para obtener la información del elemento
* @param line Línea del codigo fuente donde esta el objeto
* @param pos Posición de la línea donde se obtendrá la info del elemento.
* @param content Cpntenido del codigo
* @returns Resultado del proceso
*/
elementInfo(objectUri, line, pos, content) {
return this.objectElementInfo.readElementInfo(objectUri, line, pos, content);
}
}
exports.AdtAbapObject = AdtAbapObject;