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 - -
boolean
startswith function from lodash, do not want the entire lib for this
-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));
}
}