/**
* @module flitter-orm/src/schema/types/Number
*/
const Type = require('../Type')
/**
* Schema type representing a standard number type.
* @extends {module:flitter-orm/src/schema/Type~Type}
*/
class NumberType extends Type {
/**
* Determines whether the specified value can be cast to a number.
* @param {*} value
* @returns {boolean}
*/
static validate(value) {
try {
const num = Number(value)
return !isNaN(num)
} catch (e) {
return false
}
}
/**
* Casts the specified value to a number.
* @param {*} value
* @returns {number}
*/
static cast(value) {
return Number(value)
}
}
module.exports = exports = NumberType