Files
ueblueprint/js/entity/SimpleSerializationRotatorEntity.js
barsdeveloper 78c62ee59a Split grammar (#15)
* Move grammar parsers to entity classes

* Fix includes

* Fix Entity5 test

* Small detail

* Fix unknown keys entities

* Persistent grammar objects

* Fix grammar

* Grammar from variable
2023-09-18 21:13:28 +02:00

28 lines
758 B
JavaScript

import Parsimmon from "parsimmon"
import RotatorEntity from "./RotatorEntity.js"
import Grammar from "../serialization/Grammar.js"
export default class SimpleSerializationRotatorEntity extends RotatorEntity {
static grammar = this.createGrammar()
static createGrammar() {
return Parsimmon.alt(
Parsimmon.seq(
Grammar.number,
Grammar.commaSeparation,
Grammar.number,
Grammar.commaSeparation,
Grammar.number,
).map(([p, _1, y, _3, r]) =>
new this({
R: r,
P: p,
Y: y,
})
),
RotatorEntity.createGrammar()
)
}
}