@xyo-network/archivist 2.41.9 → 2.41.10

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,15 @@
1
+ import { XyoAccount } from '@xyo-network/account';
2
+ import { EmptyObject } from '@xyo-network/core';
3
+ import { Module, ModuleQueryResult, XyoModule, XyoModuleConfig } from '@xyo-network/module';
4
+ import { XyoPayload } from '@xyo-network/payload';
5
+ import { PromiseEx } from '@xyo-network/promise';
6
+ import { ArchivistWrapper } from './ArchivistWrapper';
7
+ export type ArchivingModuleConfig<T extends EmptyObject = EmptyObject> = XyoModuleConfig<{
8
+ archivists?: string[];
9
+ schema: string;
10
+ } & T>;
11
+ export declare class ArchivingModule<TConfig extends ArchivingModuleConfig = ArchivingModuleConfig> extends XyoModule<TConfig> implements Module {
12
+ protected bindResult(payloads: XyoPayload[], account?: XyoAccount): PromiseEx<ModuleQueryResult, XyoAccount>;
13
+ protected resolveArchivists(): Promise<ArchivistWrapper[] | undefined>;
14
+ }
15
+ //# 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,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;cAc5F,iBAAiB;CAGlC"}
@@ -0,0 +1,20 @@
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
+ const archivists = (await this.resolveArchivists()) ?? [];
9
+ await Promise.all(archivists.map((archivist) => {
10
+ return archivist.insert(payloads);
11
+ }));
12
+ resolve?.(result);
13
+ }, account);
14
+ return promise;
15
+ }
16
+ async resolveArchivists() {
17
+ return (await this.resolver?.resolve({ address: this.config.archivists ?? [] }))?.map((archivist) => new ArchivistWrapper(archivist));
18
+ }
19
+ }
20
+ //# sourceMappingURL=ArchivingModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArchivingModule.js","sourceRoot":"","sources":["../../src/ArchivingModule.ts"],"names":[],"mappings":"AAEA,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,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAA;YACzD,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC3B,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACnC,CAAC,CAAC,CACH,CAAA;YACD,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,CAAA;IACvI,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.10",
14
+ "@xyo-network/boundwitness": "^2.41.10",
15
+ "@xyo-network/core": "^2.41.10",
16
+ "@xyo-network/module": "^2.41.10",
17
+ "@xyo-network/payload": "^2.41.10",
18
+ "@xyo-network/promise": "^2.41.10",
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.10"
62
63
  }
@@ -0,0 +1,34 @@
1
+ import { XyoAccount } from '@xyo-network/account'
2
+ import { EmptyObject } from '@xyo-network/core'
3
+ import { Module, ModuleQueryResult, XyoModule, XyoModuleConfig } from '@xyo-network/module'
4
+ import { XyoPayload } from '@xyo-network/payload'
5
+ import { PromiseEx } from '@xyo-network/promise'
6
+
7
+ import { ArchivistWrapper } from './ArchivistWrapper'
8
+
9
+ export type ArchivingModuleConfig<T extends EmptyObject = EmptyObject> = XyoModuleConfig<
10
+ {
11
+ archivists?: string[]
12
+ schema: string
13
+ } & T
14
+ >
15
+
16
+ export class ArchivingModule<TConfig extends ArchivingModuleConfig = ArchivingModuleConfig> extends XyoModule<TConfig> implements Module {
17
+ protected bindResult(payloads: XyoPayload[], account?: XyoAccount): PromiseEx<ModuleQueryResult, XyoAccount> {
18
+ const promise = new PromiseEx<ModuleQueryResult, XyoAccount>(async (resolve) => {
19
+ const result = this.bindResultInternal(payloads, account)
20
+ const archivists = (await this.resolveArchivists()) ?? []
21
+ await Promise.all(
22
+ archivists.map((archivist) => {
23
+ return archivist.insert(payloads)
24
+ }),
25
+ )
26
+ resolve?.(result)
27
+ }, account)
28
+ return promise
29
+ }
30
+
31
+ protected async resolveArchivists() {
32
+ return (await this.resolver?.resolve({ address: this.config.archivists ?? [] }))?.map((archivist) => new ArchivistWrapper(archivist))
33
+ }
34
+ }
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'