{"id":26208385,"url":"https://github.com/web-pacotes/reactor","last_synced_at":"2026-04-20T22:08:02.747Z","repository":{"id":230560051,"uuid":"779603441","full_name":"web-pacotes/reactor","owner":"web-pacotes","description":"Reactive state manager based on Flutter Bloc library","archived":false,"fork":false,"pushed_at":"2024-05-09T08:00:06.000Z","size":431,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-27T08:26:55.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/web-pacotes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-30T09:23:49.000Z","updated_at":"2024-04-02T22:41:51.000Z","dependencies_parsed_at":"2024-04-17T08:33:24.710Z","dependency_job_id":"26d0398c-a250-47dd-892d-3f5ede7a7925","html_url":"https://github.com/web-pacotes/reactor","commit_stats":null,"previous_names":["web-pacotes/reactor"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/web-pacotes/reactor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Freactor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Freactor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Freactor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Freactor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web-pacotes","download_url":"https://codeload.github.com/web-pacotes/reactor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Freactor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32067709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T21:26:33.338Z","status":"ssl_error","status_checked_at":"2026-04-20T21:26:22.081Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-12T06:28:37.901Z","updated_at":"2026-04-20T22:08:02.706Z","avatar_url":"https://github.com/web-pacotes.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# reactor\n\nReactive state manager based on Flutter Bloc library\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/web-pacotes/reactor/master/art/reactor-logo.webp\" alt=\"library logo\"/\u003e\n\u003c/p\u003e\n\n## What?\n\nFor the last couple of months I've been working on web frontend projects (primarily with Svelte),\nand been struggling to find a state manager that clearly separates domain/application logic of UI.\n\nOne of the solutions I've worked with in the past that achieves it is the [bloc library](https://bloclibrary.dev/). I\nreally like it for three main reasons:\n\n- it's declarative and reactive\n- provides a clean API\n- segregates UI actions and updates in two basic elements: events and state\n\nThe bloc library was developed for Flutter and it's internals, and not considering JS frameworks such as Svelte or\nReact. I couldn't find a complete port of the library, so I've decided to port in different frameworks that I work with,\nby maintaining the library API and goals, but stripping down everything that I feel is not needed.\n\nSince this library is a semi-port of the bloc library, it wouldn't be fair to maintain the original name (bloc). The\nname **reactor** is inspired by the library mechanics of reacting to events to mapping them as states to then reacting\nto each state on the UI.\n\n## How to use\n\nCurrently, the library is available on the following frameworks. For a quick-start on how to use each library, visit\ntheir `README.md`:\n\n- [Svelte](packages/reactor-svelte/README.md)\n\n---\n\n## Bugs and Contributions\n\nFound any bug (including typos) in the package? Do you have any suggestion\nor feature to include for future releases? Please create an issue via\nGitHub in order to track each contribution. Also, pull requests are very\nwelcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-pacotes%2Freactor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb-pacotes%2Freactor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-pacotes%2Freactor/lists"}