Skip to content
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

FED-2242 Stop exporting meta #888

Merged
merged 5 commits into from
Feb 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@
- `ReduxMultiProviderProps.storesByContext`
- `ReduxProviderProps.store`
- UiPropsMapView (deprecated) is now abstract and requires subclasses to override `selfFactory`
- `PropsMeta`/`StateMeta` constructor arguments `fields` and `keys` are now required
- `ProviderProps.props` type has been widened from `JsMap` to `Map` (now matches `ConsumerProps` and other props classes)
- Other changes that we don't expect to affect consumers:
- `PropsMeta`/`StateMeta` constructor arguments `fields` and `keys` are now required
- `ProviderProps.props` type has been widened from `JsMap` to `Map` (now matches `ConsumerProps` and other props classes)
- `ConnectPropsMixin` now `implements UiProps` (the one exported from `package:over_react/over_react.dart`) instead of `UiProps`'s superclass of the name, `component_base.UiProps`.

## [4.10.3](https://github.com/Workiva/over_react/compare/4.10.2...4.10.3)
- [#846] Update internals to prepare for react-dart 7.0.0
Expand Down
2 changes: 1 addition & 1 deletion lib/src/builder/codegen/accessors_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ abstract class TypedMapAccessorsGenerator extends BoilerplateDeclarationGenerato
version != Version.v3_legacyDart2Only &&
version != Version.v2_legacyBackwardsCompat) {
final validateRequiredPropsMethod = '\n @override\n'
' @mustCallSuper\n'
' @UiProps.\$mustCallSuper\n'
' void validateRequiredProps() {\n'
' super.validateRequiredProps();\n'
' ${requiredPropChecks.join('\n')}\n'
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion lib/src/component/error_boundary.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion lib/src/component/resize_sensor.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion lib/src/component/suspense_component.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion lib/src/component/with_transition.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions lib/src/component_declaration/annotations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@
// Dummy annotations that would be used by Pub code generator
library over_react.component_declaration.annotations;

// Exported for use in generated code.
export 'package:meta/meta.dart' show mustCallSuper;

/// Annotation used with the `over_react` builder to declare a `UiFactory` for a component.
///
/// @Factory()
Expand Down
5 changes: 5 additions & 0 deletions lib/src/component_declaration/builder_helpers.dart
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,11 @@ abstract class UiProps extends component_base.UiProps with GeneratedClass {
@toBeGenerated
@visibleForOverriding
String $getPropKey(void Function(Map m) accessMap) => throw UngeneratedError(member: #$getPropKey);

/// An alias to [mustCallSuper] so that generated code can reference it without us having
/// to re-export it from `package:over_react/over_react.dart`.
@protected
static const $mustCallSuper = mustCallSuper;
}

class MissingRequiredPropsError extends Error {
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 5 additions & 7 deletions lib/src/over_react_redux/over_react_redux.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ library over_react_redux;

import 'package:js/js.dart';
import 'package:meta/meta.dart';
import 'package:over_react/component_base.dart';
import 'package:over_react/src/component_declaration/annotations.dart';
import 'package:over_react/src/component_declaration/builder_helpers.dart' as builder_helpers;
import 'package:over_react/src/component_declaration/builder_helpers.dart' show MissingRequiredPropsError;
import 'package:over_react/src/component_declaration/builder_helpers.dart';
import 'package:over_react/src/component_declaration/component_base.dart' as component_base;
import 'package:over_react/src/component_declaration/component_type_checking.dart';
import 'package:over_react/src/component_declaration/function_component.dart';
import 'package:over_react/src/util/context.dart';
Expand Down Expand Up @@ -157,7 +155,7 @@ typedef dynamic Dispatcher(dynamic action);
/// - [forwardRef] if `true`, the `ref` prop provided to the connected component will be return the wrapped component.
///
/// For more info see: https://react-redux.js.org/api/connect#connect
UiFactory<TProps> Function(UiFactory<TProps>) connect<TReduxState, TProps extends UiProps>({
UiFactory<TProps> Function(UiFactory<TProps>) connect<TReduxState, TProps extends component_base.UiProps>({
Map Function(TReduxState state)? mapStateToProps,
Map Function(TReduxState state, TProps ownProps)? mapStateToPropsWithOwnProps,
Map Function(TReduxState state) Function(TReduxState initialState, TProps initialOwnProps)? makeMapStateToProps,
Expand Down Expand Up @@ -196,7 +194,7 @@ UiFactory<TProps> Function(UiFactory<TProps>) connect<TReduxState, TProps extend
final dartComponentClass = dartComponentFactory.type;
enforceMinimumComponentVersionFor(dartComponentFactory);

JsMap jsMapFromProps(Map props) => jsBackingMapOrJsCopy(props is UiProps ? props.props : props);
JsMap jsMapFromProps(Map props) => jsBackingMapOrJsCopy(props is component_base.UiProps ? props.props : props);

TProps jsPropsToTProps(JsMap jsProps) => factory(JsBackedMap.backedBy(jsProps));

Expand Down Expand Up @@ -444,7 +442,7 @@ mixin ReduxProviderPropsMixin on UiProps {
/// - `context` - You may provide a context instance. If you do so, you will need to provide the same context instance to all of your connected components as well.
///
/// See: <https://react-redux.js.org/api/provider>
class ReduxProviderProps = builder_helpers.UiProps with ReduxProviderPropsMixin;
class ReduxProviderProps = UiProps with ReduxProviderPropsMixin;

/// [ReduxProvider] makes the store available to any nested components that have been wrapped in the `connect()` function.
///
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions lib/src/util/context.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions test/over_react/component/context_test.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions test/over_react/component/element_type_test.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion test/over_react/component/memo_test.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions test/over_react/component/ref_util_test.over_react.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading