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.

46 lines 2.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DecoratoreParametro = exports.decoratoreParametro = void 0; const classe_express_1 = require("../express/classe.express"); const metodo_express_1 = require("../express/metodo.express"); const parametro_express_1 = require("../express/parametro.express"); const metadata_1 = require("../metadata"); const classe_metadata_1 = require("../metadata/classe.metadata"); const metodo_metadata_1 = require("../metadata/metodo.metadata"); const parametro_metadata_1 = require("../metadata/parametro.metadata"); function decoratoreParametro(item) { return function (target, propertyKey, parameterIndex) { const nomeMetodo = propertyKey.toString(); const nomeClasse = target.constructor.name; DecoratoreParametro(nomeClasse, nomeMetodo, parameterIndex, item); }; } exports.decoratoreParametro = decoratoreParametro; function DecoratoreParametro(nomeClasse, nomeMetodo, parameterIndex, item) { try { if (item.itemParametro) { const list = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Metadata', () => { return new classe_metadata_1.ListaMetadataClasse(); }); const classe = list.CercaSeNoAggiungi(new classe_metadata_1.MetadataClasse({ nomeOriginale: nomeClasse })); const metodo = classe.listaMetodi.CercaSeNoAggiungi(new metodo_metadata_1.MetadataMetodo({ nomeOriginale: nomeMetodo })); item.itemParametro.nomeOriginale = parameterIndex.toString(); item.itemParametro.indexParameter = parameterIndex; metodo.listaParametri.CercaSeNoAggiungi(new parametro_metadata_1.MetadataParametro(item.itemParametro)); (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Metadata', list); } if (item.itemExpressParametro) { const listExpress = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Express', () => { return new classe_express_1.ListaExpressClasse(); }); const classe = listExpress.CercaSeNoAggiungi(new classe_express_1.ExpressClasse({ nomeOriginale: nomeClasse })); const metodo = classe.listaMetodi.CercaSeNoAggiungi(new metodo_express_1.ExpressMetodo({ nomeOriginale: nomeMetodo })); item.itemExpressParametro.nomeOriginale = parameterIndex.toString(); item.itemExpressParametro.indexParameter = parameterIndex; metodo.listaParametri.CercaSeNoAggiungi(new parametro_express_1.ExpressParametro(item.itemExpressParametro)); (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Express', listExpress); } } catch (error) { console.log(error); throw error; } } exports.DecoratoreParametro = DecoratoreParametro; //# sourceMappingURL=parametro.decoratore.js.map