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.

92 lines 4.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DecoratoreClasse = exports.decoratoreClasse = exports.decoratoreClasseSmall = void 0; const classe_express_1 = require("../express/classe.express"); const metadata_1 = require("../metadata"); const classe_metadata_1 = require("../metadata/classe.metadata"); const metodo_metadata_1 = require("../metadata/metodo.metadata"); const classe_postgres_1 = require("../postgres/classe.postgres"); const metodo_decoratore_1 = require("./metodo.decoratore"); function decoratoreClasseSmall(item) { // eslint-disable-next-line @typescript-eslint/ban-types return (ctr) => { //const tmp: TypeDecoratoreClasse; DecoratoreClasse(ctr /* , item */); }; } exports.decoratoreClasseSmall = decoratoreClasseSmall; function decoratoreClasse(item) { // eslint-disable-next-line @typescript-eslint/ban-types return (ctr) => { if (item == undefined) item = { itemMetaClasse: {}, itemPostgresClasse: {}, itemExpressClasse: {} }; if (item.itemExpressClasse == undefined) item.itemExpressClasse = {}; if (item.itemMetaClasse == undefined) item.itemMetaClasse = {}; if (item.itemPostgresClasse == undefined) item.itemPostgresClasse = {}; DecoratoreClasse(ctr, item); }; } exports.decoratoreClasse = decoratoreClasse; function DecoratoreClasse(ctr, item) { try { if (item) { if (item.itemListaMetodi) { for (let index = 0; index < item.itemListaMetodi.length; index++) { try { const element = item.itemListaMetodi[index]; const funzione = ctr.prototype[element.nomeMetodo]; const target = { constructor: { name: (item.itemMetaClasse && item.itemMetaClasse.nomeOriginale != undefined) ? item.itemMetaClasse.nomeOriginale : ctr.name } }; (0, metodo_decoratore_1.DecoratoreMetodo)(target, element.nomeMetodo, funzione, element.decoratore); } catch (error) { console.log(error); } } } if (item.itemMetaClasse) { const list = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Metadata', () => { return new classe_metadata_1.ListaMetadataClasse(); }); item.itemMetaClasse.nomeOriginale = item.itemMetaClasse.nomeOriginale != undefined ? item.itemMetaClasse.nomeOriginale : ctr.name; const t = new classe_metadata_1.MetadataClasse(item.itemMetaClasse); list.CercaSeNoAggiungi(t); (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Metadata', list); } if (item.itemExpressClasse) { if (item.itemExpressClasse) { if (item.itemExpressClasse.listaMetodi == undefined) { item.itemExpressClasse.listaMetodi = new metodo_metadata_1.ListaMetadataMetodo(item.itemExpressClasse.listaMetodi); } const listExpress = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Express', () => { return new classe_express_1.ListaExpressClasse(); }); item.itemExpressClasse.nomeOriginale = ctr.name; const t = new classe_express_1.ExpressClasse(item.itemExpressClasse); listExpress.CercaSeNoAggiungi(t); (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Express', listExpress); } } if (item.itemPostgresClasse) { if (item.itemPostgresClasse) { if (item.itemPostgresClasse.listaMetodi == undefined) { item.itemPostgresClasse.listaMetodi = new metodo_metadata_1.ListaMetadataMetodo(item.itemPostgresClasse.listaMetodi); } const listaPostgres = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Postgres', () => { return new classe_postgres_1.ListaPostgresClasse(); }); item.itemPostgresClasse.nomeOriginale = ctr.name; const t = new classe_postgres_1.PostgresClasse(item.itemPostgresClasse); listaPostgres.CercaSeNoAggiungi(t); (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Postgres', listaPostgres); } } } } catch (error) { console.log(error); throw error; } } exports.DecoratoreClasse = DecoratoreClasse; //# sourceMappingURL=classe.decoratore.js.map