DuyTa's picture
Upload folder using huggingface_hub
bc20498 verified
raw
history blame
1.03 kB
import toJSONCallback from 'to-json-callback';
import { dedent } from '../utils.js';
import { js as jsHooks, code as codeHooks } from '../hooks.js';
// REQUIRES INTEGRATION TEST
/* c8 ignore start */
export default class Hook {
constructor(interpreter, hooks = {}) {
const { main, worker } = hooks;
this.interpreter = interpreter;
this.onWorker = main?.onWorker;
// ignore onWorker as that's main only
for (const key of jsHooks.slice(1))
this[key] = worker?.[key];
for (const key of codeHooks)
this[key] = worker?.[key];
}
toJSON() {
const hooks = {};
// ignore onWorker as that's main only
for (const key of jsHooks.slice(1)) {
if (this[key]) hooks[key] = toJSONCallback(this[key]);
}
// code related: exclude `onReady` callback
for (const key of codeHooks) {
if (this[key]) hooks[key] = dedent(this[key]());
}
return hooks;
}
}
/* c8 ignore stop */