@xyo-network/module-model 2.90.22 → 2.91.0

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 (150) hide show
  1. package/dist/browser/Config.d.cts +4 -4
  2. package/dist/browser/Config.d.cts.map +1 -1
  3. package/dist/browser/Config.d.mts +4 -4
  4. package/dist/browser/Config.d.mts.map +1 -1
  5. package/dist/browser/Config.d.ts +4 -4
  6. package/dist/browser/Config.d.ts.map +1 -1
  7. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.cts +4 -4
  8. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.mts +4 -4
  9. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.ts +4 -4
  10. package/dist/browser/EventsModels/ModuleEventArgs.d.cts.map +1 -1
  11. package/dist/browser/EventsModels/ModuleEventArgs.d.mts.map +1 -1
  12. package/dist/browser/EventsModels/ModuleEventArgs.d.ts.map +1 -1
  13. package/dist/browser/ModuleDescription.d.cts +4 -2
  14. package/dist/browser/ModuleDescription.d.cts.map +1 -1
  15. package/dist/browser/ModuleDescription.d.mts +4 -2
  16. package/dist/browser/ModuleDescription.d.mts.map +1 -1
  17. package/dist/browser/ModuleDescription.d.ts +4 -2
  18. package/dist/browser/ModuleDescription.d.ts.map +1 -1
  19. package/dist/browser/Queries/ModuleAddress/Payload.d.cts +2 -1
  20. package/dist/browser/Queries/ModuleAddress/Payload.d.cts.map +1 -1
  21. package/dist/browser/Queries/ModuleAddress/Payload.d.mts +2 -1
  22. package/dist/browser/Queries/ModuleAddress/Payload.d.mts.map +1 -1
  23. package/dist/browser/Queries/ModuleAddress/Payload.d.ts +2 -1
  24. package/dist/browser/Queries/ModuleAddress/Payload.d.ts.map +1 -1
  25. package/dist/browser/Queries/Subscribe.d.cts +2 -1
  26. package/dist/browser/Queries/Subscribe.d.cts.map +1 -1
  27. package/dist/browser/Queries/Subscribe.d.mts +2 -1
  28. package/dist/browser/Queries/Subscribe.d.mts.map +1 -1
  29. package/dist/browser/Queries/Subscribe.d.ts +2 -1
  30. package/dist/browser/Queries/Subscribe.d.ts.map +1 -1
  31. package/dist/browser/index.cjs +32 -1
  32. package/dist/browser/index.cjs.map +1 -1
  33. package/dist/browser/index.js +32 -1
  34. package/dist/browser/index.js.map +1 -1
  35. package/dist/browser/instance/ModuleInstance.d.cts +139 -6
  36. package/dist/browser/instance/ModuleInstance.d.cts.map +1 -1
  37. package/dist/browser/instance/ModuleInstance.d.mts +139 -6
  38. package/dist/browser/instance/ModuleInstance.d.mts.map +1 -1
  39. package/dist/browser/instance/ModuleInstance.d.ts +139 -6
  40. package/dist/browser/instance/ModuleInstance.d.ts.map +1 -1
  41. package/dist/browser/instance/ModuleRepository.d.cts +2 -1
  42. package/dist/browser/instance/ModuleRepository.d.cts.map +1 -1
  43. package/dist/browser/instance/ModuleRepository.d.mts +2 -1
  44. package/dist/browser/instance/ModuleRepository.d.mts.map +1 -1
  45. package/dist/browser/instance/ModuleRepository.d.ts +2 -1
  46. package/dist/browser/instance/ModuleRepository.d.ts.map +1 -1
  47. package/dist/browser/instance/asModuleInstance.d.cts +8 -8
  48. package/dist/browser/instance/asModuleInstance.d.mts +8 -8
  49. package/dist/browser/instance/asModuleInstance.d.ts +8 -8
  50. package/dist/browser/lib/duplicateModules.d.cts +4 -4
  51. package/dist/browser/lib/duplicateModules.d.mts +4 -4
  52. package/dist/browser/lib/duplicateModules.d.ts +4 -4
  53. package/dist/browser/module/ModuleFields.d.cts +2 -1
  54. package/dist/browser/module/ModuleFields.d.cts.map +1 -1
  55. package/dist/browser/module/ModuleFields.d.mts +2 -1
  56. package/dist/browser/module/ModuleFields.d.mts.map +1 -1
  57. package/dist/browser/module/ModuleFields.d.ts +2 -1
  58. package/dist/browser/module/ModuleFields.d.ts.map +1 -1
  59. package/dist/browser/module/asModule.d.cts +8 -8
  60. package/dist/browser/module/asModule.d.mts +8 -8
  61. package/dist/browser/module/asModule.d.ts +8 -8
  62. package/dist/browser/module/asModuleObject.d.cts +8 -8
  63. package/dist/browser/module/asModuleObject.d.mts +8 -8
  64. package/dist/browser/module/asModuleObject.d.ts +8 -8
  65. package/dist/browser/module/isModuleObject.d.cts +4 -4
  66. package/dist/browser/module/isModuleObject.d.mts +4 -4
  67. package/dist/browser/module/isModuleObject.d.ts +4 -4
  68. package/dist/browser/withModule.d.cts +8 -8
  69. package/dist/browser/withModule.d.mts +8 -8
  70. package/dist/browser/withModule.d.ts +8 -8
  71. package/dist/node/Config.d.cts +4 -4
  72. package/dist/node/Config.d.cts.map +1 -1
  73. package/dist/node/Config.d.mts +4 -4
  74. package/dist/node/Config.d.mts.map +1 -1
  75. package/dist/node/Config.d.ts +4 -4
  76. package/dist/node/Config.d.ts.map +1 -1
  77. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.cts +4 -4
  78. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.mts +4 -4
  79. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.ts +4 -4
  80. package/dist/node/EventsModels/ModuleEventArgs.d.cts.map +1 -1
  81. package/dist/node/EventsModels/ModuleEventArgs.d.mts.map +1 -1
  82. package/dist/node/EventsModels/ModuleEventArgs.d.ts.map +1 -1
  83. package/dist/node/ModuleDescription.d.cts +4 -2
  84. package/dist/node/ModuleDescription.d.cts.map +1 -1
  85. package/dist/node/ModuleDescription.d.mts +4 -2
  86. package/dist/node/ModuleDescription.d.mts.map +1 -1
  87. package/dist/node/ModuleDescription.d.ts +4 -2
  88. package/dist/node/ModuleDescription.d.ts.map +1 -1
  89. package/dist/node/Queries/ModuleAddress/Payload.d.cts +2 -1
  90. package/dist/node/Queries/ModuleAddress/Payload.d.cts.map +1 -1
  91. package/dist/node/Queries/ModuleAddress/Payload.d.mts +2 -1
  92. package/dist/node/Queries/ModuleAddress/Payload.d.mts.map +1 -1
  93. package/dist/node/Queries/ModuleAddress/Payload.d.ts +2 -1
  94. package/dist/node/Queries/ModuleAddress/Payload.d.ts.map +1 -1
  95. package/dist/node/Queries/Subscribe.d.cts +2 -1
  96. package/dist/node/Queries/Subscribe.d.cts.map +1 -1
  97. package/dist/node/Queries/Subscribe.d.mts +2 -1
  98. package/dist/node/Queries/Subscribe.d.mts.map +1 -1
  99. package/dist/node/Queries/Subscribe.d.ts +2 -1
  100. package/dist/node/Queries/Subscribe.d.ts.map +1 -1
  101. package/dist/node/index.cjs +38 -1
  102. package/dist/node/index.cjs.map +1 -1
  103. package/dist/node/index.js +32 -1
  104. package/dist/node/index.js.map +1 -1
  105. package/dist/node/instance/ModuleInstance.d.cts +139 -6
  106. package/dist/node/instance/ModuleInstance.d.cts.map +1 -1
  107. package/dist/node/instance/ModuleInstance.d.mts +139 -6
  108. package/dist/node/instance/ModuleInstance.d.mts.map +1 -1
  109. package/dist/node/instance/ModuleInstance.d.ts +139 -6
  110. package/dist/node/instance/ModuleInstance.d.ts.map +1 -1
  111. package/dist/node/instance/ModuleRepository.d.cts +2 -1
  112. package/dist/node/instance/ModuleRepository.d.cts.map +1 -1
  113. package/dist/node/instance/ModuleRepository.d.mts +2 -1
  114. package/dist/node/instance/ModuleRepository.d.mts.map +1 -1
  115. package/dist/node/instance/ModuleRepository.d.ts +2 -1
  116. package/dist/node/instance/ModuleRepository.d.ts.map +1 -1
  117. package/dist/node/instance/asModuleInstance.d.cts +8 -8
  118. package/dist/node/instance/asModuleInstance.d.mts +8 -8
  119. package/dist/node/instance/asModuleInstance.d.ts +8 -8
  120. package/dist/node/lib/duplicateModules.d.cts +4 -4
  121. package/dist/node/lib/duplicateModules.d.mts +4 -4
  122. package/dist/node/lib/duplicateModules.d.ts +4 -4
  123. package/dist/node/module/ModuleFields.d.cts +2 -1
  124. package/dist/node/module/ModuleFields.d.cts.map +1 -1
  125. package/dist/node/module/ModuleFields.d.mts +2 -1
  126. package/dist/node/module/ModuleFields.d.mts.map +1 -1
  127. package/dist/node/module/ModuleFields.d.ts +2 -1
  128. package/dist/node/module/ModuleFields.d.ts.map +1 -1
  129. package/dist/node/module/asModule.d.cts +8 -8
  130. package/dist/node/module/asModule.d.mts +8 -8
  131. package/dist/node/module/asModule.d.ts +8 -8
  132. package/dist/node/module/asModuleObject.d.cts +8 -8
  133. package/dist/node/module/asModuleObject.d.mts +8 -8
  134. package/dist/node/module/asModuleObject.d.ts +8 -8
  135. package/dist/node/module/isModuleObject.d.cts +4 -4
  136. package/dist/node/module/isModuleObject.d.mts +4 -4
  137. package/dist/node/module/isModuleObject.d.ts +4 -4
  138. package/dist/node/withModule.d.cts +8 -8
  139. package/dist/node/withModule.d.mts +8 -8
  140. package/dist/node/withModule.d.ts +8 -8
  141. package/package.json +16 -16
  142. package/src/Config.ts +4 -4
  143. package/src/CreatableModule/ModuleFactoryLocator.ts +2 -2
  144. package/src/EventsModels/ModuleEventArgs.ts +3 -2
  145. package/src/ModuleDescription.ts +5 -2
  146. package/src/Queries/ModuleAddress/Payload.ts +2 -1
  147. package/src/Queries/Subscribe.ts +2 -1
  148. package/src/instance/ModuleInstance.ts +41 -6
  149. package/src/instance/ModuleRepository.ts +3 -1
  150. package/src/module/ModuleFields.ts +2 -1
@@ -15,8 +15,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
15
15
  schema: "network.xyo.module.config";
16
16
  readonly security?: {
17
17
  readonly allowAnonymous?: boolean | undefined;
18
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
19
- readonly disallowed?: Record<string, string[]> | undefined;
18
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
19
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
20
20
  } | undefined;
21
21
  readonly sign?: boolean | undefined;
22
22
  readonly storeQueries?: boolean | undefined;
@@ -32,8 +32,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
32
32
  schema: "network.xyo.module.config";
33
33
  readonly security?: {
34
34
  readonly allowAnonymous?: boolean | undefined;
35
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
36
- readonly disallowed?: Record<string, string[]> | undefined;
35
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
36
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
37
37
  } | undefined;
38
38
  readonly sign?: boolean | undefined;
39
39
  readonly storeQueries?: boolean | undefined;
@@ -56,8 +56,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
56
56
  schema: "network.xyo.module.config";
57
57
  readonly security?: {
58
58
  readonly allowAnonymous?: boolean | undefined;
59
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
60
- readonly disallowed?: Record<string, string[]> | undefined;
59
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
60
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
61
61
  } | undefined;
62
62
  readonly sign?: boolean | undefined;
63
63
  readonly storeQueries?: boolean | undefined;
@@ -73,8 +73,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
73
73
  schema: "network.xyo.module.config";
74
74
  readonly security?: {
75
75
  readonly allowAnonymous?: boolean | undefined;
76
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
77
- readonly disallowed?: Record<string, string[]> | undefined;
76
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
77
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
78
78
  } | undefined;
79
79
  readonly sign?: boolean | undefined;
80
80
  readonly storeQueries?: boolean | undefined;
@@ -15,8 +15,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
15
15
  schema: "network.xyo.module.config";
16
16
  readonly security?: {
17
17
  readonly allowAnonymous?: boolean | undefined;
18
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
19
- readonly disallowed?: Record<string, string[]> | undefined;
18
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
19
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
20
20
  } | undefined;
21
21
  readonly sign?: boolean | undefined;
22
22
  readonly storeQueries?: boolean | undefined;
@@ -32,8 +32,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
32
32
  schema: "network.xyo.module.config";
33
33
  readonly security?: {
34
34
  readonly allowAnonymous?: boolean | undefined;
35
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
36
- readonly disallowed?: Record<string, string[]> | undefined;
35
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
36
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
37
37
  } | undefined;
38
38
  readonly sign?: boolean | undefined;
39
39
  readonly storeQueries?: boolean | undefined;
@@ -56,8 +56,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
56
56
  schema: "network.xyo.module.config";
57
57
  readonly security?: {
58
58
  readonly allowAnonymous?: boolean | undefined;
59
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
60
- readonly disallowed?: Record<string, string[]> | undefined;
59
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
60
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
61
61
  } | undefined;
62
62
  readonly sign?: boolean | undefined;
63
63
  readonly storeQueries?: boolean | undefined;
@@ -73,8 +73,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
73
73
  schema: "network.xyo.module.config";
74
74
  readonly security?: {
75
75
  readonly allowAnonymous?: boolean | undefined;
76
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
77
- readonly disallowed?: Record<string, string[]> | undefined;
76
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
77
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
78
78
  } | undefined;
79
79
  readonly sign?: boolean | undefined;
80
80
  readonly storeQueries?: boolean | undefined;
@@ -15,8 +15,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
15
15
  schema: "network.xyo.module.config";
16
16
  readonly security?: {
17
17
  readonly allowAnonymous?: boolean | undefined;
18
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
19
- readonly disallowed?: Record<string, string[]> | undefined;
18
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
19
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
20
20
  } | undefined;
21
21
  readonly sign?: boolean | undefined;
22
22
  readonly storeQueries?: boolean | undefined;
@@ -32,8 +32,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
32
32
  schema: "network.xyo.module.config";
33
33
  readonly security?: {
34
34
  readonly allowAnonymous?: boolean | undefined;
35
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
36
- readonly disallowed?: Record<string, string[]> | undefined;
35
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
36
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
37
37
  } | undefined;
38
38
  readonly sign?: boolean | undefined;
39
39
  readonly storeQueries?: boolean | undefined;
@@ -56,8 +56,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
56
56
  schema: "network.xyo.module.config";
57
57
  readonly security?: {
58
58
  readonly allowAnonymous?: boolean | undefined;
59
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
60
- readonly disallowed?: Record<string, string[]> | undefined;
59
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
60
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
61
61
  } | undefined;
62
62
  readonly sign?: boolean | undefined;
63
63
  readonly storeQueries?: boolean | undefined;
@@ -73,8 +73,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
73
73
  schema: "network.xyo.module.config";
74
74
  readonly security?: {
75
75
  readonly allowAnonymous?: boolean | undefined;
76
- readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
77
- readonly disallowed?: Record<string, string[]> | undefined;
76
+ readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
77
+ readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
78
78
  } | undefined;
79
79
  readonly sign?: boolean | undefined;
80
80
  readonly storeQueries?: boolean | undefined;
package/package.json CHANGED
@@ -10,23 +10,23 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.14.2",
14
- "@xylabs/hex": "^2.14.2",
15
- "@xylabs/lodash": "^2.14.2",
16
- "@xylabs/logger": "^2.14.2",
17
- "@xylabs/object": "^2.89.2",
18
- "@xylabs/promise": "^2.14.2",
19
- "@xylabs/retry": "^2.14.2",
20
- "@xyo-network/account-model": "~2.90.22",
21
- "@xyo-network/address-payload-plugin": "~2.90.22",
22
- "@xyo-network/boundwitness-model": "~2.90.22",
23
- "@xyo-network/manifest-model": "~2.90.22",
24
- "@xyo-network/module-events": "~2.90.22",
25
- "@xyo-network/payload-model": "~2.90.22"
13
+ "@xylabs/assert": "^3.0.0",
14
+ "@xylabs/hex": "^3.0.0",
15
+ "@xylabs/lodash": "^3.0.0",
16
+ "@xylabs/logger": "^3.0.0",
17
+ "@xylabs/object": "^3.0.0",
18
+ "@xylabs/promise": "^3.0.0",
19
+ "@xylabs/retry": "^3.0.0",
20
+ "@xyo-network/account-model": "~2.91.0",
21
+ "@xyo-network/address-payload-plugin": "~2.91.0",
22
+ "@xyo-network/boundwitness-model": "~2.91.0",
23
+ "@xyo-network/manifest-model": "~2.91.0",
24
+ "@xyo-network/module-events": "~2.91.0",
25
+ "@xyo-network/payload-model": "~2.91.0"
26
26
  },
27
27
  "devDependencies": {
28
- "@xylabs/ts-scripts-yarn3": "^3.2.42",
29
- "@xylabs/tsconfig": "^3.2.42",
28
+ "@xylabs/ts-scripts-yarn3": "^3.4.1",
29
+ "@xylabs/tsconfig": "^3.4.1",
30
30
  "typescript": "^5.3.3"
31
31
  },
32
32
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -68,6 +68,6 @@
68
68
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
69
69
  },
70
70
  "sideEffects": false,
71
- "version": "2.90.22",
71
+ "version": "2.91.0",
72
72
  "type": "module"
73
73
  }
package/src/Config.ts CHANGED
@@ -3,6 +3,7 @@ import { EmptyObject, WithAdditional } from '@xylabs/object'
3
3
  import { RetryConfig } from '@xylabs/retry'
4
4
  import { Payload, Schema } from '@xyo-network/payload-model'
5
5
 
6
+ import { ModuleIdentifier, ModuleName } from './instance'
6
7
  import { Labels } from './Labels'
7
8
 
8
9
  export type ModuleConfigSchema = 'network.xyo.module.config'
@@ -10,12 +11,11 @@ export const ModuleConfigSchema: ModuleConfigSchema = 'network.xyo.module.config
10
11
 
11
12
  export type CosigningAddressSet = string[]
12
13
  export type SchemaString = string
13
- export type ModuleName = string
14
14
  export type NameOrAddress = Address | ModuleName
15
15
 
16
16
  export interface ArchivingModuleConfig {
17
17
  readonly archiving?: {
18
- readonly archivists?: NameOrAddress[]
18
+ readonly archivists?: ModuleIdentifier[]
19
19
  }
20
20
  }
21
21
 
@@ -23,7 +23,7 @@ export type ModuleConfig<TConfig extends EmptyObject | Payload | void = void, TS
23
23
  WithAdditional<
24
24
  {
25
25
  /** @field The name/address of the Archivist to use for this module */
26
- readonly archivist?: NameOrAddress
26
+ readonly archivist?: ModuleIdentifier
27
27
 
28
28
  /**
29
29
  * @field The labels used for this module. If a label is specified, then the
@@ -33,7 +33,7 @@ export type ModuleConfig<TConfig extends EmptyObject | Payload | void = void, TS
33
33
  readonly labels?: Labels
34
34
 
35
35
  /** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */
36
- readonly name?: string
36
+ readonly name?: ModuleName
37
37
 
38
38
  /** @field paging settings for queries */
39
39
  readonly paging?: Record<string, { size?: number }>
@@ -75,8 +75,8 @@ export class ModuleFactoryLocator {
75
75
  */
76
76
  tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined {
77
77
  // If labels were provided
78
- return labels
79
- ? // Find the first factory that has labels and has all the labels provided
78
+ return labels ?
79
+ // Find the first factory that has labels and has all the labels provided
80
80
  this._registry[schema]?.filter(hasLabels).find((factory) => hasAllLabels(factory?.labels, labels))
81
81
  : // Otherwise, return the first factory
82
82
  this._registry[schema]?.[0]
@@ -1,7 +1,8 @@
1
1
  import { EventArgs } from '@xyo-network/module-events'
2
2
 
3
- export type ModuleEventArgs<TModule extends object = object, TArgs extends EventArgs | undefined = undefined> = TArgs extends EventArgs
4
- ? {
3
+ export type ModuleEventArgs<TModule extends object = object, TArgs extends EventArgs | undefined = undefined> =
4
+ TArgs extends EventArgs ?
5
+ {
5
6
  module: TModule
6
7
  } & TArgs
7
8
  : {
@@ -1,6 +1,9 @@
1
+ import { Address } from '@xylabs/hex'
2
+
3
+ import { ModuleName } from './instance'
1
4
  export interface ModuleDescription {
2
- address: string
5
+ address: Address
3
6
  children?: string[]
4
- name?: string
7
+ name?: ModuleName
5
8
  queries: string[]
6
9
  }
@@ -1,3 +1,4 @@
1
+ import { Address } from '@xylabs/hex'
1
2
  import { AddressSchema } from '@xyo-network/address-payload-plugin'
2
3
  import { Payload } from '@xyo-network/payload-model'
3
4
 
@@ -5,7 +6,7 @@ export const AddressPreviousHashSchema = `${AddressSchema}.hash.previous`
5
6
  export type AddressPreviousHashSchema = typeof AddressPreviousHashSchema
6
7
 
7
8
  export type AddressPreviousHashPayload = Payload<{
8
- address: string
9
+ address: Address
9
10
  previousHash?: string
10
11
  schema: AddressPreviousHashSchema
11
12
  }>
@@ -1,3 +1,4 @@
1
+ import { Address } from '@xylabs/hex'
1
2
  import { Query } from '@xyo-network/payload-model'
2
3
 
3
4
  export type ModuleSubscribeQuerySchema = 'network.xyo.query.module.subscribe'
@@ -11,7 +12,7 @@ export interface ModuleSubscribeFilter {
11
12
  //requests notification when a boundwitness is added to the modules chain that meets the filter criteria
12
13
  export type ModuleSubscribeQuery = Query<{
13
14
  /** @field The address that will receive notifications */
14
- address: string
15
+ address: Address
15
16
  /** @field A subscribe with a null for filter is an unsubscribe */
16
17
  filter?: ModuleSubscribeFilter | null
17
18
  /** @field The maximum events queued per send [may increase frequency] */
@@ -1,3 +1,4 @@
1
+ import { Address } from '@xylabs/hex'
1
2
  import { IsObjectFactory, TypeCheck } from '@xylabs/object'
2
3
  import { Promisable } from '@xylabs/promise'
3
4
 
@@ -5,7 +6,32 @@ import { ModuleEventData } from '../EventsModels'
5
6
  import { Module, ModuleQueryFunctions } from '../module'
6
7
  import { ModuleParams } from '../ModuleParams'
7
8
 
8
- export type ModulePipeLine = 'one-to-one' | 'one-to-many' | 'many-to-one' | 'many-to-many'
9
+ export type ModulePipeLine = Lowercase<'one-to-one' | 'one-to-many' | 'many-to-one' | 'many-to-many'>
10
+
11
+ export type ModuleName = string //Capitalize<string>
12
+
13
+ export type ModuleIdentifier = Address | ModuleName
14
+
15
+ export type ModuleIdentifierPart = Lowercase<string>
16
+
17
+ export type ReservedModuleIdentifierCharacter = ':'
18
+ export const ReservedModuleIdentifierCharacters = new Set<ReservedModuleIdentifierCharacter>([':'])
19
+
20
+ export const isReservedModuleIdentifierCharacter = (value: unknown): value is ReservedModuleIdentifierCharacter => {
21
+ return typeof value === 'string' && value.length === 1 && ReservedModuleIdentifierCharacters.has(value as ReservedModuleIdentifierCharacter)
22
+ }
23
+
24
+ export const isModuleIdentifierPart = (value: unknown, falseAction: 'throw' | 'none' = 'none'): value is ModuleIdentifierPart => {
25
+ const result = typeof value === 'string' && ![...value].some(isReservedModuleIdentifierCharacter)
26
+ switch (falseAction) {
27
+ case 'throw': {
28
+ throw new Error(`Invalid ModuleIdentifierPart: ${value}`)
29
+ }
30
+ default: {
31
+ return result
32
+ }
33
+ }
34
+ }
9
35
 
10
36
  export const isModuleResolver = (value?: unknown): value is ModuleResolver => {
11
37
  return typeof (value as Partial<ModuleResolver>).resolve === 'function'
@@ -13,9 +39,9 @@ export const isModuleResolver = (value?: unknown): value is ModuleResolver => {
13
39
 
14
40
  export interface ModuleResolver {
15
41
  resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>
16
- resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promisable<T | undefined>
42
+ resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T | undefined>
17
43
  resolve<T extends ModuleInstance = ModuleInstance>(
18
- nameOrAddressOrFilter?: ModuleFilter<T> | string,
44
+ nameOrAddressOrFilter?: ModuleFilter<T> | ModuleIdentifier,
19
45
  options?: ModuleFilterOptions<T>,
20
46
  ): Promisable<T | T[] | undefined>
21
47
  }
@@ -43,25 +69,34 @@ export type InstanceTypeCheck<T extends ModuleInstance = ModuleInstance> = TypeC
43
69
 
44
70
  export class IsInstanceFactory<T extends ModuleInstance = ModuleInstance> extends IsObjectFactory<T> {}
45
71
 
72
+ export type Direction = 'up' | 'down' | 'all'
73
+ export type Visibility = 'public' | 'private' | 'all'
74
+
46
75
  export interface ModuleFilterOptions<T extends ModuleInstance = ModuleInstance> {
47
- direction?: 'up' | 'down' | 'all'
76
+ direction?: Direction
48
77
  identity?: InstanceTypeCheck<T>
49
78
  maxDepth?: number
50
- visibility?: 'public' | 'private' | 'all'
79
+ visibility?: Visibility
51
80
  }
52
81
 
53
82
  export interface AddressModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {
54
- address: string[]
83
+ address: Address[]
55
84
  }
56
85
 
86
+ export const isAddressModuleFilter = (value: unknown): value is AddressModuleFilter => (value as AddressModuleFilter).address !== undefined
87
+
57
88
  export interface NameModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {
58
89
  name: string[]
59
90
  }
60
91
 
92
+ export const isNameModuleFilter = (value: unknown): value is NameModuleFilter => (value as NameModuleFilter).name !== undefined
93
+
61
94
  export interface QueryModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {
62
95
  query: string[][]
63
96
  }
64
97
 
98
+ export const isQueryModuleFilter = (value: unknown): value is QueryModuleFilter => (value as QueryModuleFilter).query !== undefined
99
+
65
100
  export type AnyModuleFilter<T extends ModuleInstance = ModuleInstance> = Partial<AddressModuleFilter<T>> &
66
101
  Partial<NameModuleFilter<T>> &
67
102
  Partial<QueryModuleFilter<T>>
@@ -1,3 +1,5 @@
1
+ import { Address } from '@xylabs/hex'
2
+
1
3
  import { Module } from '../module'
2
4
  import { ModuleResolverInstance } from './ModuleInstance'
3
5
 
@@ -6,5 +8,5 @@ export interface ModuleRepository extends ModuleResolverInstance {
6
8
  add(module: Module[]): this
7
9
  add(module: Module | Module[]): this
8
10
 
9
- remove(address: string | string[]): this
11
+ remove(address: Address | string[]): this
10
12
  }
@@ -1,3 +1,4 @@
1
+ import { Address } from '@xylabs/hex'
1
2
  import { Promisable } from '@xylabs/promise'
2
3
  import { QueryBoundWitness } from '@xyo-network/boundwitness-model'
3
4
  import { Payload } from '@xyo-network/payload-model'
@@ -7,7 +8,7 @@ import { ModuleParams } from '../ModuleParams'
7
8
  import { ModuleQueryResult } from '../ModuleQueryResult'
8
9
 
9
10
  export type ModuleFields<TParams extends ModuleParams = ModuleParams> = {
10
- address: string
11
+ address: Address
11
12
  config: TParams['config']
12
13
 
13
14
  /** The name (if specified) or address of the module */