MCPcopy
hub / github.com/webpack/webpack / read

Method read

lib/serialization/FileMiddleware.js:707–778  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

705 }
706 const fd = /** @type {number} */ (_fd);
707 const read = () => {
708 if (currentBuffer === undefined) {
709 currentBuffer = Buffer.allocUnsafeSlow(
710 Math.min(
711 constants.MAX_LENGTH,
712 remaining,
713 decompression ? DECOMPRESSION_CHUNK_SIZE : Infinity
714 )
715 );
716 currentBufferUsed = 0;
717 }
718 let readBuffer = currentBuffer;
719 let readOffset = /** @type {number} */ (currentBufferUsed);
720 let readLength =
721 currentBuffer.length -
722 /** @type {number} */ (currentBufferUsed);
723 // values passed to fs.read must be valid int32 values
724 if (readOffset > 0x7fffffff) {
725 readBuffer = currentBuffer.subarray(readOffset);
726 readOffset = 0;
727 }
728 if (readLength > 0x7fffffff) {
729 readLength = 0x7fffffff;
730 }
731 this.fs.read(
732 fd,
733 readBuffer,
734 readOffset,
735 readLength,
736 null,
737 (err, bytesRead) => {
738 if (err) {
739 this.fs.close(fd, () => {
740 reject(err);
741 });
742 return;
743 }
744 /** @type {number} */
745 (currentBufferUsed) += bytesRead;
746 remaining -= bytesRead;
747 if (
748 currentBufferUsed ===
749 /** @type {Buffer} */
750 (currentBuffer).length
751 ) {
752 if (decompression) {
753 decompression.write(currentBuffer);
754 } else {
755 buf.push(
756 /** @type {Buffer} */
757 (currentBuffer)
758 );
759 }
760 currentBuffer = undefined;
761 if (remaining === 0) {
762 if (decompression) {
763 decompression.end();
764 }

Callers

nothing calls this directly

Calls 5

resolveFunction · 0.85
writeMethod · 0.80
readFunction · 0.50
closeMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected