{"id":27122344,"url":"https://github.com/andrei15193/react-model-view-viewmodel","last_synced_at":"2025-04-07T11:36:01.034Z","repository":{"id":57334757,"uuid":"369553464","full_name":"Andrei15193/react-model-view-viewmodel","owner":"Andrei15193","description":"A library for developing React applications using Model-View-ViewModel inspired by .NET","archived":false,"fork":false,"pushed_at":"2024-10-18T15:08:22.000Z","size":693,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2024-10-19T13:40:59.095Z","etag":null,"topics":["front-end","frontend","library","model-view-viewmodel","mvvm","react"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/react-model-view-viewmodel","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/Andrei15193.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}},"created_at":"2021-05-21T14:00:49.000Z","updated_at":"2024-10-18T15:08:26.000Z","dependencies_parsed_at":"2023-10-13T11:38:59.132Z","dependency_job_id":"bd21a21e-7f6a-4b8d-a6f4-bc2c32f136a9","html_url":"https://github.com/Andrei15193/react-model-view-viewmodel","commit_stats":{"total_commits":33,"total_committers":1,"mean_commits":33.0,"dds":0.0,"last_synced_commit":"52a0d83002b10b39bf9614f90fe478d175fc1f12"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrei15193%2Freact-model-view-viewmodel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrei15193%2Freact-model-view-viewmodel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrei15193%2Freact-model-view-viewmodel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrei15193%2Freact-model-view-viewmodel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Andrei15193","download_url":"https://codeload.github.com/Andrei15193/react-model-view-viewmodel/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247647433,"owners_count":20972868,"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":["front-end","frontend","library","model-view-viewmodel","mvvm","react"],"created_at":"2025-04-07T11:36:00.638Z","updated_at":"2025-04-07T11:36:01.026Z","avatar_url":"https://github.com/Andrei15193.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"A library for developing ReactJS applications using Model-View-ViewModel, inspired by .NET.\n\n[Project Wiki](https://github.com/Andrei15193/react-model-view-viewmodel/wiki) | [Guides and Tutorials - Getting Started](https://github.com/Andrei15193/react-model-view-viewmodel/discussions/7) | [Project Discussions](https://github.com/Andrei15193/react-model-view-viewmodel/discussions) | [Releases](https://github.com/Andrei15193/react-model-view-viewmodel/releases) | [CodeSandbox](https://codesandbox.io/p/sandbox/react-mvvm-vwsqlv)\n\n**API**\n\n* **Events**\n  * [IEvent\\\u003cTSubject, TEventArgs\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IEvent)\n  * [IEventHandler\\\u003cTSubject, TEventArgs\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IEventHandler)\n  * [EventDispatcher\\\u003cTSubject, TEventArgs\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/EventDispatcher)\n* **ViewModels**\n  * [INotifyPropertiesChanged](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/INotifyPropertiesChanged)\n  * [ViewModel](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ViewModel)\n* **Forms**\n  * [Form\\\u003cTValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/Form)\n  * [IFormFieldConfig\\\u003cTValue, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IFormFieldConfig)\n  * [FormField\\\u003cTValue, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/FormField)\n  * [ReadOnlyFormCollection\\\u003cTForm, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ReadOnlyFormCollection)\n  * [FormCollection\\\u003cTForm, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/FormCollection)\n  * [IConfigurableFormCollection\\\u003cTSection, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IConfigurableFormCollection)\n  * [FormSetupCallback\\\u003cTSection, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/FormSetupCallback)\n* **Validation**\n  * [IValidator\\\u003cTValidatable, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IValidator)\n  * [ValidatorCallback\\\u003cTValidatable, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ValidatorCallback)\n  * [IObjectValidator\\\u003cTValidatable, TValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IObjectValidator)\n  * [IValidatable\\\u003cTValidationError\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IValidatable)\n* **Validation / Triggers**\n  * [WellKnownValidationTrigger\\\u003cTKey, TItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/WellKnownValidationTrigger)\n  * [ValidationTrigger\\\u003cTTrigger\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ValidationTrigger)\n* **Observable Collection**\n  * [ReadOnlyObservableCollection\\\u003cTItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ReadOnlyObservableCollection)\n  * [ObservableCollection\\\u003cTItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ObservableCollection)\n  * [INotifyCollectionChanged\\\u003cTItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/INotifyCollectionChanged)\n  * [CollectionChangeOperation](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/CollectionChangeOperation)\n  * [INotifyCollectionReordered\\\u003cTItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/INotifyCollectionReordered)\n  * [CollectionReorderOperation](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/CollectionReorderOperation)\n* **Observable Map**\n  * [ReadOnlyObservableMap\\\u003cTKey, TItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ReadOnlyObservableMap)\n  * [ObservableMap\\\u003cTKey, TItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ObservableMap)\n  * [INotifyMapChanged\\\u003cTKey, TItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/INotifyMapChanged)\n  * [MapChangeOperation](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/MapChangeOperation)\n* **Observable Set**\n  * [ReadOnlyObservableSet\\\u003cTItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ReadOnlyObservableSet)\n  * [ObservableSet\\\u003cTItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/ObservableSet)\n  * [INotifySetChanged\\\u003cTItem\\\u003e](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/INotifySetChanged)\n  * [SetChangeOperation](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/SetChangeOperation)\n* **Dependency Handling**\n  * [IDependencyResolver](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IDependencyResolver)\n  * [IDependencyContainer](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/IDependencyContainer)\n  * [DependencyContainer](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/DependencyContainer)\n  * [useDependency](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/useDependency)\n  * [useViewModelDependency](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/useViewModelDependency)\n  * [useDependencyResolver](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/useDependencyResolver)\n* **React Hooks**\n  * [useViewModel](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/useViewModel)\n  * [useViewModelMemo](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/useViewModelMemo)\n  * [useObservableCollection](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/useObservableCollection)\n  * [useObservableMap](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/useObservableMap)\n  * [useObservableSet](https://github.com/Andrei15193/react-model-view-viewmodel/wiki/useObservableSet)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrei15193%2Freact-model-view-viewmodel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrei15193%2Freact-model-view-viewmodel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrei15193%2Freact-model-view-viewmodel/lists"}