32 lines
946 B
JavaScript
32 lines
946 B
JavaScript
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// Licensed under the MIT license.
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.parseNumber = void 0;
|
||
|
function parseNumber(optionValue, errorMessage = "The value should be a number.") {
|
||
|
switch (typeof optionValue) {
|
||
|
case "number": {
|
||
|
return optionValue;
|
||
|
}
|
||
|
case "string": {
|
||
|
let result;
|
||
|
try {
|
||
|
result = parseFloat(optionValue);
|
||
|
}
|
||
|
catch (err) {
|
||
|
throw new Error(errorMessage);
|
||
|
}
|
||
|
if (Number.isNaN(result)) {
|
||
|
throw new Error(errorMessage);
|
||
|
}
|
||
|
return result;
|
||
|
}
|
||
|
case "undefined": {
|
||
|
return undefined;
|
||
|
}
|
||
|
default: {
|
||
|
throw new Error(errorMessage);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
exports.parseNumber = parseNumber;
|
||
|
//# sourceMappingURL=parse.js.map
|