@jdeighan/coffee-utils 14.0.6 → 14.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jdeighan/coffee-utils",
3
3
  "type": "module",
4
- "version": "14.0.6",
4
+ "version": "14.0.7",
5
5
  "description": "A set of utility functions for CoffeeScript",
6
6
  "main": "coffee_utils.js",
7
7
  "exports": {
@@ -218,7 +218,7 @@ export class ToDoDataStore extends BaseDataStore
218
218
  # UTILITIES
219
219
  # ---------------------------------------------------------------------------
220
220
 
221
- export brewTamlStr = (code, stub) ->
221
+ export brewTamlStr = (code, stub) =>
222
222
 
223
223
  return """
224
224
  import {TAMLDataStore} from '@jdeighan/starbucks/stores';
@@ -228,7 +228,7 @@ export brewTamlStr = (code, stub) ->
228
228
 
229
229
  # ---------------------------------------------------------------------------
230
230
 
231
- export brewTamlFile = (srcPath, destPath=undef, hOptions={}) ->
231
+ export brewTamlFile = (srcPath, destPath=undef, hOptions={}) =>
232
232
  # --- taml => js
233
233
  # Valid Options:
234
234
  # force
package/src/DataStores.js CHANGED
@@ -289,14 +289,14 @@ export var ToDoDataStore = class ToDoDataStore extends BaseDataStore {
289
289
  // ---------------------------------------------------------------------------
290
290
  // UTILITIES
291
291
  // ---------------------------------------------------------------------------
292
- export var brewTamlStr = function(code, stub) {
292
+ export var brewTamlStr = (code, stub) => {
293
293
  return `import {TAMLDataStore} from '@jdeighan/starbucks/stores';
294
294
 
295
295
  export let ${stub} = new TAMLDataStore(\`${code}\`);`;
296
296
  };
297
297
 
298
298
  // ---------------------------------------------------------------------------
299
- export var brewTamlFile = function(srcPath, destPath = undef, hOptions = {}) {
299
+ export var brewTamlFile = (srcPath, destPath = undef, hOptions = {}) => {
300
300
  var hInfo, jsCode, stub, tamlCode;
301
301
  if (destPath == null) {
302
302
  destPath = withExt(srcPath, '.js', {
@@ -16,13 +16,13 @@ import {Section} from '@jdeighan/coffee-utils/section'
16
16
 
17
17
  # ---------------------------------------------------------------------------
18
18
 
19
- isSectionName = (name) ->
19
+ isSectionName = (name) =>
20
20
 
21
21
  return isString(name) && name.match(/^[a-z][a-z0-9_]*/)
22
22
 
23
23
  # ---------------------------------------------------------------------------
24
24
 
25
- isSetName = (name) ->
25
+ isSetName = (name) =>
26
26
 
27
27
  return isString(name) && name.match(/^[A-Z][a-z0-9_]*/)
28
28
 
package/src/SectionMap.js CHANGED
@@ -50,12 +50,12 @@ import {
50
50
  } from '@jdeighan/coffee-utils/section';
51
51
 
52
52
  // ---------------------------------------------------------------------------
53
- isSectionName = function(name) {
53
+ isSectionName = (name) => {
54
54
  return isString(name) && name.match(/^[a-z][a-z0-9_]*/);
55
55
  };
56
56
 
57
57
  // ---------------------------------------------------------------------------
58
- isSetName = function(name) {
58
+ isSetName = (name) => {
59
59
  return isString(name) && name.match(/^[A-Z][a-z0-9_]*/);
60
60
  };
61
61
 
package/src/block.coffee CHANGED
@@ -11,7 +11,7 @@ import {
11
11
 
12
12
  # ---------------------------------------------------------------------------
13
13
 
14
- export splitBlock = (block) ->
14
+ export splitBlock = (block) =>
15
15
 
16
16
  assert isString(block), "not a string"
17
17
  pos = block.indexOf('\n')
@@ -23,7 +23,7 @@ export splitBlock = (block) ->
23
23
 
24
24
  # ---------------------------------------------------------------------------
25
25
 
26
- export firstLine = (block) ->
26
+ export firstLine = (block) =>
27
27
 
28
28
  assert isString(block), "not a string"
29
29
  pos = block.indexOf('\n')
@@ -34,7 +34,7 @@ export firstLine = (block) ->
34
34
 
35
35
  # ---------------------------------------------------------------------------
36
36
 
37
- export remainingLines = (block) ->
37
+ export remainingLines = (block) =>
38
38
 
39
39
  assert isString(block), "not a string"
40
40
  pos = block.indexOf('\n')
@@ -47,7 +47,7 @@ export remainingLines = (block) ->
47
47
  # normalizeBlock - remove blank lines, trim each line
48
48
  # - collapse internal whitespace to ' '
49
49
 
50
- export normalizeBlock = (content) ->
50
+ export normalizeBlock = (content) =>
51
51
 
52
52
  if typeof content != 'string'
53
53
  throw new Error("normalizeBlock(): not a string")
@@ -60,7 +60,7 @@ export normalizeBlock = (content) ->
60
60
  # ---------------------------------------------------------------------------
61
61
  # truncateBlock - limit block to a certain number of lines
62
62
 
63
- export truncateBlock = (str, numLines) ->
63
+ export truncateBlock = (str, numLines) =>
64
64
 
65
65
  lLines = toArray str
66
66
  lLines.length = numLines
@@ -68,7 +68,7 @@ export truncateBlock = (str, numLines) ->
68
68
 
69
69
  # ---------------------------------------------------------------------------
70
70
 
71
- export joinBlocks = (lBlocks...) ->
71
+ export joinBlocks = (lBlocks...) =>
72
72
 
73
73
  lNonEmptyBlocks = []
74
74
  for block in lBlocks.flat(999)
package/src/block.js CHANGED
@@ -26,7 +26,7 @@ import {
26
26
  } from '@jdeighan/base-utils';
27
27
 
28
28
  // ---------------------------------------------------------------------------
29
- export var splitBlock = function(block) {
29
+ export var splitBlock = (block) => {
30
30
  var pos;
31
31
  assert(isString(block), "not a string");
32
32
  pos = block.indexOf('\n');
@@ -38,7 +38,7 @@ export var splitBlock = function(block) {
38
38
  };
39
39
 
40
40
  // ---------------------------------------------------------------------------
41
- export var firstLine = function(block) {
41
+ export var firstLine = (block) => {
42
42
  var pos;
43
43
  assert(isString(block), "not a string");
44
44
  pos = block.indexOf('\n');
@@ -50,7 +50,7 @@ export var firstLine = function(block) {
50
50
  };
51
51
 
52
52
  // ---------------------------------------------------------------------------
53
- export var remainingLines = function(block) {
53
+ export var remainingLines = (block) => {
54
54
  var pos;
55
55
  assert(isString(block), "not a string");
56
56
  pos = block.indexOf('\n');
@@ -64,7 +64,7 @@ export var remainingLines = function(block) {
64
64
  // ---------------------------------------------------------------------------
65
65
  // normalizeBlock - remove blank lines, trim each line
66
66
  // - collapse internal whitespace to ' '
67
- export var normalizeBlock = function(content) {
67
+ export var normalizeBlock = (content) => {
68
68
  var lLines, line;
69
69
  if (typeof content !== 'string') {
70
70
  throw new Error("normalizeBlock(): not a string");
@@ -88,7 +88,7 @@ export var normalizeBlock = function(content) {
88
88
 
89
89
  // ---------------------------------------------------------------------------
90
90
  // truncateBlock - limit block to a certain number of lines
91
- export var truncateBlock = function(str, numLines) {
91
+ export var truncateBlock = (str, numLines) => {
92
92
  var lLines;
93
93
  lLines = toArray(str);
94
94
  lLines.length = numLines;
@@ -96,7 +96,7 @@ export var truncateBlock = function(str, numLines) {
96
96
  };
97
97
 
98
98
  // ---------------------------------------------------------------------------
99
- export var joinBlocks = function(...lBlocks) {
99
+ export var joinBlocks = (...lBlocks) => {
100
100
  var block, i, lNonEmptyBlocks, len, ref;
101
101
  lNonEmptyBlocks = [];
102
102
  ref = lBlocks.flat(999);
@@ -7,7 +7,7 @@ audio = undef # audio context - create only when needed, then keep
7
7
  # ---------------------------------------------------------------------------
8
8
  # beep - play a sound
9
9
 
10
- export beep = (volume=100, freq=520, duration=200) ->
10
+ export beep = (volume=100, freq=520, duration=200) =>
11
11
 
12
12
  if audio == undef
13
13
  audio = new AudioContext()
@@ -24,7 +24,7 @@ export beep = (volume=100, freq=520, duration=200) ->
24
24
 
25
25
  # ---------------------------------------------------------------------------
26
26
 
27
- export localStore = (key, value=undef) ->
27
+ export localStore = (key, value=undef) =>
28
28
  # --- if value is undef, returns the current value
29
29
 
30
30
  if typeof localStorage == 'undefined'
package/src/browser.js CHANGED
@@ -11,7 +11,7 @@ audio = undef; // audio context - create only when needed, then keep
11
11
 
12
12
  // ---------------------------------------------------------------------------
13
13
  // beep - play a sound
14
- export var beep = function(volume = 100, freq = 520, duration = 200) {
14
+ export var beep = (volume = 100, freq = 520, duration = 200) => {
15
15
  var u, v;
16
16
  if (audio === undef) {
17
17
  audio = new AudioContext();
@@ -28,7 +28,7 @@ export var beep = function(volume = 100, freq = 520, duration = 200) {
28
28
  };
29
29
 
30
30
  // ---------------------------------------------------------------------------
31
- export var localStore = function(key, value = undef) {
31
+ export var localStore = (key, value = undef) => {
32
32
  // --- if value is undef, returns the current value
33
33
  if (typeof localStorage === 'undefined') {
34
34
  return;
package/src/fs.coffee CHANGED
@@ -19,7 +19,7 @@ import {fromTAML} from '@jdeighan/base-utils/taml'
19
19
  # mydir() - pass argument import.meta.url and it will return
20
20
  # the directory your file is in
21
21
 
22
- export mydir = (url) ->
22
+ export mydir = (url) =>
23
23
 
24
24
  path = urllib.fileURLToPath(url)
25
25
  dir = pathlib.dirname(path)
@@ -28,7 +28,7 @@ export mydir = (url) ->
28
28
 
29
29
  # ---------------------------------------------------------------------------
30
30
 
31
- export projRoot = (url) ->
31
+ export projRoot = (url) =>
32
32
 
33
33
  dir = mydir(url)
34
34
  rootDir = pathTo('package.json', dir, 'direction=up directory')
@@ -39,7 +39,7 @@ export projRoot = (url) ->
39
39
  # myfile() - pass argument import.meta.url and it will return
40
40
  # the name of your file
41
41
 
42
- export myfile = (url) ->
42
+ export myfile = (url) =>
43
43
 
44
44
  path = urllib.fileURLToPath(url)
45
45
  filename = pathlib.parse(path).base
@@ -49,20 +49,20 @@ export myfile = (url) ->
49
49
  # myfullpath() - pass argument import.meta.url and it will return
50
50
  # the full path to your file
51
51
 
52
- export myfullpath = (url) ->
52
+ export myfullpath = (url) =>
53
53
 
54
54
  path = urllib.fileURLToPath(url)
55
55
  return mkpath(path)
56
56
 
57
57
  # ---------------------------------------------------------------------------
58
58
 
59
- export getStats = (fullpath) ->
59
+ export getStats = (fullpath) =>
60
60
 
61
61
  return fs.lstatSync(fullpath)
62
62
 
63
63
  # ---------------------------------------------------------------------------
64
64
 
65
- export isFile = (fullpath) ->
65
+ export isFile = (fullpath) =>
66
66
 
67
67
  try
68
68
  return getStats(fullpath).isFile()
@@ -71,7 +71,7 @@ export isFile = (fullpath) ->
71
71
 
72
72
  # ---------------------------------------------------------------------------
73
73
 
74
- export isDir = (fullpath) ->
74
+ export isDir = (fullpath) =>
75
75
 
76
76
  try
77
77
  return getStats(fullpath).isDirectory()
@@ -80,14 +80,14 @@ export isDir = (fullpath) ->
80
80
 
81
81
  # ---------------------------------------------------------------------------
82
82
 
83
- export isSimpleFileName = (path) ->
83
+ export isSimpleFileName = (path) =>
84
84
 
85
85
  h = pathlib.parse(path)
86
86
  return ! h.root && ! h.dir && h.base
87
87
 
88
88
  # ---------------------------------------------------------------------------
89
89
 
90
- export fileStub = (path) ->
90
+ export fileStub = (path) =>
91
91
 
92
92
  assert isString(path), "fileExt(): path not a string"
93
93
  if lMatches = path.match(/^(.*)\.[A-Za-z0-9_]+$/)
@@ -97,7 +97,7 @@ export fileStub = (path) ->
97
97
 
98
98
  # ---------------------------------------------------------------------------
99
99
 
100
- export fileExt = (path) ->
100
+ export fileExt = (path) =>
101
101
 
102
102
  assert isString(path), "fileExt(): path not a string"
103
103
  if lMatches = path.match(/\.[A-Za-z0-9_]+$/)
@@ -107,7 +107,7 @@ export fileExt = (path) ->
107
107
 
108
108
  # ---------------------------------------------------------------------------
109
109
 
110
- export mkpath = (lParts...) ->
110
+ export mkpath = (lParts...) =>
111
111
 
112
112
  # --- Ignore empty parts
113
113
  lNewParts = []
@@ -124,13 +124,13 @@ export mkpath = (lParts...) ->
124
124
 
125
125
  # ---------------------------------------------------------------------------
126
126
 
127
- export getFullPath = (filepath) ->
127
+ export getFullPath = (filepath) =>
128
128
 
129
129
  return mkpath(pathlib.resolve(filepath))
130
130
 
131
131
  # ---------------------------------------------------------------------------
132
132
 
133
- export forEachLine = (filepath, func) ->
133
+ export forEachLine = (filepath, func) =>
134
134
 
135
135
  reader = new NReadLines(filepath)
136
136
  nLines = 0
@@ -146,7 +146,7 @@ export forEachLine = (filepath, func) ->
146
146
 
147
147
  # ---------------------------------------------------------------------------
148
148
 
149
- export forEachBlock = (filepath, func, regexp = /^-{16,}$/) ->
149
+ export forEachBlock = (filepath, func, regexp = /^-{16,}$/) =>
150
150
 
151
151
  lLines = []
152
152
  firstLineNum = 1
@@ -175,7 +175,7 @@ export forEachBlock = (filepath, func, regexp = /^-{16,}$/) ->
175
175
 
176
176
  export forEachSetOfBlocks = (filepath, func,
177
177
  block_regexp = /^-{16,}$/,
178
- set_regexp = /^={16,}$/) ->
178
+ set_regexp = /^={16,}$/) =>
179
179
 
180
180
  lBlocks = []
181
181
  lLines = []
@@ -210,7 +210,7 @@ export forEachSetOfBlocks = (filepath, func,
210
210
  # ---------------------------------------------------------------------------
211
211
  # slurp - read an entire file into a string
212
212
 
213
- export slurp = (filepath, maxLines=undef) ->
213
+ export slurp = (filepath, maxLines=undef) =>
214
214
 
215
215
  if defined(maxLines)
216
216
  lLines = []
@@ -226,7 +226,7 @@ export slurp = (filepath, maxLines=undef) ->
226
226
  # ---------------------------------------------------------------------------
227
227
  # barf - write a string to a file
228
228
 
229
- export barf = (filepath, contents) ->
229
+ export barf = (filepath, contents) =>
230
230
 
231
231
  if isEmpty(contents)
232
232
  return
@@ -241,7 +241,7 @@ export barf = (filepath, contents) ->
241
241
  # ---------------------------------------------------------------------------
242
242
  # withExt - change file extention in a file name
243
243
 
244
- export withExt = (path, newExt, hOptions={}) ->
244
+ export withExt = (path, newExt, hOptions={}) =>
245
245
  # --- Valid options:
246
246
  # removeLeadingUnderScore - boolean
247
247
 
@@ -257,7 +257,7 @@ export withExt = (path, newExt, hOptions={}) ->
257
257
  # ---------------------------------------------------------------------------
258
258
  # removeFileWithExt - remove file with different ext
259
259
 
260
- export removeFileWithExt = (path, newExt, hOptions={}) ->
260
+ export removeFileWithExt = (path, newExt, hOptions={}) =>
261
261
  # --- Valid options:
262
262
  # doLog
263
263
  # removeLeadingUnderScore
@@ -276,7 +276,7 @@ export removeFileWithExt = (path, newExt, hOptions={}) ->
276
276
  # ---------------------------------------------------------------------------
277
277
  # withUnderScore - add '_' to file name
278
278
 
279
- export withUnderScore = (path) ->
279
+ export withUnderScore = (path) =>
280
280
 
281
281
  {dir, base} = pathlib.parse(path)
282
282
  return mkpath(dir, "_#{base}")
@@ -290,7 +290,7 @@ isSystemDir = (dir) ->
290
290
  # ---------------------------------------------------------------------------
291
291
  # Get all subdirectories of a directory
292
292
 
293
- export getSubDirs = (dir) ->
293
+ export getSubDirs = (dir) =>
294
294
 
295
295
  return fs.readdirSync(dir, {withFileTypes: true}) \
296
296
  .filter((d) -> d.isDirectory() && !isSystemDir(d.name)) \
@@ -300,7 +300,7 @@ export getSubDirs = (dir) ->
300
300
  # ---------------------------------------------------------------------------
301
301
  # Get path to parent directory of a directory
302
302
 
303
- export getParentDir = (dir) ->
303
+ export getParentDir = (dir) =>
304
304
 
305
305
  hParts = pathlib.parse(dir)
306
306
  if (hParts.dir == hParts.root)
@@ -309,7 +309,7 @@ export getParentDir = (dir) ->
309
309
 
310
310
  # ---------------------------------------------------------------------------
311
311
 
312
- export forEachFile = (dir, cb, filt=undef, level=0) ->
312
+ export forEachFile = (dir, cb, filt=undef, level=0) =>
313
313
  # --- filt can be a regular expression or a function that gets:
314
314
  # (filename, dir, level)
315
315
  # callback will get parms (filename, dir, level)
@@ -336,7 +336,7 @@ export forEachFile = (dir, cb, filt=undef, level=0) ->
336
336
 
337
337
  # ---------------------------------------------------------------------------
338
338
 
339
- export pathTo = (fname, searchDir, options=undef) ->
339
+ export pathTo = (fname, searchDir, options=undef) =>
340
340
 
341
341
  {direction, relative, directory} = getOptions(options, {
342
342
  direction: 'down'
@@ -388,7 +388,7 @@ export pathTo = (fname, searchDir, options=undef) ->
388
388
 
389
389
  # ---------------------------------------------------------------------------
390
390
 
391
- export allPathsTo = (fname, searchDir) ->
391
+ export allPathsTo = (fname, searchDir) =>
392
392
  # --- Only searches upward
393
393
 
394
394
  if ! searchDir
@@ -406,7 +406,7 @@ export allPathsTo = (fname, searchDir) ->
406
406
 
407
407
  # ---------------------------------------------------------------------------
408
408
 
409
- export newerDestFileExists = (srcPath, destPath) ->
409
+ export newerDestFileExists = (srcPath, destPath) =>
410
410
 
411
411
  if ! fs.existsSync(destPath)
412
412
  return false
@@ -419,7 +419,7 @@ export newerDestFileExists = (srcPath, destPath) ->
419
419
 
420
420
  # ---------------------------------------------------------------------------
421
421
 
422
- export shortenPath = (path) ->
422
+ export shortenPath = (path) =>
423
423
  # --- Replace user's home dir with '~'
424
424
 
425
425
  str = mkpath(path)
@@ -433,7 +433,7 @@ export shortenPath = (path) ->
433
433
 
434
434
  # ---------------------------------------------------------------------------
435
435
 
436
- export parseSource = (source) ->
436
+ export parseSource = (source) =>
437
437
  # --- returns {
438
438
  # dir
439
439
  # filename
@@ -487,7 +487,7 @@ export parseSource = (source) ->
487
487
  # ---------------------------------------------------------------------------
488
488
  # slurpTAML - read TAML from a file
489
489
 
490
- export slurpTAML = (filepath) ->
490
+ export slurpTAML = (filepath) =>
491
491
 
492
492
  contents = slurp(filepath)
493
493
  return fromTAML(contents)
package/src/fs.js CHANGED
@@ -52,7 +52,7 @@ import {
52
52
  // ---------------------------------------------------------------------------
53
53
  // mydir() - pass argument import.meta.url and it will return
54
54
  // the directory your file is in
55
- export var mydir = function(url) {
55
+ export var mydir = (url) => {
56
56
  var dir, final, path;
57
57
  path = urllib.fileURLToPath(url);
58
58
  dir = pathlib.dirname(path);
@@ -61,7 +61,7 @@ export var mydir = function(url) {
61
61
  };
62
62
 
63
63
  // ---------------------------------------------------------------------------
64
- export var projRoot = function(url) {
64
+ export var projRoot = (url) => {
65
65
  var dir, rootDir;
66
66
  dir = mydir(url);
67
67
  rootDir = pathTo('package.json', dir, 'direction=up directory');
@@ -72,7 +72,7 @@ export var projRoot = function(url) {
72
72
  // ---------------------------------------------------------------------------
73
73
  // myfile() - pass argument import.meta.url and it will return
74
74
  // the name of your file
75
- export var myfile = function(url) {
75
+ export var myfile = (url) => {
76
76
  var filename, path;
77
77
  path = urllib.fileURLToPath(url);
78
78
  filename = pathlib.parse(path).base;
@@ -82,19 +82,19 @@ export var myfile = function(url) {
82
82
  // ---------------------------------------------------------------------------
83
83
  // myfullpath() - pass argument import.meta.url and it will return
84
84
  // the full path to your file
85
- export var myfullpath = function(url) {
85
+ export var myfullpath = (url) => {
86
86
  var path;
87
87
  path = urllib.fileURLToPath(url);
88
88
  return mkpath(path);
89
89
  };
90
90
 
91
91
  // ---------------------------------------------------------------------------
92
- export var getStats = function(fullpath) {
92
+ export var getStats = (fullpath) => {
93
93
  return fs.lstatSync(fullpath);
94
94
  };
95
95
 
96
96
  // ---------------------------------------------------------------------------
97
- export var isFile = function(fullpath) {
97
+ export var isFile = (fullpath) => {
98
98
  try {
99
99
  return getStats(fullpath).isFile();
100
100
  } catch (error) {
@@ -103,7 +103,7 @@ export var isFile = function(fullpath) {
103
103
  };
104
104
 
105
105
  // ---------------------------------------------------------------------------
106
- export var isDir = function(fullpath) {
106
+ export var isDir = (fullpath) => {
107
107
  try {
108
108
  return getStats(fullpath).isDirectory();
109
109
  } catch (error) {
@@ -112,14 +112,14 @@ export var isDir = function(fullpath) {
112
112
  };
113
113
 
114
114
  // ---------------------------------------------------------------------------
115
- export var isSimpleFileName = function(path) {
115
+ export var isSimpleFileName = (path) => {
116
116
  var h;
117
117
  h = pathlib.parse(path);
118
118
  return !h.root && !h.dir && h.base;
119
119
  };
120
120
 
121
121
  // ---------------------------------------------------------------------------
122
- export var fileStub = function(path) {
122
+ export var fileStub = (path) => {
123
123
  var lMatches;
124
124
  assert(isString(path), "fileExt(): path not a string");
125
125
  if (lMatches = path.match(/^(.*)\.[A-Za-z0-9_]+$/)) {
@@ -130,7 +130,7 @@ export var fileStub = function(path) {
130
130
  };
131
131
 
132
132
  // ---------------------------------------------------------------------------
133
- export var fileExt = function(path) {
133
+ export var fileExt = (path) => {
134
134
  var lMatches;
135
135
  assert(isString(path), "fileExt(): path not a string");
136
136
  if (lMatches = path.match(/\.[A-Za-z0-9_]+$/)) {
@@ -141,7 +141,7 @@ export var fileExt = function(path) {
141
141
  };
142
142
 
143
143
  // ---------------------------------------------------------------------------
144
- export var mkpath = function(...lParts) {
144
+ export var mkpath = (...lParts) => {
145
145
  var _, drive, i, lMatches, lNewParts, len, newPath, part, rest;
146
146
  // --- Ignore empty parts
147
147
  lNewParts = [];
@@ -161,12 +161,12 @@ export var mkpath = function(...lParts) {
161
161
  };
162
162
 
163
163
  // ---------------------------------------------------------------------------
164
- export var getFullPath = function(filepath) {
164
+ export var getFullPath = (filepath) => {
165
165
  return mkpath(pathlib.resolve(filepath));
166
166
  };
167
167
 
168
168
  // ---------------------------------------------------------------------------
169
- export var forEachLine = function(filepath, func) {
169
+ export var forEachLine = (filepath, func) => {
170
170
  var buffer, line, nLines, reader;
171
171
  reader = new NReadLines(filepath);
172
172
  nLines = 0;
@@ -182,7 +182,7 @@ export var forEachLine = function(filepath, func) {
182
182
  };
183
183
 
184
184
  // ---------------------------------------------------------------------------
185
- export var forEachBlock = function(filepath, func, regexp = /^-{16,}$/) {
185
+ export var forEachBlock = (filepath, func, regexp = /^-{16,}$/) => {
186
186
  var callback, earlyExit, firstLineNum, lLines;
187
187
  lLines = [];
188
188
  firstLineNum = 1;
@@ -211,7 +211,7 @@ export var forEachBlock = function(filepath, func, regexp = /^-{16,}$/) {
211
211
  };
212
212
 
213
213
  // ---------------------------------------------------------------------------
214
- export var forEachSetOfBlocks = function(filepath, func, block_regexp = /^-{16,}$/, set_regexp = /^={16,}$/) {
214
+ export var forEachSetOfBlocks = (filepath, func, block_regexp = /^-{16,}$/, set_regexp = /^={16,}$/) => {
215
215
  var callback, earlyExit, firstLineNum, lBlocks, lLines;
216
216
  lBlocks = [];
217
217
  lLines = [];
@@ -248,7 +248,7 @@ export var forEachSetOfBlocks = function(filepath, func, block_regexp = /^-{16,}
248
248
 
249
249
  // ---------------------------------------------------------------------------
250
250
  // slurp - read an entire file into a string
251
- export var slurp = function(filepath, maxLines = undef) {
251
+ export var slurp = (filepath, maxLines = undef) => {
252
252
  var contents, lLines;
253
253
  if (defined(maxLines)) {
254
254
  lLines = [];
@@ -266,7 +266,7 @@ export var slurp = function(filepath, maxLines = undef) {
266
266
 
267
267
  // ---------------------------------------------------------------------------
268
268
  // barf - write a string to a file
269
- export var barf = function(filepath, contents) {
269
+ export var barf = (filepath, contents) => {
270
270
  if (isEmpty(contents)) {
271
271
  return;
272
272
  }
@@ -283,7 +283,7 @@ export var barf = function(filepath, contents) {
283
283
 
284
284
  // ---------------------------------------------------------------------------
285
285
  // withExt - change file extention in a file name
286
- export var withExt = function(path, newExt, hOptions = {}) {
286
+ export var withExt = (path, newExt, hOptions = {}) => {
287
287
  var dir, ext, name;
288
288
  // --- Valid options:
289
289
  // removeLeadingUnderScore - boolean
@@ -300,7 +300,7 @@ export var withExt = function(path, newExt, hOptions = {}) {
300
300
 
301
301
  // ---------------------------------------------------------------------------
302
302
  // removeFileWithExt - remove file with different ext
303
- export var removeFileWithExt = function(path, newExt, hOptions = {}) {
303
+ export var removeFileWithExt = (path, newExt, hOptions = {}) => {
304
304
  var err, fullpath, success;
305
305
  // --- Valid options:
306
306
  // doLog
@@ -322,7 +322,7 @@ export var removeFileWithExt = function(path, newExt, hOptions = {}) {
322
322
 
323
323
  // ---------------------------------------------------------------------------
324
324
  // withUnderScore - add '_' to file name
325
- export var withUnderScore = function(path) {
325
+ export var withUnderScore = (path) => {
326
326
  var base, dir;
327
327
  ({dir, base} = pathlib.parse(path));
328
328
  return mkpath(dir, `_${base}`);
@@ -335,7 +335,7 @@ isSystemDir = function(dir) {
335
335
 
336
336
  // ---------------------------------------------------------------------------
337
337
  // Get all subdirectories of a directory
338
- export var getSubDirs = function(dir) {
338
+ export var getSubDirs = (dir) => {
339
339
  return fs.readdirSync(dir, {
340
340
  withFileTypes: true
341
341
  }).filter(function(d) {
@@ -347,7 +347,7 @@ export var getSubDirs = function(dir) {
347
347
 
348
348
  // ---------------------------------------------------------------------------
349
349
  // Get path to parent directory of a directory
350
- export var getParentDir = function(dir) {
350
+ export var getParentDir = (dir) => {
351
351
  var hParts;
352
352
  hParts = pathlib.parse(dir);
353
353
  if (hParts.dir === hParts.root) {
@@ -357,7 +357,7 @@ export var getParentDir = function(dir) {
357
357
  };
358
358
 
359
359
  // ---------------------------------------------------------------------------
360
- export var forEachFile = function(dir, cb, filt = undef, level = 0) {
360
+ export var forEachFile = (dir, cb, filt = undef, level = 0) => {
361
361
  var ent, i, j, lSubDirectories, len, len1, ref, ref1, subdir;
362
362
  // --- filt can be a regular expression or a function that gets:
363
363
  // (filename, dir, level)
@@ -396,7 +396,7 @@ export var forEachFile = function(dir, cb, filt = undef, level = 0) {
396
396
  };
397
397
 
398
398
  // ---------------------------------------------------------------------------
399
- export var pathTo = function(fname, searchDir, options = undef) {
399
+ export var pathTo = (fname, searchDir, options = undef) => {
400
400
  var dirPath, direction, directory, filepath, fpath, i, len, nLevels, ref, relative, subdir;
401
401
  ({direction, relative, directory} = getOptions(options, {
402
402
  direction: 'down',
@@ -458,7 +458,7 @@ export var pathTo = function(fname, searchDir, options = undef) {
458
458
  };
459
459
 
460
460
  // ---------------------------------------------------------------------------
461
- export var allPathsTo = function(fname, searchDir) {
461
+ export var allPathsTo = (fname, searchDir) => {
462
462
  var h, lPaths, path;
463
463
  if (!searchDir) {
464
464
  searchDir = process.cwd();
@@ -481,7 +481,7 @@ export var allPathsTo = function(fname, searchDir) {
481
481
  };
482
482
 
483
483
  // ---------------------------------------------------------------------------
484
- export var newerDestFileExists = function(srcPath, destPath) {
484
+ export var newerDestFileExists = (srcPath, destPath) => {
485
485
  var destModTime, srcModTime;
486
486
  if (!fs.existsSync(destPath)) {
487
487
  return false;
@@ -496,7 +496,7 @@ export var newerDestFileExists = function(srcPath, destPath) {
496
496
  };
497
497
 
498
498
  // ---------------------------------------------------------------------------
499
- export var shortenPath = function(path) {
499
+ export var shortenPath = (path) => {
500
500
  var _, lMatches, str, tail;
501
501
  // --- Replace user's home dir with '~'
502
502
  str = mkpath(path);
@@ -509,7 +509,7 @@ export var shortenPath = function(path) {
509
509
  };
510
510
 
511
511
  // ---------------------------------------------------------------------------
512
- export var parseSource = function(source) {
512
+ export var parseSource = (source) => {
513
513
  var dir, hInfo, hSourceInfo, lMatches;
514
514
  // --- returns {
515
515
  // dir
@@ -562,7 +562,7 @@ export var parseSource = function(source) {
562
562
 
563
563
  // ---------------------------------------------------------------------------
564
564
  // slurpTAML - read TAML from a file
565
- export var slurpTAML = function(filepath) {
565
+ export var slurpTAML = (filepath) => {
566
566
  var contents;
567
567
  contents = slurp(filepath);
568
568
  return fromTAML(contents);
package/src/html.coffee CHANGED
@@ -13,7 +13,7 @@ for tagName in words('area base br col command embed hr img input' \
13
13
 
14
14
  # ---------------------------------------------------------------------------
15
15
 
16
- export parsetag = (line) ->
16
+ export parsetag = (line) =>
17
17
 
18
18
  if lMatches = line.match(///^
19
19
  (?:
@@ -159,7 +159,7 @@ export parsetag = (line) ->
159
159
  # ---------------------------------------------------------------------------
160
160
  # --- export only for unit testing
161
161
 
162
- export attrStr = (hAttr) ->
162
+ export attrStr = (hAttr) =>
163
163
 
164
164
  if ! hAttr
165
165
  return ''
@@ -179,7 +179,7 @@ export attrStr = (hAttr) ->
179
179
 
180
180
  # ---------------------------------------------------------------------------
181
181
 
182
- export tag2str = (hToken, type='begin') ->
182
+ export tag2str = (hToken, type='begin') =>
183
183
 
184
184
  {tagName, hAttr} = hToken
185
185
  if (type == 'begin')
@@ -199,7 +199,7 @@ export tag2str = (hToken, type='begin') ->
199
199
  # ---------------------------------------------------------------------------
200
200
  # elem - indent text, surround with HTML tags
201
201
 
202
- export elem = (tagName, hAttr=undef, text=undef, oneIndent="\t") ->
202
+ export elem = (tagName, hAttr=undef, text=undef, oneIndent="\t") =>
203
203
 
204
204
  if isEmpty(text)
205
205
  hToken = {tagName, hAttr}
package/src/html.js CHANGED
@@ -29,7 +29,7 @@ for (i = 0, len = ref.length; i < len; i++) {
29
29
  }
30
30
 
31
31
  // ---------------------------------------------------------------------------
32
- export var parsetag = function(line) {
32
+ export var parsetag = (line) => {
33
33
  var _, all, attrName, br_val, className, dq_val, hAttr, hToken, ident, j, lClasses, lMatches, len1, modifiers, prefix, quote, ref1, rest, sq_val, subtype, uq_val, value, varName;
34
34
  if (lMatches = line.match(/^(?:([A-Za-z][A-Za-z0-9_]*)\s*=\s*)?([A-Za-z][A-Za-z0-9_]*)(?:\:([a-z]+))?(\S*)\s*(.*)$/)) { // variable name
35
35
  // variable is optional
@@ -155,7 +155,7 @@ export var parsetag = function(line) {
155
155
 
156
156
  // ---------------------------------------------------------------------------
157
157
  // --- export only for unit testing
158
- export var attrStr = function(hAttr) {
158
+ export var attrStr = (hAttr) => {
159
159
  var attrName, bquote, equote, j, len1, quote, ref1, shorthand, str, value;
160
160
  if (!hAttr) {
161
161
  return '';
@@ -181,7 +181,7 @@ export var attrStr = function(hAttr) {
181
181
  };
182
182
 
183
183
  // ---------------------------------------------------------------------------
184
- export var tag2str = function(hToken, type = 'begin') {
184
+ export var tag2str = (hToken, type = 'begin') => {
185
185
  var hAttr, str;
186
186
  ({tagName, hAttr} = hToken);
187
187
  if (type === 'begin') {
@@ -204,7 +204,7 @@ export var tag2str = function(hToken, type = 'begin') {
204
204
 
205
205
  // ---------------------------------------------------------------------------
206
206
  // elem - indent text, surround with HTML tags
207
- export var elem = function(tagName, hAttr = undef, text = undef, oneIndent = "\t") {
207
+ export var elem = (tagName, hAttr = undef, text = undef, oneIndent = "\t") => {
208
208
  var hToken;
209
209
  if (isEmpty(text)) {
210
210
  hToken = {tagName, hAttr};
package/src/indent.coffee CHANGED
@@ -8,7 +8,7 @@ import {
8
8
 
9
9
  # ---------------------------------------------------------------------------
10
10
 
11
- export getOneIndent = (str) ->
11
+ export getOneIndent = (str) =>
12
12
 
13
13
  if (lMatches = str.match(/^\t+(?:\S|$)/))
14
14
  return "\t"
@@ -19,7 +19,7 @@ export getOneIndent = (str) ->
19
19
 
20
20
  # ---------------------------------------------------------------------------
21
21
 
22
- export splitPrefix = (line) ->
22
+ export splitPrefix = (line) =>
23
23
 
24
24
  assert isString(line), "non-string #{OL(line)}"
25
25
  line = rtrim(line)
@@ -29,7 +29,7 @@ export splitPrefix = (line) ->
29
29
  # ---------------------------------------------------------------------------
30
30
  # splitLine - separate a line into [level, line]
31
31
 
32
- export splitLine = (line, oneIndent=undef) ->
32
+ export splitLine = (line, oneIndent=undef) =>
33
33
 
34
34
  [prefix, str] = splitPrefix(line)
35
35
  return [indentLevel(prefix, oneIndent), str]
@@ -38,7 +38,7 @@ export splitLine = (line, oneIndent=undef) ->
38
38
  # indentation - return appropriate indentation string for given level
39
39
  # export only to allow unit testing
40
40
 
41
- export indentation = (level, oneIndent="\t") ->
41
+ export indentation = (level, oneIndent="\t") =>
42
42
 
43
43
  assert (level >= 0), "indentation(): negative level"
44
44
  return oneIndent.repeat(level)
@@ -47,47 +47,53 @@ export indentation = (level, oneIndent="\t") ->
47
47
  # indentLevel - determine indent level of a string
48
48
  # it's OK if the string is ONLY indentation
49
49
 
50
- export indentLevel = (line, oneIndent=undef) ->
50
+ export indentLevel = (line, oneIndent=undef) =>
51
51
 
52
52
  assert isString(line), "not a string"
53
53
 
54
54
  # --- This will always match, and it's greedy
55
- if lMatches = line.match(/^(\s*)/)
56
- prefix = lMatches[1]
55
+ if lMatches = line.match(/^\s*/)
56
+ prefix = lMatches[0]
57
57
  prefixLen = prefix.length
58
58
 
59
59
  if (prefixLen == 0)
60
60
  return 0
61
61
 
62
62
  if defined(oneIndent)
63
+ # --- prefix must be some multiple of oneIndent
63
64
  len = oneIndent.length
64
- else
65
- oneIndent = "\t"
66
- len = 1
67
-
68
- if (prefixLen % len != 0)
69
- croak "prefix #{OL(prefix)} not a mult of #{OL(oneIndent)}"
65
+ assert (prefixLen % len == 0),
66
+ "prefix #{OL(prefix)} not a mult of #{OL(oneIndent)}"
70
67
 
71
- level = prefixLen / len
72
- if (prefix != oneIndent.repeat(level))
73
- croak "prefix #{OL(prefix)} not a mult of #{OL(oneIndent)}"
68
+ level = prefixLen / len
69
+ else
70
+ ch = prefix.substring(0, 1)
71
+ if (ch == "\t")
72
+ oneIndent = "\t"
73
+ level = prefixLen
74
+ else if (ch == ' ')
75
+ oneIndent = ' '.repeat(prefixLen)
76
+ level = 1
77
+ else
78
+ croak "Bad Indentation in #{OL(line)}"
74
79
 
80
+ assert (prefix == oneIndent.repeat(level)),
81
+ "prefix #{OL(prefix)} not a mult of #{OL(oneIndent)}"
75
82
  return level
76
83
 
77
84
  # ---------------------------------------------------------------------------
78
85
  # isUndented - true iff indentLevel(line) == 0
79
86
 
80
- export isUndented = (line) ->
87
+ export isUndented = (line) =>
81
88
 
82
89
  assert isString(line), "non-string #{OL(line)}"
83
- lMatches = line.match(/^\s*/)
84
- return (lMatches[0].length == 0)
90
+ return notdefined(line.match(/^\s/))
85
91
 
86
92
  # ---------------------------------------------------------------------------
87
93
  # indented - add indentation to each string in a block or array
88
94
  # - returns the same type as input, i.e. array or string
89
95
 
90
- export indented = (input, level=1, oneIndent="\t") ->
96
+ export indented = (input, level=1, oneIndent="\t") =>
91
97
 
92
98
  # --- level can be a string, in which case it is
93
99
  # pre-pended to each line of input
@@ -125,7 +131,7 @@ export indented = (input, level=1, oneIndent="\t") ->
125
131
  # indentation is removed
126
132
  # - returns same type as text, i.e. either string or array
127
133
 
128
- export undented = (input, level=undef, oneIndent="\t") ->
134
+ export undented = (input, level=undef, oneIndent="\t") =>
129
135
 
130
136
  if defined(level) && (level==0)
131
137
  return input
@@ -163,7 +169,7 @@ export undented = (input, level=undef, oneIndent="\t") ->
163
169
  # ---------------------------------------------------------------------------
164
170
  # enclose - indent text, surround with pre and post
165
171
 
166
- export enclose = (text, pre, post, oneIndent="\t") ->
172
+ export enclose = (text, pre, post, oneIndent="\t") =>
167
173
 
168
174
  return toBlock([
169
175
  pre
package/src/indent.js CHANGED
@@ -20,7 +20,7 @@ import {
20
20
  } from '@jdeighan/base-utils';
21
21
 
22
22
  // ---------------------------------------------------------------------------
23
- export var getOneIndent = function(str) {
23
+ export var getOneIndent = (str) => {
24
24
  var lMatches;
25
25
  if ((lMatches = str.match(/^\t+(?:\S|$)/))) {
26
26
  return "\t";
@@ -32,7 +32,7 @@ export var getOneIndent = function(str) {
32
32
  };
33
33
 
34
34
  // ---------------------------------------------------------------------------
35
- export var splitPrefix = function(line) {
35
+ export var splitPrefix = (line) => {
36
36
  var lMatches;
37
37
  assert(isString(line), `non-string ${OL(line)}`);
38
38
  line = rtrim(line);
@@ -42,7 +42,7 @@ export var splitPrefix = function(line) {
42
42
 
43
43
  // ---------------------------------------------------------------------------
44
44
  // splitLine - separate a line into [level, line]
45
- export var splitLine = function(line, oneIndent = undef) {
45
+ export var splitLine = (line, oneIndent = undef) => {
46
46
  var prefix, str;
47
47
  [prefix, str] = splitPrefix(line);
48
48
  return [indentLevel(prefix, oneIndent), str];
@@ -51,7 +51,7 @@ export var splitLine = function(line, oneIndent = undef) {
51
51
  // ---------------------------------------------------------------------------
52
52
  // indentation - return appropriate indentation string for given level
53
53
  // export only to allow unit testing
54
- export var indentation = function(level, oneIndent = "\t") {
54
+ export var indentation = (level, oneIndent = "\t") => {
55
55
  assert(level >= 0, "indentation(): negative level");
56
56
  return oneIndent.repeat(level);
57
57
  };
@@ -59,46 +59,49 @@ export var indentation = function(level, oneIndent = "\t") {
59
59
  // ---------------------------------------------------------------------------
60
60
  // indentLevel - determine indent level of a string
61
61
  // it's OK if the string is ONLY indentation
62
- export var indentLevel = function(line, oneIndent = undef) {
63
- var lMatches, len, level, prefix, prefixLen;
62
+ export var indentLevel = (line, oneIndent = undef) => {
63
+ var ch, lMatches, len, level, prefix, prefixLen;
64
64
  assert(isString(line), "not a string");
65
65
  // --- This will always match, and it's greedy
66
- if (lMatches = line.match(/^(\s*)/)) {
67
- prefix = lMatches[1];
66
+ if (lMatches = line.match(/^\s*/)) {
67
+ prefix = lMatches[0];
68
68
  prefixLen = prefix.length;
69
69
  }
70
70
  if (prefixLen === 0) {
71
71
  return 0;
72
72
  }
73
73
  if (defined(oneIndent)) {
74
+ // --- prefix must be some multiple of oneIndent
74
75
  len = oneIndent.length;
76
+ assert(prefixLen % len === 0, `prefix ${OL(prefix)} not a mult of ${OL(oneIndent)}`);
77
+ level = prefixLen / len;
75
78
  } else {
76
- oneIndent = "\t";
77
- len = 1;
78
- }
79
- if (prefixLen % len !== 0) {
80
- croak(`prefix ${OL(prefix)} not a mult of ${OL(oneIndent)}`);
81
- }
82
- level = prefixLen / len;
83
- if (prefix !== oneIndent.repeat(level)) {
84
- croak(`prefix ${OL(prefix)} not a mult of ${OL(oneIndent)}`);
79
+ ch = prefix.substring(0, 1);
80
+ if (ch === "\t") {
81
+ oneIndent = "\t";
82
+ level = prefixLen;
83
+ } else if (ch === ' ') {
84
+ oneIndent = ' '.repeat(prefixLen);
85
+ level = 1;
86
+ } else {
87
+ croak(`Bad Indentation in ${OL(line)}`);
88
+ }
85
89
  }
90
+ assert(prefix === oneIndent.repeat(level), `prefix ${OL(prefix)} not a mult of ${OL(oneIndent)}`);
86
91
  return level;
87
92
  };
88
93
 
89
94
  // ---------------------------------------------------------------------------
90
95
  // isUndented - true iff indentLevel(line) == 0
91
- export var isUndented = function(line) {
92
- var lMatches;
96
+ export var isUndented = (line) => {
93
97
  assert(isString(line), `non-string ${OL(line)}`);
94
- lMatches = line.match(/^\s*/);
95
- return lMatches[0].length === 0;
98
+ return notdefined(line.match(/^\s/));
96
99
  };
97
100
 
98
101
  // ---------------------------------------------------------------------------
99
102
  // indented - add indentation to each string in a block or array
100
103
  // - returns the same type as input, i.e. array or string
101
- export var indented = function(input, level = 1, oneIndent = "\t") {
104
+ export var indented = (input, level = 1, oneIndent = "\t") => {
102
105
  var i, lLines, len1, line, ref, toAdd;
103
106
  // --- level can be a string, in which case it is
104
107
  // pre-pended to each line of input
@@ -142,7 +145,7 @@ export var indented = function(input, level = 1, oneIndent = "\t") {
142
145
  // - unless level is set, in which case exactly that
143
146
  // indentation is removed
144
147
  // - returns same type as text, i.e. either string or array
145
- export var undented = function(input, level = undef, oneIndent = "\t") {
148
+ export var undented = (input, level = undef, oneIndent = "\t") => {
146
149
  var i, lLines, lMatches, lNewLines, len1, line, nToRemove, toRemove;
147
150
  if (defined(level) && (level === 0)) {
148
151
  return input;
@@ -185,6 +188,6 @@ export var undented = function(input, level = undef, oneIndent = "\t") {
185
188
 
186
189
  // ---------------------------------------------------------------------------
187
190
  // enclose - indent text, surround with pre and post
188
- export var enclose = function(text, pre, post, oneIndent = "\t") {
191
+ export var enclose = (text, pre, post, oneIndent = "\t") => {
189
192
  return toBlock([pre, indented(text, 1, oneIndent), post]);
190
193
  };
package/src/server.coffee CHANGED
@@ -6,7 +6,7 @@ import {execSync} from 'child_process'
6
6
  # ---------------------------------------------------------------------------
7
7
  # exec - run external commands
8
8
 
9
- export exec = (cmd) ->
9
+ export exec = (cmd) =>
10
10
 
11
11
  buffer = execSync cmd, {
12
12
  windowsHide: true
@@ -17,7 +17,7 @@ export exec = (cmd) ->
17
17
  # ask - ask a question
18
18
  # later, on a web page, prompt the user for answer to question
19
19
 
20
- export ask = (prompt) ->
20
+ export ask = (prompt) =>
21
21
 
22
22
  answer = getline.question("{prompt}? ")
23
23
  return answer
package/src/server.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
 
9
9
  // ---------------------------------------------------------------------------
10
10
  // exec - run external commands
11
- export var exec = function(cmd) {
11
+ export var exec = (cmd) => {
12
12
  var buffer;
13
13
  buffer = execSync(cmd, {
14
14
  windowsHide: true
@@ -19,7 +19,7 @@ export var exec = function(cmd) {
19
19
  // ---------------------------------------------------------------------------
20
20
  // ask - ask a question
21
21
  // later, on a web page, prompt the user for answer to question
22
- export var ask = function(prompt) {
22
+ export var ask = (prompt) => {
23
23
  var answer;
24
24
  answer = getline.question("{prompt}? ");
25
25
  return answer;
package/src/svelte.coffee CHANGED
@@ -7,7 +7,7 @@ import {isFunction} from '@jdeighan/base-utils'
7
7
  # ---------------------------------------------------------------------------
8
8
  # svelteSourceCodeEsc - to display source code for a *.starbucks page
9
9
 
10
- export svelteSourceCodeEsc = (str) ->
10
+ export svelteSourceCodeEsc = (str) =>
11
11
 
12
12
  return str \
13
13
  .replace(/\</g, '&lt;') \
@@ -19,7 +19,7 @@ export svelteSourceCodeEsc = (str) ->
19
19
  # ---------------------------------------------------------------------------
20
20
  # svelteHtmlEsc - after converting markdown
21
21
 
22
- export svelteHtmlEsc = (str) ->
22
+ export svelteHtmlEsc = (str) =>
23
23
 
24
24
  return str \
25
25
  .replace(/\{/g, '&lbrace;') \
@@ -28,7 +28,7 @@ export svelteHtmlEsc = (str) ->
28
28
 
29
29
  # ---------------------------------------------------------------------------
30
30
 
31
- export onInterval = (func, secs, doLog=false) ->
31
+ export onInterval = (func, secs, doLog=false) =>
32
32
 
33
33
  assert isFunction(func), "onInterval(): 1st arg not a function"
34
34
  ms = Math.floor(1000 * secs)
package/src/svelte.js CHANGED
@@ -15,18 +15,18 @@ import {
15
15
 
16
16
  // ---------------------------------------------------------------------------
17
17
  // svelteSourceCodeEsc - to display source code for a *.starbucks page
18
- export var svelteSourceCodeEsc = function(str) {
18
+ export var svelteSourceCodeEsc = (str) => {
19
19
  return str.replace(/\</g, '&lt;').replace(/\>/g, '&gt;').replace(/\{/g, '&lbrace;').replace(/\}/g, '&rbrace;').replace(/\$/g, '&dollar;');
20
20
  };
21
21
 
22
22
  // ---------------------------------------------------------------------------
23
23
  // svelteHtmlEsc - after converting markdown
24
- export var svelteHtmlEsc = function(str) {
24
+ export var svelteHtmlEsc = (str) => {
25
25
  return str.replace(/\{/g, '&lbrace;').replace(/\}/g, '&rbrace;').replace(/\$/g, '&dollar;');
26
26
  };
27
27
 
28
28
  // ---------------------------------------------------------------------------
29
- export var onInterval = function(func, secs, doLog = false) {
29
+ export var onInterval = (func, secs, doLog = false) => {
30
30
  var interval, ms;
31
31
  assert(isFunction(func), "onInterval(): 1st arg not a function");
32
32
  ms = Math.floor(1000 * secs);