@xyo-network/archivist 2.41.9 → 2.41.11

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.
@@ -0,0 +1,17 @@
1
+ import { XyoAccount } from '@xyo-network/account';
2
+ import { XyoBoundWitness } from '@xyo-network/boundwitness';
3
+ import { EmptyObject } from '@xyo-network/core';
4
+ import { Module, ModuleQueryResult, XyoModule, XyoModuleConfig } from '@xyo-network/module';
5
+ import { XyoPayload } from '@xyo-network/payload';
6
+ import { PromiseEx } from '@xyo-network/promise';
7
+ import { ArchivistWrapper } from './ArchivistWrapper';
8
+ export type ArchivingModuleConfig<T extends EmptyObject = EmptyObject> = XyoModuleConfig<{
9
+ archivists?: string[];
10
+ schema: string;
11
+ } & T>;
12
+ export declare class ArchivingModule<TConfig extends ArchivingModuleConfig = ArchivingModuleConfig> extends XyoModule<TConfig> implements Module {
13
+ protected bindResult(payloads: XyoPayload[], account?: XyoAccount): PromiseEx<ModuleQueryResult, XyoAccount>;
14
+ protected resolveArchivists(): Promise<ArchivistWrapper[]>;
15
+ protected storeToArchivists(payloads: XyoPayload[]): Promise<XyoBoundWitness[]>;
16
+ }
17
+ //# sourceMappingURL=ArchivingModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArchivingModule.d.ts","sourceRoot":"","sources":["../../src/ArchivingModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,eAAe,CACtF;IACE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,CAAC,CACN,CAAA;AAED,qBAAa,eAAe,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAAE,SAAQ,SAAS,CAAC,OAAO,CAAE,YAAW,MAAM;IACtI,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC;cAS5F,iBAAiB;cAIjB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAUtF"}
@@ -0,0 +1,23 @@
1
+ import { XyoModule } from '@xyo-network/module';
2
+ import { PromiseEx } from '@xyo-network/promise';
3
+ import { ArchivistWrapper } from './ArchivistWrapper';
4
+ export class ArchivingModule extends XyoModule {
5
+ bindResult(payloads, account) {
6
+ const promise = new PromiseEx(async (resolve) => {
7
+ const result = this.bindResultInternal(payloads, account);
8
+ await this.storeToArchivists([result[0], ...result[1]]);
9
+ resolve?.(result);
10
+ }, account);
11
+ return promise;
12
+ }
13
+ async resolveArchivists() {
14
+ return (await this.resolver?.resolve({ address: this.config.archivists ?? [] }))?.map((archivist) => new ArchivistWrapper(archivist)) ?? [];
15
+ }
16
+ async storeToArchivists(payloads) {
17
+ const archivists = await this.resolveArchivists();
18
+ return (await Promise.all(archivists.map((archivist) => {
19
+ return archivist.insert(payloads);
20
+ }))).map(([bw]) => bw);
21
+ }
22
+ }
23
+ //# sourceMappingURL=ArchivingModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArchivingModule.js","sourceRoot":"","sources":["../../src/ArchivingModule.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,SAAS,EAAmB,MAAM,qBAAqB,CAAA;AAE3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AASrD,MAAM,OAAO,eAA+E,SAAQ,SAAkB;IAC1G,UAAU,CAAC,QAAsB,EAAE,OAAoB;QAC/D,MAAM,OAAO,GAAG,IAAI,SAAS,CAAgC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACvD,OAAO,EAAE,CAAC,MAAM,CAAC,CAAA;QACnB,CAAC,EAAE,OAAO,CAAC,CAAA;QACX,OAAO,OAAO,CAAA;IAChB,CAAC;IAES,KAAK,CAAC,iBAAiB;QAC/B,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7I,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,QAAsB;QACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACjD,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3B,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACnC,CAAC,CAAC,CACH,CACF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  export * from './AbstractArchivist';
2
+ export * from './ArchivingModule';
2
3
  export * from './Archivist';
3
4
  export * from './ArchivistWrapper';
4
5
  export * from './Config';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './AbstractArchivist';
2
+ export * from './ArchivingModule';
2
3
  export * from './Archivist';
3
4
  export * from './ArchivistWrapper';
4
5
  export * from './Config';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
package/package.json CHANGED
@@ -10,11 +10,12 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@xylabs/assert": "^2.6.9",
13
- "@xyo-network/account": "^2.41.9",
14
- "@xyo-network/boundwitness": "^2.41.9",
15
- "@xyo-network/module": "^2.41.9",
16
- "@xyo-network/payload": "^2.41.9",
17
- "@xyo-network/promise": "^2.41.9",
13
+ "@xyo-network/account": "^2.41.11",
14
+ "@xyo-network/boundwitness": "^2.41.11",
15
+ "@xyo-network/core": "^2.41.11",
16
+ "@xyo-network/module": "^2.41.11",
17
+ "@xyo-network/payload": "^2.41.11",
18
+ "@xyo-network/promise": "^2.41.11",
18
19
  "js-cookie": "^3.0.1",
19
20
  "lodash": "^4.17.21",
20
21
  "lru-cache": "^7.14.1",
@@ -58,5 +59,5 @@
58
59
  },
59
60
  "sideEffects": false,
60
61
  "types": "dist/esm/index.d.ts",
61
- "version": "2.41.9"
62
+ "version": "2.41.11"
62
63
  }
@@ -0,0 +1,41 @@
1
+ import { XyoAccount } from '@xyo-network/account'
2
+ import { XyoBoundWitness } from '@xyo-network/boundwitness'
3
+ import { EmptyObject } from '@xyo-network/core'
4
+ import { Module, ModuleQueryResult, XyoModule, XyoModuleConfig } from '@xyo-network/module'
5
+ import { XyoPayload } from '@xyo-network/payload'
6
+ import { PromiseEx } from '@xyo-network/promise'
7
+
8
+ import { ArchivistWrapper } from './ArchivistWrapper'
9
+
10
+ export type ArchivingModuleConfig<T extends EmptyObject = EmptyObject> = XyoModuleConfig<
11
+ {
12
+ archivists?: string[]
13
+ schema: string
14
+ } & T
15
+ >
16
+
17
+ export class ArchivingModule<TConfig extends ArchivingModuleConfig = ArchivingModuleConfig> extends XyoModule<TConfig> implements Module {
18
+ protected bindResult(payloads: XyoPayload[], account?: XyoAccount): PromiseEx<ModuleQueryResult, XyoAccount> {
19
+ const promise = new PromiseEx<ModuleQueryResult, XyoAccount>(async (resolve) => {
20
+ const result = this.bindResultInternal(payloads, account)
21
+ await this.storeToArchivists([result[0], ...result[1]])
22
+ resolve?.(result)
23
+ }, account)
24
+ return promise
25
+ }
26
+
27
+ protected async resolveArchivists() {
28
+ return (await this.resolver?.resolve({ address: this.config.archivists ?? [] }))?.map((archivist) => new ArchivistWrapper(archivist)) ?? []
29
+ }
30
+
31
+ protected async storeToArchivists(payloads: XyoPayload[]): Promise<XyoBoundWitness[]> {
32
+ const archivists = await this.resolveArchivists()
33
+ return (
34
+ await Promise.all(
35
+ archivists.map((archivist) => {
36
+ return archivist.insert(payloads)
37
+ }),
38
+ )
39
+ ).map(([bw]) => bw)
40
+ }
41
+ }
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './AbstractArchivist'
2
+ export * from './ArchivingModule'
2
3
  export * from './Archivist'
3
4
  export * from './ArchivistWrapper'
4
5
  export * from './Config'