sliftutils 1.1.48 → 1.1.50

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.
package/index.d.ts CHANGED
@@ -763,23 +763,45 @@ declare module "sliftutils/render-utils/observer" {
763
763
  }
764
764
 
765
765
  declare module "sliftutils/storage/BulkDatabase2/BulkDatabase2" {
766
+ import { BulkDatabaseBase } from "./BulkDatabaseBase";
767
+ export { BulkDatabaseBase, noopReactiveDeps } from "./BulkDatabaseBase";
768
+ export type { ReactiveDeps, StorageFactory } from "./BulkDatabaseBase";
766
769
  export declare class BulkDatabase2<T extends {
767
770
  key: string;
771
+ }> extends BulkDatabaseBase<T> {
772
+ constructor(name: string);
773
+ }
774
+
775
+ }
776
+
777
+ declare module "sliftutils/storage/BulkDatabase2/BulkDatabaseBase" {
778
+ import type { FileStorage } from "../FileFolderAPI";
779
+ export interface ReactiveDeps {
780
+ observe(signal: string): void;
781
+ invalidate(signal: string): void;
782
+ batch(fn: () => void): void;
783
+ }
784
+ export declare const noopReactiveDeps: ReactiveDeps;
785
+ export type StorageFactory = (path: string) => Promise<FileStorage>;
786
+ export declare class BulkDatabaseBase<T extends {
787
+ key: string;
768
788
  }> {
769
789
  readonly name: string;
770
- constructor(name: string);
790
+ protected deps: ReactiveDeps;
791
+ private storageFactory;
792
+ constructor(name: string, deps: ReactiveDeps, storageFactory: StorageFactory);
771
793
  static clearCache(): void;
772
794
  storage: {
773
- (): Promise<import("../FileFolderAPI").FileStorage>;
795
+ (): Promise<FileStorage>;
774
796
  reset(): void;
775
- set(newValue: Promise<import("../FileFolderAPI").FileStorage>): void;
797
+ set(newValue: Promise<FileStorage>): void;
776
798
  };
777
799
  private overlay;
778
800
  private streamTimes;
779
- private loadVersion;
780
801
  private streamFileName;
781
802
  private streamRowsWritten;
782
803
  private getStreamFileName;
804
+ private setOverlay;
783
805
  private reader;
784
806
  private syncSetup;
785
807
  private localTime;
@@ -931,11 +953,6 @@ declare module "sliftutils/storage/BulkDatabase2/syncClient" {
931
953
 
932
954
  }
933
955
 
934
- declare module "sliftutils/storage/BulkDatabase2/syncWorker" {
935
- export {};
936
-
937
- }
938
-
939
956
  declare module "sliftutils/storage/CBORStorage" {
940
957
  /// <reference types="node" />
941
958
  /// <reference types="node" />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sliftutils",
3
- "version": "1.1.48",
3
+ "version": "1.1.50",
4
4
  "main": "index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -1,74 +1,8 @@
1
+ import { BulkDatabaseBase } from "./BulkDatabaseBase";
2
+ export { BulkDatabaseBase, noopReactiveDeps } from "./BulkDatabaseBase";
3
+ export type { ReactiveDeps, StorageFactory } from "./BulkDatabaseBase";
1
4
  export declare class BulkDatabase2<T extends {
2
5
  key: string;
3
- }> {
4
- readonly name: string;
6
+ }> extends BulkDatabaseBase<T> {
5
7
  constructor(name: string);
6
- static clearCache(): void;
7
- storage: {
8
- (): Promise<import("../FileFolderAPI").FileStorage>;
9
- reset(): void;
10
- set(newValue: Promise<import("../FileFolderAPI").FileStorage>): void;
11
- };
12
- private overlay;
13
- private streamTimes;
14
- private loadVersion;
15
- private streamFileName;
16
- private streamRowsWritten;
17
- private getStreamFileName;
18
- private reader;
19
- private syncSetup;
20
- private localTime;
21
- private applyRemote;
22
- private resetReader;
23
- write(entry: T): Promise<void>;
24
- writeBatch(entries: T[]): Promise<void>;
25
- delete(key: string): Promise<void>;
26
- deleteBatch(keys: string[]): Promise<void>;
27
- private writeBulkFile;
28
- private listStreamFiles;
29
- private loadStreamEntries;
30
- private orderStreamEntries;
31
- private maybeRolloverStream;
32
- private rolloverStream;
33
- compact(): Promise<void>;
34
- private listFiles;
35
- private makeRawGetRange;
36
- private loadFileReader;
37
- private fileLogicalSize;
38
- private handleUnreadableFile;
39
- private mergeFilesBase;
40
- private mergeFiles;
41
- private formatInfo;
42
- private patchColumn;
43
- getSingleField<Column extends keyof T>(key: string, column: Column): Promise<T[Column] | undefined>;
44
- getColumn<Column extends keyof T>(column: Column): Promise<{
45
- key: string;
46
- value: T[Column];
47
- }[]>;
48
- getKeys(): Promise<string[]>;
49
- private baseColumns;
50
- private baseColumnsLoading;
51
- private baseFields;
52
- private baseFieldsLoading;
53
- private ensureBaseColumn;
54
- private ensureBaseField;
55
- getSingleFieldSync<Column extends keyof T>(key: string, column: Column): T[Column] | undefined;
56
- getColumnSync<Column extends keyof T>(column: Column): {
57
- key: string;
58
- value: T[Column];
59
- }[] | undefined;
60
- getColumnInfo(): Promise<{
61
- column: string;
62
- byteSize: number;
63
- }[]>;
64
- getReaderInfo(): Promise<{
65
- rowCount: number;
66
- totalBytes: number;
67
- keyCount: number;
68
- sampleKey: string | undefined;
69
- columns: {
70
- column: string;
71
- byteSize: number;
72
- }[];
73
- }>;
74
8
  }