jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
86 lines • 3.06 kB
TypeScript
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