UNPKG

vite-plugin-react-server

Version:
36 lines (33 loc) 3.62 kB
/** * vite-plugin-react-server * Copyright (c) Nico Brinkkemper * MIT License */ import { Transform } from 'node:stream'; import { createStreamMetrics } from './createStreamMetrics.js'; function collectStreamMetrics(stream) { const metrics = createStreamMetrics(); const startTime = performance.now(); return new Promise((resolve, reject) => { const transform = new Transform({ transform(chunk, _encoding, callback) { metrics.chunks++; metrics.bytes += chunk.length; callback(null, chunk); }, flush(callback) { metrics.duration = Date.now() - startTime; callback(); } }); stream.pipe(transform); transform.on("error", (error) => { reject(error); }); transform.on("end", () => { resolve(metrics); }); }); } export { collectStreamMetrics }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdFN0cmVhbU1ldHJpY3MuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9tZXRyaWNzL2NvbGxlY3RTdHJlYW1NZXRyaWNzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zZm9ybSB9IGZyb20gXCJub2RlOnN0cmVhbVwiO1xuaW1wb3J0IHsgY3JlYXRlU3RyZWFtTWV0cmljcyB9IGZyb20gXCIuL2NyZWF0ZVN0cmVhbU1ldHJpY3MuanNcIjtcbmltcG9ydCB0eXBlIHsgU3RyZWFtTWV0cmljcyB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRyYW5zZm9ybSBzdHJlYW0gdGhhdCBjb2xsZWN0cyBtZXRyaWNzIGZyb20gdGhlIGlucHV0IHN0cmVhbVxuICogQHBhcmFtIHN0cmVhbSBUaGUgc3RyZWFtIHRvIGNvbGxlY3QgbWV0cmljcyBmcm9tXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBtZXRyaWNzIHdoZW4gdGhlIHN0cmVhbSBlbmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0U3RyZWFtTWV0cmljcyhzdHJlYW06IGFueSB8IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSk6IFByb21pc2U8U3RyZWFtTWV0cmljcz4ge1xuICBjb25zdCBtZXRyaWNzID0gY3JlYXRlU3RyZWFtTWV0cmljcygpO1xuICBjb25zdCBzdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZTxTdHJlYW1NZXRyaWNzPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgdHJhbnNmb3JtID0gbmV3IFRyYW5zZm9ybSh7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIF9lbmNvZGluZywgY2FsbGJhY2spIHtcbiAgICAgICAgbWV0cmljcy5jaHVua3MrKztcbiAgICAgICAgbWV0cmljcy5ieXRlcyArPSBjaHVuay5sZW5ndGg7XG4gICAgICAgIGNhbGxiYWNrKG51bGwsIGNodW5rKTtcbiAgICAgIH0sXG4gICAgICBmbHVzaChjYWxsYmFjaykge1xuICAgICAgICBtZXRyaWNzLmR1cmF0aW9uID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHN0cmVhbS5waXBlKHRyYW5zZm9ybSk7XG5cbiAgICB0cmFuc2Zvcm0ub24oXCJlcnJvclwiLCAoZXJyb3IpID0+IHtcbiAgICAgIHJlamVjdChlcnJvcik7XG4gICAgfSk7XG5cbiAgICB0cmFuc2Zvcm0ub24oXCJlbmRcIiwgKCkgPT4ge1xuICAgICAgcmVzb2x2ZShtZXRyaWNzKTtcbiAgICB9KTtcbiAgfSk7XG59ICJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVNPLFNBQVMscUJBQXFCLE1BQTZELEVBQUE7QUFDaEcsRUFBQSxNQUFNLFVBQVUsbUJBQW9CLEVBQUE7QUFDcEMsRUFBTSxNQUFBLFNBQUEsR0FBWSxZQUFZLEdBQUksRUFBQTtBQUVsQyxFQUFBLE9BQU8sSUFBSSxPQUFBLENBQXVCLENBQUMsT0FBQSxFQUFTLE1BQVcsS0FBQTtBQUNyRCxJQUFNLE1BQUEsU0FBQSxHQUFZLElBQUksU0FBVSxDQUFBO0FBQUEsTUFDOUIsU0FBQSxDQUFVLEtBQU8sRUFBQSxTQUFBLEVBQVcsUUFBVSxFQUFBO0FBQ3BDLFFBQVEsT0FBQSxDQUFBLE1BQUEsRUFBQTtBQUNSLFFBQUEsT0FBQSxDQUFRLFNBQVMsS0FBTSxDQUFBLE1BQUE7QUFDdkIsUUFBQSxRQUFBLENBQVMsTUFBTSxLQUFLLENBQUE7QUFBQSxPQUN0QjtBQUFBLE1BQ0EsTUFBTSxRQUFVLEVBQUE7QUFDZCxRQUFRLE9BQUEsQ0FBQSxRQUFBLEdBQVcsSUFBSyxDQUFBLEdBQUEsRUFBUSxHQUFBLFNBQUE7QUFDaEMsUUFBUyxRQUFBLEVBQUE7QUFBQTtBQUNYLEtBQ0QsQ0FBQTtBQUVELElBQUEsTUFBQSxDQUFPLEtBQUssU0FBUyxDQUFBO0FBRXJCLElBQVUsU0FBQSxDQUFBLEVBQUEsQ0FBRyxPQUFTLEVBQUEsQ0FBQyxLQUFVLEtBQUE7QUFDL0IsTUFBQSxNQUFBLENBQU8sS0FBSyxDQUFBO0FBQUEsS0FDYixDQUFBO0FBRUQsSUFBVSxTQUFBLENBQUEsRUFBQSxDQUFHLE9BQU8sTUFBTTtBQUN4QixNQUFBLE9BQUEsQ0FBUSxPQUFPLENBQUE7QUFBQSxLQUNoQixDQUFBO0FBQUEsR0FDRixDQUFBO0FBQ0g7Ozs7In0=