@beyond-js/bundles-sdk
Version:
BeyondJS Bundles SDK
48 lines (38 loc) • 1.78 kB
JavaScript
module.exports = class {
constructor(emitter) {
const events = ['hashes.change', 'js.change', 'css.change',
'dependencies.change', 'dependency.change', 'declaration.change'];
events.forEach(event => this.
}
subscribe = processors => processors.forEach(processor => {
const listeners = this.
const {hashes, packager, dependencies} = processor;
hashes.on('change', listeners.get('hashes.change'));
if (packager) {
const {js, css, declaration} = packager;
js?.on('change', listeners.get('js.change'));
css?.on('change', listeners.get('css.change'));
declaration?.on('change', listeners.get('declaration.change'));
}
if (dependencies) {
dependencies.on('change', listeners.get('dependencies.change'));
dependencies.on('dependency.change', listeners.get('dependency.change'));
}
});
unsubscribe = processors => processors.forEach(processor => {
const listeners = this.
const {hashes, packager, dependencies} = processor;
hashes.off('change', listeners.get('hashes.change'));
if (packager) {
const {js, css, declaration} = packager;
js?.off('change', listeners.get('js.change'));
css?.off('change', listeners.get('css.change'));
declaration?.off('change', listeners.get('declaration.change'));
}
if (dependencies) {
dependencies.off('change', listeners.get('dependencies.change'));
dependencies.off('dependency.change', listeners.get('dependency.change'));
}
});
}