UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

86 lines 3.06 kB
import { Nub } from "./internal_modules"; import { INamedIterableValues } from "./internal_modules"; import { ParamValues } from "./internal_modules"; export declare class LinkedValue { /** linked value metadata (ex: calculator title for GUI) */ meta: any; /** target Nub */ private _nub; /** * nub indeed holding targeted parameter in case target nub does not */ private _realNub; /** target value : ParamDefinition (possibly in CALC mode) | undefined (extra result) */ private _element; /** parameter / result symbol (ex: "Q") */ private _symbol; /** magic param values: proxy to target when target is a not a result, handcrafted fake object otherwise */ private _paramValues; constructor(nub: Nub, element: INamedIterableValues, symbol: string, meta?: any, real?: Nub); get nub(): Nub; get element(): INamedIterableValues; get symbol(): string; /** * Returns true if targetted value is a ParamDefinition (in CALC mode or not), * and not an extra result */ isParameter(): boolean; /** * Returns true if targetted value is a ParamDefinition in CALC mode * (might not have any value yet) */ isResult(): boolean; /** * Returns true if targetted value is a ParamDefinition in CALC mode, * or in LINK mode targetting a result (might not have any value yet) */ isCalculated(): boolean; /** * Returns true if targetted value is an extra result * (might not have any value yet) */ isExtraResult(): boolean; /** * @returns true if given nub/symbol combination is targeted by "this" */ isTargetOf(nub: Nub, symbol: string): boolean; /** * Returns true if v and the current objects have the same : * - Nub UID * - symbol * - value type (Parameter / Result) * (ignores metadata) * @param v */ equals(v: LinkedValue): boolean; /** * Returs the ParamValues for the linked Parameter if any, or a * fake ParamValues object if the targetted element is a Result * or extra result. * If target is a result and triggerChainComputation is true, * triggers a chain computation to obtain the result */ getParamValues(triggerChainComputation?: boolean): ParamValues; /** * Returns the single value of this.paramValues; triggers a chain computation * if required to obtain ParamValues */ getValue(triggerChainComputation?: boolean): number; /** * Returns true if * - a parameter is targetted and it has multiple values * - a result / extra result is targetted and it has more than 1 value */ hasMultipleValues(): boolean; /** * Returns true if target value is available */ isDefined(): boolean; /** * When invalidating a Nub's result, parameters pointing to this result should * invalidate their proxy paramValues too */ invalidateParamValues(): void; private getExtraResults; } //# sourceMappingURL=linked-value.d.ts.map