UNPKG

@loona/angular

Version:

App State Management done with GraphQL (angular integration)

57 lines 3.64 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { Observable, BehaviorSubject, Subject } from 'rxjs'; import { INIT } from './tokens'; /** * @template V */ export class Actions extends Observable { } export class ScannedActions extends Subject { /** * @return {?} */ ngOnDestroy() { this.complete(); } } ScannedActions.decorators = [ { type: Injectable } ]; export class InnerActions extends BehaviorSubject { constructor() { super({ type: INIT }); } /** * @param {?} action * @return {?} */ next(action) { if (typeof action === 'undefined') { throw new TypeError(`Actions must be objects`); } else if (typeof action.type === 'undefined') { throw new TypeError(`Actions must have a type property`); } super.next(action); } /** * @return {?} */ complete() { } /** * @return {?} */ ngOnDestroy() { super.complete(); } } InnerActions.decorators = [ { type: Injectable } ]; /** @nocollapse */ InnerActions.ctorParameters = () => []; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bsb29uYS9hbmd1bGFyLyIsInNvdXJjZXMiOlsiYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHMUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFVBQVUsQ0FBQzs7OztBQUU5QixNQUFNLE9BQU8sT0FBb0IsU0FBUSxVQUFhO0NBQUc7QUFHekQsTUFBTSxPQUFPLGNBQWUsU0FBUSxPQUFlOzs7O0lBQ2pELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7O1lBSkYsVUFBVTs7QUFRWCxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQXVCO0lBQ3ZEO1FBQ0UsS0FBSyxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxJQUFJLENBQUMsTUFBYztRQUNqQixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUNqQyxNQUFNLElBQUksU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDaEQ7YUFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDN0MsTUFBTSxJQUFJLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQixDQUFDOzs7O0lBRUQsUUFBUSxLQUFJLENBQUM7Ozs7SUFFYixXQUFXO1FBQ1QsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7OztZQXBCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBY3Rpb259IGZyb20gJ0Bsb29uYS9jb3JlJztcblxuaW1wb3J0IHtJTklUfSBmcm9tICcuL3Rva2Vucyc7XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25zPFYgPSBBY3Rpb24+IGV4dGVuZHMgT2JzZXJ2YWJsZTxWPiB7fVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2Nhbm5lZEFjdGlvbnMgZXh0ZW5kcyBTdWJqZWN0PEFjdGlvbj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElubmVyQWN0aW9ucyBleHRlbmRzIEJlaGF2aW9yU3ViamVjdDxBY3Rpb24+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe3R5cGU6IElOSVR9KTtcbiAgfVxuXG4gIG5leHQoYWN0aW9uOiBBY3Rpb24pIHtcbiAgICBpZiAodHlwZW9mIGFjdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBvYmplY3RzYCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYWN0aW9uLnR5cGUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBBY3Rpb25zIG11c3QgaGF2ZSBhIHR5cGUgcHJvcGVydHlgKTtcbiAgICB9XG5cbiAgICBzdXBlci5uZXh0KGFjdGlvbik7XG4gIH1cblxuICBjb21wbGV0ZSgpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIuY29tcGxldGUoKTtcbiAgfVxufVxuIl19