entao_result 1.0.4 copy "entao_result: ^1.0.4" to clipboard
entao_result: ^1.0.4 copied to clipboard

Result, success, failure.

Features #

Result, success, failure. mostly used for json.

Basic #

void main() {
  Success<int> intResult = Success(9);
  print(intResult.value);

  Success r2 = intResult;
  int v = r2.getValue();

  Result r = Success("Hello", extra: {"offset": 9});
  if (r case Success(value: String v, extra: {"offset": int offset})) {
    print("value: $v, offset: $offset ");
  }
  if (r case Failure e) {
    print("error: $e ");
  }
}

Transform value #

test('transform', () async {
  Success r = Success(223);
  String s = r.transform((int n) => n.toString());
  println(s);
  expect(s, equals("223"));
});

List #

test('list', () async {
  Success r = Success([1, 2, 3]);
  List<int> ls = r.list();
  println(ls);
  expect(ls, equals([1, 2, 3]));
});

List And Transform #

test('listValue', () async {
  Success r = Success([4, 5, 6]);
  List<String> ls = r.listValue((int n) => n.toString());
  println(ls);
  expect(ls, equals(["4", "5", "6"]));
});

Model #

  • define a model
class Person {
  Map<String, dynamic> model;
  Person(this.model);

  int get id => model["id"];
  String get name => model["name"];
  @override
  String toString() {
    return model.toString();
  }
}

  • mapt to model
test('model', () async {
  Success r = Success({"id": 9, "name": "entao"});
  Person p = r.model(Person.new);
  println(p);
  expect(p.id, equals(9));
  expect(p.name, equals("entao"));
});
  • mapt to model list
test('listModel', () async {
  Success r = Success([
    {"id": 9, "name": "entao"},
    {"id": 10, "name": "yang"}
  ]);
  List<Person> ps = r.listModel(Person.new);
  println(ps);
  expect(ps[0].id, equals(9));
  expect(ps[0].name, equals("entao"));
  expect(ps[1].id, equals(10));
  expect(ps[1].name, equals("yang"));
});

Table #

like 'csv' format , first row is column names , rest is column data.

  test('table', () async {
    Success r = Success([
      ["id", "name"],
      [9, "entao"],
      [10, "yang"],
    ]);
    List<Person> ps = r.table(Person.new);
    println(ps);
    expect(ps[0].id, equals(9));
    expect(ps[0].name, equals("entao"));
    expect(ps[1].id, equals(10));
    expect(ps[1].name, equals("yang"));
  });
0
likes
140
points
14
downloads

Publisher

unverified uploader

Weekly Downloads

Result, success, failure.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

More

Packages that depend on entao_result