react-imported-component
Version:
I will import your component, and help to handle it
22 lines (21 loc) • 785 B
JavaScript
import { Transform } from 'stream';
import { getUsedMarks } from '../loadable/marks';
export const createLoadableTransformer = (stream, callback) => {
const usedMarks = new Set();
return new Transform({
// transform() is called with each chunk of data
// tslint:disable-next-line:variable-name
transform(chunk, _, _callback) {
const marks = getUsedMarks(stream);
const newMarks = [];
marks.forEach((mark) => {
if (!usedMarks.has(mark)) {
newMarks.push(mark);
usedMarks.add(mark);
}
});
const chunkData = Buffer.from(chunk, 'utf-8');
_callback(undefined, callback(newMarks) + chunkData);
},
});
};