Skip to content

Reactter v8 #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 142 commits into from
Feb 25, 2025
Merged

Reactter v8 #5

merged 142 commits into from
Feb 25, 2025

Conversation

CarLeonDev
Copy link
Contributor

@CarLeonDev CarLeonDev commented Oct 20, 2024

This is the next version.

TO-DO:

  • Make state extensible(RtState, RtStateBase).
  • Implement state observer(RtStateObserver).
  • Implement dependency observer(RtDependencyObserver).
  • Add debugLabel and debugInfo to state for debugging.
  • Add DevTools for states and dependencies debugging(Rt.initializeDevTools).
  • Make logger more useful(Rt.initializeLogger).
  • Remove code deprecated.
  • Fix some bugs (not critical).
  • Improve examples.
  • Improve documentation.
  • Improve performance.
  • Testing.

…d add observer manager.

\### Enhancements

- Add `Rt.addObserver` and `Rt.removeObserver` methods to manage the observers.
- Add `RtStateObserver` class to monitor the lifecycle of state(`onStateCreated`, `onStateBound`, `onStateUnbound`,  `onStateUpdated` and `onStateDisposed`).
- Add `debugLabel` and `debugProperties` to state to get info for debugging.

\### Internal

- Add `StateObserver` test.
- Rename some variables to use consistent naming convention.
…seAsyncSstate`.

## Enhancements

  - Add `debugLabel` argument to  `UseAsyncState` and `UseAsyncState.withArg`.

## Breakings

  - Move `asyncFunction` to the first argument of `UseAsyncState`and `UseAsyncState.withArg`.
…e states.

## Enhancements

- Add `debugLabel` argument to  `UseCompute`, `UseDependency`, `UseEffect`, `UseReduce`, `UseState` and `Signal`.
### Enhancements
- Add `RtContext` abstract class to provide access to the `Rt` instance.
- Add `RtStateBase` abstract class to implement the base logic of the state.
- Add `Rt.createState` method to create a new state.

### Breakings
- Convert `RtState` to interface class, use `RtStateBase` abstract class instead, to implement the state logic.

### Fixes
- Fix to show the correct dependency mode in the logger of the `Rt.register` method.
- Fix nested `Rt.batch` method to work correctly.

### Internal
- Add `IContext` interface class to represent the current context what the application is running in.
- Replace `StateBase` to `State` interface.
- Separate logic of `EventNotifier` to `Notifier` class.
- Restructure the framework and core classes.
- Add `rt_invalid_state_creation` and `rt_no_logic_create_state`.
- Add `rt_` prefix to  rule names.
- Rename `hook_late_convention` to `rt_state_late_convention`.
…nd rename `debugProperties` to `debugInfo`.
@CarLeonDev CarLeonDev marked this pull request as draft October 20, 2024 11:27
…IStateObserver` and `IDependencyObserver` for improved interface consistency.
…enhancing class definitions for improved clarity and consistency
…dencyObserver` and `RtStateObserver` usage examples.
@CarLeonDev CarLeonDev marked this pull request as ready for review February 25, 2025 22:44
@CarLeonDev CarLeonDev merged commit 0721e3e into master Feb 25, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants