|
1 | 1 | import {Writer} from '../../util/buffers/Writer'; |
2 | 2 | import {RESP} from './constants'; |
3 | 3 | import {utf8Size} from '../../util/strings/utf8'; |
4 | | -import {RespAttributes, RespPush} from './extensions'; |
| 4 | +import {RespAttributes, RespPush, RespVerbatimString} from './extensions'; |
| 5 | +import {JsonPackExtension} from '../JsonPackExtension'; |
5 | 6 | import type {IWriter, IWriterGrowable} from '../../util/buffers'; |
6 | 7 | import type {BinaryJsonEncoder, StreamingBinaryJsonEncoder, TlvBinaryJsonEncoder} from '../types'; |
7 | 8 | import type {Slice} from '../../util/buffers/Slice'; |
@@ -38,8 +39,11 @@ export class RespEncoder<W extends IWriter & IWriterGrowable = IWriter & IWriter |
38 | 39 | if (value instanceof Uint8Array) return this.writeBin(value); |
39 | 40 | if (value instanceof Error) return this.writeErr(value.message); |
40 | 41 | if (value instanceof Set) return this.writeSet(value); |
41 | | - if (value instanceof RespPush) return this.writePush(value.val); |
42 | | - if (value instanceof RespAttributes) return this.writeAttr(value.val); |
| 42 | + if (value instanceof JsonPackExtension) { |
| 43 | + if (value instanceof RespPush) return this.writePush(value.val); |
| 44 | + if (value instanceof RespVerbatimString) return this.writeVerbatimStr('txt', value.val); |
| 45 | + if (value instanceof RespAttributes) return this.writeAttr(value.val); |
| 46 | + } |
43 | 47 | return this.writeObj(value as Record<string, unknown>); |
44 | 48 | } |
45 | 49 | case 'undefined': |
|
0 commit comments