@synerty/vortexjs
Version:
Custom observable data serialisation and routing based on Angular 2+
60 lines • 5.56 kB
JavaScript
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==