DuyTa's picture
Upload folder using huggingface_hub
bc20498 verified
raw
history blame
1.44 kB
'use strict';
// REQUIRES INTEGRATION TEST
/* c8 ignore start */
const io = new WeakMap();
exports.io = io;
const stdio = (init) => {
const context = init || console;
const localIO = {
// allow plugins or other io manipulating logic to reuse
// the buffered utility exposed in here (see py-editor)
buffered,
stderr: (context.stderr || console.error).bind(context),
stdout: (context.stdout || console.log).bind(context),
};
return {
stderr: (...args) => localIO.stderr(...args),
stdout: (...args) => localIO.stdout(...args),
async get(engine) {
const interpreter = await engine;
io.set(interpreter, localIO);
return interpreter;
},
};
};
exports.stdio = stdio;
const decoder = new TextDecoder();
const buffered = (callback, EOL = 10) => {
const buffer = [];
return (maybeUI8) => {
if (maybeUI8 instanceof Uint8Array) {
for (const c of maybeUI8) {
if (c === EOL)
callback(decoder.decode(new Uint8Array(buffer.splice(0))));
else
buffer.push(c);
}
}
// if io.stderr(error) is passed instead
// or any io.stdout("thing") this should
// still work as expected
else {
callback(maybeUI8);
}
};
};
exports.buffered = buffered;
/* c8 ignore stop */