sliftutils 1.7.8 → 1.7.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.
Files changed (43) hide show
  1. package/bin/storageserver.js +4 -0
  2. package/bundler/bundleEntry.ts +14 -10
  3. package/bundler/bundler.ts +6 -1
  4. package/{teststorage → examplestorage}/browser.tsx +18 -22
  5. package/{teststorage/server.ts → examplestorage/exampleserver.ts} +5 -5
  6. package/index.d.ts +528 -78
  7. package/misc/https/dns.d.ts +7 -3
  8. package/misc/https/dns.ts +4 -9
  9. package/misc/https/hostServer.d.ts +6 -3
  10. package/misc/https/hostServer.ts +6 -6
  11. package/package.json +2 -1
  12. package/spec.txt +77 -42
  13. package/storage/ArchivesDisk.d.ts +65 -0
  14. package/storage/ArchivesDisk.ts +365 -0
  15. package/storage/IArchives.d.ts +95 -1
  16. package/storage/IArchives.ts +146 -1
  17. package/storage/backblaze.d.ts +14 -2
  18. package/storage/backblaze.ts +18 -2
  19. package/storage/remoteStorage/ArchivesRemote.d.ts +29 -17
  20. package/storage/remoteStorage/ArchivesRemote.ts +63 -63
  21. package/storage/remoteStorage/ArchivesUrl.d.ts +46 -0
  22. package/storage/remoteStorage/ArchivesUrl.ts +74 -0
  23. package/storage/remoteStorage/accessPage.tsx +111 -28
  24. package/storage/remoteStorage/blobStore.d.ts +79 -25
  25. package/storage/remoteStorage/blobStore.ts +441 -287
  26. package/storage/remoteStorage/cliArgs.d.ts +1 -0
  27. package/storage/remoteStorage/cliArgs.ts +9 -0
  28. package/storage/remoteStorage/createArchives.d.ts +64 -0
  29. package/storage/remoteStorage/createArchives.ts +395 -0
  30. package/storage/remoteStorage/grantAccess.js +4 -0
  31. package/storage/remoteStorage/grantAccessCli.d.ts +1 -0
  32. package/storage/remoteStorage/grantAccessCli.ts +27 -0
  33. package/storage/remoteStorage/remoteConfig.d.ts +21 -0
  34. package/storage/remoteStorage/remoteConfig.ts +94 -0
  35. package/storage/remoteStorage/storageController.d.ts +19 -27
  36. package/storage/remoteStorage/storageController.ts +205 -136
  37. package/storage/remoteStorage/storageServer.d.ts +11 -0
  38. package/storage/remoteStorage/storageServer.ts +80 -93
  39. package/storage/remoteStorage/storageServerCli.d.ts +1 -0
  40. package/storage/remoteStorage/storageServerCli.ts +41 -0
  41. package/storage/remoteStorage/storageServerState.d.ts +37 -0
  42. package/storage/remoteStorage/storageServerState.ts +358 -0
  43. package/testsite/server.ts +1 -1
@@ -1,44 +1,96 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { ArchiveFileInfo } from "../IArchives";
3
+ import { ArchiveFileInfo, ArchivesSource, ArchivesSyncStatus } from "../IArchives";
4
4
  export declare const DEFAULT_FAST_WRITE_DELAY: number;
5
5
  export type WriteConfig = {
6
6
  fast?: boolean;
7
7
  writeDelay?: number;
8
+ lastModified?: number;
8
9
  };
9
- export declare class BlobStore {
10
+ export type IBucketStore = {
11
+ get(fileName: string, config?: {
12
+ range?: {
13
+ start: number;
14
+ end: number;
15
+ };
16
+ }): Promise<Buffer | undefined>;
17
+ get2(fileName: string, config?: {
18
+ range?: {
19
+ start: number;
20
+ end: number;
21
+ };
22
+ }): Promise<{
23
+ data: Buffer;
24
+ writeTime: number;
25
+ } | undefined>;
26
+ set(fileName: string, data: Buffer, config?: WriteConfig): Promise<void>;
27
+ del(fileName: string, config?: WriteConfig): Promise<void>;
28
+ getInfo(fileName: string): Promise<{
29
+ writeTime: number;
30
+ size: number;
31
+ } | undefined>;
32
+ findInfo(prefix: string, config?: {
33
+ shallow?: boolean;
34
+ type?: "files" | "folders";
35
+ }): Promise<ArchiveFileInfo[]>;
36
+ getChangesAfter?(time: number): Promise<ArchiveFileInfo[]>;
37
+ getSyncStatus?(): Promise<ArchivesSyncStatus>;
38
+ startLargeUpload(): Promise<string>;
39
+ appendLargeUpload(id: string, data: Buffer): Promise<void>;
40
+ finishLargeUpload(id: string, key: string): Promise<void>;
41
+ cancelLargeUpload(id: string): Promise<void>;
42
+ };
43
+ export declare class BlobStore implements IBucketStore {
10
44
  private folder;
11
- constructor(folder: string);
12
- private memCache;
13
- private overlay;
14
- private writeQueue;
15
- private openBlobs;
16
- private largeUploads;
17
- private nextLargeUploadId;
18
- private currentBlobNumber;
19
- private currentBlobOffset;
20
- private currentBlobFd;
45
+ private sources;
46
+ private config?;
47
+ constructor(folder: string, sources: ArchivesSource[], config?: {
48
+ onIndexChanged?: ((key: string) => void) | undefined;
49
+ } | undefined);
50
+ private stopped;
21
51
  private index;
22
- private deadBytes;
23
- private blobsDir;
52
+ private mem;
53
+ private dirty;
54
+ private overlay;
55
+ private sourceStates;
24
56
  init: {
25
57
  (): Promise<void>;
26
58
  reset(): void;
27
59
  set(newValue: Promise<void>): void;
28
60
  };
29
- private blobName;
30
- private blobPath;
31
- private getBlobHandle;
32
- private closeBlobHandle;
33
- private addDeadBytes;
34
- private appendData;
61
+ dispose(): Promise<void>;
62
+ private loadIndex;
35
63
  private setIndexEntry;
64
+ private deleteIndexEntry;
65
+ private flushIndex;
66
+ private runSourceSync;
67
+ private scanSource;
68
+ private applyScanned;
69
+ private pollChanges;
70
+ private copySourceFiles;
71
+ private waitForRequiredScans;
72
+ private checkMissingKey;
73
+ private getIndexEntry;
74
+ get(key: string, config?: {
75
+ range?: {
76
+ start: number;
77
+ end: number;
78
+ };
79
+ }): Promise<Buffer | undefined>;
80
+ get2(key: string, config?: {
81
+ range?: {
82
+ start: number;
83
+ end: number;
84
+ };
85
+ }): Promise<{
86
+ data: Buffer;
87
+ writeTime: number;
88
+ } | undefined>;
89
+ private cacheRead;
36
90
  set(key: string, data: Buffer, config?: WriteConfig): Promise<void>;
91
+ private writeToSources;
37
92
  del(key: string, config?: WriteConfig): Promise<void>;
38
- get(key: string, range?: {
39
- start: number;
40
- end: number;
41
- }): Promise<Buffer | undefined>;
93
+ private deleteFromSources;
42
94
  getInfo(key: string): Promise<{
43
95
  writeTime: number;
44
96
  size: number;
@@ -47,10 +99,12 @@ export declare class BlobStore {
47
99
  shallow?: boolean;
48
100
  type?: "files" | "folders";
49
101
  }): Promise<ArchiveFileInfo[]>;
102
+ getChangesAfter(time: number): Promise<ArchiveFileInfo[]>;
103
+ getSyncStatus(): Promise<ArchivesSyncStatus>;
104
+ private getDiskSource;
50
105
  startLargeUpload(): Promise<string>;
51
106
  appendLargeUpload(id: string, data: Buffer): Promise<void>;
52
107
  finishLargeUpload(id: string, key: string): Promise<void>;
53
108
  cancelLargeUpload(id: string): Promise<void>;
54
109
  private flushOverlay;
55
- private compact;
56
110
  }