Files
ueblueprint/js/serialization/ToStringSerializer.js
barsdeveloper aa54bd0627 Fix strings
2022-09-15 21:26:43 +02:00

30 lines
776 B
JavaScript
Executable File

import Utility from "../Utility"
import GeneralSerializer from "./GeneralSerializer"
/**
* @typedef {import("../entity/IEntity").default} IEntity
*/
/**
* @template {IEntity} T
*/
export default class ToStringSerializer extends GeneralSerializer {
/**
* @param {new () => T} entityType
*/
constructor(entityType) {
super(undefined, entityType)
}
/**
* @param {T} object
* @param {Boolean} insideString
*/
write(entity, object, insideString) {
return !insideString && object.constructor === String
? `"${Utility.escapeString(object.toString())}"` // String will have quotes if not inside a string already
: Utility.escapeString(object.toString())
}
}