diff --git a/spec/tsconfig.spec.json b/spec/tsconfig.spec.json index 715af20a687265836a0d9fd23b17a82202e0292a..e4dd293248da9879ea2970dd62d2ace4a9c75a51 100644 --- a/spec/tsconfig.spec.json +++ b/spec/tsconfig.spec.json @@ -1,11 +1,11 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "outDir": "../build", - "types": [ - // "jasmine", - "node" // pour pouvoir utiliser node dans le code - ] + "outDir": "../build" +// "types": [ +// // "jasmine", +// "node" // les paquets listés dans types LIMITENT les includes à ces paquets +// ] }, // "files": [ // "test.ts" diff --git a/src/index.ts b/src/index.ts index 36acf01cb7ca0d9ea986cc65e20ae3e71f022b7a..c3881b8c41acf781e6673e4c4b89fa52e9fb80ca 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,4 +8,4 @@ export * from './regime_uniforme'; export * from './util/definedvalue'; export * from './util/numericalstring'; export * from './util/error'; -export * from './internationalisation'; + diff --git a/src/internationalisation.ts b/src/internationalisation.ts deleted file mode 100644 index cb8f93320d4776fac2f36ad39cfb4059858b7198..0000000000000000000000000000000000000000 --- a/src/internationalisation.ts +++ /dev/null @@ -1,344 +0,0 @@ -import { Result } from "./base"; -import { ErrorMessage, ErrorCode } from "./util/error"; - -import * as fs from 'fs'; - -export enum Language { - FRENCH, - - ENGLISH, -} - -export class Internationalisation { - private _lang: Language; - private _sLang: string; - private static _instance: Internationalisation; - private _errorMessages: { [key: string]: string }; - - private constructor() { } - - public static getInstance(): Internationalisation { - if (this._instance == undefined) - this._instance = new Internationalisation(); - return this._instance; - } - - public get lang() { - return this._lang; - } - - public set lang(l: Language) { - this._lang = l; - this._sLang = Language[l]; - } - - public setLocale(loc: string) { - let l: string = loc.substr(0, 2).toLowerCase(); - if (l === "en") - this.lang = Language.ENGLISH; - else if (l === "fr") - this.lang = Language.FRENCH; - else { - let e = new ErrorMessage(ErrorCode.ERROR_LANG_UNSUPPORTED); - e.extraVar["locale"] = loc; - throw e; - } - - this.loadErrorMessages(); - } - - private loadErrorMessages() { - let l; - switch (this.lang) { - case Language.FRENCH: - l = "fr"; - break; - - default: - l = "en"; - } - - let s: string = fs.readFileSync("src/error_messages." + l + ".json", "utf8"); - this._errorMessages = JSON.parse(s); - } - - private getErrorMessageFromCode(c: ErrorCode): string { - let sCode: string = ErrorCode[c]; - return this._errorMessages[ErrorCode[c]]; - } - - private replaceAll(str: string, find: string, replace: string) { - return str.replace(new RegExp(find, 'g'), replace); - } - - public localizeErrorMessage(r: ErrorMessage): string { - let sCode: string = ErrorCode[r.code]; - let m: string = this.getErrorMessageFromCode(r.code); - - for (let k in r.extraVar) { - m = this.replaceAll(m, "%" + k + "%", r.extraVar[k]); - } - - return m; - } - - /* - public localizeErrorMessage(r: ErrorMessage): string { - let m: string; - let sCode: string = ErrorCode[r.code]; - - switch (this.lang) { - case Language.ENGLISH: - switch (r.code) { - case ErrorCode.ERROR_DICHO_INIT_DOMAIN: - m = "Dichotomy : target " + r.extraVar["targetSymbol"]; - m += "=" + r.extraVar["targetValue"]; - m += " does not exist for variable " + r.extraVar["variableSymbol"]; - m += " valued in interval " + r.extraVar["variableInterval"]; - break; - - case ErrorCode.ERROR_DICHO_INITVALUE_HIGH: - case ErrorCode.ERROR_DICHO_INITVALUE_LOW: - m = "Dichotomy : initial value " + r.extraVar["variableSymbol"]; - m += "=" + r.extraVar["variableInitValue"]; - if (r.code == ErrorCode.ERROR_DICHO_INITVALUE_HIGH) - m += " is too high"; - else if (r.code == ErrorCode.ERROR_DICHO_INITVALUE_LOW) - m += " is too low"; - - m += " (target is " + r.extraVar["targetSymbol"]; - m += "=" + r.extraVar["targetValue"]; - m += ", " + r.extraVar["targetSymbol"]; - m += "(" + r.extraVar["variableSymbol"]; - m += "=" + r.extraVar["variableInitValue"] - m += ")=" + r.extraVar["initTarget"] + ")"; - break; - - - case ErrorCode.ERROR_DICHO_NULL_STEP: - m = "Dichotomy (initial interval search) : invalid null step"; - break; - - case ErrorCode.ERROR_DICHO_INVALID_STEP_GROWTH: - m = "Dichotomy (initial interval search) : invalid null step growth"; - break; - - case ErrorCode.ERROR_DICHO_FUNCTION_VARIATION: - m = "unable to determinate function direction of variation"; - break; - - case ErrorCode.ERROR_PARAMDOMAIN_INTERVAL_BOUNDS: - m = "invalid "; - m += String(r.extraVar["minValue"]); - m += "/"; - m += String(r.extraVar["maxValue"]); - m += " min/max boundaries for 'interval' parameter definition domain"; - break; - - case ErrorCode.ERROR_PARAMDEF_CALC_UNDEFINED: - m = "calculability of '"; - m += r.extraVar["symbol"]; - m += "' parameter is undefined"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_UNDEFINED: - m = "value of '"; - m += r.extraVar["symbol"]; - m += "' parameter is undefined"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_FIXED: - m = "value of '"; - m += r.extraVar["symbol"]; - m += "' parameter cannot be changed"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_POS: - m = "value "; - m += String(r.extraVar["value"]); - m += " of '"; - m += r.extraVar["symbol"]; - m += "' parameter is invalid "; - m += " (cannot be <=0)"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_POSNULL: - m = "value "; - m += String(r.extraVar["value"]); - m += " of '"; - m += r.extraVar["symbol"]; - m += "' parameter is invalid "; - m += " (cannot be <0)"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_NULL: - m = "value of '"; - m += r.extraVar["symbol"]; - m += "' parameter cannot be 0"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_INTERVAL: - m = "parameter '"; - m += r.extraVar["symbol"]; - m += "' : value "; - m += r.extraVar["value"]; - m += " is out of ["; - m += r.extraVar["minValue"]; - m += ", "; - m += r.extraVar["maxValue"]; - m += "] interval"; - break; - - case ErrorCode.ERROR_PARAMDOMAIN_INVALID: - m = "parameter '"; - m += r.extraVar["symbol"]; - m += "' : non supported '"; - m += r.extraVar["domain"]; - m += "' definition domain"; - break; - - case ErrorCode.ERROR_INTERVAL_UNDEF: - m = "Interval : invalid 'undefined' value"; - break; - - case ErrorCode.ERROR_INTERVAL_OUTSIDE: - m = "Interval : value "; - m += r.extraVar["value"]; - m += " is outside of "; - m += r.extraVar["interval"]; - break; - - default: - throw "unprocessed ResultCode value " + sCode + " for language " + this._sLang; - } - break; - - case Language.FRENCH: - switch (r.code) { - case ErrorCode.ERROR_DICHO_INIT_DOMAIN: - m = "Dichotomie : la valeur cible " + r.extraVar["targetSymbol"]; - m += "=" + r.extraVar["targetValue"]; - m += " n'existe pas pour la variable " + r.extraVar["variableSymbol"] + " prise dans l'intervalle " + r.extraVar["variableInterval"]; - break; - - case ErrorCode.ERROR_DICHO_INITVALUE_HIGH: - case ErrorCode.ERROR_DICHO_INITVALUE_LOW: - m = "Dichotomie : la valeur initiale " + r.extraVar["variableSymbol"]; - m += "=" + r.extraVar["variableInitValue"]; - if (r.code == ErrorCode.ERROR_DICHO_INITVALUE_HIGH) - m += " est trop grande"; - else if (r.code == ErrorCode.ERROR_DICHO_INITVALUE_LOW) - m += " est trop petite"; - - m += " (la valeur cible est " + r.extraVar["targetSymbol"]; - m += "=" + r.extraVar["targetValue"]; - m += ", " + r.extraVar["targetSymbol"]; - m += "(" + r.extraVar["variableSymbol"]; - m += "=" + r.extraVar["variableInitValue"] - m += ")=" + r.extraVar["initTarget"] + ")"; - break; - - case ErrorCode.ERROR_DICHO_NULL_STEP: - m = "Dichotomie : le pas pour la recherche de l'intervalle de départ ne devrait pas être nul"; - break; - - case ErrorCode.ERROR_DICHO_INVALID_STEP_GROWTH: - m = "Dichotomie : l'augmentation du pas pour la recherche de l'intervalle de départ est incorrecte (=0)"; - break; - - case ErrorCode.ERROR_DICHO_FUNCTION_VARIATION: - m = "Dichotomie : impossible de determiner le sens de variation de la fonction"; - break; - - case ErrorCode.ERROR_PARAMDOMAIN_INTERVAL_BOUNDS: - m = "Les bornes ("; - m += String(r.extraVar["minValue"]); - m += "/"; - m += String(r.extraVar["maxValue"]); - m += ") de l'intervalle sont incorrectes"; - break; - - case ErrorCode.ERROR_PARAMDEF_CALC_UNDEFINED: - m = "La calculabilité du paramètre "; - m += r.extraVar["symbol"]; - m += " n'est pas définie"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_UNDEFINED: - m = "La valeur du paramètre "; - m += r.extraVar["symbol"]; - m += " n'est pas définie"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_FIXED: - m = "La valeur du paramètre "; - m += r.extraVar["symbol"]; - m += " ne peut pas être changée"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_POS: - m = "La valeur "; - m += String(r.extraVar["value"]); - m += " du paramètre '"; - m += r.extraVar["symbol"]; - m += "' est incorrecte (<=0)"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_POSNULL: - m = "La valeur "; - m += String(r.extraVar["value"]); - m += " du paramètre '"; - m += r.extraVar["symbol"]; - m += "' est incorrecte (<0)"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_NULL: - m = "La valeur du paramètre '"; - m += r.extraVar["symbol"]; - m += "' ne peut pas être nulle"; - break; - - case ErrorCode.ERROR_PARAMDEF_VALUE_INTERVAL: - m = "Paramètre '"; - m += r.extraVar["symbol"]; - m += "' : la valeur "; - m += r.extraVar["value"]; - m += " est en dehors de l'intervalle ["; - m += r.extraVar["minValue"]; - m += ", "; - m += r.extraVar["maxValue"]; - m += "]"; - break; - - case ErrorCode.ERROR_PARAMDOMAIN_INVALID: - m = "Paramètre '"; - m += r.extraVar["symbol"]; - m += "' : le domaine de définition '"; - m += r.extraVar["domain"]; - m += "' est incorrect"; - break; - - case ErrorCode.ERROR_INTERVAL_UNDEF: - m = "Interval : valeur 'undefined' incorrecte"; - break; - - case ErrorCode.ERROR_INTERVAL_OUTSIDE: - m = "Interval : la valeur "; - m += r.extraVar["value"]; - m += " est hors de l'intervalle "; - m += r.extraVar["interval"]; - break; - - default: - throw "unprocessed ResultCode value " + sCode + " for language " + this._sLang; - } - break; - - default: - throw "unprocessed Language value " + this._sLang; - } - - return m; - } - */ -} diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json index 8d4696423d9944cb99c348fb094a5b7d5bbadec1..c1d5fa6f4a5e28a1db9722c74082f6eceb8915dc 100644 --- a/src/tsconfig.app.json +++ b/src/tsconfig.app.json @@ -1,9 +1,9 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "types": [ - "node" // pour pouvoir utiliser node dans le code - ], +// "types": [ +// "node" // les paquets listés dans types LIMITENT les includes à ces paquets +// ], "removeComments": false, "declaration": true // génère le fichier .d.ts à partir de index.ts },