diff --git a/app/data/cfg.json b/app/data/cfg.json index 54c6cfa..0c8aa7a 100644 --- a/app/data/cfg.json +++ b/app/data/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.114", + "version": "1.8.116", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/app/lib/mscript/Readme.md b/app/lib/mscript/Readme.md index d50c8d1..9cce49a 100644 --- a/app/lib/mscript/Readme.md +++ b/app/lib/mscript/Readme.md @@ -8,14 +8,6 @@ -## Functions - -
-
startsWith(str, target, position)boolean
-

startswith function from lodash, do not want the entire lib for this

-
-
- ## Create new Mscript interpreter @@ -76,10 +68,10 @@ of steps to be fed into the mcopy sequence. **Kind**: instance method of [Mscript](#Mscript) **Returns**: object - if callback is not provided -| Param | Type | Default | Description | -| --- | --- | --- | --- | -| text | string | | Mscript text to interpret | -| callback | function | | Function to call when string is interpreted | +| Param | Type | Description | +| --- | --- | --- | +| text | string | Mscript text to interpret | +| callback | function | Function to call when string is interpreted | @@ -408,17 +400,3 @@ another array | arr | Array | Original array to compare | | arr2 | Array | Array to compare elements from | - - -## startsWith(str, target, position) ⇒ boolean -startswith function from lodash, do not want the entire lib for this - -**Kind**: global function -**Returns**: boolean - True for match, false for no match - -| Param | Type | Description | -| --- | --- | --- | -| str | string | Text to evaluate | -| target | string | Text to compare string against | -| position | integer | Position in the string to make comparison at | - diff --git a/app/lib/mscript/index.d.ts b/app/lib/mscript/index.d.ts index 25275bd..f7e26c9 100644 --- a/app/lib/mscript/index.d.ts +++ b/app/lib/mscript/index.d.ts @@ -29,7 +29,7 @@ export default class Mscript { /** * Clear the state of the script */ - clear(): void; + private clear; /** * Main function, accepts multi-line string, parses into lines * and interprets the instructions from the text. Returns an array @@ -40,7 +40,7 @@ export default class Mscript { * * @returns {object} if callback is not provided */ - interpret(text: string, callback?: Function): any; + interpret(text: string): any; /** * Interprets variables for complex sequence behavior. * TODO: Fully implement, add test coverage @@ -48,7 +48,7 @@ export default class Mscript { * @param {string} line Line containing a variable assignment * **/ - variable(line: string): void; + private variable; /** * Replace variable with value at time of interpretation * TODO: Implement this please @@ -57,87 +57,87 @@ export default class Mscript { * * @returns {string} New string to be interpreted **/ - variable_replace(line: string): string; + private variable_replace; /** * Interpret a basic two character command * * @param {string} line Line of script to interpret * @param {string} short The short command to use */ - basic_cmd(line: string, short: string): void; + private basic_cmd; /** * Start a new loop * * @param {string} line Line to evaluate as either loop or fade * @param {boolean} fade Flag as true if fade */ - new_loop(line: string, fade?: boolean): void; + private new_loop; /** * Close the most recent loop * * @param {string} line Line to interpret */ - end_loop(line: string): void; + private end_loop; /** * Move camera to explicitly-defined frame * * @param {string} line Line to interpret with camera move statement */ - move_cam(line: string): void; + private move_cam; /** * Move secondary camera to explicitly-defined frame * * @param {string} line Line to interpret with camera move statement */ - move_cam2(line: string): void; + private move_cam2; /** * Move projector to explicitly-defined frame * * @param {string} line Line containing `move` statement to interpret */ - move_proj(line: string): void; + private move_proj; /** * Move projector to explicitly-defined frame * * @param {string} line Line containing `move` statement to interpret */ - move_proj2(line: string): void; + private move_proj2; /** * Set the state of either the cam or projector * * @param line {string} String containing set statement */ - set_state(line: string): void; + private set_state; /** * Return the last loop * * @returns {object} */ - last_loop(): any; + private last_loop; /** * Return the second-last loop * * @returns {object} Loop array */ - parent_loop(): any; + private parent_loop; /** * Extract the loop count integer from a LOOP cmd * * @returns {integer} Loop count in string parsed into integer */ - loop_count(str: string): number; + private loop_count; /** * Execute a fade of frame length, from color to another color * * @param {string} line Line containing a fade initiator */ - fade(line: string): void; + private fade; /** * Extract the fade length integer from a FADE cmd * * @param {string} str Line containing the length of fade in frames */ - fade_count(str: string): number; + private fade_count; /** * Extract the start color from a string * @@ -145,7 +145,7 @@ export default class Mscript { * * @returns {array} Array containing RGB color values */ - fade_start(str: string): RGB; + private fade_start; /** * Extract the end color from a string * @@ -153,7 +153,7 @@ export default class Mscript { * * @returns {array} Array containing RGB color values */ - fade_end(str: string): RGB; + private fade_end; /** * Determine the state of a fade at a particular frame in the sequence, x * @@ -164,13 +164,13 @@ export default class Mscript { * * @returns {array} Array containing RGB color values */ - fade_rgb(start: RGB, end: RGB, len: number, x: number): string; + private fade_rgb; /** * Parse string into array of RGB color values. 0-255 octet. * * @param {string} str String containing only color values as `#,#,#` **/ - rgb(str: string): RGB; + private rgb; /** * Cast RGB color values as string * @@ -178,14 +178,14 @@ export default class Mscript { * * @returns {string} String of RGB values **/ - rgb_str(arr: RGB): string; + private rgb_str; /** * Increase the state of a specific object, such as the camera/projector, * by the value defined in val. * * @param {string} cmd String representing command to interpret and update state */ - update(cmd: string, val?: number): void; + private update; /** * Split string on command, turn into array of commands * as long as count variable. Default 1. @@ -195,7 +195,7 @@ export default class Mscript { * * @returns {array} Array containing commands */ - str_to_arr(str: string, cmd: string): string[]; + private str_to_arr; /** * Split a string on a command to extract data for light array * @@ -204,37 +204,37 @@ export default class Mscript { * * @returns {array} An RGB array containing the color values */ - light_to_arr(str: string, cmd: string): RGB; + private light_to_arr; /** * Split a string to extract an rgb color value * * @param {string} Color string assign to color property */ - light_state(str: string): void; + private light_state; /** * Interpret a delay command * * @param {string} line String containing delay command **/ - delay(line: string): void; + private delay; /** * Interpret an alert command * * @param {string} line String containing alert message **/ - alert(line: string): void; + private alert; /** * Interpret an pause command * * @param {string} line String containing alert message **/ - pause(line: string): void; + private pause; /** * Throw an error with specific message * * @param {string} msg Error message to print */ - fail(msg: string): void; + private fail; /** * Determine if array contains matching elements of * another array @@ -244,6 +244,6 @@ export default class Mscript { * * @returns {boolean} Whether arr contains elements in arr2 **/ - contains(arr: string[], arr2: string[]): boolean; + private contains; } export type { RGB }; diff --git a/app/lib/mscript/index.js b/app/lib/mscript/index.js index e1d986e..7c28fde 100644 --- a/app/lib/mscript/index.js +++ b/app/lib/mscript/index.js @@ -63,26 +63,6 @@ const ALTS = { const DELAY = 'DELAY'; const PAUSE = 'PAUSE'; const ALERT = 'ALERT'; -/** helper functions */ -/** startswith function from lodash, do not want the entire lib for this - * @param str {string} Text to evaluate - * @param target {string} Text to compare string against - * @param position {integer} Position in the string to make comparison at - * - * @returns {boolean} True for match, false for no match - **/ -function startsWith(str, target, position) { - const { length } = str; - position = position == null ? 0 : position; - if (position < 0) { - position = 0; - } - else if (position > length) { - position = length; - } - target = `${target}`; - return str.slice(position, position + target.length) == target; -} /** class Mscript */ class Mscript { /** @@ -124,15 +104,15 @@ class Mscript { * * @returns {object} if callback is not provided */ - interpret(text, callback = null) { + interpret(text) { this.clear(); if (typeof text === 'undefined') { return this.fail('No input'); } //split string into lines, each containing a command this.lines = text.split('\n'); - this.lines = this.lines.map(line => { - line = line.replace(/\t+/g, ''); //strip tabs + this.lines = this.lines.map((line) => { + line = line.replace(/\t+/g, ' '); //strip tabs line = line.trim(); //remove excess whitespace before and after command line = line.toUpperCase(); return line; @@ -150,46 +130,46 @@ class Mscript { else if (CMD.indexOf(this.two) !== -1) { this.basic_cmd(line, this.two); } - else if (startsWith(line, DELAY)) { + else if (line.startsWith(DELAY)) { this.delay(line); } - else if (startsWith(line, PAUSE)) { + else if (line.startsWith(PAUSE)) { this.pause(line); } - else if (startsWith(line, ALERT)) { + else if (line.startsWith(ALERT)) { this.alert(line); } - else if (startsWith(line, '@') || line.indexOf('@') !== -1) { + else if (line.startsWith('@') || line.indexOf('@') !== -1) { this.variable(line); } - else if (startsWith(line, 'LOOP')) { + else if (line.startsWith('LOOP')) { this.new_loop(line); } - else if (startsWith(line, 'L ')) { + else if (line.startsWith('L ')) { this.light_state(line); } - else if (startsWith(line, 'F ')) { + else if (line.startsWith('F ')) { this.new_loop(line, true); } - else if (startsWith(line, 'END')) { + else if (line.startsWith('END')) { this.end_loop(line); } - else if (startsWith(line, 'CAM2')) { //directly go to that frame + else if (line.startsWith('CAM2')) { //directly go to that frame this.move_cam2(line); } - else if (startsWith(line, 'CAM')) { //directly go to that frame + else if (line.startsWith('CAM')) { //directly go to that frame this.move_cam(line); } - else if (startsWith(line, 'PROJ2')) { //directly go to that frame + else if (line.startsWith('PROJ2')) { //directly go to that frame this.move_proj2(line); } - else if (startsWith(line, 'PROJ')) { //directly go to that frame + else if (line.startsWith('PROJ')) { //directly go to that frame this.move_proj(line); } - else if (startsWith(line, 'SET')) { //set that state + else if (line.startsWith('SET')) { //set that state this.set_state(line); } - else if (startsWith(line, '#') || startsWith(line, '//')) { + else if (line.startsWith('#') || line.startsWith('//')) { //comments //ignore while parsing } @@ -205,13 +185,7 @@ class Mscript { if (this.contains(this.arr, PROJECTOR_SECONDARY)) { this.output.proj2 = this.proj2; } - if (typeof callback !== 'undefined' && callback != null) { - //should only be invoked by running mscript.tests() - callback(this.output); - } - else { - return this.output; - } + return this.output; } /** * Interprets variables for complex sequence behavior. @@ -319,7 +293,7 @@ class Mscript { start = this.loops[this.rec].start; end = this.loops[this.rec].end; len = this.loops[this.rec].fade_len; - meta_arr = meta_arr.map(l => { + meta_arr = meta_arr.map((l) => { return this.fade_rgb(start, end, len, x); }); } @@ -520,16 +494,16 @@ class Mscript { * @param line {string} String containing set statement */ set_state(line) { - if (startsWith(line, 'SET CAM2')) { + if (line.startsWith('SET CAM2')) { parseInt(line.split('SET CAM2')[1]); } - else if (startsWith(line, 'SET PROJ2')) { + else if (line.startsWith('SET PROJ2')) { this.cam2 = parseInt(line.split('SET PROJ2')[1]); } - else if (startsWith(line, 'SET CAM')) { + else if (line.startsWith('SET CAM')) { this.cam = parseInt(line.split('SET CAM')[1]); } - else if (startsWith(line, 'SET PROJ')) { + else if (line.startsWith('SET PROJ')) { this.proj = parseInt(line.split('SET PROJ')[1]); } } @@ -563,9 +537,9 @@ class Mscript { * @param {string} line Line containing a fade initiator */ fade(line) { - let len = this.fade_count(line); - let start = this.fade_start(line); - let end = this.fade_end(line); + const len = this.fade_count(line); + const start = this.fade_start(line); + const end = this.fade_end(line); this.loops[this.rec].start = start; this.loops[this.rec].end = end; this.loops[this.rec].fade = true; @@ -599,7 +573,7 @@ class Mscript { * @returns {array} Array containing RGB color values */ fade_end(str) { - let color = str.split(' ')[3]; + const color = str.split(' ')[3]; return this.rgb(color.trim()); } /** @@ -636,7 +610,7 @@ class Mscript { * @param {string} str String containing only color values as `#,#,#` **/ rgb(str) { - let rgb = str.split(','); + const rgb = str.split(','); return rgb.map((char) => { return parseInt(char); }); @@ -988,7 +962,7 @@ class Mscript { * @returns {boolean} Whether arr contains elements in arr2 **/ contains(arr, arr2) { - return arr.some(r => arr2.includes(r)); + return arr.some((r) => arr2.includes(r)); } } exports.default = Mscript; diff --git a/app/lib/mscript/index.js.map b/app/lib/mscript/index.js.map index 71fd74f..d091c8d 100644 --- a/app/lib/mscript/index.js.map +++ b/app/lib/mscript/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mscript/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mscript/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/app/package-lock.json b/app/package-lock.json index 1650bed..d5cede7 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "mcopy-app", - "version": "1.8.114", + "version": "1.8.116", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/app/package.json b/app/package.json index 5d53310..1649724 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "mcopy-app", - "version": "1.8.114", + "version": "1.8.116", "description": "GUI for the mcopy small gauge film optical printer platform", "main": "main.js", "scripts": { diff --git a/data/cfg.json b/data/cfg.json index 54c6cfa..0c8aa7a 100644 --- a/data/cfg.json +++ b/data/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.114", + "version": "1.8.116", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/package-lock.json b/package-lock.json index 9d5844a..1ed2e0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mcopy", - "version": "1.8.114", + "version": "1.8.116", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mcopy", - "version": "1.8.114", + "version": "1.8.116", "license": "MIT", "dependencies": { "alert": "file:app/lib/alert", diff --git a/package.json b/package.json index 177a56c..b3ff50e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mcopy", - "version": "1.8.114", + "version": "1.8.116", "description": "Small gauge film optical printer platform", "main": "build.js", "directories": { diff --git a/processing/mcopy/cfg.json b/processing/mcopy/cfg.json index 54c6cfa..0c8aa7a 100644 --- a/processing/mcopy/cfg.json +++ b/processing/mcopy/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.114", + "version": "1.8.116", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/src/mscript/index.ts b/src/mscript/index.ts index 1c260e9..d960f60 100644 --- a/src/mscript/index.ts +++ b/src/mscript/index.ts @@ -76,30 +76,6 @@ const DELAY : string = 'DELAY'; const PAUSE : string = 'PAUSE'; const ALERT : string = 'ALERT'; -/** helper functions */ - -/** startswith function from lodash, do not want the entire lib for this - * @param str {string} Text to evaluate - * @param target {string} Text to compare string against - * @param position {integer} Position in the string to make comparison at - * - * @returns {boolean} True for match, false for no match - **/ -function startsWith (str : string, target : string, position? : number) : boolean { - const { length } = str; - - position = position == null ? 0 : position; - - if (position < 0) { - position = 0; - } else if (position > length) { - position = length; - } - - target = `${target}`; - - return str.slice(position, position + target.length) == target; -} /** class Mscript */ export default class Mscript { @@ -132,7 +108,7 @@ export default class Mscript { /** * Clear the state of the script */ - clear () { + private clear () { this.lines = []; this.cam = 0; @@ -164,7 +140,7 @@ export default class Mscript { * * @returns {object} if callback is not provided */ - interpret (text : string, callback : Function = null) { + public interpret (text : string) { this.clear() if (typeof text === 'undefined') { @@ -174,8 +150,8 @@ export default class Mscript { //split string into lines, each containing a command this.lines = text.split('\n'); - this.lines = this.lines.map(line => { - line = line.replace(/\t+/g, ''); //strip tabs + this.lines = this.lines.map((line : string) => { + line = line.replace(/\t+/g, ' '); //strip tabs line = line.trim(); //remove excess whitespace before and after command line = line.toUpperCase(); return line; @@ -191,33 +167,33 @@ export default class Mscript { this.basic_cmd(line, this.three); } else if (CMD.indexOf(this.two) !== -1) { this.basic_cmd(line, this.two); - } else if (startsWith(line, DELAY)) { + } else if (line.startsWith(DELAY)) { this.delay(line); - } else if (startsWith(line, PAUSE)) { + } else if (line.startsWith(PAUSE)) { this.pause(line); - } else if (startsWith(line, ALERT)) { + } else if (line.startsWith(ALERT)) { this.alert(line); - } else if (startsWith(line, '@') || line.indexOf('@') !== -1) { + } else if (line.startsWith('@') || line.indexOf('@') !== -1) { this.variable(line); - } else if (startsWith(line, 'LOOP')) { + } else if (line.startsWith('LOOP')) { this.new_loop(line); - } else if (startsWith(line, 'L ')) { + } else if (line.startsWith('L ')) { this.light_state(line); - } else if (startsWith(line, 'F ')) { + } else if (line.startsWith('F ')) { this.new_loop(line, true); - } else if (startsWith(line, 'END')) { + } else if (line.startsWith('END')) { this.end_loop(line); - } else if (startsWith(line, 'CAM2')) { //directly go to that frame + } else if (line.startsWith('CAM2')) { //directly go to that frame this.move_cam2(line); - } else if (startsWith(line, 'CAM')) { //directly go to that frame + } else if (line.startsWith('CAM')) { //directly go to that frame this.move_cam(line); - } else if (startsWith(line, 'PROJ2')) { //directly go to that frame + } else if (line.startsWith('PROJ2')) { //directly go to that frame this.move_proj2(line); - } else if (startsWith(line, 'PROJ')) { //directly go to that frame + } else if (line.startsWith('PROJ')) { //directly go to that frame this.move_proj(line); - } else if (startsWith(line, 'SET')) { //set that state + } else if (line.startsWith('SET')) { //set that state this.set_state(line); - } else if (startsWith(line, '#') || startsWith(line, '//')) { + } else if (line.startsWith('#') || line.startsWith('//')) { //comments //ignore while parsing } @@ -235,12 +211,7 @@ export default class Mscript { this.output.proj2 = this.proj2; } - if (typeof callback !== 'undefined' && callback != null) { - //should only be invoked by running mscript.tests() - callback(this.output); - } else { - return this.output; - } + return this.output; } /** * Interprets variables for complex sequence behavior. @@ -249,7 +220,7 @@ export default class Mscript { * @param {string} line Line containing a variable assignment * **/ - variable (line : string) { + private variable (line : string) { let parts : string[] = line.split('='); let key : string = parts[0]; let value : any = parts[1]; @@ -294,7 +265,7 @@ export default class Mscript { * * @returns {string} New string to be interpreted **/ - variable_replace(line : string) : string { + private variable_replace(line : string) : string { return line; } /** @@ -303,7 +274,7 @@ export default class Mscript { * @param {string} line Line of script to interpret * @param {string} short The short command to use */ - basic_cmd (line : string, short : string) { + private basic_cmd (line : string, short : string) { if (this.rec !== -1) { //hold generated arr in state loop array this.loops[this.rec].arr @@ -325,7 +296,7 @@ export default class Mscript { * @param {string} line Line to evaluate as either loop or fade * @param {boolean} fade Flag as true if fade */ - new_loop (line : string, fade? : boolean) { + private new_loop (line : string, fade? : boolean) { this.rec++; this.loops[this.rec] = { arr : [], @@ -345,7 +316,7 @@ export default class Mscript { * * @param {string} line Line to interpret */ - end_loop (line : string) { + private end_loop (line : string) { let meta_arr : string[]; let start : RGB; let end : RGB; @@ -357,7 +328,7 @@ export default class Mscript { start = this.loops[this.rec].start; end = this.loops[this.rec].end; len = this.loops[this.rec].fade_len; - meta_arr = meta_arr.map(l => { + meta_arr = meta_arr.map((l : string) => { return this.fade_rgb(start, end, len, x); }) } @@ -383,7 +354,7 @@ export default class Mscript { * * @param {string} line Line to interpret with camera move statement */ - move_cam (line : string) { + private move_cam (line : string) { this.target = parseInt(line.split('CAM ')[1]); if (this.rec !== -1) { if (this.target > this.cam) { @@ -425,7 +396,7 @@ export default class Mscript { * * @param {string} line Line to interpret with camera move statement */ - move_cam2 (line : string) { + private move_cam2 (line : string) { this.target = parseInt(line.split('CAM2 ')[1]); if (this.rec !== -1) { if (this.target > this.cam2) { @@ -467,7 +438,7 @@ export default class Mscript { * * @param {string} line Line containing `move` statement to interpret */ - move_proj (line : string) { + private move_proj (line : string) { this.target = parseInt(line.split('PROJ ')[1]); if (this.rec !== -1) { if (this.target > this.proj) { @@ -509,7 +480,7 @@ export default class Mscript { * * @param {string} line Line containing `move` statement to interpret */ - move_proj2 (line : string) { + private move_proj2 (line : string) { this.target = parseInt(line.split('PROJ2 ')[1]); if (this.rec !== -1) { if (this.target > this.proj2) { @@ -550,14 +521,14 @@ export default class Mscript { * * @param line {string} String containing set statement */ - set_state (line : string) { - if (startsWith(line, 'SET CAM2')) { + private set_state (line : string) { + if (line.startsWith('SET CAM2')) { parseInt(line.split('SET CAM2')[1]); - } else if (startsWith(line, 'SET PROJ2')) { + } else if (line.startsWith('SET PROJ2')) { this.cam2 = parseInt(line.split('SET PROJ2')[1]); - } else if (startsWith(line, 'SET CAM')) { + } else if (line.startsWith('SET CAM')) { this.cam = parseInt(line.split('SET CAM')[1]); - } else if (startsWith(line, 'SET PROJ')) { + } else if (line.startsWith('SET PROJ')) { this.proj = parseInt(line.split('SET PROJ')[1]); } } @@ -566,7 +537,7 @@ export default class Mscript { * * @returns {object} */ - last_loop () : any { + private last_loop () : any { return this.loops[this.loops.length - 1]; } /** @@ -574,7 +545,7 @@ export default class Mscript { * * @returns {object} Loop array */ - parent_loop () : any { + private parent_loop () : any { return this.loops[this.loops.length - 2]; } /** @@ -582,7 +553,7 @@ export default class Mscript { * * @returns {integer} Loop count in string parsed into integer */ - loop_count (str : string) : number { + private loop_count (str : string) : number { return parseInt(str.split(' ')[1]); } /** @@ -590,10 +561,10 @@ export default class Mscript { * * @param {string} line Line containing a fade initiator */ - fade (line : string) { - let len = this.fade_count(line); - let start = this.fade_start(line); - let end = this.fade_end(line); + private fade (line : string) { + const len : number = this.fade_count(line); + const start : RGB = this.fade_start(line); + const end : RGB = this.fade_end(line); this.loops[this.rec].start = start; this.loops[this.rec].end = end; @@ -606,7 +577,7 @@ export default class Mscript { * * @param {string} str Line containing the length of fade in frames */ - fade_count (str : string) { + private fade_count (str : string) { return parseInt(str.split(' ')[1]); } /** @@ -616,7 +587,7 @@ export default class Mscript { * * @returns {array} Array containing RGB color values */ - fade_start (str : string) : RGB { + private fade_start (str : string) : RGB { let color : string = str.split(' ')[2]; return this.rgb(color.trim()) } @@ -627,8 +598,8 @@ export default class Mscript { * * @returns {array} Array containing RGB color values */ - fade_end (str : string) : RGB { - let color : string = str.split(' ')[3]; + private fade_end (str : string) : RGB { + const color : string = str.split(' ')[3]; return this.rgb(color.trim()) } /** @@ -641,9 +612,9 @@ export default class Mscript { * * @returns {array} Array containing RGB color values */ - fade_rgb (start : RGB, end : RGB, len : number, x : number) { + private fade_rgb (start : RGB, end : RGB, len : number, x : number) { let cur = []; - let diff; + let diff : number; for (let i : number = 0; i < 3; i++) { if (x === len - 1) { cur[i] = end[i]; @@ -663,11 +634,11 @@ export default class Mscript { * * @param {string} str String containing only color values as `#,#,#` **/ - rgb (str : string) : RGB { - let rgb = str.split(','); + private rgb (str : string) : RGB { + const rgb : string[] = str.split(','); return rgb.map( (char : string) => { return parseInt(char); - }) + }); } /** * Cast RGB color values as string @@ -676,7 +647,7 @@ export default class Mscript { * * @returns {string} String of RGB values **/ - rgb_str (arr : RGB) : string { + private rgb_str (arr : RGB) : string { return arr.join(','); } /** @@ -685,7 +656,7 @@ export default class Mscript { * * @param {string} cmd String representing command to interpret and update state */ - update (cmd : string, val : number = 1) { + private update (cmd : string, val : number = 1) { if (cmd === 'END') { //I don't understand this loop for (let i = 0; i < val; i++) { @@ -834,7 +805,7 @@ export default class Mscript { * * @returns {array} Array containing commands */ - str_to_arr (str : string, cmd : string) : string[] { + private str_to_arr (str : string, cmd : string) : string[] { const cnt : string[] = str.split(cmd); let c : number = parseInt(cnt[1]); let arr : any[] = []; @@ -855,7 +826,7 @@ export default class Mscript { * * @returns {array} An RGB array containing the color values */ - light_to_arr (str : string, cmd : string) : RGB { + private light_to_arr (str : string, cmd : string) : RGB { const cnt : string[] = str.split(cmd); let c : number = parseInt(cnt[1]); let arr : any[] = []; @@ -882,7 +853,7 @@ export default class Mscript { * * @param {string} Color string assign to color property */ - light_state (str : string) { + private light_state (str : string) { //add parsers for other color spaces const color : string = str.replace('L ', '').trim(); this.color = color; @@ -893,7 +864,7 @@ export default class Mscript { * * @param {string} line String containing delay command **/ - delay (line : string) { + private delay (line : string) { let lenStr : string = line.split(' ')[1] || '' let len : number; lenStr = lenStr.trim(); @@ -927,7 +898,7 @@ export default class Mscript { * * @param {string} line String containing alert message **/ - alert (line : string) { + private alert (line : string) { let msg : string = line.split(' ')[1] || '' msg = msg.trim(); if (this.rec !== -1) { @@ -947,7 +918,7 @@ export default class Mscript { * * @param {string} line String containing alert message **/ - pause (line : string) { + private pause (line : string) { const msg : string = "Paused script. Click OK to continue." if (this.rec !== -1) { //hold generated arr in state loop array @@ -966,7 +937,7 @@ export default class Mscript { * * @param {string} msg Error message to print */ - fail (msg : string) { + private fail (msg : string) { throw new Error(msg); } @@ -979,8 +950,8 @@ export default class Mscript { * * @returns {boolean} Whether arr contains elements in arr2 **/ - contains (arr : string[], arr2 : string[]) { - return arr.some(r => arr2.includes(r)); + private contains (arr : string[], arr2 : string[]) { + return arr.some((r : string) => arr2.includes(r)); } }