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

@@ -1,14 +1,25 @@
import Utility from "../Utility"
/** @typedef {import("../entity/IEntity").default} IEntity */
/**
* @template {IEntity} T
* @typedef {import("./ISerializer").default<T>} ISerializer
*/
export default class SerializerFactory {
/** @type {Map<T, ISerializer<T>>} */
static #serializers = new Map()
static registerSerializer(entity, object) {
SerializerFactory.#serializers.set(entity, object)
}
/**
* @template {IEntity} T
* @param {T} entity
*/
static getSerializer(entity) {
return SerializerFactory.#serializers.get(Utility.getType(entity))
return SerializerFactory.#serializers.get(entity)
}
}