@xyo-network/shared 2.38.0-rc.9 → 2.38.0

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.
@@ -10,4 +10,5 @@ export interface Logger {
10
10
  log: LogFunction;
11
11
  warn: LogFunction;
12
12
  }
13
+ export declare const getFunctionName: (depth?: number) => string;
13
14
  //# sourceMappingURL=Logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAEhB,IAAI,EAAE,WAAW,CAAA;CAClB"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAEhB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,eAAO,MAAM,eAAe,4BAoB3B,CAAA"}
@@ -1,3 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFunctionName = void 0;
4
+ const getFunctionName = (depth = 2) => {
5
+ var _a, _b;
6
+ try {
7
+ throw Error();
8
+ }
9
+ catch (ex) {
10
+ const error = ex;
11
+ console.log(error.stack);
12
+ let newIndex = undefined;
13
+ const stackParts = (_a = error.stack) === null || _a === void 0 ? void 0 : _a.split('\n')[depth].split(' ');
14
+ const funcName = (_b = stackParts === null || stackParts === void 0 ? void 0 : stackParts.find((item, index) => {
15
+ if (item.length > 0 && item !== 'at') {
16
+ //check if constructor
17
+ if (item === 'new') {
18
+ newIndex = index;
19
+ }
20
+ return item;
21
+ }
22
+ })) !== null && _b !== void 0 ? _b : '<unknown>';
23
+ return newIndex ? `${funcName} ${stackParts === null || stackParts === void 0 ? void 0 : stackParts[newIndex + 1]}` : funcName;
24
+ }
25
+ };
26
+ exports.getFunctionName = getFunctionName;
3
27
  //# sourceMappingURL=Logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":";;;AAeO,MAAM,eAAe,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE;;IAC3C,IAAI;QACF,MAAM,KAAK,EAAE,CAAA;KACd;IAAC,OAAO,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,EAAW,CAAA;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,QAAQ,GAAuB,SAAS,CAAA;QAC5C,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7D,MAAM,QAAQ,GACZ,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE;gBACpC,sBAAsB;gBACtB,IAAI,IAAI,KAAK,KAAK,EAAE;oBAClB,QAAQ,GAAG,KAAK,CAAA;iBACjB;gBACD,OAAO,IAAI,CAAA;aACZ;QACH,CAAC,CAAC,mCAAI,WAAW,CAAA;QACnB,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;KACzE;AACH,CAAC,CAAA;AApBY,QAAA,eAAe,mBAoB3B"}
package/dist/docs.json CHANGED
@@ -24,7 +24,7 @@
24
24
  "fileName": "Job/Job.ts",
25
25
  "line": 7,
26
26
  "character": 2,
27
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Job.ts#L7"
27
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Job.ts#L7"
28
28
  }
29
29
  ],
30
30
  "type": {
@@ -45,7 +45,7 @@
45
45
  "fileName": "Job/Job.ts",
46
46
  "line": 8,
47
47
  "character": 2,
48
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Job.ts#L8"
48
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Job.ts#L8"
49
49
  }
50
50
  ],
51
51
  "type": {
@@ -66,7 +66,7 @@
66
66
  "fileName": "Job/Job.ts",
67
67
  "line": 9,
68
68
  "character": 2,
69
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Job.ts#L9"
69
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Job.ts#L9"
70
70
  }
71
71
  ],
72
72
  "type": {
@@ -87,7 +87,7 @@
87
87
  "fileName": "Job/Job.ts",
88
88
  "line": 10,
89
89
  "character": 2,
90
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Job.ts#L10"
90
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Job.ts#L10"
91
91
  }
92
92
  ],
93
93
  "type": {
@@ -108,7 +108,7 @@
108
108
  "fileName": "Job/Job.ts",
109
109
  "line": 11,
110
110
  "character": 2,
111
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Job.ts#L11"
111
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Job.ts#L11"
112
112
  }
113
113
  ],
114
114
  "type": {
@@ -127,7 +127,7 @@
127
127
  "fileName": "Job/Job.ts",
128
128
  "line": 12,
129
129
  "character": 2,
130
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Job.ts#L12"
130
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Job.ts#L12"
131
131
  }
132
132
  ],
133
133
  "type": {
@@ -146,7 +146,7 @@
146
146
  "fileName": "Job/Job.ts",
147
147
  "line": 13,
148
148
  "character": 2,
149
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Job.ts#L13"
149
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Job.ts#L13"
150
150
  }
151
151
  ],
152
152
  "type": {
@@ -175,7 +175,7 @@
175
175
  "fileName": "Job/Job.ts",
176
176
  "line": 6,
177
177
  "character": 17,
178
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Job.ts#L6"
178
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Job.ts#L6"
179
179
  }
180
180
  ]
181
181
  },
@@ -197,7 +197,7 @@
197
197
  "fileName": "Job/JobProvider.ts",
198
198
  "line": 4,
199
199
  "character": 6,
200
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/JobProvider.ts#L4"
200
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/JobProvider.ts#L4"
201
201
  }
202
202
  ],
203
203
  "getSignature": {
@@ -230,7 +230,7 @@
230
230
  "fileName": "Job/JobProvider.ts",
231
231
  "line": 3,
232
232
  "character": 17,
233
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/JobProvider.ts#L3"
233
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/JobProvider.ts#L3"
234
234
  }
235
235
  ]
236
236
  },
@@ -268,7 +268,7 @@
268
268
  "fileName": "Logger.ts",
269
269
  "line": 8,
270
270
  "character": 2,
271
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Logger.ts#L8"
271
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L8"
272
272
  }
273
273
  ],
274
274
  "type": {
@@ -288,7 +288,7 @@
288
288
  "fileName": "Logger.ts",
289
289
  "line": 9,
290
290
  "character": 2,
291
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Logger.ts#L9"
291
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L9"
292
292
  }
293
293
  ],
294
294
  "type": {
@@ -308,7 +308,7 @@
308
308
  "fileName": "Logger.ts",
309
309
  "line": 10,
310
310
  "character": 2,
311
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Logger.ts#L10"
311
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L10"
312
312
  }
313
313
  ],
314
314
  "type": {
@@ -328,7 +328,7 @@
328
328
  "fileName": "Logger.ts",
329
329
  "line": 11,
330
330
  "character": 2,
331
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Logger.ts#L11"
331
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L11"
332
332
  }
333
333
  ],
334
334
  "type": {
@@ -348,7 +348,7 @@
348
348
  "fileName": "Logger.ts",
349
349
  "line": 13,
350
350
  "character": 2,
351
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Logger.ts#L13"
351
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L13"
352
352
  }
353
353
  ],
354
354
  "type": {
@@ -375,7 +375,7 @@
375
375
  "fileName": "Logger.ts",
376
376
  "line": 7,
377
377
  "character": 17,
378
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Logger.ts#L7"
378
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L7"
379
379
  }
380
380
  ]
381
381
  },
@@ -390,7 +390,7 @@
390
390
  "fileName": "Logger.ts",
391
391
  "line": 1,
392
392
  "character": 12,
393
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Logger.ts#L1"
393
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L1"
394
394
  }
395
395
  ],
396
396
  "type": {
@@ -406,7 +406,7 @@
406
406
  "fileName": "Logger.ts",
407
407
  "line": 1,
408
408
  "character": 26,
409
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Logger.ts#L1"
409
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L1"
410
410
  }
411
411
  ],
412
412
  "signatures": [
@@ -451,7 +451,7 @@
451
451
  "fileName": "Job/Task.ts",
452
452
  "line": 1,
453
453
  "character": 12,
454
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Task.ts#L1"
454
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Task.ts#L1"
455
455
  }
456
456
  ],
457
457
  "type": {
@@ -467,7 +467,7 @@
467
467
  "fileName": "Job/Task.ts",
468
468
  "line": 1,
469
469
  "character": 19,
470
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/Job/Task.ts#L1"
470
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Job/Task.ts#L1"
471
471
  }
472
472
  ],
473
473
  "signatures": [
@@ -505,7 +505,7 @@
505
505
  "fileName": "dump.ts",
506
506
  "line": 1,
507
507
  "character": 13,
508
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/dump.ts#L1"
508
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/dump.ts#L1"
509
509
  }
510
510
  ],
511
511
  "signatures": [
@@ -535,6 +535,48 @@
535
535
  }
536
536
  ]
537
537
  },
538
+ {
539
+ "id": 40,
540
+ "name": "getFunctionName",
541
+ "kind": 64,
542
+ "kindString": "Function",
543
+ "flags": {},
544
+ "sources": [
545
+ {
546
+ "fileName": "Logger.ts",
547
+ "line": 16,
548
+ "character": 13,
549
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/Logger.ts#L16"
550
+ }
551
+ ],
552
+ "signatures": [
553
+ {
554
+ "id": 41,
555
+ "name": "getFunctionName",
556
+ "kind": 4096,
557
+ "kindString": "Call signature",
558
+ "flags": {},
559
+ "parameters": [
560
+ {
561
+ "id": 42,
562
+ "name": "depth",
563
+ "kind": 32768,
564
+ "kindString": "Parameter",
565
+ "flags": {},
566
+ "type": {
567
+ "type": "intrinsic",
568
+ "name": "number"
569
+ },
570
+ "defaultValue": "2"
571
+ }
572
+ ],
573
+ "type": {
574
+ "type": "intrinsic",
575
+ "name": "string"
576
+ }
577
+ }
578
+ ]
579
+ },
538
580
  {
539
581
  "id": 13,
540
582
  "name": "ipVersion",
@@ -546,7 +588,7 @@
546
588
  "fileName": "is-ip/is-ip.ts",
547
589
  "line": 15,
548
590
  "character": 16,
549
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/is-ip/is-ip.ts#L15"
591
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/is-ip/is-ip.ts#L15"
550
592
  }
551
593
  ],
552
594
  "signatures": [
@@ -600,7 +642,7 @@
600
642
  "fileName": "is-ip/is-ip.ts",
601
643
  "line": 3,
602
644
  "character": 16,
603
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/is-ip/is-ip.ts#L3"
645
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/is-ip/is-ip.ts#L3"
604
646
  }
605
647
  ],
606
648
  "signatures": [
@@ -641,7 +683,7 @@
641
683
  "fileName": "is-ip/is-ip.ts",
642
684
  "line": 11,
643
685
  "character": 16,
644
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/is-ip/is-ip.ts#L11"
686
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/is-ip/is-ip.ts#L11"
645
687
  }
646
688
  ],
647
689
  "signatures": [
@@ -682,7 +724,7 @@
682
724
  "fileName": "is-ip/is-ip.ts",
683
725
  "line": 7,
684
726
  "character": 16,
685
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/is-ip/is-ip.ts#L7"
727
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/is-ip/is-ip.ts#L7"
686
728
  }
687
729
  ],
688
730
  "signatures": [
@@ -733,6 +775,7 @@
733
775
  "title": "Functions",
734
776
  "children": [
735
777
  1,
778
+ 40,
736
779
  13,
737
780
  4,
738
781
  10,
@@ -745,7 +788,7 @@
745
788
  "fileName": "index.ts",
746
789
  "line": 1,
747
790
  "character": 0,
748
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/795590a1/packages/sdk/packages/shared/src/index.ts#L1"
791
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/db09c8c0/packages/sdk/packages/shared/src/index.ts#L1"
749
792
  }
750
793
  ]
751
794
  }
@@ -10,4 +10,5 @@ export interface Logger {
10
10
  log: LogFunction;
11
11
  warn: LogFunction;
12
12
  }
13
+ export declare const getFunctionName: (depth?: number) => string;
13
14
  //# sourceMappingURL=Logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAEhB,IAAI,EAAE,WAAW,CAAA;CAClB"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAEhB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,eAAO,MAAM,eAAe,4BAoB3B,CAAA"}
@@ -1,2 +1,22 @@
1
- export {};
1
+ export const getFunctionName = (depth = 2) => {
2
+ try {
3
+ throw Error();
4
+ }
5
+ catch (ex) {
6
+ const error = ex;
7
+ console.log(error.stack);
8
+ let newIndex = undefined;
9
+ const stackParts = error.stack?.split('\n')[depth].split(' ');
10
+ const funcName = stackParts?.find((item, index) => {
11
+ if (item.length > 0 && item !== 'at') {
12
+ //check if constructor
13
+ if (item === 'new') {
14
+ newIndex = index;
15
+ }
16
+ return item;
17
+ }
18
+ }) ?? '<unknown>';
19
+ return newIndex ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName;
20
+ }
21
+ };
2
22
  //# sourceMappingURL=Logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE;IAC3C,IAAI;QACF,MAAM,KAAK,EAAE,CAAA;KACd;IAAC,OAAO,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,EAAW,CAAA;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,QAAQ,GAAuB,SAAS,CAAA;QAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7D,MAAM,QAAQ,GACZ,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE;gBACpC,sBAAsB;gBACtB,IAAI,IAAI,KAAK,KAAK,EAAE;oBAClB,QAAQ,GAAG,KAAK,CAAA;iBACjB;gBACD,OAAO,IAAI,CAAA;aACZ;QACH,CAAC,CAAC,IAAI,WAAW,CAAA;QACnB,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;KACzE;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -45,6 +45,5 @@
45
45
  },
46
46
  "sideEffects": false,
47
47
  "types": "dist/esm/index.d.ts",
48
- "version": "2.38.0-rc.9",
49
- "stableVersion": "2.37.6"
48
+ "version": "2.38.0"
50
49
  }
@@ -0,0 +1,54 @@
1
+ import { getFunctionName } from './Logger'
2
+
3
+ describe('Logger', () => {
4
+ test('getFunctionName:function', () => {
5
+ const test = () => {
6
+ return getFunctionName()
7
+ }
8
+ const funcName = test()
9
+ expect(funcName).toBe('test')
10
+ })
11
+ test('getFunctionName:constructor', () => {
12
+ class Foo {
13
+ funcName: string
14
+ constructor() {
15
+ this.funcName = getFunctionName()
16
+ }
17
+ }
18
+
19
+ const foo = new Foo()
20
+ expect(foo.funcName).toBe('new Foo')
21
+ })
22
+
23
+ test('getFunctionName:method', () => {
24
+ class Foo {
25
+ funcName: string
26
+ constructor() {
27
+ this.funcName = this.test()
28
+ }
29
+
30
+ test() {
31
+ return getFunctionName()
32
+ }
33
+ }
34
+
35
+ const foo = new Foo()
36
+ expect(foo.funcName).toBe('Foo.test')
37
+ })
38
+
39
+ test('getFunctionName:static', () => {
40
+ class Foo {
41
+ funcName: string
42
+ constructor() {
43
+ this.funcName = Foo.test()
44
+ }
45
+
46
+ static test() {
47
+ return getFunctionName()
48
+ }
49
+ }
50
+
51
+ const foo = new Foo()
52
+ expect(foo.funcName).toBe('Function.test')
53
+ })
54
+ })
package/src/Logger.ts CHANGED
@@ -12,3 +12,25 @@ export interface Logger {
12
12
  // trace: LogFunction
13
13
  warn: LogFunction
14
14
  }
15
+
16
+ export const getFunctionName = (depth = 2) => {
17
+ try {
18
+ throw Error()
19
+ } catch (ex) {
20
+ const error = ex as Error
21
+ console.log(error.stack)
22
+ let newIndex: number | undefined = undefined
23
+ const stackParts = error.stack?.split('\n')[depth].split(' ')
24
+ const funcName =
25
+ stackParts?.find((item, index) => {
26
+ if (item.length > 0 && item !== 'at') {
27
+ //check if constructor
28
+ if (item === 'new') {
29
+ newIndex = index
30
+ }
31
+ return item
32
+ }
33
+ }) ?? '<unknown>'
34
+ return newIndex ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName
35
+ }
36
+ }