@xylabs/sdk-js 2.5.8 → 2.5.9

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.
@@ -5,6 +5,7 @@ export interface ForgetTimeoutConfig {
5
5
  export declare class ForgetPromise {
6
6
  static get active(): boolean;
7
7
  static activeForgets: number;
8
+ static awaitInactive(interval?: number, timeout?: number): Promise<number>;
8
9
  static forget(promise: Promise<unknown>, timeout?: ForgetTimeoutConfig): void;
9
10
  }
10
11
  export declare const forget: (promise: Promise<unknown>, timeout?: ForgetTimeoutConfig) => void;
@@ -7,6 +7,21 @@ class ForgetPromise {
7
7
  static get active() {
8
8
  return this.activeForgets > 0;
9
9
  }
10
+ static awaitInactive(interval = 100, timeout) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ let timeoutRemaining = timeout;
13
+ while (this.active) {
14
+ yield (0, delay_1.delay)(interval);
15
+ if (timeoutRemaining !== undefined) {
16
+ timeoutRemaining -= interval;
17
+ if (timeoutRemaining <= 0) {
18
+ return this.activeForgets;
19
+ }
20
+ }
21
+ }
22
+ return 0;
23
+ });
24
+ }
10
25
  //used to explicitly launch an async function (or Promise) with awaiting it
11
26
  static forget(promise, timeout) {
12
27
  let completed = false;
@@ -1 +1 @@
1
- {"version":3,"file":"forget.js","sourceRoot":"","sources":["../../../src/shared/forget.ts"],"names":[],"mappings":";;;;AAAA,mCAA+B;AAO/B,MAAa,aAAa;IACxB,MAAM,KAAK,MAAM;QACf,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;IAC/B,CAAC;IAID,2EAA2E;IAC3E,MAAM,CAAC,MAAM,CAAC,OAAyB,EAAE,OAA6B;QACpE,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,aAAa,EAAE,CAAA;QAEpB,MAAM,cAAc,GAAG,GAAS,EAAE;YAChC,MAAM,OAAO;iBACV,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,CAAA;QACN,CAAC,CAAA,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC,CAAA;QAEnC,2CAA2C;QAC3C,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAG,GAAS,EAAE;;gBAC7B,MAAM,IAAA,aAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAA;oBAC/E,MAAA,OAAO,CAAC,MAAM,uDAAI,CAAA;iBACnB;YACH,CAAC,CAAA,CAAA;YACD,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;SAC7B;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAElC,GAAG;aACA,IAAI,CAAC,GAAG,EAAE;YACT,OAAM;QACR,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,OAAM;QACR,CAAC,CAAC,CAAA;IACN,CAAC;;AA/CH,sCAgDC;AA3CQ,2BAAa,GAAG,CAAC,CAAA;AA6C1B,2EAA2E;AACpE,MAAM,MAAM,GAAG,CAAC,OAAyB,EAAE,OAA6B,EAAE,EAAE;IACjF,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC,CAAA;AAFY,QAAA,MAAM,UAElB"}
1
+ {"version":3,"file":"forget.js","sourceRoot":"","sources":["../../../src/shared/forget.ts"],"names":[],"mappings":";;;;AAAA,mCAA+B;AAO/B,MAAa,aAAa;IACxB,MAAM,KAAK,MAAM;QACf,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;IAC/B,CAAC;IAID,MAAM,CAAO,aAAa,CAAC,QAAQ,GAAG,GAAG,EAAE,OAAgB;;YACzD,IAAI,gBAAgB,GAAG,OAAO,CAAA;YAC9B,OAAO,IAAI,CAAC,MAAM,EAAE;gBAClB,MAAM,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAA;gBACrB,IAAI,gBAAgB,KAAK,SAAS,EAAE;oBAClC,gBAAgB,IAAI,QAAQ,CAAA;oBAC5B,IAAI,gBAAgB,IAAI,CAAC,EAAE;wBACzB,OAAO,IAAI,CAAC,aAAa,CAAA;qBAC1B;iBACF;aACF;YACD,OAAO,CAAC,CAAA;QACV,CAAC;KAAA;IAED,2EAA2E;IAC3E,MAAM,CAAC,MAAM,CAAC,OAAyB,EAAE,OAA6B;QACpE,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,aAAa,EAAE,CAAA;QAEpB,MAAM,cAAc,GAAG,GAAS,EAAE;YAChC,MAAM,OAAO;iBACV,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,CAAA;QACN,CAAC,CAAA,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC,CAAA;QAEnC,2CAA2C;QAC3C,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAG,GAAS,EAAE;;gBAC7B,MAAM,IAAA,aAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAA;oBAC/E,MAAA,OAAO,CAAC,MAAM,uDAAI,CAAA;iBACnB;YACH,CAAC,CAAA,CAAA;YACD,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;SAC7B;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAElC,GAAG;aACA,IAAI,CAAC,GAAG,EAAE;YACT,OAAM;QACR,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,OAAM;QACR,CAAC,CAAC,CAAA;IACN,CAAC;;AA7DH,sCA8DC;AAzDQ,2BAAa,GAAG,CAAC,CAAA;AA2D1B,2EAA2E;AACpE,MAAM,MAAM,GAAG,CAAC,OAAyB,EAAE,OAA6B,EAAE,EAAE;IACjF,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC,CAAA;AAFY,QAAA,MAAM,UAElB"}
package/dist/docs.json CHANGED
@@ -7282,7 +7282,7 @@
7282
7282
  },
7283
7283
  "inheritedFrom": {
7284
7284
  "type": "reference",
7285
- "name": "Uint8Array.__@toStringTag@392"
7285
+ "name": "Uint8Array.__@toStringTag@395"
7286
7286
  }
7287
7287
  },
7288
7288
  {
@@ -15529,14 +15529,14 @@
15529
15529
  "flags": {},
15530
15530
  "children": [
15531
15531
  {
15532
- "id": 1368,
15532
+ "id": 1372,
15533
15533
  "name": "constructor",
15534
15534
  "kind": 512,
15535
15535
  "kindString": "Constructor",
15536
15536
  "flags": {},
15537
15537
  "signatures": [
15538
15538
  {
15539
- "id": 1369,
15539
+ "id": 1373,
15540
15540
  "name": "new ForgetPromise",
15541
15541
  "kind": 16384,
15542
15542
  "kindString": "Constructor signature",
@@ -15601,6 +15601,70 @@
15601
15601
  },
15602
15602
  {
15603
15603
  "id": 1364,
15604
+ "name": "awaitInactive",
15605
+ "kind": 2048,
15606
+ "kindString": "Method",
15607
+ "flags": {
15608
+ "isStatic": true
15609
+ },
15610
+ "sources": [
15611
+ {
15612
+ "fileName": "src/shared/forget.ts",
15613
+ "line": 15,
15614
+ "character": 15
15615
+ }
15616
+ ],
15617
+ "signatures": [
15618
+ {
15619
+ "id": 1365,
15620
+ "name": "awaitInactive",
15621
+ "kind": 4096,
15622
+ "kindString": "Call signature",
15623
+ "flags": {},
15624
+ "parameters": [
15625
+ {
15626
+ "id": 1366,
15627
+ "name": "interval",
15628
+ "kind": 32768,
15629
+ "kindString": "Parameter",
15630
+ "flags": {},
15631
+ "type": {
15632
+ "type": "intrinsic",
15633
+ "name": "number"
15634
+ },
15635
+ "defaultValue": "100"
15636
+ },
15637
+ {
15638
+ "id": 1367,
15639
+ "name": "timeout",
15640
+ "kind": 32768,
15641
+ "kindString": "Parameter",
15642
+ "flags": {
15643
+ "isOptional": true
15644
+ },
15645
+ "type": {
15646
+ "type": "intrinsic",
15647
+ "name": "number"
15648
+ }
15649
+ }
15650
+ ],
15651
+ "type": {
15652
+ "type": "reference",
15653
+ "typeArguments": [
15654
+ {
15655
+ "type": "intrinsic",
15656
+ "name": "number"
15657
+ }
15658
+ ],
15659
+ "qualifiedName": "Promise",
15660
+ "package": "typescript",
15661
+ "name": "Promise"
15662
+ }
15663
+ }
15664
+ ]
15665
+ },
15666
+ {
15667
+ "id": 1368,
15604
15668
  "name": "forget",
15605
15669
  "kind": 2048,
15606
15670
  "kindString": "Method",
@@ -15610,20 +15674,20 @@
15610
15674
  "sources": [
15611
15675
  {
15612
15676
  "fileName": "src/shared/forget.ts",
15613
- "line": 16,
15677
+ "line": 30,
15614
15678
  "character": 9
15615
15679
  }
15616
15680
  ],
15617
15681
  "signatures": [
15618
15682
  {
15619
- "id": 1365,
15683
+ "id": 1369,
15620
15684
  "name": "forget",
15621
15685
  "kind": 4096,
15622
15686
  "kindString": "Call signature",
15623
15687
  "flags": {},
15624
15688
  "parameters": [
15625
15689
  {
15626
- "id": 1366,
15690
+ "id": 1370,
15627
15691
  "name": "promise",
15628
15692
  "kind": 32768,
15629
15693
  "kindString": "Parameter",
@@ -15642,7 +15706,7 @@
15642
15706
  }
15643
15707
  },
15644
15708
  {
15645
- "id": 1367,
15709
+ "id": 1371,
15646
15710
  "name": "timeout",
15647
15711
  "kind": 32768,
15648
15712
  "kindString": "Parameter",
@@ -15669,7 +15733,7 @@
15669
15733
  "title": "Constructors",
15670
15734
  "kind": 512,
15671
15735
  "children": [
15672
- 1368
15736
+ 1372
15673
15737
  ]
15674
15738
  },
15675
15739
  {
@@ -15690,7 +15754,8 @@
15690
15754
  "title": "Methods",
15691
15755
  "kind": 2048,
15692
15756
  "children": [
15693
- 1364
15757
+ 1364,
15758
+ 1368
15694
15759
  ]
15695
15760
  }
15696
15761
  ],
@@ -15703,14 +15768,14 @@
15703
15768
  ]
15704
15769
  },
15705
15770
  {
15706
- "id": 1382,
15771
+ "id": 1386,
15707
15772
  "name": "Log",
15708
15773
  "kind": 128,
15709
15774
  "kindString": "Class",
15710
15775
  "flags": {},
15711
15776
  "children": [
15712
15777
  {
15713
- "id": 1383,
15778
+ "id": 1387,
15714
15779
  "name": "constructor",
15715
15780
  "kind": 512,
15716
15781
  "kindString": "Constructor",
@@ -15724,35 +15789,35 @@
15724
15789
  ],
15725
15790
  "signatures": [
15726
15791
  {
15727
- "id": 1384,
15792
+ "id": 1388,
15728
15793
  "name": "new Log",
15729
15794
  "kind": 16384,
15730
15795
  "kindString": "Constructor signature",
15731
15796
  "flags": {},
15732
15797
  "parameters": [
15733
15798
  {
15734
- "id": 1385,
15799
+ "id": 1389,
15735
15800
  "name": "config",
15736
15801
  "kind": 32768,
15737
15802
  "kindString": "Parameter",
15738
15803
  "flags": {},
15739
15804
  "type": {
15740
15805
  "type": "reference",
15741
- "id": 1377,
15806
+ "id": 1381,
15742
15807
  "name": "LogConfig"
15743
15808
  }
15744
15809
  }
15745
15810
  ],
15746
15811
  "type": {
15747
15812
  "type": "reference",
15748
- "id": 1382,
15813
+ "id": 1386,
15749
15814
  "name": "Log"
15750
15815
  }
15751
15816
  }
15752
15817
  ]
15753
15818
  },
15754
15819
  {
15755
- "id": 1387,
15820
+ "id": 1391,
15756
15821
  "name": "devMode",
15757
15822
  "kind": 1024,
15758
15823
  "kindString": "Property",
@@ -15773,7 +15838,7 @@
15773
15838
  }
15774
15839
  },
15775
15840
  {
15776
- "id": 1386,
15841
+ "id": 1390,
15777
15842
  "name": "rollbar",
15778
15843
  "kind": 1024,
15779
15844
  "kindString": "Property",
@@ -15796,7 +15861,7 @@
15796
15861
  }
15797
15862
  },
15798
15863
  {
15799
- "id": 1397,
15864
+ "id": 1401,
15800
15865
  "name": "debug",
15801
15866
  "kind": 2048,
15802
15867
  "kindString": "Method",
@@ -15812,14 +15877,14 @@
15812
15877
  ],
15813
15878
  "signatures": [
15814
15879
  {
15815
- "id": 1398,
15880
+ "id": 1402,
15816
15881
  "name": "debug",
15817
15882
  "kind": 4096,
15818
15883
  "kindString": "Call signature",
15819
15884
  "flags": {},
15820
15885
  "parameters": [
15821
15886
  {
15822
- "id": 1399,
15887
+ "id": 1403,
15823
15888
  "name": "params",
15824
15889
  "kind": 32768,
15825
15890
  "kindString": "Parameter",
@@ -15843,7 +15908,7 @@
15843
15908
  ]
15844
15909
  },
15845
15910
  {
15846
- "id": 1388,
15911
+ "id": 1392,
15847
15912
  "name": "error",
15848
15913
  "kind": 2048,
15849
15914
  "kindString": "Method",
@@ -15859,14 +15924,14 @@
15859
15924
  ],
15860
15925
  "signatures": [
15861
15926
  {
15862
- "id": 1389,
15927
+ "id": 1393,
15863
15928
  "name": "error",
15864
15929
  "kind": 4096,
15865
15930
  "kindString": "Call signature",
15866
15931
  "flags": {},
15867
15932
  "parameters": [
15868
15933
  {
15869
- "id": 1390,
15934
+ "id": 1394,
15870
15935
  "name": "params",
15871
15936
  "kind": 32768,
15872
15937
  "kindString": "Parameter",
@@ -15890,7 +15955,7 @@
15890
15955
  ]
15891
15956
  },
15892
15957
  {
15893
- "id": 1394,
15958
+ "id": 1398,
15894
15959
  "name": "info",
15895
15960
  "kind": 2048,
15896
15961
  "kindString": "Method",
@@ -15906,14 +15971,14 @@
15906
15971
  ],
15907
15972
  "signatures": [
15908
15973
  {
15909
- "id": 1395,
15974
+ "id": 1399,
15910
15975
  "name": "info",
15911
15976
  "kind": 4096,
15912
15977
  "kindString": "Call signature",
15913
15978
  "flags": {},
15914
15979
  "parameters": [
15915
15980
  {
15916
- "id": 1396,
15981
+ "id": 1400,
15917
15982
  "name": "params",
15918
15983
  "kind": 32768,
15919
15984
  "kindString": "Parameter",
@@ -15937,7 +16002,7 @@
15937
16002
  ]
15938
16003
  },
15939
16004
  {
15940
- "id": 1400,
16005
+ "id": 1404,
15941
16006
  "name": "log",
15942
16007
  "kind": 2048,
15943
16008
  "kindString": "Method",
@@ -15953,14 +16018,14 @@
15953
16018
  ],
15954
16019
  "signatures": [
15955
16020
  {
15956
- "id": 1401,
16021
+ "id": 1405,
15957
16022
  "name": "log",
15958
16023
  "kind": 4096,
15959
16024
  "kindString": "Call signature",
15960
16025
  "flags": {},
15961
16026
  "parameters": [
15962
16027
  {
15963
- "id": 1402,
16028
+ "id": 1406,
15964
16029
  "name": "params",
15965
16030
  "kind": 32768,
15966
16031
  "kindString": "Parameter",
@@ -15984,7 +16049,7 @@
15984
16049
  ]
15985
16050
  },
15986
16051
  {
15987
- "id": 1391,
16052
+ "id": 1395,
15988
16053
  "name": "warn",
15989
16054
  "kind": 2048,
15990
16055
  "kindString": "Method",
@@ -16000,14 +16065,14 @@
16000
16065
  ],
16001
16066
  "signatures": [
16002
16067
  {
16003
- "id": 1392,
16068
+ "id": 1396,
16004
16069
  "name": "warn",
16005
16070
  "kind": 4096,
16006
16071
  "kindString": "Call signature",
16007
16072
  "flags": {},
16008
16073
  "parameters": [
16009
16074
  {
16010
- "id": 1393,
16075
+ "id": 1397,
16011
16076
  "name": "params",
16012
16077
  "kind": 32768,
16013
16078
  "kindString": "Parameter",
@@ -16036,26 +16101,26 @@
16036
16101
  "title": "Constructors",
16037
16102
  "kind": 512,
16038
16103
  "children": [
16039
- 1383
16104
+ 1387
16040
16105
  ]
16041
16106
  },
16042
16107
  {
16043
16108
  "title": "Properties",
16044
16109
  "kind": 1024,
16045
16110
  "children": [
16046
- 1387,
16047
- 1386
16111
+ 1391,
16112
+ 1390
16048
16113
  ]
16049
16114
  },
16050
16115
  {
16051
16116
  "title": "Methods",
16052
16117
  "kind": 2048,
16053
16118
  "children": [
16054
- 1397,
16055
- 1388,
16056
- 1394,
16057
- 1400,
16058
- 1391
16119
+ 1401,
16120
+ 1392,
16121
+ 1398,
16122
+ 1404,
16123
+ 1395
16059
16124
  ]
16060
16125
  }
16061
16126
  ],
@@ -16251,14 +16316,14 @@
16251
16316
  ]
16252
16317
  },
16253
16318
  {
16254
- "id": 1377,
16319
+ "id": 1381,
16255
16320
  "name": "LogConfig",
16256
16321
  "kind": 256,
16257
16322
  "kindString": "Interface",
16258
16323
  "flags": {},
16259
16324
  "children": [
16260
16325
  {
16261
- "id": 1378,
16326
+ "id": 1382,
16262
16327
  "name": "commitHash",
16263
16328
  "kind": 1024,
16264
16329
  "kindString": "Property",
@@ -16278,7 +16343,7 @@
16278
16343
  }
16279
16344
  },
16280
16345
  {
16281
- "id": 1379,
16346
+ "id": 1383,
16282
16347
  "name": "devMode",
16283
16348
  "kind": 1024,
16284
16349
  "kindString": "Property",
@@ -16298,7 +16363,7 @@
16298
16363
  }
16299
16364
  },
16300
16365
  {
16301
- "id": 1381,
16366
+ "id": 1385,
16302
16367
  "name": "payload",
16303
16368
  "kind": 1024,
16304
16369
  "kindString": "Property",
@@ -16330,7 +16395,7 @@
16330
16395
  }
16331
16396
  },
16332
16397
  {
16333
- "id": 1380,
16398
+ "id": 1384,
16334
16399
  "name": "rollbarToken",
16335
16400
  "kind": 1024,
16336
16401
  "kindString": "Property",
@@ -16355,10 +16420,10 @@
16355
16420
  "title": "Properties",
16356
16421
  "kind": 1024,
16357
16422
  "children": [
16358
- 1378,
16359
- 1379,
16360
- 1381,
16361
- 1380
16423
+ 1382,
16424
+ 1383,
16425
+ 1385,
16426
+ 1384
16362
16427
  ]
16363
16428
  }
16364
16429
  ],
@@ -16429,7 +16494,7 @@
16429
16494
  },
16430
16495
  "inheritedFrom": {
16431
16496
  "type": "reference",
16432
- "name": "Uint8Array.__@toStringTag@392"
16497
+ "name": "Uint8Array.__@toStringTag@395"
16433
16498
  }
16434
16499
  },
16435
16500
  {
@@ -24349,7 +24414,7 @@
24349
24414
  ]
24350
24415
  },
24351
24416
  {
24352
- "id": 1403,
24417
+ "id": 1407,
24353
24418
  "name": "Override",
24354
24419
  "kind": 4194304,
24355
24420
  "kindString": "Type alias",
@@ -24363,14 +24428,14 @@
24363
24428
  ],
24364
24429
  "typeParameter": [
24365
24430
  {
24366
- "id": 1404,
24431
+ "id": 1408,
24367
24432
  "name": "T1",
24368
24433
  "kind": 131072,
24369
24434
  "kindString": "Type parameter",
24370
24435
  "flags": {}
24371
24436
  },
24372
24437
  {
24373
- "id": 1405,
24438
+ "id": 1409,
24374
24439
  "name": "T2",
24375
24440
  "kind": 131072,
24376
24441
  "kindString": "Type parameter",
@@ -24385,7 +24450,7 @@
24385
24450
  "typeArguments": [
24386
24451
  {
24387
24452
  "type": "reference",
24388
- "id": 1404,
24453
+ "id": 1408,
24389
24454
  "name": "T1"
24390
24455
  },
24391
24456
  {
@@ -24393,7 +24458,7 @@
24393
24458
  "operator": "keyof",
24394
24459
  "target": {
24395
24460
  "type": "reference",
24396
- "id": 1405,
24461
+ "id": 1409,
24397
24462
  "name": "T2"
24398
24463
  }
24399
24464
  }
@@ -24404,7 +24469,7 @@
24404
24469
  },
24405
24470
  {
24406
24471
  "type": "reference",
24407
- "id": 1405,
24472
+ "id": 1409,
24408
24473
  "name": "T2"
24409
24474
  }
24410
24475
  ]
@@ -24758,7 +24823,7 @@
24758
24823
  ]
24759
24824
  },
24760
24825
  {
24761
- "id": 1370,
24826
+ "id": 1374,
24762
24827
  "name": "forget",
24763
24828
  "kind": 64,
24764
24829
  "kindString": "Function",
@@ -24766,20 +24831,20 @@
24766
24831
  "sources": [
24767
24832
  {
24768
24833
  "fileName": "src/shared/forget.ts",
24769
- "line": 59,
24834
+ "line": 73,
24770
24835
  "character": 13
24771
24836
  }
24772
24837
  ],
24773
24838
  "signatures": [
24774
24839
  {
24775
- "id": 1371,
24840
+ "id": 1375,
24776
24841
  "name": "forget",
24777
24842
  "kind": 4096,
24778
24843
  "kindString": "Call signature",
24779
24844
  "flags": {},
24780
24845
  "parameters": [
24781
24846
  {
24782
- "id": 1372,
24847
+ "id": 1376,
24783
24848
  "name": "promise",
24784
24849
  "kind": 32768,
24785
24850
  "kindString": "Parameter",
@@ -24798,7 +24863,7 @@
24798
24863
  }
24799
24864
  },
24800
24865
  {
24801
- "id": 1373,
24866
+ "id": 1377,
24802
24867
  "name": "timeout",
24803
24868
  "kind": 32768,
24804
24869
  "kindString": "Parameter",
@@ -24820,7 +24885,7 @@
24820
24885
  ]
24821
24886
  },
24822
24887
  {
24823
- "id": 1374,
24888
+ "id": 1378,
24824
24889
  "name": "getApiStage",
24825
24890
  "kind": 64,
24826
24891
  "kindString": "Function",
@@ -24834,14 +24899,14 @@
24834
24899
  ],
24835
24900
  "signatures": [
24836
24901
  {
24837
- "id": 1375,
24902
+ "id": 1379,
24838
24903
  "name": "getApiStage",
24839
24904
  "kind": 4096,
24840
24905
  "kindString": "Call signature",
24841
24906
  "flags": {},
24842
24907
  "parameters": [
24843
24908
  {
24844
- "id": 1376,
24909
+ "id": 1380,
24845
24910
  "name": "hostname",
24846
24911
  "kind": 32768,
24847
24912
  "kindString": "Parameter",
@@ -24968,7 +25033,7 @@
24968
25033
  1,
24969
25034
  1321,
24970
25035
  1360,
24971
- 1382
25036
+ 1386
24972
25037
  ]
24973
25038
  },
24974
25039
  {
@@ -24977,7 +25042,7 @@
24977
25042
  "children": [
24978
25043
  968,
24979
25044
  1356,
24980
- 1377,
25045
+ 1381,
24981
25046
  492
24982
25047
  ]
24983
25048
  },
@@ -24985,7 +25050,7 @@
24985
25050
  "title": "Type Aliases",
24986
25051
  "kind": 4194304,
24987
25052
  "children": [
24988
- 1403
25053
+ 1407
24989
25054
  ]
24990
25055
  },
24991
25056
  {
@@ -25005,8 +25070,8 @@
25005
25070
  1309,
25006
25071
  1312,
25007
25072
  1352,
25008
- 1370,
25009
25073
  1374,
25074
+ 1378,
25010
25075
  1316
25011
25076
  ]
25012
25077
  }
@@ -5,6 +5,7 @@ export interface ForgetTimeoutConfig {
5
5
  export declare class ForgetPromise {
6
6
  static get active(): boolean;
7
7
  static activeForgets: number;
8
+ static awaitInactive(interval?: number, timeout?: number): Promise<number>;
8
9
  static forget(promise: Promise<unknown>, timeout?: ForgetTimeoutConfig): void;
9
10
  }
10
11
  export declare const forget: (promise: Promise<unknown>, timeout?: ForgetTimeoutConfig) => void;
@@ -3,6 +3,19 @@ export class ForgetPromise {
3
3
  static get active() {
4
4
  return this.activeForgets > 0;
5
5
  }
6
+ static async awaitInactive(interval = 100, timeout) {
7
+ let timeoutRemaining = timeout;
8
+ while (this.active) {
9
+ await delay(interval);
10
+ if (timeoutRemaining !== undefined) {
11
+ timeoutRemaining -= interval;
12
+ if (timeoutRemaining <= 0) {
13
+ return this.activeForgets;
14
+ }
15
+ }
16
+ }
17
+ return 0;
18
+ }
6
19
  //used to explicitly launch an async function (or Promise) with awaiting it
7
20
  static forget(promise, timeout) {
8
21
  let completed = false;
@@ -1 +1 @@
1
- {"version":3,"file":"forget.js","sourceRoot":"","sources":["../../../src/shared/forget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAO/B,MAAM,OAAO,aAAa;IACxB,MAAM,KAAK,MAAM;QACf,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;IAC/B,CAAC;IAID,2EAA2E;IAC3E,MAAM,CAAC,MAAM,CAAC,OAAyB,EAAE,OAA6B;QACpE,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,aAAa,EAAE,CAAA;QAEpB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;YAChC,MAAM,OAAO;iBACV,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC,CAAA;QAEnC,2CAA2C;QAC3C,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;gBAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAA;oBAC/E,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;iBACnB;YACH,CAAC,CAAA;YACD,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;SAC7B;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAElC,GAAG;aACA,IAAI,CAAC,GAAG,EAAE;YACT,OAAM;QACR,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,OAAM;QACR,CAAC,CAAC,CAAA;IACN,CAAC;;AA1CM,2BAAa,GAAG,CAAC,CAAA;AA6C1B,2EAA2E;AAC3E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAyB,EAAE,OAA6B,EAAE,EAAE;IACjF,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC,CAAA"}
1
+ {"version":3,"file":"forget.js","sourceRoot":"","sources":["../../../src/shared/forget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAO/B,MAAM,OAAO,aAAa;IACxB,MAAM,KAAK,MAAM;QACf,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;IAC/B,CAAC;IAID,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,GAAG,GAAG,EAAE,OAAgB;QACzD,IAAI,gBAAgB,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAC,MAAM,EAAE;YAClB,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAA;YACrB,IAAI,gBAAgB,KAAK,SAAS,EAAE;gBAClC,gBAAgB,IAAI,QAAQ,CAAA;gBAC5B,IAAI,gBAAgB,IAAI,CAAC,EAAE;oBACzB,OAAO,IAAI,CAAC,aAAa,CAAA;iBAC1B;aACF;SACF;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,2EAA2E;IAC3E,MAAM,CAAC,MAAM,CAAC,OAAyB,EAAE,OAA6B;QACpE,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,aAAa,EAAE,CAAA;QAEpB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;YAChC,MAAM,OAAO;iBACV,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC,CAAA;QAEnC,2CAA2C;QAC3C,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;gBAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAA;oBAC/E,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;iBACnB;YACH,CAAC,CAAA;YACD,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;SAC7B;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAElC,GAAG;aACA,IAAI,CAAC,GAAG,EAAE;YACT,OAAM;QACR,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,OAAM;QACR,CAAC,CAAC,CAAA;IACN,CAAC;;AAxDM,2BAAa,GAAG,CAAC,CAAA;AA2D1B,2EAA2E;AAC3E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAyB,EAAE,OAA6B,EAAE,EAAE;IACjF,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC,CAAA"}
package/package.json CHANGED
@@ -81,6 +81,6 @@
81
81
  "test": "jest"
82
82
  },
83
83
  "sideEffects": false,
84
- "version": "2.5.8",
84
+ "version": "2.5.9",
85
85
  "packageManager": "yarn@3.1.1"
86
86
  }
@@ -15,11 +15,23 @@ describe('forget', () => {
15
15
  await delay(300)
16
16
  expect(cancelled).toBeTruthy()
17
17
  })
18
- test('forget count', async () => {
19
- let cancelled = false
18
+ test('forget active', async () => {
20
19
  forget(delay(300))
21
20
  expect(ForgetPromise.active).toBeTruthy()
22
21
  await delay(600)
23
22
  expect(ForgetPromise.active).toBeFalsy()
24
23
  })
24
+ test('forget active async', async () => {
25
+ forget(delay(1000))
26
+ await ForgetPromise.awaitInactive()
27
+ expect(ForgetPromise.active).toBeFalsy()
28
+ })
29
+ test('forget active async w/timeout', async () => {
30
+ forget(delay(300))
31
+ const activeCount = await ForgetPromise.awaitInactive(100, 200)
32
+ expect(activeCount).toBe(1)
33
+ expect(ForgetPromise.active).toBeTruthy()
34
+ await ForgetPromise.awaitInactive()
35
+ expect(ForgetPromise.active).toBeFalsy()
36
+ })
25
37
  })
@@ -12,6 +12,20 @@ export class ForgetPromise {
12
12
 
13
13
  static activeForgets = 0
14
14
 
15
+ static async awaitInactive(interval = 100, timeout?: number) {
16
+ let timeoutRemaining = timeout
17
+ while (this.active) {
18
+ await delay(interval)
19
+ if (timeoutRemaining !== undefined) {
20
+ timeoutRemaining -= interval
21
+ if (timeoutRemaining <= 0) {
22
+ return this.activeForgets
23
+ }
24
+ }
25
+ }
26
+ return 0
27
+ }
28
+
15
29
  //used to explicitly launch an async function (or Promise) with awaiting it
16
30
  static forget(promise: Promise<unknown>, timeout?: ForgetTimeoutConfig) {
17
31
  let completed = false