@jdeighan/coffee-utils 7.0.26 → 7.0.29

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": "7.0.26",
4
+ "version": "7.0.29",
5
5
  "description": "A set of utility functions for CoffeeScript",
6
6
  "main": "coffee_utils.js",
7
7
  "exports": {
@@ -396,8 +396,29 @@ export replaceVars = (line, hVars={}, rx=/__(env\.)?([A-Za-z_]\w*)__/g) ->
396
396
 
397
397
  # ---------------------------------------------------------------------------
398
398
 
399
- export isIterable = (object) ->
399
+ export defined = (obj) ->
400
400
 
401
- if (object == undef) || (object == null)
401
+ return (obj != undef) && (obj != null)
402
+
403
+ # ---------------------------------------------------------------------------
404
+
405
+ export notdefined = (obj) ->
406
+
407
+ return (obj == undef) || (obj == null)
408
+
409
+ # ---------------------------------------------------------------------------
410
+
411
+ export isIterable = (obj) ->
412
+
413
+ if (obj == undef) || (obj == null)
402
414
  return false
403
- return typeof object[Symbol.iterator] == 'function'
415
+ return typeof obj[Symbol.iterator] == 'function'
416
+
417
+ # ---------------------------------------------------------------------------
418
+
419
+ export className = (aClass) ->
420
+
421
+ if lMatches = aClass.toString().match(/class\s+(\w+)/)
422
+ return lMatches[1]
423
+ else
424
+ croak "className(): Bad input class"
@@ -430,9 +430,29 @@ export var replaceVars = function(line, hVars = {}, rx = /__(env\.)?([A-Za-z_]\w
430
430
  };
431
431
 
432
432
  // ---------------------------------------------------------------------------
433
- export var isIterable = function(object) {
434
- if ((object === undef) || (object === null)) {
433
+ export var defined = function(obj) {
434
+ return (obj !== undef) && (obj !== null);
435
+ };
436
+
437
+ // ---------------------------------------------------------------------------
438
+ export var notdefined = function(obj) {
439
+ return (obj === undef) || (obj === null);
440
+ };
441
+
442
+ // ---------------------------------------------------------------------------
443
+ export var isIterable = function(obj) {
444
+ if ((obj === undef) || (obj === null)) {
435
445
  return false;
436
446
  }
437
- return typeof object[Symbol.iterator] === 'function';
447
+ return typeof obj[Symbol.iterator] === 'function';
448
+ };
449
+
450
+ // ---------------------------------------------------------------------------
451
+ export var className = function(aClass) {
452
+ var lMatches;
453
+ if (lMatches = aClass.toString().match(/class\s+(\w+)/)) {
454
+ return lMatches[1];
455
+ } else {
456
+ return croak("className(): Bad input class");
457
+ }
438
458
  };
@@ -181,7 +181,7 @@ export debug = (lArgs...) ->
181
181
  logItem undef, item, hOptions
182
182
  when 'return'
183
183
  log label, hOptions
184
- if item
184
+ if item?
185
185
  # --- don't repeat the label
186
186
  logItem undef, item, hOptions
187
187
  when 'string'
@@ -193,7 +193,7 @@ export var debug = function(...lArgs) {
193
193
  break;
194
194
  case 'return':
195
195
  log(label, hOptions);
196
- if (item) {
196
+ if (item != null) {
197
197
  // --- don't repeat the label
198
198
  logItem(undef, item, hOptions);
199
199
  }