diff --git a/src/param/param-base.ts b/src/param/param-base.ts index b9919ce449e5923a8d8a63e298579b7f1a1ca83c..d44e0aebe52a68a37004bedd4a8c9c87eada0d8a 100644 --- a/src/param/param-base.ts +++ b/src/param/param-base.ts @@ -354,6 +354,10 @@ export class BaseParam extends JalhydObject implements INubReference, NamedItera return this._paramValues.valuesIterator; } + public get hasMultipleValues(): boolean { + return this._paramValues.hasMultipleValues; + } + public get name(): string { return this._symbol; } diff --git a/src/param/param-value-iterator.ts b/src/param/param-value-iterator.ts index 9bc23b8660cb057a46297887d79d2b44cfa44c1b..b94e3095cfe13f5a13d34580c5a86afa739677ad 100644 --- a/src/param/param-value-iterator.ts +++ b/src/param/param-value-iterator.ts @@ -6,7 +6,15 @@ import { INamedObject } from "../jalhyd_object"; * interface implémentée par les objets pouvant renvoyer un itérateur sur une série de valeurs numériques */ export interface IterableValues { + /** + * itérateur sur les valeurs + */ readonly valuesIterator: IterableIterator<number>; + + /** + * true si la série de valeurs a plus d'une valeur + */ + readonly hasMultipleValues: boolean; } /** diff --git a/src/param/param-values.ts b/src/param/param-values.ts index f8e46ff9f22f95b22f5a80a6b05b7194d3493dbc..903e1b74765d1863b1d4fedef6203ce76248f419 100644 --- a/src/param/param-values.ts +++ b/src/param/param-values.ts @@ -278,20 +278,6 @@ export class ParamValues implements INubReference, IterableValues { return this._currentValue.value; } - /** - * @return true si la config actuelle génère plusieurs valeurs - */ - public get hasMultipleValues(): boolean { - const it = this.getValuesIterator(); - let n = 0; - for (const v of it) { - n++; - if (n > 1) - break; - } - return n > 1; - } - // interface INubReference public defineReference(target: IReferencedNub, desc: string) { @@ -342,4 +328,15 @@ export class ParamValues implements INubReference, IterableValues { public get valuesIterator(): IterableIterator<number> { return this.getValuesIterator(); } + + public get hasMultipleValues(): boolean { + const it = this.getValuesIterator(); + let n = 0; + for (const v of it) { + n++; + if (n > 1) + break; + } + return n > 1; + } } diff --git a/src/util/result.ts b/src/util/result.ts index 7b1530b4d9a624be4fd03ad686b8b43838164c7d..5fce944905314b95d71e04578a3183a92ab11e5c 100644 --- a/src/util/result.ts +++ b/src/util/result.ts @@ -268,11 +268,15 @@ export class Result extends JalhydObject implements NamedIterableValues { public get valuesIterator(): IterableIterator<number> { const tmp: number[] = []; - for (const re of this.resultElements) + for (const re of this._resultElements) tmp.push(re.vCalc); return tmp[Symbol.iterator](); } + public get hasMultipleValues(): boolean { + return this._resultElements.length > 1; + } + // interface NamedIterableValues pour les résultats complémentaires public getIterableExtraResults(name: string): NamedIterableValues { @@ -318,6 +322,10 @@ export class ExtraResults extends JalhydObject implements NamedIterableValues { return this._values[Symbol.iterator](); } + public get hasMultipleValues(): boolean { + return this._values.length > 1; + } + public get name(): string { return this._name; }