mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-28 11:44:44 +08:00
Calculated serialization type
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user