Serialization methods names simplified

This commit is contained in:
barsdeveloper
2023-04-05 21:38:17 +02:00
parent 721db0702b
commit a9e4a4f66f
10 changed files with 30 additions and 30 deletions

View File

@@ -97,7 +97,7 @@ describe("Entity initialization", () => {
.to.be.true .to.be.true
) )
it("can serialize", () => { it("can serialize", () => {
expect(SerializerFactory.getSerializer(SimpleEntity).serialize(entity)) expect(SerializerFactory.getSerializer(SimpleEntity).write(entity))
.to.equal(`{ .to.equal(`{
someNumber: 567 someNumber: 567
someString: "alpha" someString: "alpha"
@@ -263,7 +263,7 @@ describe("Entity initialization", () => {
expect(entity.quebec, "assigned 6").to.be.equal(6) expect(entity.quebec, "assigned 6").to.be.equal(6)
}) })
it("can serialize", () => { it("can serialize", () => {
expect(SerializerFactory.getSerializer(ComplexEntity).serialize(entity)) expect(SerializerFactory.getSerializer(ComplexEntity).write(entity))
.to.equal(`[[ .to.equal(`[[
alpha: 32 alpha: 32
bravo: 78 bravo: 78

View File

@@ -158,7 +158,7 @@ export default class NodeElement extends ISelectableDraggableElement {
/** @param {String} str */ /** @param {String} str */
static fromSerializedObject(str) { static fromSerializedObject(str) {
str = str.trim() str = str.trim()
let entity = SerializerFactory.getSerializer(ObjectEntity).deserialize(str) let entity = SerializerFactory.getSerializer(ObjectEntity).read(str)
return NodeElement.newObject(/** @type {ObjectEntity} */(entity)) return NodeElement.newObject(/** @type {ObjectEntity} */(entity))
} }

View File

@@ -131,7 +131,7 @@ export default class IEntity {
if (value?.constructor === String && attribute.serialized && defaultType !== String) { if (value?.constructor === String && attribute.serialized && defaultType !== String) {
value = SerializerFactory value = SerializerFactory
.getSerializer(/** @type {AnyValueConstructor<*>} */(defaultType)) .getSerializer(/** @type {AnyValueConstructor<*>} */(defaultType))
.deserialize(/** @type {String} */(value)) .read(/** @type {String} */(value))
} }
assignAttribute(Utility.sanitize(value, /** @type {AnyValueConstructor<*>} */(defaultType))) assignAttribute(Utility.sanitize(value, /** @type {AnyValueConstructor<*>} */(defaultType)))
continue // We have a value, need nothing more continue // We have a value, need nothing more
@@ -156,7 +156,7 @@ export default class IEntity {
if (defaultType !== String && defaultValue.constructor === String) { if (defaultType !== String && defaultValue.constructor === String) {
defaultValue = SerializerFactory defaultValue = SerializerFactory
.getSerializer(/** @type {AnyValueConstructor<*>} */(defaultType)) .getSerializer(/** @type {AnyValueConstructor<*>} */(defaultType))
.deserialize(defaultValue) .read(defaultValue)
} }
} }
assignAttribute(Utility.sanitize( assignAttribute(Utility.sanitize(

View File

@@ -27,7 +27,7 @@ export default class Copy extends IInput {
getSerializedText() { getSerializedText() {
return this.blueprint return this.blueprint
.getNodes(true) .getNodes(true)
.map(node => Copy.#serializer.serialize(node.entity, false)) .map(node => Copy.#serializer.write(node.entity, false))
.join("") .join("")
} }

View File

@@ -27,7 +27,7 @@ export default class CustomSerializer extends GeneralSerializer {
* @param {Boolean} insideString * @param {Boolean} insideString
* @returns {String} * @returns {String}
*/ */
write(entity, insideString = false) { doWrite(entity, insideString = false) {
let result = this.#objectWriter(entity, insideString) let result = this.#objectWriter(entity, insideString)
return result return result
} }

View File

@@ -27,7 +27,7 @@ export default class GeneralSerializer extends ISerializer {
* @param {String} value * @param {String} value
* @returns {T} * @returns {T}
*/ */
read(value) { doRead(value) {
let grammar = Grammar.grammarFor(undefined, this.entityType) let grammar = Grammar.grammarFor(undefined, this.entityType)
const parseResult = grammar.parse(value) const parseResult = grammar.parse(value)
if (!parseResult.status) { if (!parseResult.status) {
@@ -41,8 +41,8 @@ export default class GeneralSerializer extends ISerializer {
* @param {Boolean} insideString * @param {Boolean} insideString
* @returns {String} * @returns {String}
*/ */
write(entity, insideString = false) { doWrite(entity, insideString = false) {
let result = this.wrap(super.write(entity, insideString), entity) let result = this.wrap(super.doWrite(entity, insideString), entity)
return result return result
} }
} }

View File

@@ -32,13 +32,13 @@ export default class ISerializer {
* @param {String} value * @param {String} value
* @returns {T} * @returns {T}
*/ */
deserialize(value) { read(value) {
return this.read(value) return this.doRead(value)
} }
/** @param {T} value */ /** @param {T} value */
serialize(value, insideString = false) { write(value, insideString = false) {
return this.write(value, insideString) return this.doWrite(value, insideString)
} }
/** /**
@@ -46,7 +46,7 @@ export default class ISerializer {
* @param {String} value * @param {String} value
* @returns {T} * @returns {T}
*/ */
read(value) { doRead(value) {
throw new Error("Not implemented") throw new Error("Not implemented")
} }
@@ -56,7 +56,7 @@ export default class ISerializer {
* @param {Boolean} insideString * @param {Boolean} insideString
* @returns {String} * @returns {String}
*/ */
write(entity, insideString) { doWrite(entity, insideString) {
let result = "" let result = ""
const attributes = /** @type {EntityConstructor} */(entity.constructor).attributes ?? {} const attributes = /** @type {EntityConstructor} */(entity.constructor).attributes ?? {}
const keys = Utility.mergeArrays( const keys = Utility.mergeArrays(
@@ -76,8 +76,8 @@ export default class ISerializer {
+ this.attributeValueConjunctionSign + this.attributeValueConjunctionSign
+ ( + (
isSerialized isSerialized
? `"${this.writeValue(value, true)}"` ? `"${this.doWriteValue(value, true)}"`
: this.writeValue(value, insideString) : this.doWriteValue(value, insideString)
) )
) )
continue continue
@@ -88,8 +88,8 @@ export default class ISerializer {
+ this.attributeValueConjunctionSign + this.attributeValueConjunctionSign
+ ( + (
isSerialized isSerialized
? `"${this.writeValue(value, true)}"` ? `"${this.doWriteValue(value, true)}"`
: this.writeValue(value, insideString) : this.doWriteValue(value, insideString)
) )
} }
} }
@@ -104,7 +104,7 @@ export default class ISerializer {
* @protected * @protected
* @param {Boolean} insideString * @param {Boolean} insideString
*/ */
writeValue(value, insideString) { doWriteValue(value, insideString) {
const type = Utility.getType(value) const type = Utility.getType(value)
// @ts-expect-error // @ts-expect-error
const serializer = SerializerFactory.getSerializer(type) const serializer = SerializerFactory.getSerializer(type)
@@ -114,7 +114,7 @@ export default class ISerializer {
+ "check initializeSerializerFactory.js" + "check initializeSerializerFactory.js"
) )
} }
return serializer.write( return serializer.doWrite(
value, value,
insideString insideString
) )

View File

@@ -15,14 +15,14 @@ export default class ObjectSerializer extends ISerializer {
case "Class": case "Class":
case "Name": case "Name":
case "CustomProperties": case "CustomProperties":
// Serielized separately, check write() // Serielized separately, check doWrite()
return false return false
} }
return super.showProperty(entity, key) return super.showProperty(entity, key)
} }
/** @param {String} value */ /** @param {String} value */
read(value) { doRead(value) {
const parseResult = Grammar.objectEntity.parse(value) const parseResult = Grammar.objectEntity.parse(value)
if (!parseResult.status) { if (!parseResult.status) {
throw new Error("Error when trying to parse the object.") throw new Error("Error when trying to parse the object.")
@@ -46,14 +46,14 @@ export default class ObjectSerializer extends ISerializer {
* @param {ObjectEntity} entity * @param {ObjectEntity} entity
* @param {Boolean} insideString * @param {Boolean} insideString
*/ */
write(entity, insideString) { doWrite(entity, insideString) {
let result = `Begin Object Class=${entity.Class.path} Name=${this.writeValue(entity.Name, insideString)}\n` let result = `Begin Object Class=${entity.Class.path} Name=${this.doWriteValue(entity.Name, insideString)}\n`
+ super.write(entity, insideString) + super.doWrite(entity, insideString)
+ entity.CustomProperties.map(pin => + entity.CustomProperties.map(pin =>
this.attributeSeparator this.attributeSeparator
+ this.attributePrefix + this.attributePrefix
+ "CustomProperties " + "CustomProperties "
+ SerializerFactory.getSerializer(PinEntity).serialize(pin) + SerializerFactory.getSerializer(PinEntity).write(pin)
) )
.join("") .join("")
+ "\nEnd Object\n" + "\nEnd Object\n"

View File

@@ -21,7 +21,7 @@ export default class ToStringSerializer extends GeneralSerializer {
* @param {T} entity * @param {T} entity
* @param {Boolean} insideString * @param {Boolean} insideString
*/ */
write(entity, insideString) { doWrite(entity, insideString) {
return !insideString && entity.constructor === String return !insideString && entity.constructor === String
? `"${Utility.escapeString(entity.toString())}"` // String will have quotes if not inside a string already ? `"${Utility.escapeString(entity.toString())}"` // String will have quotes if not inside a string already
: Utility.escapeString(entity.toString()) : Utility.escapeString(entity.toString())

View File

@@ -58,7 +58,7 @@ export default function initializeSerializerFactory() {
`(${array `(${array
.map(v => .map(v =>
// @ts-expect-error // @ts-expect-error
SerializerFactory.getSerializer(Utility.getType(v)).serialize(v, insideString) + "," SerializerFactory.getSerializer(Utility.getType(v)).write(v, insideString) + ","
) )
.join("") .join("")
})`, })`,