@jdeighan/coffee-utils 4.1.18 → 4.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/src/coffee_utils.coffee +0 -10
- package/src/coffee_utils.js +0 -11
- package/src/debug_utils.coffee +15 -4
- package/src/debug_utils.js +17 -6
- package/src/external.coffee +24 -0
- package/src/external.js +26 -0
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jdeighan/coffee-utils",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.1.
|
|
4
|
+
"version": "4.1.22",
|
|
5
5
|
"description": "A set of utility functions for CoffeeScript",
|
|
6
6
|
"main": "coffee_utils.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./src/coffee_utils.js",
|
|
9
|
+
"./external": "./src/external.js",
|
|
9
10
|
"./fs": "./src/fs_utils.js",
|
|
10
11
|
"./log": "./src/log_utils.js",
|
|
11
12
|
"./block": "./src/block_utils.js",
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
"scripts": {
|
|
26
27
|
"build": "cls && rm -f ./src/*.js && coffee -c ./src",
|
|
27
28
|
"old_pretest": "npm run build && rm -f ./test/*.js && rm -f ./test/*.coffee && cielo -fq ./test",
|
|
28
|
-
"pretest": "cls &&
|
|
29
|
+
"pretest": "cls && cielo -ckq .",
|
|
29
30
|
"test": "ava ./test/*.test.js",
|
|
30
31
|
"prefinaltest": "npm run pretest",
|
|
31
32
|
"finaltest": "cross-env FINALTEST=yes ava ./test/*.test.js"
|
package/src/coffee_utils.coffee
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# coffee_utils.coffee
|
|
2
2
|
|
|
3
|
-
import getline from 'readline-sync'
|
|
4
3
|
import {log} from '@jdeighan/coffee-utils/log'
|
|
5
4
|
|
|
6
5
|
export sep_dash = '-'.repeat(42)
|
|
@@ -249,15 +248,6 @@ export say = (x) ->
|
|
|
249
248
|
console.log x
|
|
250
249
|
return
|
|
251
250
|
|
|
252
|
-
# ---------------------------------------------------------------------------
|
|
253
|
-
# ask - ask a question
|
|
254
|
-
# later, on a web page, prompt the user for answer to question
|
|
255
|
-
|
|
256
|
-
export ask = (prompt) ->
|
|
257
|
-
|
|
258
|
-
answer = getline.question("{prompt}? ")
|
|
259
|
-
return answer
|
|
260
|
-
|
|
261
251
|
# ---------------------------------------------------------------------------
|
|
262
252
|
|
|
263
253
|
export titleLine = (title, char='=', padding=2, linelen=42) ->
|
package/src/coffee_utils.js
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
// coffee_utils.coffee
|
|
3
3
|
var commentRegExp;
|
|
4
4
|
|
|
5
|
-
import getline from 'readline-sync';
|
|
6
|
-
|
|
7
5
|
import {
|
|
8
6
|
log
|
|
9
7
|
} from '@jdeighan/coffee-utils/log';
|
|
@@ -251,15 +249,6 @@ export var say = function(x) {
|
|
|
251
249
|
}
|
|
252
250
|
};
|
|
253
251
|
|
|
254
|
-
// ---------------------------------------------------------------------------
|
|
255
|
-
// ask - ask a question
|
|
256
|
-
// later, on a web page, prompt the user for answer to question
|
|
257
|
-
export var ask = function(prompt) {
|
|
258
|
-
var answer;
|
|
259
|
-
answer = getline.question("{prompt}? ");
|
|
260
|
-
return answer;
|
|
261
|
-
};
|
|
262
|
-
|
|
263
252
|
// ---------------------------------------------------------------------------
|
|
264
253
|
export var titleLine = function(title, char = '=', padding = 2, linelen = 42) {
|
|
265
254
|
var nLeft, nRight, strLeft, strMiddle, strRight, titleLen;
|
package/src/debug_utils.coffee
CHANGED
|
@@ -33,7 +33,7 @@ export resetDebugging = (funcDoDebug=undef, funcDoLog=undef) ->
|
|
|
33
33
|
debugging = false
|
|
34
34
|
debugLevel = 0
|
|
35
35
|
stack.reset()
|
|
36
|
-
shouldDebug = (funcName) ->
|
|
36
|
+
shouldDebug = (funcName, curDebugging) -> curDebugging
|
|
37
37
|
shouldLog = (str) -> debugging
|
|
38
38
|
if funcDoDebug
|
|
39
39
|
setDebugging funcDoDebug, funcDoLog
|
|
@@ -49,8 +49,8 @@ export setDebugging = (funcDoDebug=undef, funcDoLog=undef) ->
|
|
|
49
49
|
debugging = false
|
|
50
50
|
lFuncNames = words(funcDoDebug)
|
|
51
51
|
assert isArray(lFuncNames), "words('#{funcDoDebug}') returned non-array"
|
|
52
|
-
shouldDebug = (funcName) ->
|
|
53
|
-
|
|
52
|
+
shouldDebug = (funcName, curDebugging) ->
|
|
53
|
+
curDebugging || funcMatch(funcName, lFuncNames)
|
|
54
54
|
else if isFunction(funcDoDebug)
|
|
55
55
|
shouldDebug = funcDoDebug
|
|
56
56
|
else
|
|
@@ -126,6 +126,17 @@ getPrefix = (level) ->
|
|
|
126
126
|
|
|
127
127
|
# ---------------------------------------------------------------------------
|
|
128
128
|
|
|
129
|
+
envSaysDebug = (curFunc) ->
|
|
130
|
+
|
|
131
|
+
if process.env.DEBUG_FUNC?
|
|
132
|
+
return curFunc == process.env.DEBUG_FUNC
|
|
133
|
+
else if process.env.DEBUG_FUNCS?
|
|
134
|
+
return process.env.DEBUG_FUNCS.split(',').indexOf(curFunc) > -1
|
|
135
|
+
else
|
|
136
|
+
return false
|
|
137
|
+
|
|
138
|
+
# ---------------------------------------------------------------------------
|
|
139
|
+
|
|
129
140
|
export debug = (lArgs...) ->
|
|
130
141
|
# --- either 1 or 2 args
|
|
131
142
|
|
|
@@ -158,7 +169,7 @@ export debug = (lArgs...) ->
|
|
|
158
169
|
entering = true
|
|
159
170
|
curFunc = lMatches[1]
|
|
160
171
|
stack.call(curFunc, curEnv())
|
|
161
|
-
debugging = shouldDebug(curFunc, debugging)
|
|
172
|
+
debugging = envSaysDebug(curFunc) || shouldDebug(curFunc, debugging)
|
|
162
173
|
else if (lMatches = str.match(///^
|
|
163
174
|
\s*
|
|
164
175
|
return
|
package/src/debug_utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Generated by CoffeeScript 2.6.1
|
|
2
2
|
// debug_utils.coffee
|
|
3
|
-
var arrow, arrowhead, corner, curEnv, debugLevel, getPrefix, hbar, indent, logger, reMethod, setEnv, shouldDebug, shouldLog, stack, stdLogger, stripArrow, vbar;
|
|
3
|
+
var arrow, arrowhead, corner, curEnv, debugLevel, envSaysDebug, getPrefix, hbar, indent, logger, reMethod, setEnv, shouldDebug, shouldLog, stack, stdLogger, stripArrow, vbar;
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
6
|
assert,
|
|
@@ -63,8 +63,8 @@ export var resetDebugging = function(funcDoDebug = undef, funcDoLog = undef) {
|
|
|
63
63
|
debugging = false;
|
|
64
64
|
debugLevel = 0;
|
|
65
65
|
stack.reset();
|
|
66
|
-
shouldDebug = function(funcName) {
|
|
67
|
-
return
|
|
66
|
+
shouldDebug = function(funcName, curDebugging) {
|
|
67
|
+
return curDebugging;
|
|
68
68
|
};
|
|
69
69
|
shouldLog = function(str) {
|
|
70
70
|
return debugging;
|
|
@@ -83,8 +83,8 @@ export var setDebugging = function(funcDoDebug = undef, funcDoLog = undef) {
|
|
|
83
83
|
debugging = false;
|
|
84
84
|
lFuncNames = words(funcDoDebug);
|
|
85
85
|
assert(isArray(lFuncNames), `words('${funcDoDebug}') returned non-array`);
|
|
86
|
-
shouldDebug = function(funcName) {
|
|
87
|
-
return
|
|
86
|
+
shouldDebug = function(funcName, curDebugging) {
|
|
87
|
+
return curDebugging || funcMatch(funcName, lFuncNames);
|
|
88
88
|
};
|
|
89
89
|
} else if (isFunction(funcDoDebug)) {
|
|
90
90
|
shouldDebug = funcDoDebug;
|
|
@@ -153,6 +153,17 @@ getPrefix = function(level) {
|
|
|
153
153
|
return ' '.repeat(level);
|
|
154
154
|
};
|
|
155
155
|
|
|
156
|
+
// ---------------------------------------------------------------------------
|
|
157
|
+
envSaysDebug = function(curFunc) {
|
|
158
|
+
if (process.env.DEBUG_FUNC != null) {
|
|
159
|
+
return curFunc === process.env.DEBUG_FUNC;
|
|
160
|
+
} else if (process.env.DEBUG_FUNCS != null) {
|
|
161
|
+
return process.env.DEBUG_FUNCS.split(',').indexOf(curFunc) > -1;
|
|
162
|
+
} else {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
|
|
156
167
|
// ---------------------------------------------------------------------------
|
|
157
168
|
export var debug = function(...lArgs) {
|
|
158
169
|
var curFunc, entering, hInfo, item, lMatches, nArgs, prefix, returning, str;
|
|
@@ -177,7 +188,7 @@ export var debug = function(...lArgs) {
|
|
|
177
188
|
entering = true;
|
|
178
189
|
curFunc = lMatches[1];
|
|
179
190
|
stack.call(curFunc, curEnv());
|
|
180
|
-
debugging = shouldDebug(curFunc, debugging);
|
|
191
|
+
debugging = envSaysDebug(curFunc) || shouldDebug(curFunc, debugging);
|
|
181
192
|
} else if ((lMatches = str.match(/^\s*return.+from\s+([A-Za-z_][A-Za-z0-9_\.]*)/))) {
|
|
182
193
|
returning = true;
|
|
183
194
|
curFunc = lMatches[1];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# external.coffee
|
|
2
|
+
|
|
3
|
+
import getline from 'readline-sync'
|
|
4
|
+
import {execSync} from 'child_process'
|
|
5
|
+
|
|
6
|
+
# ---------------------------------------------------------------------------
|
|
7
|
+
# exec - run external commands
|
|
8
|
+
|
|
9
|
+
export exec = (cmd) ->
|
|
10
|
+
|
|
11
|
+
buffer = execSync cmd, {
|
|
12
|
+
windowsHide: true
|
|
13
|
+
}
|
|
14
|
+
return buffer.toString()
|
|
15
|
+
|
|
16
|
+
# ---------------------------------------------------------------------------
|
|
17
|
+
# ask - ask a question
|
|
18
|
+
# later, on a web page, prompt the user for answer to question
|
|
19
|
+
|
|
20
|
+
export ask = (prompt) ->
|
|
21
|
+
|
|
22
|
+
answer = getline.question("{prompt}? ")
|
|
23
|
+
return answer
|
|
24
|
+
|
package/src/external.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Generated by CoffeeScript 2.6.1
|
|
2
|
+
// external.coffee
|
|
3
|
+
import getline from 'readline-sync';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
execSync
|
|
7
|
+
} from 'child_process';
|
|
8
|
+
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
// exec - run external commands
|
|
11
|
+
export var exec = function(cmd) {
|
|
12
|
+
var buffer;
|
|
13
|
+
buffer = execSync(cmd, {
|
|
14
|
+
windowsHide: true
|
|
15
|
+
});
|
|
16
|
+
return buffer.toString();
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// ask - ask a question
|
|
21
|
+
// later, on a web page, prompt the user for answer to question
|
|
22
|
+
export var ask = function(prompt) {
|
|
23
|
+
var answer;
|
|
24
|
+
answer = getline.question("{prompt}? ");
|
|
25
|
+
return answer;
|
|
26
|
+
};
|