Comments (2)
I'll take a look at this, you can assign me to this issue.
from auto_mappr.
Hi @DevNico, that's a good catch!
Right now, we require that the target is a superset of the source. And from the implementation (https://github.com/netglade/auto_mappr/blob/main/packages/auto_mappr/lib/src/builder/enum_assignment_builder.dart#L15), we probably forgot that if null is passed, we should return the whenSourceIsNull
if present, that should also be added.
To comply with the mentioned requirement, we can relax it when the whenSourceIsNull
argument is set and don't enforce it, and if that happens, return that value instead, aka your 'fallback enum value'. 👍
With something like this:
values.firstWhere((x) => x.name == model.name, orElse: () => whenSourceIsNull)
Let us know if you want to take this issue and implement the changes. We can also discuss it on our Discord. 🙌
from auto_mappr.
Related Issues (20)
- Support reverse flag in build.yaml config HOT 2
- Global converter not found when used with reverse flag HOT 2
- Nullable input/output with type converters HOT 6
- Strict mode HOT 6
- Build Options as Config object HOT 1
- Switch to DCM OSS
- Custom MapType HOT 5
- Generation fails when required TARGET field doesn't exist in SOURCE even with whenNull HOT 2
- Combining multiple SOURCEs into one single TARGET HOT 2
- Custom Mapping Futures HOT 3
- Async support HOT 2
- Anyone using auto_mappr in production? HOT 2
- Support field name mapping in reverse mode
- Global Methods dont work with out type HOT 10
- Field ignores whenNull and ignoreNull HOT 3
- Generated code for classes without ctors ignores 'from' argument HOT 7
- Move where from extension to static function
- Extend tryConvert method for catching mapping exceptions
- Enum set to null for unknown values HOT 1
- Possibility to ignore elements in a list when mapping goes wrong for one element HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from auto_mappr.