mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:50:33 +08:00
24 lines
750 B
JavaScript
Executable File
24 lines
750 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())
|
|
}
|
|
}
|