@xyo-network/module-model 2.100.28 → 2.101.1

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 (137) hide show
  1. package/dist/browser/ResolveHelper/index.d.cts +2 -0
  2. package/dist/browser/ResolveHelper/index.d.cts.map +1 -1
  3. package/dist/browser/ResolveHelper/index.d.mts +2 -0
  4. package/dist/browser/ResolveHelper/index.d.mts.map +1 -1
  5. package/dist/browser/ResolveHelper/index.d.ts +2 -0
  6. package/dist/browser/ResolveHelper/index.d.ts.map +1 -1
  7. package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.cts +3 -3
  8. package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.cts.map +1 -1
  9. package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.mts +3 -3
  10. package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.mts.map +1 -1
  11. package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.ts +3 -3
  12. package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
  13. package/dist/browser/ResolveHelper/resolveLocalNameToInstance.d.cts +6 -0
  14. package/dist/browser/ResolveHelper/resolveLocalNameToInstance.d.cts.map +1 -0
  15. package/dist/browser/ResolveHelper/resolveLocalNameToInstance.d.mts +6 -0
  16. package/dist/browser/ResolveHelper/resolveLocalNameToInstance.d.mts.map +1 -0
  17. package/dist/browser/ResolveHelper/resolveLocalNameToInstance.d.ts +6 -0
  18. package/dist/browser/ResolveHelper/resolveLocalNameToInstance.d.ts.map +1 -0
  19. package/dist/browser/ResolveHelper/resolvePathToAddress.d.cts.map +1 -1
  20. package/dist/browser/ResolveHelper/resolvePathToAddress.d.mts.map +1 -1
  21. package/dist/browser/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
  22. package/dist/browser/ResolveHelper/resolvePathToInstance.d.cts +4 -0
  23. package/dist/browser/ResolveHelper/resolvePathToInstance.d.cts.map +1 -0
  24. package/dist/browser/ResolveHelper/resolvePathToInstance.d.mts +4 -0
  25. package/dist/browser/ResolveHelper/resolvePathToInstance.d.mts.map +1 -0
  26. package/dist/browser/ResolveHelper/resolvePathToInstance.d.ts +4 -0
  27. package/dist/browser/ResolveHelper/resolvePathToInstance.d.ts.map +1 -0
  28. package/dist/browser/index.cjs +32 -12
  29. package/dist/browser/index.cjs.map +1 -1
  30. package/dist/browser/index.js +32 -12
  31. package/dist/browser/index.js.map +1 -1
  32. package/dist/browser/instance/Instance.d.cts +1 -1
  33. package/dist/browser/instance/Instance.d.cts.map +1 -1
  34. package/dist/browser/instance/Instance.d.mts +1 -1
  35. package/dist/browser/instance/Instance.d.mts.map +1 -1
  36. package/dist/browser/instance/Instance.d.ts +1 -1
  37. package/dist/browser/instance/Instance.d.ts.map +1 -1
  38. package/dist/browser/module/ModuleFields.d.cts +2 -0
  39. package/dist/browser/module/ModuleFields.d.cts.map +1 -1
  40. package/dist/browser/module/ModuleFields.d.mts +2 -0
  41. package/dist/browser/module/ModuleFields.d.mts.map +1 -1
  42. package/dist/browser/module/ModuleFields.d.ts +2 -0
  43. package/dist/browser/module/ModuleFields.d.ts.map +1 -1
  44. package/dist/neutral/ResolveHelper/index.d.cts +2 -0
  45. package/dist/neutral/ResolveHelper/index.d.cts.map +1 -1
  46. package/dist/neutral/ResolveHelper/index.d.mts +2 -0
  47. package/dist/neutral/ResolveHelper/index.d.mts.map +1 -1
  48. package/dist/neutral/ResolveHelper/index.d.ts +2 -0
  49. package/dist/neutral/ResolveHelper/index.d.ts.map +1 -1
  50. package/dist/neutral/ResolveHelper/resolveLocalNameToAddress.d.cts +3 -3
  51. package/dist/neutral/ResolveHelper/resolveLocalNameToAddress.d.cts.map +1 -1
  52. package/dist/neutral/ResolveHelper/resolveLocalNameToAddress.d.mts +3 -3
  53. package/dist/neutral/ResolveHelper/resolveLocalNameToAddress.d.mts.map +1 -1
  54. package/dist/neutral/ResolveHelper/resolveLocalNameToAddress.d.ts +3 -3
  55. package/dist/neutral/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
  56. package/dist/neutral/ResolveHelper/resolveLocalNameToInstance.d.cts +6 -0
  57. package/dist/neutral/ResolveHelper/resolveLocalNameToInstance.d.cts.map +1 -0
  58. package/dist/neutral/ResolveHelper/resolveLocalNameToInstance.d.mts +6 -0
  59. package/dist/neutral/ResolveHelper/resolveLocalNameToInstance.d.mts.map +1 -0
  60. package/dist/neutral/ResolveHelper/resolveLocalNameToInstance.d.ts +6 -0
  61. package/dist/neutral/ResolveHelper/resolveLocalNameToInstance.d.ts.map +1 -0
  62. package/dist/neutral/ResolveHelper/resolvePathToAddress.d.cts.map +1 -1
  63. package/dist/neutral/ResolveHelper/resolvePathToAddress.d.mts.map +1 -1
  64. package/dist/neutral/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
  65. package/dist/neutral/ResolveHelper/resolvePathToInstance.d.cts +4 -0
  66. package/dist/neutral/ResolveHelper/resolvePathToInstance.d.cts.map +1 -0
  67. package/dist/neutral/ResolveHelper/resolvePathToInstance.d.mts +4 -0
  68. package/dist/neutral/ResolveHelper/resolvePathToInstance.d.mts.map +1 -0
  69. package/dist/neutral/ResolveHelper/resolvePathToInstance.d.ts +4 -0
  70. package/dist/neutral/ResolveHelper/resolvePathToInstance.d.ts.map +1 -0
  71. package/dist/neutral/index.cjs +32 -12
  72. package/dist/neutral/index.cjs.map +1 -1
  73. package/dist/neutral/index.js +32 -12
  74. package/dist/neutral/index.js.map +1 -1
  75. package/dist/neutral/instance/Instance.d.cts +1 -1
  76. package/dist/neutral/instance/Instance.d.cts.map +1 -1
  77. package/dist/neutral/instance/Instance.d.mts +1 -1
  78. package/dist/neutral/instance/Instance.d.mts.map +1 -1
  79. package/dist/neutral/instance/Instance.d.ts +1 -1
  80. package/dist/neutral/instance/Instance.d.ts.map +1 -1
  81. package/dist/neutral/module/ModuleFields.d.cts +2 -0
  82. package/dist/neutral/module/ModuleFields.d.cts.map +1 -1
  83. package/dist/neutral/module/ModuleFields.d.mts +2 -0
  84. package/dist/neutral/module/ModuleFields.d.mts.map +1 -1
  85. package/dist/neutral/module/ModuleFields.d.ts +2 -0
  86. package/dist/neutral/module/ModuleFields.d.ts.map +1 -1
  87. package/dist/node/ResolveHelper/index.d.cts +2 -0
  88. package/dist/node/ResolveHelper/index.d.cts.map +1 -1
  89. package/dist/node/ResolveHelper/index.d.mts +2 -0
  90. package/dist/node/ResolveHelper/index.d.mts.map +1 -1
  91. package/dist/node/ResolveHelper/index.d.ts +2 -0
  92. package/dist/node/ResolveHelper/index.d.ts.map +1 -1
  93. package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.cts +3 -3
  94. package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.cts.map +1 -1
  95. package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.mts +3 -3
  96. package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.mts.map +1 -1
  97. package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.ts +3 -3
  98. package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
  99. package/dist/node/ResolveHelper/resolveLocalNameToInstance.d.cts +6 -0
  100. package/dist/node/ResolveHelper/resolveLocalNameToInstance.d.cts.map +1 -0
  101. package/dist/node/ResolveHelper/resolveLocalNameToInstance.d.mts +6 -0
  102. package/dist/node/ResolveHelper/resolveLocalNameToInstance.d.mts.map +1 -0
  103. package/dist/node/ResolveHelper/resolveLocalNameToInstance.d.ts +6 -0
  104. package/dist/node/ResolveHelper/resolveLocalNameToInstance.d.ts.map +1 -0
  105. package/dist/node/ResolveHelper/resolvePathToAddress.d.cts.map +1 -1
  106. package/dist/node/ResolveHelper/resolvePathToAddress.d.mts.map +1 -1
  107. package/dist/node/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
  108. package/dist/node/ResolveHelper/resolvePathToInstance.d.cts +4 -0
  109. package/dist/node/ResolveHelper/resolvePathToInstance.d.cts.map +1 -0
  110. package/dist/node/ResolveHelper/resolvePathToInstance.d.mts +4 -0
  111. package/dist/node/ResolveHelper/resolvePathToInstance.d.mts.map +1 -0
  112. package/dist/node/ResolveHelper/resolvePathToInstance.d.ts +4 -0
  113. package/dist/node/ResolveHelper/resolvePathToInstance.d.ts.map +1 -0
  114. package/dist/node/index.cjs +42 -14
  115. package/dist/node/index.cjs.map +1 -1
  116. package/dist/node/index.js +38 -14
  117. package/dist/node/index.js.map +1 -1
  118. package/dist/node/instance/Instance.d.cts +1 -1
  119. package/dist/node/instance/Instance.d.cts.map +1 -1
  120. package/dist/node/instance/Instance.d.mts +1 -1
  121. package/dist/node/instance/Instance.d.mts.map +1 -1
  122. package/dist/node/instance/Instance.d.ts +1 -1
  123. package/dist/node/instance/Instance.d.ts.map +1 -1
  124. package/dist/node/module/ModuleFields.d.cts +2 -0
  125. package/dist/node/module/ModuleFields.d.cts.map +1 -1
  126. package/dist/node/module/ModuleFields.d.mts +2 -0
  127. package/dist/node/module/ModuleFields.d.mts.map +1 -1
  128. package/dist/node/module/ModuleFields.d.ts +2 -0
  129. package/dist/node/module/ModuleFields.d.ts.map +1 -1
  130. package/package.json +7 -7
  131. package/src/ResolveHelper/index.ts +2 -0
  132. package/src/ResolveHelper/resolveLocalNameToAddress.ts +8 -15
  133. package/src/ResolveHelper/resolveLocalNameToInstance.ts +27 -0
  134. package/src/ResolveHelper/resolvePathToAddress.ts +3 -25
  135. package/src/ResolveHelper/resolvePathToInstance.ts +37 -0
  136. package/src/instance/Instance.ts +1 -1
  137. package/src/module/ModuleFields.ts +3 -0
@@ -2,28 +2,21 @@ import { Address } from '@xylabs/hex'
2
2
 
3
3
  import { ModuleInstance } from '../instance'
4
4
  import { ModuleName } from '../ModuleIdentifier'
5
+ import { resolveLocalNameToInstance, resolveLocalNameToInstanceDown, resolveLocalNameToInstanceUp } from './resolveLocalNameToInstance'
5
6
 
6
- export const resolveLocalNameToAddressUp = async (root: ModuleInstance, localName: ModuleName): Promise<Address | undefined> => {
7
- const parents = (await root.parents?.()) ?? []
8
- return parents.find((parent) => parent.localName === localName)?.address
7
+ export const resolveLocalNameToAddressUp = async (root: ModuleInstance, modName: ModuleName): Promise<Address | undefined> => {
8
+ return (await resolveLocalNameToInstanceUp(root, modName))?.address
9
9
  }
10
10
 
11
- //since this is a localName, it only checks the children of the root module
11
+ //since this is a modName, it only checks the children of the root module
12
12
  export const resolveLocalNameToAddressDown = async (
13
13
  root: ModuleInstance,
14
- localName: ModuleName,
14
+ modName: ModuleName,
15
15
  includePrivate = false,
16
16
  ): Promise<Address | undefined> => {
17
- const privateChildren = (includePrivate ? await root.privateChildren?.() : []) ?? []
18
- const publicChildren = (await root.publicChildren?.()) ?? []
19
- const children = [...privateChildren, ...publicChildren]
20
- return children.find((child) => child.localName === localName)?.address
17
+ return (await resolveLocalNameToInstanceDown(root, modName, includePrivate))?.address
21
18
  }
22
19
 
23
- export const resolveLocalNameToAddress = async (
24
- root: ModuleInstance,
25
- localName: ModuleName,
26
- includePrivate = false,
27
- ): Promise<Address | undefined> => {
28
- return (await resolveLocalNameToAddressDown(root, localName, includePrivate)) ?? (await resolveLocalNameToAddressUp(root, localName))
20
+ export const resolveLocalNameToAddress = async (root: ModuleInstance, modName: ModuleName, includePrivate = false): Promise<Address | undefined> => {
21
+ return (await resolveLocalNameToInstance(root, modName, includePrivate))?.address
29
22
  }
@@ -0,0 +1,27 @@
1
+ import { ModuleInstance } from '../instance'
2
+ import { ModuleName } from '../ModuleIdentifier'
3
+
4
+ export const resolveLocalNameToInstanceUp = async (root: ModuleInstance, modName: ModuleName): Promise<ModuleInstance | undefined> => {
5
+ const parents = (await root.parents?.()) ?? []
6
+ return parents.find((parent) => parent.modName === modName)
7
+ }
8
+
9
+ //since this is a modName, it only checks the children of the root module
10
+ export const resolveLocalNameToInstanceDown = async (
11
+ root: ModuleInstance,
12
+ modName: ModuleName,
13
+ includePrivate = false,
14
+ ): Promise<ModuleInstance | undefined> => {
15
+ const privateChildren = (includePrivate ? await root.privateChildren?.() : []) ?? []
16
+ const publicChildren = (await root.publicChildren?.()) ?? []
17
+ const children = [...privateChildren, ...publicChildren]
18
+ return children.find((child) => child.modName === modName)
19
+ }
20
+
21
+ export const resolveLocalNameToInstance = async (
22
+ root: ModuleInstance,
23
+ modName: ModuleName,
24
+ includePrivate = false,
25
+ ): Promise<ModuleInstance | undefined> => {
26
+ return (await resolveLocalNameToInstanceDown(root, modName, includePrivate)) ?? (await resolveLocalNameToInstanceUp(root, modName))
27
+ }
@@ -1,13 +1,9 @@
1
- import { assertEx } from '@xylabs/assert'
2
- import { Address, asAddress } from '@xylabs/hex'
1
+ import { Address } from '@xylabs/hex'
3
2
 
4
3
  import { ModuleInstance } from '../instance'
5
- import { MODULE_PATH_SEPARATOR } from '../ModuleIdentifier'
6
4
  import { ModuleIdentifierTransformer } from '../ModuleIdentifierTransformer'
7
- import { resolveAddressToInstance } from './resolveAddressToInstance'
8
5
  import { ResolveHelper } from './ResolveHelper'
9
- import { resolveLocalNameToAddress } from './resolveLocalNameToAddress'
10
- import { transformModuleIdentifier } from './transformModuleIdentifier'
6
+ import { resolvePathToInstance } from './resolvePathToInstance'
11
7
 
12
8
  export const resolvePathToAddress = async (
13
9
  root: ModuleInstance,
@@ -15,23 +11,5 @@ export const resolvePathToAddress = async (
15
11
  includePrivate = false,
16
12
  transformers: ModuleIdentifierTransformer[] = ResolveHelper.transformers,
17
13
  ): Promise<Address | undefined> => {
18
- const parts = path.split(MODULE_PATH_SEPARATOR)
19
- const first = await transformModuleIdentifier(
20
- assertEx(parts.shift(), () => `First part is invalid [${path}]`),
21
- transformers,
22
- )
23
-
24
- if (!first) {
25
- return undefined
26
- }
27
-
28
- const firstAddress = asAddress(first) ?? (await resolveLocalNameToAddress(root, first, includePrivate))
29
-
30
- if (firstAddress) {
31
- const firstModule = await resolveAddressToInstance(root, firstAddress, includePrivate)
32
- if (firstModule && parts.length > 0) {
33
- return resolvePathToAddress(firstModule, parts.join(MODULE_PATH_SEPARATOR))
34
- }
35
- return firstAddress
36
- }
14
+ return (await resolvePathToInstance(root, path, includePrivate, transformers))?.address
37
15
  }
@@ -0,0 +1,37 @@
1
+ import { assertEx } from '@xylabs/assert'
2
+ import { asAddress } from '@xylabs/hex'
3
+
4
+ import { ModuleInstance } from '../instance'
5
+ import { MODULE_PATH_SEPARATOR } from '../ModuleIdentifier'
6
+ import { ModuleIdentifierTransformer } from '../ModuleIdentifierTransformer'
7
+ import { resolveAddressToInstance } from './resolveAddressToInstance'
8
+ import { ResolveHelper } from './ResolveHelper'
9
+ import { resolveLocalNameToAddress } from './resolveLocalNameToAddress'
10
+ import { transformModuleIdentifier } from './transformModuleIdentifier'
11
+
12
+ export const resolvePathToInstance = async (
13
+ root: ModuleInstance,
14
+ path: string,
15
+ includePrivate = false,
16
+ transformers: ModuleIdentifierTransformer[] = ResolveHelper.transformers,
17
+ ): Promise<ModuleInstance | undefined> => {
18
+ const parts = path.split(MODULE_PATH_SEPARATOR)
19
+ const first = await transformModuleIdentifier(
20
+ assertEx(parts.shift(), () => `First part is invalid [${path}]`),
21
+ transformers,
22
+ )
23
+
24
+ if (!first) {
25
+ return undefined
26
+ }
27
+
28
+ const firstAddress = asAddress(first) ?? (await resolveLocalNameToAddress(root, first, includePrivate))
29
+
30
+ if (firstAddress) {
31
+ const firstModule = await resolveAddressToInstance(root, firstAddress, includePrivate)
32
+ if (firstModule && parts.length > 0) {
33
+ return resolvePathToInstance(firstModule, parts.join(MODULE_PATH_SEPARATOR))
34
+ }
35
+ return firstModule
36
+ }
37
+ }
@@ -36,7 +36,7 @@ export interface ModuleFamilyFunctions {
36
36
  account?: AccountInstance | undefined
37
37
  addParent: (module: ModuleInstance) => void
38
38
  addressCache?: (direction: Direction, includePrivate: boolean) => AddressToWeakInstanceCache | undefined
39
- localName: ModuleName | undefined
39
+ modName?: ModuleName
40
40
  parents: () => Promisable<ModuleInstance[]>
41
41
  privateChildren: () => Promisable<ModuleInstance[]>
42
42
  publicChildren: () => Promisable<ModuleInstance[]>
@@ -4,6 +4,7 @@ import { QueryBoundWitness } from '@xyo-network/boundwitness-model'
4
4
  import { Payload } from '@xyo-network/payload-model'
5
5
 
6
6
  import { ModuleConfig } from '../Config'
7
+ import { ModuleName } from '../ModuleIdentifier'
7
8
  import { ModuleParams } from '../ModuleParams'
8
9
  import { ModuleQueryResult } from '../ModuleQueryResult'
9
10
 
@@ -14,6 +15,8 @@ export interface ModuleFields<TParams extends ModuleParams = ModuleParams> {
14
15
  /** The name (if specified) or address of the module */
15
16
  id: string
16
17
 
18
+ modName?: ModuleName
19
+
17
20
  params: TParams
18
21
 
19
22
  previousHash: () => Promisable<string | undefined>