MCPcopy Create free account
hub / github.com/denoland/std / #decodeFour

Method #decodeFour

cbor/sequence_decoder_stream.ts:359–394  ·  view source on GitHub ↗
(
    aI: number,
  )

Source from the content-addressed store, hash-verified

357 }
358
359 async #decodeFour(
360 aI: number,
361 ): Promise<[CborArrayDecodedStream, lock: Promise<unknown>]> {
362 let releaseLock: ReleaseLock = () => {};
363 const lock = new Promise((x) => releaseLock = x);
364 if (aI < 24) {
365 return [
366 new CborArrayDecodedStream(this.#readDefinite(aI), releaseLock),
367 lock,
368 ];
369 }
370 if (aI <= 27) {
371 return [
372 new CborArrayDecodedStream(
373 this.#readDefinite(
374 arrayToNumber(
375 (await this.#read(2 ** (aI - 24), true)).buffer,
376 true,
377 ),
378 ),
379 releaseLock,
380 ),
381 lock,
382 ];
383 }
384 if (aI === 31) {
385 return [
386 new CborArrayDecodedStream(this.#readIndefinite(false), releaseLock),
387 lock,
388 ];
389 }
390 releaseLock();
391 throw new RangeError(
392 `Cannot decode value (0b100_${aI.toString(2).padStart(5, "0")})`,
393 );
394 }
395
396 async #decodeFive(
397 aI: number,

Callers 1

#decodeMethod · 0.95

Calls 5

#readDefiniteMethod · 0.95
#readMethod · 0.95
#readIndefiniteMethod · 0.95
arrayToNumberFunction · 0.90
toStringMethod · 0.45

Tested by

no test coverage detected