Commit 9fe80719 authored by Grand Francois's avatar Grand Francois
Browse files

#45 IterableValues : ajout de la propriété hasMultipleValues

Showing with 32 additions and 15 deletions
+32 -15
......@@ -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;
}
......
......@@ -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;
}
/**
......
......@@ -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;
}
}
......@@ -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;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment