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.

194 lines 7.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SalvaListaMetaClasse = exports.GetListaClasseMeta = exports.ListaMeta = exports.Meta = void 0; const utility_1 = require("./utility"); class Meta { constructor(item) { this.nomeOriginale = ''; this.nomeVariante = ''; if (item.nomeVariante) this.nomeVariante = item.nomeVariante; else if (item.nomeOriginale) this.nomeVariante = item.nomeOriginale; if (item.nomeOriginale) this.nomeOriginale = item.nomeOriginale; } /* GetThis<T>() { return <T>(<any>this); } static GetThis<T>(item: Meta) { return <T>(<any>item); } */ /* GetThis?: (item: IMeta) => Meta; */ Compara(item) { if (this.nomeOriginale != undefined && item.nomeOriginale != undefined) { if (this.nomeOriginale == item.nomeOriginale) return 0; else if (this.nomeOriginale > item.nomeOriginale) return 1; else if (this.nomeOriginale < item.nomeOriginale) return -1; } if (this.nomeVariante != undefined && item.nomeVariante != undefined) { if (this.nomeVariante == item.nomeVariante) return 0; else if (this.nomeVariante > item.nomeVariante) return 1; else if (this.nomeVariante < item.nomeVariante) return -1; } if (this.nomeOriginale != undefined && item.nomeVariante != undefined) { if (this.nomeOriginale == item.nomeVariante) return 0; else if (this.nomeOriginale > item.nomeVariante) return 1; else if (this.nomeOriginale < item.nomeVariante) return -1; } if (this.nomeVariante != undefined && item.nomeOriginale != undefined) { if (this.nomeVariante == item.nomeOriginale) return 0; else if (this.nomeVariante > item.nomeOriginale) return 1; else if (this.nomeVariante < item.nomeOriginale) return -1; } return 0; } /* Mergia?: (item: IMeta) => void; */ Mergia(item, funzioneMerge) { var _a, _b; if (funzioneMerge != undefined) { const tmp = funzioneMerge(item); this.nomeOriginale = tmp.nomeOriginale; this.nomeVariante = tmp.nomeVariante; } else { if (item.nomeOriginale != '' && item.nomeOriginale != undefined && (this.nomeOriginale == '' || this.nomeVariante == undefined)) { this.nomeOriginale = (_a = item.nomeOriginale) !== null && _a !== void 0 ? _a : this.nomeOriginale; } else if (this.nomeOriginale != '' && item.nomeOriginale != '' && this.nomeOriginale && item.nomeOriginale) { this.nomeOriginale = item.nomeOriginale; } if (item.nomeVariante != '' && item.nomeVariante != undefined && (this.nomeVariante == '' || this.nomeVariante == undefined)) { this.nomeVariante = (_b = item.nomeVariante) !== null && _b !== void 0 ? _b : this.nomeVariante; } else if (this.nomeVariante != '' && item.nomeVariante != '' && this.nomeVariante && item.nomeVariante) { this.nomeVariante = item.nomeVariante; } } } GetThis() { return this; } } exports.Meta = Meta; class ListaMeta extends Array { constructor() { super(); } Mergia(item) { for (let index = 0; index < item.length; index++) { const element = item[index]; const elementoCercato = this.Cerca(element); if (elementoCercato == undefined) { const tmp = element; this.push(tmp); } else { elementoCercato.Mergia(element); } } } CercaSeNoAggiungi(item) { let parametro = undefined; /* for (let index = 0; index < this.length && parametro == undefined; index++) { const element = this[index]; if (element.Compara(item) == 0) parametro = element; } if (parametro == undefined) { parametro = item; } */ parametro = item; const t = this.AggiungiElemento(parametro); return t; } Cerca(item) { for (let index = 0; index < this.length; index++) { const element = this[index]; if (element.Compara(item) == 0) return element; } return undefined; } AggiungiElemento(item) { for (let index = 0; index < this.length; index++) { const element = this[index]; if (element.Compara(item) == 0) { element.Mergia(item); return element; } } this.push(item); return item; } } exports.ListaMeta = ListaMeta; /* export function GetListaClasseMeta<T>(item?: number, ifEsiste?: () => T) { let tmp: T | undefined = undefined; if (item == undefined) { tmp = Reflect.getMetadata(nomeMetadataKeyTargetFor_Metadata, targetTerminale); if (tmp == undefined) { if (ifEsiste) tmp = ifEsiste(); } } else { tmp = Reflect.getMetadata(nomeMetadataKeyTargetFor_Express, targetTerminale); if (tmp == undefined) { if (ifEsiste) tmp = ifEsiste(); } } if (tmp == undefined) throw new Error('Boooo'); return tmp; } export function SalvaListaMetaClasse<T>(tmp: T, num?: number) { if (num == undefined) { Reflect.defineMetadata(nomeMetadataKeyTargetFor_Metadata, tmp, targetTerminale); } else { Reflect.defineMetadata(nomeMetadataKeyTargetFor_Express, tmp, targetTerminale); } } */ function GetListaClasseMeta(metaKey, ifNonEsiste) { let tmp = undefined; tmp = Reflect.getMetadata(metaKey, utility_1.targetTerminale); if (tmp == undefined) { if (ifNonEsiste) { tmp = ifNonEsiste(); } else { console.log('cc'); } } if (tmp == undefined) { throw new Error('Boooo'); } return tmp; } exports.GetListaClasseMeta = GetListaClasseMeta; function SalvaListaMetaClasse(metaKey, item) { Reflect.defineMetadata(metaKey, item, utility_1.targetTerminale); /* if (item instanceof ListaMetadataClasse) { Reflect.defineMetadata(metaKey, item, targetTerminale); } else { Reflect.defineMetadata(metaKey, item, targetTerminale); } */ return undefined; } exports.SalvaListaMetaClasse = SalvaListaMetaClasse; //# sourceMappingURL=metadata.js.map