@xyo-network/react-standard-node 2.64.0-rc.7 → 2.64.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.
- package/dist/browser/components/ActiveStandardNode.cjs +85 -0
- package/dist/browser/components/ActiveStandardNode.cjs.map +1 -0
- package/dist/browser/components/ActiveStandardNode.d.cts +7 -0
- package/dist/browser/components/ActiveStandardNode.d.cts.map +1 -0
- package/dist/browser/components/index.cjs +87 -0
- package/dist/browser/components/index.cjs.map +1 -0
- package/dist/browser/components/index.d.cts +2 -0
- package/dist/browser/components/index.d.cts.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/Context.cjs +28 -0
- package/dist/{node/contexts/StandardRemoteNodes/Context.mjs.map → browser/contexts/StandardRemoteNodes/Context.cjs.map} +1 -1
- package/dist/browser/contexts/StandardRemoteNodes/Context.d.cts +4 -0
- package/dist/browser/contexts/StandardRemoteNodes/Context.d.cts.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/Providers.cjs +308 -0
- package/dist/browser/contexts/StandardRemoteNodes/Providers.cjs.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/Providers.d.cts +11 -0
- package/dist/browser/contexts/StandardRemoteNodes/Providers.d.cts.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/State.cjs +19 -0
- package/dist/browser/contexts/StandardRemoteNodes/State.cjs.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/State.d.cts +7 -0
- package/dist/browser/contexts/StandardRemoteNodes/State.d.cts.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/index.cjs +316 -0
- package/dist/browser/contexts/StandardRemoteNodes/index.cjs.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/index.d.cts +5 -0
- package/dist/browser/contexts/StandardRemoteNodes/index.d.cts.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/use.cjs +34 -0
- package/dist/browser/contexts/StandardRemoteNodes/use.cjs.map +1 -0
- package/dist/browser/contexts/StandardRemoteNodes/use.d.cts +2 -0
- package/dist/browser/contexts/StandardRemoteNodes/use.d.cts.map +1 -0
- package/dist/browser/contexts/index.cjs +316 -0
- package/dist/browser/contexts/index.cjs.map +1 -0
- package/dist/browser/contexts/index.d.cts +2 -0
- package/dist/browser/contexts/index.d.cts.map +1 -0
- package/dist/browser/hooks/index.cjs +50 -0
- package/dist/browser/hooks/index.cjs.map +1 -0
- package/dist/browser/hooks/index.d.cts +2 -0
- package/dist/browser/hooks/index.d.cts.map +1 -0
- package/dist/browser/hooks/useActiveNodeAddress.cjs +48 -0
- package/dist/browser/hooks/useActiveNodeAddress.cjs.map +1 -0
- package/dist/browser/hooks/useActiveNodeAddress.d.cts +2 -0
- package/dist/browser/hooks/useActiveNodeAddress.d.cts.map +1 -0
- package/dist/browser/index.cjs +382 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.cts +5 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/browser/lib/Builders/MemoryNodeBuilder.cjs +194 -0
- package/dist/browser/lib/Builders/MemoryNodeBuilder.cjs.map +1 -0
- package/dist/browser/lib/Builders/MemoryNodeBuilder.d.cts +166 -0
- package/dist/browser/lib/Builders/MemoryNodeBuilder.d.cts.map +1 -0
- package/dist/browser/lib/Builders/SentinelBuilder.cjs +54 -0
- package/dist/{node/lib/Builders/SentinelBuilder.mjs.map → browser/lib/Builders/SentinelBuilder.cjs.map} +1 -1
- package/dist/browser/lib/Builders/SentinelBuilder.d.cts +205 -0
- package/dist/browser/lib/Builders/SentinelBuilder.d.cts.map +1 -0
- package/dist/browser/lib/Builders/StorageArchivistBuilder.cjs +76 -0
- package/dist/{node/lib/Builders/StorageArchivistBuilder.mjs.map → browser/lib/Builders/StorageArchivistBuilder.cjs.map} +1 -1
- package/dist/browser/lib/Builders/StorageArchivistBuilder.d.cts +221 -0
- package/dist/browser/lib/Builders/StorageArchivistBuilder.d.cts.map +1 -0
- package/dist/browser/lib/Builders/index.cjs +198 -0
- package/dist/browser/lib/Builders/index.cjs.map +1 -0
- package/dist/browser/lib/Builders/index.d.cts +4 -0
- package/dist/browser/lib/Builders/index.d.cts.map +1 -0
- package/dist/browser/lib/ModuleAccountPaths.cjs +53 -0
- package/dist/browser/lib/ModuleAccountPaths.cjs.map +1 -0
- package/dist/browser/lib/ModuleAccountPaths.d.cts +4 -0
- package/dist/browser/lib/ModuleAccountPaths.d.cts.map +1 -0
- package/dist/browser/lib/ModuleNames.cjs +29 -0
- package/dist/{node/lib/ModuleNames.mjs.map → browser/lib/ModuleNames.cjs.map} +1 -1
- package/dist/browser/lib/ModuleNames.d.cts +3 -0
- package/dist/browser/lib/ModuleNames.d.cts.map +1 -0
- package/dist/browser/lib/buildNodes.cjs +257 -0
- package/dist/browser/lib/buildNodes.cjs.map +1 -0
- package/dist/browser/lib/buildNodes.d.cts +4 -0
- package/dist/browser/lib/buildNodes.d.cts.map +1 -0
- package/dist/browser/lib/index.cjs +269 -0
- package/dist/browser/lib/index.cjs.map +1 -0
- package/dist/browser/lib/index.d.cts +5 -0
- package/dist/browser/lib/index.d.cts.map +1 -0
- package/dist/docs.json +6100 -0
- package/dist/node/components/ActiveStandardNode.cjs +90 -0
- package/dist/node/components/ActiveStandardNode.cjs.map +1 -0
- package/dist/node/components/ActiveStandardNode.d.cts +7 -0
- package/dist/node/components/ActiveStandardNode.d.cts.map +1 -0
- package/dist/node/components/ActiveStandardNode.js +43 -43
- package/dist/node/components/ActiveStandardNode.js.map +1 -1
- package/dist/node/components/index.cjs +92 -0
- package/dist/node/components/index.cjs.map +1 -0
- package/dist/node/components/index.d.cts +2 -0
- package/dist/node/components/index.d.cts.map +1 -0
- package/dist/node/components/index.js +63 -21
- package/dist/node/components/index.js.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/Context.cjs +32 -0
- package/dist/node/contexts/StandardRemoteNodes/Context.cjs.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/Context.d.cts +4 -0
- package/dist/node/contexts/StandardRemoteNodes/Context.d.cts.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/Context.js +5 -28
- package/dist/node/contexts/StandardRemoteNodes/Context.js.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/Providers.cjs +319 -0
- package/dist/node/contexts/StandardRemoteNodes/Providers.cjs.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/Providers.d.cts +11 -0
- package/dist/node/contexts/StandardRemoteNodes/Providers.d.cts.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/Providers.js +263 -44
- package/dist/node/contexts/StandardRemoteNodes/Providers.js.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/State.cjs +19 -0
- package/dist/node/contexts/StandardRemoteNodes/State.cjs.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/State.d.cts +7 -0
- package/dist/node/contexts/StandardRemoteNodes/State.d.cts.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/State.js +0 -16
- package/dist/node/contexts/StandardRemoteNodes/State.js.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/index.cjs +329 -0
- package/dist/node/contexts/StandardRemoteNodes/index.cjs.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/index.d.cts +5 -0
- package/dist/node/contexts/StandardRemoteNodes/index.d.cts.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/index.js +298 -28
- package/dist/node/contexts/StandardRemoteNodes/index.js.map +1 -1
- package/dist/node/contexts/StandardRemoteNodes/use.cjs +38 -0
- package/dist/node/contexts/StandardRemoteNodes/use.cjs.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/use.d.cts +2 -0
- package/dist/node/contexts/StandardRemoteNodes/use.d.cts.map +1 -0
- package/dist/node/contexts/StandardRemoteNodes/use.js +11 -29
- package/dist/node/contexts/StandardRemoteNodes/use.js.map +1 -1
- package/dist/node/contexts/index.cjs +329 -0
- package/dist/node/contexts/index.cjs.map +1 -0
- package/dist/node/contexts/index.d.cts +2 -0
- package/dist/node/contexts/index.d.cts.map +1 -0
- package/dist/node/contexts/index.js +298 -22
- package/dist/node/contexts/index.js.map +1 -1
- package/dist/node/hooks/index.cjs +54 -0
- package/dist/node/hooks/index.cjs.map +1 -0
- package/dist/node/hooks/index.d.cts +2 -0
- package/dist/node/hooks/index.d.cts.map +1 -0
- package/dist/node/hooks/index.js +25 -21
- package/dist/node/hooks/index.js.map +1 -1
- package/dist/node/hooks/useActiveNodeAddress.cjs +52 -0
- package/dist/node/hooks/useActiveNodeAddress.cjs.map +1 -0
- package/dist/node/hooks/useActiveNodeAddress.d.cts +2 -0
- package/dist/node/hooks/useActiveNodeAddress.d.cts.map +1 -0
- package/dist/node/hooks/useActiveNodeAddress.js +19 -33
- package/dist/node/hooks/useActiveNodeAddress.js.map +1 -1
- package/dist/node/index.cjs +407 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +5 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +365 -28
- package/dist/node/index.js.map +1 -1
- package/dist/node/lib/Builders/MemoryNodeBuilder.cjs +201 -0
- package/dist/node/lib/Builders/MemoryNodeBuilder.cjs.map +1 -0
- package/dist/node/lib/Builders/MemoryNodeBuilder.d.cts +166 -0
- package/dist/node/lib/Builders/MemoryNodeBuilder.d.cts.map +1 -0
- package/dist/node/lib/Builders/MemoryNodeBuilder.js +108 -46
- package/dist/node/lib/Builders/MemoryNodeBuilder.js.map +1 -1
- package/dist/node/lib/Builders/SentinelBuilder.cjs +58 -0
- package/dist/node/lib/Builders/SentinelBuilder.cjs.map +1 -0
- package/dist/node/lib/Builders/SentinelBuilder.d.cts +205 -0
- package/dist/node/lib/Builders/SentinelBuilder.d.cts.map +1 -0
- package/dist/node/lib/Builders/SentinelBuilder.js +10 -33
- package/dist/node/lib/Builders/SentinelBuilder.js.map +1 -1
- package/dist/node/lib/Builders/StorageArchivistBuilder.cjs +82 -0
- package/dist/node/lib/Builders/StorageArchivistBuilder.cjs.map +1 -0
- package/dist/node/lib/Builders/StorageArchivistBuilder.d.cts +221 -0
- package/dist/node/lib/Builders/StorageArchivistBuilder.d.cts.map +1 -0
- package/dist/node/lib/Builders/StorageArchivistBuilder.js +18 -39
- package/dist/node/lib/Builders/StorageArchivistBuilder.js.map +1 -1
- package/dist/node/lib/Builders/index.cjs +207 -0
- package/dist/node/lib/Builders/index.cjs.map +1 -0
- package/dist/node/lib/Builders/index.d.cts +4 -0
- package/dist/node/lib/Builders/index.d.cts.map +1 -0
- package/dist/node/lib/Builders/index.js +176 -25
- package/dist/node/lib/Builders/index.js.map +1 -1
- package/dist/node/lib/ModuleAccountPaths.cjs +59 -0
- package/dist/node/lib/ModuleAccountPaths.cjs.map +1 -0
- package/dist/node/lib/ModuleAccountPaths.d.cts +4 -0
- package/dist/node/lib/ModuleAccountPaths.d.cts.map +1 -0
- package/dist/node/lib/ModuleAccountPaths.js +12 -35
- package/dist/node/lib/ModuleAccountPaths.js.map +1 -1
- package/dist/node/lib/ModuleNames.cjs +34 -0
- package/dist/node/lib/ModuleNames.cjs.map +1 -0
- package/dist/node/lib/ModuleNames.d.cts +3 -0
- package/dist/node/lib/ModuleNames.d.cts.map +1 -0
- package/dist/node/lib/ModuleNames.js +5 -29
- package/dist/node/lib/ModuleNames.js.map +1 -1
- package/dist/node/lib/buildNodes.cjs +266 -0
- package/dist/node/lib/buildNodes.cjs.map +1 -0
- package/dist/node/lib/buildNodes.d.cts +4 -0
- package/dist/node/lib/buildNodes.d.cts.map +1 -0
- package/dist/node/lib/buildNodes.js +217 -42
- package/dist/node/lib/buildNodes.js.map +1 -1
- package/dist/node/lib/index.cjs +286 -0
- package/dist/node/lib/index.cjs.map +1 -0
- package/dist/node/lib/index.d.cts +5 -0
- package/dist/node/lib/index.d.cts.map +1 -0
- package/dist/node/lib/index.js +250 -28
- package/dist/node/lib/index.js.map +1 -1
- package/package.json +30 -30
- package/dist/node/components/ActiveStandardNode.mjs +0 -41
- package/dist/node/components/ActiveStandardNode.mjs.map +0 -1
- package/dist/node/components/index.mjs +0 -2
- package/dist/node/components/index.mjs.map +0 -1
- package/dist/node/contexts/StandardRemoteNodes/Context.mjs +0 -6
- package/dist/node/contexts/StandardRemoteNodes/Providers.mjs +0 -49
- package/dist/node/contexts/StandardRemoteNodes/Providers.mjs.map +0 -1
- package/dist/node/contexts/StandardRemoteNodes/State.mjs +0 -1
- package/dist/node/contexts/StandardRemoteNodes/State.mjs.map +0 -1
- package/dist/node/contexts/StandardRemoteNodes/index.mjs +0 -5
- package/dist/node/contexts/StandardRemoteNodes/index.mjs.map +0 -1
- package/dist/node/contexts/StandardRemoteNodes/use.mjs +0 -7
- package/dist/node/contexts/StandardRemoteNodes/use.mjs.map +0 -1
- package/dist/node/contexts/index.mjs +0 -2
- package/dist/node/contexts/index.mjs.map +0 -1
- package/dist/node/hooks/index.mjs +0 -2
- package/dist/node/hooks/index.mjs.map +0 -1
- package/dist/node/hooks/useActiveNodeAddress.mjs +0 -17
- package/dist/node/hooks/useActiveNodeAddress.mjs.map +0 -1
- package/dist/node/index.mjs +0 -5
- package/dist/node/index.mjs.map +0 -1
- package/dist/node/lib/Builders/MemoryNodeBuilder.mjs +0 -90
- package/dist/node/lib/Builders/MemoryNodeBuilder.mjs.map +0 -1
- package/dist/node/lib/Builders/SentinelBuilder.mjs +0 -32
- package/dist/node/lib/Builders/StorageArchivistBuilder.mjs +0 -54
- package/dist/node/lib/Builders/index.mjs +0 -4
- package/dist/node/lib/Builders/index.mjs.map +0 -1
- package/dist/node/lib/ModuleAccountPaths.mjs +0 -27
- package/dist/node/lib/ModuleAccountPaths.mjs.map +0 -1
- package/dist/node/lib/ModuleNames.mjs +0 -7
- package/dist/node/lib/buildNodes.mjs +0 -42
- package/dist/node/lib/buildNodes.mjs.map +0 -1
- package/dist/node/lib/index.mjs +0 -5
- package/dist/node/lib/index.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/Builders/MemoryNodeBuilder.ts","../../../../src/lib/Builders/SentinelBuilder.ts","../../../../src/lib/Builders/StorageArchivistBuilder.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { MemoryArchivist, MemoryArchivistConfig, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\nimport { HttpBridge, HttpBridgeConfigSchema } from '@xyo-network/http-bridge'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { SentinelConfig } from '@xyo-network/sentinel'\nimport { WitnessInstance, WitnessModule } from '@xyo-network/witness'\n\nimport { SentinelBuilder } from './SentinelBuilder'\nimport { StorageArchivistBuilder } from './StorageArchivistBuilder'\n\nexport interface MemoryNodeBuilderConfig {\n name?: string\n node?: MemoryNode\n}\n\nexport class MemoryNodeBuilder {\n private _node: MemoryNode | undefined\n\n get node() {\n return assertDefinedEx(this._node, 'this._node was not defined upon create')\n }\n\n static async create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder> {\n const instance = new this()\n\n const memoryNode: MemoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }))\n instance._node = memoryNode\n return instance\n }\n\n /** @deprecated - call specific method that corresponds to a type of archivist (i.e. addArchivistStorage) */\n async addArchivist(account: AccountInstance, moduleName?: string, namespace?: string) {\n await this.addArchivistStorage(account, moduleName, namespace)\n }\n\n async addArchivistMemory(moduleName?: string, account?: AccountInstance) {\n const config: MemoryArchivistConfig = { name: moduleName, schema: MemoryArchivistConfigSchema }\n const memoryArchivist = await MemoryArchivist.create({ account, config })\n\n await this.attach(memoryArchivist, true)\n }\n\n async addArchivistStorage(account: AccountInstance, moduleName?: string, namespace?: string) {\n const config = { name: moduleName, namespace }\n const { archivist } = await StorageArchivistBuilder.create(config, account, this.node)\n\n await this.attach(archivist, true)\n }\n\n async addBridge(apiDomain: string, moduleName = 'RemoteNodeBridge', account?: AccountInstance) {\n try {\n const bridge = await HttpBridge.create({\n account,\n config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } },\n })\n await this.attach(bridge, true)\n } catch (e) {\n console.error('Error Creating Bridge', e)\n }\n }\n\n async addSentinel(config: SentinelConfig, account: AccountInstance) {\n const { sentinel } = await SentinelBuilder.create(config, account)\n await this.attach(sentinel, true, true)\n return sentinel\n }\n\n async addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses: (() => Promise<WitnessInstance>)[] = []) {\n await Promise.all(\n pluginSetResolver.witnesses().map(async (pluginSet, index) => {\n // Pass the prebuilt witness at the same index\n const witness = await witnesses?.[index]?.()\n if (witness) {\n try {\n await this.witnessCleanup(witness)\n await this.node.register(witness)\n await this.node.attach(witness.address, true)\n } catch (e) {\n console.error('Error attaching witness', JSON.stringify(pluginSet, null, 2), e)\n }\n }\n }),\n )\n }\n\n async attach(module: ModuleInstance, external?: boolean, safeAttach?: boolean) {\n try {\n if (safeAttach) {\n const existingModule = (await this.node.resolve({ address: [module.address] })).pop()\n if (existingModule) {\n await this.node.detach(existingModule.address)\n await this.node.unregister(existingModule)\n }\n }\n await this.node.register(module)\n await this.node.attach(module.address, external)\n } catch (e) {\n throw Error(`Error adding ${module.config.name ?? module.address} to MemoryNode: ${e}`)\n }\n }\n\n private async witnessCleanup(witness: WitnessModule) {\n if (this.node.registered().includes(witness.address)) {\n const [existingWitness] = await this.node.resolve({ address: [witness.address] })\n await this.node.unregister(existingWitness)\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { MemorySentinel, MemorySentinelParams, SentinelConfig } from '@xyo-network/sentinel'\n\nexport class SentinelBuilder {\n private _sentinel: MemorySentinel | undefined\n\n protected constructor(\n private config: SentinelConfig,\n private account: AccountInstance,\n ) {\n assertDefinedEx(config, 'config was not defined')\n }\n\n get sentinel() {\n return assertDefinedEx(this._sentinel, 'this._sentinel not defined upon create')\n }\n\n static async create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder> {\n const instance = new this(config, account)\n instance._sentinel = await instance.buildSentinel()\n return instance\n }\n\n async buildSentinel() {\n const params = this.buildParams()\n return (await MemorySentinel.create(params)) as MemorySentinel\n }\n\n private buildParams(): MemorySentinelParams {\n return {\n account: this.account,\n config: this.config,\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { ArchivistModule, asArchivistInstance, StorageArchivist, StorageArchivistConfig, StorageArchivistConfigSchema } from '@xyo-network/archivist'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { asNodeInstance } from '@xyo-network/node-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\n\nexport interface ArchivistBuilderConfig {\n name?: string\n namespace?: string\n}\nexport class StorageArchivistBuilder {\n private _archivist: StorageArchivist | undefined\n private remoteArchivist: ArchivistModule | undefined\n\n protected constructor(\n private config: ArchivistBuilderConfig,\n private account: AccountInstance,\n private node?: MemoryNode,\n ) {}\n\n get archivist() {\n return assertDefinedEx(this._archivist, 'archivist was not defined upon create')\n }\n\n static async create(config: ArchivistBuilderConfig, account: AccountInstance, node: MemoryNode): Promise<StorageArchivistBuilder> {\n const instance = new this(config, account, node)\n instance.remoteArchivist = await instance.findParentArchivist()\n instance._archivist = await instance.buildArchivist()\n return instance\n }\n\n async buildArchivist() {\n const config = this.buildConfig()\n return (await StorageArchivist.create({ account: this.account, config })) as StorageArchivist\n }\n\n buildConfig(): StorageArchivistConfig {\n return {\n name: this.config.name,\n namespace: this.config.namespace,\n parents: {\n commit: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n read: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n },\n schema: StorageArchivistConfigSchema,\n storeParentReads: true,\n type: 'local',\n }\n }\n\n async findParentArchivist() {\n const node = asNodeInstance(this.node, 'node not defined')\n const [bridge] = (await node.resolve({ name: ['RemoteNodeBridge'] })) ?? []\n if (bridge) {\n try {\n const [archivist] = (await bridge.resolve({ name: ['Archivist'] })) ?? []\n return asArchivistInstance(archivist)\n } catch (e) {\n console.error('Error Resolving Parent Archivist', this.node?.config.name, this.config)\n }\n }\n }\n}\n"],"mappings":"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","names":["import_archivist","import_node_model","import_react_shared","import_react_shared","module"]}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
+
import { ModuleInstance } from '@xyo-network/module';
|
|
3
|
+
import { MemoryNode } from '@xyo-network/node-memory';
|
|
4
|
+
import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin';
|
|
5
|
+
import { SentinelConfig } from '@xyo-network/sentinel';
|
|
6
|
+
import { WitnessInstance } from '@xyo-network/witness';
|
|
7
|
+
export interface MemoryNodeBuilderConfig {
|
|
8
|
+
name?: string;
|
|
9
|
+
node?: MemoryNode;
|
|
10
|
+
}
|
|
11
|
+
export declare class MemoryNodeBuilder {
|
|
12
|
+
private _node;
|
|
13
|
+
get node(): MemoryNode<import("@xyo-network/core").BaseParamsFields & {
|
|
14
|
+
account?: AccountInstance | "random" | undefined;
|
|
15
|
+
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
16
|
+
accountDerivationPath?: string | undefined;
|
|
17
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
18
|
+
readonly labels?: import("@xyo-network/module").Labels | undefined;
|
|
19
|
+
readonly name?: string | undefined;
|
|
20
|
+
readonly paging?: Record<string, {
|
|
21
|
+
size?: number | undefined;
|
|
22
|
+
}> | undefined;
|
|
23
|
+
readonly security?: {
|
|
24
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
25
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
26
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
27
|
+
} | undefined;
|
|
28
|
+
readonly sign?: boolean | undefined;
|
|
29
|
+
readonly storeQueries?: boolean | undefined;
|
|
30
|
+
readonly timestamp?: boolean | undefined;
|
|
31
|
+
} & Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
32
|
+
accountDerivationPath?: string | undefined;
|
|
33
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
34
|
+
readonly labels?: import("@xyo-network/module").Labels | undefined;
|
|
35
|
+
readonly name?: string | undefined;
|
|
36
|
+
readonly paging?: Record<string, {
|
|
37
|
+
size?: number | undefined;
|
|
38
|
+
}> | undefined;
|
|
39
|
+
readonly security?: {
|
|
40
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
41
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
42
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
43
|
+
} | undefined;
|
|
44
|
+
readonly sign?: boolean | undefined;
|
|
45
|
+
readonly storeQueries?: boolean | undefined;
|
|
46
|
+
readonly timestamp?: boolean | undefined;
|
|
47
|
+
} & {
|
|
48
|
+
archivist?: string | undefined;
|
|
49
|
+
} & {
|
|
50
|
+
schema: "network.xyo.node.config";
|
|
51
|
+
}, "schema"> & {
|
|
52
|
+
schema: string;
|
|
53
|
+
}, "schema"> & {
|
|
54
|
+
schema: string;
|
|
55
|
+
};
|
|
56
|
+
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
57
|
+
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
58
|
+
}, import("@xyo-network/node-model").NodeModuleEventData>;
|
|
59
|
+
static create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder>;
|
|
60
|
+
/** @deprecated - call specific method that corresponds to a type of archivist (i.e. addArchivistStorage) */
|
|
61
|
+
addArchivist(account: AccountInstance, moduleName?: string, namespace?: string): Promise<void>;
|
|
62
|
+
addArchivistMemory(moduleName?: string, account?: AccountInstance): Promise<void>;
|
|
63
|
+
addArchivistStorage(account: AccountInstance, moduleName?: string, namespace?: string): Promise<void>;
|
|
64
|
+
addBridge(apiDomain: string, moduleName?: string, account?: AccountInstance): Promise<void>;
|
|
65
|
+
addSentinel(config: SentinelConfig, account: AccountInstance): Promise<import("@xyo-network/sentinel").MemorySentinel<import("@xyo-network/core").BaseParamsFields & {
|
|
66
|
+
account?: AccountInstance | "random" | undefined;
|
|
67
|
+
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
68
|
+
accountDerivationPath?: string | undefined;
|
|
69
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
70
|
+
readonly labels?: import("@xyo-network/module").Labels | undefined;
|
|
71
|
+
readonly name?: string | undefined;
|
|
72
|
+
readonly paging?: Record<string, {
|
|
73
|
+
size?: number | undefined;
|
|
74
|
+
}> | undefined;
|
|
75
|
+
readonly security?: {
|
|
76
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
77
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
78
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
79
|
+
} | undefined;
|
|
80
|
+
readonly sign?: boolean | undefined;
|
|
81
|
+
readonly storeQueries?: boolean | undefined;
|
|
82
|
+
readonly timestamp?: boolean | undefined;
|
|
83
|
+
} & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
84
|
+
accountDerivationPath?: string | undefined;
|
|
85
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
86
|
+
readonly labels?: import("@xyo-network/module").Labels | undefined;
|
|
87
|
+
readonly name?: string | undefined;
|
|
88
|
+
readonly paging?: Record<string, {
|
|
89
|
+
size?: number | undefined;
|
|
90
|
+
}> | undefined;
|
|
91
|
+
readonly security?: {
|
|
92
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
93
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
94
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
95
|
+
} | undefined;
|
|
96
|
+
readonly sign?: boolean | undefined;
|
|
97
|
+
readonly storeQueries?: boolean | undefined;
|
|
98
|
+
readonly timestamp?: boolean | undefined;
|
|
99
|
+
} & {
|
|
100
|
+
archivists?: string[] | undefined;
|
|
101
|
+
schema: string;
|
|
102
|
+
} & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
103
|
+
schema: "network.xyo.module.config";
|
|
104
|
+
}, "schema"> & {
|
|
105
|
+
schema: "network.xyo.module.config";
|
|
106
|
+
} & {
|
|
107
|
+
witnesses?: string[] | undefined;
|
|
108
|
+
}, "schema"> & {
|
|
109
|
+
schema: "network.xyo.sentinel.config";
|
|
110
|
+
};
|
|
111
|
+
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
112
|
+
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
113
|
+
}, import("@xyo-network/sentinel").SentinelModuleEventData<import("@xyo-network/sentinel").SentinelInstance<import("@xyo-network/core").BaseParamsFields & {
|
|
114
|
+
account?: AccountInstance | "random" | undefined;
|
|
115
|
+
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
116
|
+
accountDerivationPath?: string | undefined;
|
|
117
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
118
|
+
readonly labels?: import("@xyo-network/module").Labels | undefined;
|
|
119
|
+
readonly name?: string | undefined;
|
|
120
|
+
readonly paging?: Record<string, {
|
|
121
|
+
size?: number | undefined;
|
|
122
|
+
}> | undefined;
|
|
123
|
+
readonly security?: {
|
|
124
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
125
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
126
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
127
|
+
} | undefined;
|
|
128
|
+
readonly sign?: boolean | undefined;
|
|
129
|
+
readonly storeQueries?: boolean | undefined;
|
|
130
|
+
readonly timestamp?: boolean | undefined;
|
|
131
|
+
} & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
132
|
+
accountDerivationPath?: string | undefined;
|
|
133
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
134
|
+
readonly labels?: import("@xyo-network/module").Labels | undefined;
|
|
135
|
+
readonly name?: string | undefined;
|
|
136
|
+
readonly paging?: Record<string, {
|
|
137
|
+
size?: number | undefined;
|
|
138
|
+
}> | undefined;
|
|
139
|
+
readonly security?: {
|
|
140
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
141
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
142
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
143
|
+
} | undefined;
|
|
144
|
+
readonly sign?: boolean | undefined;
|
|
145
|
+
readonly storeQueries?: boolean | undefined;
|
|
146
|
+
readonly timestamp?: boolean | undefined;
|
|
147
|
+
} & {
|
|
148
|
+
archivists?: string[] | undefined;
|
|
149
|
+
schema: string;
|
|
150
|
+
} & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
151
|
+
schema: "network.xyo.module.config";
|
|
152
|
+
}, "schema"> & {
|
|
153
|
+
schema: "network.xyo.module.config";
|
|
154
|
+
} & {
|
|
155
|
+
witnesses?: string[] | undefined;
|
|
156
|
+
}, "schema"> & {
|
|
157
|
+
schema: "network.xyo.sentinel.config";
|
|
158
|
+
};
|
|
159
|
+
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
160
|
+
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
161
|
+
}>>>>;
|
|
162
|
+
addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses?: (() => Promise<WitnessInstance>)[]): Promise<void>;
|
|
163
|
+
attach(module: ModuleInstance, external?: boolean, safeAttach?: boolean): Promise<void>;
|
|
164
|
+
private witnessCleanup;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=MemoryNodeBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryNodeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/Builders/MemoryNodeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAiB,MAAM,sBAAsB,CAAA;AAKrE,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAwB;IAErC,IAAI,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DAEP;WAEY,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQnH,4GAA4G;IACtG,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAI9E,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAOjE,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAOrF,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,SAAqB,EAAE,OAAO,CAAC,EAAE,eAAe;IAYvF,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM5D,YAAY,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,SAAS,GAAE,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC,EAAO;IAkB5G,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO;YAgB/D,cAAc;CAM7B"}
|
|
@@ -1,41 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
// src/lib/Builders/MemoryNodeBuilder.ts
|
|
2
|
+
import { MemoryArchivist, MemoryArchivistConfigSchema } from "@xyo-network/archivist";
|
|
3
|
+
import { HttpBridge, HttpBridgeConfigSchema } from "@xyo-network/http-bridge";
|
|
4
|
+
import { MemoryNode } from "@xyo-network/node-memory";
|
|
5
|
+
import { NodeConfigSchema } from "@xyo-network/node-model";
|
|
6
|
+
import { assertDefinedEx as assertDefinedEx3 } from "@xyo-network/react-shared";
|
|
7
|
+
|
|
8
|
+
// src/lib/Builders/SentinelBuilder.ts
|
|
9
|
+
import { assertDefinedEx } from "@xyo-network/react-shared";
|
|
10
|
+
import { MemorySentinel } from "@xyo-network/sentinel";
|
|
11
|
+
var SentinelBuilder = class {
|
|
12
|
+
constructor(config, account) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
this.account = account;
|
|
15
|
+
assertDefinedEx(config, "config was not defined");
|
|
16
|
+
}
|
|
17
|
+
_sentinel;
|
|
18
|
+
get sentinel() {
|
|
19
|
+
return assertDefinedEx(this._sentinel, "this._sentinel not defined upon create");
|
|
20
|
+
}
|
|
21
|
+
static async create(config, account) {
|
|
22
|
+
const instance = new this(config, account);
|
|
23
|
+
instance._sentinel = await instance.buildSentinel();
|
|
24
|
+
return instance;
|
|
25
|
+
}
|
|
26
|
+
async buildSentinel() {
|
|
27
|
+
const params = this.buildParams();
|
|
28
|
+
return await MemorySentinel.create(params);
|
|
29
|
+
}
|
|
30
|
+
buildParams() {
|
|
31
|
+
return {
|
|
32
|
+
account: this.account,
|
|
33
|
+
config: this.config
|
|
34
|
+
};
|
|
35
|
+
}
|
|
9
36
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
37
|
+
|
|
38
|
+
// src/lib/Builders/StorageArchivistBuilder.ts
|
|
39
|
+
import { asArchivistInstance, StorageArchivist, StorageArchivistConfigSchema } from "@xyo-network/archivist";
|
|
40
|
+
import { asNodeInstance } from "@xyo-network/node-model";
|
|
41
|
+
import { assertDefinedEx as assertDefinedEx2 } from "@xyo-network/react-shared";
|
|
42
|
+
var StorageArchivistBuilder = class {
|
|
43
|
+
constructor(config, account, node) {
|
|
44
|
+
this.config = config;
|
|
45
|
+
this.account = account;
|
|
46
|
+
this.node = node;
|
|
47
|
+
}
|
|
48
|
+
_archivist;
|
|
49
|
+
remoteArchivist;
|
|
50
|
+
get archivist() {
|
|
51
|
+
return assertDefinedEx2(this._archivist, "archivist was not defined upon create");
|
|
52
|
+
}
|
|
53
|
+
static async create(config, account, node) {
|
|
54
|
+
const instance = new this(config, account, node);
|
|
55
|
+
instance.remoteArchivist = await instance.findParentArchivist();
|
|
56
|
+
instance._archivist = await instance.buildArchivist();
|
|
57
|
+
return instance;
|
|
58
|
+
}
|
|
59
|
+
async buildArchivist() {
|
|
60
|
+
const config = this.buildConfig();
|
|
61
|
+
return await StorageArchivist.create({ account: this.account, config });
|
|
62
|
+
}
|
|
63
|
+
buildConfig() {
|
|
64
|
+
var _a, _b;
|
|
65
|
+
return {
|
|
66
|
+
name: this.config.name,
|
|
67
|
+
namespace: this.config.namespace,
|
|
68
|
+
parents: {
|
|
69
|
+
commit: this.remoteArchivist ? [(_a = this.remoteArchivist) == null ? void 0 : _a.address] : void 0,
|
|
70
|
+
read: this.remoteArchivist ? [(_b = this.remoteArchivist) == null ? void 0 : _b.address] : void 0
|
|
71
|
+
},
|
|
72
|
+
schema: StorageArchivistConfigSchema,
|
|
73
|
+
storeParentReads: true,
|
|
74
|
+
type: "local"
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
async findParentArchivist() {
|
|
78
|
+
var _a;
|
|
79
|
+
const node = asNodeInstance(this.node, "node not defined");
|
|
80
|
+
const [bridge] = await node.resolve({ name: ["RemoteNodeBridge"] }) ?? [];
|
|
81
|
+
if (bridge) {
|
|
82
|
+
try {
|
|
83
|
+
const [archivist] = await bridge.resolve({ name: ["Archivist"] }) ?? [];
|
|
84
|
+
return asArchivistInstance(archivist);
|
|
85
|
+
} catch (e) {
|
|
86
|
+
console.error("Error Resolving Parent Archivist", (_a = this.node) == null ? void 0 : _a.config.name, this.config);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
15
89
|
}
|
|
16
|
-
return to;
|
|
17
90
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
MemoryNodeBuilder: () => MemoryNodeBuilder
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(MemoryNodeBuilder_exports);
|
|
24
|
-
var import_archivist = require("@xyo-network/archivist");
|
|
25
|
-
var import_http_bridge = require("@xyo-network/http-bridge");
|
|
26
|
-
var import_node_memory = require("@xyo-network/node-memory");
|
|
27
|
-
var import_node_model = require("@xyo-network/node-model");
|
|
28
|
-
var import_react_shared = require("@xyo-network/react-shared");
|
|
29
|
-
var import_SentinelBuilder = require("./SentinelBuilder");
|
|
30
|
-
var import_StorageArchivistBuilder = require("./StorageArchivistBuilder");
|
|
31
|
-
class MemoryNodeBuilder {
|
|
91
|
+
|
|
92
|
+
// src/lib/Builders/MemoryNodeBuilder.ts
|
|
93
|
+
var MemoryNodeBuilder = class {
|
|
32
94
|
_node;
|
|
33
95
|
get node() {
|
|
34
|
-
return (
|
|
96
|
+
return assertDefinedEx3(this._node, "this._node was not defined upon create");
|
|
35
97
|
}
|
|
36
98
|
static async create({ name, node }, account) {
|
|
37
99
|
const instance = new this();
|
|
38
|
-
const memoryNode = node ?? await
|
|
100
|
+
const memoryNode = node ?? await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } });
|
|
39
101
|
instance._node = memoryNode;
|
|
40
102
|
return instance;
|
|
41
103
|
}
|
|
@@ -44,20 +106,20 @@ class MemoryNodeBuilder {
|
|
|
44
106
|
await this.addArchivistStorage(account, moduleName, namespace);
|
|
45
107
|
}
|
|
46
108
|
async addArchivistMemory(moduleName, account) {
|
|
47
|
-
const config = { name: moduleName, schema:
|
|
48
|
-
const memoryArchivist = await
|
|
109
|
+
const config = { name: moduleName, schema: MemoryArchivistConfigSchema };
|
|
110
|
+
const memoryArchivist = await MemoryArchivist.create({ account, config });
|
|
49
111
|
await this.attach(memoryArchivist, true);
|
|
50
112
|
}
|
|
51
113
|
async addArchivistStorage(account, moduleName, namespace) {
|
|
52
114
|
const config = { name: moduleName, namespace };
|
|
53
|
-
const { archivist } = await
|
|
115
|
+
const { archivist } = await StorageArchivistBuilder.create(config, account, this.node);
|
|
54
116
|
await this.attach(archivist, true);
|
|
55
117
|
}
|
|
56
118
|
async addBridge(apiDomain, moduleName = "RemoteNodeBridge", account) {
|
|
57
119
|
try {
|
|
58
|
-
const bridge = await
|
|
120
|
+
const bridge = await HttpBridge.create({
|
|
59
121
|
account,
|
|
60
|
-
config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema:
|
|
122
|
+
config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } }
|
|
61
123
|
});
|
|
62
124
|
await this.attach(bridge, true);
|
|
63
125
|
} catch (e) {
|
|
@@ -65,14 +127,15 @@ class MemoryNodeBuilder {
|
|
|
65
127
|
}
|
|
66
128
|
}
|
|
67
129
|
async addSentinel(config, account) {
|
|
68
|
-
const { sentinel } = await
|
|
130
|
+
const { sentinel } = await SentinelBuilder.create(config, account);
|
|
69
131
|
await this.attach(sentinel, true, true);
|
|
70
132
|
return sentinel;
|
|
71
133
|
}
|
|
72
134
|
async addWitnesses(pluginSetResolver, witnesses = []) {
|
|
73
135
|
await Promise.all(
|
|
74
136
|
pluginSetResolver.witnesses().map(async (pluginSet, index) => {
|
|
75
|
-
|
|
137
|
+
var _a;
|
|
138
|
+
const witness = await ((_a = witnesses == null ? void 0 : witnesses[index]) == null ? void 0 : _a.call(witnesses));
|
|
76
139
|
if (witness) {
|
|
77
140
|
try {
|
|
78
141
|
await this.witnessCleanup(witness);
|
|
@@ -85,19 +148,19 @@ class MemoryNodeBuilder {
|
|
|
85
148
|
})
|
|
86
149
|
);
|
|
87
150
|
}
|
|
88
|
-
async attach(
|
|
151
|
+
async attach(module, external, safeAttach) {
|
|
89
152
|
try {
|
|
90
153
|
if (safeAttach) {
|
|
91
|
-
const existingModule = (await this.node.resolve({ address: [
|
|
154
|
+
const existingModule = (await this.node.resolve({ address: [module.address] })).pop();
|
|
92
155
|
if (existingModule) {
|
|
93
156
|
await this.node.detach(existingModule.address);
|
|
94
157
|
await this.node.unregister(existingModule);
|
|
95
158
|
}
|
|
96
159
|
}
|
|
97
|
-
await this.node.register(
|
|
98
|
-
await this.node.attach(
|
|
160
|
+
await this.node.register(module);
|
|
161
|
+
await this.node.attach(module.address, external);
|
|
99
162
|
} catch (e) {
|
|
100
|
-
throw Error(`Error adding ${
|
|
163
|
+
throw Error(`Error adding ${module.config.name ?? module.address} to MemoryNode: ${e}`);
|
|
101
164
|
}
|
|
102
165
|
}
|
|
103
166
|
async witnessCleanup(witness) {
|
|
@@ -106,9 +169,8 @@ class MemoryNodeBuilder {
|
|
|
106
169
|
await this.node.unregister(existingWitness);
|
|
107
170
|
}
|
|
108
171
|
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
0 && (module.exports = {
|
|
172
|
+
};
|
|
173
|
+
export {
|
|
112
174
|
MemoryNodeBuilder
|
|
113
|
-
}
|
|
175
|
+
};
|
|
114
176
|
//# sourceMappingURL=MemoryNodeBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/Builders/MemoryNodeBuilder.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { MemoryArchivist, MemoryArchivistConfig, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\nimport { HttpBridge, HttpBridgeConfigSchema } from '@xyo-network/http-bridge'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { SentinelConfig } from '@xyo-network/sentinel'\nimport { WitnessInstance, WitnessModule } from '@xyo-network/witness'\n\nimport { SentinelBuilder } from './SentinelBuilder'\nimport { StorageArchivistBuilder } from './StorageArchivistBuilder'\n\nexport interface MemoryNodeBuilderConfig {\n name?: string\n node?: MemoryNode\n}\n\nexport class MemoryNodeBuilder {\n private _node: MemoryNode | undefined\n\n get node() {\n return assertDefinedEx(this._node, 'this._node was not defined upon create')\n }\n\n static async create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder> {\n const instance = new this()\n\n const memoryNode: MemoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }))\n instance._node = memoryNode\n return instance\n }\n\n /** @deprecated - call specific method that corresponds to a type of archivist (i.e. addArchivistStorage) */\n async addArchivist(account: AccountInstance, moduleName?: string, namespace?: string) {\n await this.addArchivistStorage(account, moduleName, namespace)\n }\n\n async addArchivistMemory(moduleName?: string, account?: AccountInstance) {\n const config: MemoryArchivistConfig = { name: moduleName, schema: MemoryArchivistConfigSchema }\n const memoryArchivist = await MemoryArchivist.create({ account, config })\n\n await this.attach(memoryArchivist, true)\n }\n\n async addArchivistStorage(account: AccountInstance, moduleName?: string, namespace?: string) {\n const config = { name: moduleName, namespace }\n const { archivist } = await StorageArchivistBuilder.create(config, account, this.node)\n\n await this.attach(archivist, true)\n }\n\n async addBridge(apiDomain: string, moduleName = 'RemoteNodeBridge', account?: AccountInstance) {\n try {\n const bridge = await HttpBridge.create({\n account,\n config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } },\n })\n await this.attach(bridge, true)\n } catch (e) {\n console.error('Error Creating Bridge', e)\n }\n }\n\n async addSentinel(config: SentinelConfig, account: AccountInstance) {\n const { sentinel } = await SentinelBuilder.create(config, account)\n await this.attach(sentinel, true, true)\n return sentinel\n }\n\n async addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses: (() => Promise<WitnessInstance>)[] = []) {\n await Promise.all(\n pluginSetResolver.witnesses().map(async (pluginSet, index) => {\n // Pass the prebuilt witness at the same index\n const witness = await witnesses?.[index]?.()\n if (witness) {\n try {\n await this.witnessCleanup(witness)\n await this.node.register(witness)\n await this.node.attach(witness.address, true)\n } catch (e) {\n console.error('Error attaching witness', JSON.stringify(pluginSet, null, 2), e)\n }\n }\n }),\n )\n }\n\n async attach(module: ModuleInstance, external?: boolean, safeAttach?: boolean) {\n try {\n if (safeAttach) {\n const existingModule = (await this.node.resolve({ address: [module.address] })).pop()\n if (existingModule) {\n await this.node.detach(existingModule.address)\n await this.node.unregister(existingModule)\n }\n }\n await this.node.register(module)\n await this.node.attach(module.address, external)\n } catch (e) {\n throw Error(`Error adding ${module.config.name ?? module.address} to MemoryNode: ${e}`)\n }\n }\n\n private async witnessCleanup(witness: WitnessModule) {\n if (this.node.registered().includes(witness.address)) {\n const [existingWitness] = await this.node.resolve({ address: [witness.address] })\n await this.node.unregister(existingWitness)\n }\n }\n}\n"],"mappings":"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","names":["module"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/Builders/MemoryNodeBuilder.ts","../../../../src/lib/Builders/SentinelBuilder.ts","../../../../src/lib/Builders/StorageArchivistBuilder.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { MemoryArchivist, MemoryArchivistConfig, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\nimport { HttpBridge, HttpBridgeConfigSchema } from '@xyo-network/http-bridge'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { SentinelConfig } from '@xyo-network/sentinel'\nimport { WitnessInstance, WitnessModule } from '@xyo-network/witness'\n\nimport { SentinelBuilder } from './SentinelBuilder'\nimport { StorageArchivistBuilder } from './StorageArchivistBuilder'\n\nexport interface MemoryNodeBuilderConfig {\n name?: string\n node?: MemoryNode\n}\n\nexport class MemoryNodeBuilder {\n private _node: MemoryNode | undefined\n\n get node() {\n return assertDefinedEx(this._node, 'this._node was not defined upon create')\n }\n\n static async create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder> {\n const instance = new this()\n\n const memoryNode: MemoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }))\n instance._node = memoryNode\n return instance\n }\n\n /** @deprecated - call specific method that corresponds to a type of archivist (i.e. addArchivistStorage) */\n async addArchivist(account: AccountInstance, moduleName?: string, namespace?: string) {\n await this.addArchivistStorage(account, moduleName, namespace)\n }\n\n async addArchivistMemory(moduleName?: string, account?: AccountInstance) {\n const config: MemoryArchivistConfig = { name: moduleName, schema: MemoryArchivistConfigSchema }\n const memoryArchivist = await MemoryArchivist.create({ account, config })\n\n await this.attach(memoryArchivist, true)\n }\n\n async addArchivistStorage(account: AccountInstance, moduleName?: string, namespace?: string) {\n const config = { name: moduleName, namespace }\n const { archivist } = await StorageArchivistBuilder.create(config, account, this.node)\n\n await this.attach(archivist, true)\n }\n\n async addBridge(apiDomain: string, moduleName = 'RemoteNodeBridge', account?: AccountInstance) {\n try {\n const bridge = await HttpBridge.create({\n account,\n config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } },\n })\n await this.attach(bridge, true)\n } catch (e) {\n console.error('Error Creating Bridge', e)\n }\n }\n\n async addSentinel(config: SentinelConfig, account: AccountInstance) {\n const { sentinel } = await SentinelBuilder.create(config, account)\n await this.attach(sentinel, true, true)\n return sentinel\n }\n\n async addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses: (() => Promise<WitnessInstance>)[] = []) {\n await Promise.all(\n pluginSetResolver.witnesses().map(async (pluginSet, index) => {\n // Pass the prebuilt witness at the same index\n const witness = await witnesses?.[index]?.()\n if (witness) {\n try {\n await this.witnessCleanup(witness)\n await this.node.register(witness)\n await this.node.attach(witness.address, true)\n } catch (e) {\n console.error('Error attaching witness', JSON.stringify(pluginSet, null, 2), e)\n }\n }\n }),\n )\n }\n\n async attach(module: ModuleInstance, external?: boolean, safeAttach?: boolean) {\n try {\n if (safeAttach) {\n const existingModule = (await this.node.resolve({ address: [module.address] })).pop()\n if (existingModule) {\n await this.node.detach(existingModule.address)\n await this.node.unregister(existingModule)\n }\n }\n await this.node.register(module)\n await this.node.attach(module.address, external)\n } catch (e) {\n throw Error(`Error adding ${module.config.name ?? module.address} to MemoryNode: ${e}`)\n }\n }\n\n private async witnessCleanup(witness: WitnessModule) {\n if (this.node.registered().includes(witness.address)) {\n const [existingWitness] = await this.node.resolve({ address: [witness.address] })\n await this.node.unregister(existingWitness)\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { MemorySentinel, MemorySentinelParams, SentinelConfig } from '@xyo-network/sentinel'\n\nexport class SentinelBuilder {\n private _sentinel: MemorySentinel | undefined\n\n protected constructor(\n private config: SentinelConfig,\n private account: AccountInstance,\n ) {\n assertDefinedEx(config, 'config was not defined')\n }\n\n get sentinel() {\n return assertDefinedEx(this._sentinel, 'this._sentinel not defined upon create')\n }\n\n static async create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder> {\n const instance = new this(config, account)\n instance._sentinel = await instance.buildSentinel()\n return instance\n }\n\n async buildSentinel() {\n const params = this.buildParams()\n return (await MemorySentinel.create(params)) as MemorySentinel\n }\n\n private buildParams(): MemorySentinelParams {\n return {\n account: this.account,\n config: this.config,\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { ArchivistModule, asArchivistInstance, StorageArchivist, StorageArchivistConfig, StorageArchivistConfigSchema } from '@xyo-network/archivist'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { asNodeInstance } from '@xyo-network/node-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\n\nexport interface ArchivistBuilderConfig {\n name?: string\n namespace?: string\n}\nexport class StorageArchivistBuilder {\n private _archivist: StorageArchivist | undefined\n private remoteArchivist: ArchivistModule | undefined\n\n protected constructor(\n private config: ArchivistBuilderConfig,\n private account: AccountInstance,\n private node?: MemoryNode,\n ) {}\n\n get archivist() {\n return assertDefinedEx(this._archivist, 'archivist was not defined upon create')\n }\n\n static async create(config: ArchivistBuilderConfig, account: AccountInstance, node: MemoryNode): Promise<StorageArchivistBuilder> {\n const instance = new this(config, account, node)\n instance.remoteArchivist = await instance.findParentArchivist()\n instance._archivist = await instance.buildArchivist()\n return instance\n }\n\n async buildArchivist() {\n const config = this.buildConfig()\n return (await StorageArchivist.create({ account: this.account, config })) as StorageArchivist\n }\n\n buildConfig(): StorageArchivistConfig {\n return {\n name: this.config.name,\n namespace: this.config.namespace,\n parents: {\n commit: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n read: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n },\n schema: StorageArchivistConfigSchema,\n storeParentReads: true,\n type: 'local',\n }\n }\n\n async findParentArchivist() {\n const node = asNodeInstance(this.node, 'node not defined')\n const [bridge] = (await node.resolve({ name: ['RemoteNodeBridge'] })) ?? []\n if (bridge) {\n try {\n const [archivist] = (await bridge.resolve({ name: ['Archivist'] })) ?? []\n return asArchivistInstance(archivist)\n } catch (e) {\n console.error('Error Resolving Parent Archivist', this.node?.config.name, this.config)\n }\n }\n }\n}\n"],"mappings":";AACA,SAAS,iBAAwC,mCAAmC;AACpF,SAAS,YAAY,8BAA8B;AAEnD,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB;AAEjC,SAAS,mBAAAA,wBAAuB;;;ACNhC,SAAS,uBAAuB;AAChC,SAAS,sBAA4D;AAE9D,IAAM,kBAAN,MAAsB;AAAA,EAGjB,YACA,QACA,SACR;AAFQ;AACA;AAER,oBAAgB,QAAQ,wBAAwB;AAAA,EAClD;AAAA,EAPQ;AAAA,EASR,IAAI,WAAW;AACb,WAAO,gBAAgB,KAAK,WAAW,wCAAwC;AAAA,EACjF;AAAA,EAEA,aAAa,OAAO,QAAwB,SAAoD;AAC9F,UAAM,WAAW,IAAI,KAAK,QAAQ,OAAO;AACzC,aAAS,YAAY,MAAM,SAAS,cAAc;AAClD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB;AACpB,UAAM,SAAS,KAAK,YAAY;AAChC,WAAQ,MAAM,eAAe,OAAO,MAAM;AAAA,EAC5C;AAAA,EAEQ,cAAoC;AAC1C,WAAO;AAAA,MACL,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACF;;;AClCA,SAA0B,qBAAqB,kBAA0C,oCAAoC;AAE7H,SAAS,sBAAsB;AAC/B,SAAS,mBAAAC,wBAAuB;AAMzB,IAAM,0BAAN,MAA8B;AAAA,EAIzB,YACA,QACA,SACA,MACR;AAHQ;AACA;AACA;AAAA,EACP;AAAA,EAPK;AAAA,EACA;AAAA,EAQR,IAAI,YAAY;AACd,WAAOA,iBAAgB,KAAK,YAAY,uCAAuC;AAAA,EACjF;AAAA,EAEA,aAAa,OAAO,QAAgC,SAA0B,MAAoD;AAChI,UAAM,WAAW,IAAI,KAAK,QAAQ,SAAS,IAAI;AAC/C,aAAS,kBAAkB,MAAM,SAAS,oBAAoB;AAC9D,aAAS,aAAa,MAAM,SAAS,eAAe;AACpD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,iBAAiB;AACrB,UAAM,SAAS,KAAK,YAAY;AAChC,WAAQ,MAAM,iBAAiB,OAAO,EAAE,SAAS,KAAK,SAAS,OAAO,CAAC;AAAA,EACzE;AAAA,EAEA,cAAsC;AApCxC;AAqCI,WAAO;AAAA,MACL,MAAM,KAAK,OAAO;AAAA,MAClB,WAAW,KAAK,OAAO;AAAA,MACvB,SAAS;AAAA,QACP,QAAQ,KAAK,kBAAkB,EAAC,UAAK,oBAAL,mBAAsB,OAAO,IAAI;AAAA,QACjE,MAAM,KAAK,kBAAkB,EAAC,UAAK,oBAAL,mBAAsB,OAAO,IAAI;AAAA,MACjE;AAAA,MACA,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,sBAAsB;AAlD9B;AAmDI,UAAM,OAAO,eAAe,KAAK,MAAM,kBAAkB;AACzD,UAAM,CAAC,MAAM,IAAK,MAAM,KAAK,QAAQ,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,KAAM,CAAC;AAC1E,QAAI,QAAQ;AACV,UAAI;AACF,cAAM,CAAC,SAAS,IAAK,MAAM,OAAO,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KAAM,CAAC;AACxE,eAAO,oBAAoB,SAAS;AAAA,MACtC,SAAS,GAAG;AACV,gBAAQ,MAAM,qCAAoC,UAAK,SAAL,mBAAW,OAAO,MAAM,KAAK,MAAM;AAAA,MACvF;AAAA,IACF;AAAA,EACF;AACF;;;AF3CO,IAAM,oBAAN,MAAwB;AAAA,EACrB;AAAA,EAER,IAAI,OAAO;AACT,WAAOC,iBAAgB,KAAK,OAAO,wCAAwC;AAAA,EAC7E;AAAA,EAEA,aAAa,OAAO,EAAE,MAAM,KAAK,GAA4B,SAAuD;AAClH,UAAM,WAAW,IAAI,KAAK;AAE1B,UAAM,aAAyB,QAAS,MAAM,WAAW,OAAO,EAAE,SAAS,QAAQ,EAAE,MAAM,QAAQ,iBAAiB,EAAE,CAAC;AACvH,aAAS,QAAQ;AACjB,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAM,aAAa,SAA0B,YAAqB,WAAoB;AACpF,UAAM,KAAK,oBAAoB,SAAS,YAAY,SAAS;AAAA,EAC/D;AAAA,EAEA,MAAM,mBAAmB,YAAqB,SAA2B;AACvE,UAAM,SAAgC,EAAE,MAAM,YAAY,QAAQ,4BAA4B;AAC9F,UAAM,kBAAkB,MAAM,gBAAgB,OAAO,EAAE,SAAS,OAAO,CAAC;AAExE,UAAM,KAAK,OAAO,iBAAiB,IAAI;AAAA,EACzC;AAAA,EAEA,MAAM,oBAAoB,SAA0B,YAAqB,WAAoB;AAC3F,UAAM,SAAS,EAAE,MAAM,YAAY,UAAU;AAC7C,UAAM,EAAE,UAAU,IAAI,MAAM,wBAAwB,OAAO,QAAQ,SAAS,KAAK,IAAI;AAErF,UAAM,KAAK,OAAO,WAAW,IAAI;AAAA,EACnC;AAAA,EAEA,MAAM,UAAU,WAAmB,aAAa,oBAAoB,SAA2B;AAC7F,QAAI;AACF,YAAM,SAAS,MAAM,WAAW,OAAO;AAAA,QACrC;AAAA,QACA,QAAQ,EAAE,MAAM,YAAY,SAAS,GAAG,SAAS,SAAS,QAAQ,wBAAwB,UAAU,EAAE,gBAAgB,KAAK,EAAE;AAAA,MAC/H,CAAC;AACD,YAAM,KAAK,OAAO,QAAQ,IAAI;AAAA,IAChC,SAAS,GAAG;AACV,cAAQ,MAAM,yBAAyB,CAAC;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,MAAM,YAAY,QAAwB,SAA0B;AAClE,UAAM,EAAE,SAAS,IAAI,MAAM,gBAAgB,OAAO,QAAQ,OAAO;AACjE,UAAM,KAAK,OAAO,UAAU,MAAM,IAAI;AACtC,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,aAAa,mBAA6C,YAAgD,CAAC,GAAG;AAClH,UAAM,QAAQ;AAAA,MACZ,kBAAkB,UAAU,EAAE,IAAI,OAAO,WAAW,UAAU;AAzEpE;AA2EQ,cAAM,UAAU,QAAM,4CAAY,WAAZ;AACtB,YAAI,SAAS;AACX,cAAI;AACF,kBAAM,KAAK,eAAe,OAAO;AACjC,kBAAM,KAAK,KAAK,SAAS,OAAO;AAChC,kBAAM,KAAK,KAAK,OAAO,QAAQ,SAAS,IAAI;AAAA,UAC9C,SAAS,GAAG;AACV,oBAAQ,MAAM,2BAA2B,KAAK,UAAU,WAAW,MAAM,CAAC,GAAG,CAAC;AAAA,UAChF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,OAAO,QAAwB,UAAoB,YAAsB;AAC7E,QAAI;AACF,UAAI,YAAY;AACd,cAAM,kBAAkB,MAAM,KAAK,KAAK,QAAQ,EAAE,SAAS,CAAC,OAAO,OAAO,EAAE,CAAC,GAAG,IAAI;AACpF,YAAI,gBAAgB;AAClB,gBAAM,KAAK,KAAK,OAAO,eAAe,OAAO;AAC7C,gBAAM,KAAK,KAAK,WAAW,cAAc;AAAA,QAC3C;AAAA,MACF;AACA,YAAM,KAAK,KAAK,SAAS,MAAM;AAC/B,YAAM,KAAK,KAAK,OAAO,OAAO,SAAS,QAAQ;AAAA,IACjD,SAAS,GAAG;AACV,YAAM,MAAM,gBAAgB,OAAO,OAAO,QAAQ,OAAO,OAAO,mBAAmB,CAAC,EAAE;AAAA,IACxF;AAAA,EACF;AAAA,EAEA,MAAc,eAAe,SAAwB;AACnD,QAAI,KAAK,KAAK,WAAW,EAAE,SAAS,QAAQ,OAAO,GAAG;AACpD,YAAM,CAAC,eAAe,IAAI,MAAM,KAAK,KAAK,QAAQ,EAAE,SAAS,CAAC,QAAQ,OAAO,EAAE,CAAC;AAChF,YAAM,KAAK,KAAK,WAAW,eAAe;AAAA,IAC5C;AAAA,EACF;AACF;","names":["assertDefinedEx","assertDefinedEx","assertDefinedEx"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/lib/Builders/SentinelBuilder.ts
|
|
21
|
+
var SentinelBuilder_exports = {};
|
|
22
|
+
__export(SentinelBuilder_exports, {
|
|
23
|
+
SentinelBuilder: () => SentinelBuilder
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(SentinelBuilder_exports);
|
|
26
|
+
var import_react_shared = require("@xyo-network/react-shared");
|
|
27
|
+
var import_sentinel = require("@xyo-network/sentinel");
|
|
28
|
+
var SentinelBuilder = class {
|
|
29
|
+
constructor(config, account) {
|
|
30
|
+
this.config = config;
|
|
31
|
+
this.account = account;
|
|
32
|
+
(0, import_react_shared.assertDefinedEx)(config, "config was not defined");
|
|
33
|
+
}
|
|
34
|
+
_sentinel;
|
|
35
|
+
get sentinel() {
|
|
36
|
+
return (0, import_react_shared.assertDefinedEx)(this._sentinel, "this._sentinel not defined upon create");
|
|
37
|
+
}
|
|
38
|
+
static async create(config, account) {
|
|
39
|
+
const instance = new this(config, account);
|
|
40
|
+
instance._sentinel = await instance.buildSentinel();
|
|
41
|
+
return instance;
|
|
42
|
+
}
|
|
43
|
+
async buildSentinel() {
|
|
44
|
+
const params = this.buildParams();
|
|
45
|
+
return await import_sentinel.MemorySentinel.create(params);
|
|
46
|
+
}
|
|
47
|
+
buildParams() {
|
|
48
|
+
return {
|
|
49
|
+
account: this.account,
|
|
50
|
+
config: this.config
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
55
|
+
0 && (module.exports = {
|
|
56
|
+
SentinelBuilder
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=SentinelBuilder.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/Builders/SentinelBuilder.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { MemorySentinel, MemorySentinelParams, SentinelConfig } from '@xyo-network/sentinel'\n\nexport class SentinelBuilder {\n private _sentinel: MemorySentinel | undefined\n\n protected constructor(\n private config: SentinelConfig,\n private account: AccountInstance,\n ) {\n assertDefinedEx(config, 'config was not defined')\n }\n\n get sentinel() {\n return assertDefinedEx(this._sentinel, 'this._sentinel not defined upon create')\n }\n\n static async create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder> {\n const instance = new this(config, account)\n instance._sentinel = await instance.buildSentinel()\n return instance\n }\n\n async buildSentinel() {\n const params = this.buildParams()\n return (await MemorySentinel.create(params)) as MemorySentinel\n }\n\n private buildParams(): MemorySentinelParams {\n return {\n account: this.account,\n config: this.config,\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAgC;AAChC,sBAAqE;AAE9D,IAAM,kBAAN,MAAsB;AAAA,EAGjB,YACA,QACA,SACR;AAFQ;AACA;AAER,6CAAgB,QAAQ,wBAAwB;AAAA,EAClD;AAAA,EAPQ;AAAA,EASR,IAAI,WAAW;AACb,eAAO,qCAAgB,KAAK,WAAW,wCAAwC;AAAA,EACjF;AAAA,EAEA,aAAa,OAAO,QAAwB,SAAoD;AAC9F,UAAM,WAAW,IAAI,KAAK,QAAQ,OAAO;AACzC,aAAS,YAAY,MAAM,SAAS,cAAc;AAClD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB;AACpB,UAAM,SAAS,KAAK,YAAY;AAChC,WAAQ,MAAM,+BAAe,OAAO,MAAM;AAAA,EAC5C;AAAA,EAEQ,cAAoC;AAC1C,WAAO;AAAA,MACL,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACF;","names":[]}
|