resolveBuilder

export declare function resolveBuilder<Builder extends JSONEncodable<any>, BuilderData extends Record<PropertyKey, any>>(builder: Builder | BuilderData | ((builder: Builder) => Builder), Constructor: new (data?: BuilderData) => Builder): Builder;
export declare function resolveBuilder<Builder extends JSONEncodable<any>, BuilderData extends Record<PropertyKey, any>>(builder: Builder | BuilderData | ((builder: Builder) => Builder), Constructor: new (data?: BuilderData) => Builder): Builder;
"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')
NameConstraintsOptionalDefaultDescription
BuilderJSONEncodable<any>NoThe builder type
BuilderDataRecord<PropertyKey, any>NoThe data object that can be used to construct the builder
NameTypeOptionalDescription
builderBuilder | BuilderData | ((builder: Builder) => Builder)NoThe user input, as described in the function description
Constructornew (data?: BuilderData) => BuilderNoThe constructor of the builder