@jdeighan/coffee-utils 4.1.15 → 4.1.16

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": "4.1.15",
4
+ "version": "4.1.16",
5
5
  "description": "A set of utility functions for CoffeeScript",
6
6
  "main": "coffee_utils.js",
7
7
  "exports": {
@@ -22,8 +22,11 @@ export class CallStack
22
22
 
23
23
  returnFrom: (fName) ->
24
24
 
25
+ if @lStack.length == 0
26
+ croak "returnFrom('#{fName}') but stack is empty"
25
27
  {funcName, hInfo} = @lStack.pop()
26
28
  if funcName != fName
29
+ @dump()
27
30
  croak "returnFrom('#{fName}') but TOS is '#{funcName}'"
28
31
  return hInfo
29
32
 
@@ -37,7 +40,7 @@ export class CallStack
37
40
 
38
41
  dump: (label='CALL STACK') ->
39
42
 
40
- log "#{label}:"
43
+ console.log "#{label}:"
41
44
  for item, i in @lStack
42
- log "#{i}: #{JSON.stringify(item)}"
45
+ console.log "#{i}: #{JSON.stringify(item)}"
43
46
  return
package/src/call_stack.js CHANGED
@@ -23,8 +23,12 @@ export var CallStack = class CallStack {
23
23
  // ........................................................................
24
24
  returnFrom(fName) {
25
25
  var funcName, hInfo;
26
+ if (this.lStack.length === 0) {
27
+ croak(`returnFrom('${fName}') but stack is empty`);
28
+ }
26
29
  ({funcName, hInfo} = this.lStack.pop());
27
30
  if (funcName !== fName) {
31
+ this.dump();
28
32
  croak(`returnFrom('${fName}') but TOS is '${funcName}'`);
29
33
  }
30
34
  return hInfo;
@@ -38,11 +42,11 @@ export var CallStack = class CallStack {
38
42
  // ........................................................................
39
43
  dump(label = 'CALL STACK') {
40
44
  var i, item, j, len, ref;
41
- log(`${label}:`);
45
+ console.log(`${label}:`);
42
46
  ref = this.lStack;
43
47
  for (i = j = 0, len = ref.length; j < len; i = ++j) {
44
48
  item = ref[i];
45
- log(`${i}: ${JSON.stringify(item)}`);
49
+ console.log(`${i}: ${JSON.stringify(item)}`);
46
50
  }
47
51
  }
48
52