@jdeighan/coffee-utils 4.0.13 → 4.0.17

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jdeighan/coffee-utils",
3
3
  "type": "module",
4
- "version": "4.0.13",
4
+ "version": "4.0.17",
5
5
  "description": "A set of utility functions for CoffeeScript",
6
6
  "main": "coffee_utils.js",
7
7
  "exports": {
@@ -1,10 +1,9 @@
1
1
  # UnitTester.coffee
2
2
 
3
- import assert from 'assert'
4
3
  import test from 'ava'
5
4
 
6
5
  import {
7
- undef, pass, error, croak,
6
+ assert, undef, pass, error, croak,
8
7
  isString, isFunction, isInteger, isArray,
9
8
  } from '@jdeighan/coffee-utils'
10
9
  import {blockToArray} from '@jdeighan/coffee-utils/block'
@@ -103,7 +102,7 @@ export class UnitTester
103
102
 
104
103
  fails: (lineNum, func, expected) ->
105
104
 
106
- assert not expected?, "UnitTester: fails doesn't allow expected"
105
+ assert ! expected?, "UnitTester: fails doesn't allow expected"
107
106
  assert isFunction(func), "UnitTester: fails requires a function"
108
107
 
109
108
  # --- disable logging
@@ -123,7 +122,7 @@ export class UnitTester
123
122
 
124
123
  succeeds: (lineNum, func, expected) ->
125
124
 
126
- assert not expected?, "UnitTester: succeeds doesn't allow expected"
125
+ assert ! expected?, "UnitTester: succeeds doesn't allow expected"
127
126
  assert isFunction(func), "UnitTester: succeeds requires a function"
128
127
  try
129
128
  func()
@@ -137,8 +136,8 @@ export class UnitTester
137
136
  # ........................................................................
138
137
 
139
138
  same_list: (lineNum, list, expected) ->
140
- assert not list? || isArray(list), "UnitTester: not an array"
141
- assert not expected? || isArray(expected),
139
+ assert ! list? || isArray(list), "UnitTester: not an array"
140
+ assert ! expected? || isArray(expected),
142
141
  "UnitTester: expected is not an array"
143
142
 
144
143
  @setWhichTest 'deepEqual'
@@ -148,8 +147,8 @@ export class UnitTester
148
147
  # ........................................................................
149
148
 
150
149
  not_same_list: (lineNum, list, expected) ->
151
- assert not list? || isArray(list), "UnitTester: not an array"
152
- assert not expected? || isArray(expected),
150
+ assert ! list? || isArray(list), "UnitTester: not an array"
151
+ assert ! expected? || isArray(expected),
153
152
  "UnitTester: expected is not an array"
154
153
 
155
154
  @setWhichTest 'notDeepEqual'
@@ -182,7 +181,7 @@ export class UnitTester
182
181
  if (lineNum < 0) && process.env.FINALTEST
183
182
  error "Negative line numbers not allowed in FINALTEST"
184
183
 
185
- if not @testing || (@maxLineNum && (lineNum > @maxLineNum))
184
+ if ! @testing || (@maxLineNum && (lineNum > @maxLineNum))
186
185
  return
187
186
 
188
187
  if lineNum < -100000
package/src/UnitTester.js CHANGED
@@ -1,10 +1,9 @@
1
1
  // Generated by CoffeeScript 2.6.1
2
2
  // UnitTester.coffee
3
- import assert from 'assert';
4
-
5
3
  import test from 'ava';
6
4
 
7
5
  import {
6
+ assert,
8
7
  undef,
9
8
  pass,
10
9
  error,
@@ -1,11 +1,10 @@
1
1
  # block_utils.coffee
2
2
 
3
- import assert from 'assert'
4
3
  import fs from 'fs'
5
4
  import readline from 'readline'
6
5
 
7
6
  import {
8
- isEmpty, isString, nonEmpty, error, isComment, rtrim,
7
+ assert, isEmpty, isString, nonEmpty, error, isComment, rtrim,
9
8
  } from '@jdeighan/coffee-utils'
10
9
  import {log} from '@jdeighan/coffee-utils/log'
11
10
 
@@ -139,7 +138,7 @@ export forEachBlock = (filepath, func, regexp = /^-{16,}$/) ->
139
138
  return
140
139
 
141
140
  await forEachLine filepath, callback
142
- if not earlyExit
141
+ if ! earlyExit
143
142
  func(lLines.join('\n'), firstLineNum)
144
143
  return
145
144
 
@@ -174,7 +173,7 @@ export forEachSetOfBlocks = (filepath, func,
174
173
  return
175
174
 
176
175
  await forEachLine filepath, callback
177
- if not earlyExit
176
+ if ! earlyExit
178
177
  lBlocks.push(lLines.join('\n'))
179
178
  func(lBlocks, firstLineNum)
180
179
  return
@@ -1,12 +1,11 @@
1
1
  // Generated by CoffeeScript 2.6.1
2
2
  // block_utils.coffee
3
- import assert from 'assert';
4
-
5
3
  import fs from 'fs';
6
4
 
7
5
  import readline from 'readline';
8
6
 
9
7
  import {
8
+ assert,
10
9
  isEmpty,
11
10
  isString,
12
11
  nonEmpty,
@@ -1,7 +1,5 @@
1
1
  # coffee_utils.coffee
2
2
 
3
- import assert from 'assert'
4
-
5
3
  import {log} from '@jdeighan/coffee-utils/log'
6
4
 
7
5
  export sep_dash = '-'.repeat(42)
@@ -20,6 +18,15 @@ export error = (message) ->
20
18
 
21
19
  throw new Error(message)
22
20
 
21
+ # ---------------------------------------------------------------------------
22
+ # assert - mimic nodejs's assert
23
+
24
+ export assert = (cond, msg) ->
25
+
26
+ if ! cond
27
+ error(msg)
28
+ return
29
+
23
30
  # ---------------------------------------------------------------------------
24
31
  # croak - throws an error after possibly printing useful info
25
32
 
@@ -75,10 +82,10 @@ export isNumber = (x) ->
75
82
  export isObject = (x) ->
76
83
 
77
84
  return (typeof x == 'object') \
78
- && not isString(x) \
79
- && not isArray(x) \
80
- && not isHash(x) \
81
- && not isNumber(x)
85
+ && ! isString(x) \
86
+ && ! isArray(x) \
87
+ && ! isHash(x) \
88
+ && ! isNumber(x)
82
89
 
83
90
  # ---------------------------------------------------------------------------
84
91
 
@@ -98,7 +105,7 @@ export isHash = (x) ->
98
105
 
99
106
  export isEmpty = (x) ->
100
107
 
101
- if not x?
108
+ if ! x?
102
109
  return true
103
110
  if isString(x)
104
111
  return x.match(/^\s*$/)
@@ -115,10 +122,10 @@ export isEmpty = (x) ->
115
122
 
116
123
  export nonEmpty = (x) ->
117
124
 
118
- if not x?
125
+ if ! x?
119
126
  return false
120
127
  if isString(x)
121
- return not x.match(/^\s*$/)
128
+ return ! x.match(/^\s*$/)
122
129
  if isArray(x)
123
130
  return x.length > 0
124
131
  if isHash(x)
@@ -153,10 +160,10 @@ export words = (str) ->
153
160
 
154
161
  export isArrayOfHashes = (lItems) ->
155
162
 
156
- if not isArray(lItems)
163
+ if ! isArray(lItems)
157
164
  return false
158
165
  for item in lItems
159
- if not isHash(item)
166
+ if ! isHash(item)
160
167
  return false
161
168
  return true
162
169
 
@@ -164,10 +171,10 @@ export isArrayOfHashes = (lItems) ->
164
171
 
165
172
  export isArrayOfStrings = (lItems) ->
166
173
 
167
- if not isArray(lItems)
174
+ if ! isArray(lItems)
168
175
  return false
169
176
  for item in lItems
170
- if not isString(item)
177
+ if ! isString(item)
171
178
  return false
172
179
  return true
173
180
 
@@ -223,7 +230,7 @@ export ask = (prompt) ->
223
230
  export titleLine = (title, char='=', padding=2, linelen=42) ->
224
231
  # --- used in logger
225
232
 
226
- if not title
233
+ if ! title
227
234
  return char.repeat(linelen)
228
235
 
229
236
  titleLen = title.length + 2 * padding
@@ -272,7 +279,7 @@ export deepCopy = (obj) ->
272
279
 
273
280
  export escapeStr = (str) ->
274
281
 
275
- if not str?
282
+ if ! str?
276
283
  return 'undef'
277
284
  if typeof str != 'string'
278
285
  croak "escapeStr(): not a string", str, 'STRING'
@@ -2,8 +2,6 @@
2
2
  // coffee_utils.coffee
3
3
  var commentRegExp;
4
4
 
5
- import assert from 'assert';
6
-
7
5
  import {
8
6
  log
9
7
  } from '@jdeighan/coffee-utils/log';
@@ -24,6 +22,14 @@ export var error = function(message) {
24
22
  throw new Error(message);
25
23
  };
26
24
 
25
+ // ---------------------------------------------------------------------------
26
+ // assert - mimic nodejs's assert
27
+ export var assert = function(cond, msg) {
28
+ if (!cond) {
29
+ error(msg);
30
+ }
31
+ };
32
+
27
33
  // ---------------------------------------------------------------------------
28
34
  // croak - throws an error after possibly printing useful info
29
35
  export var croak = function(err, label, obj) {
@@ -225,7 +231,6 @@ export var ask = function(prompt) {
225
231
  // ---------------------------------------------------------------------------
226
232
  export var titleLine = function(title, char = '=', padding = 2, linelen = 42) {
227
233
  var nLeft, nRight, strLeft, strMiddle, strRight, titleLen;
228
- // --- used in logger
229
234
  if (!title) {
230
235
  return char.repeat(linelen);
231
236
  }
@@ -1,9 +1,7 @@
1
1
  # debug_utils.coffee
2
2
 
3
- import assert from 'assert'
4
-
5
3
  import {
6
- undef, error, croak, warn, words, isString, isFunction,
4
+ assert, undef, error, croak, warn, words, isString, isFunction,
7
5
  oneline, escapeStr, isNumber, isArray,
8
6
  } from '@jdeighan/coffee-utils'
9
7
  import {blockToArray} from '@jdeighan/coffee-utils/block'
@@ -148,7 +146,7 @@ export debug = (lArgs...) ->
148
146
  if entering && lDebugFuncs && funcMatch(curFunc)
149
147
  setDebugging true
150
148
 
151
- if debugging && (not ifMatches? || str.match(ifMatches))
149
+ if debugging && (! ifMatches? || str.match(ifMatches))
152
150
 
153
151
  # --- set the prefix, i.e. indentation to use
154
152
  if returning
@@ -202,7 +200,7 @@ export funcMatch = (curFunc) ->
202
200
  # ---------------------------------------------------------------------------
203
201
 
204
202
  export checkTrace = (block) ->
205
- # --- export only to allow unit tests
203
+ # --- export only to allow unit tests
206
204
 
207
205
  lStack = []
208
206
 
@@ -2,9 +2,8 @@
2
2
  // debug_utils.coffee
3
3
  var arrow, arrowhead, corner, debugLevel, getPrefix, hbar, ifMatches, indent, lDebugFuncs, lDebugStack, reMethod, restoreDebugEnv, saveDebugEnv, stripArrow, vbar;
4
4
 
5
- import assert from 'assert';
6
-
7
5
  import {
6
+ assert,
8
7
  undef,
9
8
  error,
10
9
  croak,
@@ -1,12 +1,11 @@
1
1
  # fs_utils.coffee
2
2
 
3
- import assert from 'assert'
4
3
  import pathlib from 'path'
5
4
  import urllib from 'url'
6
5
  import fs from 'fs'
7
6
 
8
7
  import {
9
- undef, pass, rtrim, error, nonEmpty,
8
+ assert, undef, pass, rtrim, error, nonEmpty,
10
9
  isRegExp, isFunction, croak,
11
10
  } from '@jdeighan/coffee-utils'
12
11
  import {log} from '@jdeighan/coffee-utils/log'
@@ -14,47 +13,22 @@ import {debug} from '@jdeighan/coffee-utils/debug'
14
13
 
15
14
  # ---------------------------------------------------------------------------
16
15
 
17
- export parseSource = (source) ->
18
- # --- returns {
19
- # dir
20
- # filename # only this is guaranteed to be set
21
- # stub
22
- # ext
23
- # }
16
+ export isFile = (fullpath) ->
24
17
 
25
- debug "enter parseSource()"
26
- if source == 'unit test'
27
- debug "return 'unit test' from parseSource()"
28
- return {
29
- filename: 'unit test'
30
- stub: 'unit test'
31
- }
32
- try
33
- hInfo = pathlib.parse(source)
34
- debug "return from parseSource()", hInfo
35
- if hInfo.root
36
- dir = mkpath(hInfo.dir) # change \ to /
37
- return {
38
- dir: dir
39
- fullpath: mkpath(dir, hInfo.base)
40
- filename: hInfo.base
41
- stub: hInfo.name
42
- ext: hInfo.ext
43
- }
44
- else
45
- return {
46
- dir: mkpath(hInfo.dir) # change \ to /
47
- filename: hInfo.base
48
- stub: hInfo.name
49
- ext: hInfo.ext
50
- }
51
- catch err
52
- debug "return '#{err.message} from parseSource()"
53
- return {
54
- filename: source
55
- stub: source
56
- error: err.message
57
- }
18
+ return fs.lstatSync(fullpath).isFile()
19
+
20
+ # ---------------------------------------------------------------------------
21
+
22
+ export isDir = (fullpath) ->
23
+
24
+ return fs.lstatSync(fullpath).isDirectory()
25
+
26
+ # ---------------------------------------------------------------------------
27
+
28
+ export isSimpleFileName = (path) ->
29
+
30
+ h = pathlib.parse(path)
31
+ return ! h.root && ! h.dir && h.base
58
32
 
59
33
  # ---------------------------------------------------------------------------
60
34
  # mydir() - pass argument `import.meta.url` and it will return
@@ -62,7 +36,6 @@ export parseSource = (source) ->
62
36
 
63
37
  export mydir = (url) ->
64
38
 
65
- # dir = pathlib.dirname(urllib.fileURLToPath(url.replace(/\@/g, '%40')))
66
39
  dir = pathlib.dirname(urllib.fileURLToPath(url))
67
40
  return mkpath(dir)
68
41
 
@@ -121,10 +94,7 @@ export barf = (filepath, contents) ->
121
94
 
122
95
  debug "enter barf('#{filepath}')", contents
123
96
  contents = rtrim(contents) + "\n"
124
- try
125
- fs.writeFileSync(filepath, contents, {encoding: 'utf8'})
126
- catch err
127
- log "barf(): write failed: #{err.message}"
97
+ fs.writeFileSync(filepath, contents, {encoding: 'utf8'})
128
98
  debug "return from barf()"
129
99
  return
130
100
 
@@ -274,3 +244,46 @@ export shortenPath = (path) ->
274
244
  else
275
245
  return str
276
246
 
247
+ # ---------------------------------------------------------------------------
248
+
249
+ export parseSource = (source) ->
250
+ # --- returns {
251
+ # dir
252
+ # filename # only this is guaranteed to be set
253
+ # stub
254
+ # ext
255
+ # }
256
+
257
+ debug "enter parseSource()"
258
+ if source == 'unit test'
259
+ debug "return 'unit test' from parseSource()"
260
+ return {
261
+ filename: 'unit test'
262
+ stub: 'unit test'
263
+ }
264
+ try
265
+ hInfo = pathlib.parse(source)
266
+ debug "return from parseSource()", hInfo
267
+ if hInfo.root
268
+ dir = mkpath(hInfo.dir) # change \ to /
269
+ return {
270
+ dir: dir
271
+ fullpath: mkpath(dir, hInfo.base)
272
+ filename: hInfo.base
273
+ stub: hInfo.name
274
+ ext: hInfo.ext
275
+ }
276
+ else
277
+ return {
278
+ dir: mkpath(hInfo.dir) # change \ to /
279
+ filename: hInfo.base
280
+ stub: hInfo.name
281
+ ext: hInfo.ext
282
+ }
283
+ catch err
284
+ debug "return '#{err.message} from parseSource()"
285
+ return {
286
+ filename: source
287
+ stub: source
288
+ error: err.message
289
+ }
package/src/fs_utils.js CHANGED
@@ -2,8 +2,6 @@
2
2
  // fs_utils.coffee
3
3
  var withUnderScore;
4
4
 
5
- import assert from 'assert';
6
-
7
5
  import pathlib from 'path';
8
6
 
9
7
  import urllib from 'url';
@@ -11,6 +9,7 @@ import urllib from 'url';
11
9
  import fs from 'fs';
12
10
 
13
11
  import {
12
+ assert,
14
13
  undef,
15
14
  pass,
16
15
  rtrim,
@@ -30,51 +29,20 @@ import {
30
29
  } from '@jdeighan/coffee-utils/debug';
31
30
 
32
31
  // ---------------------------------------------------------------------------
33
- export var parseSource = function(source) {
34
- var dir, err, hInfo;
35
- // --- returns {
36
- // dir
37
- // filename # only this is guaranteed to be set
38
- // stub
39
- // ext
40
- // }
41
- debug("enter parseSource()");
42
- if (source === 'unit test') {
43
- debug("return 'unit test' from parseSource()");
44
- return {
45
- filename: 'unit test',
46
- stub: 'unit test'
47
- };
48
- }
49
- try {
50
- hInfo = pathlib.parse(source);
51
- debug("return from parseSource()", hInfo);
52
- if (hInfo.root) {
53
- dir = mkpath(hInfo.dir); // change \ to /
54
- return {
55
- dir: dir,
56
- fullpath: mkpath(dir, hInfo.base),
57
- filename: hInfo.base,
58
- stub: hInfo.name,
59
- ext: hInfo.ext
60
- };
61
- } else {
62
- return {
63
- dir: mkpath(hInfo.dir), // change \ to /
64
- filename: hInfo.base,
65
- stub: hInfo.name,
66
- ext: hInfo.ext
67
- };
68
- }
69
- } catch (error1) {
70
- err = error1;
71
- debug(`return '${err.message} from parseSource()`);
72
- return {
73
- filename: source,
74
- stub: source,
75
- error: err.message
76
- };
77
- }
32
+ export var isFile = function(fullpath) {
33
+ return fs.lstatSync(fullpath).isFile();
34
+ };
35
+
36
+ // ---------------------------------------------------------------------------
37
+ export var isDir = function(fullpath) {
38
+ return fs.lstatSync(fullpath).isDirectory();
39
+ };
40
+
41
+ // ---------------------------------------------------------------------------
42
+ export var isSimpleFileName = function(path) {
43
+ var h;
44
+ h = pathlib.parse(path);
45
+ return !h.root && !h.dir && h.base;
78
46
  };
79
47
 
80
48
  // ---------------------------------------------------------------------------
@@ -82,7 +50,6 @@ export var parseSource = function(source) {
82
50
  // the directory your file is in
83
51
  export var mydir = function(url) {
84
52
  var dir;
85
- // dir = pathlib.dirname(urllib.fileURLToPath(url.replace(/\@/g, '%40')))
86
53
  dir = pathlib.dirname(urllib.fileURLToPath(url));
87
54
  return mkpath(dir);
88
55
  };
@@ -140,17 +107,11 @@ export var slurp = function(filepath) {
140
107
  // ---------------------------------------------------------------------------
141
108
  // barf - write a string to a file
142
109
  export var barf = function(filepath, contents) {
143
- var err;
144
110
  debug(`enter barf('${filepath}')`, contents);
145
111
  contents = rtrim(contents) + "\n";
146
- try {
147
- fs.writeFileSync(filepath, contents, {
148
- encoding: 'utf8'
149
- });
150
- } catch (error1) {
151
- err = error1;
152
- log(`barf(): write failed: ${err.message}`);
153
- }
112
+ fs.writeFileSync(filepath, contents, {
113
+ encoding: 'utf8'
114
+ });
154
115
  debug("return from barf()");
155
116
  };
156
117
 
@@ -325,3 +286,51 @@ export var shortenPath = function(path) {
325
286
  return str;
326
287
  }
327
288
  };
289
+
290
+ // ---------------------------------------------------------------------------
291
+ export var parseSource = function(source) {
292
+ var dir, err, hInfo;
293
+ // --- returns {
294
+ // dir
295
+ // filename # only this is guaranteed to be set
296
+ // stub
297
+ // ext
298
+ // }
299
+ debug("enter parseSource()");
300
+ if (source === 'unit test') {
301
+ debug("return 'unit test' from parseSource()");
302
+ return {
303
+ filename: 'unit test',
304
+ stub: 'unit test'
305
+ };
306
+ }
307
+ try {
308
+ hInfo = pathlib.parse(source);
309
+ debug("return from parseSource()", hInfo);
310
+ if (hInfo.root) {
311
+ dir = mkpath(hInfo.dir); // change \ to /
312
+ return {
313
+ dir: dir,
314
+ fullpath: mkpath(dir, hInfo.base),
315
+ filename: hInfo.base,
316
+ stub: hInfo.name,
317
+ ext: hInfo.ext
318
+ };
319
+ } else {
320
+ return {
321
+ dir: mkpath(hInfo.dir), // change \ to /
322
+ filename: hInfo.base,
323
+ stub: hInfo.name,
324
+ ext: hInfo.ext
325
+ };
326
+ }
327
+ } catch (error1) {
328
+ err = error1;
329
+ debug(`return '${err.message} from parseSource()`);
330
+ return {
331
+ filename: source,
332
+ stub: source,
333
+ error: err.message
334
+ };
335
+ }
336
+ };
@@ -1,9 +1,7 @@
1
1
  # indent_utils.coffee
2
2
 
3
- import assert from 'assert'
4
-
5
3
  import {
6
- undef, error, escapeStr,
4
+ assert, undef, error, escapeStr,
7
5
  OL, isInteger, isString, isArray, isEmpty, rtrim,
8
6
  } from '@jdeighan/coffee-utils'
9
7
  import {arrayToBlock, blockToArray} from '@jdeighan/coffee-utils/block'
@@ -124,7 +122,7 @@ export tabify = (str, numSpaces=undef) ->
124
122
  n = prefix.length
125
123
  if (prefix.indexOf('\t') != -1)
126
124
  error "tabify(): leading TAB characters not allowed"
127
- if not numSpaces?
125
+ if ! numSpaces?
128
126
  numSpaces = n
129
127
  if (n % numSpaces != 0)
130
128
  error "tabify(): Invalid # of leading space chars"
@@ -1,8 +1,7 @@
1
1
  // Generated by CoffeeScript 2.6.1
2
- // indent_utils.coffee
3
- import assert from 'assert';
4
-
2
+ // indent_utils.coffee
5
3
  import {
4
+ assert,
6
5
  undef,
7
6
  error,
8
7
  escapeStr,
@@ -1,10 +1,9 @@
1
1
  # log_utils.coffee
2
2
 
3
- import assert from 'assert'
4
3
  import yaml from 'js-yaml'
5
4
 
6
5
  import {
7
- undef, isNumber, isString, isHash, isFunction, escapeStr,
6
+ assert, undef, isNumber, isString, isHash, isFunction, escapeStr,
8
7
  } from '@jdeighan/coffee-utils'
9
8
  import {blockToArray} from '@jdeighan/coffee-utils/block'
10
9
  import {tabify} from '@jdeighan/coffee-utils/indent'
@@ -17,15 +16,13 @@ logger = console.log # for strings
17
16
  export tamlStringify = (obj) ->
18
17
 
19
18
  str = yaml.dump(obj, {
20
- skipInvalid: true
21
- indent: 1
22
- sortKeys: false
23
- lineWidth: -1
24
- })
19
+ skipInvalid: true
20
+ indent: 1
21
+ sortKeys: false
22
+ lineWidth: -1
23
+ })
25
24
  str = "---\n" + tabify(str)
26
- str = str.replace(/\t/g, ' ') # because fr***ing Windows Terminal
27
- # has no way of adjusting display
28
- # of TAB chars
25
+ str = str.replace(/\t/g, ' ') # fr***ing Windows Terminal
29
26
  return str
30
27
 
31
28
  # ---------------------------------------------------------------------------
@@ -108,9 +105,9 @@ export log = (lArgs...) ->
108
105
  else
109
106
  prefix = itemPrefix = ''
110
107
 
111
- if (not logItem)
108
+ if (! logItem)
112
109
  logger "#{prefix}#{str}"
113
- else if not item?
110
+ else if ! item?
114
111
  logger "#{prefix}#{str} = undef"
115
112
  else if isNumber(item)
116
113
  logger "#{prefix}#{str} = #{item}"
package/src/log_utils.js CHANGED
@@ -2,11 +2,10 @@
2
2
  // log_utils.coffee
3
3
  var logger, maxOneLine;
4
4
 
5
- import assert from 'assert';
6
-
7
5
  import yaml from 'js-yaml';
8
6
 
9
7
  import {
8
+ assert,
10
9
  undef,
11
10
  isNumber,
12
11
  isString,
@@ -37,9 +36,7 @@ export var tamlStringify = function(obj) {
37
36
  lineWidth: -1
38
37
  });
39
38
  str = "---\n" + tabify(str);
40
- str = str.replace(/\t/g, ' '); // because fr***ing Windows Terminal
41
- // has no way of adjusting display
42
- // of TAB chars
39
+ str = str.replace(/\t/g, ' '); // fr***ing Windows Terminal
43
40
  return str;
44
41
  };
45
42
 
@@ -1,6 +1,6 @@
1
1
  # private_env.coffee
2
2
 
3
- import assert from 'assert'
3
+ import {assert} from '@jdeighan/coffee-utils'
4
4
  import {log} from '@jdeighan/coffee-utils/log'
5
5
 
6
6
  # --- Use by simply importing and using hEnvLib
@@ -1,6 +1,8 @@
1
1
  // Generated by CoffeeScript 2.6.1
2
- // private_env.coffee
3
- import assert from 'assert';
2
+ // private_env.coffee
3
+ import {
4
+ assert
5
+ } from '@jdeighan/coffee-utils';
4
6
 
5
7
  import {
6
8
  log