{"_id":"redux-root-saga","_rev":"11-7e8f2b7648c82e2c0b251a17b2b2d8db","name":"redux-root-saga","dist-tags":{"latest":"1.1.4","next":"1.1.3-rc1"},"versions":{"1.0.0":{"name":"redux-root-saga","version":"1.0.0","description":"Easy and configurable redux-saga execution management.","keywords":["redux","redux-saga"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --fix --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:fix":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","prepare":"yarn build","prepublishOnly":"yarn test && yarn lint","test":"jest","test:ci":"CI=true yarn test:coverage","test:coverage":"yarn test --coverage --watchAll=false","preversion":"yarn lint","version":"yarn lint:fix && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.1.0","@typescript-eslint/parser":"^2.1.0","eslint":"^6.3.0","eslint-config-prettier":"^6.2.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","lint-staged":"^9.2.5","prettier":"^1.18.2","redux-saga":"*","redux-saga-test-plan":"^4.0.0-rc.1","ts-jest":"^24.0.2","typescript":"^3.6.2"},"peerDependencies":{"redux-saga":"*"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2019 Michael Hettmer\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.","_id":"redux-root-saga@1.0.0","dist":{"shasum":"49d6140fea6edcc47ddf23083ad9008407a54523","integrity":"sha512-rQxT0QfGB7dOZZ3Bxg4fa/DhzyZ3IN0gSX1c17Q3yQSigrGg2EPLdwbZ7221yyyaZURkn+f1wtpFqFvJyNTwDQ==","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.0.0.tgz","fileCount":14,"unpackedSize":13187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJddXquCRA9TVsSAnZWagAAxzQQAIlrW6VvWXfXwCQO/L9Z\nWQlJ82eywtPrptA0wOIpjhMt4npGjzj3SDpz9K3aItaw+x6h3t29KPnbfSgd\nfgUGlgGLENiFi3FlhSAbpIZBfXAP3zo3IZBBu1n6jBLfZfB2OHOMC/rQfCwJ\nj4dBE7zTkoA4rx1ZdfGOs4jMRXxY9dvbAGzaaPYgYIz5VIX2fB/m6B+Msax9\n6EjB56lyWFlQ3UTla2Mt2AIzdsahPsSwbyHw5sOrJlvpB1/4Ab9j9pPKx6cP\nOZuYJBUBYQvJ2ehqWYqp98o7kMCp9Lw1cYkAO0F+whMhuCsu2rSdNCkL2Tui\nVts2sieDF39E+ggbJSfC2GgoKncmGhzVXVUPTyYeFWD6D4G5qsycXBGLTNlC\naq7ofSYPDIIH++GnB/kWe9TTMvgwmnZm/4eATwxM9d3dguUo1OMZqjf6zlHs\nPTg1iI6OqQniUd7ZzC8T/REWOCvHd8Y9d5NrhFe75haeTou95Tc7U+DtVUPq\nfnDc6RdEDVPERxqhW/sBr+uc8MBq46AUBzIvw5ypNYW8X+pr/UMXbCSEW/n5\nMcxw/74QQpwMhOohSpFIy1czvOY3eF1dHPP7lpDKHn9pEQBqpZHW0QMqG37m\n2nA5lR4hwktEkPQC3X1B3AYa75hz9C37oUuzS79K3cTcIQb0mNXHn56cG9kB\nVPRC\r\n=9PV1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDH4kl0FC1zKHJrn96cgU7J1/Ro+9qGFI6NWOVSZe/qAAiEA2KiCxCSYXbdha4T87USFld3Flsrba4p+AtJ4KAtZsOs="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.0.0_1567980205786_0.3848886260403672"},"_hasShrinkwrap":false},"1.1.0":{"name":"redux-root-saga","version":"1.1.0","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:fix":"yarn lint --fix","test":"jest","test:ci":"CI=true yarn test:coverage","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.1.0","@typescript-eslint/parser":"^2.1.0","dot-json":"^1.1.0","eslint":"^6.3.0","eslint-config-prettier":"^6.2.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","prettier":"^1.18.2","redux-saga":"*","redux-saga-test-plan":"^4.0.0-rc.1","ts-jest":"^24.0.2","typescript":"^3.6.2"},"peerDependencies":{"redux-saga":"*"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2019 Michael Hettmer\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.","_id":"redux-root-saga@1.1.0","dist":{"shasum":"da57201632c11106afeed7b719d6cb333ede87f3","integrity":"sha512-qEg61PuW2nZXrnJ2fgMBGxRT6GzUOyN7tk7H6zXGWIfZ6dvi/2GCad1vPOnHPEWQlouSQuuThFrXlVT5I0QASA==","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.0.tgz","fileCount":14,"unpackedSize":19154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeC/GCRA9TVsSAnZWagAAssEP/0xo5rfFjfzbPxj9nmR7\nkmu+b/6xNehMWTZBzm5GjzcKKCEc6WWRaFNWfVSrKaHAlAWUzQjnCZNQmdtn\niGT+JjVeaNqzllPXirfzBDwZZNVtZz2U27eYQ5VZdSj0bMILaEypPj3Fvg9A\n3v/nrW7SePZytjGlu+bIRv7Gge0bThNHfYNSqdbLX1pzpuPRCMmutSchRjqX\nm+QvgOxWtJ1GdBsVE6eOb7N7kCRPZ9sOqRe6un7EIzynnEwpvltXvKEJXxwj\n4goLCSWeLe8G6AIJmQ46i4SzkdPGvQetZf4ENkMMKQapG9YJcAUr7pI801qV\n4yoikUrpwOwolckDCwP3bL7H/UFSthVtuLkPBTLIEjmW5/LfFhihpI5HtHcl\nAI9sDD1jv+6t6hHd+sBH8WDV2laYjXa6CyXfio+IcceJGT4kSBBUgUquQ6ja\nA6aMzhDNOD9W9h42GXPR+S5GP2rhtUjFaaDH3WwXxo0PUwa/N1XITUouw8xD\nMdDZ2aBtmh54DLBIGt/Z90WmSmFQdPRG+UJ8TbKehTC1YBDFtn1JCK/89NV3\nlIkLwFhX4r103M5+0shVNnY0kGL95BBKDqKeFGhIUVFsN+8JfpMXa7aCrXdx\nR6mCJfnUF2QmwS8SgrtZelEQ6U2DD/m/iv5QY1c5CZ3303+8qOF4Ss11s0Qk\nA0E5\r\n=G5yt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFim4QZNuQ/Cg9Uo7ynuB7of+t5bLvvmU2SSvC5N2BTgAiAx5J6MSomveaYqXKprKdpTJtS8360Vi6SZ8QMqCtWauw=="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.0_1568157637956_0.33734721046464067"},"_hasShrinkwrap":false},"1.1.1":{"name":"redux-root-saga","version":"1.1.1","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:fix":"yarn lint --fix","test":"jest","test:ci":"CI=true yarn test:coverage","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.1.0","@typescript-eslint/parser":"^2.1.0","dot-json":"^1.1.0","eslint":"^6.3.0","eslint-config-prettier":"^6.2.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","prettier":"^1.18.2","redux-saga":"*","redux-saga-test-plan":"^4.0.0-rc.1","ts-jest":"^24.0.2","typescript":"^3.6.2"},"peerDependencies":{"redux-saga":"*"},"_id":"redux-root-saga@1.1.1","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-M39i3yPYMMe+3M63ihzoMkn09LGmjEH0OghfPCXQcO+3LQc70uDbLH2oAdJk1I3SN+0ZUMoQkqlD9eLidyFS9A==","shasum":"9a3e992e27b216d5fc43d462538492e48ab9ee2d","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.1.tgz","fileCount":12,"unpackedSize":19154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeDEcCRA9TVsSAnZWagAAE68QAKKq40hE0QfUqyH5rpRM\n9lXVeuxykbPKwOkYjkJRFLbU1TB2oULBbGLrPIyccAAFqOjIZPjdElw8gZfI\nzbTLYHXwZ0YhagkvhWO7+DUVdl9dvxwgv45Gi9r7epBb5InLK1QmgHfZ2rdq\nNDhXH+x+32p3OQ3x7TuPAJytJPwQcGuaHY4hu8xrAIuuFROmDoQctoHbKTMQ\nYJGI8684i5wkNHobDBQOammWmY4cEmrLBUSb9Xp/pY4zSn5g2cs45Ypzzpr7\nL0C6PWpJN7FENEKESNOybZWg4M8b+4MmjgfodGCn+g7kvYw6/RvW3GUlEWTG\nHFBR68Y8JIVsocec6rLm8hscpg+fdbSce0nEzPyI/8G7u+hF8kas3hafkdOt\nwIh6Qze47kuh2cJNPifvvF9+QU2M/XENbX6QDyGJyu95wm1B+iPnBMFEuZkY\nuhTMUJjfO/6iZL6QFVAr7Yu+BnxvQ8t4WgILJx0+Wwy02O3MbBhJUnXIiXeB\nEwbQoqZmFcrHsKrU9UNZZB+Y+qBZmx9CZYq+lad6zXjOLbC6EP6rW4FCSZqc\nKdet/QjW9J/WDV4k9xGghg3LCKma/tKvO2I57KZjd4PLHioPcDGc0XO6v7I7\nn1U8dXw2Hj3Q5rh0up35m/Lut85NXOymk1k/If9swkzZsIdaW73JHCaVFrSc\nDKWk\r\n=bE4Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEbDwqg01WGjA8pnw6XXJvRYgxs3ySnb0zn7lcZXnkAAAiAciPH1+8siFDwoHm6qmXVOcEcXyf/RUsR4Gw4c5pd7Jw=="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.1_1568157980152_0.9463737310982065"},"_hasShrinkwrap":false},"1.1.2-rc2":{"name":"redux-root-saga","version":"1.1.2-rc2","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:ci":"yarn lint --format junit --output-file ./reports/junit/ts-lint-results.xml","lint:fix":"yarn lint --fix","release":"node scripts/push-release.js","test":"jest","test:ci":"CI=true JEST_JUNIT_OUTPUT_DIR=./reports/junit JEST_JUNIT_OUTPUT_NAME=ts-test-results.xml yarn test:coverage --runInBand --reporters=\"default\" --reporters=\"jest-junit\"","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.1.0","@typescript-eslint/parser":"^2.1.0","dot-json":"^1.1.0","eslint":"^6.3.0","eslint-config-prettier":"^6.2.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-junit":"^8.0.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","nodegit":"^0.25.1","prettier":"^1.18.2","redux-saga":"*","redux-saga-test-plan":"^4.0.0-rc.1","shelljs":"^0.8.3","ts-jest":"^24.0.2","typescript":"^3.6.2"},"peerDependencies":{"redux-saga":"*"},"readme":"<img src=\"./logo_wide_slim.png\" alt=\"Redux Root Saga Logo\" />\n\n# Redux Root Saga\n\n[![license](https://img.shields.io/npm/l/redux-root-saga)](https://github.com/MichaelHettmer/redux-root-saga/blob/master/LICENSE.md)\n[![circleci](https://circleci.com/gh/MichaelHettmer/redux-root-saga.svg?style=shield)](https://circleci.com/gh/MichaelHettmer/redux-root-saga)\n[![codecov](https://codecov.io/gh/MichaelHettmer/redux-root-saga/branch/master/graph/badge.svg)](https://codecov.io/gh/MichaelHettmer/redux-root-saga)\n[![npm version](https://img.shields.io/npm/v/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![npm downloads](https://img.shields.io/npm/dw/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![pull requests](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/MichaelHettmer/redux-root-saga/compare)\n[![discord](https://img.shields.io/discord/620938362379042837)](https://discord.gg/R2jNASR)\n[![twitter](https://img.shields.io/twitter/follow/MichaelHettmer.svg?label=Follow%20@MichaelHettmer)](https://twitter.com/intent/follow?screen_name=MichaelHettmer)\n\n## Configurable redux-saga execution management\n\nRedux Root Saga provides an easy way to quickly run multiple sagas concurrently in a tested and widely used way.\n\nThis package is based on the root saga pattern from the [official documentation](https://redux-saga.js.org/docs/advanced/RootSaga.html) and therefore an easy way to get the described behavior without copy-pasting it into every new project.\n\nAdditionally the root saga behavior was extended by the following fully configurable and optional features (more to come):\n\n* Strictly typed and fully Typescript compatible\n* Maximum retry count for restarting child sagas\n* Default error handling with a warning message including the saga name\n* Custom error handling callback\n\n## Getting started\n\n### Install\n\n#### Latest stable release\n\n``` sh\nnpm install --save redux-root-saga\n```\n\nor\n\n``` sh\nyarn add redux-root-saga\n```\n\n#### Latest Release Candidate\n\n``` sh\nnpm install --save redux-root-saga@next\n```\n\nor\n\n``` sh\nyarn add redux-root-saga@next\n```\n\n### Usage Example\n\n``` typescript\nimport { createStore, applyMiddleware } from 'redux';\nimport createSagaMiddleware from '@redux-saga/core';\nimport createRootSaga from 'redux-root-saga';\n\nfunction* saga1() {\n    /*...*/\n}\nfunction* saga2() {\n    /*...*/\n}\n\n// Option 1: Execute all specified sagas concurrently with default options.\nconst rootSaga = createRootSaga([saga1, saga2]);\n\n// Option 2: Start all sagas with (partly) customized default options.\nconst rootSaga = createRootSaga([saga1, saga2], {\n    maxRetries: 3,\n    errorHandler: (error, saga, options) => console.err(\n        `Error in saga ${saga.name} with options ${options}: ${error}`);\n});\n\n// Option 3: Start all sagas with (partly) customized default options\n// and use specific custom options only for saga1.\n// All other options of saga1 fallback to the (customized) default ones.\nconst rootSaga = createRootSaga([[saga1, { maxRetries: Infinity }], saga2], {\n    maxRetries: 3,\n    onError: (error, saga, options) => console.error(\n        `Error in saga ${saga.name} with options ${options}: ${error}`),\n});\n\nconst sagaMiddleware = createSagaMiddleware();\nconst store = createStore(reducer, applyMiddleware(sagaMiddleware));\nsagaMiddleware.run(rootSaga);\n```\n","readmeFilename":"README.md","_id":"redux-root-saga@1.1.2-rc2","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-0tb/TsDcJK64sRECEdglc/g6zRX2X5hm6Gl/UJTaj8ZW2gre63f333w28gtsGQxH5jA7I1rN1v7tQ/vfdBpWNw==","shasum":"2fbdfa7c5df8063b646cdd5cc37b464098a013e7","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.2-rc2.tgz","fileCount":12,"unpackedSize":19757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeUUdCRA9TVsSAnZWagAAqooP/0HF89CQWa0tAiQSM/1t\naLEoobDXuRSJ5OJ8Pl9cJDl+3qq6qAgQShdR8hx0uNUXKRQXx01lPR0AlGoW\n5ugX97xcehIxKeBvv1kPB/yAuSpwidNDxkCMK8xZisTfylGqKGst/MwS2sRo\nEPdMu2vRiDUM9rY/gn7XPbI7Mfe5pjt5hGiTUByOzljx8GisZ8DOM+/u/LDP\n59YQFxQbPwLrDHcR/n8PR2Znbd0DudeNPrVKPpuxjERUrYLUw4dMBLKg+jzT\n1ZydpWx7QHi8v4pb+wA9V9Gx0X5DTJdY9WH53behCjBKahpR0WrobigQHvMj\nlBX+KEgIUUy5B4JKYMHDMzNXyQNUaZeQvUYYxxST+ioUnes2u7E9cY84efMs\nUOkoWdlB/msrVoI/bJ70pQAY5bUj7sSze1KoJ3xZyexKbBB64HTyDG8xtDaq\nLE61getBrjUTICBeS8CeXezFoNSLD+Y9Qf+LbMEMkt9gxJRlG8ZTvI3CY/MM\nYDChk5M+mSUPW2h9xVFunOniRlnr+E7FSo0Li8rhqUVMauTZwdeiP564HDkn\nKHuBOMF+dcXbs1lVcUeOlwZebMoE+2lSQ8lK24iO662J0jcL8nvsJ00/CpzW\nFuYtAQlRfmbofYcU7i8tHu94Nl8RhlVNMIJPqlR4yskXfsd5EiagjPXiJX5r\nF1fp\r\n=GDUF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZqqeZsjTXzkWWThkhQcsCrJYIqZONQwL27d9iFB6QOwIgNP9BOB8G/9B/7Onp4NsS4XK23Z4xZglGjwwBZeRiqtM="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.2-rc2_1568228636663_0.09572874045207902"},"_hasShrinkwrap":false},"1.1.2-rc3":{"name":"redux-root-saga","version":"1.1.2-rc3","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:ci":"yarn lint --format junit --output-file ./reports/junit/ts-lint-results.xml","lint:fix":"yarn lint --fix","release":"node scripts/push-release.js","test":"jest","test:ci":"CI=true JEST_JUNIT_OUTPUT_DIR=./reports/junit JEST_JUNIT_OUTPUT_NAME=ts-test-results.xml yarn test:coverage --runInBand --reporters=\"default\" --reporters=\"jest-junit\"","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.1.0","@typescript-eslint/parser":"^2.1.0","dot-json":"^1.1.0","eslint":"^6.3.0","eslint-config-prettier":"^6.2.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-junit":"^8.0.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","nodegit":"^0.25.1","prettier":"^1.18.2","redux-saga":"*","redux-saga-test-plan":"^4.0.0-rc.1","shelljs":"^0.8.3","ts-jest":"^24.0.2","typescript":"^3.6.2"},"peerDependencies":{"redux-saga":"*"},"readme":"<img src=\"./logo_wide_slim.png\" alt=\"Redux Root Saga Logo\" />\n\n# Redux Root Saga\n\n[![license](https://img.shields.io/npm/l/redux-root-saga)](https://github.com/MichaelHettmer/redux-root-saga/blob/master/LICENSE.md)\n[![circleci](https://circleci.com/gh/MichaelHettmer/redux-root-saga.svg?style=shield)](https://circleci.com/gh/MichaelHettmer/redux-root-saga)\n[![codecov](https://codecov.io/gh/MichaelHettmer/redux-root-saga/branch/master/graph/badge.svg)](https://codecov.io/gh/MichaelHettmer/redux-root-saga)\n[![npm version](https://img.shields.io/npm/v/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![npm downloads](https://img.shields.io/npm/dw/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![pull requests](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/MichaelHettmer/redux-root-saga/compare)\n[![discord](https://img.shields.io/discord/620938362379042837)](https://discord.gg/R2jNASR)\n[![twitter](https://img.shields.io/twitter/follow/MichaelHettmer.svg?label=Follow%20@MichaelHettmer)](https://twitter.com/intent/follow?screen_name=MichaelHettmer)\n\n## Configurable redux-saga execution management\n\nRedux Root Saga provides an easy way to quickly run multiple sagas concurrently in a tested and widely used way.\n\nThis package is based on the root saga pattern from the [official documentation](https://redux-saga.js.org/docs/advanced/RootSaga.html) and therefore an easy way to get the described behavior without copy-pasting it into every new project.\n\nAdditionally the root saga behavior was extended by the following fully configurable and optional features (more to come):\n\n* Strictly typed and fully Typescript compatible\n* Maximum retry count for restarting child sagas\n* Default error handling with a warning message including the saga name\n* Custom error handling callback\n\n## Getting started\n\n### Install\n\n#### Latest stable release\n\n``` sh\nnpm install --save redux-root-saga\n```\n\nor\n\n``` sh\nyarn add redux-root-saga\n```\n\n#### Latest Release Candidate\n\n``` sh\nnpm install --save redux-root-saga@next\n```\n\nor\n\n``` sh\nyarn add redux-root-saga@next\n```\n\n### Usage Example\n\n``` typescript\nimport { createStore, applyMiddleware } from 'redux';\nimport createSagaMiddleware from '@redux-saga/core';\nimport createRootSaga from 'redux-root-saga';\n\nfunction* saga1() {\n    /*...*/\n}\nfunction* saga2() {\n    /*...*/\n}\n\n// Option 1: Execute all specified sagas concurrently with default options.\nconst rootSaga = createRootSaga([saga1, saga2]);\n\n// Option 2: Start all sagas with (partly) customized default options.\nconst rootSaga = createRootSaga([saga1, saga2], {\n    maxRetries: 3,\n    errorHandler: (error, saga, options) => console.err(\n        `Error in saga ${saga.name} with options ${options}: ${error}`);\n});\n\n// Option 3: Start all sagas with (partly) customized default options\n// and use specific custom options only for saga1.\n// All other options of saga1 fallback to the (customized) default ones.\nconst rootSaga = createRootSaga([[saga1, { maxRetries: Infinity }], saga2], {\n    maxRetries: 3,\n    onError: (error, saga, options) => console.error(\n        `Error in saga ${saga.name} with options ${options}: ${error}`),\n});\n\nconst sagaMiddleware = createSagaMiddleware();\nconst store = createStore(reducer, applyMiddleware(sagaMiddleware));\nsagaMiddleware.run(rootSaga);\n```\n","readmeFilename":"README.md","_id":"redux-root-saga@1.1.2-rc3","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-c64tlBvTTbBC1dOSv6T4D8O8B3d5g6Ro7N+ZyEzPCtrZYJQEAtoeK4o9BfMUEOJHIlQuWvjvp0ntktqwXGxxVA==","shasum":"e3a14ddf74545b818aeffd2b3a73b8c0efac0306","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.2-rc3.tgz","fileCount":12,"unpackedSize":19757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeUfKCRA9TVsSAnZWagAAMssP/jKgaMghW0Q2F41gdBMv\ncKUHG8vvM/D9WwyW2MJeHSnQUNg92lrbc+HJYZrO9oXbBfNMv6OYO3RQpvYj\nkgsKF/heU2PFq/OkOjVTbZ6a5fQj6U+KR+3xpwRR5vskhhFmFnR0tITv1nmA\nhlWvfRi2ObHIwjpJVa+NqIvLqPoHhiDzRQ873uy+MzpxhES1fFEWmygY65uY\nLzKeEvD+aNPP4jmd1Gpp6+NcisOs2IYa52onQk3IP8hVqCnlANphRNmocZSS\nX3FCUgcK2wsFOIBn69dY5xmq5ucTruveVpQqWDrCD8y3D6yCqGCmoWp+Z1FK\nf+K/rXo0tA457Jmfr90+/SozrMJ7tjE/kfBM9QZxWGvxAEl/Ug/30Ij+qRkT\n4P7WS01z+LT7T8q9Tk0XdlILodQw3dteU7iaBM2LK3XZWQAjjtrwVCzpL2pu\nglKlJCKPazcHfVtSVq1biJKhA5AMTf1sYxF90qjel1ZNbcjXVgUYzS71CqjV\n8eiPHmoq1Y0pXQRGxoku56nDPus3NhXWUptVvdAW4giDCEVBmMgYxGwS6e5Z\n6iWy3nedjwBnd4+eq3CKX4dqstmlQ8xpM0Cg506I8N2jceUG1AsHW4EeExxF\nSNktLhOhQrcnRcfEcgXU/A6SI6qhqNP9auSJhKvG64wb28Qubiu9V0KLalB4\niQh7\r\n=ki55\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFKih3zDH5m4Tlp/M56Ai21QTnVItDeNScMUxVbgaezqAiBUSKmdd8tONvDL0b3Ky26402wo+v8ybeYjguhf2FH7gQ=="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.2-rc3_1568229321913_0.2554916611695093"},"_hasShrinkwrap":false},"1.1.2-rc4":{"name":"redux-root-saga","version":"1.1.2-rc4","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:ci":"yarn lint --format junit --output-file ./reports/junit/ts-lint-results.xml","lint:fix":"yarn lint --fix","release":"node scripts/push-release.js","test":"jest","test:ci":"CI=true JEST_JUNIT_OUTPUT_DIR=./reports/junit JEST_JUNIT_OUTPUT_NAME=ts-test-results.xml yarn test:coverage --runInBand --reporters=\"default\" --reporters=\"jest-junit\"","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.1.0","@typescript-eslint/parser":"^2.1.0","dot-json":"^1.1.0","eslint":"^6.3.0","eslint-config-prettier":"^6.2.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-junit":"^8.0.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","nodegit":"^0.25.1","prettier":"^1.18.2","redux-saga":"*","redux-saga-test-plan":"^4.0.0-rc.1","shelljs":"^0.8.3","ts-jest":"^24.0.2","typescript":"^3.6.2"},"peerDependencies":{"redux-saga":"*"},"readme":"<img src=\"./logo_wide_slim.png\" alt=\"Redux Root Saga Logo\" />\n\n# Redux Root Saga\n\n[![license](https://img.shields.io/npm/l/redux-root-saga)](https://github.com/MichaelHettmer/redux-root-saga/blob/master/LICENSE.md)\n[![circleci](https://circleci.com/gh/MichaelHettmer/redux-root-saga.svg?style=shield)](https://circleci.com/gh/MichaelHettmer/redux-root-saga)\n[![codecov](https://codecov.io/gh/MichaelHettmer/redux-root-saga/branch/master/graph/badge.svg)](https://codecov.io/gh/MichaelHettmer/redux-root-saga)\n[![npm version](https://img.shields.io/npm/v/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![npm downloads](https://img.shields.io/npm/dw/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![pull requests](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/MichaelHettmer/redux-root-saga/compare)\n[![discord](https://img.shields.io/discord/620938362379042837)](https://discord.gg/R2jNASR)\n[![twitter](https://img.shields.io/twitter/follow/MichaelHettmer.svg?label=Follow%20@MichaelHettmer)](https://twitter.com/intent/follow?screen_name=MichaelHettmer)\n\n## Configurable redux-saga execution management\n\nRedux Root Saga provides an easy way to quickly run multiple sagas concurrently in a tested and widely used way.\n\nThis package is based on the root saga pattern from the [official documentation](https://redux-saga.js.org/docs/advanced/RootSaga.html) and therefore an easy way to get the described behavior without copy-pasting it into every new project.\n\nAdditionally the root saga behavior was extended by the following fully configurable and optional features (more to come):\n\n* Strictly typed and fully Typescript compatible\n* Maximum retry count for restarting child sagas\n* Default error handling with a warning message including the saga name\n* Custom error handling callback\n\n## Getting started\n\n### Install\n\n#### Latest stable release\n\n``` sh\nnpm install --save redux-root-saga\n```\n\nor\n\n``` sh\nyarn add redux-root-saga\n```\n\n#### Latest Release Candidate\n\n``` sh\nnpm install --save redux-root-saga@next\n```\n\nor\n\n``` sh\nyarn add redux-root-saga@next\n```\n\n### Usage Example\n\n``` typescript\nimport { createStore, applyMiddleware } from 'redux';\nimport createSagaMiddleware from '@redux-saga/core';\nimport createRootSaga from 'redux-root-saga';\n\nfunction* saga1() {\n    /*...*/\n}\nfunction* saga2() {\n    /*...*/\n}\n\n// Option 1: Execute all specified sagas concurrently with default options.\nconst rootSaga = createRootSaga([saga1, saga2]);\n\n// Option 2: Start all sagas with (partly) customized default options.\nconst rootSaga = createRootSaga([saga1, saga2], {\n    maxRetries: 3,\n    errorHandler: (error, saga, options) => console.err(\n        `Error in saga ${saga.name} with options ${options}: ${error}`);\n});\n\n// Option 3: Start all sagas with (partly) customized default options\n// and use specific custom options only for saga1.\n// All other options of saga1 fallback to the (customized) default ones.\nconst rootSaga = createRootSaga([[saga1, { maxRetries: Infinity }], saga2], {\n    maxRetries: 3,\n    onError: (error, saga, options) => console.error(\n        `Error in saga ${saga.name} with options ${options}: ${error}`),\n});\n\nconst sagaMiddleware = createSagaMiddleware();\nconst store = createStore(reducer, applyMiddleware(sagaMiddleware));\nsagaMiddleware.run(rootSaga);\n```\n","readmeFilename":"README.md","_id":"redux-root-saga@1.1.2-rc4","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-OrfFXQWB5IVvVnwskLfNm1NM1McGAvEwFiE6yVzy7RMDIrDBgVDrbPmVV/h9ZhLWH/Dgh79qNMbiMTQQRqr+DQ==","shasum":"51937d931442fe1c600df110b1dbe2d96444b99d","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.2-rc4.tgz","fileCount":12,"unpackedSize":19757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeUqjCRA9TVsSAnZWagAAtmwP/3R70VRZBRgP1FlIYMFl\nN60C/IWdFcNSjO2XK8cTxd99PdABr272yEbYKFxdc6IhJz314OyQh4QTTKHp\nSfvlmy4/BPETAoYH5DNA5qSoegSxIR6/LyHAamMp/qs0wd31d1wzU66pAdrF\nsl0Nq5n9fuXoQy6t4RjC7uOjKPMWhdYHnxd//EZjIvLJEYWblc/4++m8G/MY\n1AxStIZtuMr9X4rK8f6wv08Za6kxPl6E7N7xqE5mv11Xfogf0b50WhBLYjvt\nWJtlgoletguY/kPMOeaild/KLJxMzq/SSCFF9PzqrMz38S0M/ZOdJ+EoE4ZY\nWDCHspzOySu/mlKnNaFR5vCa/Pma+WeSb427X99ih7ds/FLkssPmtrULCPAq\nrxCPcV7ScIJAePfr8RCzzeIoj3RKZtgMJYJqZTY/x4Bx0VTlsj4lUpkPZpf5\npjh0uQjkYMVHFGJifMfB1/YcCRzwf8S7W83vRNbj9OlV/+za9hdFqV9FFFg7\nBDtZ1BfTq6i6B0TDei9Q56PCSLqnL7br7HvGGIPUqc9sW3AK55cFqmw0s3gd\nu67ZgYVmbLR7vmoFKHzTU54xH67YO/0dIsrB6KHRImSvU7i7+CTLNCeJF8PB\nR0ZyMkosDsQOnQoo3Oxiujg5cLSuvWLgrPIqMHwxIcrMLJsKo4STkj85a5CY\np+6I\r\n=0HZG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANpMTQL+m+ZydXK7yMbmYHe1HGfUkhPXN+G9FQ8PbFgAiEAqBS0IulFOYkH5mZvymsF9fq/pTTza8EYDd/7zBZLX6M="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.2-rc4_1568230050832_0.5483744807934992"},"_hasShrinkwrap":false},"1.1.2-rc5":{"name":"redux-root-saga","version":"1.1.2-rc5","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:ci":"yarn lint --format junit --output-file ./reports/junit/ts-lint-results.xml","lint:fix":"yarn lint --fix","release":"node scripts/push-release.js","test":"jest","test:ci":"CI=true JEST_JUNIT_OUTPUT_DIR=./reports/junit JEST_JUNIT_OUTPUT_NAME=ts-test-results.xml yarn test:coverage --runInBand --reporters=\"default\" --reporters=\"jest-junit\"","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.1.0","@typescript-eslint/parser":"^2.1.0","dot-json":"^1.1.0","eslint":"^6.3.0","eslint-config-prettier":"^6.2.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-junit":"^8.0.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","nodegit":"^0.25.1","prettier":"^1.18.2","redux-saga":"*","redux-saga-test-plan":"^4.0.0-rc.1","shelljs":"^0.8.3","ts-jest":"^24.0.2","typescript":"^3.6.2"},"peerDependencies":{"redux-saga":"*"},"readme":"<img src=\"./logo_wide_slim.png\" alt=\"Redux Root Saga Logo\" />\n\n# Redux Root Saga\n\n[![license](https://img.shields.io/npm/l/redux-root-saga)](https://github.com/MichaelHettmer/redux-root-saga/blob/master/LICENSE.md)\n[![circleci](https://circleci.com/gh/MichaelHettmer/redux-root-saga.svg?style=shield)](https://circleci.com/gh/MichaelHettmer/redux-root-saga)\n[![codecov](https://codecov.io/gh/MichaelHettmer/redux-root-saga/branch/master/graph/badge.svg)](https://codecov.io/gh/MichaelHettmer/redux-root-saga)\n[![npm version](https://img.shields.io/npm/v/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![npm downloads](https://img.shields.io/npm/dw/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![pull requests](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/MichaelHettmer/redux-root-saga/compare)\n[![discord](https://img.shields.io/discord/620938362379042837)](https://discord.gg/R2jNASR)\n[![twitter](https://img.shields.io/twitter/follow/MichaelHettmer.svg?label=Follow%20@MichaelHettmer)](https://twitter.com/intent/follow?screen_name=MichaelHettmer)\n\n## Configurable redux-saga execution management\n\nRedux Root Saga provides an easy way to quickly run multiple sagas concurrently in a tested and widely used way.\n\nThis package is based on the root saga pattern from the [official documentation](https://redux-saga.js.org/docs/advanced/RootSaga.html) and therefore an easy way to get the described behavior without copy-pasting it into every new project.\n\nAdditionally the root saga behavior was extended by the following fully configurable and optional features (more to come):\n\n* Strictly typed and fully Typescript compatible\n* Maximum retry count for restarting child sagas\n* Default error handling with a warning message including the saga name\n* Custom error handling callback\n\n## Getting started\n\n### Install\n\n#### Latest stable release\n\n``` sh\nnpm install --save redux-root-saga\n```\n\nor\n\n``` sh\nyarn add redux-root-saga\n```\n\n#### Latest Release Candidate\n\n``` sh\nnpm install --save redux-root-saga@next\n```\n\nor\n\n``` sh\nyarn add redux-root-saga@next\n```\n\n### Usage Example\n\n``` typescript\nimport { createStore, applyMiddleware } from 'redux';\nimport createSagaMiddleware from '@redux-saga/core';\nimport createRootSaga from 'redux-root-saga';\n\nfunction* saga1() {\n    /*...*/\n}\nfunction* saga2() {\n    /*...*/\n}\n\n// Option 1: Execute all specified sagas concurrently with default options.\nconst rootSaga = createRootSaga([saga1, saga2]);\n\n// Option 2: Start all sagas with (partly) customized default options.\nconst rootSaga = createRootSaga([saga1, saga2], {\n    maxRetries: 3,\n    errorHandler: (error, saga, options) => console.err(\n        `Error in saga ${saga.name} with options ${options}: ${error}`);\n});\n\n// Option 3: Start all sagas with (partly) customized default options\n// and use specific custom options only for saga1.\n// All other options of saga1 fallback to the (customized) default ones.\nconst rootSaga = createRootSaga([[saga1, { maxRetries: Infinity }], saga2], {\n    maxRetries: 3,\n    onError: (error, saga, options) => console.error(\n        `Error in saga ${saga.name} with options ${options}: ${error}`),\n});\n\nconst sagaMiddleware = createSagaMiddleware();\nconst store = createStore(reducer, applyMiddleware(sagaMiddleware));\nsagaMiddleware.run(rootSaga);\n```\n","readmeFilename":"README.md","_id":"redux-root-saga@1.1.2-rc5","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-+r2F5N6XDD4dn3VY7CMLAV55odh6tQtKq38kbLd2XaTcsRjZEjG6NZAvtGdfHeD/hwGHcGGNljMO5oPJLTIxCA==","shasum":"c87fe5ae8e1a8a65e3af42b37e91e0315d9c3e42","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.2-rc5.tgz","fileCount":12,"unpackedSize":19757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeUvECRA9TVsSAnZWagAAuOUP/jTF4SzsmsfOyM2Dhfb0\nNrtuclntWgg2rTMqkAcqdJNNxgcuLUSHw3vCH+wfC3Eu7P6QyKnQ8r2tH9uM\n0day6t/5BN3JRvzgIgVVpsa6wS8Q0TfwAmExIKZTBeVc60I+LUBRinq2HyOe\n52xNCLiRNffQwxV9Qz5OXae4zgILb1qungEI3NO+jAXv/wcUiSM0tdPI9Sct\n8iH1L1WFM2ayHK4TM4nNX7p8qn6TTEaEFwHB3RrSV4hNIOSyn/tZuPlFRvut\n4i5/bT3IHU6jUypow50ZAEeN2ueLjEdfRW91xLGV62qL/YgrB3arL6ZhNkz7\nZf5SS+R227CJEAB3Xb4KT4ro7kt5lDP3apk+u77pqBPEPI9eazZN+qOIl3aP\n4muwbVCHIt7hentnZ8I0+YHWIFrtKHDCo+S+mJmH7Wot+59p399fufrgsATi\noEcPzuFLU09YFIpM+HF4dSq/bxWG3hHAabj9WwmTOxIru6nel9T4HXy/SpyO\naAk7vbVZlEyKwvv+7e5B0BgcqGLILcEquC7/3pKSvcKubhzQxngHopIK78Zy\nDmi+2EJfRc1A03Xv3lCecDxsIlLGMBZIAU3x42hMBgtXTE+0VeXL2TTa+lS3\n5KGiTCSH6HdroLqo50+u9CeyR9QFPMx6Of4I4byTxov96i9+cGkl3Yc6wRCR\nlXi7\r\n=M1cf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSxthp971JS1pYpDFv25JWxQIjGUmFOpiWZvGTh3NllAiBvUK8DH23+4tHuiTrvoBGqSyOqjlPwEMJRwEHHok8pTQ=="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.2-rc5_1568230340317_0.5007326888122523"},"_hasShrinkwrap":false},"1.1.2":{"name":"redux-root-saga","version":"1.1.2","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:ci":"yarn lint --format junit --output-file ./reports/junit/ts-lint-results.xml","lint:fix":"yarn lint --fix","release":"node scripts/push-release.js","test":"jest","test:ci":"CI=true JEST_JUNIT_OUTPUT_DIR=./reports/junit JEST_JUNIT_OUTPUT_NAME=ts-test-results.xml yarn test:coverage --runInBand --reporters=\"default\" --reporters=\"jest-junit\"","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.1.0","@typescript-eslint/parser":"^2.1.0","dot-json":"^1.1.0","eslint":"^6.3.0","eslint-config-prettier":"^6.2.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-junit":"^8.0.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","nodegit":"^0.25.1","prettier":"^1.18.2","redux-saga":"*","redux-saga-test-plan":"^4.0.0-rc.1","shelljs":"^0.8.3","ts-jest":"^24.0.2","typescript":"^3.6.2"},"peerDependencies":{"redux-saga":"*"},"_id":"redux-root-saga@1.1.2","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-ic5R1pwxibK6xz7Ch7hezbOqAeSiJEo7wjCZP+EgEDq4lvtpmprfA5qv/AI1ZfxSNvWfpSK15PspuLfPDG7h9A==","shasum":"06e908e75bbb34239236aa5d36eca620d644039f","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.2.tgz","fileCount":12,"unpackedSize":19753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeUygCRA9TVsSAnZWagAA+/wQAJuhYmuwHf7bwGGmWkiK\nEA1HOFKoMIFsMds0eWWBgvNXCztOvvJ88hWmVXOGey2pdBvaWfQO66z6Yz6e\nfgKKiBjfAiXF7pl9FG8sIzWEKtzGnhgIkNbyb+zb+Lxzl0gJmyQCp4i6TjUB\nzT79DTCqK3H6gPQoN6HPFlnTahHSrDMzm8xxbUrd2jM1vChcgsxqYmWakOBN\nVuczOei18M5m+8gYv/bjbwMYz/DbiT3TPxcgKFUVjv87HWpoLaCfT5kxu07n\nke6J4XVGOZ3wjUelUCYIl5p8AKTZmpBhCUDgfLyzbOQvE+ZCv1I6JZJcMddA\nqNZRJS2js8qNvNb3jVjPPdJjY1/BUdCT9MQtZJ9ocDeKrTPdWUDe+Pt4K47P\n2uEfoDHKPbs7O8VQ73XLqXKGYAnQi9nRN6L0bXt6wqB9DjqpfbhR9jD+Egqs\n25gB7nbQTPfT3occxXZYXjXhFmBM/ZandDbN7PMJuN+DQQ+8gdtugYT56AQO\nKLE8SekpjmvRpFZgGnWrZlQMes7A9WsCvH2IwxNjfjWc7aS504qtrbb22tgh\neKsP9czlwaAFfbO8WWBSCOPbGip324Br6NqB6O9JQHmwUUcOcgAJ85SipzZK\nikOKoiI3wTngRSwYuMDUPQ5KAF0nYRTzgorIXhjNJGc8Aki8NSER2VJks7OC\n8yYx\r\n=IXj/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGr+hHlKFSpZlDYazCoXOyEm4HXYiS4QKxs3pMnqzEeGAiA76K3E6JjZ4iqI6Z03Tbo8xnZuQ+8Sd++hNaZJOEt2DQ=="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.2_1568230559594_0.25074318902142667"},"_hasShrinkwrap":false},"1.1.3-rc1":{"name":"redux-root-saga","version":"1.1.3-rc1","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:ci":"yarn lint --format junit --output-file ./reports/eslint/results.xml","lint:fix":"yarn lint --fix","release":"node scripts/push-release.js","test":"jest","test:ci":"CI=true JEST_JUNIT_OUTPUT_DIR=./reports/jest JEST_JUNIT_OUTPUT_NAME=results.xml yarn test:coverage --runInBand --reporters=\"default\" --reporters=\"jest-junit\"","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.3.0","@typescript-eslint/parser":"^2.3.0","dot-json":"^1.1.0","eslint":"^6.4.0","eslint-config-prettier":"^6.3.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-junit":"^8.0.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","nodegit":"^0.26.1","prettier":"^1.18.2","redux-saga":"1.1.1","redux-saga-test-plan":"^4.0.0-rc.1","shelljs":"^0.8.3","ts-jest":"^24.1.0","typescript":"^3.6.3"},"peerDependencies":{"redux-saga":">=1.0.5"},"readme":"<img src=\"./logo_wide_slim.png\" alt=\"Redux Root Saga Logo\" />\n\n# Redux Root Saga\n\n[![license](https://img.shields.io/npm/l/redux-root-saga)](https://github.com/MichaelHettmer/redux-root-saga/blob/master/LICENSE.md)\n[![circleci](https://circleci.com/gh/MichaelHettmer/redux-root-saga.svg?style=shield)](https://circleci.com/gh/MichaelHettmer/redux-root-saga)\n[![codecov](https://codecov.io/gh/MichaelHettmer/redux-root-saga/branch/master/graph/badge.svg)](https://codecov.io/gh/MichaelHettmer/redux-root-saga)\n[![Greenkeeper badge](https://badges.greenkeeper.io/MichaelHettmer/redux-root-saga.svg)](https://greenkeeper.io/)\n[![npm version](https://img.shields.io/npm/v/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![npm downloads](https://img.shields.io/npm/dw/redux-root-saga)](https://www.npmjs.com/package/redux-root-saga)\n[![pull requests](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/MichaelHettmer/redux-root-saga/compare)\n[![discord](https://img.shields.io/discord/620938362379042837)](https://discord.gg/R2jNASR)\n[![twitter](https://img.shields.io/twitter/follow/MichaelHettmer.svg?label=Follow%20@MichaelHettmer)](https://twitter.com/intent/follow?screen_name=MichaelHettmer)\n\n## Configurable redux-saga execution management\n\nRedux Root Saga provides an easy way to quickly run multiple sagas concurrently in a tested and widely used way.\n\nThis package is based on the root saga pattern from the [official documentation](https://redux-saga.js.org/docs/advanced/RootSaga.html) and therefore an easy way to get the described behavior without copy-pasting it into every new project.\n\nAdditionally the root saga behavior was extended by the following fully configurable and optional features (more to come):\n\n* Strictly typed and fully Typescript compatible\n* Maximum retry count for restarting child sagas\n* Default error handling with a warning message including the saga name\n* Custom error handling callback\n\n## Getting started\n\n### Install\n\n#### Latest stable release\n\n``` sh\nnpm install --save redux-root-saga\n```\n\nor\n\n``` sh\nyarn add redux-root-saga\n```\n\n#### Latest Release Candidate\n\n``` sh\nnpm install --save redux-root-saga@next\n```\n\nor\n\n``` sh\nyarn add redux-root-saga@next\n```\n\n### Usage Example\n\n``` typescript\nimport { createStore, applyMiddleware } from 'redux';\nimport createSagaMiddleware from '@redux-saga/core';\nimport createRootSaga from 'redux-root-saga';\n\nfunction* saga1() {\n    /*...*/\n}\nfunction* saga2() {\n    /*...*/\n}\n\n// Option 1: Execute all specified sagas concurrently with default options.\nconst rootSaga = createRootSaga([saga1, saga2]);\n\n// Option 2: Start all sagas with (partly) customized default options.\nconst rootSaga = createRootSaga([saga1, saga2], {\n    maxRetries: 3,\n    errorHandler: (error, saga, options) => console.err(\n        `Error in saga ${saga.name} with options ${options}: ${error}`);\n});\n\n// Option 3: Start all sagas with (partly) customized default options\n// and use specific custom options only for saga1.\n// All other options of saga1 fallback to the (customized) default ones.\nconst rootSaga = createRootSaga([[saga1, { maxRetries: Infinity }], saga2], {\n    maxRetries: 3,\n    onError: (error, saga, options) => console.error(\n        `Error in saga ${saga.name} with options ${options}: ${error}`),\n});\n\nconst sagaMiddleware = createSagaMiddleware();\nconst store = createStore(reducer, applyMiddleware(sagaMiddleware));\nsagaMiddleware.run(rootSaga);\n```\n","readmeFilename":"README.md","_id":"redux-root-saga@1.1.3-rc1","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-WIPaudVqqNzwkgQ+67ScZ+5J0VSH6kPZhpdc1vrZreOY6vdTrESSa3TIbF0x5EeSzCjwYqvp0iZSJlwBqJcePA==","shasum":"e9157d0004cf710560aec630a7bfcca01d18c362","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.3-rc1.tgz","fileCount":9,"unpackedSize":13411,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgTI8CRA9TVsSAnZWagAATToQAIYc7F4DC0MqULyuiiqU\nXjdtdR4uTF2NMs07rrAOtPJG/YqDlU5ObA8q7itXkMEDmA7f38j11pbYQBLL\n7Cr1YK26L2UxlAecfB7KYtTu1u5tIbXo1VJYOiOuRh4uxsykrGtRBE3Fa+PD\nNSIWzMHCMo29sZrbE0IbDKsG5oRxtCPyQ5bQIfljwrK9KfqUSrUz46FwCXzW\n975HDoKRfurWbKoZF/SAH9MOkjZOOJ9rfFHfN7CuuZgf61YQIoDqY6B/gedY\nDqqpsQyMo3S112pOVyi7hTlUekdfZiqnAdRwzg/91OQ5UdoPNXVNvtdtU3PT\nEIiwWbBerNrScKn9H0HVVHADkrnZxlNuV5dK1QIQl+B9rkHTf2Y40nav7vGm\n3ItkcCgLgoGhXuDNPCCXNb5zBFaoBeHtu32+57VxUFzyUC+Hg1mb1L0hvs6d\n9zxAs+FQApOemIx0j17hbFC4h8olK7Grrv56xBrl5JCEPFpW2lZTj1L/9nlk\njWkL8/sfZd7iiqtkZsqS8j7C2Ch2tWDehV7UGipdWMPhIK0SVhyDpS/0QvTM\nNQAZ8hN64nefqbJE/PS4k2rbwl7Nj94VWVIO4kXtjoWYrJRG11qS9jDjRyaE\nmI2ZgbLwSqySWKX/mG7HumVWibWxoguIiQDwPrz0letOFj4Lv8w0UZlXig70\npW87\r\n=BcHB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi7gbPMklKWDxb6/nEj0DC3kIFrFWJaIfDMjl27CJbmQIhAIruGhUOrbjehmp31ap+zYvEtcJWDDUB0AlewehAtQtX"}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.3-rc1_1568748091498_0.43796274093026666"},"_hasShrinkwrap":false},"1.1.3":{"name":"redux-root-saga","version":"1.1.3","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:ci":"yarn lint --format junit --output-file ./reports/eslint/results.xml","lint:fix":"yarn lint --fix","release":"node scripts/push-release.js","test":"jest","test:ci":"CI=true JEST_JUNIT_OUTPUT_DIR=./reports/jest JEST_JUNIT_OUTPUT_NAME=results.xml yarn test:coverage --runInBand --reporters=\"default\" --reporters=\"jest-junit\"","test:coverage":"yarn test --coverage --watchAll=false"},"dependencies":{},"devDependencies":{"@types/jest":"^24.0.18","@typescript-eslint/eslint-plugin":"^2.3.0","@typescript-eslint/parser":"^2.3.0","dot-json":"^1.1.0","eslint":"^6.4.0","eslint-config-prettier":"^6.3.0","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^3.1.0","husky":"^3.0.5","jest":"^24.9.0","jest-junit":"^8.0.0","jest-mock-console":"^1.0.0","lint-staged":"^9.2.5","nodegit":"^0.26.1","prettier":"^1.18.2","redux-saga":"1.1.1","redux-saga-test-plan":"^4.0.0-rc.1","shelljs":"^0.8.3","ts-jest":"^24.1.0","typescript":"^3.6.3"},"peerDependencies":{"redux-saga":">=1.0.5"},"_id":"redux-root-saga@1.1.3","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-V+Wfs9YNww3+WcTL3VlD59hq91KoqyLTX2jApQlhXxOfr2BW6A/j+4MnJ2Tfmhupm3WqQJrBTggZ3q4kCeVs3Q==","shasum":"e0c3d44ce4f4d1bbaf55b6defcf1cc8e878684c2","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.3.tgz","fileCount":9,"unpackedSize":13407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgTPtCRA9TVsSAnZWagAAmggP/j1tZe9470P9MdrQQcQx\nyTEnoqzsK/3Lh2SeRfV++X2Sh5DS6KuzJdBQSSUrolWpDewv/bfvAUpb2DzL\n7Pq91PQHSvtYXuhQJWIPwblU0Yj2aEG9uL7GsCjVvZVDtQVsyUUA2KBFXrQM\n65B4l9HX1uaztx+8Xt8eabtt0QOW3y8gUHGyk3HuABCBMhsyTveShtCvtgst\n77zjh7bwFBDpx7CYVs+WVr2PDGWV0bnXk6f+Zx5oXJTHup9+GgY/95idIXBX\nKGuV75UnzqwFZLsrp4eYf/PyGnSkO3KSDjK/g0zXeL/4S1GikhCRzZiLGRTq\nAcJbXCLUnLoFkrEu/5XMuS85fY96yVE98rFdeB3QyiAGoged8ojZ6UBWdAHT\nZILuE4RC9/2pulZMxU5sLGtLR94l6ta7ECWE6SirQsiK3Dvj+SOYvakdP/+1\nzRUNgJO/xK9uE6TgsKFpctLhTNd8uHR7C1ULe0wi8vTn2aw+jKpKOqSrmjOp\nBaKHIRTMFsC5EGApF+3r+uwA2o26LkzT81oa+DFL1FI3cnbEy0nHTssscuPW\nSqRUMrQrgq6YrEaBthdcSb/GtjAAlxG4db3tN/M7Al/YKjD0GNpSeyOsFo6E\nw/j/UnF9csGeTgljrGYb2+mjYZdQWF0t4xQyvRxrT3NIOuJhsvCh0qwPa0/V\nqThr\r\n=4VtV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmuJSTiDRviBFDBSqWKlznBGgylbyKM7e1bKjBD+EpeAIhAOZICJirByu3eAvqeclU4hTdZUHWXWAD7hRVEic3xb3X"}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.3_1568748524725_0.439407210319092"},"_hasShrinkwrap":false},"1.1.4":{"name":"redux-root-saga","version":"1.1.4","description":"Easy and configurable redux-saga execution management.","keywords":["nodejs","redux","redux-saga","typescript"],"homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"license":"MIT","author":{"name":"Michael Hettmer"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","commitlint":"commitlint","commitlint:ci":"commitlint-circle","lint":"eslint . --ext '.js,.jsx,.ts,.tsx,.json,.jsonc'","lint:ci":"npm run lint -- --format junit --output-file ./reports/eslint/results.xml","lint:circleci":"docker run -w /data --rm -v $(pwd):/data circleci/circleci-cli:0.1.6949-alpine config validate","lint:fix":"npm run lint -- --fix","test":"jest","test:ci":"CI=true JEST_JUNIT_OUTPUT_DIR=./reports/jest JEST_JUNIT_OUTPUT_NAME=results.xml npm run test:coverage --runInBand --reporters=\"default\" --reporters=\"jest-junit\"","test:coverage":"npm run test -- --coverage --watchAll=false","validate":"npm-run-all lint test build"},"dependencies":{},"devDependencies":{"@commitlint/cli":"8.3.5","@commitlint/config-conventional":"8.3.4","@semantic-release/changelog":"5.0.1","@semantic-release/git":"9.0.0","@testing-library/react-hooks":"3.2.1","@types/jest":"25.2.1","@types/react":"16.9.34","@typescript-eslint/eslint-plugin":"2.28.0","@typescript-eslint/parser":"2.28.0","chokidar-cli":"2.1.0","commitlint-circle":"1.0.0","dot-json":"1.2.0","eslint":"6.8.0","eslint-config-prettier":"6.10.1","eslint-plugin-json":"2.1.1","eslint-plugin-json-format":"2.0.1","eslint-plugin-prettier":"3.1.3","eslint-plugin-react-hooks":"3.0.0","husky":"4.2.5","jest":"25.3.0","jest-junit":"10.0.0","jest-mock-console":"1.0.0","lint-staged":"10.1.3","nodegit":"0.26.5","npm-run-all":"4.1.5","prettier":"2.0.4","react":"16.13.1","react-test-renderer":"16.13.1","redux-saga":"1.1.3","redux-saga-test-plan":"4.0.0-rc.3","semantic-release":"17.0.4","shelljs":"0.8.3","ts-jest":"25.3.1","typescript":"3.8.3"},"peerDependencies":{"redux-saga":">=1.0.5"},"engines":{"node":">=8.0.0"},"gitHead":"fe0dbf2361c1998e553c2a3e2fb604d5527c5494","_id":"redux-root-saga@1.1.4","_nodeVersion":"12.16.2","_npmVersion":"6.14.2","dist":{"integrity":"sha512-1cj7DzE1nM3ZLwzMzlI8U9Y9MpzIIUt2miZHbxJrT9ehaZyx2zddfNcoCA9Jc0FC8YSL9rF9cGsSZY//4ed+4Q==","shasum":"26980e5b9e0f32c9aedc06b9262c31605242606a","tarball":"https://registry.npmjs.org/redux-root-saga/-/redux-root-saga-1.1.4.tgz","fileCount":11,"unpackedSize":22145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemLsRCRA9TVsSAnZWagAAUVkP+QH0krfG07JWPCE9MtJd\nl2dltfemGuIKjnBvI1VmdL0HYrNX4Y0uOf8Xz16D1BmnzStCqtNq7COyULCp\nKmexQnDadNEaoiUdpquvN7OkP1TDPPUWNTsJy50fi1gQ/nv+SSJAZcD4tnmk\nFrcb57i3YXAKQLwKRLK7W3IlXu5T5EOXrapEBVnWZAQhZSopwrbBdY+67gf0\nCLP29YKk/Vr3UhXUdsdWhOfFhKA86jdaAQB2185nz5UD1Jrgd83Esk2DRW7A\nLy1lhtWXicVjUruwpCc5xsyRs97jkPpA5J0t5XYC/TeMQBWGPrK/F8UAWqmt\nPcD3hWtRE5fByHCsrbWvK1BcGntehXVKCnWdlDc+dxkd9L1SMAcn0sH9nKka\nhU3+kH7EuB5ru5SAtulDnY/7UNXHfi8jA5PrzhOT/js+Xc8KYHwiapuCLHRu\niWUKh/LearNNUyqffg6bCHq4MFKX37HY/XnpRs/n1jn0g/yJTMwCPrOKdoLI\nLE6FsXxE+XTQDrBDAQdUbrSYeG1Zq38uEKstXjTCFcSlqYzqzqgqaBOKJRXn\n98e8eBoHPWp5DMJ2velPMHfI6dWVgeGrZy6FuG9Zoz7KsdO6SH7sIfkCuYr1\nf/6izZ8z85+UaovOCCry9A5BgA8J7TaEr4JR7f//5aV4nM4d1YVpWaNs/Hmj\nRacP\r\n=NjBU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBZXvHIaqCRxBK31Uq5llKmZriqRtXkXRDnnrfw4E1RrAiASsjGBVlyjb9ltg4uPJchSmGMhe5NkAgjemrqKj0BGKg=="}]},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"_npmUser":{"name":"michaelhettmer","email":"mail@michael-hettmer.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-root-saga_1.1.4_1587067664600_0.3310069846251096"},"_hasShrinkwrap":false}},"time":{"created":"2019-09-08T22:03:25.786Z","1.0.0":"2019-09-08T22:03:25.895Z","modified":"2022-05-15T15:55:32.499Z","1.1.0":"2019-09-10T23:20:38.122Z","1.1.1":"2019-09-10T23:26:20.389Z","1.1.2-rc2":"2019-09-11T19:03:56.844Z","1.1.2-rc3":"2019-09-11T19:15:22.013Z","1.1.2-rc4":"2019-09-11T19:27:31.045Z","1.1.2-rc5":"2019-09-11T19:32:20.437Z","1.1.2":"2019-09-11T19:35:59.708Z","1.1.3-rc1":"2019-09-17T19:21:31.699Z","1.1.3":"2019-09-17T19:28:44.885Z","1.1.4":"2020-04-16T20:07:44.698Z"},"maintainers":[{"name":"michaelhettmer","email":"mail@michael-hettmer.de"}],"description":"Easy and configurable redux-saga execution management.","homepage":"https://github.com/MichaelHettmer/redux-root-saga#readme","keywords":["nodejs","redux","redux-saga","typescript"],"repository":{"type":"git","url":"git+https://github.com/MichaelHettmer/redux-root-saga.git"},"author":{"name":"Michael Hettmer"},"bugs":{"url":"https://github.com/MichaelHettmer/redux-root-saga/issues"},"license":"MIT","readme":"<div align=\"center\">\n<img src=\"./logo_wide_slim.png\" alt=\"React Hooks Use Previous Logo\" />\n\n<h1>redux-root-saga</h1>\n\n<p>Strongly typed and well tested React Hooks to store and retrieve previous values from any component property.</p>\n</div>\n\n---\n\n[![Build Status][build-badge]][build]\n[![Code Coverage][coverage-badge]][coverage]\n[![Version][version-badge]][package]\n[![Downloads][downloads-badge]][npmtrends]\n[![MIT License][license-badge]][license]\n[![Semantic Release][release-badge]][release]\n[![Conventional Commits][commits-badge]][commits]\n[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg)](#contributors-)\n[![PRs Welcome][prs-badge]][prs]\n[![Code of Conduct][coc-badge]][coc]\n[![Discord][discord-badge]][discord]\n[![Twitter][twitter-badge]][twitter]\n\n## About\n\nRedux Root Saga provides an easy way to quickly run multiple sagas concurrently in a tested and widely used way.\n\nThis package is originally based on the root saga pattern from the [official documentation](https://redux-saga.js.org/docs/advanced/RootSaga.html) and therefore an easy way to get the described behavior without copy-pasting it into every new project.\n\nSee [#-features] for an overview of all available options and the extended functionality.\n\n## Table of Contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [⚙️ Installation](#️-installation)\n- [⚡️ Getting Started](#️-getting-started)\n- [🎯 Features](#-features)\n- [Other Solutions](#other-solutions)\n- [Issues](#issues)\n  - [🐛 Bugs](#-bugs)\n  - [💡 Feature Requests](#-feature-requests)\n- [Contributors ✨](#contributors-)\n- [LICENSE](#license)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## ⚙️ Installation\n\n### Latest stable release\n\n```sh\nnpm install --save redux-root-saga\n```\n\nor\n\n```sh\nyarn add redux-root-saga\n```\n\n### Latest Release Candidate\n\n```sh\nnpm install --save redux-root-saga@next\n```\n\nor\n\n```sh\nyarn add redux-root-saga@next\n```\n\n## ⚡️ Getting Started\n\n``` typescript\nimport { createStore, applyMiddleware } from 'redux';\nimport createSagaMiddleware from '@redux-saga/core';\nimport createRootSaga from 'redux-root-saga';\n\nfunction* saga1() {\n    /*...*/\n}\nfunction* saga2() {\n    /*...*/\n}\n\n// Option 1: Execute all specified sagas concurrently with default options.\nconst rootSaga = createRootSaga([saga1, saga2]);\n\n// Option 2: Start all sagas with (partly) customized default options.\nconst rootSaga = createRootSaga([saga1, saga2], {\n    maxRetries: 3,\n    errorHandler: (error, saga, options) => console.err(\n        `Error in saga ${saga.name} with options ${options}: ${error}`);\n});\n\n// Option 3: Start all sagas with (partly) customized default options\n// and use specific custom options only for saga1.\n// All other options of saga1 fallback to the (customized) default ones.\nconst rootSaga = createRootSaga([[saga1, { maxRetries: Infinity }], saga2], {\n    maxRetries: 3,\n    onError: (error, saga, options) => console.error(\n        `Error in saga ${saga.name} with options ${options}: ${error}`),\n});\n\nconst sagaMiddleware = createSagaMiddleware();\nconst store = createStore(reducer, applyMiddleware(sagaMiddleware));\nsagaMiddleware.run(rootSaga);\n```\n\n## 🎯 Features\n\n* Strictly typed and fully Typescript compatible\n* Maximum retry count for restarting child sagas\n* Default error handling with a warning message including the saga name\n* Custom error handling callback\n\n## Other Solutions\n\nI'm not aware of any, if you are please [make a pull request][prs] and add it here!\n\n## Issues\n\n_Looking to contribute? Look for the [Good First Issue][good-first-issue]\nlabel._\n\n### 🐛 Bugs\n\nPlease file an issue for bugs, missing documentation, or unexpected behavior.\n\n[**See Bugs**][bugs]\n\n### 💡 Feature Requests\n\nPlease file an issue to suggest new features. Vote on feature requests by adding\na 👍. This helps maintainers prioritize what to work on.\n\n[**See Feature Requests**][requests]\n\n## Contributors ✨\n\nThanks goes to these people ([emoji key][emojis]):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"https://michael-hettmer.de\"><img src=\"https://avatars0.githubusercontent.com/u/13876624?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Michael Hettmer</b></sub></a><br /><a href=\"https://github.com/MichaelHettmer/redux-root-saga/commits?author=MichaelHettmer\" title=\"Code\">💻</a> <a href=\"https://github.com/MichaelHettmer/redux-root-saga/commits?author=MichaelHettmer\" title=\"Documentation\">📖</a> <a href=\"#infra-MichaelHettmer\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"https://github.com/MichaelHettmer/redux-root-saga/commits?author=MichaelHettmer\" title=\"Tests\">⚠️</a></td>\n  </tr>\n</table>\n\n<!-- markdownlint-enable -->\n<!-- prettier-ignore-end -->\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors][all-contributors] specification.\nContributions of any kind welcome!\n\n## LICENSE\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n<!-- prettier-ignore-start -->\n[npm]: https://www.npmjs.com\n[node]: https://nodejs.org\n[build-badge]: https://circleci.com/gh/MichaelHettmer/redux-root-saga/tree/master.svg?style=shield\n[build]: https://circleci.com/gh/MichaelHettmer/redux-root-saga\n[coverage-badge]: https://codecov.io/gh/MichaelHettmer/redux-root-saga/branch/master/graph/badge.svg\n[coverage]: https://codecov.io/gh/MichaelHettmer/redux-root-saga\n[version-badge]: https://img.shields.io/npm/v/redux-root-saga.svg\n[package]: https://www.npmjs.com/package/redux-root-saga\n[downloads-badge]: https://img.shields.io/npm/dm/redux-root-saga.svg\n[npmtrends]: http://www.npmtrends.com/redux-root-saga\n[license-badge]: https://img.shields.io/npm/l/redux-root-saga.svg\n[license]: https://github.com/MichaelHettmer/redux-root-saga/blob/master/LICENSE\n[release-badge]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[release]: https://github.com/semantic-release/semantic-release\n[commits-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg\n[commits]: https://conventionalcommits.org\n[twitter-badge]: https://img.shields.io/twitter/follow/MichaelHettmer.svg?label=Follow%20@MichaelHettmer\n[twitter]: https://twitter.com/intent/follow?screen_name=MichaelHettmer\n[discord-badge]: https://img.shields.io/discord/620938362379042837\n[discord]: https://discord.gg/MEpKcF3\n[prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg\n[prs]: http://makeapullrequest.com\n[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg\n[coc]: https://github.com/MichaelHettmer/redux-root-saga/blob/master/CODE_OF_CONDUCT.md\n[emojis]: https://github.com/all-contributors/all-contributors#emoji-key\n[all-contributors]: https://github.com/all-contributors/all-contributors\n[bugs]: https://github.com/MichaelHettmer/redux-root-saga/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Acreated-desc+label%3Abug\n[requests]: https://github.com/MichaelHettmer/redux-root-saga/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement\n[good-first-issue]: https://github.com/MichaelHettmer/redux-root-saga/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement+label%3A%22good+first+issue%22\n<!-- prettier-ignore-end -->","readmeFilename":"README.md"}