mutable_copy 0.1.3 copy "mutable_copy: ^0.1.3" to clipboard
mutable_copy: ^0.1.3 copied to clipboard

outdated

MutableCopy simplify copy of immutable object. Unlike CopyWith, it allow to set null value.

mutable_copy #

MutableCopy simplify copy of immutable object. Unlike CopyWith allow to set null value

Usage #

Copy object with help mutable copy. #

final e1 = Employee(
  fullName: 'Max Hatson',
  department: 'Mobile',
  team: 'Flutter',
);
final eMutable = e1.copy((o) => o..fullName = 'Bob Watson');

Import #

import 'package:mutable_copy/mutable_copy.dart';

Sample object #

class Employee {
  final String fullName;
  final String department;
  final String team;

  Employee({
    this.fullName,
    this.department,
    this.team,
  });

  @override
  String toString() {
    return '$fullName, Department: $department, Team: $team';
  }
}

Mutable copy extension #

extension EmployeeMutableCopyExt on Employee {
  EmployeeMutable mutableCopy() {
    return EmployeeMutable(
      fullName: fullName,
      department: department,
      team: team,
    );
  }

  Employee copy(UpdateWith<EmployeeMutable> updateWith) {
    return updateWith(mutableCopy()).copy();
  }
}

Mutable object #

class EmployeeMutable with Mutable<Employee> {
  String fullName;
  String department;
  String team;

  EmployeeMutable({
    this.fullName,
    this.department,
    this.team,
  });

  @override
  Employee copy() {
    return Employee(
      fullName: fullName,
      department: department,
      team: team,
    );
  }
}

TODO #

Code generation #

Implement code generator for mutable_copy

Like it done for copy_with copy_with

@MutableCopy
class Employee {
  final String fullName;
  final String department;
  final String team;

  Employee({
    this.fullName,
    this.department,
    this.team,
  });
}
4
likes
0
pub points
0%
popularity

Publisher

unverified uploader

MutableCopy simplify copy of immutable object. Unlike CopyWith, it allow to set null value.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

More

Packages that depend on mutable_copy