MCPcopy Create free account
hub / github.com/Effect-TS/effect / decode

Function decode

packages/effect/src/unstable/rpc/RpcSerialization.ts:523–549  ·  view source on GitHub ↗
(bytes)

Source from the content-addressed store, hash-verified

521 }
522 return {
523 decode(bytes) {
524 let buf = typeof bytes === "string" ? encoder.encode(bytes) : bytes
525 if (incomplete !== undefined) {
526 if (isBufferSizeExceeded(incomplete.length + buf.length, maxBufferSize)) {
527 failMaxBufferSize(maxBufferSize)
528 }
529 const prev = buf
530 bytes = new Uint8Array(incomplete.length + buf.length)
531 bytes.set(incomplete)
532 bytes.set(prev, incomplete.length)
533 buf = bytes
534 incomplete = undefined
535 }
536 try {
537 return unpackr.unpackMultiple(buf)
538 } catch (error_) {
539 const error = error_ as any
540 if (error.incomplete) {
541 incomplete = buf.subarray(error.lastPosition)
542 if (isBufferSizeExceeded(incomplete.length, maxBufferSize)) {
543 failMaxBufferSize(maxBufferSize)
544 }
545 return error.values ?? []
546 }
547 throw error_
548 }
549 },
550 encode: (response) => packr.pack(response)
551 }
552 }

Callers 2

handleUpdateFunction · 0.50
Atom.tsFile · 0.50

Calls 3

isBufferSizeExceededFunction · 0.85
failMaxBufferSizeFunction · 0.85
setMethod · 0.65

Tested by

no test coverage detected