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.
86 lines (71 loc) • 2.46 kB
text/typescript
import { IMeta, ListaMeta, Meta } from "../metadata";
import { tipo } from "../utility";
import { ListaMetadataClasse } from "./classe.metadata";
export interface IMetaProprieta extends IMeta {
nome: string;
tipo: tipo;
}
export class MetadataProprieta extends Meta implements IMetaProprieta {
nome: string;
tipo: tipo;
constructor(item: IMetaProprieta) {
super(item);
this.nome = '';
this.tipo = 'any';
}
}
export class ListaMetadataProprieta extends ListaMeta {
constructor() {
super();
}
Mergia(item: ListaMetadataClasse) {
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(elementoCercato);
}
} */
}
CercaSeNoAggiungi(item: MetadataProprieta) {
const t = super.CercaSeNoAggiungi(item);
return <MetadataProprieta>t;
/* let classe = undefined;
for (let index = 0; index < this.length && classe == undefined; index++) {
const element = this[index];
if (Meta.Compara(element, item) == 0) classe;
}
if (classe == undefined) {
classe = new MetadataClasse(item);
this.AggiungiElemento(classe);
}
return classe; */
}
Cerca(item: MetadataProprieta): MetadataProprieta | undefined {
const t = super.Cerca(item);
return <MetadataProprieta>t;
/* for (let index = 0; index < this.length; index++) {
const element = this[index];
if (Meta.Compara(element, item) == 0) return element;
}
return undefined; */
}
AggiungiElemento(item: MetadataProprieta) {
const t = super.AggiungiElemento(item);
return <MetadataProprieta>t;
/* for (let index = 0; index < this.length; index++) {
const element = this[index];
if (Meta.Compara(element, item) == 0) {
this[index].Mergia(item);
return this[index];
}
}
this.push(item);
return item; */
}
}