@xyo-network/archivist-wrapper 2.53.17 → 2.53.19

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.
@@ -1,5 +1,5 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
- import { ArchivistAllQuerySchema, ArchivistClearQuerySchema, ArchivistCommitQuerySchema, ArchivistDeleteQuerySchema, ArchivistFindQuerySchema, ArchivistGetQuerySchema, ArchivistInsertQuerySchema, } from '@xyo-network/archivist-interface';
2
+ import { ArchivistAllQuerySchema, ArchivistClearQuerySchema, ArchivistCommitQuerySchema, ArchivistDeleteQuerySchema, ArchivistFindQuerySchema, ArchivistGetQuerySchema, ArchivistInsertQuerySchema, } from '@xyo-network/archivist-model';
3
3
  import { BoundWitnessSchema, isBoundWitnessPayload } from '@xyo-network/boundwitness-model';
4
4
  import { ModuleWrapper } from '@xyo-network/module';
5
5
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
@@ -13,7 +13,7 @@ export class ArchivistWrapper extends ModuleWrapper {
13
13
  //console.warn(`Missing queries: ${JSON.stringify(missingRequiredQueries, null, 2)}`)
14
14
  }
15
15
  else {
16
- return new ArchivistWrapper({ account, module });
16
+ return new ArchivistWrapper({ account, module: module });
17
17
  }
18
18
  }
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArchivistWrapper.js","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArchivistWrapper.js","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model';
2
- import { ArchivistModule } from '@xyo-network/archivist-interface';
2
+ import { ArchivistModule } from '@xyo-network/archivist-model';
3
3
  import { BoundWitness } from '@xyo-network/boundwitness-model';
4
4
  import { Module, ModuleWrapper } from '@xyo-network/module';
5
5
  import { Payload, PayloadFindFilter } from '@xyo-network/payload-model';
6
- export declare class ArchivistWrapper extends ModuleWrapper implements ArchivistModule {
6
+ export declare class ArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule> extends ModuleWrapper<TWrappedModule> implements ArchivistModule {
7
7
  static requiredQueries: string[];
8
8
  static tryWrap(module?: Module, account?: AccountInstance): ArchivistWrapper | undefined;
9
9
  static wrap(module?: Module, account?: AccountInstance): ArchivistWrapper;
@@ -1 +1 @@
1
- {"version":3,"file":"ArchivistWrapper.d.ts","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAeL,eAAe,EAChB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,YAAY,EAA6C,MAAM,iCAAiC,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAIvE,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,eAAe;IAC5E,OAAgB,eAAe,WAAsD;WAErE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,gBAAgB,GAAG,SAAS;WAWjF,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,gBAAgB;IAI5E,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAMjC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE;IAQvB,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAM3E,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAMzC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAW3D"}
1
+ {"version":3,"file":"ArchivistWrapper.d.ts","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAeL,eAAe,EAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAA6C,MAAM,iCAAiC,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAIvE,qBAAa,gBAAgB,CAAC,cAAc,SAAS,eAAe,GAAG,eAAe,CACpF,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,eAAe;IAE1B,OAAgB,eAAe,WAAsD;WAErE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,gBAAgB,GAAG,SAAS;WAWjF,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,gBAAgB;IAI5E,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAMjC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE;IAQvB,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAM3E,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAMzC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAW3D"}
package/package.json CHANGED
@@ -10,12 +10,12 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@xylabs/assert": "^2.7.6",
13
- "@xyo-network/account-model": "^2.53.17",
14
- "@xyo-network/archivist-interface": "^2.53.17",
15
- "@xyo-network/boundwitness-model": "^2.53.17",
16
- "@xyo-network/module": "^2.53.17",
17
- "@xyo-network/payload-model": "^2.53.17",
18
- "@xyo-network/payload-wrapper": "^2.53.17",
13
+ "@xyo-network/account-model": "^2.53.19",
14
+ "@xyo-network/archivist-model": "^2.53.19",
15
+ "@xyo-network/boundwitness-model": "^2.53.19",
16
+ "@xyo-network/module": "^2.53.19",
17
+ "@xyo-network/payload-model": "^2.53.19",
18
+ "@xyo-network/payload-wrapper": "^2.53.19",
19
19
  "lodash": "^4.17.21"
20
20
  },
21
21
  "devDependencies": {
@@ -58,5 +58,5 @@
58
58
  },
59
59
  "sideEffects": false,
60
60
  "types": "dist/types/index.d.ts",
61
- "version": "2.53.17"
61
+ "version": "2.53.19"
62
62
  }
@@ -16,14 +16,17 @@ import {
16
16
  ArchivistInsertQuery,
17
17
  ArchivistInsertQuerySchema,
18
18
  ArchivistModule,
19
- } from '@xyo-network/archivist-interface'
19
+ } from '@xyo-network/archivist-model'
20
20
  import { BoundWitness, BoundWitnessSchema, isBoundWitnessPayload } from '@xyo-network/boundwitness-model'
21
21
  import { Module, ModuleWrapper } from '@xyo-network/module'
22
22
  import { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
23
23
  import { PayloadWrapper } from '@xyo-network/payload-wrapper'
24
24
  import compact from 'lodash/compact'
25
25
 
26
- export class ArchivistWrapper extends ModuleWrapper implements ArchivistModule {
26
+ export class ArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule>
27
+ extends ModuleWrapper<TWrappedModule>
28
+ implements ArchivistModule
29
+ {
27
30
  static override requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries]
28
31
 
29
32
  static override tryWrap(module?: Module, account?: AccountInstance): ArchivistWrapper | undefined {
@@ -32,7 +35,7 @@ export class ArchivistWrapper extends ModuleWrapper implements ArchivistModule {
32
35
  if (missingRequiredQueries.length > 0) {
33
36
  //console.warn(`Missing queries: ${JSON.stringify(missingRequiredQueries, null, 2)}`)
34
37
  } else {
35
- return new ArchivistWrapper({ account, module })
38
+ return new ArchivistWrapper({ account, module: module as ArchivistModule })
36
39
  }
37
40
  }
38
41
  }