MCPcopy Index your code
hub / github.com/microsoft/vscode-cpptools / getAsNumber

Method getAsNumber

Extension/src/LanguageServer/settings.ts:637–658  ·  view source on GitHub ↗
(settingName: string, allowNull: boolean = false)

Source from the content-addressed store, hash-verified

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);

Calls 5

isValidDefaultMethod · 0.95
getRawSettingFunction · 0.90
isNumberFunction · 0.90
errorMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected