UNPKG

@nlabs/arkhamjs-middleware-redux

Version:

Integrate ArkhamJS state management within Redux

37 lines (36 loc) 3.38 kB
/** * Copyright (c) 2018-Present, Nitrogen Labs, Inc. * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms. */ function _define_property(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } export class ReduxMiddleware { postDispatch(action) { // ... Alter action if needed const { __ARKHAMJS_DISPATCH: isArkhamJs } = action; if (!isArkhamJs) { action.__ARKHAMJS_DISPATCH = true; this.reduxStore.dispatch(action); } return Promise.resolve(action); } constructor(reduxStore, name){ _define_property(this, "name", void 0); _define_property(this, "reduxStore", void 0); this.name = name ? `reduxMiddleware-${name}` : 'reduxMiddleware'; this.reduxStore = reduxStore; // Methods this.postDispatch = this.postDispatch.bind(this); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2Fya2hhbWpzL3BhY2thZ2VzL2Fya2hhbWpzLW1pZGRsZXdhcmUtcmVkdXgvc3JjL21pZGRsZXdhcmUvUmVkdXhNaWRkbGV3YXJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge0ZsdXhBY3Rpb259IGZyb20gJ0BubGFicy9hcmtoYW1qcyc7XG5pbXBvcnQge1N0b3JlfSBmcm9tICdyZWR1eCc7XG5cbmV4cG9ydCBjbGFzcyBSZWR1eE1pZGRsZXdhcmUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHJlZHV4U3RvcmU6IFN0b3JlPGFueT47XG5cbiAgY29uc3RydWN0b3IocmVkdXhTdG9yZTogU3RvcmU8YW55PiwgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZSA/IGByZWR1eE1pZGRsZXdhcmUtJHtuYW1lfWAgOiAncmVkdXhNaWRkbGV3YXJlJztcbiAgICB0aGlzLnJlZHV4U3RvcmUgPSByZWR1eFN0b3JlO1xuXG4gICAgLy8gTWV0aG9kc1xuICAgIHRoaXMucG9zdERpc3BhdGNoID0gdGhpcy5wb3N0RGlzcGF0Y2guYmluZCh0aGlzKTtcbiAgfVxuXG4gIHBvc3REaXNwYXRjaChhY3Rpb24pOiBQcm9taXNlPEZsdXhBY3Rpb24+IHtcbiAgICAvLyAuLi4gQWx0ZXIgYWN0aW9uIGlmIG5lZWRlZFxuICAgIGNvbnN0IHtfX0FSS0hBTUpTX0RJU1BBVENIOiBpc0Fya2hhbUpzfSA9IGFjdGlvbjtcblxuICAgIGlmKCFpc0Fya2hhbUpzKSB7XG4gICAgICBhY3Rpb24uX19BUktIQU1KU19ESVNQQVRDSCA9IHRydWU7XG4gICAgICB0aGlzLnJlZHV4U3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGFjdGlvbik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJSZWR1eE1pZGRsZXdhcmUiLCJwb3N0RGlzcGF0Y2giLCJhY3Rpb24iLCJfX0FSS0hBTUpTX0RJU1BBVENIIiwiaXNBcmtoYW1KcyIsInJlZHV4U3RvcmUiLCJkaXNwYXRjaCIsIlByb21pc2UiLCJyZXNvbHZlIiwibmFtZSIsImJpbmQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7Ozs7Ozs7Ozs7OztBQUlELE9BQU8sTUFBTUE7SUFZWEMsYUFBYUMsTUFBTSxFQUF1QjtRQUN4Qyw2QkFBNkI7UUFDN0IsTUFBTSxFQUFDQyxxQkFBcUJDLFVBQVUsRUFBQyxHQUFHRjtRQUUxQyxJQUFHLENBQUNFLFlBQVk7WUFDZEYsT0FBT0MsbUJBQW1CLEdBQUc7WUFDN0IsSUFBSSxDQUFDRSxVQUFVLENBQUNDLFFBQVEsQ0FBQ0o7UUFDM0I7UUFFQSxPQUFPSyxRQUFRQyxPQUFPLENBQUNOO0lBQ3pCO0lBbEJBLFlBQVlHLFVBQXNCLEVBQUVJLElBQVksQ0FBRTtRQUhsREEsdUJBQUFBLFFBQUFBLEtBQUFBO1FBQ0FKLHVCQUFBQSxjQUFBQSxLQUFBQTtRQUdFLElBQUksQ0FBQ0ksSUFBSSxHQUFHQSxPQUFPLENBQUMsZ0JBQWdCLEVBQUVBLE1BQU0sR0FBRztRQUMvQyxJQUFJLENBQUNKLFVBQVUsR0FBR0E7UUFFbEIsVUFBVTtRQUNWLElBQUksQ0FBQ0osWUFBWSxHQUFHLElBQUksQ0FBQ0EsWUFBWSxDQUFDUyxJQUFJLENBQUMsSUFBSTtJQUNqRDtBQWFGIn0=