From 98bf68c0b9d42fb46c81064bd6ee74fb31f5ba63 Mon Sep 17 00:00:00 2001 From: Endel Dreyer Date: Fri, 28 Feb 2025 17:45:40 -0300 Subject: [PATCH] force getStateCallbacks() to return SchemaCallback --- package-lock.json | 36 +++++++++++++++--------------- package.json | 4 ++-- src/index.ts | 2 ++ src/serializer/SchemaSerializer.ts | 4 ++-- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index f9b6297..be91e17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "colyseus.js", - "version": "0.16.2", + "version": "0.16.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "colyseus.js", - "version": "0.16.2", + "version": "0.16.6", "license": "MIT", "dependencies": { "@colyseus/msgpackr": "^1.10.5", - "@colyseus/schema": "^3.0.0", + "@colyseus/schema": "^3.0.14", "httpie": "^2.0.0-next.13", "tslib": "^2.1.0", "ws": "^8.13.0" @@ -82,9 +82,9 @@ } }, "node_modules/@colyseus/schema": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@colyseus/schema/-/schema-3.0.2.tgz", - "integrity": "sha512-DO4XCSFZpzqbS26+lmZXrgr0OZWqee3c1qCpnwachyu1bKpKBIXNlhi7pGrL2Vmo9aY9m1lb9BbBkgF5qI9R2w==", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@colyseus/schema/-/schema-3.0.14.tgz", + "integrity": "sha512-KCTZfbWQDyF2H2NOexw3XL2gnVgPnbFjGQUkGe2LumkQ1+5lFTmX+yKH2PukihRFcUSv8at+pgF4e0bP7rz7/w==", "license": "MIT", "bin": { "schema-codegen": "bin/schema-codegen", @@ -1038,9 +1038,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz", - "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==", + "version": "22.13.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", + "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", "dev": true, "license": "MIT", "dependencies": { @@ -1708,9 +1708,9 @@ "license": "MIT" }, "node_modules/expect-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz", - "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.0.tgz", + "integrity": "sha512-80F22aiJ3GLyVnS/B3HzgR6RelZVumzj9jkL0Rhz4h0xYbNW9PjlQz5h3J/SShErbXBc295vseR4/MIbVmUbeA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -7665,9 +7665,9 @@ } }, "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -8075,9 +8075,9 @@ } }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", "license": "MIT", "engines": { "node": ">=10.0.0" diff --git a/package.json b/package.json index 6b359fb..51b5f0c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "colyseus.js", - "version": "0.16.5", + "version": "0.16.6", "description": "Colyseus Multiplayer SDK for JavaScript/TypeScript", "author": "Endel Dreyer", "license": "MIT", @@ -59,7 +59,7 @@ }, "dependencies": { "@colyseus/msgpackr": "^1.10.5", - "@colyseus/schema": "^3.0.0", + "@colyseus/schema": "^3.0.14", "httpie": "^2.0.0-next.13", "tslib": "^2.1.0", "ws": "^8.13.0" diff --git a/src/index.ts b/src/index.ts index f3b3383..2463e71 100644 --- a/src/index.ts +++ b/src/index.ts @@ -13,6 +13,8 @@ import { SchemaSerializer, getStateCallbacks } from "./serializer/SchemaSerializ import { NoneSerializer } from "./serializer/NoneSerializer"; import { registerSerializer } from './serializer/Serializer'; +export type { SchemaCallback } from '@colyseus/schema'; + export { registerSerializer, SchemaSerializer, getStateCallbacks }; registerSerializer('schema', SchemaSerializer); registerSerializer('none', NoneSerializer); diff --git a/src/serializer/SchemaSerializer.ts b/src/serializer/SchemaSerializer.ts index b8b122b..2a485ca 100644 --- a/src/serializer/SchemaSerializer.ts +++ b/src/serializer/SchemaSerializer.ts @@ -1,11 +1,11 @@ import { Serializer } from "./Serializer"; -import { Schema, Decoder, Reflection, Iterator, getDecoderStateCallbacks } from "@colyseus/schema"; +import { Schema, Decoder, Reflection, Iterator, getDecoderStateCallbacks, type SchemaCallback } from "@colyseus/schema"; import type { Room } from "../Room"; export type SchemaConstructor = new (...args: any[]) => T; export function getStateCallbacks(room: Room) { - return getDecoderStateCallbacks((room['serializer'] as unknown as SchemaSerializer).decoder); + return getDecoderStateCallbacks((room['serializer'] as unknown as SchemaSerializer).decoder) as unknown as SchemaCallback; } export class SchemaSerializer implements Serializer {