@xyo-network/archivist-indexeddb 3.3.0 → 3.3.2

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.
@@ -24,21 +24,55 @@ export declare class IndexedDbArchivist<TParams extends IndexedDbArchivistParams
24
24
  static readonly schemaIndexName: string;
25
25
  private _dbName?;
26
26
  private _storeName?;
27
+ /**
28
+ * The database name. If not supplied via config, it defaults
29
+ * to the module name (not guaranteed to be unique) and if module
30
+ * name is not supplied, it defaults to `archivist`. This behavior
31
+ * biases towards a single, isolated DB per archivist which seems to
32
+ * make the most sense for 99% of use cases.
33
+ */
27
34
  get dbName(): string;
35
+ /**
36
+ * The database version. If not supplied via config, it defaults to 1.
37
+ */
28
38
  get dbVersion(): number;
29
39
  get queries(): string[];
40
+ /**
41
+ * The name of the object store. If not supplied via config, it defaults
42
+ * to `payloads`.
43
+ */
30
44
  get storeName(): string;
45
+ /**
46
+ * The indexes to create on the store
47
+ */
31
48
  private get indexes();
32
49
  protected allHandler(): Promise<StoredPayload[]>;
33
50
  protected clearHandler(): Promise<void>;
34
51
  protected deleteHandler(hashes: Hash[]): Promise<Hash[]>;
52
+ /**
53
+ * Uses an index to get a payload by the index value, but returns the value with the primary key (from the root store)
54
+ * @param db The db instance to use
55
+ * @param storeName The name of the store to use
56
+ * @param indexName The index to use
57
+ * @param key The key to get from the index
58
+ * @returns The primary key and the payload, or undefined if not found
59
+ */
35
60
  protected getFromIndexWithPrimaryKey(db: IDBPDatabase<PayloadStore>, storeName: string, indexName: string, key: IDBValidKey): Promise<[number, StoredPayload] | undefined>;
36
61
  protected getFromOffset(db: IDBPDatabase<PayloadStore>, storeName: string, order?: 'asc' | 'desc', limit?: number, offset?: Hash): Promise<StoredPayload[]>;
37
62
  protected getHandler(hashes: string[]): Promise<StoredPayload[]>;
38
63
  protected insertHandler(payloads: Payload[]): Promise<PayloadWithMeta[]>;
39
64
  protected nextHandler(options?: ArchivistNextOptions): Promise<StoredPayload[]>;
40
65
  protected startHandler(): Promise<boolean>;
66
+ /**
67
+ * Returns that the desired DB/Store initialized to the correct version
68
+ * @returns The initialized DB
69
+ */
41
70
  private getInitializedDb;
71
+ /**
72
+ * Executes a callback with the initialized DB and then closes the db
73
+ * @param callback The method to execute with the initialized DB
74
+ * @returns
75
+ */
42
76
  private useDb;
43
77
  }
44
78
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAKL,wBAAwB,EACxB,oBAAoB,EAIrB,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EACL,OAAO,EAAE,eAAe,EAAE,MAAM,EACjC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACgB,YAAY,EAClC,MAAM,KAAK,CAAA;AAGZ,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtD,KAAK,aAAa,GAAG,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAExD,MAAM,WAAW,YAAY;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CAC3B;AAED,qBACa,kBAAkB,CAC7B,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,EACnE,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CACtE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;IAC9C,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA2D;IAC3G,gBAAyB,mBAAmB,EAAE,MAAM,CAAiC;IACrF,MAAM,CAAC,QAAQ,CAAC,aAAa,eAAc;IAC3C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,KAAI;IACpC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,cAAa;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAEpC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAEhC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAElC;IAGD,MAAM,CAAC,QAAQ,CAAC,aAAa,SAAuD;IAEpF,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAA2D;IAE5F,MAAM,CAAC,QAAQ,CAAC,eAAe,SAAyD;IAExF,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,UAAU,CAAC,CAAQ;IAS3B,IAAI,MAAM,WAeT;IAKD,IAAI,SAAS,WAEZ;IAED,IAAa,OAAO,aASnB;IAMD,IAAI,SAAS,WAUZ;IAKD,OAAO,KAAK,OAAO,GAElB;cAEwB,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;cAOtC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAI7B,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;cAoCvD,0BAA0B,CACxC,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;cAiB/B,aAAa,CAC3B,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,KAAK,GAAG,MAAc,EAC7B,KAAK,GAAE,MAAW,EAClB,MAAM,CAAC,EAAE,IAAI,GACZ,OAAO,CAAC,aAAa,EAAE,CAAC;cA0CF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;cAmCtD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;cAmC9D,WAAW,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;cASrE,YAAY;YAYvB,gBAAgB;YAyDhB,KAAK;CAWpB"}
1
+ {"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAKL,wBAAwB,EACxB,oBAAoB,EAIrB,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EACL,OAAO,EAAE,eAAe,EAAE,MAAM,EACjC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACgB,YAAY,EAClC,MAAM,KAAK,CAAA;AAGZ,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtD,KAAK,aAAa,GAAG,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAExD,MAAM,WAAW,YAAY;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CAC3B;AAED,qBACa,kBAAkB,CAC7B,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,EACnE,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CACtE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;IAC9C,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA2D;IAC3G,gBAAyB,mBAAmB,EAAE,MAAM,CAAiC;IACrF,MAAM,CAAC,QAAQ,CAAC,aAAa,eAAc;IAC3C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,KAAI;IACpC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,cAAa;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAEpC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAEhC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAElC;IAGD,MAAM,CAAC,QAAQ,CAAC,aAAa,SAAuD;IAEpF,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAA2D;IAE5F,MAAM,CAAC,QAAQ,CAAC,eAAe,SAAyD;IAExF,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,UAAU,CAAC,CAAQ;IAE3B;;;;;;OAMG;IACH,IAAI,MAAM,WAeT;IAED;;OAEG;IACH,IAAI,SAAS,WAEZ;IAED,IAAa,OAAO,aASnB;IAED;;;OAGG;IACH,IAAI,SAAS,WAUZ;IAED;;OAEG;IACH,OAAO,KAAK,OAAO,GAElB;cAEwB,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;cAOtC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAI7B,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IA4BvE;;;;;;;OAOG;cACa,0BAA0B,CACxC,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;cAiB/B,aAAa,CAC3B,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,KAAK,GAAG,MAAc,EAC7B,KAAK,GAAE,MAAW,EAClB,MAAM,CAAC,EAAE,IAAI,GACZ,OAAO,CAAC,aAAa,EAAE,CAAC;cA0CF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;cAmCtD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;cAmC9D,WAAW,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;cASrE,YAAY;IAQrC;;;OAGG;YACW,gBAAgB;IAoD9B;;;;OAIG;YACW,KAAK;CAWpB"}
@@ -3,9 +3,18 @@ import { IndexedDbArchivistSchema } from './Schema.ts';
3
3
  export type IndexedDbArchivistConfigSchema = `${IndexedDbArchivistSchema}.config`;
4
4
  export declare const IndexedDbArchivistConfigSchema: IndexedDbArchivistConfigSchema;
5
5
  export type IndexedDbArchivistConfig = ArchivistConfig<{
6
+ /**
7
+ * The database name
8
+ */
6
9
  dbName?: string;
10
+ /**
11
+ * The version of the DB, defaults to 1
12
+ */
7
13
  dbVersion?: number;
8
14
  schema: IndexedDbArchivistConfigSchema;
15
+ /**
16
+ * The name of the object store
17
+ */
9
18
  storeName?: string;
10
19
  }>;
11
20
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtD,MAAM,MAAM,8BAA8B,GAAG,GAAG,wBAAwB,SAAS,CAAA;AACjF,eAAO,MAAM,8BAA8B,EAAE,8BAAqE,CAAA;AAElH,MAAM,MAAM,wBAAwB,GAAG,eAAe,CAAC;IAIrD,MAAM,CAAC,EAAE,MAAM,CAAA;IAIf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,8BAA8B,CAAA;IAItC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtD,MAAM,MAAM,8BAA8B,GAAG,GAAG,wBAAwB,SAAS,CAAA;AACjF,eAAO,MAAM,8BAA8B,EAAE,8BAAqE,CAAA;AAElH,MAAM,MAAM,wBAAwB,GAAG,eAAe,CAAC;IACrD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,8BAA8B,CAAA;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/archivist-indexeddb",
3
- "version": "3.3.0",
3
+ "version": "3.3.2",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -29,26 +29,27 @@
29
29
  "module": "dist/browser/index.mjs",
30
30
  "types": "dist/browser/index.d.ts",
31
31
  "dependencies": {
32
- "@xylabs/array": "^4.2.2",
33
- "@xylabs/assert": "^4.2.2",
34
- "@xylabs/exists": "^4.2.2",
35
- "@xylabs/hex": "^4.2.2",
36
- "@xyo-network/archivist-abstract": "^3.3.0",
37
- "@xyo-network/archivist-model": "^3.3.0",
38
- "@xyo-network/module-model": "^3.3.0",
39
- "@xyo-network/payload-builder": "^3.3.0",
40
- "@xyo-network/payload-model": "^3.3.0",
32
+ "@xylabs/array": "^4.3.2",
33
+ "@xylabs/assert": "^4.3.2",
34
+ "@xylabs/exists": "^4.3.2",
35
+ "@xylabs/hex": "^4.3.2",
36
+ "@xyo-network/archivist-abstract": "^3.3.2",
37
+ "@xyo-network/archivist-model": "^3.3.2",
38
+ "@xyo-network/module-model": "^3.3.2",
39
+ "@xyo-network/payload-builder": "^3.3.2",
40
+ "@xyo-network/payload-model": "^3.3.2",
41
41
  "idb": "^8.0.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@xylabs/object": "^4.2.2",
45
- "@xylabs/ts-scripts-yarn3": "^4.2.1",
46
- "@xylabs/tsconfig": "^4.2.1",
47
- "@xyo-network/account": "^3.3.0",
48
- "@xyo-network/id-payload-plugin": "^3.3.0",
49
- "@xyo-network/payload-wrapper": "^3.3.0",
44
+ "@xylabs/object": "^4.3.2",
45
+ "@xylabs/ts-scripts-yarn3": "^4.2.3",
46
+ "@xylabs/tsconfig": "^4.2.3",
47
+ "@xyo-network/account": "^3.3.2",
48
+ "@xyo-network/id-payload-plugin": "^3.3.2",
49
+ "@xyo-network/payload-wrapper": "^3.3.2",
50
50
  "fake-indexeddb": "^6.0.0",
51
- "typescript": "^5.6.3"
51
+ "typescript": "^5.6.3",
52
+ "vitest": "^2.1.3"
52
53
  },
53
54
  "publishConfig": {
54
55
  "access": "public"