Calculated serialization type

This commit is contained in:
barsdeveloper
2022-09-11 13:55:01 +02:00
parent 57ef15c943
commit 9f789b3e09
18 changed files with 510 additions and 412 deletions

View File

@@ -5,16 +5,19 @@ import GeneralSerializer from "./GeneralSerializer"
*/
/**
* @template {IEntity} T
* @template {IEntity | Boolean | Number | String} T
*/
export default class CustomSerializer extends GeneralSerializer {
#objectWriter
/**
* @param {(v: T, insideString: Boolean) => String} objectWriter
* @param {new () => T} entityType
*/
constructor(objectWriter, entityType) {
super(undefined, entityType)
this.objectWriter = objectWriter
this.#objectWriter = objectWriter
}
/**
@@ -22,8 +25,8 @@ export default class CustomSerializer extends GeneralSerializer {
* @param {Boolean} insideString
* @returns {String}
*/
write(object, insideString = false) {
let result = this.objectWriter(object, insideString)
write(entity, object, insideString = false) {
let result = this.#objectWriter(object, insideString)
return result
}
}