mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:50:33 +08:00
Serialization methods names simplified
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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("")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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())
|
||||||
|
|||||||
@@ -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("")
|
||||||
})`,
|
})`,
|
||||||
|
|||||||
Reference in New Issue
Block a user