@@ -485,11 +485,13 @@ export const Callbacks = {
485485 * @param roomOrDecoder - Room or Decoder instance to get the callbacks for.
486486 * @returns the new callbacks standard API.
487487 */
488- get < T extends IRef > ( roomOrDecoder : Decoder < T > | { serializer : { decoder : Decoder < T > } } ) : StateCallbackStrategy < T > {
488+ get < T extends IRef > (
489+ roomOrDecoder : Decoder < T > | { serializer : { decoder : Decoder < T > } } | { state : T ; serializer : object }
490+ ) : StateCallbackStrategy < T > {
489491 if ( roomOrDecoder instanceof Decoder ) {
490492 return new StateCallbackStrategy < T > ( roomOrDecoder ) ;
491493
492- } else if ( roomOrDecoder . serializer . decoder ) {
494+ } else if ( 'decoder' in roomOrDecoder . serializer ) {
493495 return new StateCallbackStrategy < T > ( roomOrDecoder . serializer . decoder ) ;
494496
495497 } else {
@@ -505,11 +507,13 @@ export const Callbacks = {
505507 * @param roomOrDecoder - Room or Decoder instance to get the legacy callbacks for.
506508 * @returns the legacy callbacks API.
507509 */
508- getLegacy < T extends Schema > ( roomOrDecoder : Decoder < T > | { serializer : { decoder : Decoder < T > } } ) : SchemaCallbackProxy < T > {
510+ getLegacy < T extends Schema > (
511+ roomOrDecoder : Decoder < T > | { serializer : { decoder : Decoder < T > } } | { state : T ; serializer : object }
512+ ) : SchemaCallbackProxy < T > {
509513 if ( roomOrDecoder instanceof Decoder ) {
510514 return getDecoderStateCallbacks ( roomOrDecoder ) ;
511515
512- } else if ( roomOrDecoder . serializer . decoder ) {
516+ } else if ( 'decoder' in roomOrDecoder . serializer ) {
513517 return getDecoderStateCallbacks ( roomOrDecoder . serializer . decoder ) ;
514518 }
515519 } ,
0 commit comments