Renamed "worker" to "do"

Renaming the "worker" folder to "do" so we can add more workers without having to cram them all in one folder.
This commit is contained in:
Victor Westerlund 2021-10-08 13:56:10 +02:00
parent c275186126
commit 17224b0a86
3 changed files with 19 additions and 3 deletions

View file

@ -1,4 +1,4 @@
import { default as MonkeyWorker } from "./worker/MonkeyManager.mjs"; import { default as MonkeyWorker } from "./do/MonkeyManager.mjs";
export default class Monkeydo extends MonkeyWorker { export default class Monkeydo extends MonkeyWorker {
constructor(methods = {},manifest = false) { constructor(methods = {},manifest = false) {

View file

@ -1,7 +1,8 @@
// Task scheduler and iterator of Monkeydo manifests // Dedicated worker which executes tasks from a Monkeydo manifest
class Monkey { class Monkey {
constructor(manifest) { constructor(manifest) {
const self = this;
this.data = manifest.body; this.data = manifest.body;
this.dataLength = this.data.length - 1; this.dataLength = this.data.length - 1;
@ -9,6 +10,19 @@ class Monkey {
playing: 0, playing: 0,
stacking: 0, // Subsequent calls to play() will build a queue (jQuery-style) stacking: 0, // Subsequent calls to play() will build a queue (jQuery-style)
loop: 0, // Loop n times; <0 = infinite loop: 0, // Loop n times; <0 = infinite
_forwards: 1, // Playback direction
set forwards(forwards = true) {
if(forwards == this._forwards) {
return false;
}
// Toggle playback direction
console.log(this);
self.data = self.data.reverse();
this._forwards = 1 - this._forwards;
},
get forwards() {
return this._forwards;
}
} }
this.i = 0; // Manifest iterator index this.i = 0; // Manifest iterator index
@ -37,7 +51,7 @@ class Monkey {
play() { play() {
// Stack playback as loops if flag is set // Stack playback as loops if flag is set
if(this.flags.playing) { if(this.flags.playing) {
if(this.flags.stacking) { if(this.flags.stacking && this.flags.loop >= 0) {
this.flags.loop++; this.flags.loop++;
} }
return; return;

View file

@ -13,6 +13,8 @@ export default class MonkeyManager {
// Spawn a dedicated worker for scheduling events from manifest // Spawn a dedicated worker for scheduling events from manifest
this.worker = new Worker(location + "Monkey.js"); this.worker = new Worker(location + "Monkey.js");
this.worker.addEventListener("message",message => this.message(message)); this.worker.addEventListener("message",message => this.message(message));
this.reversed = false;
} }
// Get a status flag from the worker // Get a status flag from the worker