@xyo-network/filesystem-archivist 2.51.8 → 2.51.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.
@@ -1,19 +1,19 @@
1
+ var FilesystemArchivist_1;
2
+ import { __decorate } from "tslib";
1
3
  import { readFile } from 'node:fs/promises';
2
4
  import { assertEx } from '@xylabs/assert';
3
5
  import { AbstractArchivist } from '@xyo-network/abstract-archivist';
4
- import { ArchivistAllQuerySchema, ArchivistCommitQuerySchema, ArchivistFindQuerySchema } from '@xyo-network/archivist-interface';
6
+ import { ArchivistAllQuerySchema, ArchivistCommitQuerySchema, ArchivistFindQuerySchema, } from '@xyo-network/archivist-interface';
5
7
  import { MemoryArchivist } from '@xyo-network/memory-archivist';
8
+ import { creatableModule } from '@xyo-network/module';
6
9
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
7
10
  export const FilesystemArchivistConfigSchema = 'network.xyo.module.config.archivist.filesystem';
8
11
  /** @description Currently only a read-only archivist that loads payloads from filesystem
9
12
  * but allows for future expansion to read/write
10
13
  */
11
- export class FilesystemArchivist extends AbstractArchivist {
14
+ let FilesystemArchivist = FilesystemArchivist_1 = class FilesystemArchivist extends AbstractArchivist {
12
15
  static configSchema = FilesystemArchivistConfigSchema;
13
16
  _memoryArchivist;
14
- constructor(params) {
15
- super(params);
16
- }
17
17
  get filePath() {
18
18
  return this.config?.filePath ?? 'archivist.xyo.json';
19
19
  }
@@ -23,11 +23,6 @@ export class FilesystemArchivist extends AbstractArchivist {
23
23
  get memoryArchivist() {
24
24
  return assertEx(this._memoryArchivist);
25
25
  }
26
- static async create(params) {
27
- const instance = (await super.create(params));
28
- await instance.loadFromFile();
29
- return instance;
30
- }
31
26
  static dataFromRawJson(rawJson) {
32
27
  const data = JSON.parse(rawJson);
33
28
  assertEx(typeof data === 'object', 'Archivist Data must be object');
@@ -57,10 +52,11 @@ export class FilesystemArchivist extends AbstractArchivist {
57
52
  async insert(payloads) {
58
53
  return await this.memoryArchivist.insert(payloads);
59
54
  }
60
- async loadFromFile() {
55
+ async start() {
56
+ await super.start();
61
57
  this._memoryArchivist = await MemoryArchivist.create();
62
58
  try {
63
- const data = FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile());
59
+ const data = FilesystemArchivist_1.dataFromRawJson(await this.rawJsonFromFile());
64
60
  await this._memoryArchivist.insert(data.payloads);
65
61
  }
66
62
  catch (ex) {
@@ -72,5 +68,9 @@ export class FilesystemArchivist extends AbstractArchivist {
72
68
  async rawJsonFromFile() {
73
69
  return await readFile(this.filePath, { encoding: 'utf8' });
74
70
  }
75
- }
71
+ };
72
+ FilesystemArchivist = FilesystemArchivist_1 = __decorate([
73
+ creatableModule()
74
+ ], FilesystemArchivist);
75
+ export { FilesystemArchivist };
76
76
  //# sourceMappingURL=FilesystemArchivist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilesystemArchivist.js","sourceRoot":"","sources":["../../src/FilesystemArchivist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilesystemArchivist.js","sourceRoot":"","sources":["../../src/FilesystemArchivist.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { AbstractArchivist, ArchivistParams } from '@xyo-network/abstract-archivist';
2
- import { ArchivistConfig } from '@xyo-network/archivist-interface';
1
+ import { AbstractArchivist } from '@xyo-network/abstract-archivist';
2
+ import { ArchivistConfig, ArchivistModule, ArchivistParams } from '@xyo-network/archivist-interface';
3
3
  import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
4
- import { ModuleParams } from '@xyo-network/module';
4
+ import { AnyConfigSchema } from '@xyo-network/module';
5
5
  import { XyoPayload } from '@xyo-network/payload-model';
6
6
  import { PromisableArray } from '@xyo-network/promise';
7
7
  export interface FileSystemArchivistData {
@@ -10,20 +10,19 @@ export interface FileSystemArchivistData {
10
10
  export type FilesystemArchivistConfigSchema = 'network.xyo.module.config.archivist.filesystem';
11
11
  export declare const FilesystemArchivistConfigSchema: FilesystemArchivistConfigSchema;
12
12
  export type FilesystemArchivistConfig = ArchivistConfig<{
13
- filePath: string;
13
+ filePath?: string;
14
14
  schema: FilesystemArchivistConfigSchema;
15
15
  }>;
16
+ export type FilesystemArchivistParams = ArchivistParams<AnyConfigSchema<FilesystemArchivistConfig>>;
16
17
  /** @description Currently only a read-only archivist that loads payloads from filesystem
17
18
  * but allows for future expansion to read/write
18
19
  */
19
- export declare class FilesystemArchivist<TParams extends ArchivistParams<FilesystemArchivistConfig> = ArchivistParams<FilesystemArchivistConfig>> extends AbstractArchivist<TParams> {
20
+ export declare class FilesystemArchivist<TParams extends FilesystemArchivistParams = FilesystemArchivistParams> extends AbstractArchivist<TParams> implements ArchivistModule {
20
21
  static configSchema: "network.xyo.module.config.archivist.filesystem";
21
22
  private _memoryArchivist?;
22
- protected constructor(params: TParams);
23
23
  get filePath(): string;
24
24
  get queries(): string[];
25
25
  private get memoryArchivist();
26
- static create(params?: ModuleParams<FilesystemArchivistConfig>): Promise<FilesystemArchivist>;
27
26
  private static dataFromRawJson;
28
27
  private static payloadsFromRawPayloads;
29
28
  all(): PromisableArray<XyoPayload>;
@@ -32,7 +31,7 @@ export declare class FilesystemArchivist<TParams extends ArchivistParams<Filesys
32
31
  delete(hashes: string[]): PromisableArray<boolean>;
33
32
  get(hashes: string[]): Promise<XyoPayload[]>;
34
33
  insert(payloads: XyoPayload[]): Promise<XyoBoundWitness[]>;
35
- protected loadFromFile(): Promise<void>;
34
+ start(): Promise<void>;
36
35
  private rawJsonFromFile;
37
36
  }
38
37
  //# sourceMappingURL=FilesystemArchivist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilesystemArchivist.d.ts","sourceRoot":"","sources":["../../src/FilesystemArchivist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACpF,OAAO,EAAuD,eAAe,EAA4B,MAAM,kCAAkC,CAAA;AACjJ,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,UAAU,EAAE,CAAA;CACvB;AAED,MAAM,MAAM,+BAA+B,GAAG,gDAAgD,CAAA;AAC9F,eAAO,MAAM,+BAA+B,EAAE,+BAAkF,CAAA;AAEhI,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,+BAA+B,CAAA;CACxC,CAAC,CAAA;AAEF;;GAEG;AACH,qBAAa,mBAAmB,CAC9B,OAAO,SAAS,eAAe,CAAC,yBAAyB,CAAC,GAAG,eAAe,CAAC,yBAAyB,CAAC,CACvG,SAAQ,iBAAiB,CAAC,OAAO,CAAC;IAClC,OAAgB,YAAY,mDAAkC;IAE9D,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAE1C,SAAS,aAAa,MAAM,EAAE,OAAO;IAIrC,IAAI,QAAQ,WAEX;IAED,IAAa,OAAO,aAEnB;IAED,OAAO,KAAK,eAAe,GAE1B;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAM5G,OAAO,CAAC,MAAM,CAAC,eAAe;IAQ9B,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAK7B,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC;IAIlC,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvB,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI1C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;IAI5C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIrD,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;cAIhD,YAAY;YAYd,eAAe;CAG9B"}
1
+ {"version":3,"file":"FilesystemArchivist.d.ts","sourceRoot":"","sources":["../../src/FilesystemArchivist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAGL,eAAe,EAEf,eAAe,EACf,eAAe,EAChB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,UAAU,EAAE,CAAA;CACvB;AAED,MAAM,MAAM,+BAA+B,GAAG,gDAAgD,CAAA;AAC9F,eAAO,MAAM,+BAA+B,EAAE,+BAAkF,CAAA;AAEhI,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,+BAA+B,CAAA;CACxC,CAAC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAEnG;;GAEG;AACH,qBACa,mBAAmB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CACpG,SAAQ,iBAAiB,CAAC,OAAO,CACjC,YAAW,eAAe;IAE1B,OAAgB,YAAY,mDAAkC;IAE9D,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAE1C,IAAI,QAAQ,WAEX;IAED,IAAa,OAAO,aAEnB;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,MAAM,CAAC,eAAe;IAQ9B,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAK7B,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC;IAIlC,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvB,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI1C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;IAI5C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIrD,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAIjD,KAAK;YAaN,eAAe;CAG9B"}
package/package.json CHANGED
@@ -11,14 +11,14 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.7.4",
14
- "@xyo-network/abstract-archivist": "^2.51.8",
15
- "@xyo-network/archivist-interface": "^2.51.8",
16
- "@xyo-network/boundwitness-model": "^2.51.8",
17
- "@xyo-network/memory-archivist": "^2.51.8",
18
- "@xyo-network/module": "^2.51.8",
19
- "@xyo-network/payload-model": "^2.51.8",
20
- "@xyo-network/payload-wrapper": "^2.51.8",
21
- "@xyo-network/promise": "^2.51.8"
14
+ "@xyo-network/abstract-archivist": "^2.51.10",
15
+ "@xyo-network/archivist-interface": "^2.51.10",
16
+ "@xyo-network/boundwitness-model": "^2.51.10",
17
+ "@xyo-network/memory-archivist": "^2.51.10",
18
+ "@xyo-network/module": "^2.51.10",
19
+ "@xyo-network/payload-model": "^2.51.10",
20
+ "@xyo-network/payload-wrapper": "^2.51.10",
21
+ "@xyo-network/promise": "^2.51.10"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@xylabs/ts-scripts-yarn3": "^2.16.1",
@@ -58,5 +58,5 @@
58
58
  },
59
59
  "sideEffects": false,
60
60
  "types": "dist/types/index.d.ts",
61
- "version": "2.51.8"
61
+ "version": "2.51.10"
62
62
  }
@@ -1,11 +1,18 @@
1
1
  import { readFile } from 'node:fs/promises'
2
2
 
3
3
  import { assertEx } from '@xylabs/assert'
4
- import { AbstractArchivist, ArchivistParams } from '@xyo-network/abstract-archivist'
5
- import { ArchivistAllQuerySchema, ArchivistCommitQuerySchema, ArchivistConfig, ArchivistFindQuerySchema } from '@xyo-network/archivist-interface'
4
+ import { AbstractArchivist } from '@xyo-network/abstract-archivist'
5
+ import {
6
+ ArchivistAllQuerySchema,
7
+ ArchivistCommitQuerySchema,
8
+ ArchivistConfig,
9
+ ArchivistFindQuerySchema,
10
+ ArchivistModule,
11
+ ArchivistParams,
12
+ } from '@xyo-network/archivist-interface'
6
13
  import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
7
14
  import { MemoryArchivist } from '@xyo-network/memory-archivist'
8
- import { ModuleParams } from '@xyo-network/module'
15
+ import { AnyConfigSchema, creatableModule } from '@xyo-network/module'
9
16
  import { XyoPayload } from '@xyo-network/payload-model'
10
17
  import { PayloadWrapper } from '@xyo-network/payload-wrapper'
11
18
  import { PromisableArray } from '@xyo-network/promise'
@@ -18,24 +25,24 @@ export type FilesystemArchivistConfigSchema = 'network.xyo.module.config.archivi
18
25
  export const FilesystemArchivistConfigSchema: FilesystemArchivistConfigSchema = 'network.xyo.module.config.archivist.filesystem'
19
26
 
20
27
  export type FilesystemArchivistConfig = ArchivistConfig<{
21
- filePath: string
28
+ filePath?: string
22
29
  schema: FilesystemArchivistConfigSchema
23
30
  }>
24
31
 
32
+ export type FilesystemArchivistParams = ArchivistParams<AnyConfigSchema<FilesystemArchivistConfig>>
33
+
25
34
  /** @description Currently only a read-only archivist that loads payloads from filesystem
26
35
  * but allows for future expansion to read/write
27
36
  */
28
- export class FilesystemArchivist<
29
- TParams extends ArchivistParams<FilesystemArchivistConfig> = ArchivistParams<FilesystemArchivistConfig>,
30
- > extends AbstractArchivist<TParams> {
37
+ @creatableModule()
38
+ export class FilesystemArchivist<TParams extends FilesystemArchivistParams = FilesystemArchivistParams>
39
+ extends AbstractArchivist<TParams>
40
+ implements ArchivistModule
41
+ {
31
42
  static override configSchema = FilesystemArchivistConfigSchema
32
43
 
33
44
  private _memoryArchivist?: MemoryArchivist
34
45
 
35
- protected constructor(params: TParams) {
36
- super(params)
37
- }
38
-
39
46
  get filePath() {
40
47
  return this.config?.filePath ?? 'archivist.xyo.json'
41
48
  }
@@ -48,12 +55,6 @@ export class FilesystemArchivist<
48
55
  return assertEx(this._memoryArchivist)
49
56
  }
50
57
 
51
- static override async create(params?: ModuleParams<FilesystemArchivistConfig>): Promise<FilesystemArchivist> {
52
- const instance = (await super.create(params)) as FilesystemArchivist
53
- await instance.loadFromFile()
54
- return instance
55
- }
56
-
57
58
  private static dataFromRawJson(rawJson: string) {
58
59
  const data: FileSystemArchivistData = JSON.parse(rawJson)
59
60
  assertEx(typeof data === 'object', 'Archivist Data must be object')
@@ -91,7 +92,8 @@ export class FilesystemArchivist<
91
92
  return await this.memoryArchivist.insert(payloads)
92
93
  }
93
94
 
94
- protected async loadFromFile() {
95
+ override async start() {
96
+ await super.start()
95
97
  this._memoryArchivist = await MemoryArchivist.create()
96
98
  try {
97
99
  const data = FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile())