UNPKG

@synerty/vortexjs

Version:

Custom observable data serialisation and routing based on Angular 2+

34 lines 3.52 kB
var TupleSelector_1; import { __decorate } from "tslib"; import { addTupleType, Tuple } from "./exports"; import stringify from "json-stable-stringify"; // export interface TupleSelectorJsonI { // name: string; // selector: { [name: string]: any }; // } export let TupleSelector = TupleSelector_1 = class TupleSelector extends Tuple { name; selector; constructor(name, selector) { super("vortex.TupleSelector"); this.name = name; this.selector = selector; } toOrderedJsonStr() { const fieldJsonDict = this.toJsonField(this.selector); return stringify({ "name": this.name, "selector": fieldJsonDict }); } static fromJsonStr(jsonStr) { const data = JSON.parse(jsonStr); const newTs = new TupleSelector_1(data.name, {}); newTs.selector = newTs.fromJsonField(data.selector); return newTs; } }; TupleSelector = TupleSelector_1 = __decorate([ addTupleType ], TupleSelector); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHVwbGVTZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92b3J0ZXgvVHVwbGVTZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQy9DLE9BQVEsU0FBUyxNQUFNLHVCQUF1QixDQUFBO0FBRTlDLHdDQUF3QztBQUN4QyxvQkFBb0I7QUFDcEIseUNBQXlDO0FBQ3pDLElBQUk7QUFHRyxXQUFNLGFBQWEscUJBQW5CLE1BQU0sYUFBYyxTQUFRLEtBQUs7SUFFekI7SUFDQTtJQUZYLFlBQ1csSUFBWSxFQUNaLFFBQWE7UUFFcEIsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFIdEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGFBQVEsR0FBUixRQUFRLENBQUs7SUFHeEIsQ0FBQztJQUVELGdCQUFnQjtRQUNaLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3JELE9BQU8sU0FBUyxDQUFDO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2pCLFVBQVUsRUFBRSxhQUFhO1NBQzVCLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWU7UUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLGVBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQzlDLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDbkQsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztDQUNKLENBQUE7QUF0QlksYUFBYTtJQUR6QixZQUFZO0dBQ0EsYUFBYSxDQXNCekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRUdXBsZVR5cGUsIFR1cGxlIH0gZnJvbSBcIi4vZXhwb3J0c1wiXG5pbXBvcnQgIHN0cmluZ2lmeSBmcm9tIFwianNvbi1zdGFibGUtc3RyaW5naWZ5XCJcblxuLy8gZXhwb3J0IGludGVyZmFjZSBUdXBsZVNlbGVjdG9ySnNvbkkge1xuLy8gICAgIG5hbWU6IHN0cmluZztcbi8vICAgICBzZWxlY3RvcjogeyBbbmFtZTogc3RyaW5nXTogYW55IH07XG4vLyB9XG5cbkBhZGRUdXBsZVR5cGVcbmV4cG9ydCBjbGFzcyBUdXBsZVNlbGVjdG9yIGV4dGVuZHMgVHVwbGUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgc2VsZWN0b3I6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcihcInZvcnRleC5UdXBsZVNlbGVjdG9yXCIpXG4gICAgfVxuICAgIFxuICAgIHRvT3JkZXJlZEpzb25TdHIoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZmllbGRKc29uRGljdCA9IHRoaXMudG9Kc29uRmllbGQodGhpcy5zZWxlY3RvcilcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeSh7XG4gICAgICAgICAgICBcIm5hbWVcIjogdGhpcy5uYW1lLFxuICAgICAgICAgICAgXCJzZWxlY3RvclwiOiBmaWVsZEpzb25EaWN0XG4gICAgICAgIH0pXG4gICAgfVxuICAgIFxuICAgIHN0YXRpYyBmcm9tSnNvblN0cihqc29uU3RyOiBzdHJpbmcpOiBUdXBsZVNlbGVjdG9yIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvblN0cilcbiAgICAgICAgY29uc3QgbmV3VHMgPSBuZXcgVHVwbGVTZWxlY3RvcihkYXRhLm5hbWUsIHt9KVxuICAgICAgICBuZXdUcy5zZWxlY3RvciA9IG5ld1RzLmZyb21Kc29uRmllbGQoZGF0YS5zZWxlY3RvcilcbiAgICAgICAgcmV0dXJuIG5ld1RzXG4gICAgfVxufVxuIl19