@xylabs/sdk-js 2.6.3 → 2.6.6

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.
Files changed (62) hide show
  1. package/README.md +2 -1
  2. package/cspell.json +12 -0
  3. package/dist/cjs/index.d.ts +3 -0
  4. package/dist/cjs/index.d.ts.map +1 -1
  5. package/dist/cjs/index.js +3 -0
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/shared/EthAddress.d.ts.map +1 -1
  8. package/dist/cjs/shared/EthAddress.js +2 -2
  9. package/dist/cjs/shared/EthAddress.js.map +1 -1
  10. package/dist/cjs/shared/index.d.ts +0 -3
  11. package/dist/cjs/shared/index.d.ts.map +1 -1
  12. package/dist/cjs/shared/index.js +0 -3
  13. package/dist/cjs/shared/index.js.map +1 -1
  14. package/dist/docs.json +338 -6740
  15. package/dist/esm/index.d.ts +3 -0
  16. package/dist/esm/index.d.ts.map +1 -1
  17. package/dist/esm/index.js +3 -0
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/shared/EthAddress.d.ts.map +1 -1
  20. package/dist/esm/shared/EthAddress.js +1 -1
  21. package/dist/esm/shared/EthAddress.js.map +1 -1
  22. package/dist/esm/shared/index.d.ts +0 -3
  23. package/dist/esm/shared/index.d.ts.map +1 -1
  24. package/dist/esm/shared/index.js +0 -3
  25. package/dist/esm/shared/index.js.map +1 -1
  26. package/jest.config.cjs +3 -8
  27. package/package.json +8 -40
  28. package/src/index.ts +3 -0
  29. package/src/shared/EthAddress.ts +2 -1
  30. package/src/shared/Log.spec.ts +4 -5
  31. package/src/shared/exists.spec.ts +4 -4
  32. package/src/shared/index.ts +0 -3
  33. package/babel.config.json +0 -5
  34. package/dist/cjs/shared/assertEx.d.ts +0 -12
  35. package/dist/cjs/shared/assertEx.d.ts.map +0 -1
  36. package/dist/cjs/shared/assertEx.js +0 -24
  37. package/dist/cjs/shared/assertEx.js.map +0 -1
  38. package/dist/cjs/shared/delay.d.ts +0 -2
  39. package/dist/cjs/shared/delay.d.ts.map +0 -1
  40. package/dist/cjs/shared/delay.js +0 -8
  41. package/dist/cjs/shared/delay.js.map +0 -1
  42. package/dist/cjs/shared/forget.d.ts +0 -12
  43. package/dist/cjs/shared/forget.d.ts.map +0 -1
  44. package/dist/cjs/shared/forget.js +0 -70
  45. package/dist/cjs/shared/forget.js.map +0 -1
  46. package/dist/esm/shared/assertEx.d.ts +0 -12
  47. package/dist/esm/shared/assertEx.d.ts.map +0 -1
  48. package/dist/esm/shared/assertEx.js +0 -21
  49. package/dist/esm/shared/assertEx.js.map +0 -1
  50. package/dist/esm/shared/delay.d.ts +0 -2
  51. package/dist/esm/shared/delay.d.ts.map +0 -1
  52. package/dist/esm/shared/delay.js +0 -4
  53. package/dist/esm/shared/delay.js.map +0 -1
  54. package/dist/esm/shared/forget.d.ts +0 -12
  55. package/dist/esm/shared/forget.d.ts.map +0 -1
  56. package/dist/esm/shared/forget.js +0 -61
  57. package/dist/esm/shared/forget.js.map +0 -1
  58. package/src/shared/assertEx.ts +0 -20
  59. package/src/shared/delay.spec.ts +0 -12
  60. package/src/shared/delay.ts +0 -3
  61. package/src/shared/forget.spec.ts +0 -37
  62. package/src/shared/forget.ts +0 -75
@@ -1,12 +0,0 @@
1
- import { delay } from './delay'
2
-
3
- describe('delay', () => {
4
- test('checking happy path', async () => {
5
- const testInterval = 500
6
- const startTime = Date.now()
7
- await delay(testInterval)
8
- const passedTime = Date.now() - startTime
9
- expect(passedTime).toBeGreaterThanOrEqual(testInterval)
10
- expect(passedTime).toBeLessThan(testInterval * 1.05)
11
- })
12
- })
@@ -1,3 +0,0 @@
1
- export const delay = (ms: number) => {
2
- return new Promise((resolve) => setTimeout(resolve, ms))
3
- }
@@ -1,37 +0,0 @@
1
- import { delay } from './delay'
2
- import { forget, ForgetPromise } from './forget'
3
-
4
-
5
- describe('forget', () => {
6
- test('checking happy path', async () => {
7
- let cancelled = false
8
- forget(delay(100), {delay: 200, cancel: () => cancelled = true })
9
- await delay(300)
10
- expect(cancelled).toBeFalsy()
11
- })
12
- test('checking unhappy path', async () => {
13
- let cancelled = false
14
- forget(delay(200), {delay: 100, cancel: () => cancelled = true })
15
- await delay(300)
16
- expect(cancelled).toBeTruthy()
17
- })
18
- test('forget active', async () => {
19
- forget(delay(300))
20
- expect(ForgetPromise.active).toBeTruthy()
21
- await delay(600)
22
- expect(ForgetPromise.active).toBeFalsy()
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
- })
37
- })
@@ -1,75 +0,0 @@
1
- import { delay } from './delay'
2
-
3
- export interface ForgetTimeoutConfig {
4
- delay: number
5
- cancel: () => void
6
- }
7
-
8
- export class ForgetPromise {
9
- static get active() {
10
- return this.activeForgets > 0
11
- }
12
-
13
- static activeForgets = 0
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
-
29
- //used to explicitly launch an async function (or Promise) with awaiting it
30
- static forget(promise: Promise<unknown>, timeout?: ForgetTimeoutConfig) {
31
- let completed = false
32
- this.activeForgets++
33
-
34
- const promiseWrapper = async () => {
35
- await promise
36
- .then(() => {
37
- this.activeForgets--
38
- completed = true
39
- })
40
- .catch(() => {
41
- this.activeForgets--
42
- completed = true
43
- })
44
- }
45
-
46
- const promises = [promiseWrapper()]
47
-
48
- //if there is a timeout, add it to the race
49
- if (timeout) {
50
- const timeoutFunc = async () => {
51
- await delay(timeout.delay)
52
- if (!completed) {
53
- console.log(`forget promise timeout out after ${timeout.delay}ms [Cancelling]`)
54
- timeout.cancel?.()
55
- }
56
- }
57
- promises.push(timeoutFunc())
58
- }
59
-
60
- const all = Promise.race(promises)
61
-
62
- all
63
- .then(() => {
64
- return
65
- })
66
- .catch(() => {
67
- return
68
- })
69
- }
70
- }
71
-
72
- //used to explicitly launch an async function (or Promise) with awaiting it
73
- export const forget = (promise: Promise<unknown>, timeout?: ForgetTimeoutConfig) => {
74
- ForgetPromise.forget(promise, timeout)
75
- }