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
JavaScript
;
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