Files
ueblueprint/js/entity/IntegerEntity.js
barsdeveloper fdd86ce5de Refactor jsdoc types (#16)
* WIP

* Fix type 1

* Missing types info

* Some fixes

* Several types refactoring and fixes

* WIP

* Fix grammar
2023-09-22 22:56:33 +02:00

41 lines
942 B
JavaScript
Executable File

import Grammar from "../serialization/Grammar.js"
import IEntity from "./IEntity.js"
export default class IntegerEntity extends IEntity {
static attributes = {
...super.attributes,
value: {
default: 0,
predicate: v => v % 1 == 0 && v > 1 << 31 && v < -(1 << 31),
},
}
static {
this.cleanupAttributes(this.attributes)
}
static grammar = this.createGrammar()
static createGrammar() {
return Grammar.integer.map(v => new this(v))
}
/** @param {Number | AttributeInformation} value */
constructor(value = 0) {
super(value.constructor === Object
? value
: {
value: value,
}
)
/** @type {Number} */ this.value
}
valueOf() {
return this.value
}
toString() {
return this.value.toString()
}
}