diff --git a/cypress/e2e/entities.cy.js b/cypress/e2e/entities.cy.js index dc4f503..27c5dc4 100644 --- a/cypress/e2e/entities.cy.js +++ b/cypress/e2e/entities.cy.js @@ -97,7 +97,7 @@ describe("Entity initialization", () => { .to.be.true ) it("can serialize", () => { - expect(SerializerFactory.getSerializer(SimpleEntity).serialize(entity)) + expect(SerializerFactory.getSerializer(SimpleEntity).write(entity)) .to.equal(`{ someNumber: 567 someString: "alpha" @@ -263,7 +263,7 @@ describe("Entity initialization", () => { expect(entity.quebec, "assigned 6").to.be.equal(6) }) it("can serialize", () => { - expect(SerializerFactory.getSerializer(ComplexEntity).serialize(entity)) + expect(SerializerFactory.getSerializer(ComplexEntity).write(entity)) .to.equal(`[[ alpha: 32 bravo: 78 diff --git a/js/element/NodeElement.js b/js/element/NodeElement.js index ce84696..24bccba 100644 --- a/js/element/NodeElement.js +++ b/js/element/NodeElement.js @@ -158,7 +158,7 @@ export default class NodeElement extends ISelectableDraggableElement { /** @param {String} str */ static fromSerializedObject(str) { str = str.trim() - let entity = SerializerFactory.getSerializer(ObjectEntity).deserialize(str) + let entity = SerializerFactory.getSerializer(ObjectEntity).read(str) return NodeElement.newObject(/** @type {ObjectEntity} */(entity)) } diff --git a/js/entity/IEntity.js b/js/entity/IEntity.js index 2d767eb..f812f26 100644 --- a/js/entity/IEntity.js +++ b/js/entity/IEntity.js @@ -131,7 +131,7 @@ export default class IEntity { if (value?.constructor === String && attribute.serialized && defaultType !== String) { value = SerializerFactory .getSerializer(/** @type {AnyValueConstructor<*>} */(defaultType)) - .deserialize(/** @type {String} */(value)) + .read(/** @type {String} */(value)) } assignAttribute(Utility.sanitize(value, /** @type {AnyValueConstructor<*>} */(defaultType))) continue // We have a value, need nothing more @@ -156,7 +156,7 @@ export default class IEntity { if (defaultType !== String && defaultValue.constructor === String) { defaultValue = SerializerFactory .getSerializer(/** @type {AnyValueConstructor<*>} */(defaultType)) - .deserialize(defaultValue) + .read(defaultValue) } } assignAttribute(Utility.sanitize( diff --git a/js/input/common/Copy.js b/js/input/common/Copy.js index d150477..a4f4c13 100755 --- a/js/input/common/Copy.js +++ b/js/input/common/Copy.js @@ -27,7 +27,7 @@ export default class Copy extends IInput { getSerializedText() { return this.blueprint .getNodes(true) - .map(node => Copy.#serializer.serialize(node.entity, false)) + .map(node => Copy.#serializer.write(node.entity, false)) .join("") } diff --git a/js/serialization/CustomSerializer.js b/js/serialization/CustomSerializer.js index 313f1f1..a1a72a4 100755 --- a/js/serialization/CustomSerializer.js +++ b/js/serialization/CustomSerializer.js @@ -27,7 +27,7 @@ export default class CustomSerializer extends GeneralSerializer { * @param {Boolean} insideString * @returns {String} */ - write(entity, insideString = false) { + doWrite(entity, insideString = false) { let result = this.#objectWriter(entity, insideString) return result } diff --git a/js/serialization/GeneralSerializer.js b/js/serialization/GeneralSerializer.js index 9950a0d..d58da3a 100755 --- a/js/serialization/GeneralSerializer.js +++ b/js/serialization/GeneralSerializer.js @@ -27,7 +27,7 @@ export default class GeneralSerializer extends ISerializer { * @param {String} value * @returns {T} */ - read(value) { + doRead(value) { let grammar = Grammar.grammarFor(undefined, this.entityType) const parseResult = grammar.parse(value) if (!parseResult.status) { @@ -41,8 +41,8 @@ export default class GeneralSerializer extends ISerializer { * @param {Boolean} insideString * @returns {String} */ - write(entity, insideString = false) { - let result = this.wrap(super.write(entity, insideString), entity) + doWrite(entity, insideString = false) { + let result = this.wrap(super.doWrite(entity, insideString), entity) return result } } diff --git a/js/serialization/ISerializer.js b/js/serialization/ISerializer.js index 603bb5c..d817c21 100644 --- a/js/serialization/ISerializer.js +++ b/js/serialization/ISerializer.js @@ -32,13 +32,13 @@ export default class ISerializer { * @param {String} value * @returns {T} */ - deserialize(value) { - return this.read(value) + read(value) { + return this.doRead(value) } /** @param {T} value */ - serialize(value, insideString = false) { - return this.write(value, insideString) + write(value, insideString = false) { + return this.doWrite(value, insideString) } /** @@ -46,7 +46,7 @@ export default class ISerializer { * @param {String} value * @returns {T} */ - read(value) { + doRead(value) { throw new Error("Not implemented") } @@ -56,7 +56,7 @@ export default class ISerializer { * @param {Boolean} insideString * @returns {String} */ - write(entity, insideString) { + doWrite(entity, insideString) { let result = "" const attributes = /** @type {EntityConstructor} */(entity.constructor).attributes ?? {} const keys = Utility.mergeArrays( @@ -76,8 +76,8 @@ export default class ISerializer { + this.attributeValueConjunctionSign + ( isSerialized - ? `"${this.writeValue(value, true)}"` - : this.writeValue(value, insideString) + ? `"${this.doWriteValue(value, true)}"` + : this.doWriteValue(value, insideString) ) ) continue @@ -88,8 +88,8 @@ export default class ISerializer { + this.attributeValueConjunctionSign + ( isSerialized - ? `"${this.writeValue(value, true)}"` - : this.writeValue(value, insideString) + ? `"${this.doWriteValue(value, true)}"` + : this.doWriteValue(value, insideString) ) } } @@ -104,7 +104,7 @@ export default class ISerializer { * @protected * @param {Boolean} insideString */ - writeValue(value, insideString) { + doWriteValue(value, insideString) { const type = Utility.getType(value) // @ts-expect-error const serializer = SerializerFactory.getSerializer(type) @@ -114,7 +114,7 @@ export default class ISerializer { + "check initializeSerializerFactory.js" ) } - return serializer.write( + return serializer.doWrite( value, insideString ) diff --git a/js/serialization/ObjectSerializer.js b/js/serialization/ObjectSerializer.js index 5b47f89..ec51f56 100755 --- a/js/serialization/ObjectSerializer.js +++ b/js/serialization/ObjectSerializer.js @@ -15,14 +15,14 @@ export default class ObjectSerializer extends ISerializer { case "Class": case "Name": case "CustomProperties": - // Serielized separately, check write() + // Serielized separately, check doWrite() return false } return super.showProperty(entity, key) } /** @param {String} value */ - read(value) { + doRead(value) { const parseResult = Grammar.objectEntity.parse(value) if (!parseResult.status) { throw new Error("Error when trying to parse the object.") @@ -46,14 +46,14 @@ export default class ObjectSerializer extends ISerializer { * @param {ObjectEntity} entity * @param {Boolean} insideString */ - write(entity, insideString) { - let result = `Begin Object Class=${entity.Class.path} Name=${this.writeValue(entity.Name, insideString)}\n` - + super.write(entity, insideString) + doWrite(entity, insideString) { + let result = `Begin Object Class=${entity.Class.path} Name=${this.doWriteValue(entity.Name, insideString)}\n` + + super.doWrite(entity, insideString) + entity.CustomProperties.map(pin => this.attributeSeparator + this.attributePrefix + "CustomProperties " - + SerializerFactory.getSerializer(PinEntity).serialize(pin) + + SerializerFactory.getSerializer(PinEntity).write(pin) ) .join("") + "\nEnd Object\n" diff --git a/js/serialization/ToStringSerializer.js b/js/serialization/ToStringSerializer.js index 1c283f5..411a7a0 100755 --- a/js/serialization/ToStringSerializer.js +++ b/js/serialization/ToStringSerializer.js @@ -21,7 +21,7 @@ export default class ToStringSerializer extends GeneralSerializer { * @param {T} entity * @param {Boolean} insideString */ - write(entity, insideString) { + doWrite(entity, insideString) { return !insideString && entity.constructor === String ? `"${Utility.escapeString(entity.toString())}"` // String will have quotes if not inside a string already : Utility.escapeString(entity.toString()) diff --git a/js/serialization/initializeSerializerFactory.js b/js/serialization/initializeSerializerFactory.js index 1751fcc..e4db453 100755 --- a/js/serialization/initializeSerializerFactory.js +++ b/js/serialization/initializeSerializerFactory.js @@ -58,7 +58,7 @@ export default function initializeSerializerFactory() { `(${array .map(v => // @ts-expect-error - SerializerFactory.getSerializer(Utility.getType(v)).serialize(v, insideString) + "," + SerializerFactory.getSerializer(Utility.getType(v)).write(v, insideString) + "," ) .join("") })`,