Grammar refactoring WIP

This commit is contained in:
barsdeveloper
2021-10-22 00:01:24 +02:00
parent 9caea42101
commit 051eed061d
21 changed files with 968 additions and 354 deletions

View File

@@ -1,13 +1,14 @@
import Parsimmon from "parsimmon"
import PinGrammar from "./PinGrammar"
import PinEntity from "../entity/PinEntity"
import Serializer from "./Serializer"
export default class PinSerializer extends Serializer {
static pinGrammar = Parsimmon.createLanguage(new PinGrammar())
getAttributes() {
return PinEntity.attributes
}
read(value) {
const parseResult = PinSerializer.pinGrammar.Pin.parse(value)
const parseResult = Serializer.grammar.Pin.parse(value)
if (!parseResult.status) {
console.error("Error when trying to parse the pin.")
return parseResult
@@ -16,7 +17,7 @@ export default class PinSerializer extends Serializer {
}
write(object) {
let result = `Pin (${Serializer.subWrite('', object)})`
let result = `Pin (${this.subWrite([], object, ",")})`
return result
}
}