UNPKG

@kitmi/types

Version:

JavaScript semantic data types

61 lines (60 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _errors = require("./errors"); const _toFloat = /*#__PURE__*/ _interop_require_default(require("@kitmi/utils/toFloat")); const _functions = require("./functions"); function _define_property(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class T_NUMBER { validate(value) { return typeof value === 'number'; } _sanitize(value, meta, opts) { value = (0, _toFloat.default)(value); if (isNaN(value)) { throw new _errors.ValidationError('Invalid number value.', { value: opts.rawValue, path: opts.path }); } return value; } constructor(system){ _define_property(this, "name", 'number'); _define_property(this, "alias", [ 'float', 'double' ]); _define_property(this, "primitive", true); _define_property(this, "scalar", true); _define_property(this, "defaultValue", 0); _define_property(this, "serialize", _functions.identity); this.system = system; } } const _default = T_NUMBER; //# sourceMappingURL=number.js.map