UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

62 lines 1.95 kB
/** * Contains serializers for various data types as well as data upgraders which enable support for serialization format changes */ export class BinarySerializationRegistry { /** * @readonly * @private * @type {Map<string, Graph<BinaryClassUpgrader>>} */ private readonly upgraders; /** * @readonly * @private * @type {Map<string, BinaryClassSerializationAdapter>} */ private readonly serializers; /** * * @param {BinaryClassSerializationAdapter[]} adapters */ registerAdapters(adapters: BinaryClassSerializationAdapter[]): void; /** * * @param {string} [className] * @param {BinaryClassSerializationAdapter} adapter * @returns {boolean} */ registerAdapter(adapter: BinaryClassSerializationAdapter, className?: string): boolean; /** * * @param {string} className * @returns {BinaryClassSerializationAdapter} */ removeAdapter(className: string): BinaryClassSerializationAdapter; /** * * @param {string} className * @returns {BinaryClassSerializationAdapter|undefined} */ getAdapter(className: string): BinaryClassSerializationAdapter | undefined; /** * * @param {string} className * @param {BinaryClassUpgrader} upgrader * @returns {boolean} */ registerUpgrader(className: string, upgrader: BinaryClassUpgrader): boolean; /** * * @param {string} className * @param {number} startVersion * @param {number} goalVersion * @returns {BinaryClassUpgrader[]|null} sequential shortest chain of upgraders or null if no valid chain exists */ getUpgradersChain(className: string, startVersion: number, goalVersion: number): BinaryClassUpgrader[] | null; /** * @readonly * @type {boolean} */ readonly isBinarySerializationRegistry: boolean; } //# sourceMappingURL=BinarySerializationRegistry.d.ts.map