Skip to content

Commit

Permalink
Emitter: rename Suspendable -> Emitter and update everything to use o…
Browse files Browse the repository at this point in the history
…ur Emitter
  • Loading branch information
rwaldron committed Jul 6, 2021
1 parent 8dc5651 commit 460179b
Show file tree
Hide file tree
Showing 42 changed files with 82 additions and 71 deletions.
2 changes: 1 addition & 1 deletion lib/accelerometer.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Board = require("./board");
const Expander = require("./expander");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const { constrain, fma, int16, sum, toFixed, RAD_TO_DEG } = require("./fn");

const priv = new Map();
Expand Down
2 changes: 1 addition & 1 deletion lib/altimeter.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const { toFixed } = require("./fn");
const priv = new Map();

Expand Down
2 changes: 1 addition & 1 deletion lib/animation.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const ease = require("./easing");
const { cloneDeep, constrain } = require("./fn");
let temporal;
Expand Down
2 changes: 1 addition & 1 deletion lib/barometer.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const { toFixed } = require("./fn");

const Controllers = {
Expand Down
7 changes: 1 addition & 6 deletions lib/board.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const chalk = require("chalk");
const Collection = require("./mixins/collection");
const Fn = require("./fn");
Expand Down Expand Up @@ -471,11 +471,6 @@ function finalizeAndBroadcast(data, type, io) {
}
}

// Inherit event api
// util.inherits(Board, Emitter);



/**
* Pass through methods
*/
Expand Down
2 changes: 1 addition & 1 deletion lib/button.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Board = require("./board");
const Collection = require("./mixins/collection");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const EVS = require("./evshield");
const Fn = require("./fn");

Expand Down
2 changes: 1 addition & 1 deletion lib/color.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Board = require("./board");
const EVS = require("./evshield");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Fn = require("./fn");
const priv = new Map();

Expand Down
2 changes: 1 addition & 1 deletion lib/compass.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const {int16, RAD_TO_DEG, TAU} = require("./fn");
const priv = new Map();

Expand Down
2 changes: 1 addition & 1 deletion lib/evshield.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
let shared;

class Bank {
Expand Down
2 changes: 1 addition & 1 deletion lib/expander.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const sleep = require("./sleep");
const Fn = require("./fn");
const priv = new Map();
Expand Down
2 changes: 1 addition & 1 deletion lib/gps.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Pin = require("./pin");
const {toFixed} = require("./fn");
const priv = new Map();
Expand Down
2 changes: 1 addition & 1 deletion lib/gyro.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Fn = require("./fn");

const sum = Fn.sum;
Expand Down
2 changes: 1 addition & 1 deletion lib/hygrometer.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Fn = require("./fn");
const priv = new Map();

Expand Down
2 changes: 1 addition & 1 deletion lib/joystick.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const { constrain, fscale } = require("./fn");
const priv = new Map();
const axes = ["x", "y"];
Expand Down
2 changes: 1 addition & 1 deletion lib/keypad.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Fn = require("./fn");
const { scale, toFixed, uint16 } = Fn;
const priv = new Map();
Expand Down
4 changes: 2 additions & 2 deletions lib/light.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Board = require("./board");
const EVS = require("./evshield");
const Suspendable = require("./mixins/suspendable");
const Withinable = require("./mixins/withinable");
const { uint16, toFixed, scale } = require("./fn");
const priv = new Map();

Expand Down Expand Up @@ -436,7 +436,7 @@ Controllers.ALSPT19 = Controllers["ALS-PT19"] = Controllers.DEFAULT;
*
*/

class Light extends Suspendable {
class Light extends Withinable {
constructor(options) {
super();

Expand Down
6 changes: 3 additions & 3 deletions lib/mixins/collection.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const Emitter = require("events");
const EventEmitter = require("events");
const Emitter = require("./emitter");

/**
* Collection
Expand Down Expand Up @@ -203,8 +204,6 @@ Collection.Emitter = class extends Collection {
constructor(numsOrObjects) {
super(numsOrObjects);

// Emitter.call(this);

// If the Collection.Emitter was created
// with a Shared Properties object, then
// we should abide by the freq or period
Expand Down Expand Up @@ -282,6 +281,7 @@ Collection.Emitter = class extends Collection {

Object.assign(
Collection.Emitter.prototype,
EventEmitter.prototype,
Emitter.prototype
);

Expand Down
13 changes: 8 additions & 5 deletions lib/mixins/suspendable.js → lib/mixins/emitter.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
const Withinable = require("./withinable");
const EventEmitter = require("events");
const wm = new WeakMap();

class Suspendable extends Withinable {
class Emitter extends EventEmitter {
pause() {

wm.set(this, {
...this._events
});

this._events = { __proto__: null };
}

resume() {
const events = wm.get(this);
if (events) {
Expand All @@ -23,4 +21,9 @@ class Suspendable extends Withinable {
}
}

module.exports = Suspendable;
Object.assign(
Emitter.prototype,
EventEmitter.prototype
);

module.exports = Emitter;
2 changes: 1 addition & 1 deletion lib/mixins/withinable.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const Emitter = require("events");
const Emitter = require("./emitter");

class Withinable extends Emitter {
constructor() {
Expand Down
2 changes: 1 addition & 1 deletion lib/motion.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Board = require("./board");
const Collection = require("./mixins/collection");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const priv = new Map();


Expand Down
2 changes: 1 addition & 1 deletion lib/motor.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Board = require("./board");
const Collection = require("./mixins/collection");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const EVS = require("./evshield");
const Expander = require("./expander.js");
const Fn = require("./fn");
Expand Down
2 changes: 1 addition & 1 deletion lib/orientation.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const priv = new Map();

const Controllers = {
Expand Down
2 changes: 1 addition & 1 deletion lib/pin.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Collection = require("./mixins/collection");

const priv = new Map();
Expand Down
4 changes: 2 additions & 2 deletions lib/proximity.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const Board = require("./board");
const Collection = require("./mixins/collection");
const EVS = require("./evshield");
const Fn = require("./fn");
const Suspendable = require("./mixins/suspendable");
const Withinable = require("./mixins/withinable");
const Pins = Board.Pins;

const toFixed = Fn.toFixed;
Expand Down Expand Up @@ -427,7 +427,7 @@ Controllers.DEFAULT = Controllers["GP2Y0A21YK"];
*
*/

class Proximity extends Suspendable {
class Proximity extends Withinable {
constructor(options) {
super();

Expand Down
2 changes: 1 addition & 1 deletion lib/reflectancearray.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Fn = require("./fn");
const Led = require("./led");
const Sensor = require("./sensor");
Expand Down
2 changes: 1 addition & 1 deletion lib/repl.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const repl = require("repl");
const priv = new Map();

Expand Down
6 changes: 3 additions & 3 deletions lib/sensor.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const Board = require("./board");
const Collection = require("./mixins/collection");
const Fn = require("./fn");
const Suspendable = require("./mixins/suspendable");
const Collection = require("./mixins/collection");
const Withinable = require("./mixins/withinable");

// Sensor instance private data
const priv = new Map();
Expand All @@ -28,7 +28,7 @@ function median(input) {
* @param {Object} options Options: pin, freq, range
*/

class Sensor extends Suspendable {
class Sensor extends Withinable {
constructor(options) {

super();
Expand Down
2 changes: 1 addition & 1 deletion lib/servo.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
const Board = require("./board");
const Pins = Board.Pins;
const Expander = require("./expander");
const Emitter = require("events");
const Collection = require("./mixins/collection");
const Emitter = require("./mixins/emitter");
const Fn = require("./fn");
const Animation = require("./animation");

Expand Down
2 changes: 1 addition & 1 deletion lib/sip.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Board = require("./board");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Fn = require("./fn");
const priv = new Map();
const activeDrivers = new Map();
Expand Down
2 changes: 1 addition & 1 deletion lib/switch.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Board = require("./board");
const Collection = require("./mixins/collection");
const Emitter = require("events");
const Emitter = require("./mixins/emitter");
const Fn = require("./fn");

/**
Expand Down
8 changes: 4 additions & 4 deletions lib/thermometer.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Board = require("./board");
const Emitter = require("events");
const Suspendable = require("./mixins/suspendable");
const EventEmitter = require("events");
const Emitter = require("./mixins/emitter");
const {
toFixed,
POW_2_16,
Expand Down Expand Up @@ -283,7 +283,7 @@ Drivers.get = (board, driverName, options) => {
const key = `${driverName}_${options.pin}`;

if (!drivers[key]) {
driver = new Emitter();
driver = new EventEmitter();
Object.defineProperties(driver, Drivers[driverName]);
driver.initialize(board, options);
drivers[key] = driver;
Expand Down Expand Up @@ -880,7 +880,7 @@ Controllers.DEFAULT = Controllers.ANALOG;

var priv = new Map();

class Thermometer extends Suspendable {
class Thermometer extends Emitter {
constructor(options) {
super();

Expand Down
2 changes: 1 addition & 1 deletion test/.jshintrc
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
"ShiftRegisters": true,
"Sonar": true,
"Stepper": true,
"Suspendable": true,
"Emitter": true,
"Switch": true,
"temporal": true,
"Thermometer": true,
Expand Down
4 changes: 2 additions & 2 deletions test/common/bootstrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
global.IS_TEST_MODE = true;

// Built-ins
global.Emitter = require("events");
global.EventEmitter = require("events");

// Internal
global.Collection = require("../../lib/mixins/collection");
global.Suspendable = require("../../lib/mixins/suspendable");
global.Emitter = require("../../lib/mixins/emitter");
global.Withinable = require("../../lib/mixins/withinable");
global.five = require("../../lib/johnny-five");
global.EVS = require("../../lib/evshield");
Expand Down
Loading

0 comments on commit 460179b

Please sign in to comment.