UNPKG

@synerty/vortexjs

Version:

Custom observable data serialisation and routing based on Angular 2+

60 lines 5.56 kB
import { __decorate } from "tslib"; import { addTupleType, Tuple } from "./exports"; import { TupleSelector } from "./TupleSelector"; /** Tuple Action Base Class * * A tuple action, represents an action the user or software wishes to perform. * Actions have a specific destination they must reach. (as apposed to Observers) * * @property key An optional key for this action * @property data Some optional data for this action * * */ export class TupleActionABC extends Tuple { uuid = (Date.now() + Math.random()).toString(); dateTime = new Date(); constructor(tupleName) { super(tupleName); } } /** Tuple Generic Action * * This is a generic action, to be used when the implementor doesn't want to implement * concrete classes for each action type. * * @property key An optional key for this action * @property data Some optional data for this action * * */ export let TupleGenericAction = class TupleGenericAction extends TupleActionABC { key = null; data = null; constructor() { super("vortex.TupleGenericAction"); } }; TupleGenericAction = __decorate([ addTupleType ], TupleGenericAction); /** Tuple Update Action * * This is an action representing an update to a Tuple. * It's original intention is to be used to store offline updates, which can then be * later applied when it's online. * * @property key An optional key for this action * @property data Some optional data for this action * * */ export let TupleUpdateAction = class TupleUpdateAction extends TupleActionABC { tupleSelector = new TupleSelector(null, {}); tupleChanges = []; data = null; constructor() { super("vortex.TupleUpdateAction"); } }; TupleUpdateAction = __decorate([ addTupleType ], TupleUpdateAction); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHVwbGVBY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm9ydGV4L1R1cGxlQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxXQUFXLENBQUE7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRS9DOzs7Ozs7OztLQVFLO0FBQ0wsTUFBTSxPQUFPLGNBQWUsU0FBUSxLQUFLO0lBQ3JDLElBQUksR0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN0RCxRQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUVyQixZQUFZLFNBQWlCO1FBQ3pCLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVwQixDQUFDO0NBRUo7QUFFRDs7Ozs7Ozs7S0FRSztBQUVFLFdBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQW1CLFNBQVEsY0FBYztJQUNsRCxHQUFHLEdBQWtCLElBQUksQ0FBQTtJQUN6QixJQUFJLEdBQVEsSUFBSSxDQUFBO0lBRWhCO1FBQ0ksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFFdEMsQ0FBQztDQUVKLENBQUE7QUFUWSxrQkFBa0I7SUFEOUIsWUFBWTtHQUNBLGtCQUFrQixDQVM5QjtBQUVEOzs7Ozs7Ozs7S0FTSztBQUVFLFdBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWtCLFNBQVEsY0FBYztJQUNqRCxhQUFhLEdBQWtCLElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUMxRCxZQUFZLEdBQW1CLEVBQUUsQ0FBQTtJQUNqQyxJQUFJLEdBQVEsSUFBSSxDQUFBO0lBRWhCO1FBQ0ksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFFckMsQ0FBQztDQUVKLENBQUE7QUFWWSxpQkFBaUI7SUFEN0IsWUFBWTtHQUNBLGlCQUFpQixDQVU3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZFR1cGxlVHlwZSwgVHVwbGUsIFR1cGxlQ2hhbmdlSSB9IGZyb20gXCIuL2V4cG9ydHNcIlxuaW1wb3J0IHsgVHVwbGVTZWxlY3RvciB9IGZyb20gXCIuL1R1cGxlU2VsZWN0b3JcIlxuXG4vKiogVHVwbGUgQWN0aW9uIEJhc2UgQ2xhc3NcbiAqXG4gKiAgQSB0dXBsZSBhY3Rpb24sIHJlcHJlc2VudHMgYW4gYWN0aW9uIHRoZSB1c2VyIG9yIHNvZnR3YXJlIHdpc2hlcyB0byBwZXJmb3JtLlxuICogIEFjdGlvbnMgaGF2ZSBhIHNwZWNpZmljIGRlc3RpbmF0aW9uIHRoZXkgbXVzdCByZWFjaC4gKGFzIGFwcG9zZWQgdG8gT2JzZXJ2ZXJzKVxuICpcbiAqICBAcHJvcGVydHkga2V5IEFuIG9wdGlvbmFsIGtleSBmb3IgdGhpcyBhY3Rpb25cbiAqICBAcHJvcGVydHkgZGF0YSBTb21lIG9wdGlvbmFsIGRhdGEgZm9yIHRoaXMgYWN0aW9uXG4gKlxuICogKi9cbmV4cG9ydCBjbGFzcyBUdXBsZUFjdGlvbkFCQyBleHRlbmRzIFR1cGxlIHtcbiAgICB1dWlkOiBzdHJpbmcgPSAoRGF0ZS5ub3coKSArIE1hdGgucmFuZG9tKCkpLnRvU3RyaW5nKClcbiAgICBkYXRlVGltZSA9IG5ldyBEYXRlKClcbiAgICBcbiAgICBjb25zdHJ1Y3Rvcih0dXBsZU5hbWU6IHN0cmluZykge1xuICAgICAgICBzdXBlcih0dXBsZU5hbWUpXG4gICAgICAgIFxuICAgIH1cbiAgICBcbn1cblxuLyoqIFR1cGxlIEdlbmVyaWMgQWN0aW9uXG4gKlxuICogIFRoaXMgaXMgYSBnZW5lcmljIGFjdGlvbiwgdG8gYmUgdXNlZCB3aGVuIHRoZSBpbXBsZW1lbnRvciBkb2Vzbid0IHdhbnQgdG8gaW1wbGVtZW50XG4gKiAgY29uY3JldGUgY2xhc3NlcyBmb3IgZWFjaCBhY3Rpb24gdHlwZS5cbiAqXG4gKiAgQHByb3BlcnR5IGtleSBBbiBvcHRpb25hbCBrZXkgZm9yIHRoaXMgYWN0aW9uXG4gKiAgQHByb3BlcnR5IGRhdGEgU29tZSBvcHRpb25hbCBkYXRhIGZvciB0aGlzIGFjdGlvblxuICpcbiAqICovXG5AYWRkVHVwbGVUeXBlXG5leHBvcnQgY2xhc3MgVHVwbGVHZW5lcmljQWN0aW9uIGV4dGVuZHMgVHVwbGVBY3Rpb25BQkMge1xuICAgIGtleTogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgICBkYXRhOiBhbnkgPSBudWxsXG4gICAgXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFwidm9ydGV4LlR1cGxlR2VuZXJpY0FjdGlvblwiKVxuICAgICAgICBcbiAgICB9XG4gICAgXG59XG5cbi8qKiBUdXBsZSBVcGRhdGUgQWN0aW9uXG4gKlxuICogIFRoaXMgaXMgYW4gYWN0aW9uIHJlcHJlc2VudGluZyBhbiB1cGRhdGUgdG8gYSBUdXBsZS5cbiAqICBJdCdzIG9yaWdpbmFsIGludGVudGlvbiBpcyB0byBiZSB1c2VkIHRvIHN0b3JlIG9mZmxpbmUgdXBkYXRlcywgd2hpY2ggY2FuIHRoZW4gYmVcbiAqICBsYXRlciBhcHBsaWVkIHdoZW4gaXQncyBvbmxpbmUuXG4gKlxuICogIEBwcm9wZXJ0eSBrZXkgQW4gb3B0aW9uYWwga2V5IGZvciB0aGlzIGFjdGlvblxuICogIEBwcm9wZXJ0eSBkYXRhIFNvbWUgb3B0aW9uYWwgZGF0YSBmb3IgdGhpcyBhY3Rpb25cbiAqXG4gKiAqL1xuQGFkZFR1cGxlVHlwZVxuZXhwb3J0IGNsYXNzIFR1cGxlVXBkYXRlQWN0aW9uIGV4dGVuZHMgVHVwbGVBY3Rpb25BQkMge1xuICAgIHR1cGxlU2VsZWN0b3I6IFR1cGxlU2VsZWN0b3IgPSBuZXcgVHVwbGVTZWxlY3RvcihudWxsLCB7fSlcbiAgICB0dXBsZUNoYW5nZXM6IFR1cGxlQ2hhbmdlSVtdID0gW11cbiAgICBkYXRhOiBhbnkgPSBudWxsXG4gICAgXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFwidm9ydGV4LlR1cGxlVXBkYXRlQWN0aW9uXCIpXG4gICAgICAgIFxuICAgIH1cbiAgICBcbn1cbiJdfQ==