UNPKG

@tamgl/colyseus-schema

Version:

Binary state serializer with delta encoding for games

36 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerType = registerType; exports.getIdentifier = getIdentifier; exports.getType = getType; exports.defineCustomTypes = defineCustomTypes; const annotations_1 = require("../annotations"); const encode_1 = require("../encoding/encode"); const decode_1 = require("../encoding/decode"); const registeredTypes = {}; const identifiers = new Map(); function registerType(identifier, definition) { if (definition.constructor) { identifiers.set(definition.constructor, identifier); registeredTypes[identifier] = definition; } if (definition.encode) { encode_1.encode[identifier] = definition.encode; } if (definition.decode) { decode_1.decode[identifier] = definition.decode; } } function getIdentifier(klass) { return identifiers.get(klass); } function getType(identifier) { return registeredTypes[identifier]; } function defineCustomTypes(types) { for (const identifier in types) { registerType(identifier, types[identifier]); } return (t) => (0, annotations_1.type)(t); } //# sourceMappingURL=registry.js.map