namirasoft-core
Advanced tools
Comparing version
@@ -5,4 +5,8 @@ import { BaseMetaColumn } from "./BaseMetaColumn"; | ||
text: string; | ||
columns: { | ||
[name: string]: BaseMetaColumn; | ||
}; | ||
constructor(name: string, text: string); | ||
getColumns(): BaseMetaColumn[]; | ||
forEachColumn<T, MC extends BaseMetaColumn>(handler: (table: MC) => T | null): T | null; | ||
getColumns<MC extends BaseMetaColumn>(): MC[]; | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.BaseMetaTable = void 0; | ||
const BaseMetaColumn_1 = require("./BaseMetaColumn"); | ||
class BaseMetaTable { | ||
constructor(name, text) { | ||
this.columns = {}; | ||
this.name = name; | ||
this.text = text; | ||
} | ||
forEachColumn(handler) { | ||
for (const key in this.columns) { | ||
const element = this.columns[key]; | ||
let ans = handler(element); | ||
if (ans != null) | ||
return ans; | ||
} | ||
return null; | ||
} | ||
getColumns() { | ||
let ans = []; | ||
let columns = this.columns; | ||
if (columns) | ||
for (let key of Object.keys(columns)) { | ||
let object = columns[key]; | ||
if (object instanceof BaseMetaColumn_1.BaseMetaColumn) | ||
ans.push(object); | ||
} | ||
this.forEachColumn((column) => { | ||
ans.push(column); | ||
return null; | ||
}); | ||
return ans; | ||
@@ -20,0 +26,0 @@ } |
@@ -11,3 +11,3 @@ { | ||
"private": false, | ||
"version": "1.4.15", | ||
"version": "1.4.16", | ||
"author": "Amir Abolhasani", | ||
@@ -25,4 +25,4 @@ "license": "MIT", | ||
"moment": "^2.30.1", | ||
"phone": "^3.1.55" | ||
"phone": "^3.1.56" | ||
} | ||
} |
@@ -5,3 +5,3 @@ export class BaseMetaColumn | ||
text: string; | ||
type: string; | ||
type: string; // todo | ||
required: boolean; | ||
@@ -8,0 +8,0 @@ constructor(name: string, text: string, type: string, required: boolean) |
@@ -7,2 +7,3 @@ import { BaseMetaColumn } from "./BaseMetaColumn"; | ||
text: string; | ||
public columns: { [name: string]: BaseMetaColumn } = {}; | ||
constructor(name: string, text: string) | ||
@@ -13,15 +14,23 @@ { | ||
} | ||
public getColumns(): BaseMetaColumn[] | ||
forEachColumn<T, MC extends BaseMetaColumn>(handler: (table: MC) => T | null): T | null | ||
{ | ||
let ans: BaseMetaColumn[] = []; | ||
let columns = (this as any).columns; | ||
if (columns) | ||
for (let key of Object.keys(columns)) | ||
{ | ||
let object = columns[key]; | ||
if (object instanceof BaseMetaColumn) | ||
ans.push(object); | ||
} | ||
for (const key in this.columns) | ||
{ | ||
const element = this.columns[key]; | ||
let ans = handler(element as MC); | ||
if (ans != null) | ||
return ans; | ||
} | ||
return null; | ||
} | ||
getColumns<MC extends BaseMetaColumn>(): MC[] | ||
{ | ||
let ans: MC[] = []; | ||
this.forEachColumn((column) => | ||
{ | ||
ans.push(column as MC); | ||
return null; | ||
}); | ||
return ans; | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
413859
0.75%175
2.34%5458
1.47%Updated