Files
ueblueprint/js/serialization/GeneralSerializer.js
barsdeveloper 418630255e Various fixes
2021-10-27 19:27:19 +02:00

26 lines
862 B
JavaScript
Executable File

import Grammar from "./Grammar"
import Serializer from "./Serializer"
export default class GeneralSerializer extends Serializer {
constructor(keyword = "", entityType, prefix = "", separator = ",", trailingSeparator = false) {
super(entityType, prefix, separator, trailingSeparator)
this.keyword = keyword
}
read(value) {
let grammar = Grammar.getGrammarForType(Serializer.grammar, this.entityType)
const parseResult = grammar.parse(value)
if (!parseResult.status) {
console.error("Error when trying to parse the entity " + this.entityType.prototype.constructor.name)
return parseResult
}
return parseResult.value
}
write(object) {
let result = `${this.key ?? ""}(${this.subWrite([], object)})`
return result
}
}