|
@@ -270,9 +270,9 @@ export namespace ParamDefinition {
|
|
|
conditionForValue(v: T): keyof C
|
|
|
conditionedValue(v: T, condition: keyof C): T,
|
|
|
}
|
|
|
- export function Conditioned<T, P extends Base<T>, C = { [k: string]: P }>(defaultValue: T, conditionParams: C, conditionForValue: (v: T) => keyof C, conditionedValue: (v: T, condition: keyof C) => T): Conditioned<T, P, C> {
|
|
|
+ export function Conditioned<T, P extends Base<T>, C = { [k: string]: P }>(defaultValue: T, conditionParams: C, conditionForValue: (v: T) => keyof C, conditionedValue: (v: T, condition: keyof C) => T, info?: Info): Conditioned<T, P, C> {
|
|
|
const options = Object.keys(conditionParams).map(k => [k, k]) as [string, string][];
|
|
|
- return { type: 'conditioned', select: Select<string>(conditionForValue(defaultValue) as string, options), defaultValue, conditionParams, conditionForValue, conditionedValue };
|
|
|
+ return setInfo({ type: 'conditioned', select: Select<string>(conditionForValue(defaultValue) as string, options, info), defaultValue, conditionParams, conditionForValue, conditionedValue }, info);
|
|
|
}
|
|
|
|
|
|
export interface Script extends Base<ScriptData> {
|