bloc_lens 0.1.0 copy "bloc_lens: ^0.1.0" to clipboard
bloc_lens: ^0.1.0 copied to clipboard

Lenses and extensions based on lens_base, made for the bloc package.

bloc_lens #

This package provides a set of bloc-specific classes, made to work with the lens_base package.

Example usage #

class SettingsCubit extends Cubit<SettingsState> {
  late final scaling = numberLens(
    get: (s) => s.scaling,
    set: (s, v) => s.copyWith(scaling: v),
    min: 0.7,
    max: 1.4,
    step: 0.1,
  );

  late final hapticFeedback = boolLens(
    get: (s) => s.hapticFeedback,
    set: (s, v) => s.copyWith(hapticFeedback: v),
  );
  
  late final themeMode = enumLens(
    get: (s) => s.themeMode,
    set: (s, v) => s.copyWith(themeMode: v),
    values: ThemeMode.values,
  );
}

class SettingsState {
  const SettingsState({
    required this.scaling,
    required this.hapticFeedback,
    required this.themeMode,
  });

  final double scaling;
  final bool hapticFeedback;
  final ThemeMode themeMode;
}

LeanCode

Built with ☕️ by LeanCode

8
likes
150
pub points
64%
popularity

Publisher

verified publisherleancode.co

Lenses and extensions based on lens_base, made for the bloc package.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (LICENSE)

Dependencies

bloc, lens_base

More

Packages that depend on bloc_lens