(settingName: string, allowNull: boolean = false)
| 635 | private getAsNumber(settingName: string): number; |
| 636 | private getAsNumber(settingName: string, allowNull: boolean): number | null; |
| 637 | private getAsNumber(settingName: string, allowNull: boolean = false): number | null { |
| 638 | const value: any = super.Section.get<any>(settingName); |
| 639 | const setting = getRawSetting("C_Cpp." + settingName, true); |
| 640 | if (!this.isValidDefault(isNumber, setting.default, allowNull)) { |
| 641 | console.error(`Default value for ${settingName} is expected to be number${allowNull ? ' or null' : ''}.`); |
| 642 | } |
| 643 | |
| 644 | if (allowNull && value === null) { |
| 645 | return null; |
| 646 | } |
| 647 | // Validates the value is a number and clamps it to the specified range. Allows for undefined maximum or minimum values. |
| 648 | if (isNumber(value)) { |
| 649 | if (setting.minimum !== undefined && value < setting.minimum) { |
| 650 | return setting.minimum; |
| 651 | } |
| 652 | if (setting.maximum !== undefined && value > setting.maximum) { |
| 653 | return setting.maximum; |
| 654 | } |
| 655 | return value; |
| 656 | } |
| 657 | return setting.default as number; |
| 658 | } |
| 659 | |
| 660 | private getAsArrayOfStringsOrUndefined(settingName: string, allowUndefinedEnums: boolean = false): string[] | undefined { |
| 661 | const value: any = super.Section.get(settingName); |
no test coverage detected