👨🏫 bidello
Class
alone.
Don't leave your bidello is a simple class Mixin and event system.
How to use it
npm install bidello
and then
import { component } from 'bidello';
class YourClass extends component() {
init() {
//...
}
}
And so?
You can extend your classes, and trigger methods by global events.
import bidello, { component } from 'bidello';
class YourClass extends component() {
onResize({ width, height }) {
}
onVisibility({ visible }) {
}
onRaf() {
}
};
// Anywhere else in your code...
bidello.trigger({ name: 'resize', fireAtStart: true }, {
width: window.innerWidth,
height: window.innerHeight,
});
bidello.trigger({ name: 'onVisibility' }, {
visible: false,
});
bidello.trigger({ name: 'raf' });
The
fireAtStart
flag, if true, will force theonResize
method to be called for any new classes created in the future (automatically passing the last known data)
Extending an existing class using bidello
You can also do stuff like:
import { Object3D } from 'three.js';
import { component } from 'bidello';
class YourClass extends component(Object3D) {
onResize({ width, height }) {
}
onVisibility({ visible }) {
}
onRaf() {
}
};
In this way YouClass
extends Object3D
plus bidello
methods
Look at antipasto for a real example.