@jdeighan/coffee-utils 4.1.18 → 4.1.22
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
};
|