UNPKG

mp-holistic

Version:

si prefigge l'umile compito di aiutare nella creazione di : - un server API REST mediante express - un semplice ORM per Postgres Questo tramite decoratori o classi particolari.

67 lines 3.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DecoratoreMetodo = exports.decoratoreMetodo = void 0; const classe_express_1 = require("../express/classe.express"); const metodo_express_1 = require("../express/metodo.express"); const metadata_1 = require("../metadata"); const classe_metadata_1 = require("../metadata/classe.metadata"); const metodo_metadata_1 = require("../metadata/metodo.metadata"); const parametro_decoratore_1 = require("./parametro.decoratore"); function decoratoreMetodo(item) { // eslint-disable-next-line @typescript-eslint/ban-types return function (target, propertyKey, descriptor) { var _a; DecoratoreMetodo(target, propertyKey, (_a = descriptor.value) !== null && _a !== void 0 ? _a : descriptor, item); }; } exports.decoratoreMetodo = decoratoreMetodo; function DecoratoreMetodo(target, propertyKey, descriptor, item) { try { const nomeMetodo = propertyKey.toString(); const nomeClasse = target.constructor.name; /* */ if (item && (item === null || item === void 0 ? void 0 : item.itemListaParametri)) { for (let index = 0; index < item.itemListaParametri.length; index++) { try { const element = item.itemListaParametri[index]; (0, parametro_decoratore_1.DecoratoreParametro)(nomeClasse, nomeMetodo, index, element.decoratore); } catch (error) { console.log(error); } } } /* */ const list = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Metadata', () => { return new classe_metadata_1.ListaMetadataClasse(); }); /* */ if (item == undefined) { item = { itemMetaMetodo: {}, itemExpressMetodo: {} }; } if (item.itemMetaMetodo == undefined) { item.itemMetaMetodo = {}; } item.itemMetaMetodo.metodoAvviabile = descriptor; item.itemMetaMetodo.nomeOriginale = nomeMetodo.toString(); const tempMM = new metodo_metadata_1.MetadataMetodo(item.itemMetaMetodo); /* inizializzo metodo */ const classeMM = list.CercaSeNoAggiungi(new classe_metadata_1.MetadataClasse({ nomeOriginale: nomeClasse })); classeMM.listaMetodi.CercaSeNoAggiungi(tempMM); (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Metadata', list); if (item.itemExpressMetodo == undefined) { item.itemExpressMetodo = {}; } const listExpress = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Express', () => { return new classe_express_1.ListaExpressClasse(); }); item.itemExpressMetodo.metodoAvviabile = descriptor; item.itemExpressMetodo.nomeOriginale = nomeMetodo.toString(); const tempEM = new metodo_express_1.ExpressMetodo(item.itemExpressMetodo); const classeEM = listExpress.CercaSeNoAggiungi(new classe_express_1.ExpressClasse({ nomeOriginale: nomeClasse })); classeEM.listaMetodi.CercaSeNoAggiungi(tempEM); (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Express', listExpress); } catch (error) { console.log(error); throw error; } } exports.DecoratoreMetodo = DecoratoreMetodo; //# sourceMappingURL=metodo.decoratore.js.map