Compile sequence module as is.

This commit is contained in:
mmcwilliams 2019-10-11 17:53:41 -04:00
parent f1ab4ca1af
commit 591641774a
3 changed files with 94 additions and 104 deletions

View File

@ -1,114 +1,103 @@
'use strict' 'use strict';
const uuid = require('uuid').v4;
const uuid = require('uuid').v4 const log = require('../log')('seq');
const log = require('../log')('seq')
/** Object sequence features */ /** Object sequence features */
const sequence = {}; const sequence = {};
sequence._state = { sequence._state = {
arr : [], arr: [],
active : false, active: false,
paused : false, paused: false,
frame: false, frame: false,
delay : false, delay: false,
count : 0, count: 0,
stop : null stop: null
} };
sequence._loop = { sequence._loop = {
arr : [], arr: [],
count : 0, count: 0,
max : 0 max: 0
} };
sequence.start = function (options, cb) { sequence.start = function (options, cb) {
if (sequence._state.active) { if (sequence._state.active) {
return false return false;
} }
sequence._state.active = true;
sequence._state.active = true sequence._state.count = 0;
sequence._state.count = 0 if (options.arr) {
sequence._state.arr = options.arr;
if (options.arr) { }
sequence._state.arr = options.arr if (options.loop) {
} sequence._loop.arr = options.loop;
sequence._loop.count = 0;
if (options.loop) { }
sequence._loop.arr = options.loop if (options.maxLoop) {
sequence._loop.count = 0 sequence._loop.max = options.maxLoop;
} }
else {
if (options.maxLoop) { sequence._loop.max = 0;
sequence._loop.max = options.maxLoop }
} else { sequence._state.stop = cb;
sequence._loop.max = 0 sequence.step();
} sequence._state.id = uuid();
sequence._state.stop = cb return sequence._state.id;
sequence.step() };
sequence._state.id = uuid()
return sequence._state.id
}
sequence.setStop = function () { sequence.setStop = function () {
sequence._state.active = false sequence._state.active = false;
} };
sequence.stop = function () { sequence.stop = function () {
sequence._state.active = false sequence._state.active = false;
sequence._state.count = 0 sequence._state.count = 0;
sequence._state.arr = [] sequence._state.arr = [];
sequence._loop.count = 0;
sequence._loop.count = 0 sequence._loop.max = 0;
sequence._loop.max = 0 sequence._loop.arr = [];
sequence._loop.arr = [] if (sequence._state.stop)
sequence._state.stop();
if (sequence._state.stop) sequence._state.stop() sequence._state.stop = null;
};
sequence._state.stop = null
}
sequence.pause = function () { sequence.pause = function () {
sequence._state.paused = true sequence._state.paused = true;
} };
sequence.resume = function () { sequence.resume = function () {
sequence._state.paused = false sequence._state.paused = false;
sequence.step() sequence.step();
} };
sequence.step = function () { sequence.step = function () {
if (sequence._state.active && !sequence._state.paused) { if (sequence._state.active && !sequence._state.paused) {
if (sequence._state.arr.length > 0) { if (sequence._state.arr.length > 0) {
if (sequence._state.count > sequence._state.arr.length - 1) { if (sequence._state.count > sequence._state.arr.length - 1) {
return sequence.stop() return sequence.stop();
} }
log.info('step', { count : sequence._state.count, id : sequence._state.id }) log.info('step', { count: sequence._state.count, id: sequence._state.id });
return sequence._state.arr[sequence._state.count](() => { return sequence._state.arr[sequence._state.count](() => {
sequence._state.count++ sequence._state.count++;
sequence.step() sequence.step();
}) });
} else if (sequence._loop.arr.length > 0) { }
if (sequence._state.count > sequence._loop.arr.length - 1) { else if (sequence._loop.arr.length > 0) {
sequence._state.count = 0 if (sequence._state.count > sequence._loop.arr.length - 1) {
sequence._loop.count++ sequence._state.count = 0;
} sequence._loop.count++;
if (sequence._loop.max > 0 && sequence._loop.count > sequence._loop.max) { }
return sequence.stop() if (sequence._loop.max > 0 && sequence._loop.count > sequence._loop.max) {
} return sequence.stop();
log.info('step', { count : sequence._state.count, id : sequence._state.id }) }
return sequence._loop.arr[sequence._state.count](() => { log.info('step', { count: sequence._state.count, id: sequence._state.id });
sequence._state.count++ return sequence._loop.arr[sequence._state.count](() => {
sequence.step() sequence._state.count++;
}) sequence.step();
} else{ });
return sequence.stop() }
} else {
} else if (sequence._state.paused) { return sequence.stop();
log.info('step', 'Sequence paused', { loop : sequence._loop.count, count : sequence._state.count }) }
} else if (!sequence._state.active) { }
log.info('step', 'Sequence stopped', { loop : sequence._loop.count, count : sequence._state.count }) else if (sequence._state.paused) {
} log.info('step', 'Sequence paused', { loop: sequence._loop.count, count: sequence._state.count });
} }
else if (!sequence._state.active) {
module.exports = sequence log.info('step', 'Sequence stopped', { loop: sequence._loop.count, count: sequence._state.count });
}
};
module.exports = sequence;
//# sourceMappingURL=index.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sequence/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;AAEpC,+BAA+B;AAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,QAAQ,CAAC,MAAM,GAAG;IACjB,GAAG,EAAG,EAAE;IACR,MAAM,EAAG,KAAK;IACd,MAAM,EAAG,KAAK;IACd,KAAK,EAAE,KAAK;IACZ,KAAK,EAAG,KAAK;IACb,KAAK,EAAG,CAAC;IACT,IAAI,EAAG,IAAI;CACX,CAAA;AAED,QAAQ,CAAC,KAAK,GAAG;IAChB,GAAG,EAAG,EAAE;IACR,KAAK,EAAG,CAAC;IACT,GAAG,EAAG,CAAC;CACP,CAAA;AAED,QAAQ,CAAC,KAAK,GAAG,UAAU,OAAO,EAAE,EAAE;IACrC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3B,OAAO,KAAK,CAAA;KACZ;IAED,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;IAEzB,IAAI,OAAO,CAAC,GAAG,EAAE;QAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;KACjC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE;QACjB,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAA;QACjC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;KACxB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE;QACpB,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAA;KACpC;SAAM;QACN,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;KACtB;IACD,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAA;IACf,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAA;IAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,QAAQ,CAAC,OAAO,GAAG;IAClB,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;AAC/B,CAAC,CAAA;AAED,QAAQ,CAAC,IAAI,GAAG;IACf,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CAAA;IAExB,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAA;IAEvB,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI;QAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAEhD,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;AAC5B,CAAC,CAAA;AAED,QAAQ,CAAC,KAAK,GAAG;IAChB,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;AAC9B,CAAC,CAAA;AAED,QAAQ,CAAC,MAAM,GAAG;IACjB,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,CAAA;AAChB,CAAC,CAAA;AAED,QAAQ,CAAC,IAAI,GAAG;IACf,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QACtD,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3D,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;aACtB;YACD,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAC5E,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;gBACtD,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;gBACvB,QAAQ,CAAC,IAAI,EAAE,CAAA;YAChB,CAAC,CAAC,CAAA;SACF;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1D,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;gBACzB,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;aACtB;YACD,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;gBACxE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;aACtB;YACD,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAC5E,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;gBACrD,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;gBACvB,QAAQ,CAAC,IAAI,EAAE,CAAA;YAChB,CAAC,CAAC,CAAA;SACF;aAAK;YACL,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;SACtB;KACD;SAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAClC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;KACnG;SAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;KACpG;AACF,CAAC,CAAA;AAED,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAA"}