UNPKG

@cute-dw/core

Version:

This TypeScript library is the main part of a more powerfull package designed for the fast WEB software development. The cornerstone of the library is the **DataStore** class, which might be useful when you need a full control of the data, but do not need

36 lines 5.54 kB
import { Types } from "../util/Types"; import { ResultCode } from "../util/enum/ResultCode"; export class TableParam { constructor(_name, _type = "string", _default) { this._name = _name; this._type = _type; this._default = _default; this._value = undefined; } get name() { return this._name; } get type() { return this._type; } static map(...arr) { let params = new Array(); if (arr && arr.length) { for (let i = 0; i < arr.length; i++) { params[i] = new TableParam(arr[i].name, arr[i].type ?? "string", arr[i].value); } } return params; } getValue() { return this.valueOf(); } setValue(val) { let rc = ResultCode.SUCCESS; let newVal = Types.toType(val, this._type); if (Object.is(this._value, newVal)) { rc = ResultCode.NOTHING; } this._value = newVal; return rc; } valueOf() { return this._value ?? this._default; } clone() { return new TableParam(this.name, this.type, this._default); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVQYXJhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2N1dGUtY29yZS9zcmMvbGliL2RhdGFzdG9yZS9UYWJsZVBhcmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBZ0JyRCxNQUFNLE9BQU8sVUFBVTtJQUduQixZQUFxQixLQUFhLEVBQVUsUUFBbUIsUUFBUSxFQUFVLFFBQWM7UUFBMUUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBTTtRQUZ2RixXQUFNLEdBQVEsU0FBUyxDQUFDO0lBRWtFLENBQUM7SUFFbkcsSUFBSSxJQUFJLEtBQVksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQztJQUN2QyxJQUFJLElBQUksS0FBZSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFrRDtRQUM1RCxJQUFJLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO1FBQ3JDLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsS0FBSyxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoRjtTQUNKO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVEsS0FBUyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBLENBQUM7SUFFeEMsUUFBUSxDQUFDLEdBQVE7UUFDYixJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNoQyxFQUFFLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sS0FBUyxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFBLENBQUM7SUFFcEQsS0FBSztRQUNELE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlcyB9IGZyb20gXCIuLi91dGlsL1R5cGVzXCI7XHJcbmltcG9ydCB7IENsb25lYWJsZSB9IGZyb20gXCIuLi91dGlsL2ludGVyZmFjZS9DbG9uZWFibGVcIjtcclxuaW1wb3J0IHsgUmVzdWx0Q29kZSB9IGZyb20gXCIuLi91dGlsL2VudW0vUmVzdWx0Q29kZVwiO1xyXG5cclxuZXhwb3J0IHR5cGUgUGFyYW1UeXBlID1cclxuICAgICAgICB8XCJzdHJpbmdcIlxyXG4gICAgICAgIHxcIm51bWJlclwiXHJcbiAgICAgICAgfFwiZGVjaW1hbFwiXHJcbiAgICAgICAgfFwiZGF0ZVwiXHJcbiAgICAgICAgfFwidGltZVwiXHJcbiAgICAgICAgfFwiZGF0ZXRpbWVcIlxyXG4gICAgICAgIHxcInN0cmluZ2FycmF5XCJcclxuICAgICAgICB8XCJudW1iZXJhcnJheVwiXHJcbiAgICAgICAgfFwiZGVjaW1hbGFycmF5XCJcclxuICAgICAgICB8XCJkYXRlYXJyYXlcIlxyXG4gICAgICAgIHxcImRhdGV0aW1lYXJyYXlcIlxyXG4gICAgICAgIHxcImpzb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVBhcmFtIGltcGxlbWVudHMgQ2xvbmVhYmxlIHtcclxuICAgIHByaXZhdGUgX3ZhbHVlOiBhbnkgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IgKHByaXZhdGUgX25hbWU6IHN0cmluZywgcHJpdmF0ZSBfdHlwZTogUGFyYW1UeXBlID0gXCJzdHJpbmdcIiwgcHJpdmF0ZSBfZGVmYXVsdD86IGFueSkge31cclxuXHJcbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge3JldHVybiB0aGlzLl9uYW1lO31cclxuICAgIGdldCB0eXBlKCk6IFBhcmFtVHlwZSB7cmV0dXJuIHRoaXMuX3R5cGU7fVxyXG5cclxuICAgIHN0YXRpYyBtYXAoLi4uYXJyOiB7bmFtZTpzdHJpbmcsIHR5cGU/OlBhcmFtVHlwZSwgdmFsdWU/OiBhbnl9W10pOiBUYWJsZVBhcmFtW10ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgQXJyYXk8VGFibGVQYXJhbT4oKTtcclxuICAgICAgICBpZiAoYXJyICYmIGFyci5sZW5ndGgpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXNbaV0gPSBuZXcgVGFibGVQYXJhbShhcnJbaV0ubmFtZSwgYXJyW2ldLnR5cGU/P1wic3RyaW5nXCIsIGFycltpXS52YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBnZXRWYWx1ZSgpOiBhbnkge3JldHVybiB0aGlzLnZhbHVlT2YoKTt9XHJcblxyXG4gICAgc2V0VmFsdWUodmFsOiBhbnkpOiBSZXN1bHRDb2RlIHtcclxuICAgICAgICBsZXQgcmMgPSBSZXN1bHRDb2RlLlNVQ0NFU1M7XHJcbiAgICAgICAgbGV0IG5ld1ZhbCA9IFR5cGVzLnRvVHlwZSh2YWwsIHRoaXMuX3R5cGUpO1xyXG4gICAgICAgIGlmIChPYmplY3QuaXModGhpcy5fdmFsdWUsIG5ld1ZhbCkpIHtcclxuICAgICAgICAgICAgcmMgPSBSZXN1bHRDb2RlLk5PVEhJTkc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsO1xyXG4gICAgICAgIHJldHVybiByYztcclxuICAgIH1cclxuXHJcbiAgICB2YWx1ZU9mKCk6IGFueSB7cmV0dXJuIHRoaXMuX3ZhbHVlID8/IHRoaXMuX2RlZmF1bHR9XHJcblxyXG4gICAgY2xvbmUoKTogVGFibGVQYXJhbSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZVBhcmFtKHRoaXMubmFtZSwgdGhpcy50eXBlLCB0aGlzLl9kZWZhdWx0KTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19