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 ...@@ -354,6 +354,10 @@ export class BaseParam extends JalhydObject implements INubReference, NamedItera
return this._paramValues.valuesIterator; return this._paramValues.valuesIterator;
} }
public get hasMultipleValues(): boolean {
return this._paramValues.hasMultipleValues;
}
public get name(): string { public get name(): string {
return this._symbol; return this._symbol;
} }
......
...@@ -6,7 +6,15 @@ import { INamedObject } from "../jalhyd_object"; ...@@ -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 * interface implémentée par les objets pouvant renvoyer un itérateur sur une série de valeurs numériques
*/ */
export interface IterableValues { export interface IterableValues {
/**
* itérateur sur les valeurs
*/
readonly valuesIterator: IterableIterator<number>; 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 { ...@@ -278,20 +278,6 @@ export class ParamValues implements INubReference, IterableValues {
return this._currentValue.value; 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 // interface INubReference
public defineReference(target: IReferencedNub, desc: string) { public defineReference(target: IReferencedNub, desc: string) {
...@@ -342,4 +328,15 @@ export class ParamValues implements INubReference, IterableValues { ...@@ -342,4 +328,15 @@ export class ParamValues implements INubReference, IterableValues {
public get valuesIterator(): IterableIterator<number> { public get valuesIterator(): IterableIterator<number> {
return this.getValuesIterator(); 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 { ...@@ -268,11 +268,15 @@ export class Result extends JalhydObject implements NamedIterableValues {
public get valuesIterator(): IterableIterator<number> { public get valuesIterator(): IterableIterator<number> {
const tmp: number[] = []; const tmp: number[] = [];
for (const re of this.resultElements) for (const re of this._resultElements)
tmp.push(re.vCalc); tmp.push(re.vCalc);
return tmp[Symbol.iterator](); return tmp[Symbol.iterator]();
} }
public get hasMultipleValues(): boolean {
return this._resultElements.length > 1;
}
// interface NamedIterableValues pour les résultats complémentaires // interface NamedIterableValues pour les résultats complémentaires
public getIterableExtraResults(name: string): NamedIterableValues { public getIterableExtraResults(name: string): NamedIterableValues {
...@@ -318,6 +322,10 @@ export class ExtraResults extends JalhydObject implements NamedIterableValues { ...@@ -318,6 +322,10 @@ export class ExtraResults extends JalhydObject implements NamedIterableValues {
return this._values[Symbol.iterator](); return this._values[Symbol.iterator]();
} }
public get hasMultipleValues(): boolean {
return this._values.length > 1;
}
public get name(): string { public get name(): string {
return this._name; 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