1- import { MsgPackEncoder } from '@jsonjoy.com/json-pack/lib/msgpack' ; // TODO: Should not statically import codecs
2- import { CborEncoder } from '@jsonjoy.com/json-pack/lib/cbor/CborEncoder' ; // TODO: Should not statically import codecs
3- import { JsonEncoder } from '@jsonjoy.com/json-pack/lib/json/JsonEncoder' ; // TODO: Should not statically import codecs
41import { BinaryMessageType } from '../codec/binary/constants' ;
52import { CompactMessageType } from '../codec/compact/constants' ;
63import { validateId , validateMethod } from '../rpc/validation' ;
@@ -77,74 +74,6 @@ const encodeBinaryWithPayload = (
7774 encodeHeader ( writer , typeU16 , id , payloadSize , start ) ;
7875} ;
7976
80- const encodeCompactWithNameAndPayload = (
81- codec : JsonValueCodec ,
82- type : CompactMessageType ,
83- msg : RequestDataMessage | RequestCompleteMessage | RequestErrorMessage ,
84- ) => {
85- const encoder = codec . encoder ;
86- if ( encoder instanceof CborEncoder || encoder instanceof MsgPackEncoder ) {
87- const value = msg . value ;
88- const hasValue = value !== undefined ;
89- encoder . writeArrHdr ( hasValue ? 4 : 3 ) ;
90- encoder . writeUInteger ( type ) ;
91- encoder . writeUInteger ( msg . id ) ;
92- encoder . writeAsciiStr ( msg . method ) ;
93- if ( hasValue ) {
94- if ( value . type ) value . type . encoder ( codec . format ) ( value . data , encoder ) ;
95- else encoder . writeAny ( value . data ) ;
96- }
97- } else if ( encoder instanceof JsonEncoder ) {
98- const value = msg . value ;
99- encoder . writeStartArr ( ) ;
100- encoder . writeNumber ( type ) ;
101- encoder . writeArrSeparator ( ) ;
102- encoder . writeNumber ( msg . id ) ;
103- encoder . writeArrSeparator ( ) ;
104- encoder . writeAsciiStr ( msg . method ) ;
105- const hasValue = value !== undefined ;
106- if ( hasValue ) {
107- encoder . writeArrSeparator ( ) ;
108- if ( value . type ) value . type . encoder ( codec . format ) ( value . data , encoder ) ;
109- else encoder . writeAny ( value . data ) ;
110- }
111- encoder . writeEndArr ( ) ;
112- } else encoder . writeArr ( msg . toCompact ( ) ) ;
113- } ;
114-
115- const encodeCompactWithPayload = (
116- codec : JsonValueCodec ,
117- type : CompactMessageType ,
118- msg : ResponseCompleteMessage | ResponseDataMessage | ResponseErrorMessage ,
119- ) => {
120- const encoder = codec . encoder ;
121- if ( encoder instanceof CborEncoder || encoder instanceof MsgPackEncoder ) {
122- const value = msg . value ;
123- const hasValue = value !== undefined ;
124- encoder . writeArrHdr ( hasValue ? 3 : 2 ) ;
125- encoder . writeUInteger ( type ) ;
126- encoder . writeUInteger ( msg . id ) ;
127- if ( hasValue ) {
128- if ( value . type ) {
129- value . type . encoder ( codec . format ) ( value . data , encoder ) ;
130- } else encoder . writeAny ( value . data ) ;
131- }
132- } else if ( encoder instanceof JsonEncoder ) {
133- const value = msg . value ;
134- encoder . writeStartArr ( ) ;
135- encoder . writeNumber ( type ) ;
136- encoder . writeArrSeparator ( ) ;
137- encoder . writeNumber ( msg . id ) ;
138- const hasValue = value !== undefined ;
139- if ( hasValue ) {
140- encoder . writeArrSeparator ( ) ;
141- if ( value . type ) value . type . encoder ( codec . format ) ( value . data , encoder ) ;
142- else encoder . writeAny ( value . data ) ;
143- }
144- encoder . writeEndArr ( ) ;
145- } else encoder . writeArr ( msg . toCompact ( ) ) ;
146- } ;
147-
14877/**
14978 * @category Message
15079 */
@@ -164,34 +93,6 @@ export class NotificationMessage<V extends RpcValue<any> = RpcValue> implements
16493 : [ CompactMessageType . Notification , this . method , this . value . data ] ;
16594 }
16695
167- public encodeCompact ( codec : JsonValueCodec ) : void {
168- const encoder = codec . encoder ;
169- if ( encoder instanceof CborEncoder || encoder instanceof MsgPackEncoder ) {
170- const value = this . value ;
171- const hasValue = value !== undefined ;
172- encoder . writeArrHdr ( hasValue ? 3 : 2 ) ;
173- encoder . writeUInteger ( CompactMessageType . Notification ) ;
174- encoder . writeAsciiStr ( this . method ) ;
175- if ( hasValue ) {
176- if ( value . type ) value . type . encoder ( codec . format ) ( value . data , encoder ) ;
177- else encoder . writeAny ( value . data ) ;
178- }
179- } else if ( encoder instanceof JsonEncoder ) {
180- const value = this . value ;
181- encoder . writeStartArr ( ) ;
182- encoder . writeNumber ( CompactMessageType . Notification ) ;
183- encoder . writeArrSeparator ( ) ;
184- encoder . writeAsciiStr ( this . method ) ;
185- const hasValue = value !== undefined ;
186- if ( hasValue ) {
187- encoder . writeArrSeparator ( ) ;
188- if ( value . type ) value . type . encoder ( codec . format ) ( value . data , encoder ) ;
189- else encoder . writeAny ( value . data ) ;
190- }
191- encoder . writeEndArr ( ) ;
192- } else encoder . writeArr ( this . toCompact ( ) ) ;
193- }
194-
19596 public encodeBinary ( codec : JsonValueCodec ) : void {
19697 const writer = codec . encoder . writer ;
19798 const name = this . method ;
@@ -230,10 +131,6 @@ export class RequestDataMessage<V extends RpcValue<any> = RpcValue> implements M
230131 : [ CompactMessageType . RequestData , this . id , this . method , this . value . data ] ;
231132 }
232133
233- public encodeCompact ( codec : JsonValueCodec ) : void {
234- encodeCompactWithNameAndPayload ( codec , CompactMessageType . RequestData , this ) ;
235- }
236-
237134 public encodeBinary ( codec : JsonValueCodec ) : void {
238135 encodeBinaryWithNameAndPayload ( codec , BinaryMessageType . RequestData << 13 , this . id , this . method , this . value ) ;
239136 }
@@ -260,10 +157,6 @@ export class RequestCompleteMessage<V extends RpcValue<any> = RpcValue> implemen
260157 : [ CompactMessageType . RequestComplete , this . id , this . method , this . value . data ] ;
261158 }
262159
263- public encodeCompact ( codec : JsonValueCodec ) : void {
264- encodeCompactWithNameAndPayload ( codec , CompactMessageType . RequestComplete , this ) ;
265- }
266-
267160 public encodeBinary ( codec : JsonValueCodec ) : void {
268161 encodeBinaryWithNameAndPayload ( codec , BinaryMessageType . RequestComplete << 13 , this . id , this . method , this . value ) ;
269162 }
@@ -288,10 +181,6 @@ export class RequestErrorMessage<V extends RpcValue<any> = RpcValue> implements
288181 return [ CompactMessageType . RequestError , this . id , this . method , this . value . data ] ;
289182 }
290183
291- public encodeCompact ( codec : JsonValueCodec ) : void {
292- encodeCompactWithNameAndPayload ( codec , CompactMessageType . RequestError , this ) ;
293- }
294-
295184 public encodeBinary ( codec : JsonValueCodec ) : void {
296185 encodeBinaryWithNameAndPayload ( codec , BinaryMessageType . RequestError << 13 , this . id , this . method , this . value ) ;
297186 }
@@ -311,10 +200,6 @@ export class RequestUnsubscribeMessage implements Message<cmsg.CompactMessage> {
311200 return [ CompactMessageType . RequestUnsubscribe , this . id ] ;
312201 }
313202
314- public encodeCompact ( codec : JsonValueCodec ) : void {
315- codec . encoder . writeArr ( this . toCompact ( ) ) ;
316- }
317-
318203 public encodeBinary ( codec : JsonValueCodec ) : void {
319204 codec . encoder . writer . u32 ( 0b11100000_00000000_00000000_00000000 | this . id ) ;
320205 }
@@ -339,10 +224,6 @@ export class ResponseCompleteMessage<V extends RpcValue<any> = RpcValue> impleme
339224 : [ CompactMessageType . ResponseComplete , this . id , this . value . data ] ;
340225 }
341226
342- public encodeCompact ( codec : JsonValueCodec ) : void {
343- encodeCompactWithPayload ( codec , CompactMessageType . ResponseComplete , this ) ;
344- }
345-
346227 public encodeBinary ( codec : JsonValueCodec ) : void {
347228 encodeBinaryWithPayload ( codec , BinaryMessageType . ResponseComplete << 13 , this . id , this . value ) ;
348229 }
@@ -365,10 +246,6 @@ export class ResponseDataMessage<V extends RpcValue<any> = RpcValue> implements
365246 return [ CompactMessageType . ResponseData , this . id , this . value . data ] ;
366247 }
367248
368- public encodeCompact ( codec : JsonValueCodec ) : void {
369- encodeCompactWithPayload ( codec , CompactMessageType . ResponseData , this ) ;
370- }
371-
372249 public encodeBinary ( codec : JsonValueCodec ) : void {
373250 encodeBinaryWithPayload ( codec , BinaryMessageType . ResponseData << 13 , this . id , this . value ) ;
374251 }
@@ -391,10 +268,6 @@ export class ResponseErrorMessage<V extends RpcValue<any> = RpcValue> implements
391268 return [ CompactMessageType . ResponseError , this . id , this . value . data ] ;
392269 }
393270
394- public encodeCompact ( codec : JsonValueCodec ) : void {
395- encodeCompactWithPayload ( codec , CompactMessageType . ResponseError , this ) ;
396- }
397-
398271 public encodeBinary ( codec : JsonValueCodec ) : void {
399272 encodeBinaryWithPayload ( codec , BinaryMessageType . ResponseError << 13 , this . id , this . value ) ;
400273 }
@@ -414,10 +287,6 @@ export class ResponseUnsubscribeMessage implements Message<cmsg.CompactMessage>
414287 return [ CompactMessageType . ResponseUnsubscribe , this . id ] ;
415288 }
416289
417- public encodeCompact ( codec : JsonValueCodec ) : void {
418- codec . encoder . writeArr ( this . toCompact ( ) ) ;
419- }
420-
421290 public encodeBinary ( codec : JsonValueCodec ) : void {
422291 codec . encoder . writer . u32 ( 0b11100000_00000001_00000000_00000000 | this . id ) ;
423292 }
0 commit comments