retriever 1.0.2 copy "retriever: ^1.0.2" to clipboard
retriever: ^1.0.2 copied to clipboard

Retrieve values from a Map/Json with ease and safety.

To safely and easily retrieve values from a map/json with useful and human friendly error messages. With little to no effort you can parse and guarantee the values type.

Features #

Retriever has 2 main features when parsing values from a map:

1. Automatic error treatment:

  // This method will throw an error if the value is invalid
  Retriever.getString('key', map);

  // This method will return null if the value is invalid
  Retriever.getMaybeString('key', map);

2. Errors that realy help

  RetrieverFormatError: Found invalid format when parsing key.
       Key: "name"
       Expected: "Integer"
       Found: "String", value: "myExampleName".
       Object: "{
                --> name: myExampleName
                    ^^^^
                    age: 40
                }"

With retriever you can safely parse:

  • String
  • Integer
  • Double
  • Date
  • Map

Getting started #

Retriever has no dependencies other than dart it self, and all methods are static. This makes easy and performant to use.

Usage #

Giving the following map.

  final map = {
    'name': 'myExampleName',
    'age': 40,
  };

You can retrieve a string from a Map, just like that.

  final string = Retriever.getString('name', map);
  print(string); // 'myExampleName'

If the key doesn't exist or the value is not a valid, an error will be thrown. The errors are very helpful and human readable, showing exactly what's going on.

  // Using getString on a "int" value will throw the following error
  Retriever.getString('age', map); // 'age' is a int. error will be thrown

  //  RetrieverFormatError: Found invalid format when parsing key.
  //       Key: "name"
  //       Expected: "Integer"
  //       Found: "String", value: "myExampleName".
  //       Object: "{
  //                --> name: myExampleName
  //                    ^^^^
  //                    age: 40
  //                }"

Additional information #

Feel free to file an issue if you find a problem or make pull requests.

All contributions are welcome :)

3
likes
150
points
27
downloads

Publisher

verified publisherkaiodelphino.com

Weekly Downloads

Retrieve values from a Map/Json with ease and safety.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

More

Packages that depend on retriever