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
)
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

View File

@@ -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))
}

View File

@@ -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(

View File

@@ -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("")
}

View File

@@ -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
}

View File

@@ -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
}
}

View File

@@ -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
)

View File

@@ -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"

View File

@@ -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())

View File

@@ -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("")
})`,