diff --git a/doc/papyrus/model-jalhyd.uml b/doc/papyrus/model-jalhyd.uml index 00de68fe838b4f5fe6b3985c1431221237345b27..38c4b3e2549c2348ddada31b42d2f82cb248c3b6 100644 --- a/doc/papyrus/model-jalhyd.uml +++ b/doc/papyrus/model-jalhyd.uml @@ -222,7 +222,7 @@ </ownedParameter> </ownedOperation> </packagedElement> - <packagedElement xmi:type="uml:Interface" xmi:id="_TMMMIHMCEei6M4wQtYraFw" name="NamedIterableValues"> + <packagedElement xmi:type="uml:Interface" xmi:id="_TMMMIHMCEei6M4wQtYraFw" name="INamedIterableValues"> <generalization xmi:type="uml:Generalization" xmi:id="_WJfqwHMCEei6M4wQtYraFw" general="_WriyoG5GEeioI6dcHPBwyA"/> <ownedOperation xmi:type="uml:Operation" xmi:id="_ZfadsHMCEei6M4wQtYraFw" name="name" visibility="public"> <ownedParameter xmi:type="uml:Parameter" xmi:id="_eNFtwHMCEei6M4wQtYraFw" name=" " direction="out"> diff --git a/package-lock.json b/package-lock.json index 8f18f8643fff9241a912d450a02046848397a627..b3e8de4956e08e90b74b26ca4f68c5e9970d83f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "babel-code-frame": { @@ -43,9 +43,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "chalk": { @@ -54,11 +54,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } } } @@ -75,7 +75,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -91,9 +91,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -102,7 +102,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "supports-color": { @@ -111,7 +111,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -128,7 +128,7 @@ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -185,12 +185,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "globule": { @@ -199,9 +199,9 @@ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.10", - "minimatch": "3.0.4" + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" } }, "has-ansi": { @@ -210,7 +210,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -225,8 +225,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -241,8 +241,8 @@ "integrity": "sha1-K9Wf1+xuwOistk4J9Fpo7SrRlSo=", "dev": true, "requires": { - "glob": "7.1.2", - "jasmine-core": "3.1.0" + "glob": "^7.0.6", + "jasmine-core": "~3.1.0" } }, "jasmine-core": { @@ -257,14 +257,14 @@ "integrity": "sha512-W8ehdkjov8kaVEdGmqmfobuJk04NmYarfVKAl/HUeVsCxP+E25pcW+l6Y46yXMthjj+3Qi3gaWkC+LU8toqa2w==", "dev": true, "requires": { - "coffeescript": "2.3.1", - "gaze": "1.1.3", - "jasmine-growl-reporter": "1.0.1", - "jasmine-reporters": "1.0.2", - "mkdirp": "0.3.5", - "requirejs": "2.3.5", - "underscore": "1.8.3", - "walkdir": "0.0.12" + "coffeescript": ">=1.0.1", + "gaze": "~1.1.2", + "jasmine-growl-reporter": "~1.0.1", + "jasmine-reporters": "~1.0.0", + "mkdirp": "~0.3.5", + "requirejs": ">=0.27.1", + "underscore": ">= 1.3.1", + "walkdir": ">= 0.0.1" }, "dependencies": { "gaze": { @@ -273,7 +273,7 @@ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { - "globule": "1.2.1" + "globule": "^1.0.0" } }, "growl": { @@ -288,7 +288,7 @@ "integrity": "sha512-dh7VjP3l0OLxL9+sw5vK6RrdH4gdHCNkTnUd9orViHDPr7Fe8LsXY+IObWauS2hX5khMFtjKRZCfTcDHKAjm/A==", "dev": true, "requires": { - "growl": "1.10.5" + "growl": "^1.10.2" } } } @@ -299,7 +299,7 @@ "integrity": "sha1-q2E+1Zd9x0h+hbPBL2qOqNsq3jE=", "dev": true, "requires": { - "mkdirp": "0.3.5" + "mkdirp": "~0.3.5" } }, "js-tokens": { @@ -314,8 +314,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "lodash": { @@ -330,7 +330,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "mkdirp": { @@ -345,7 +345,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "path-is-absolute": { @@ -372,7 +372,7 @@ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "semver": { @@ -393,7 +393,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -414,18 +414,18 @@ "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "builtin-modules": "1.1.1", - "chalk": "2.3.0", - "commander": "2.12.2", - "diff": "3.4.0", - "glob": "7.1.2", - "js-yaml": "3.12.0", - "minimatch": "3.0.4", - "resolve": "1.5.0", - "semver": "5.4.1", - "tslib": "1.8.1", - "tsutils": "2.28.0" + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.27.2" }, "dependencies": { "tsutils": { @@ -434,7 +434,7 @@ "integrity": "sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA==", "dev": true, "requires": { - "tslib": "1.8.1" + "tslib": "^1.8.1" } } } diff --git a/spec/iterator/named_iterable_value.spec.ts b/spec/iterator/named_iterable_value.spec.ts index 2d2bd592072c7ead86fefa13dfb99517bfad3946..e8c3ac56bafbad846a7375060e585d6366203f5f 100644 --- a/spec/iterator/named_iterable_value.spec.ts +++ b/spec/iterator/named_iterable_value.spec.ts @@ -57,7 +57,7 @@ function testExtraResultsValues(vals: number[]): ExtraResults { return ers; } -describe("NamedIterableValues : ", () => { +describe("INamedIterableValues : ", () => { describe("BaseParam : ", () => { it("test 1", () => { const name = "aa"; diff --git a/spec/iterator/paramvalues_iterator.spec.ts b/spec/iterator/paramvalues_iterator.spec.ts index f4c9bf740bdeadf4f5bc7921eb82ec72aa3844ad..09589fbdc735c9f98a49b8b1dedbf60233641282 100644 --- a/spec/iterator/paramvalues_iterator.spec.ts +++ b/spec/iterator/paramvalues_iterator.spec.ts @@ -1,8 +1,8 @@ -import { NumberIterator } from "../../src/param/param-value-iterator"; +import { INumberIterator } from "../../src/param/param-value-iterator"; import { ParamValueMode } from "../../src/param/param-value-mode"; import { ParamValues } from "../../src/param/param-values"; -function checkNumberList(it: NumberIterator, exp: number[]) { +function checkNumberList(it: INumberIterator, exp: number[]) { let n = 0; for (const v of it) { expect(v).toEqual(exp[n]); diff --git a/src/base.ts b/src/base.ts index 183cd2b7a99731f0b5082f521f165b4b16becd34..8ba6e9bb35b90f43bb22d16b7c0fa14698b5965b 100644 --- a/src/base.ts +++ b/src/base.ts @@ -26,6 +26,7 @@ export class Debug { public debug(...args: any[]) { // tslint:disable-next-line:no-console if (this._DBG) { + // tslint:disable-next-line:no-console console.log(...args); } } diff --git a/src/jalhyd_object.ts b/src/jalhyd_object.ts index 27edec4f5c51169f69896bae5345d4d7a99dd297..5c9fe62a53779af0d4e61fbc61b99f82eb4d77d3 100644 --- a/src/jalhyd_object.ts +++ b/src/jalhyd_object.ts @@ -23,8 +23,8 @@ export abstract class JalhydObject implements IJalhydObject { */ private static _uidSequence: number = 0; /** - * id numérique unique - */ + * id numérique unique + */ private _uid: number; constructor() { diff --git a/src/nub.ts b/src/nub.ts index 1bdd69782e3c76e101160cedb721f7e4d1c36c0f..ff0d3582bbdf32620d86ebfd076a53cb905d5e85 100644 --- a/src/nub.ts +++ b/src/nub.ts @@ -2,7 +2,7 @@ import { ParamDefinition } from "."; import { Debug } from "./base"; import { ComputeNode } from "./compute-node"; import { Dichotomie } from "./dichotomie"; -import { IterableValues, NamedIterableValues, NumberIterator } from "./param/param-value-iterator"; +import { INamedIterableValues, INumberIterator, IterableValues } from "./param/param-value-iterator"; import { ParamValueMode } from "./param/param-value-mode"; import { ParamValues } from "./param/param-values"; import { Result } from "./util/result"; @@ -188,12 +188,12 @@ export abstract class Nub extends ComputeNode implements IReferencedNub { return r.getExtraResult(tmp[1]); } - public getReferencedValuesIterator(desc: string): NumberIterator { + public getReferencedValuesIterator(desc: string): INumberIterator { const ro = this.getReferencedObject(desc); return ro.valuesIterator; } - public getReferencedObject(desc: string): NamedIterableValues { + public getReferencedObject(desc: string): INamedIterableValues { const tmp = desc.split("."); if (tmp.length === 1) { @@ -217,7 +217,7 @@ export abstract class Nub extends ComputeNode implements IReferencedNub { * @param src objet qui sert de clé de recherche des paramètres liables, de type INamedObject | string * @param excludeResult true si on veut exclure des valeurs retournées le résultat/résultat complémentaire * correspondant à la clé de recherche - * @returns tableau d'objets de la forme { "name":string, "value":NamedIterableValues, "nub":Nub}, + * @returns tableau d'objets de la forme { "name":string, "value":INamedIterableValues, "nub":Nub}, * nub=Nub d'origine de la "value" * * l'étiquette "name" (cf. INubReference.defineReference) est de la forme <n | ouvrage[n] | N1>[.[N2]] @@ -300,7 +300,7 @@ export abstract class Nub extends ComputeNode implements IReferencedNub { return prefix === undefined ? str : `${prefix}${str}`; } - private setVariatedValues(newValues: NamedIterableValues, oldValues: IterableValues) { + private setVariatedValues(newValues: INamedIterableValues, oldValues: IterableValues) { if (oldValues === undefined) { return newValues; } else { diff --git a/src/param/param-base.ts b/src/param/param-base.ts index b4b6024457e97110d34af5e379531ce4ab80565f..d847fd33dfda79fe787648be5e17d56a54208850 100644 --- a/src/param/param-base.ts +++ b/src/param/param-base.ts @@ -6,7 +6,7 @@ import { IObservable, Observable, Observer } from "../util/observer"; import { Result } from "../util/result"; import { INubReference, IReferencedNub } from "../value_ref/object_ref"; import { ParamDomain, ParamDomainValue } from "./param-domain"; -import { NamedIterableValues, NumberIterator } from "./param-value-iterator"; +import { INamedIterableValues, INumberIterator } from "./param-value-iterator"; import { ParamValueMode } from "./param-value-mode"; import { ParamValues } from "./param-values"; @@ -14,7 +14,7 @@ import { ParamValues } from "./param-values"; * paramètre avec symbole et domaine de définition */ // tslint:disable-next-line:max-classes-per-file -export class BaseParam extends JalhydObject implements INubReference, NamedIterableValues, IObservable { +export class BaseParam extends JalhydObject implements INubReference, INamedIterableValues, IObservable { /** * symbole */ @@ -280,17 +280,17 @@ export class BaseParam extends JalhydObject implements INubReference, NamedItera return this._paramValues.referencedExtraResult; } - get referencedValuesIterator(): NumberIterator { + get referencedValuesIterator(): INumberIterator { return this._paramValues.referencedValuesIterator; } - get referencedObject(): NamedIterableValues { + get referencedObject(): INamedIterableValues { return this._paramValues.referencedObject; } - // interface NamedIterableValues + // interface INamedIterableValues - public get valuesIterator(): NumberIterator { + public get valuesIterator(): INumberIterator { if (this.isReferenceDefined) { return this.referencedValuesIterator; } @@ -305,7 +305,7 @@ export class BaseParam extends JalhydObject implements INubReference, NamedItera return this._symbol; } - public initValuesIterator(reverse: boolean = false): NumberIterator { + public initValuesIterator(reverse: boolean = false): INumberIterator { return this._paramValues.initValuesIterator(reverse); } diff --git a/src/param/param-value-iterator.ts b/src/param/param-value-iterator.ts index 82a03fe616d037b8ddc3f72e2f3f9bcbcc3526a0..14b2c6756751e336bd286da27eea8ce31a22e3f7 100644 --- a/src/param/param-value-iterator.ts +++ b/src/param/param-value-iterator.ts @@ -6,7 +6,7 @@ import { ParamValues } from "./param-values"; /** * itérateur sur des nombres */ -export interface NumberIterator extends IterableIterator<number> { +export interface INumberIterator extends IterableIterator<number> { /** * @return true si il reste des valeurs à parcourir */ @@ -27,11 +27,11 @@ export interface NumberIterator extends IterableIterator<number> { /** * interface implémentée par les objets pouvant posséder/renvoyer un itérateur sur une série de valeurs numériques */ -export interface IterableValues extends NumberIterator { +export interface IterableValues extends INumberIterator { /** * crée un nouvel itérateur sur les valeurs */ - readonly valuesIterator: NumberIterator; + readonly valuesIterator: INumberIterator; /** * true si la série de valeurs a plus d'une valeur @@ -41,19 +41,19 @@ export interface IterableValues extends NumberIterator { /** * initialise un itérateur interne sur les valeurs implicitement utilisé par hasNext() et next() */ - initValuesIterator(reverse: boolean): NumberIterator; + initValuesIterator(reverse: boolean): INumberIterator; } /** * objets pouvant ayant un nom et un itérateur sur une série de valeurs numériques */ -export interface NamedIterableValues extends INamedObject, IterableValues { +export interface INamedIterableValues extends INamedObject, IterableValues { } /** * itérateur sur les (ou la) valeurs prises par un ParamValues */ -export class ParamValueIterator implements NumberIterator { +export class ParamValueIterator implements INumberIterator { /** * paramètre à itérer */ @@ -109,6 +109,7 @@ export class ParamValueIterator implements NumberIterator { break; default: + // tslint:disable-next-line:max-line-length throw new Error(`ParamValueIterator : mode de génération de valeurs ${ParamValueMode[this._param.valueMode]} incorrect`); } } @@ -206,7 +207,8 @@ export class ParamValueIterator implements NumberIterator { /** * itérateur sur les valeurs prises par un tableau */ -export class NumberArrayIterator implements NumberIterator { +// tslint:disable-next-line:max-classes-per-file +export class NumberArrayIterator implements INumberIterator { private _it: IterableIterator<number>; private _index: number; @@ -248,7 +250,8 @@ export class NumberArrayIterator implements NumberIterator { /** * itérateur sur les valeurs prises par un tableau (parcourues depuis la fin) */ -export class NumberArrayReverseIterator extends ArrayReverseIterator<number> implements NumberIterator { +// tslint:disable-next-line:max-classes-per-file +export class NumberArrayReverseIterator extends ArrayReverseIterator<number> implements INumberIterator { private _count: number; /** diff --git a/src/param/param-values.ts b/src/param/param-values.ts index 81f1835b278a7ad7e316ca3f952445d7c48002d7..7fe5049d89ef9d750eddc9c6f9ea186837b16f47 100644 --- a/src/param/param-values.ts +++ b/src/param/param-values.ts @@ -2,7 +2,7 @@ import { Result } from ".."; import { DefinedNumber } from "../util/definedvalue"; import { Pair } from "../util/pair"; import { INubReference, IReferencedNub, NubReference } from "../value_ref/object_ref"; -import { IterableValues, NamedIterableValues, NumberIterator, ParamValueIterator } from "./param-value-iterator"; +import { INamedIterableValues, INumberIterator, IterableValues, ParamValueIterator } from "./param-value-iterator"; import { ParamValueMode } from "./param-value-mode"; export class ParamValues implements INubReference, IterableValues { @@ -50,7 +50,7 @@ export class ParamValues implements INubReference, IterableValues { /** * itérateur courant */ - private _iterator: NumberIterator; + private _iterator: INumberIterator; constructor() { this._singleValue = new DefinedNumber(); @@ -240,7 +240,7 @@ export class ParamValues implements INubReference, IterableValues { * crée un ParamValueIterator * @param reverse true si on veut itérer max->min ou depuis la fin de la liste */ - public getValuesIterator(reverse: boolean = false): NumberIterator { + public getValuesIterator(reverse: boolean = false): INumberIterator { return new ParamValueIterator(this, reverse); } @@ -283,7 +283,7 @@ export class ParamValues implements INubReference, IterableValues { return this._nubRef.referencedValuesIterator; } - public get referencedObject(): NamedIterableValues { + public get referencedObject(): INamedIterableValues { if (this.isReferenceDefined) { return this._nubRef.referencedObject; } @@ -292,7 +292,7 @@ export class ParamValues implements INubReference, IterableValues { // interface IterableValues - public get valuesIterator(): NumberIterator { + public get valuesIterator(): INumberIterator { return this.getValuesIterator(); } @@ -321,7 +321,7 @@ export class ParamValues implements INubReference, IterableValues { return n > 1; } - public initValuesIterator(reverse: boolean = false): NumberIterator { + public initValuesIterator(reverse: boolean = false): INumberIterator { switch (this._valueMode) { case ParamValueMode.LISTE: case ParamValueMode.MINMAX: diff --git a/src/param/params-equation.ts b/src/param/params-equation.ts index eb18b13a4b3ca7b588b41e327109ee7b7ebdf46c..ff7d1e6d98cb526c7aba7e9cbe4ff8639b1f4b9f 100644 --- a/src/param/params-equation.ts +++ b/src/param/params-equation.ts @@ -47,7 +47,7 @@ export class ParamsEquationArrayIterator implements IParamDefinitionIterator { } public next(): IteratorResult<ParamDefinition> { - if (this._currentMapIterator == undefined) { + if (this._currentMapIterator === undefined) { this.nextIterator(); } diff --git a/src/regime_uniforme.ts b/src/regime_uniforme.ts index 787b318e53e75d45e3ebad9cf3ee156dc59a7b98..d4d003a914ae54b929baf8eda3ee6bdfe339021c 100644 --- a/src/regime_uniforme.ts +++ b/src/regime_uniforme.ts @@ -4,6 +4,7 @@ import { acSection, ParamsSection } from "./section/section_type"; import { Result } from "./util/result"; export class RegimeUniforme extends Nub { + // tslint:disable-next-line:variable-name private Sn: acSection; constructor(s: acSection, dbg: boolean = false) { diff --git a/src/remous.ts b/src/remous.ts index 23dc656d3f29567f0e0a3e23d8ce10bc31d97ad7..c05908655c8f7c99b6c5fc6867e6a31d038c7305 100644 --- a/src/remous.ts +++ b/src/remous.ts @@ -1,4 +1,4 @@ -import { BaseParam, ParamValues } from "."; +import { ParamValues } from "."; import { round, XOR } from "./base"; import { Dichotomie } from "./dichotomie"; import { Nub } from "./nub"; @@ -6,7 +6,6 @@ import { ParamCalculability, ParamDefinition } from "./param/param-definition"; import { ParamDomainValue } from "./param/param-domain"; import { ParamsEquation } from "./param/params-equation"; import { acSection, ParamsSection } from "./section/section_type"; -import { cLog } from "./util/log"; import { Message, MessageCode } from "./util/message"; import { Result } from "./util/result"; import { ResultElement } from "./util/resultelement"; @@ -105,6 +104,7 @@ export class CourbeRemous extends Nub { private _debugDicho: boolean = false; + // tslint:disable-next-line:variable-name private Dx: number; /** @@ -122,9 +122,9 @@ export class CourbeRemous extends Nub { } /** - * @param val_a_cal nom de la variable à calculer + * @param valACal nom de la variable à calculer */ - public calculRemous(val_a_cal: string): + public calculRemous(valACal: string): // { // "flu": { [key: number]: number; }, // "tor": { [key: number]: number; }, @@ -140,6 +140,7 @@ export class CourbeRemous extends Nub { res.addLog(rYC.log); return res; } + // tslint:disable-next-line:variable-name const Yc: number = rYC.vCalc; const rB: Result = this.Sn.Calc("B", this.Sn.prms.YB.v); @@ -165,6 +166,7 @@ export class CourbeRemous extends Nub { return res; } + // tslint:disable-next-line:variable-name const Yn = rYN.vCalc; m = new Message(MessageCode.INFO_REMOUS_H_NORMALE); m.extraVar.Yn = Yn; @@ -292,8 +294,10 @@ export class CourbeRemous extends Nub { // this.debug(trX); let bRessaut = false; + // tslint:disable-next-line:variable-name const Dx = xValues.step; + // tslint:disable-next-line:prefer-for-of for (let irX = 0; irX < trX.length; irX++) { const rX: number = +trX[irX]; // this.debug("irX=" + irX); @@ -306,6 +310,7 @@ export class CourbeRemous extends Nub { res.addLog(rYCO.log); return res; } + // tslint:disable-next-line:variable-name const Yco = rYCO.vCalc; // this.debug("rX=" + rX + " Yco(Ypartiel=" + crbPartielle[rX] + ")=" + Yco); @@ -329,7 +334,7 @@ export class CourbeRemous extends Nub { if (crbComplete[xRst] !== undefined) { // Hauteur décalée de la longueur du ressaut (il faut gérer la pente du fond) - const Ydec: number = crbComplete[xRst] + rLongRst * this.prmSect.If.v * iSens; + // const Ydec: number = crbComplete[xRst] + rLongRst * this.prmSect.If.v * iSens; // this.debug("Ydec=" + Ydec); const impYcomplete = this.Sn.Calc("Imp", crbComplete[xRst]); // this.debug("imp(Ycomplet[xRst=" + xRst + "]=" + crbComplete[xRst] + ")=" + impYcomplete); @@ -460,16 +465,15 @@ export class CourbeRemous extends Nub { // Calcul de la variable à calculer const tRes: { [key: number]: number } = {}; - if (val_a_cal) { + if (valACal) { for (const re of res.resultElements) { const rY = re.vCalc; if (rY !== undefined) { - const rVar = this.Sn.Calc(val_a_cal, rY); + const rVar = this.Sn.Calc(valACal, rY); if (!rVar.ok) { - res.addLog(rVar.log); - } - else { - re.addExtraResult(val_a_cal, rVar.vCalc); + res.addLog(rVar.log); + } else { + re.addExtraResult(valACal, rVar.vCalc); } } } @@ -696,6 +700,7 @@ export class CourbeRemous extends Nub { } const k4 = rDXDY4.vCalc; + // tslint:disable-next-line:variable-name const Yout = Y + rDx / 6 * (k1 + 2 * (k2 + k3) + k4); // if ($this ->rDx > 0 xor !($Yout < $this ->oSect ->rHautCritique)) { return false; } @@ -778,6 +783,7 @@ export class CourbeRemous extends Nub { private size(o: {}): number { let res: number = 0; + // tslint:disable-next-line:forin for (const i in o) { res++; } @@ -788,6 +794,7 @@ export class CourbeRemous extends Nub { private last(o: any): any { let res: any; + // tslint:disable-next-line:forin for (const i in o) { res = o[i]; } diff --git a/src/section/hauteur.ts b/src/section/hauteur.ts index 0f795923862fbbe25b7b785b23bf7f2f5fb16015..82460e20d35852cdfd7a5d4c835e7aa410af105f 100644 --- a/src/section/hauteur.ts +++ b/src/section/hauteur.ts @@ -1,4 +1,3 @@ -import { Debug } from "../base"; import { Message, MessageCode } from "../util/message"; import { Result } from "../util/result"; import { acNewton } from "./newton"; @@ -7,16 +6,19 @@ import { acSection, cParamsCanal } from "./section_type"; /** * Calcul de la hauteur critique */ +// tslint:disable-next-line:class-name export class cHautCritique extends acNewton { /** * Section sur laquuelle porte le calcul */ + // tslint:disable-next-line:variable-name private Sn: acSection; /** * Constructeur de la classe * @param Sn Section sur laquelle on fait le calcul */ + // tslint:disable-next-line:variable-name constructor(Sn: acSection, maxIter: number, dbg: boolean = false) { super(Sn.prms, maxIter, dbg); this.Sn = Sn.clone(); @@ -34,10 +36,11 @@ export class cHautCritique extends acNewton { // Calcul de la fonction // if (this.Sn.Calc("S", rX) != 0) - if (rS.vCalc == 0) { + if (rS.vCalc === 0) { return new Result(new Message(MessageCode.ERROR_SECTION_SURFACE_NULLE)); } + // tslint:disable-next-line:max-line-length // return (Math.pow(this.Sn.prms.Q.v, 2) * this.Sn.Calc("B", rX) / Math.pow(this.Sn.Calc("S", rX), 3) / cParamsCanal.G - 1); const rB: Result = this.Sn.Calc("B", rX); if (!rB.ok) { @@ -67,7 +70,7 @@ export class cHautCritique extends acNewton { } const S = rS.vCalc; // if (S != 0) { - if (S == 0) { + if (S === 0) { return new Result(new Message(MessageCode.ERROR_SECTION_SURFACE_NULLE)); } @@ -85,6 +88,7 @@ export class cHautCritique extends acNewton { // L'initialisation à partir de rX a été faite lors de l'appel à CalcFn // let Der = (this.Sn.Calc("dB") * S - 3 * B * B); + // tslint:disable-next-line:variable-name const Der = (rDB.vCalc * S - 3 * B * B); const v = Math.pow(this.Sn.prms.Q.v, 2) / cParamsCanal.G * Der / Math.pow(S, 4); return new Result(v); @@ -97,10 +101,12 @@ export class cHautCritique extends acNewton { /** * Calcul de la hauteur normale */ +// tslint:disable-next-line:max-classes-per-file class-name export class cHautNormale extends acNewton { /** - * Section sur laquuelle porte le calcul - */ + * Section sur laquuelle porte le calcul + */ + // tslint:disable-next-line:variable-name private Sn: acSection; /** @@ -111,17 +117,20 @@ export class cHautNormale extends acNewton { /** * Coefficient de Strickler */ + // tslint:disable-next-line:variable-name private Ks: number; /** * Pente du fond */ + // tslint:disable-next-line:variable-name private If: number; /** * Constructeur de la classe * @param oSn Section sur laquelle on fait le calcul */ + // tslint:disable-next-line:variable-name constructor(Sn: acSection, maxIter: number, dbg: boolean = false) { super(Sn.prms, maxIter, dbg); this.Sn = Sn; @@ -136,6 +145,7 @@ export class cHautNormale extends acNewton { */ public CalcFn(rX: number): Result { // Calcul de la fonction + // tslint:disable-next-line:max-line-length // return (this.Q - this.Ks * Math.pow(this.Sn.Calc("R", rX), 2 / 3) * this.Sn.Calc("S", rX) * Math.sqrt(this.If)); const rR: Result = this.Sn.Calc("R", rX); if (!rR.ok) { @@ -174,6 +184,7 @@ export class cHautNormale extends acNewton { // L'initialisation a été faite lors de l'appel à CalcFn // let Der = 2 / 3 * this.Sn.Calc("dR") * Math.pow(this.Sn.Calc("R"), -1 / 3) * this.Sn.Calc("S"); + // tslint:disable-next-line:variable-name let Der = 2 / 3 * rDR.vCalc * Math.pow(rR.vCalc, -1 / 3) * rS.vCalc; const rR2: Result = this.Sn.Calc("R"); @@ -197,6 +208,7 @@ export class cHautNormale extends acNewton { /** * Calcul de la hauteur correspondante (charge égale) */ +// tslint:disable-next-line:max-classes-per-file class-name export class cHautCorrespondante extends acNewton { /** * Tirant d'eau connu @@ -211,6 +223,7 @@ export class cHautCorrespondante extends acNewton { /** * Section contenant les données de la section avec la hauteur à calculer */ + // tslint:disable-next-line:variable-name private Sn: acSection; /** @@ -222,17 +235,18 @@ export class cHautCorrespondante extends acNewton { * Constructeur de la classe * @param oSn Section sur laquelle on fait le calcul */ + // tslint:disable-next-line:variable-name constructor(Sn: acSection, maxIter: number, dbg: boolean = false) { super(Sn.prms, maxIter, dbg); this.Y = Sn.prms.Y.v; // this.rS2 = Math.pow(Sn.Calc("S"), -2); this.Sn = Sn; - this.rS2; // pour initialiser la valeur + this.rS2; // pour initialiser la valeur @WTF (utilise le getter) this.rQ2G = Math.pow(Sn.prms.Q.v, 2) / (2 * cParamsCanal.G); } private get rS2(): Result { - if (this._rS2 == undefined) { + if (this._rS2 === undefined) { const rS = this.Sn.Calc("S"); if (rS.ok) { const v = Math.pow(rS.vCalc, -2); @@ -278,7 +292,7 @@ export class cHautCorrespondante extends acNewton { // L'initialisation a été faite lors de l'appel à CalcFn // if (S != 0) - if (S == 0) { + if (S === 0) { return new Result(new Message(MessageCode.ERROR_SECTION_SURFACE_NULLE)); } @@ -298,8 +312,10 @@ export class cHautCorrespondante extends acNewton { /** * Calcul de la hauteur conjuguée (Impulsion égale) */ +// tslint:disable-next-line:max-classes-per-file class-name export class cHautConjuguee extends acNewton { /** Section contenant les données de la section avec la hauteur à calculer */ + // tslint:disable-next-line:variable-name private Sn: acSection; /** Carré du débit */ @@ -350,6 +366,7 @@ export class cHautConjuguee extends acNewton { return rS3; } + // tslint:disable-next-line:variable-name const Fn = this.rQ2 * (1 / this.rS.vCalc - 1 / rS3.vCalc); const rSYg = this.Sn.Calc("SYg"); @@ -391,6 +408,7 @@ export class cHautConjuguee extends acNewton { } // let Der = this.rQ2 * this.Sn.Calc("dS") * Math.pow(S, -2); + // tslint:disable-next-line:variable-name const Der = this.rQ2 * rDS.vCalc * Math.pow(S, -2); const rDYG: Result = this.Sn.Calc("dSYg", rX); diff --git a/src/section/newton.ts b/src/section/newton.ts index 0d5916468577894d896365ac2448a31d4ebf0338..498bef41807075bf059259afb20ce963b3498628 100644 --- a/src/section/newton.ts +++ b/src/section/newton.ts @@ -4,8 +4,10 @@ import { Result } from "../util/result"; import { ResultElement } from "../util/resultelement"; import { cParamsCanal } from "./section_type"; +// tslint:disable-next-line:class-name export abstract class acNewton extends Debug { protected rTol: number; + // tslint:disable-next-line:variable-name protected Dx: number; private iCpt: number; private iCptMax: number; @@ -87,8 +89,8 @@ export abstract class acNewton extends Debug { } if (this.iCpt >= this.iCptMax) { // non convergence - const m = new Message(MessageCode.ERROR_NEWTON_NON_CONVERGENCE); - const res = new ResultElement(m); + const mess = new Message(MessageCode.ERROR_NEWTON_NON_CONVERGENCE); + const res = new ResultElement(mess); res.addExtraResult("res", rX); return new Result(res); } @@ -99,7 +101,7 @@ export abstract class acNewton extends Debug { } const rDer = rDER.vCalc; - if (rDer != 0) { + if (rDer !== 0) { if (XOR(rFn < 0, this.rFnPrec < 0)) { this.iOscil++; if (this.rRelax > 1) { @@ -112,6 +114,7 @@ export abstract class acNewton extends Debug { } } this.rFnPrec = rFn; + // tslint:disable-next-line:variable-name const Delta = rFn / rDer; // 2^8 = 2E8 ? while (Math.abs(Delta * this.rRelax) < this.rTol && rFn > 10 * this.rTol && this.rRelax < 2E8) { diff --git a/src/section/section_circulaire.ts b/src/section/section_circulaire.ts index 6dea4598b0a6fe5f879b78a8c1a9b82b5ca3afa5..f165d3d535c14948c827048a8a7c40f2f8a53cfb 100644 --- a/src/section/section_circulaire.ts +++ b/src/section/section_circulaire.ts @@ -1,4 +1,3 @@ -import { randomBytes } from "crypto"; import { ParamCalculability, ParamDefinition } from "../param/param-definition"; import { ParamDomainValue } from "../param/param-domain"; import { Message, MessageCode } from "../util/message"; @@ -16,8 +15,8 @@ export class ParamsSectionCirc extends ParamsSection { } /** - * Diamètre du cercle - */ + * Diamètre du cercle + */ get D(): ParamDefinition { return this._D; } @@ -26,6 +25,7 @@ export class ParamsSectionCirc extends ParamsSection { /** * Calculs de la section circulaire */ +// tslint:disable-next-line:max-classes-per-file class-name export class cSnCirc extends acSection { get prms(): ParamsSectionCirc { @@ -35,7 +35,8 @@ export class cSnCirc extends acSection { constructor(prms: ParamsSectionCirc, dbg: boolean = false) { super(prms, dbg); - // commenté car si D est la variable à déterminer, il peut valoir n'importe quoi... if (prms.YB.v > D) { prms.YB.v = D; } // On place la berge au sommet du cercle + // commenté car si D est la variable à déterminer, il peut valoir n'importe + // quoi... if (prms.YB.v > D) { prms.YB.v = D; } // On place la berge au sommet du cercle // if (this.prms.D.isDefined() && this.prms.YB.isDefined()) // this.CalcGeo('B'); @@ -108,6 +109,7 @@ export class cSnCirc extends acSection { * @return B */ protected Calc_P(): Result { + let v; if (!this.bSnFermee && this.isDebordement()) { // On n'ajoute pas le périmètre dans le cas d'une fente de Preissmann // return this.CalcGeo("P") + super.Calc_P_Debordement(this.valeurYDebordement()); @@ -122,7 +124,7 @@ export class cSnCirc extends acSection { return rPDeb; } - const v = rGeoP.vCalc + rPDeb.vCalc; + v = rGeoP.vCalc + rPDeb.vCalc; return new Result(v); } @@ -131,7 +133,7 @@ export class cSnCirc extends acSection { return rAlpha; } - const v = this.prms.D.v * rAlpha.vCalc; + v = this.prms.D.v * rAlpha.vCalc; return new Result(v); } @@ -140,6 +142,7 @@ export class cSnCirc extends acSection { * @return S */ protected Calc_S(): Result { + let v; if (!this.bSnFermee && this.isDebordement()) { // return this.CalcGeo("S") + super.Calc_S_Debordement(this.valeurYDebordement()); const rGeoS: Result = this.CalcGeo("S"); @@ -152,7 +155,7 @@ export class cSnCirc extends acSection { return rSDeb; } - const v = rGeoS.vCalc + rSDeb.vCalc; + v = rGeoS.vCalc + rSDeb.vCalc; return new Result(v); } @@ -163,7 +166,7 @@ export class cSnCirc extends acSection { // return Math.pow(this.prms.D.v, 2) / 4 * (alpha - Math.sin(alpha) * Math.cos(alpha)); const alpha = rAlpha.vCalc; - const v = Math.pow(this.prms.D.v, 2) / 4 * (alpha - Math.sin(alpha) * Math.cos(alpha)); + v = Math.pow(this.prms.D.v, 2) / 4 * (alpha - Math.sin(alpha) * Math.cos(alpha)); return new Result(v); } @@ -221,6 +224,7 @@ export class cSnCirc extends acSection { const alpha = rAlpha.vCalc; + // tslint:disable-next-line:variable-name let SYg = Math.sin(alpha) - Math.pow(Math.sin(alpha), 3) / 3 - alpha * Math.cos(alpha); SYg = Math.pow(this.prms.D.v, 3) / 8 * SYg; return new Result(SYg); @@ -247,6 +251,7 @@ export class cSnCirc extends acSection { const cos = Math.cos(alpha); const sin = Math.sin(alpha); + // tslint:disable-next-line:variable-name let SYg = dAlpha * cos; SYg += - dAlpha * cos * Math.pow(sin, 2); SYg += - dAlpha * cos + alpha * dAlpha * sin; @@ -260,7 +265,8 @@ export class cSnCirc extends acSection { * au cas où le canal soit "enterré" (côte de berge > diamètre) */ private valeurYDebordement(): number { - return this.prms.Y.v - Math.min(this.prms.YB.v, this.prms.D.v); // >= 0 par définition, et toujours vrai car utilisé après test isDebordement() + return this.prms.Y.v - Math.min(this.prms.YB.v, this.prms.D.v); + // >= 0 par définition, et toujours vrai car utilisé après test isDebordement() } /** diff --git a/src/section/section_nub.ts b/src/section/section_nub.ts index 4d9317338ad46cb78fc669e25390f8716dd1083b..478b00495ee18edd4c70803eb6b3152e43f10d0e 100644 --- a/src/section/section_nub.ts +++ b/src/section/section_nub.ts @@ -228,8 +228,7 @@ export class SectionParametree extends Nub { const r: Result = this._section.Calc(varCalc, Y); if (r.ok) { re.addExtraResult(varCalc, r.vCalc); - } - else { + } else { re.log.addLog(r.log); } } diff --git a/src/section/section_puissance.ts b/src/section/section_puissance.ts index 1f0f66fb3327f9385a58cb92148065acc05544a1..1e1a285b7f0c2eb1269b4216fb0dafebe61e56ec 100644 --- a/src/section/section_puissance.ts +++ b/src/section/section_puissance.ts @@ -9,7 +9,9 @@ import { acSection, ParamsSection } from "./section_type"; export class ParamsSectionPuiss extends ParamsSection { private _k: ParamDefinition; // Coefficient de forme compris entre 0 et 1 - constructor(rk: number, rY: number, rLargeurBerge: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number) { + constructor(rk: number, rY: number, rLargeurBerge: number, rKs: number, rQ: number, + rIf: number, rPrec: number, rYB: number) { + super(rY, rLargeurBerge, rKs, rQ, rIf, rPrec, rYB); this._k = new ParamDefinition("k", new ParamDomain(ParamDomainValue.INTERVAL, 0, 1), rk); @@ -17,8 +19,8 @@ export class ParamsSectionPuiss extends ParamsSection { } /** - * Coefficient de forme compris entre 0 et 1 - */ + * Coefficient de forme compris entre 0 et 1 + */ get k(): ParamDefinition { return this._k; } @@ -27,6 +29,7 @@ export class ParamsSectionPuiss extends ParamsSection { /** * Calculs de la section parabolique ou "puissance" */ +// tslint:disable-next-line:max-classes-per-file class-name export class cSnPuiss extends acSection { protected nbDessinPoints = 50; @@ -81,10 +84,13 @@ export class cSnPuiss extends acSection { } const n = 100; /// Le nombre de partie pour le calcul de l'intégrale + // tslint:disable-next-line:variable-name const Lambda2 = Math.pow(rAlpha.vCalc, 2); let P = 0; /// Le périmètre à calculer + // tslint:disable-next-line:variable-name let Previous = 0; for (let i = 1; i <= n; i++) { + // tslint:disable-next-line:variable-name const Current = Math.pow(this.prms.Y.v * i / n, this.prms.k.v) / 2; P += Math.sqrt(Math.pow(n, -2) + Lambda2 * Math.pow(Current - Previous, 2)); Previous = Current; @@ -172,6 +178,7 @@ export class cSnPuiss extends acSection { const k = this.prms.k.v; const Y = this.prms.Y.v; + // tslint:disable-next-line:variable-name const SYg = rDAlpha.vCalc * Math.pow(Y, k + 2) + rAlpha.vCalc * Math.pow(Y, k + 1) * (k + 2); const v = SYg / ((k + 1) * (k + 2)); return new Result(v); diff --git a/src/section/section_rectang.ts b/src/section/section_rectang.ts index aad38bc5ede2be91cf35f1215fac13a3bc78e603..5207edffa7fccaa868b8fb11b8f2fd7e0230b1c9 100644 --- a/src/section/section_rectang.ts +++ b/src/section/section_rectang.ts @@ -2,7 +2,9 @@ import { Result } from "../util/result"; import { acSection, ParamsSection } from "./section_type"; export class ParamsSectionRectang extends ParamsSection { - constructor(rY: number, rLargeurFond: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number) { + constructor(rY: number, rLargeurFond: number, rKs: number, rQ: number, rIf: number, + rPrec: number, rYB: number) { + super(rY, rLargeurFond, // LargeurBerge=LargeurFond rKs, rQ, rIf, rPrec, rYB); @@ -12,6 +14,7 @@ export class ParamsSectionRectang extends ParamsSection { /** * Calculs de la section rectangulaire */ +// tslint:disable-next-line:max-classes-per-file class-name export class cSnRectang extends acSection { constructor(prms: ParamsSectionRectang, dbg: boolean = false) { super(prms, dbg); diff --git a/src/section/section_trapez.ts b/src/section/section_trapez.ts index 554e495a41fbb403cd1b077e140c6988a7d37a72..8da343f23d4b57cd897f43c3688ddec3137e2c7a 100644 --- a/src/section/section_trapez.ts +++ b/src/section/section_trapez.ts @@ -7,7 +7,9 @@ export class ParamsSectionTrapez extends ParamsSection { private _LargeurFond: ParamDefinition; // Largeur au fond private _Fruit: ParamDefinition; // Fruit des berges - constructor(rLargeurFond: number, rFruit: number, rY: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number) { + constructor(rLargeurFond: number, rFruit: number, rY: number, rKs: number, + rQ: number, rIf: number, rPrec: number, rYB: number) { + super(rY, undefined, rKs, rQ, rIf, rPrec, rYB); this._LargeurFond = new ParamDefinition("LargeurFond", ParamDomainValue.POS_NULL, rLargeurFond); this._Fruit = new ParamDefinition("Fruit", ParamDomainValue.POS_NULL, rFruit); @@ -17,15 +19,15 @@ export class ParamsSectionTrapez extends ParamsSection { } /** - * Largeur au fond - */ + * Largeur au fond + */ get LargeurFond(): ParamDefinition { return this._LargeurFond; } /** - * Fruit des berges - */ + * Fruit des berges + */ get Fruit(): ParamDefinition { return this._Fruit; } @@ -34,6 +36,7 @@ export class ParamsSectionTrapez extends ParamsSection { /** * Calculs de la section trapézoïdale */ +// tslint:disable-next-line:max-classes-per-file class-name export class cSnTrapez extends acSection { get prms(): ParamsSectionTrapez { @@ -50,12 +53,13 @@ export class cSnTrapez extends acSection { } protected Calc_B(): Result { + let v; if (this.isDebordement()) { - const v = this.prms.LargeurFond.v + 2 * this.prms.Fruit.v * this.prms.YB.v; + v = this.prms.LargeurFond.v + 2 * this.prms.Fruit.v * this.prms.YB.v; return new Result(v); } - const v = this.prms.LargeurFond.v + 2 * this.prms.Fruit.v * this.prms.Y.v; + v = this.prms.LargeurFond.v + 2 * this.prms.Fruit.v * this.prms.Y.v; return new Result(v); } @@ -64,6 +68,7 @@ export class cSnTrapez extends acSection { * @return Périmètre mouillé (m) */ protected Calc_P(): Result { + let v; if (this.isDebordement()) { // return this.CalcGeo("P") + super.Calc_P_Debordement(this.prms.Y.v - this.prms.YB.v); @@ -77,11 +82,11 @@ export class cSnTrapez extends acSection { return rPDeb; } - const v = rGeoP.vCalc + rPDeb.vCalc; + v = rGeoP.vCalc + rPDeb.vCalc; return new Result(v); } - const v = this.prms.LargeurFond.v + 2 * Math.sqrt(1 + Math.pow(this.prms.Fruit.v, 2)) * this.prms.Y.v; + v = this.prms.LargeurFond.v + 2 * Math.sqrt(1 + Math.pow(this.prms.Fruit.v, 2)) * this.prms.Y.v; return new Result(v); } @@ -90,6 +95,7 @@ export class cSnTrapez extends acSection { * @return Surface mouillée (m2) */ protected Calc_S(): Result { + let v; if (this.isDebordement()) { // return this.CalcGeo("S") + super.Calc_S_Debordement(this.prms.Y.v - this.prms.YB.v); const rGeoS: Result = this.CalcGeo("S"); @@ -102,11 +108,11 @@ export class cSnTrapez extends acSection { return rSDeb; } - const v = rGeoS.vCalc + rSDeb.vCalc; + v = rGeoS.vCalc + rSDeb.vCalc; return new Result(v); } - const v = this.prms.Y.v * (this.prms.LargeurFond.v + this.prms.Fruit.v * this.prms.Y.v); + v = this.prms.Y.v * (this.prms.LargeurFond.v + this.prms.Fruit.v * this.prms.Y.v); return new Result(v); } @@ -155,7 +161,8 @@ export class cSnTrapez extends acSection { * @return S x Yg */ protected Calc_SYg(): Result { - const v = (this.prms.LargeurFond.v / 2 + this.prms.Fruit.v * this.prms.Y.v / 3) * Math.pow(this.prms.Y.v, 2); + const v = (this.prms.LargeurFond.v / 2 + this.prms.Fruit.v * this.prms.Y.v / 3) + * Math.pow(this.prms.Y.v, 2); return new Result(v); } @@ -165,6 +172,7 @@ export class cSnTrapez extends acSection { * @return S x Yg */ protected Calc_dSYg(): Result { + // tslint:disable-next-line:variable-name let SYg = this.prms.Fruit.v / 3 * Math.pow(this.prms.Y.v, 2); SYg += (this.prms.LargeurFond.v / 2 + this.prms.Fruit.v * this.prms.Y.v / 3) * 2 * this.prms.Y.v; return new Result(SYg); diff --git a/src/section/section_type.ts b/src/section/section_type.ts index ec73bc21ee3006d7dcf35f3bce5a66b777b66c64..e5dcc6a05c525549a934719897778a2b472731cf 100644 --- a/src/section/section_type.ts +++ b/src/section/section_type.ts @@ -250,13 +250,13 @@ export abstract class acSection extends ComputeNode { this.debug("in calcFromY(" + sDonnee + ", rY=" + rY + ") old " + sDonnee + "=" + this.arCalc[sDonnee]); this.debug("this.Y=" + this.prms.Y.toString()); - if (rY != undefined && (!this.prms.Y.isDefined || (this.prms.Y.isDefined && rY != this.prms.Y.v))) { + if (rY !== undefined && (!this.prms.Y.isDefined || (this.prms.Y.isDefined && rY !== this.prms.Y.v))) { this.prms.Y.v = rY; // On efface toutes les données dépendantes de Y pour forcer le calcul this.Reset(false); } let res; - if (this.arCalc[sDonnee] == undefined) { + if (this.arCalc[sDonnee] === undefined) { // La donnée a besoin d'être calculée switch (sDonnee) { case "I-J": // Variation linéaire de l'énergie spécifique (I-J) en m/m @@ -310,12 +310,12 @@ export abstract class acSection extends ComputeNode { this.debug("this.Y=" + this.prms.Y.toString()); // Si la largeur aux berges n'a pas encore été calculée, on commence par ça - if (sDonnee !== "B" && this.arCalcGeo.B == undefined) { + if (sDonnee !== "B" && this.arCalcGeo.B === undefined) { this.CalcGeo("B"); } let res: Result; - if (this.arCalcGeo[sDonnee] == undefined) { + if (this.arCalcGeo[sDonnee] === undefined) { // La donnée a besoin d'être calculée this.Swap(true); // On mémorise les données hydrauliques en cours this.Reset(false); @@ -846,6 +846,7 @@ export abstract class acSection extends ComputeNode { res = Y0; } else { // let Yco = oHautConj.Newton(Y0); + // tslint:disable-next-line:variable-name const Yco: Result = oHautConj.Newton(Y0.vCalc); // if (Yco == undefined || !oHautConj.hasConverged()) { diff --git a/src/session_nub.ts b/src/session_nub.ts index f9aedd3eb5f5329ffc2a5e382bba0e8b4bb94735..c9a0bea5f2ed4659c4d8899503d548fd708b062c 100644 --- a/src/session_nub.ts +++ b/src/session_nub.ts @@ -222,7 +222,7 @@ export class SessionNub { /** * liste des valeurs(paramètre, résultat, résultat complémentaire) liables à un paramètre * @param src objet qui sert de clé de recherche des paramètres liables, de type INamedObject | string - * @returns tableau d'objets de la forme { "value":NamedIterableValues, "nub":Nub}, + * @returns tableau d'objets de la forme { "value":INamedIterableValues, "nub":Nub}, * nub=Nub d'origine de la "value" * * l'étiquette "name" est de la forme <n|N1>[.[N2]] diff --git a/src/structure/parallel_structure.ts b/src/structure/parallel_structure.ts index 9b2c4e165aed224878246a8f3dc7975886a92b2f..ce52378ad39882307008205a533d666d82e0c8e2 100644 --- a/src/structure/parallel_structure.ts +++ b/src/structure/parallel_structure.ts @@ -5,7 +5,7 @@ import { ParallelStructureParams } from "./parallel_structure_params"; import { Structure } from "./structure"; import { BaseParam } from "../param/param-base"; -import { NamedIterableValues } from "../param/param-value-iterator"; +import { INamedIterableValues } from "../param/param-value-iterator"; import { ParamValues } from "../param/param-values"; import { IParamDefinitionIterator, ParamsEquation, ParamsEquationArrayIterator } from "../param/params-equation"; @@ -221,7 +221,7 @@ export class ParallelStructure extends Nub { } // interface IReferencedNub - public getReferencedObject(desc: string): NamedIterableValues { + public getReferencedObject(desc: string): INamedIterableValues { try { // analyse n.X const i: IStructureVarCalc = this.getStructureVarCalc(desc); @@ -269,7 +269,7 @@ export class ParallelStructure extends Nub { * liste des valeurs (paramètre, résultat, résultat complémentaire) liables à un paramètre * @param src objet qui sert de clé de recherche des paramètres liables, de type INamedObject | string * @returns tableau d'objets de la forme : - * { "name":string, "value":NamedIterableValues, "nub":Nub}, nub=Nub d'origine de la "value" + * { "name":string, "value":INamedIterableValues, "nub":Nub}, nub=Nub d'origine de la "value" */ public getLinkableValues(src: any): any[] { // paramètres liables de ce Nub diff --git a/src/util/definedvalue.ts b/src/util/definedvalue.ts index fb27faaa1511d3eadbd2a094c171ec0348fa8675..9c180f88931228dd617105ea55d95f38551c5200 100644 --- a/src/util/definedvalue.ts +++ b/src/util/definedvalue.ts @@ -1,7 +1,7 @@ export class DefinedValue<T> { get isDefined() { - return this._value != undefined; + return this._value !== undefined; } get uncheckedValue() { @@ -17,7 +17,7 @@ export class DefinedValue<T> { } private _value: T; - constructor(v: T = undefined) { + constructor(v?: T) { this._value = v; } @@ -39,7 +39,7 @@ export class DefinedValue<T> { * (et donc pour pouvoir éventuellement appeler l'accesseur parent) */ protected getValue(): T { - if (this._value == undefined) { + if (this._value === undefined) { throw new Error("undefined value"); } @@ -56,14 +56,17 @@ export class DefinedValue<T> { } } +// tslint:disable-next-line:max-classes-per-file export class DefinedBoolean extends DefinedValue<boolean> { } +// tslint:disable-next-line:max-classes-per-file export class DefinedNumber extends DefinedValue<number> { } +// tslint:disable-next-line:max-classes-per-file export class DefinedString extends DefinedValue<string> { - constructor(v: any = undefined) { - super(v == undefined ? v : String(v)); + constructor(v?: any) { + super(v === undefined ? v : String(v)); } } diff --git a/src/util/enum.ts b/src/util/enum.ts index 04a2699ac4126c94f3f9ae5015df4aae34329327..fe4f62117e7b754fd434e3faa2dce18221a46cdc 100644 --- a/src/util/enum.ts +++ b/src/util/enum.ts @@ -1,21 +1,21 @@ /** * classe d'itérateurs pour les enums * cf. https://stackoverflow.com/questions/21293063/how-to-programmatically-enumerate-an-enum-type-in-typescript-0-9-5#21294925 - - utilisation : - - for (const v of EnumEx.getValues(MonTypeEnum)) { - console.log(v); - } - - for (const n of EnumEx.getNames(MonTypeEnum)) { - console.log(n); - } - - for (const c of EnumEx.getNamesAndValues(MonTypeEnum)) { - console.log(c.name); - console.log(c.value); - } + * + * utilisation : + * + * for (const v of EnumEx.getValues(MonTypeEnum)) { + * console.log(v); + * } + * + * for (const n of EnumEx.getNames(MonTypeEnum)) { + * console.log(n); + * } + * + * for (const c of EnumEx.getNamesAndValues(MonTypeEnum)) { + * console.log(c.name); + * console.log(c.value); + * } */ export class EnumEx { /** diff --git a/src/util/interval.ts b/src/util/interval.ts index 7ac34df3f90999971eb6471c1b45c41a823b1c8d..8b2a78a1622f4d4dbe0a2626bcfc7940bf69aa2a 100644 --- a/src/util/interval.ts +++ b/src/util/interval.ts @@ -10,7 +10,7 @@ export class Interval extends Pair { } public checkValue(v: number) { - if (v == undefined) { + if (v === undefined) { const e = new Message(MessageCode.ERROR_INTERVAL_UNDEF); throw e; } diff --git a/src/util/log.ts b/src/util/log.ts index 4044871f5a5bcbf4bfdd935a43a1271a88974bb4..f7e346b0643492e3a97728c17efd4ede92514c3c 100644 --- a/src/util/log.ts +++ b/src/util/log.ts @@ -1,5 +1,6 @@ import { Message, MessageCode } from "./message"; +// tslint:disable-next-line:class-name export class cLog { private _messages: Message[] = []; diff --git a/src/util/numericalstring.ts b/src/util/numericalstring.ts index c60d63b4df7dea27305d1abb53b391623316d33e..9c35a4e91cb42c4122cea60603c1803af873a38a 100644 --- a/src/util/numericalstring.ts +++ b/src/util/numericalstring.ts @@ -1,9 +1,9 @@ -import { DefinedBoolean, DefinedString, DefinedValue } from "./definedvalue"; +import { DefinedBoolean, DefinedString } from "./definedvalue"; export class NumericalString extends DefinedString { private get isNumericalFlag(): DefinedBoolean { - if (this._isNumericalFlag == undefined) { + if (this._isNumericalFlag === undefined) { this._isNumericalFlag = new DefinedBoolean(); } return this._isNumericalFlag; @@ -42,7 +42,7 @@ export class NumericalString extends DefinedString { } private _isNumericalFlag: DefinedBoolean; - constructor(s: any = undefined) { + constructor(s?: any) { super(s); } diff --git a/src/util/observer.ts b/src/util/observer.ts index bc9193f9ed8b0d2921544e8fcda65757440c3599..e3f71f218bb3f7fc60a1675767b7f41d4a0f9c60 100644 --- a/src/util/observer.ts +++ b/src/util/observer.ts @@ -1,3 +1,4 @@ +// tslint:disable-next-line:interface-name export interface Observer { update(sender: any, data: any): void; } diff --git a/src/util/result.ts b/src/util/result.ts index b16c054fe912179a4597a10952489bf600911ea7..7208a088070db82781d624bf75e01fecf831c70f 100644 --- a/src/util/result.ts +++ b/src/util/result.ts @@ -1,6 +1,6 @@ import { JalhydObject } from "../jalhyd_object"; // tslint:disable-next-line:max-line-length -import { NamedIterableValues, NumberArrayIterator, NumberArrayReverseIterator, NumberIterator } from "../param/param-value-iterator"; +import { INamedIterableValues, INumberIterator, NumberArrayIterator, NumberArrayReverseIterator } from "../param/param-value-iterator"; import { cLog } from "./log"; import { Message, MessageCode, MessageSeverity } from "./message"; import { ResultElement } from "./resultelement"; @@ -10,7 +10,7 @@ import { ResultElement } from "./resultelement"; * Peut comporter un ou plusieurs Result. */ // tslint:disable-next-line:max-classes-per-file -export class Result extends JalhydObject implements NamedIterableValues { +export class Result extends JalhydObject implements INamedIterableValues { /** * Messages (erreurs, infos, ...) */ @@ -26,7 +26,7 @@ export class Result extends JalhydObject implements NamedIterableValues { /** * itérateur sur les valeurs des ResultElements */ - private _iterator: NumberIterator; + private _iterator: INumberIterator; constructor(v?: number | Message | ResultElement, d?: any) { super(); @@ -270,23 +270,23 @@ export class Result extends JalhydObject implements NamedIterableValues { return false; } - // interface NamedIterableValues + // interface INamedIterableValues - public get valuesIterator(): NumberIterator { + public get valuesIterator(): INumberIterator { const tmp: number[] = []; for (const re of this._resultElements) { tmp.push(re.vCalc); } - return tmp[Symbol.iterator]() as NumberIterator; + return tmp[Symbol.iterator]() as INumberIterator; } public get hasMultipleValues(): boolean { return this._resultElements.length > 1; } - // interface NamedIterableValues pour les résultats complémentaires + // interface INamedIterableValues pour les résultats complémentaires - public getIterableExtraResults(name: string): NamedIterableValues { + public getIterableExtraResults(name: string): INamedIterableValues { const res = new ExtraResults(name); let found = false; @@ -305,7 +305,7 @@ export class Result extends JalhydObject implements NamedIterableValues { return undefined; } - public initValuesIterator(reverse: boolean = false): NumberIterator { + public initValuesIterator(reverse: boolean = false): INumberIterator { const vals: number[] = []; for (const r of this._resultElements) { vals.push(r.vCalc); @@ -344,7 +344,7 @@ export class Result extends JalhydObject implements NamedIterableValues { * série de valeurs de résultat complémentaire */ // tslint:disable-next-line:max-classes-per-file -export class ExtraResults extends JalhydObject implements NamedIterableValues { +export class ExtraResults extends JalhydObject implements INamedIterableValues { private _name: string; private _values: number[]; @@ -352,7 +352,7 @@ export class ExtraResults extends JalhydObject implements NamedIterableValues { /** * itérateur courant */ - private _iterator: NumberIterator; + private _iterator: INumberIterator; constructor(n: string) { super(); @@ -364,10 +364,10 @@ export class ExtraResults extends JalhydObject implements NamedIterableValues { this._values.push(v); } - // interface NamedIterableValues + // interface INamedIterableValues - public get valuesIterator(): NumberIterator { - return this._values[Symbol.iterator]() as NumberIterator; + public get valuesIterator(): INumberIterator { + return this._values[Symbol.iterator]() as INumberIterator; } public get hasMultipleValues(): boolean { @@ -378,7 +378,7 @@ export class ExtraResults extends JalhydObject implements NamedIterableValues { return this._name; } - public initValuesIterator(reverse: boolean = false): NumberIterator { + public initValuesIterator(reverse: boolean = false): INumberIterator { if (reverse) { this._iterator = new NumberArrayReverseIterator(this._values); } else { diff --git a/src/value_ref/object_ref.ts b/src/value_ref/object_ref.ts index 1d875f03d8da3cdf8d84482b9267995a272dfd72..678f48fb9d51eb311b2791cae4e9977bd0cef2d0 100644 --- a/src/value_ref/object_ref.ts +++ b/src/value_ref/object_ref.ts @@ -1,5 +1,4 @@ -import { Nub } from "../nub"; -import { NamedIterableValues, NumberIterator } from "../param/param-value-iterator"; +import { INamedIterableValues, INumberIterator } from "../param/param-value-iterator"; import { ParamValues } from "../param/param-values"; import { Result } from "../util/result"; @@ -47,12 +46,12 @@ export interface IReferencedNub { /** * itérateur sur les valeurs */ - getReferencedValuesIterator(desc: string): NumberIterator; + getReferencedValuesIterator(desc: string): INumberIterator; /** * objet (paramètre/résultat/résultat complémentaire) référencé */ - getReferencedObject(desc: string): NamedIterableValues; + getReferencedObject(desc: string): INamedIterableValues; } /** @@ -88,12 +87,12 @@ export interface INubReference { /** * itérateur sur les valeurs référencées */ - readonly referencedValuesIterator: NumberIterator; + readonly referencedValuesIterator: INumberIterator; /** * objet (paramètre/résultat/résultat complémentaire) référencé */ - readonly referencedObject: NamedIterableValues; + readonly referencedObject: INamedIterableValues; /** * définition de la valeur référencée dans le Nub @@ -137,7 +136,7 @@ export class NubReference implements INubReference { } public get isReferenceDefined(): boolean { - return this._referencedNub != undefined && this._refDefinition != undefined; + return this._referencedNub !== undefined && this._refDefinition !== undefined; } /** @@ -182,14 +181,14 @@ export class NubReference implements INubReference { /** * itérateur sur les valeurs référencées */ - public get referencedValuesIterator(): NumberIterator { + public get referencedValuesIterator(): INumberIterator { return this._referencedNub.getReferencedValuesIterator(this._refDefinition); } /** * objet (paramètre/résultat/résultat complémentaire) référencé */ - public get referencedObject(): NamedIterableValues { + public get referencedObject(): INamedIterableValues { return this._referencedNub.getReferencedObject(this._refDefinition); } }