Files
ueblueprint/js/entity/NumberEntity.js
barsdeveloper 1c2778fbf8 Still WIP
2024-05-28 16:44:39 +02:00

37 lines
816 B
JavaScript
Executable File

import P from "parsernostrum"
import IEntity from "./IEntity.js"
export default class NumberEntity extends IEntity {
static grammar = P.regArray(
new RegExp(`(${P.number.getParser().parser.regexp.source})|(\\+?inf)|(-inf)`)
).map(([_0, n, plusInf, minusInf]) => new this(
n ? Number(n) : plusInf ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY
))
/** @type {Number} */
#value
get value() {
return this.#value
}
set value(value) {
if (value === -0) {
value = 0
}
this.#value = value
}
constructor(value = 0) {
super()
this.value = value
}
valueOf() {
return this.value
}
toString() {
return this.value.toString()
}
}