{"adoption": {"forks": 32, "observed_at": "2026-08-28T04:03:19.347929+00:00", "stars": 1036}, "canonical_url": "https://ross.abutalabs.com/products/redux-batched-actions", "card": {"archived": false, "artifact_type": "library", "description": "redux higher order reducer + action to reduce actions under a single subscriber notification", "domain": ["frontend", "web-development", "developer-tools"], "enriched": true, "function": ["state-management", "middleware"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["tshelburne/redux-batched-actions"], "name": "tshelburne/redux-batched-actions", "platform": ["browser", "cross-platform"], "pushed_at": "2024-03-27T12:02:26+00:00", "repo": "tshelburne/redux-batched-actions", "stars": 1036, "tags": ["redux", "batching", "react", "action-creator", "higher-order-reducer", "nodejs"], "topics": [], "urls": [], "use_cases": ["batch multiple redux actions into one subscriber notification", "reduce performance overhead from many dispatches in react-redux apps", "combine loading and data actions from async thunks into one update", "dispatch several actions so middlewares still see each one", "group related state updates under a single combined action type"], "what_it_is": "A Redux utility providing a batching action creator and higher-order reducer that dispatches multiple actions while triggering only a single subscriber notification. It also includes optional middleware for dispatching bundled actions through other middlewares.", "when_to_avoid": ["you use Redux Toolkit, which already includes batched notifications via its listener middleware and auto-batching in React 18", "your app does not use Redux", "you need batching outside the Redux ecosystem"], "when_to_choose": ["you use Redux and notice excessive re-renders from rapid sequential dispatches", "you want async flows (e.g. thunks) to commit multiple state changes atomically for subscribers", "you need other middlewares to observe each bundled action while batching notifications"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/redux-batched-actions", "repo": "tshelburne/redux-batched-actions", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.347929+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:43.536969+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85d084fad126d4d06a213a1935a3e4c0d27c6e5ef32f8e5e0207191d3aed20b5", "fetched_at": "2026-08-28T04:03:19.347929+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tshelburne/redux-batched-actions"}, {"content_hash": "7d79d0105387ee63fe933865505fe693948f352577872f41c2440068e3ce9d2e", "fetched_at": "2026-08-29T13:05:30.363832+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/redux-batched-actions"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3971, "days_push": 889, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}