@xylabs/events 5.0.33 → 5.0.35

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/events",
3
- "version": "5.0.33",
3
+ "version": "5.0.35",
4
4
  "description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -32,22 +32,25 @@
32
32
  "types": "./dist/neutral/index.d.ts",
33
33
  "files": [
34
34
  "dist",
35
- "src"
35
+ "src",
36
+ "!**/*.bench.*",
37
+ "!**/*.spec.*",
38
+ "!**/*.test.*"
36
39
  ],
37
40
  "dependencies": {
38
- "@xylabs/assert": "~5.0.33",
39
- "@xylabs/base": "~5.0.33",
40
- "@xylabs/error": "~5.0.33",
41
- "@xylabs/forget": "~5.0.33",
42
- "@xylabs/object": "~5.0.33",
43
- "@xylabs/promise": "~5.0.33",
44
- "@xylabs/typeof": "~5.0.33"
41
+ "@xylabs/assert": "~5.0.35",
42
+ "@xylabs/base": "~5.0.35",
43
+ "@xylabs/error": "~5.0.35",
44
+ "@xylabs/forget": "~5.0.35",
45
+ "@xylabs/object": "~5.0.35",
46
+ "@xylabs/promise": "~5.0.35",
47
+ "@xylabs/typeof": "~5.0.35"
45
48
  },
46
49
  "devDependencies": {
47
- "@xylabs/delay": "~5.0.33",
50
+ "@xylabs/delay": "~5.0.35",
48
51
  "@xylabs/ts-scripts-yarn3": "~7.2.8",
49
52
  "@xylabs/tsconfig": "~7.2.8",
50
- "@xylabs/vitest-extended": "~5.0.33",
53
+ "@xylabs/vitest-extended": "~5.0.35",
51
54
  "typescript": "~5.9.3",
52
55
  "vitest": "~4.0.9"
53
56
  },
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Events.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Events.spec.d.ts","sourceRoot":"","sources":["../../../../src/Events/spec/Events.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=GenericEvents.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenericEvents.spec.d.ts","sourceRoot":"","sources":["../../../../src/Events/spec/GenericEvents.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,64 +0,0 @@
1
- import '@xylabs/vitest-extended'
2
-
3
- import { delay } from '@xylabs/delay'
4
- import type { Promisable } from '@xylabs/promise'
5
- import {
6
- describe, expect, it,
7
- } from 'vitest'
8
-
9
- import { Events } from '../Events.ts'
10
-
11
- type TestEvents = {
12
- test: { test: boolean }
13
- testNumber: { testNumber: number }
14
- }
15
-
16
- const waitFor = async (check: () => boolean, timeout = 5000) => {
17
- const startTime = Date.now()
18
- while (!check()) {
19
- if (Date.now() - startTime > timeout) {
20
- return false
21
- }
22
- await delay(100)
23
- }
24
- return true
25
- }
26
-
27
- const callbackTest = async (fn: (complete: () => void) => Promisable<void>, timeout?: number) => {
28
- let completed = false
29
- await fn(() => {
30
- completed = true
31
- })
32
- expect(await waitFor(() => completed, timeout)).toBeTrue()
33
- }
34
-
35
- /**
36
- * @group module
37
- */
38
-
39
- describe('Events', () => {
40
- const sut = new Events<TestEvents>()
41
- it('should instantiate', () => {
42
- expect(sut).toBeTruthy()
43
- })
44
-
45
- it('should emit test event', async () => {
46
- await callbackTest(async (complete) => {
47
- sut.on('test', ({ test }) => {
48
- expect(test).toBeTrue()
49
- complete()
50
- })
51
- await sut.emit('test', { test: true })
52
- })
53
- })
54
-
55
- it('should emit testNumber event', async () => {
56
- await callbackTest(async (complete) => {
57
- sut.on('testNumber', ({ testNumber }) => {
58
- expect(testNumber).toBeNumber()
59
- complete()
60
- })
61
- await sut.emit('testNumber', { testNumber: 1 })
62
- })
63
- })
64
- })
@@ -1,72 +0,0 @@
1
- import '@xylabs/vitest-extended'
2
-
3
- import { delay } from '@xylabs/delay'
4
- import type { Promisable } from '@xylabs/promise'
5
- import {
6
- describe, expect, it,
7
- } from 'vitest'
8
-
9
- import type { EventData } from '../../model/index.ts'
10
- import { Events } from '../Events.ts'
11
-
12
- type ParentTestEvents = {
13
- parentTest: { test: boolean }
14
- parentTestNumber: { testNumber: number }
15
- }
16
-
17
- type TestEvents<TEvents extends EventData> = {
18
- test: { test: boolean }
19
- testNumber: { testNumber: number }
20
- } & TEvents
21
-
22
- type AllTestEvents = TestEvents<ParentTestEvents>
23
-
24
- const waitFor = async (check: () => boolean, timeout = 5000) => {
25
- const startTime = Date.now()
26
- while (!check()) {
27
- if (Date.now() - startTime > timeout) {
28
- return false
29
- }
30
- await delay(100)
31
- }
32
- return true
33
- }
34
-
35
- const callbackTest = async (fn: (complete: () => void) => Promisable<void>, timeout?: number) => {
36
- let completed = false
37
- await fn(() => {
38
- completed = true
39
- })
40
- expect(await waitFor(() => completed, timeout)).toBeTrue()
41
- }
42
-
43
- /**
44
- * @group module
45
- */
46
-
47
- describe('Events', () => {
48
- const sut = new Events<AllTestEvents>()
49
- it('should instantiate', () => {
50
- expect(sut).toBeTruthy()
51
- })
52
-
53
- it('should emit test event', async () => {
54
- await callbackTest(async (complete) => {
55
- sut.on('test', ({ test }) => {
56
- expect(test).toBeTrue()
57
- complete()
58
- })
59
- await sut.emit('test', { test: true })
60
- })
61
- })
62
-
63
- it('should emit testNumber event', async () => {
64
- await callbackTest(async (complete) => {
65
- sut.on('testNumber', ({ testNumber }) => {
66
- expect(testNumber).toBeNumber()
67
- complete()
68
- })
69
- await sut.emit('testNumber', { testNumber: 1 })
70
- })
71
- })
72
- })