{"id":13679710,"url":"https://github.com/appbaseio/reactivecore","last_synced_at":"2025-06-26T01:05:32.053Z","repository":{"id":26895676,"uuid":"109999892","full_name":"appbaseio/reactivecore","owner":"appbaseio","description":"Core architecture of reactive UI libraries","archived":false,"fork":false,"pushed_at":"2025-03-03T16:53:16.000Z","size":996,"stargazers_count":33,"open_issues_count":8,"forks_count":28,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-10T00:43:38.097Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appbaseio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2017-11-08T16:18:54.000Z","updated_at":"2025-03-03T16:53:20.000Z","dependencies_parsed_at":"2023-09-23T09:44:49.024Z","dependency_job_id":"9a334375-7013-4490-b368-7f0d1bed9a16","html_url":"https://github.com/appbaseio/reactivecore","commit_stats":{"total_commits":791,"total_committers":22,"mean_commits":35.95454545454545,"dds":0.5967130214917826,"last_synced_commit":"3aa901ba04621ec995e1f9328c744fa735483d90"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/appbaseio/reactivecore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appbaseio%2Freactivecore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appbaseio%2Freactivecore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appbaseio%2Freactivecore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appbaseio%2Freactivecore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appbaseio","download_url":"https://codeload.github.com/appbaseio/reactivecore/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appbaseio%2Freactivecore/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259562627,"owners_count":22877051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-08-02T13:01:08.595Z","updated_at":"2025-06-26T01:05:32.016Z","avatar_url":"https://github.com/appbaseio.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# `reactivecore`\n\n[![npm version](https://badge.fury.io/js/%40appbaseio%2Freactivecore.svg)](https://badge.fury.io/js/%40appbaseio%2Freactivecore)\n\nThis is the platform agnostic core architecture of reactive UI libraries.\n\n## Installation\n\n```\nyarn add @appbaseio/reactivecore\n```\n\n\n## Usage and documentation\n\n### Create store:\n\n```\nimport configureStore from \"@appbaseio/reactivecore\";\n```\n\n\n### Supported actions:\n\nImport via:\n\n```\nimport { \u003cactionName\u003e } from \"@appbaseio/reactivecore/lib/actions\"\n```\n\n| Action\t\t\t\t\t| Usage\t\t\t\t\t\t\t\t\t\t\t\t\t|\n|---------------------------|:------------------------------------------------------|\n| `addComponent`\t\t\t| to register a component in the store\t\t\t\t\t|\n| `removeComponent`\t\t\t| to remove a component from the store\t\t\t\t\t|\n| `watchComponent`\t\t\t| to set up component subscription\t\t\t\t\t\t|\n| `setQuery`\t\t\t\t| to set the component query in the store\t\t\t\t|\n| `setQueryOptions`\t\t\t| to add external query options\t\t\t\t\t\t\t|\n| `logQuery`\t\t\t\t| Executed automatically to log query for gatekeeping\t|\n| `executeQuery`\t\t\t| Executed automatically (whenever necessary, based on the dependency tree) when the query of a component is updated|\n| `updateHits`\t\t\t\t| updates results from elasticsearch query\t\t\t\t|\n| `updateQuery`\t\t\t\t| to update the query in the store - called when a change is triggered in the component|\n| `loadMore`\t\t\t\t| for infinte loading and pagination\t\t\t\t\t|\n\n\n### Utility methods\n\nImport via:\n\n```\nimport { \u003cmethodName\u003e } from \"@appbaseio/reactivecore/lib/utils\"\n```\n\n| Method\t\t\t\t| Usage\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n|-----------------------|:----------------------------------------------------------|\n| `isEqual`\t\t\t\t| Compare two objects/arrays\t\t\t\t\t\t\t\t|\n| `debounce`\t\t\t| Standard debounce\t\t\t\t\t\t\t\t\t\t\t|\n| `getQueryOptions`\t\t| returns applied query options (supports `size` \u0026 `from`)\t|\n| `pushToAndClause`\t\t| Pushes component to leaf `and` node. Handy for internal component registration |\n| `checkValueChange`\t| checks and executes before/onValueChange for sensors\t\t|\n| `getAggsOrder`\t\t| returns aggs order query based on `sortBy` prop\t\t\t|\n| `checkPropChange`     | checks for props changes that would need to update the query via callback\t\t|\n| `checkSomePropChange`\t| checks for any prop change in the propsList and invokes the callback\t\t\t|\n\n## Changelog\n\nCheck the [Changelog](./CHANGELOG.md) doc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappbaseio%2Freactivecore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappbaseio%2Freactivecore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappbaseio%2Freactivecore/lists"}