"Resolves" a builder from the 3 ways it can be input: 1. A clean instance 2. A data object that can be used to construct the builder 3. A function that takes a builder and returns a builder e.g.
builder => builder.setFoo('bar')| Name | Constraints | Optional | Default | Description |
|---|---|---|---|---|
| Builder | JSONEncodable<any> | No | The builder type | |
| BuilderData | Record<PropertyKey, any> | No | The data object that can be used to construct the builder |
| Name | Type | Optional | Description |
|---|---|---|---|
| builder | Builder | BuilderData | ((builder: Builder) => Builder) | No | The user input, as described in the function description |
| Constructor | new (data?: BuilderData) => Builder | No | The constructor of the builder |