Engineer
Engineer is a master builder based on Optional.
It just generates an Engineer (Builder) class for a data model.
use Engineer;
Optional fields are not required during the initialization.
// Option fields are set to None.
let identity = engineer.done;
But you can set a value for Option fields as well.
let identity = engineer // IdentityEngineer
.first_name // IdentityEngineer
.last_name // IdentityEngineer
.done; // Identity
That's all for the basics, but you can do a little customizations.
Customizations
Engineer Struct Name
Engineer struct name is {struct}Engineer (IdentityEngineer for Identity) by default, but you can change that.
// ~~~ sniff ~~~
// ~~~ sniff ~~~
let identity = engineer // IdentityBuilder
.first_name // IdentityBuilder
.last_name // IdentityBuilder
.done; // Identity
Builder Function Name
The name of builder function is engineer by default, but guess what?
// ~~~ sniff ~~~
// ~~~ sniff ~~~
let identity = builder
// ~~~ sniff ~~~
You want to use this as new function:
// ~~~ sniff ~~~
// ~~~ sniff ~~~
let identity = new
// ~~~ sniff ~~~
Default value for Options
You can set a default value for option fields.
This value is used if you don't set any other for them.
// ~~~ sniff ~~~
// ~~~ sniff ~~~
let identity = new;
identity.lang_code // Some("fa")
Retype
You can change types requested in builder processes.
// ~~~ sniff ~~~
// ~~~ sniff ~~~
let identity = new; // .to_string() is not needed.
// ~~~ sniff ~~~
Final result
🧀