1234567891011121314151617181920212223242526272829303132333435363738 |
- interface ConfigInterface {
- [id: string]: unknown;
- }
- class ConfigObject implements ConfigInterface{
- public decimalPlaces: number;
- public intConvertRoundMode: number;
- public default_lang: string;
- public enable_type_casting: boolean;
- public idle_input_interval: number;
- public suspend_threshold: number;
- public max_instruction_count: number;
- [id: string]: unknown;
- constructor () {
- this.decimalPlaces = 8;
- this.intConvertRoundMode = 2;
- this.default_lang = 'pt';
- this.enable_type_casting = true;
- this.idle_input_interval = 5000;
- this.suspend_threshold = 100;
- // this.max_instruction_count = 350250; - automated evaluation limit
- this.max_instruction_count = Number.MAX_SAFE_INTEGER;
- }
- setConfig (opts: object): void {
- const otherConfig = opts as ConfigInterface;
- for (const key in otherConfig) {
- if(Object.prototype.hasOwnProperty.call(this, key)){
- this[key] = otherConfig[key];
- }
- }
- }
- }
- const config = new ConfigObject();
- export const Config = config;
|