@ngrx/effects
Advanced tools
Comparing version 2.0.4 to 4.0.0
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/ReplaySubject'), require('@ngrx/effects')) : | ||
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', 'rxjs/ReplaySubject', '@ngrx/effects'], factory) : | ||
(factory((global.ngrx = global.ngrx || {}, global.ngrx.effects = global.ngrx.effects || {}, global.ngrx.effects.testing = global.ngrx.effects.testing || {}),global.ng.core,global.Rx,global.ngrx.effects)); | ||
}(this, (function (exports,_angular_core,rxjs_ReplaySubject,_ngrx_effects) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@ngrx/effects'), require('rxjs/observable/defer')) : | ||
typeof define === 'function' && define.amd ? define(['exports', '@ngrx/effects', 'rxjs/observable/defer'], factory) : | ||
(factory((global.ngrx = global.ngrx || {}, global.ngrx.effects = global.ngrx.effects || {}, global.ngrx.effects.testing = global.ngrx.effects.testing || {}),global.ngrx.effects,global.Rx.Observable.defer)); | ||
}(this, (function (exports,_ngrx_effects,rxjs_observable_defer) { 'use strict'; | ||
var __extends = (undefined && undefined.__extends) || (function () { | ||
var extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
function provideMockActions(factoryOrSource) { | ||
return { | ||
provide: _ngrx_effects.Actions, | ||
useFactory: function () { | ||
if (typeof factoryOrSource === 'function') { | ||
return rxjs_observable_defer.defer(factoryOrSource); | ||
} | ||
return factoryOrSource; | ||
}, | ||
}; | ||
})(); | ||
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { | ||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
}; | ||
var __metadata = (undefined && undefined.__metadata) || function (k, v) { | ||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); | ||
}; | ||
var EffectsRunner = (function (_super) { | ||
__extends(EffectsRunner, _super); | ||
function EffectsRunner() { | ||
return _super.call(this) || this; | ||
} | ||
EffectsRunner.prototype.queue = function (action) { | ||
this.next(action); | ||
}; | ||
EffectsRunner = __decorate([ | ||
_angular_core.Injectable(), | ||
__metadata("design:paramtypes", []) | ||
], EffectsRunner); | ||
return EffectsRunner; | ||
}(rxjs_ReplaySubject.ReplaySubject)); | ||
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { | ||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
}; | ||
function _createActions(runner) { | ||
return new _ngrx_effects.Actions(runner); | ||
} | ||
var EffectsTestingModule = (function () { | ||
function EffectsTestingModule() { | ||
} | ||
EffectsTestingModule = __decorate$1([ | ||
_angular_core.NgModule({ | ||
providers: [ | ||
EffectsRunner, | ||
{ provide: _ngrx_effects.Actions, deps: [EffectsRunner], useFactory: _createActions } | ||
] | ||
}) | ||
], EffectsTestingModule); | ||
return EffectsTestingModule; | ||
}()); | ||
exports.EffectsRunner = EffectsRunner; | ||
exports._createActions = _createActions; | ||
exports.EffectsTestingModule = EffectsTestingModule; | ||
exports.provideMockActions = provideMockActions; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
}))); | ||
}))); | ||
//# sourceMappingURL=effects-testing.umd.js.map |
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs/observable/merge'), require('rxjs/operator/ignoreElements'), require('@angular/core'), require('@ngrx/store'), require('rxjs/Observable'), require('rxjs/operator/filter'), require('rxjs/Subscription')) : | ||
typeof define === 'function' && define.amd ? define(['exports', 'rxjs/observable/merge', 'rxjs/operator/ignoreElements', '@angular/core', '@ngrx/store', 'rxjs/Observable', 'rxjs/operator/filter', 'rxjs/Subscription'], factory) : | ||
(factory((global.ngrx = global.ngrx || {}, global.ngrx.effects = global.ngrx.effects || {}),global.Rx.Observable,global.Rx.Observable.prototype,global.ng.core,global.ngrx.store,global.Rx,global.Rx.Observable.prototype,global.Rx)); | ||
}(this, (function (exports,rxjs_observable_merge,rxjs_operator_ignoreElements,_angular_core,_ngrx_store,rxjs_Observable,rxjs_operator_filter,rxjs_Subscription) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@ngrx/store'), require('rxjs/observable/merge'), require('rxjs/operator/ignoreElements'), require('rxjs/operator/materialize'), require('rxjs/operator/map'), require('@angular/core'), require('rxjs/Observable'), require('rxjs/operator/filter'), require('rxjs/operator/groupBy'), require('rxjs/operator/mergeMap'), require('rxjs/operator/exhaustMap'), require('rxjs/operator/dematerialize'), require('rxjs/Subject')) : | ||
typeof define === 'function' && define.amd ? define(['exports', '@ngrx/store', 'rxjs/observable/merge', 'rxjs/operator/ignoreElements', 'rxjs/operator/materialize', 'rxjs/operator/map', '@angular/core', 'rxjs/Observable', 'rxjs/operator/filter', 'rxjs/operator/groupBy', 'rxjs/operator/mergeMap', 'rxjs/operator/exhaustMap', 'rxjs/operator/dematerialize', 'rxjs/Subject'], factory) : | ||
(factory((global.ngrx = global.ngrx || {}, global.ngrx.effects = global.ngrx.effects || {}),global.ngrx.store,global.Rx.Observable,global.Rx.Observable.prototype,global.rxjs_operator_materialize,global.rxjs_operator_map,global.ng.core,global.Rx,global.Rx.Observable.prototype,global.rxjs_operator_groupBy,global.rxjs_operator_mergeMap,global.rxjs_operator_exhaustMap,global.rxjs_operator_dematerialize,global.rxjs_Subject)); | ||
}(this, (function (exports,_ngrx_store,rxjs_observable_merge,rxjs_operator_ignoreElements,rxjs_operator_materialize,rxjs_operator_map,_angular_core,rxjs_Observable,rxjs_operator_filter,rxjs_operator_groupBy,rxjs_operator_mergeMap,rxjs_operator_exhaustMap,rxjs_operator_dematerialize,rxjs_Subject) { 'use strict'; | ||
var __extends = (undefined && undefined.__extends) || (function () { | ||
var extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
var METADATA_KEY = '@ngrx/effects'; | ||
var r = Reflect; | ||
/** | ||
* @param {?} sourceProto | ||
* @return {?} | ||
*/ | ||
function getEffectMetadataEntries(sourceProto) { | ||
if (r.hasOwnMetadata(METADATA_KEY, sourceProto)) { | ||
return r.getOwnMetadata(METADATA_KEY, sourceProto); | ||
} | ||
return []; | ||
} | ||
/** | ||
* @param {?} sourceProto | ||
* @param {?} entries | ||
* @return {?} | ||
*/ | ||
function setEffectMetadataEntries(sourceProto, entries) { | ||
r.defineMetadata(METADATA_KEY, entries, sourceProto); | ||
} | ||
/** | ||
* @param {?=} __0 | ||
* @return {?} | ||
*/ | ||
function Effect(_a) { | ||
var dispatch = (_a === void 0 ? { dispatch: true } : _a).dispatch; | ||
return function (target, propertyName) { | ||
if (!Reflect.hasOwnMetadata(METADATA_KEY, target)) { | ||
Reflect.defineMetadata(METADATA_KEY, [], target); | ||
} | ||
var effects = Reflect.getOwnMetadata(METADATA_KEY, target); | ||
var metadata = { propertyName: propertyName, dispatch: dispatch }; | ||
Reflect.defineMetadata(METADATA_KEY, effects.concat([metadata]), target); | ||
var /** @type {?} */ effects = getEffectMetadataEntries(target); | ||
var /** @type {?} */ metadata = { propertyName: propertyName, dispatch: dispatch }; | ||
setEffectMetadataEntries(target, effects.concat([metadata])); | ||
}; | ||
} | ||
function getEffectsMetadata(instance) { | ||
var target = Object.getPrototypeOf(instance); | ||
if (!Reflect.hasOwnMetadata(METADATA_KEY, target)) { | ||
return []; | ||
} | ||
return Reflect.getOwnMetadata(METADATA_KEY, target); | ||
/** | ||
* @param {?} instance | ||
* @return {?} | ||
*/ | ||
function getSourceForInstance(instance) { | ||
return Object.getPrototypeOf(instance); | ||
} | ||
function mergeEffects(instance) { | ||
var observables = getEffectsMetadata(instance).map(function (_a) { | ||
var getSourceMetadata = _ngrx_store.compose(getEffectMetadataEntries, getSourceForInstance); | ||
var onRunEffectsKey = 'ngrxOnRunEffects'; | ||
/** | ||
* @param {?} sourceInstance | ||
* @return {?} | ||
*/ | ||
function isOnRunEffects(sourceInstance) { | ||
var /** @type {?} */ source = getSourceForInstance(sourceInstance); | ||
return (onRunEffectsKey in source && typeof source[onRunEffectsKey] === 'function'); | ||
} | ||
/** | ||
* @param {?} sourceInstance | ||
* @return {?} | ||
*/ | ||
function mergeEffects(sourceInstance) { | ||
var /** @type {?} */ sourceName = getSourceForInstance(sourceInstance).constructor.name; | ||
var /** @type {?} */ observables = getSourceMetadata(sourceInstance).map(function (_a) { | ||
var propertyName = _a.propertyName, dispatch = _a.dispatch; | ||
var observable = typeof instance[propertyName] === 'function' ? | ||
instance[propertyName]() : instance[propertyName]; | ||
var /** @type {?} */ observable = typeof sourceInstance[propertyName] === 'function' | ||
? sourceInstance[propertyName]() | ||
: sourceInstance[propertyName]; | ||
if (dispatch === false) { | ||
return rxjs_operator_ignoreElements.ignoreElements.call(observable); | ||
} | ||
return observable; | ||
var /** @type {?} */ materialized$ = rxjs_operator_materialize.materialize.call(observable); | ||
return rxjs_operator_map.map.call(materialized$, function (notification) { return ({ | ||
effect: sourceInstance[propertyName], | ||
notification: notification, | ||
propertyName: propertyName, | ||
sourceName: sourceName, | ||
sourceInstance: sourceInstance, | ||
}); }); | ||
}); | ||
return rxjs_observable_merge.merge.apply(void 0, observables); | ||
} | ||
var __extends = (undefined && undefined.__extends) || (function () { | ||
var extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { | ||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
}; | ||
var __metadata = (undefined && undefined.__metadata) || function (k, v) { | ||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); | ||
}; | ||
var __param = (undefined && undefined.__param) || function (paramIndex, decorator) { | ||
return function (target, key) { decorator(target, key, paramIndex); } | ||
}; | ||
// TODO: This is a copy of this: https://github.com/redux-observable/redux-observable/blob/master/src/ActionsObservable.js | ||
// Remove after this is resolved: https://github.com/redux-observable/redux-observable/issues/95 | ||
/** | ||
* @param {?} sourceInstance | ||
* @return {?} | ||
*/ | ||
function resolveEffectSource(sourceInstance) { | ||
var /** @type {?} */ mergedEffects$ = mergeEffects(sourceInstance); | ||
if (isOnRunEffects(sourceInstance)) { | ||
return sourceInstance.ngrxOnRunEffects(mergedEffects$); | ||
} | ||
return mergedEffects$; | ||
} | ||
var Actions = (function (_super) { | ||
__extends(Actions, _super); | ||
function Actions(actionsSubject) { | ||
/** | ||
* @param {?=} source | ||
*/ | ||
function Actions(source) { | ||
var _this = _super.call(this) || this; | ||
_this.source = actionsSubject; | ||
if (source) { | ||
_this.source = source; | ||
} | ||
return _this; | ||
} | ||
/** | ||
* @template R | ||
* @param {?} operator | ||
* @return {?} | ||
*/ | ||
Actions.prototype.lift = function (operator) { | ||
var /** @type {?} */ observable = new Actions(); | ||
observable.source = this; | ||
observable.operator = operator; | ||
return observable; | ||
}; | ||
/** | ||
* @param {...?} allowedTypes | ||
* @return {?} | ||
*/ | ||
Actions.prototype.ofType = function () { | ||
var keys = []; | ||
var allowedTypes = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
keys[_i] = arguments[_i]; | ||
allowedTypes[_i] = arguments[_i]; | ||
} | ||
return rxjs_operator_filter.filter.call(this, function (_a) { | ||
var type = _a.type; | ||
var len = keys.length; | ||
if (len === 1) { | ||
return type === keys[0]; | ||
} | ||
else { | ||
for (var i = 0; i < len; i++) { | ||
if (keys[i] === type) { | ||
return true; | ||
} | ||
} | ||
} | ||
return false; | ||
}); | ||
return rxjs_operator_filter.filter.call(this, function (action) { return allowedTypes.some(function (type) { return type === action.type; }); }); | ||
}; | ||
Actions = __decorate([ | ||
_angular_core.Injectable(), | ||
__param(0, _angular_core.Inject(_ngrx_store.Dispatcher)), | ||
__metadata("design:paramtypes", [rxjs_Observable.Observable]) | ||
], Actions); | ||
return Actions; | ||
}(rxjs_Observable.Observable)); | ||
var __extends$1 = (undefined && undefined.__extends) || (function () { | ||
var extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
Actions.decorators = [ | ||
{ type: _angular_core.Injectable }, | ||
]; | ||
/** | ||
* @nocollapse | ||
*/ | ||
Actions.ctorParameters = function () { return [ | ||
{ type: rxjs_Observable.Observable, decorators: [{ type: _angular_core.Inject, args: [_ngrx_store.ScannedActionsSubject,] },] }, | ||
]; }; | ||
/** | ||
* @param {?} output | ||
* @param {?} reporter | ||
* @return {?} | ||
*/ | ||
function verifyOutput(output, reporter) { | ||
reportErrorThrown(output, reporter); | ||
reportInvalidActions(output, reporter); | ||
} | ||
/** | ||
* @param {?} output | ||
* @param {?} reporter | ||
* @return {?} | ||
*/ | ||
function reportErrorThrown(output, reporter) { | ||
if (output.notification.kind === 'E') { | ||
var /** @type {?} */ errorReason = "Effect " + getEffectName(output) + " threw an error"; | ||
reporter.report(errorReason, { | ||
Source: output.sourceInstance, | ||
Effect: output.effect, | ||
Error: output.notification.error, | ||
Notification: output.notification, | ||
}); | ||
} | ||
} | ||
/** | ||
* @param {?} output | ||
* @param {?} reporter | ||
* @return {?} | ||
*/ | ||
function reportInvalidActions(output, reporter) { | ||
if (output.notification.kind === 'N') { | ||
var /** @type {?} */ action = output.notification.value; | ||
var /** @type {?} */ isInvalidAction = !isAction(action); | ||
if (isInvalidAction) { | ||
var /** @type {?} */ errorReason = "Effect " + getEffectName(output) + " dispatched an invalid action"; | ||
reporter.report(errorReason, { | ||
Source: output.sourceInstance, | ||
Effect: output.effect, | ||
Dispatched: action, | ||
Notification: output.notification, | ||
}); | ||
} | ||
} | ||
} | ||
/** | ||
* @param {?} action | ||
* @return {?} | ||
*/ | ||
function isAction(action) { | ||
return action && action.type && typeof action.type === 'string'; | ||
} | ||
/** | ||
* @param {?} __0 | ||
* @return {?} | ||
*/ | ||
function getEffectName(_a) { | ||
var propertyName = _a.propertyName, sourceInstance = _a.sourceInstance, sourceName = _a.sourceName; | ||
var /** @type {?} */ isMethod = typeof sourceInstance[propertyName] === 'function'; | ||
return "\"" + sourceName + "." + propertyName + (isMethod ? '()' : '') + "\""; | ||
} | ||
var IMMEDIATE_EFFECTS = new _angular_core.InjectionToken('ngrx/effects: Immediate Effects'); | ||
var ROOT_EFFECTS = new _angular_core.InjectionToken('ngrx/effects: Root Effects'); | ||
var FEATURE_EFFECTS = new _angular_core.InjectionToken('ngrx/effects: Feature Effects'); | ||
var CONSOLE = new _angular_core.InjectionToken('Browser Console'); | ||
var ErrorReporter = (function () { | ||
/** | ||
* @param {?} console | ||
*/ | ||
function ErrorReporter(console) { | ||
this.console = console; | ||
} | ||
/** | ||
* @param {?} reason | ||
* @param {?} details | ||
* @return {?} | ||
*/ | ||
ErrorReporter.prototype.report = function (reason, details) { | ||
this.console.group(reason); | ||
for (var /** @type {?} */ key in details) { | ||
this.console.error(key + ":", details[key]); | ||
} | ||
this.console.groupEnd(); | ||
}; | ||
})(); | ||
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { | ||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
}; | ||
var __metadata$2 = (undefined && undefined.__metadata) || function (k, v) { | ||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); | ||
}; | ||
var __param$1 = (undefined && undefined.__param) || function (paramIndex, decorator) { | ||
return function (target, key) { decorator(target, key, paramIndex); } | ||
}; | ||
var effects = new _angular_core.OpaqueToken('ngrx/effects: Effects'); | ||
var EffectsSubscription = (function (_super) { | ||
__extends$1(EffectsSubscription, _super); | ||
function EffectsSubscription(store, parent, effectInstances) { | ||
return ErrorReporter; | ||
}()); | ||
ErrorReporter.decorators = [ | ||
{ type: _angular_core.Injectable }, | ||
]; | ||
/** | ||
* @nocollapse | ||
*/ | ||
ErrorReporter.ctorParameters = function () { return [ | ||
{ type: undefined, decorators: [{ type: _angular_core.Inject, args: [CONSOLE,] },] }, | ||
]; }; | ||
var EffectSources = (function (_super) { | ||
__extends(EffectSources, _super); | ||
/** | ||
* @param {?} errorReporter | ||
*/ | ||
function EffectSources(errorReporter) { | ||
var _this = _super.call(this) || this; | ||
_this.store = store; | ||
_this.parent = parent; | ||
if (Boolean(parent)) { | ||
parent.add(_this); | ||
} | ||
if (Boolean(effectInstances)) { | ||
_this.addEffects(effectInstances); | ||
} | ||
_this.errorReporter = errorReporter; | ||
return _this; | ||
} | ||
EffectsSubscription.prototype.addEffects = function (effectInstances) { | ||
var sources = effectInstances.map(mergeEffects); | ||
var merged = rxjs_observable_merge.merge.apply(void 0, sources); | ||
this.add(merged.subscribe(this.store)); | ||
/** | ||
* @param {?} effectSourceInstance | ||
* @return {?} | ||
*/ | ||
EffectSources.prototype.addEffects = function (effectSourceInstance) { | ||
this.next(effectSourceInstance); | ||
}; | ||
EffectsSubscription.prototype.ngOnDestroy = function () { | ||
if (!this.closed) { | ||
this.unsubscribe(); | ||
/** | ||
* @return {?} | ||
*/ | ||
EffectSources.prototype.toActions = function () { | ||
var _this = this; | ||
return rxjs_operator_mergeMap.mergeMap.call(rxjs_operator_groupBy.groupBy.call(this, getSourceForInstance), function (source$) { return rxjs_operator_dematerialize.dematerialize.call(rxjs_operator_map.map.call(rxjs_operator_exhaustMap.exhaustMap.call(source$, resolveEffectSource), function (output) { | ||
verifyOutput(output, _this.errorReporter); | ||
return output.notification; | ||
})); }); | ||
}; | ||
return EffectSources; | ||
}(rxjs_Subject.Subject)); | ||
EffectSources.decorators = [ | ||
{ type: _angular_core.Injectable }, | ||
]; | ||
/** | ||
* @nocollapse | ||
*/ | ||
EffectSources.ctorParameters = function () { return [ | ||
{ type: ErrorReporter, }, | ||
]; }; | ||
var EffectsRunner = (function () { | ||
/** | ||
* @param {?} effectSources | ||
* @param {?} store | ||
*/ | ||
function EffectsRunner(effectSources, store) { | ||
this.effectSources = effectSources; | ||
this.store = store; | ||
this.effectsSubscription = null; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
EffectsRunner.prototype.start = function () { | ||
if (!this.effectsSubscription) { | ||
this.effectsSubscription = this.effectSources | ||
.toActions() | ||
.subscribe(this.store); | ||
} | ||
}; | ||
EffectsSubscription = __decorate$2([ | ||
_angular_core.Injectable(), | ||
__param$1(0, _angular_core.Inject(_ngrx_store.Store)), | ||
__param$1(1, _angular_core.Optional()), __param$1(1, _angular_core.SkipSelf()), | ||
__param$1(2, _angular_core.Optional()), __param$1(2, _angular_core.Inject(effects)), | ||
__metadata$2("design:paramtypes", [Object, EffectsSubscription, Array]) | ||
], EffectsSubscription); | ||
return EffectsSubscription; | ||
}(rxjs_Subscription.Subscription)); | ||
var afterBootstrapEffects = new _angular_core.OpaqueToken('ngrx:effects: Bootstrap Effects'); | ||
function runAfterBootstrapEffects(injector, subscription) { | ||
return function () { | ||
var effectInstances = injector.get(afterBootstrapEffects, false); | ||
if (effectInstances) { | ||
subscription.addEffects(effectInstances); | ||
/** | ||
* @return {?} | ||
*/ | ||
EffectsRunner.prototype.ngOnDestroy = function () { | ||
if (this.effectsSubscription) { | ||
this.effectsSubscription.unsubscribe(); | ||
this.effectsSubscription = null; | ||
} | ||
}; | ||
} | ||
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { | ||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
}; | ||
var __metadata$1 = (undefined && undefined.__metadata) || function (k, v) { | ||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); | ||
}; | ||
return EffectsRunner; | ||
}()); | ||
EffectsRunner.decorators = [ | ||
{ type: _angular_core.Injectable }, | ||
]; | ||
/** | ||
* @nocollapse | ||
*/ | ||
EffectsRunner.ctorParameters = function () { return [ | ||
{ type: EffectSources, }, | ||
{ type: _ngrx_store.Store, }, | ||
]; }; | ||
var EffectsRootModule = (function () { | ||
/** | ||
* @param {?} sources | ||
* @param {?} runner | ||
* @param {?} rootEffects | ||
*/ | ||
function EffectsRootModule(sources, runner, rootEffects) { | ||
this.sources = sources; | ||
runner.start(); | ||
rootEffects.forEach(function (effectSourceInstance) { return sources.addEffects(effectSourceInstance); }); | ||
} | ||
/** | ||
* @param {?} effectSourceInstance | ||
* @return {?} | ||
*/ | ||
EffectsRootModule.prototype.addEffects = function (effectSourceInstance) { | ||
this.sources.addEffects(effectSourceInstance); | ||
}; | ||
return EffectsRootModule; | ||
}()); | ||
EffectsRootModule.decorators = [ | ||
{ type: _angular_core.NgModule, args: [{},] }, | ||
]; | ||
/** | ||
* @nocollapse | ||
*/ | ||
EffectsRootModule.ctorParameters = function () { return [ | ||
{ type: EffectSources, }, | ||
{ type: EffectsRunner, }, | ||
{ type: Array, decorators: [{ type: _angular_core.Inject, args: [ROOT_EFFECTS,] },] }, | ||
]; }; | ||
var EffectsFeatureModule = (function () { | ||
/** | ||
* @param {?} root | ||
* @param {?} effectSourceGroups | ||
*/ | ||
function EffectsFeatureModule(root, effectSourceGroups) { | ||
this.root = root; | ||
effectSourceGroups.forEach(function (group) { return group.forEach(function (effectSourceInstance) { return root.addEffects(effectSourceInstance); }); }); | ||
} | ||
return EffectsFeatureModule; | ||
}()); | ||
EffectsFeatureModule.decorators = [ | ||
{ type: _angular_core.NgModule, args: [{},] }, | ||
]; | ||
/** | ||
* @nocollapse | ||
*/ | ||
EffectsFeatureModule.ctorParameters = function () { return [ | ||
{ type: EffectsRootModule, }, | ||
{ type: Array, decorators: [{ type: _angular_core.Inject, args: [FEATURE_EFFECTS,] },] }, | ||
]; }; | ||
var EffectsModule = (function () { | ||
function EffectsModule(effectsSubscription) { | ||
this.effectsSubscription = effectsSubscription; | ||
function EffectsModule() { | ||
} | ||
EffectsModule_1 = EffectsModule; | ||
EffectsModule.run = function (type) { | ||
/** | ||
* @param {?} featureEffects | ||
* @return {?} | ||
*/ | ||
EffectsModule.forFeature = function (featureEffects) { | ||
return { | ||
ngModule: EffectsModule_1, | ||
ngModule: EffectsFeatureModule, | ||
providers: [ | ||
EffectsSubscription, | ||
type, | ||
{ provide: effects, useExisting: type, multi: true } | ||
] | ||
featureEffects, | ||
{ | ||
provide: FEATURE_EFFECTS, | ||
multi: true, | ||
deps: featureEffects, | ||
useFactory: createSourceInstances, | ||
}, | ||
], | ||
}; | ||
}; | ||
EffectsModule.runAfterBootstrap = function (type) { | ||
/** | ||
* @param {?} rootEffects | ||
* @return {?} | ||
*/ | ||
EffectsModule.forRoot = function (rootEffects) { | ||
return { | ||
ngModule: EffectsModule_1, | ||
ngModule: EffectsRootModule, | ||
providers: [ | ||
type, | ||
{ provide: afterBootstrapEffects, useExisting: type, multi: true } | ||
] | ||
EffectsRunner, | ||
EffectSources, | ||
ErrorReporter, | ||
Actions, | ||
rootEffects, | ||
{ | ||
provide: ROOT_EFFECTS, | ||
deps: rootEffects, | ||
useFactory: createSourceInstances, | ||
}, | ||
{ | ||
provide: CONSOLE, | ||
useValue: console, | ||
}, | ||
], | ||
}; | ||
}; | ||
EffectsModule = EffectsModule_1 = __decorate$1([ | ||
_angular_core.NgModule({ | ||
providers: [ | ||
Actions, | ||
EffectsSubscription, | ||
{ | ||
provide: _angular_core.APP_BOOTSTRAP_LISTENER, | ||
multi: true, | ||
deps: [_angular_core.Injector, EffectsSubscription], | ||
useFactory: runAfterBootstrapEffects | ||
} | ||
] | ||
}), | ||
__metadata$1("design:paramtypes", [EffectsSubscription]) | ||
], EffectsModule); | ||
return EffectsModule; | ||
var EffectsModule_1; | ||
}()); | ||
EffectsModule.decorators = [ | ||
{ type: _angular_core.NgModule, args: [{},] }, | ||
]; | ||
/** | ||
* @nocollapse | ||
*/ | ||
EffectsModule.ctorParameters = function () { return []; }; | ||
/** | ||
* @param {...?} instances | ||
* @return {?} | ||
*/ | ||
function createSourceInstances() { | ||
var instances = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
instances[_i] = arguments[_i]; | ||
} | ||
return instances; | ||
} | ||
/** | ||
* @param {?} action | ||
* @return {?} | ||
*/ | ||
function toPayload(action) { | ||
return action.payload; | ||
return ((action)).payload; | ||
} | ||
@@ -226,8 +451,16 @@ | ||
exports.EffectsModule = EffectsModule; | ||
exports.EffectsSubscription = EffectsSubscription; | ||
exports.EffectSources = EffectSources; | ||
exports.toPayload = toPayload; | ||
exports.runAfterBootstrapEffects = runAfterBootstrapEffects; | ||
exports.ɵb = EffectsFeatureModule; | ||
exports.ɵa = createSourceInstances; | ||
exports.ɵf = EffectsRootModule; | ||
exports.ɵh = EffectsRunner; | ||
exports.ɵg = ErrorReporter; | ||
exports.ɵe = CONSOLE; | ||
exports.ɵd = FEATURE_EFFECTS; | ||
exports.ɵc = ROOT_EFFECTS; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
}))); | ||
}))); | ||
//# sourceMappingURL=effects.umd.js.map |
{ | ||
"name": "@ngrx/effects", | ||
"version": "2.0.4", | ||
"version": "4.0.0", | ||
"description": "Side effect model for @ngrx/store", | ||
"module": "@ngrx/effects.es5.js", | ||
"es2015": "@ngrx/effects.js", | ||
"main": "bundles/effects.umd.js", | ||
"module": "index.js", | ||
"typings": "effects.d.ts", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/ngrx/effects.git" | ||
"url": "https://github.com/ngrx/platform.git" | ||
}, | ||
"scripts": { | ||
"karma": "karma start --single-run", | ||
"test": "nyc node tests.js", | ||
"test:raw": "node tests.js", | ||
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", | ||
"clean:pre": "rimraf release", | ||
"clean:post": "rimraf src/**/*.ngfactory.ts", | ||
"copy": "cpy LICENSE package.json README.md release", | ||
"build:js": "ngc -p tsconfig.dist.json", | ||
"build:testing": "ngc -p tsconfig.testing.json", | ||
"build:umd": "rollup -c rollup.config.js", | ||
"build:umd:testing": "rollup -c rollup-testing.config.js", | ||
"build:uglify": "uglifyjs -c --screw-ie8 --comments -o ./release/bundles/effects.min.umd.js ./release/bundles/effects.umd.js", | ||
"build:uglify:testing": "uglifyjs -c --screw-ie8 --comments -o ./release/bundles/effects-testing.min.umd.js ./release/bundles/effects-testing.umd.js", | ||
"bundle:main": "npm run build:js && npm run build:umd && npm run build:uglify", | ||
"bundle:testing": "npm run build:testing && npm run build:umd:testing && npm run build:uglify:testing", | ||
"prebuild": "npm run test && npm run clean:pre", | ||
"postbuild": "npm run clean:post && npm run copy", | ||
"build": "npm run bundle:main && npm run bundle:testing", | ||
"version": "npm run changelog && git add CHANGELOG.md" | ||
}, | ||
"authors": [ | ||
@@ -37,51 +18,6 @@ "Mike Ryan" | ||
"peerDependencies": { | ||
"@angular/core": "^2.0.0 || ^4.0.0", | ||
"@ngrx/store": "^1.5.0 || ^2.0.0", | ||
"rxjs": "^5.4.0" | ||
}, | ||
"devDependencies": { | ||
"@angular/common": "^2.0.0", | ||
"@angular/compiler": "^2.0.0", | ||
"@angular/compiler-cli": "^2.0.0", | ||
"@angular/core": "^2.0.0", | ||
"@angular/platform-browser": "^2.0.0", | ||
"@angular/platform-browser-dynamic": "^2.0.0", | ||
"@angular/platform-server": "^2.0.0", | ||
"@angular/router": "^3.0.0", | ||
"@ngrx/core": "^1.2.0", | ||
"@ngrx/store": "^2.0.0", | ||
"@types/jasmine": "^2.2.33", | ||
"@types/node": "^6.0.38", | ||
"awesome-typescript-loader": "^2.2.1", | ||
"conventional-changelog-cli": "^1.1.1", | ||
"core-js": "^2.2.2", | ||
"cpy-cli": "^1.0.1", | ||
"istanbul-instrumenter-loader": "^0.2.0", | ||
"jasmine": "^2.5.2", | ||
"npm-run-all": "^1.7.0", | ||
"nyc": "^8.3.2", | ||
"reflect-metadata": "^0.1.3", | ||
"rimraf": "^2.6.1", | ||
"rollup": "^0.34.13", | ||
"rxjs": "^5.4.0", | ||
"source-map-loader": "^0.1.5", | ||
"ts-loader": "^0.8.2", | ||
"ts-node": "^3.1.0", | ||
"tslint": "^3.15.1", | ||
"tslint-loader": "^2.1.5", | ||
"typescript": "^2.4.0", | ||
"uglifyjs": "^2.4.10", | ||
"zone.js": "^0.7.2" | ||
}, | ||
"nyc": { | ||
"extension": [ | ||
".ts" | ||
], | ||
"exclude": [ | ||
"spec/**/*.spec" | ||
], | ||
"include": [ | ||
"src/**/*.ts" | ||
] | ||
"@angular/core": "^4.0.0", | ||
"@ngrx/store": "^4.0.0", | ||
"rxjs": "^5.0.0" | ||
} | ||
} |
@@ -1,19 +0,6 @@ | ||
# @ngrx/effects | ||
### Side effect model for @ngrx/store | ||
[![Join the chat at https://gitter.im/ngrx/store](https://badges.gitter.im/ngrx/store.svg)](https://gitter.im/ngrx/store?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | ||
@ngrx/effects | ||
======= | ||
### Installation | ||
To install @ngrx/effects from npm: | ||
```bash | ||
npm install @ngrx/effects --save | ||
``` | ||
The sources for this package are in the main [ngrx/platform](https://github.com/ngrx/platform) repo. Please file issues and pull requests against that repo. | ||
### Documentation | ||
* [Intro to @ngrx/effects](./docs/intro.md) | ||
* [API](./docs/api.md) | ||
* [Testing](./docs/testing.md) | ||
### Example Application | ||
https://github.com/ngrx/example-app | ||
License: MIT |
import { Action } from '@ngrx/store'; | ||
import { Observable } from 'rxjs/Observable'; | ||
export declare class Actions extends Observable<Action> { | ||
constructor(actionsSubject: Observable<Action>); | ||
ofType(...keys: string[]): Actions; | ||
import { Operator } from 'rxjs/Operator'; | ||
export declare class Actions<V = Action> extends Observable<V> { | ||
constructor(source?: Observable<V>); | ||
lift<R>(operator: Operator<V, R>): Observable<R>; | ||
ofType(...allowedTypes: string[]): Actions<V>; | ||
} |
@@ -1,65 +0,52 @@ | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { | ||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
}; | ||
var __metadata = (this && this.__metadata) || function (k, v) { | ||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); | ||
}; | ||
var __param = (this && this.__param) || function (paramIndex, decorator) { | ||
return function (target, key) { decorator(target, key, paramIndex); } | ||
}; | ||
// TODO: This is a copy of this: https://github.com/redux-observable/redux-observable/blob/master/src/ActionsObservable.js | ||
// Remove after this is resolved: https://github.com/redux-observable/redux-observable/issues/95 | ||
import { Injectable, Inject } from '@angular/core'; | ||
import { Dispatcher } from '@ngrx/store'; | ||
import { ScannedActionsSubject } from '@ngrx/store'; | ||
import { Observable } from 'rxjs/Observable'; | ||
import { filter } from 'rxjs/operator/filter'; | ||
var Actions = (function (_super) { | ||
__extends(Actions, _super); | ||
function Actions(actionsSubject) { | ||
var _this = _super.call(this) || this; | ||
_this.source = actionsSubject; | ||
return _this; | ||
export class Actions extends Observable { | ||
/** | ||
* @param {?=} source | ||
*/ | ||
constructor(source) { | ||
super(); | ||
if (source) { | ||
this.source = source; | ||
} | ||
} | ||
Actions.prototype.ofType = function () { | ||
var keys = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
keys[_i] = arguments[_i]; | ||
} | ||
return filter.call(this, function (_a) { | ||
var type = _a.type; | ||
var len = keys.length; | ||
if (len === 1) { | ||
return type === keys[0]; | ||
} | ||
else { | ||
for (var i = 0; i < len; i++) { | ||
if (keys[i] === type) { | ||
return true; | ||
} | ||
} | ||
} | ||
return false; | ||
}); | ||
}; | ||
Actions = __decorate([ | ||
Injectable(), | ||
__param(0, Inject(Dispatcher)), | ||
__metadata("design:paramtypes", [Observable]) | ||
], Actions); | ||
return Actions; | ||
}(Observable)); | ||
export { Actions }; | ||
/** | ||
* @template R | ||
* @param {?} operator | ||
* @return {?} | ||
*/ | ||
lift(operator) { | ||
const /** @type {?} */ observable = new Actions(); | ||
observable.source = this; | ||
observable.operator = operator; | ||
return observable; | ||
} | ||
/** | ||
* @param {...?} allowedTypes | ||
* @return {?} | ||
*/ | ||
ofType(...allowedTypes) { | ||
return filter.call(this, (action) => allowedTypes.some(type => type === action.type)); | ||
} | ||
} | ||
Actions.decorators = [ | ||
{ type: Injectable }, | ||
]; | ||
/** | ||
* @nocollapse | ||
*/ | ||
Actions.ctorParameters = () => [ | ||
{ type: Observable, decorators: [{ type: Inject, args: [ScannedActionsSubject,] },] }, | ||
]; | ||
function Actions_tsickle_Closure_declarations() { | ||
/** @type {?} */ | ||
Actions.decorators; | ||
/** | ||
* @nocollapse | ||
* @type {?} | ||
*/ | ||
Actions.ctorParameters; | ||
} | ||
//# sourceMappingURL=actions.js.map |
@@ -0,4 +1,8 @@ | ||
/** | ||
* @param {?} action | ||
* @return {?} | ||
*/ | ||
export function toPayload(action) { | ||
return action.payload; | ||
return ((action)).payload; | ||
} | ||
//# sourceMappingURL=util.js.map |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
196750
0
2094
61
7
1