@synerty/vortexjs
Version:
Custom observable data serialisation and routing based on Angular 2+
48 lines • 7.1 kB
JavaScript
import { Inject, Injectable } from "@angular/core";
import { TupleDataObservableNameService, TupleDataOfflineObserverService } from "./TupleDataOfflineObserverService";
import * as i0 from "@angular/core";
export { TupleDataObservableNameService } from "./TupleDataOfflineObserverService";
export class TupleDataObserverService {
delegate;
tupleDataObservableName;
constructor(delegate, tupleDataObservableName) {
this.delegate = delegate;
this.tupleDataObservableName = tupleDataObservableName;
let delegateName = delegate._nameService();
if (!this.tupleDataObservableName.equals(delegateName)) {
throw new Error("ERROR: The TupleDataObserverService was injected"
+ " with the wrong TupleDataOfflineObserverService name service"
+ ` ${delegateName} VS ${this.tupleDataObservableName}`
+ " ensure TupleDataOfflineObserverService is provided first.");
}
}
pollForTuples(tupleSelector, useCache = true) {
return this.delegate.pollForTuples(tupleSelector, useCache);
}
/** Subscribe to Tuple Selector
*
* Get an observable that will be fired when any new data updates are available
* * either from the server, or if they are locally updated with updateOfflineState()
*
* @param {TupleSelector} tupleSelector
* @param {boolean} disableCache
* @param {boolean} disableAskServer, Use this to store and observe data completely
* within the angular app.
* @returns {Subject<Tuple[]>}
*/
subscribeToTupleSelector(tupleSelector, disableCache = false, disableAskServer = false) {
return this.delegate.subscribeToTupleSelector(tupleSelector, disableCache, true, disableAskServer);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TupleDataObserverService, deps: [{ token: TupleDataOfflineObserverService }, { token: TupleDataObservableNameService }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TupleDataObserverService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TupleDataObserverService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [TupleDataOfflineObserverService]
}] }, { type: undefined, decorators: [{
type: Inject,
args: [TupleDataObservableNameService]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHVwbGVEYXRhT2JzZXJ2ZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZvcnRleC9vYnNlcnZhYmxlLXNlcnZpY2UvVHVwbGVEYXRhT2JzZXJ2ZXJTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSWxELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOztBQUVuSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUdsRixNQUFNLE9BQU8sd0JBQXdCO0lBRW9CO0lBQ0Q7SUFGcEQsWUFDcUQsUUFBUSxFQUNULHVCQUF1QjtRQUR0QixhQUFRLEdBQVIsUUFBUSxDQUFBO1FBQ1QsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFBO1FBRXZFLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRDtrQkFDNUQsOERBQThEO2tCQUM5RCxJQUFJLFlBQVksT0FBTyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7a0JBQ3JELDREQUE0RCxDQUNqRSxDQUFBO1NBQ0o7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUNULGFBQTRCLEVBQzVCLFdBQW9CLElBQUk7UUFFeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCx3QkFBd0IsQ0FDcEIsYUFBNEIsRUFDNUIsZUFBd0IsS0FBSyxFQUM3QixtQkFBNEIsS0FBSztRQUVqQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQ3pDLGFBQWEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUE7SUFDNUQsQ0FBQzt3R0F4Q1Esd0JBQXdCLGtCQUVyQiwrQkFBK0IsYUFDL0IsOEJBQThCOzRHQUhqQyx3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7OzBCQUdGLE1BQU07MkJBQUMsK0JBQStCOzswQkFDdEMsTUFBTTsyQkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIlxuaW1wb3J0IHsgVHVwbGUgfSBmcm9tIFwiLi4vZXhwb3J0c1wiXG5pbXBvcnQgeyBUdXBsZVNlbGVjdG9yIH0gZnJvbSBcIi4uL1R1cGxlU2VsZWN0b3JcIlxuaW1wb3J0IHsgVHVwbGVEYXRhT2JzZXJ2YWJsZU5hbWVTZXJ2aWNlLCBUdXBsZURhdGFPZmZsaW5lT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSBcIi4vVHVwbGVEYXRhT2ZmbGluZU9ic2VydmVyU2VydmljZVwiXG5cbmV4cG9ydCB7IFR1cGxlRGF0YU9ic2VydmFibGVOYW1lU2VydmljZSB9IGZyb20gXCIuL1R1cGxlRGF0YU9mZmxpbmVPYnNlcnZlclNlcnZpY2VcIlxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVwbGVEYXRhT2JzZXJ2ZXJTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdXBsZURhdGFPZmZsaW5lT2JzZXJ2ZXJTZXJ2aWNlKSBwcml2YXRlIGRlbGVnYXRlLFxuICAgICAgICBASW5qZWN0KFR1cGxlRGF0YU9ic2VydmFibGVOYW1lU2VydmljZSkgcHJpdmF0ZSB0dXBsZURhdGFPYnNlcnZhYmxlTmFtZSxcbiAgICApIHtcbiAgICAgICAgbGV0IGRlbGVnYXRlTmFtZSA9IGRlbGVnYXRlLl9uYW1lU2VydmljZSgpXG4gICAgICAgIGlmICghdGhpcy50dXBsZURhdGFPYnNlcnZhYmxlTmFtZS5lcXVhbHMoZGVsZWdhdGVOYW1lKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRVJST1I6IFRoZSBUdXBsZURhdGFPYnNlcnZlclNlcnZpY2Ugd2FzIGluamVjdGVkXCJcbiAgICAgICAgICAgICAgICArIFwiIHdpdGggdGhlIHdyb25nIFR1cGxlRGF0YU9mZmxpbmVPYnNlcnZlclNlcnZpY2UgbmFtZSBzZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICArIGAgJHtkZWxlZ2F0ZU5hbWV9IFZTICR7dGhpcy50dXBsZURhdGFPYnNlcnZhYmxlTmFtZX1gXG4gICAgICAgICAgICAgICAgKyBcIiBlbnN1cmUgVHVwbGVEYXRhT2ZmbGluZU9ic2VydmVyU2VydmljZSBpcyBwcm92aWRlZCBmaXJzdC5cIlxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIHBvbGxGb3JUdXBsZXMoXG4gICAgICAgIHR1cGxlU2VsZWN0b3I6IFR1cGxlU2VsZWN0b3IsXG4gICAgICAgIHVzZUNhY2hlOiBib29sZWFuID0gdHJ1ZVxuICAgICk6IFByb21pc2U8VHVwbGVbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZS5wb2xsRm9yVHVwbGVzKHR1cGxlU2VsZWN0b3IsIHVzZUNhY2hlKVxuICAgIH1cbiAgICBcbiAgICAvKiogU3Vic2NyaWJlIHRvIFR1cGxlIFNlbGVjdG9yXG4gICAgICpcbiAgICAgKiBHZXQgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBhbnkgbmV3IGRhdGEgdXBkYXRlcyBhcmUgYXZhaWxhYmxlXG4gICAgICogKiBlaXRoZXIgZnJvbSB0aGUgc2VydmVyLCBvciBpZiB0aGV5IGFyZSBsb2NhbGx5IHVwZGF0ZWQgd2l0aCB1cGRhdGVPZmZsaW5lU3RhdGUoKVxuICAgICAqXG4gICAgICogQHBhcmFtIHtUdXBsZVNlbGVjdG9yfSB0dXBsZVNlbGVjdG9yXG4gICAgICogQHBhcmFtIHtib29sZWFufSBkaXNhYmxlQ2FjaGVcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGRpc2FibGVBc2tTZXJ2ZXIsIFVzZSB0aGlzIHRvIHN0b3JlIGFuZCBvYnNlcnZlIGRhdGEgY29tcGxldGVseVxuICAgICAqICAgICAgd2l0aGluIHRoZSBhbmd1bGFyIGFwcC5cbiAgICAgKiBAcmV0dXJucyB7U3ViamVjdDxUdXBsZVtdPn1cbiAgICAgKi9cbiAgICBzdWJzY3JpYmVUb1R1cGxlU2VsZWN0b3IoXG4gICAgICAgIHR1cGxlU2VsZWN0b3I6IFR1cGxlU2VsZWN0b3IsXG4gICAgICAgIGRpc2FibGVDYWNoZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgICAgICBkaXNhYmxlQXNrU2VydmVyOiBib29sZWFuID0gZmFsc2VcbiAgICApOiBPYnNlcnZhYmxlPFR1cGxlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUuc3Vic2NyaWJlVG9UdXBsZVNlbGVjdG9yKFxuICAgICAgICAgICAgdHVwbGVTZWxlY3RvciwgZGlzYWJsZUNhY2hlLCB0cnVlLCBkaXNhYmxlQXNrU2VydmVyKVxuICAgIH1cbn1cblxuIl19