@xyo-network/module-resolver 5.1.22 → 5.1.23

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": "@xyo-network/module-resolver",
3
- "version": "5.1.22",
3
+ "version": "5.1.23",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -30,27 +30,30 @@
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "files": [
32
32
  "dist",
33
- "src"
33
+ "src",
34
+ "!**/*.bench.*",
35
+ "!**/*.spec.*",
36
+ "!**/*.test.*"
34
37
  ],
35
38
  "dependencies": {
36
- "@xylabs/assert": "~5.0.24",
37
- "@xylabs/base": "~5.0.24",
38
- "@xylabs/exists": "~5.0.24",
39
- "@xylabs/hex": "~5.0.24",
40
- "@xylabs/object": "~5.0.24",
41
- "@xylabs/promise": "~5.0.24",
42
- "@xylabs/typeof": "~5.0.24",
43
- "@xyo-network/diviner-model": "~5.1.22",
44
- "@xyo-network/diviner-payload-model": "~5.1.22",
45
- "@xyo-network/module-model": "~5.1.22",
39
+ "@xylabs/assert": "~5.0.33",
40
+ "@xylabs/base": "~5.0.33",
41
+ "@xylabs/exists": "~5.0.33",
42
+ "@xylabs/hex": "~5.0.33",
43
+ "@xylabs/object": "~5.0.33",
44
+ "@xylabs/promise": "~5.0.33",
45
+ "@xylabs/typeof": "~5.0.33",
46
+ "@xyo-network/diviner-model": "~5.1.23",
47
+ "@xyo-network/diviner-payload-model": "~5.1.23",
48
+ "@xyo-network/module-model": "~5.1.23",
46
49
  "lru-cache": "~11.2.2"
47
50
  },
48
51
  "devDependencies": {
49
52
  "@xylabs/ts-scripts-yarn3": "~7.2.8",
50
53
  "@xylabs/tsconfig": "~7.2.8",
51
- "@xylabs/vitest-extended": "~5.0.24",
54
+ "@xylabs/vitest-extended": "~5.0.33",
52
55
  "typescript": "~5.9.3",
53
- "vitest": "~4.0.8"
56
+ "vitest": "~4.0.9"
54
57
  },
55
58
  "publishConfig": {
56
59
  "access": "public"
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=CompositeModuleResolver.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompositeModuleResolver.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/CompositeModuleResolver.spec.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=SimpleModuleResolver.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SimpleModuleResolver.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/SimpleModuleResolver.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,126 +0,0 @@
1
- import { asAddress } from '@xylabs/hex'
2
- import type { ModuleInstance } from '@xyo-network/module-model'
3
- import { ModuleConfigSchema, ModuleStateQuerySchema } from '@xyo-network/module-model'
4
- import type { MockedObject } from 'vitest'
5
- import {
6
- beforeEach, describe, expect,
7
- it,
8
- vi,
9
- } from 'vitest'
10
-
11
- import { CompositeModuleResolver } from '../CompositeModuleResolver.ts'
12
-
13
- const moduleAName = 'moduleA'
14
- const moduleBName = 'moduleB'
15
- const moduleCName = 'moduleC'
16
-
17
- /**
18
- * @group module
19
- */
20
-
21
- describe('CompositeModuleResolver', () => {
22
- describe('with multiple resolvers', () => {
23
- let moduleA: MockedObject<ModuleInstance>
24
- let moduleB: MockedObject<ModuleInstance>
25
- let moduleC: MockedObject<ModuleInstance>
26
- let resolverA: CompositeModuleResolver
27
- let resolverB: CompositeModuleResolver
28
-
29
- let sut: CompositeModuleResolver
30
- beforeEach(() => {
31
- moduleA = vi.mocked<Partial<ModuleInstance>>({
32
- address: asAddress('b0e75b722e6cb03bbae3f488ed1e5a82bd7c381a', true),
33
- config: { name: moduleAName, schema: ModuleConfigSchema },
34
- modName: moduleAName,
35
- manifest: vi.fn(),
36
- state: vi.fn(),
37
- queries: [ModuleStateQuerySchema],
38
- query: vi.fn(),
39
- }, true) as MockedObject<ModuleInstance>
40
- moduleB = vi.mocked<Partial<ModuleInstance>>({
41
- address: asAddress('b0e75b722e6cb03bbae3f488ed1e5a82bd7c381b', true),
42
- config: { name: moduleBName, schema: ModuleConfigSchema },
43
- modName: moduleBName,
44
- manifest: vi.fn(),
45
- state: vi.fn(),
46
- queries: [ModuleStateQuerySchema],
47
- query: vi.fn(),
48
- }, true) as MockedObject<ModuleInstance>
49
- moduleC = vi.mocked<Partial<ModuleInstance>>({
50
- address: asAddress('b0e75b722e6cb03bbae3f488ed1e5a82bd7c381c', true),
51
- config: { name: moduleCName, schema: ModuleConfigSchema },
52
- modName: moduleCName,
53
- manifest: vi.fn(),
54
- state: vi.fn(),
55
- queries: [ModuleStateQuerySchema],
56
- query: vi.fn(),
57
- }, true) as MockedObject<ModuleInstance>
58
- resolverA = new CompositeModuleResolver({ root: moduleB })
59
- resolverA.add(moduleA)
60
- resolverA.add(moduleC)
61
- resolverB = new CompositeModuleResolver({ root: moduleA })
62
- resolverB.add(moduleB)
63
- resolverB.add(moduleC)
64
-
65
- sut = new CompositeModuleResolver({ root: moduleC }).addResolver(resolverA).addResolver(resolverB)
66
- })
67
- describe('add', () => {
68
- it('adds module to resolvers', async () => {
69
- const address = asAddress('b0e75b722e6cb03bbae3f488ed1e5a82bd7c381d', true)
70
- const name = 'mod'
71
- const mod = vi.mocked<Partial<ModuleInstance>>({
72
- address,
73
- config: { name, schema: ModuleConfigSchema },
74
- manifest: vi.fn(),
75
- modName: name,
76
- queries: [ModuleStateQuerySchema],
77
- query: vi.fn(),
78
- state: vi.fn(),
79
- }, true) as MockedObject<ModuleInstance>
80
- expect(sut.add(mod)).toEqual(sut)
81
- expect(await sut.resolve(address)).toBeDefined()
82
- expect((await sut.resolve(name))).toBeDefined()
83
- expect((await resolverA.resolve(address))).toBeUndefined()
84
- expect((await resolverA.resolve(name))).toBeUndefined()
85
- expect((await resolverB.resolve(address))).toBeUndefined()
86
- expect((await resolverB.resolve(name))).toBeUndefined()
87
- })
88
- })
89
- describe('remove', () => {
90
- it('removes module from resolvers', async () => {
91
- const address = moduleC.address
92
- const name = moduleCName
93
-
94
- expect(resolverA.remove(address)).toEqual(resolverA)
95
- expect((await sut.resolve(address))).toBeDefined()
96
- expect((await sut.resolve(name))).toBeDefined()
97
- expect((await resolverA.resolve(address))).toBeUndefined()
98
- expect((await resolverA.resolve(name))).toBeUndefined()
99
- expect((await resolverB.resolve(address))).toBeDefined()
100
- expect((await resolverB.resolve(name))).toBeDefined()
101
-
102
- expect(resolverB.remove(address)).toEqual(resolverB)
103
- expect((await sut.resolve(address))).toBeDefined()
104
- expect((await sut.resolve(name))).toBeDefined()
105
- expect((await resolverA.resolve(address))).toBeUndefined()
106
- expect((await resolverA.resolve(name))).toBeUndefined()
107
- expect((await resolverB.resolve(address))).toBeDefined()
108
- expect((await resolverB.resolve(name))).toBeDefined()
109
- })
110
- })
111
- describe('resolve', () => {
112
- it('resolves module in first resolver', async () => {
113
- const result = await sut.resolve(moduleAName)
114
- expect(result).toBeDefined()
115
- })
116
- it('resolves module in second resolver', async () => {
117
- const result = await sut.resolve(moduleBName)
118
- expect(result).toBeDefined()
119
- })
120
- it('resolves module in both resolvers', async () => {
121
- const result = await sut.resolve(moduleCName)
122
- expect(result).toBeDefined()
123
- })
124
- })
125
- })
126
- })
@@ -1,81 +0,0 @@
1
- import '@xylabs/vitest-extended'
2
-
3
- import { asAddress } from '@xylabs/hex'
4
- import type { ModuleInstance } from '@xyo-network/module-model'
5
- import { ModuleConfigSchema, ModuleStateQuerySchema } from '@xyo-network/module-model'
6
- import type { MockedObject } from 'vitest'
7
- import {
8
- beforeEach, describe, expect,
9
- it,
10
- vi,
11
- } from 'vitest'
12
-
13
- import { SimpleModuleResolver } from '../SimpleModuleResolver.ts'
14
-
15
- const moduleAName = 'moduleA'
16
- const moduleBName = 'moduleB'
17
-
18
- /**
19
- * @group module
20
- */
21
-
22
- describe('SimpleModuleResolver', () => {
23
- describe('with multiple resolvers', () => {
24
- let moduleA: MockedObject<ModuleInstance>
25
- let moduleB: MockedObject<ModuleInstance>
26
- let sut: SimpleModuleResolver
27
- beforeEach(() => {
28
- moduleA = vi.mocked<Partial<ModuleInstance>>({
29
- address: asAddress('b0e75b722e6cb03bbae3f488ed1e5a82bd7c381a', true),
30
- config: { name: moduleAName, schema: ModuleConfigSchema },
31
- modName: moduleAName,
32
- manifest: vi.fn(),
33
- state: vi.fn(),
34
- queries: [ModuleStateQuerySchema],
35
- query: vi.fn(),
36
- }, true) as MockedObject<ModuleInstance>
37
- moduleB = vi.mocked<Partial<ModuleInstance>>({
38
- address: asAddress('b0e75b722e6cb03bbae3f488ed1e5a82bd7c381b', true),
39
- config: { name: moduleBName, schema: ModuleConfigSchema },
40
- manifest: vi.fn(),
41
- state: vi.fn(),
42
- modName: moduleBName,
43
- queries: [ModuleStateQuerySchema],
44
- query: vi.fn(),
45
- }, true) as MockedObject<ModuleInstance>
46
- sut = new SimpleModuleResolver({ root: moduleA })
47
- sut.add(moduleA)
48
- })
49
- describe('add', () => {
50
- it('adds module to resolver', async () => {
51
- const mod = moduleB
52
- const address = mod.address
53
- const name = moduleBName
54
- expect(sut.add(mod)).toEqual(sut)
55
- expect(await sut.resolve(address)).toBeDefined()
56
- expect(await sut.resolve(name)).toBeDefined()
57
- })
58
- })
59
- describe('remove', () => {
60
- it('removes module from resolver', async () => {
61
- const address = moduleA.address
62
- const name = moduleAName
63
- expect(sut.remove(address)).toEqual(sut)
64
- expect(await sut.resolve(moduleA.address)).toBeUndefined()
65
- expect(await sut.resolve(name)).toBeUndefined()
66
- })
67
- })
68
- describe('resolve', () => {
69
- it('resolves module', async () => {
70
- const result = await sut.resolve(moduleAName)
71
- expect(result).toBeDefined()
72
- })
73
- })
74
- describe('tryResolve', () => {
75
- it('resolves module', async () => {
76
- const result = await sut.resolve(moduleAName)
77
- expect(result).toBeDefined()
78
- })
79
- })
80
- })
81
- })