confinode
Version:
Node application configuration reader
24 lines • 946 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ConfinodeError_1 = require("../../ConfinodeError");
const messages_1 = require("../../messages");
const ConfigDescription_1 = require("../ConfigDescription");
/**
* Description of a number item. Number parser tries to also convert strings.
*/
class NumberDescription extends ConfigDescription_1.LeafItemDescription {
parseValue(value, fileName, keyName) {
if (typeof value === 'number') {
return value;
}
else if (typeof value === 'string' && value !== '') {
const result = Number(value);
if (!isNaN(result)) {
return result;
}
}
throw new ConfinodeError_1.default('expected', keyName, fileName, new messages_1.Message(messages_1.Level.Error, 'expectedNumber'));
}
}
exports.default = NumberDescription;
//# sourceMappingURL=NumberDescription.js.map