sliftutils 0.10.0 → 0.12.0
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/.gitignore +38 -0
- package/assets/icon128.png +0 -0
- package/assets/icon16.png +0 -0
- package/assets/icon48.png +0 -0
- package/build-electron/assets/icon128.png +0 -0
- package/build-electron/assets/icon16.png +0 -0
- package/build-electron/assets/icon48.png +0 -0
- package/build-electron/electron/electronIndex.html +12 -0
- package/build-electron/electronMain.js +5185 -0
- package/build-electron/electronRenderer.js +20852 -0
- package/build-extension/assets/icon128.png +0 -0
- package/build-extension/assets/icon16.png +0 -0
- package/build-extension/assets/icon48.png +0 -0
- package/build-extension/extBackground.js +5246 -0
- package/build-extension/extContentScript.js +5243 -0
- package/build-extension/manifest.json +29 -0
- package/build-nodejs/server.js +198610 -0
- package/build-web/assets/icon128.png +0 -0
- package/build-web/assets/icon16.png +0 -0
- package/build-web/assets/icon48.png +0 -0
- package/build-web/browser.js +199266 -0
- package/build-web/web/index.html +32 -0
- package/builders/dist/electronBuild.ts.cache +105 -0
- package/builders/dist/extensionBuild.ts.cache +146 -0
- package/builders/dist/generateIndexDts.ts.cache +74 -0
- package/builders/dist/hotReload.ts.cache +93 -0
- package/builders/dist/nodeJSBuild.ts.cache +29 -0
- package/builders/dist/watch.ts.cache +163 -0
- package/builders/dist/webBuild.ts.cache +81 -0
- package/builders/generateIndexDts.ts +1 -1
- package/bundler/dist/bundleEntry.ts.cache +48 -0
- package/bundler/dist/bundleEntryCaller.ts.cache +18 -0
- package/bundler/dist/bundleRequire.ts.cache +246 -0
- package/bundler/dist/bundleWrapper.ts.cache +101 -0
- package/bundler/dist/bundler.ts.cache +66 -0
- package/bundler/dist/sourceMaps.ts.cache +210 -0
- package/dist/electronMain.ts.cache +27 -0
- package/dist/electronRenderer.tsx.cache +62 -0
- package/electron/dist/electronMain.ts.cache +26 -0
- package/electron/dist/electronRenderer.tsx.cache +64 -0
- package/extension/dist/extBackground.ts.cache +20 -0
- package/extension/dist/extContentScript.ts.cache +17 -0
- package/index.d.ts +478 -0
- package/misc/dist/environment.ts.cache +50 -0
- package/misc/dist/fs.ts.cache +29 -0
- package/nodejs/dist/exampleFile.ts.cache +11 -0
- package/nodejs/dist/server.ts.cache +15 -0
- package/package.json +5 -1
- package/render-utils/dist/observer.tsx.cache +33 -0
- package/storage/CachedStorage.d.ts +2 -0
- package/storage/DelayedStorage.d.ts +14 -0
- package/storage/DiskCollection.d.ts +99 -0
- package/storage/FileFolderAPI.d.ts +71 -0
- package/storage/IStorage.d.ts +38 -0
- package/storage/IndexedDBFileFolderAPI.d.ts +6 -0
- package/storage/JSONStorage.d.ts +16 -0
- package/storage/PendingManager.d.ts +6 -0
- package/storage/PendingStorage.d.ts +18 -0
- package/storage/PrivateFileSystemStorage.d.ts +23 -0
- package/storage/StorageObservable.d.ts +32 -0
- package/storage/TransactionStorage.d.ts +46 -0
- package/storage/dist/CachedStorage.ts.cache +31 -0
- package/storage/dist/DelayedStorage.ts.cache +35 -0
- package/storage/dist/DiskCollection.ts.cache +241 -0
- package/storage/dist/FileFolderAPI.tsx.cache +345 -0
- package/storage/dist/IndexedDBFileFolderAPI.ts.cache +142 -0
- package/storage/dist/JSONStorage.ts.cache +38 -0
- package/storage/dist/PendingManager.tsx.cache +73 -0
- package/storage/dist/PendingStorage.ts.cache +49 -0
- package/storage/dist/PrivateFileSystemStorage.ts.cache +178 -0
- package/storage/dist/StorageObservable.ts.cache +120 -0
- package/storage/dist/TransactionStorage.ts.cache +421 -0
- package/storage/dist/fileSystemPointer.ts.cache +77 -0
- package/storage/fileSystemPointer.d.ts +11 -0
- package/tsconfig.declarations.json +3 -1
- package/web/dist/browser.tsx.cache +66 -0
- package/yarn.lock +1752 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { IStorage, IStorageSync } from "./IStorage";
|
|
4
|
+
import { StorageSync } from "./StorageObservable";
|
|
5
|
+
import { TransactionStorage } from "./TransactionStorage";
|
|
6
|
+
export declare class DiskCollection<T> implements IStorageSync<T> {
|
|
7
|
+
private collectionName;
|
|
8
|
+
private writeDelay?;
|
|
9
|
+
constructor(collectionName: string, writeDelay?: number | undefined);
|
|
10
|
+
transactionStorage: TransactionStorage | undefined;
|
|
11
|
+
initStorage(): Promise<IStorage<T>>;
|
|
12
|
+
baseStorage: Promise<IStorage<T>>;
|
|
13
|
+
private synced;
|
|
14
|
+
get(key: string): T | undefined;
|
|
15
|
+
getPromise(key: string): Promise<T | undefined>;
|
|
16
|
+
set(key: string, value: T): void;
|
|
17
|
+
remove(key: string): void;
|
|
18
|
+
getKeys(): string[];
|
|
19
|
+
getKeysPromise(): Promise<string[]>;
|
|
20
|
+
getEntries(): [string, T][];
|
|
21
|
+
getValues(): T[];
|
|
22
|
+
getValuesPromise(): Promise<T[]>;
|
|
23
|
+
getInfo(key: string): {
|
|
24
|
+
size: number;
|
|
25
|
+
lastModified: number;
|
|
26
|
+
} | undefined;
|
|
27
|
+
reset(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export declare class DiskCollectionBrowser<T> implements IStorageSync<T> {
|
|
30
|
+
private collectionName;
|
|
31
|
+
private writeDelay?;
|
|
32
|
+
constructor(collectionName: string, writeDelay?: number | undefined);
|
|
33
|
+
transactionStorage: TransactionStorage | undefined;
|
|
34
|
+
initStorage(): Promise<IStorage<T>>;
|
|
35
|
+
baseStorage: Promise<IStorage<T>>;
|
|
36
|
+
private synced;
|
|
37
|
+
get(key: string): T | undefined;
|
|
38
|
+
getPromise(key: string): Promise<T | undefined>;
|
|
39
|
+
set(key: string, value: T): void;
|
|
40
|
+
remove(key: string): void;
|
|
41
|
+
getKeys(): string[];
|
|
42
|
+
getKeysPromise(): Promise<string[]>;
|
|
43
|
+
getEntries(): [string, T][];
|
|
44
|
+
getValues(): T[];
|
|
45
|
+
getValuesPromise(): Promise<T[]>;
|
|
46
|
+
getInfo(key: string): {
|
|
47
|
+
size: number;
|
|
48
|
+
lastModified: number;
|
|
49
|
+
} | undefined;
|
|
50
|
+
reset(): Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
export declare class DiskCollectionPromise<T> implements IStorage<T> {
|
|
53
|
+
private collectionName;
|
|
54
|
+
private writeDelay?;
|
|
55
|
+
constructor(collectionName: string, writeDelay?: number | undefined);
|
|
56
|
+
initStorage(): Promise<IStorage<T>>;
|
|
57
|
+
private synced;
|
|
58
|
+
get(key: string): Promise<T | undefined>;
|
|
59
|
+
set(key: string, value: T): Promise<void>;
|
|
60
|
+
remove(key: string): Promise<void>;
|
|
61
|
+
getKeys(): Promise<string[]>;
|
|
62
|
+
getInfo(key: string): Promise<{
|
|
63
|
+
size: number;
|
|
64
|
+
lastModified: number;
|
|
65
|
+
} | undefined>;
|
|
66
|
+
reset(): Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
export declare class DiskCollectionRaw implements IStorage<Buffer> {
|
|
69
|
+
private collectionName;
|
|
70
|
+
constructor(collectionName: string);
|
|
71
|
+
initStorage(): Promise<IStorage<Buffer>>;
|
|
72
|
+
private synced;
|
|
73
|
+
get(key: string): Promise<Buffer | undefined>;
|
|
74
|
+
set(key: string, value: Buffer): Promise<void>;
|
|
75
|
+
remove(key: string): Promise<void>;
|
|
76
|
+
getKeys(): Promise<string[]>;
|
|
77
|
+
getInfo(key: string): Promise<{
|
|
78
|
+
size: number;
|
|
79
|
+
lastModified: number;
|
|
80
|
+
} | undefined>;
|
|
81
|
+
reset(): Promise<void>;
|
|
82
|
+
}
|
|
83
|
+
export declare class DiskCollectionRawBrowser {
|
|
84
|
+
private collectionName;
|
|
85
|
+
constructor(collectionName: string);
|
|
86
|
+
initStorage(): Promise<IStorage<Buffer>>;
|
|
87
|
+
private synced;
|
|
88
|
+
get(key: string): Buffer | undefined;
|
|
89
|
+
getPromise(key: string): Promise<Buffer | undefined>;
|
|
90
|
+
set(key: string, value: Buffer): void;
|
|
91
|
+
getKeys(): Promise<string[]>;
|
|
92
|
+
getInfo(key: string): Promise<{
|
|
93
|
+
size: number;
|
|
94
|
+
lastModified: number;
|
|
95
|
+
} | undefined>;
|
|
96
|
+
reset(): Promise<void>;
|
|
97
|
+
}
|
|
98
|
+
export declare function newFileStorageBufferSyncer(folder?: string): StorageSync<Buffer>;
|
|
99
|
+
export declare function newFileStorageJSONSyncer<T>(folder?: string): StorageSync<T>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { IStorageRaw } from "./IStorage";
|
|
4
|
+
type FileWrapper = {
|
|
5
|
+
getFile(): Promise<{
|
|
6
|
+
size: number;
|
|
7
|
+
lastModified: number;
|
|
8
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
9
|
+
}>;
|
|
10
|
+
createWritable(config?: {
|
|
11
|
+
keepExistingData?: boolean;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
seek(offset: number): Promise<void>;
|
|
14
|
+
write(value: Buffer): Promise<void>;
|
|
15
|
+
close(): Promise<void>;
|
|
16
|
+
}>;
|
|
17
|
+
};
|
|
18
|
+
type DirectoryWrapper = {
|
|
19
|
+
removeEntry(key: string, options?: {
|
|
20
|
+
recursive?: boolean;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
getFileHandle(key: string, options?: {
|
|
23
|
+
create?: boolean;
|
|
24
|
+
}): Promise<FileWrapper>;
|
|
25
|
+
getDirectoryHandle(key: string, options?: {
|
|
26
|
+
create?: boolean;
|
|
27
|
+
}): Promise<DirectoryWrapper>;
|
|
28
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<[
|
|
29
|
+
string,
|
|
30
|
+
{
|
|
31
|
+
kind: "file";
|
|
32
|
+
name: string;
|
|
33
|
+
getFile(): Promise<FileWrapper>;
|
|
34
|
+
} | {
|
|
35
|
+
kind: "directory";
|
|
36
|
+
name: string;
|
|
37
|
+
getDirectoryHandle(key: string, options?: {
|
|
38
|
+
create?: boolean;
|
|
39
|
+
}): Promise<DirectoryWrapper>;
|
|
40
|
+
}
|
|
41
|
+
]>;
|
|
42
|
+
};
|
|
43
|
+
export declare const getDirectoryHandle: {
|
|
44
|
+
(): Promise<DirectoryWrapper>;
|
|
45
|
+
reset(): void;
|
|
46
|
+
set(newValue: Promise<DirectoryWrapper>): void;
|
|
47
|
+
};
|
|
48
|
+
export declare const getFileStorageNested: {
|
|
49
|
+
(key: string): Promise<FileStorage>;
|
|
50
|
+
clear(key: string): void;
|
|
51
|
+
clearAll(): void;
|
|
52
|
+
forceSet(key: string, value: Promise<FileStorage>): void;
|
|
53
|
+
getAllKeys(): string[];
|
|
54
|
+
get(key: string): Promise<FileStorage> | undefined;
|
|
55
|
+
};
|
|
56
|
+
export declare const getFileStorage: {
|
|
57
|
+
(): Promise<FileStorage>;
|
|
58
|
+
reset(): void;
|
|
59
|
+
set(newValue: Promise<FileStorage>): void;
|
|
60
|
+
};
|
|
61
|
+
export declare function resetStorageLocation(): void;
|
|
62
|
+
export type NestedFileStorage = {
|
|
63
|
+
hasKey(key: string): Promise<boolean>;
|
|
64
|
+
getStorage(key: string): Promise<FileStorage>;
|
|
65
|
+
removeStorage(key: string): Promise<void>;
|
|
66
|
+
getKeys(): Promise<string[]>;
|
|
67
|
+
};
|
|
68
|
+
export type FileStorage = IStorageRaw & {
|
|
69
|
+
folder: NestedFileStorage;
|
|
70
|
+
};
|
|
71
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
export type IStorageSync<T> = {
|
|
4
|
+
get(key: string): T | undefined;
|
|
5
|
+
set(key: string, value: T): void;
|
|
6
|
+
remove(key: string): void;
|
|
7
|
+
getKeys(): string[];
|
|
8
|
+
getValues(): T[];
|
|
9
|
+
getEntries(): [string, T][];
|
|
10
|
+
getInfo(key: string): {
|
|
11
|
+
size: number;
|
|
12
|
+
lastModified: number;
|
|
13
|
+
} | undefined;
|
|
14
|
+
reset(): Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
export type IStorage<T> = {
|
|
17
|
+
get(key: string): Promise<T | undefined>;
|
|
18
|
+
set(key: string, value: T): Promise<void>;
|
|
19
|
+
remove(key: string): Promise<void>;
|
|
20
|
+
getKeys(): Promise<string[]>;
|
|
21
|
+
getInfo(key: string): Promise<undefined | {
|
|
22
|
+
size: number;
|
|
23
|
+
lastModified: number;
|
|
24
|
+
}>;
|
|
25
|
+
reset(): Promise<void>;
|
|
26
|
+
};
|
|
27
|
+
export type IStorageRaw = {
|
|
28
|
+
get(key: string): Promise<Buffer | undefined>;
|
|
29
|
+
append(key: string, value: Buffer): Promise<void>;
|
|
30
|
+
set(key: string, value: Buffer): Promise<void>;
|
|
31
|
+
remove(key: string): Promise<void>;
|
|
32
|
+
getKeys(): Promise<string[]>;
|
|
33
|
+
getInfo(key: string): Promise<undefined | {
|
|
34
|
+
size: number;
|
|
35
|
+
lastModified: number;
|
|
36
|
+
}>;
|
|
37
|
+
reset(): Promise<void>;
|
|
38
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { IStorage } from "./IStorage";
|
|
4
|
+
export declare class JSONStorage<T> implements IStorage<T> {
|
|
5
|
+
private storage;
|
|
6
|
+
constructor(storage: IStorage<Buffer>);
|
|
7
|
+
get(key: string): Promise<T | undefined>;
|
|
8
|
+
set(key: string, value: T): Promise<void>;
|
|
9
|
+
remove(key: string): Promise<void>;
|
|
10
|
+
getKeys(): Promise<string[]>;
|
|
11
|
+
getInfo(key: string): Promise<{
|
|
12
|
+
size: number;
|
|
13
|
+
lastModified: number;
|
|
14
|
+
} | undefined>;
|
|
15
|
+
reset(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IStorage } from "./IStorage";
|
|
2
|
+
export declare class PendingStorage<T> implements IStorage<T> {
|
|
3
|
+
private pendingGroup;
|
|
4
|
+
private storage;
|
|
5
|
+
pending: Map<string, number>;
|
|
6
|
+
constructor(pendingGroup: string, storage: IStorage<T>);
|
|
7
|
+
get(key: string): Promise<T | undefined>;
|
|
8
|
+
set(key: string, value: T): Promise<void>;
|
|
9
|
+
remove(key: string): Promise<void>;
|
|
10
|
+
getKeys(): Promise<string[]>;
|
|
11
|
+
getInfo(key: string): Promise<{
|
|
12
|
+
size: number;
|
|
13
|
+
lastModified: number;
|
|
14
|
+
} | undefined>;
|
|
15
|
+
private watchPending;
|
|
16
|
+
private updatePending;
|
|
17
|
+
reset(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { IStorageRaw } from "./IStorage";
|
|
4
|
+
export declare class PrivateFileSystemStorage implements IStorageRaw {
|
|
5
|
+
private path;
|
|
6
|
+
private rootHandle;
|
|
7
|
+
constructor(path: string);
|
|
8
|
+
private ensureInitialized;
|
|
9
|
+
private directoryExists;
|
|
10
|
+
private getDirectoryHandle;
|
|
11
|
+
private getFileHandle;
|
|
12
|
+
private fileExists;
|
|
13
|
+
get(key: string): Promise<Buffer | undefined>;
|
|
14
|
+
set(key: string, value: Buffer): Promise<void>;
|
|
15
|
+
append(key: string, value: Buffer): Promise<void>;
|
|
16
|
+
remove(key: string): Promise<void>;
|
|
17
|
+
getKeys(): Promise<string[]>;
|
|
18
|
+
getInfo(key: string): Promise<undefined | {
|
|
19
|
+
size: number;
|
|
20
|
+
lastModified: number;
|
|
21
|
+
}>;
|
|
22
|
+
reset(): Promise<void>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IStorage, IStorageSync } from "./IStorage";
|
|
2
|
+
export declare class StorageSync<T> implements IStorageSync<T> {
|
|
3
|
+
storage: IStorage<T>;
|
|
4
|
+
cached: import("mobx").ObservableMap<string, T | undefined>;
|
|
5
|
+
infoCached: import("mobx").ObservableMap<string, {
|
|
6
|
+
size: number;
|
|
7
|
+
lastModified: number;
|
|
8
|
+
} | undefined>;
|
|
9
|
+
keys: Set<string>;
|
|
10
|
+
synced: {
|
|
11
|
+
keySeqNum: number;
|
|
12
|
+
};
|
|
13
|
+
constructor(storage: IStorage<T>);
|
|
14
|
+
get(key: string): T | undefined;
|
|
15
|
+
set(key: string, value: T): void;
|
|
16
|
+
remove(key: string): void;
|
|
17
|
+
private loadedKeys;
|
|
18
|
+
getKeys(): string[];
|
|
19
|
+
getInfo(key: string): {
|
|
20
|
+
size: number;
|
|
21
|
+
lastModified: number;
|
|
22
|
+
} | undefined;
|
|
23
|
+
getValues(): T[];
|
|
24
|
+
getEntries(): [string, T][];
|
|
25
|
+
getPromise(key: string): Promise<T | undefined>;
|
|
26
|
+
private pendingGetKeys;
|
|
27
|
+
getKeysPromise(): Promise<string[]>;
|
|
28
|
+
reload(): void;
|
|
29
|
+
reloadKeys(): void;
|
|
30
|
+
reloadKey(key: string): void;
|
|
31
|
+
reset(): Promise<void>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { IStorage, IStorageRaw } from "./IStorage";
|
|
4
|
+
interface TransactionEntry {
|
|
5
|
+
key: string;
|
|
6
|
+
value: Buffer | undefined;
|
|
7
|
+
isZipped: boolean;
|
|
8
|
+
time: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class TransactionStorage implements IStorage<Buffer> {
|
|
11
|
+
private rawStorage;
|
|
12
|
+
private debugName;
|
|
13
|
+
private writeDelay;
|
|
14
|
+
cache: Map<string, TransactionEntry>;
|
|
15
|
+
private currentChunk;
|
|
16
|
+
private currentChunkSize;
|
|
17
|
+
private entryCount;
|
|
18
|
+
private static allStorage;
|
|
19
|
+
constructor(rawStorage: IStorageRaw, debugName: string, writeDelay?: number);
|
|
20
|
+
static compressAll(): Promise<void>;
|
|
21
|
+
private init;
|
|
22
|
+
private getChunk;
|
|
23
|
+
get(key: string): Promise<Buffer | undefined>;
|
|
24
|
+
set(key: string, value: Buffer): Promise<void>;
|
|
25
|
+
remove(key: string): Promise<void>;
|
|
26
|
+
getInfo(key: string): Promise<{
|
|
27
|
+
size: number;
|
|
28
|
+
lastModified: number;
|
|
29
|
+
} | undefined>;
|
|
30
|
+
private pendingAppends;
|
|
31
|
+
private extraAppends;
|
|
32
|
+
private pendingWrite;
|
|
33
|
+
pushAppend(entry: TransactionEntry): Promise<void>;
|
|
34
|
+
private updatePendingAppends;
|
|
35
|
+
getKeys(): Promise<string[]>;
|
|
36
|
+
private loadAllTransactions;
|
|
37
|
+
private loadTransactionFile;
|
|
38
|
+
private readTransactionEntry;
|
|
39
|
+
private serializeTransactionEntry;
|
|
40
|
+
private getHeader;
|
|
41
|
+
private chunkBuffers;
|
|
42
|
+
private compressing;
|
|
43
|
+
private compressTransactionLog;
|
|
44
|
+
reset(): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
3
|
+
//exports.newCachedStrStorage = void 0;
|
|
4
|
+
const DelayedStorage_1 = require("./DelayedStorage");
|
|
5
|
+
const FileFolderAPI_1 = require("./FileFolderAPI");
|
|
6
|
+
const JSONStorage_1 = require("./JSONStorage");
|
|
7
|
+
const PendingStorage_1 = require("./PendingStorage");
|
|
8
|
+
const StorageObservable_1 = require("./StorageObservable");
|
|
9
|
+
function newCachedStrStorage(folder, getValue) {
|
|
10
|
+
let base = new PendingStorage_1.PendingStorage(`CachedStrStorage`, new DelayedStorage_1.DelayedStorage((0, FileFolderAPI_1.getFileStorageNested)(folder)));
|
|
11
|
+
let storage = new StorageObservable_1.StorageSync(new JSONStorage_1.JSONStorage(base));
|
|
12
|
+
let pending = new Set();
|
|
13
|
+
let baseStorageGet = storage.get;
|
|
14
|
+
storage.get = (key) => {
|
|
15
|
+
if (!pending.has(key)) {
|
|
16
|
+
pending.add(key);
|
|
17
|
+
(async () => {
|
|
18
|
+
let existingValue = await storage.getPromise(key);
|
|
19
|
+
if (existingValue)
|
|
20
|
+
return;
|
|
21
|
+
let value = await getValue(key);
|
|
22
|
+
storage.set(key, value);
|
|
23
|
+
})().catch(console.error);
|
|
24
|
+
}
|
|
25
|
+
return baseStorageGet.call(storage, key);
|
|
26
|
+
};
|
|
27
|
+
return storage;
|
|
28
|
+
}
|
|
29
|
+
exports.newCachedStrStorage = newCachedStrStorage;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVkU3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkNhY2hlZFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWtEO0FBQ2xELG1EQUF1RDtBQUV2RCwrQ0FBNEM7QUFDNUMscURBQWtEO0FBQ2xELDJEQUFrRDtBQUVsRCxTQUFnQixtQkFBbUIsQ0FDL0IsTUFBYyxFQUNkLFFBQXFDO0lBRXJDLElBQUksSUFBSSxHQUFHLElBQUksK0JBQWMsQ0FBQyxrQkFBa0IsRUFDNUMsSUFBSSwrQkFBYyxDQUFDLElBQUEsb0NBQW9CLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FDbkQsQ0FBQztJQUNGLElBQUksT0FBTyxHQUFHLElBQUksK0JBQVcsQ0FBQyxJQUFJLHlCQUFXLENBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RCxJQUFJLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQ2hDLElBQUksY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDakMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVqQixDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNSLElBQUksYUFBYSxHQUFHLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxhQUFhO29CQUFFLE9BQU87Z0JBQzFCLElBQUksS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQXhCRCxrREF3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWxheWVkU3RvcmFnZSB9IGZyb20gXCIuL0RlbGF5ZWRTdG9yYWdlXCI7XG5pbXBvcnQgeyBnZXRGaWxlU3RvcmFnZU5lc3RlZCB9IGZyb20gXCIuL0ZpbGVGb2xkZXJBUElcIjtcbmltcG9ydCB7IElTdG9yYWdlU3luYyB9IGZyb20gXCIuL0lTdG9yYWdlXCI7XG5pbXBvcnQgeyBKU09OU3RvcmFnZSB9IGZyb20gXCIuL0pTT05TdG9yYWdlXCI7XG5pbXBvcnQgeyBQZW5kaW5nU3RvcmFnZSB9IGZyb20gXCIuL1BlbmRpbmdTdG9yYWdlXCI7XG5pbXBvcnQgeyBTdG9yYWdlU3luYyB9IGZyb20gXCIuL1N0b3JhZ2VPYnNlcnZhYmxlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdDYWNoZWRTdHJTdG9yYWdlPFQ+KFxuICAgIGZvbGRlcjogc3RyaW5nLFxuICAgIGdldFZhbHVlOiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8VD5cbikge1xuICAgIGxldCBiYXNlID0gbmV3IFBlbmRpbmdTdG9yYWdlKGBDYWNoZWRTdHJTdG9yYWdlYCxcbiAgICAgICAgbmV3IERlbGF5ZWRTdG9yYWdlKGdldEZpbGVTdG9yYWdlTmVzdGVkKGZvbGRlcikpXG4gICAgKTtcbiAgICBsZXQgc3RvcmFnZSA9IG5ldyBTdG9yYWdlU3luYyhuZXcgSlNPTlN0b3JhZ2U8VD4oYmFzZSkpO1xuICAgIGxldCBwZW5kaW5nID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgbGV0IGJhc2VTdG9yYWdlR2V0ID0gc3RvcmFnZS5nZXQ7XG4gICAgc3RvcmFnZS5nZXQgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCFwZW5kaW5nLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICBwZW5kaW5nLmFkZChrZXkpO1xuXG4gICAgICAgICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBleGlzdGluZ1ZhbHVlID0gYXdhaXQgc3RvcmFnZS5nZXRQcm9taXNlKGtleSk7XG4gICAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nVmFsdWUpIHJldHVybjtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBhd2FpdCBnZXRWYWx1ZShrZXkpO1xuICAgICAgICAgICAgICAgIHN0b3JhZ2Uuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfSkoKS5jYXRjaChjb25zb2xlLmVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYmFzZVN0b3JhZ2VHZXQuY2FsbChzdG9yYWdlLCBrZXkpO1xuICAgIH07XG4gICAgcmV0dXJuIHN0b3JhZ2U7XG59Il19
|
|
31
|
+
/* _JS_SOURCE_HASH = "6b417b9d5a7a6f24cd23d3bb315476365b196d7a7314bc05772769aebd4cfeaf"; */
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
3
|
+
//exports.DelayedStorage = void 0;
|
|
4
|
+
class DelayedStorage {
|
|
5
|
+
constructor(storage) {
|
|
6
|
+
this.storage = storage;
|
|
7
|
+
}
|
|
8
|
+
async get(key) {
|
|
9
|
+
const storage = await this.storage;
|
|
10
|
+
return storage.get(key);
|
|
11
|
+
}
|
|
12
|
+
async set(key, value) {
|
|
13
|
+
const storage = await this.storage;
|
|
14
|
+
return storage.set(key, value);
|
|
15
|
+
}
|
|
16
|
+
async remove(key) {
|
|
17
|
+
const storage = await this.storage;
|
|
18
|
+
return storage.remove(key);
|
|
19
|
+
}
|
|
20
|
+
async getKeys() {
|
|
21
|
+
const storage = await this.storage;
|
|
22
|
+
return storage.getKeys();
|
|
23
|
+
}
|
|
24
|
+
async getInfo(key) {
|
|
25
|
+
const storage = await this.storage;
|
|
26
|
+
return storage.getInfo(key);
|
|
27
|
+
}
|
|
28
|
+
async reset() {
|
|
29
|
+
const storage = await this.storage;
|
|
30
|
+
return storage.reset();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.DelayedStorage = DelayedStorage;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVsYXllZFN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJEZWxheWVkU3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFhLGNBQWM7SUFDdkIsWUFBb0IsT0FBNkI7UUFBN0IsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7SUFBSSxDQUFDO0lBQy9DLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVztRQUN4QixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFRO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDTSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVc7UUFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ00sS0FBSyxDQUFDLE9BQU87UUFDaEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDTSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQVc7UUFDNUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUs7UUFDZCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBM0JELHdDQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTdG9yYWdlIH0gZnJvbSBcIi4vSVN0b3JhZ2VcIjtcblxuZXhwb3J0IGNsYXNzIERlbGF5ZWRTdG9yYWdlPFQ+IGltcGxlbWVudHMgSVN0b3JhZ2U8VD4ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmFnZTogUHJvbWlzZTxJU3RvcmFnZTxUPj4pIHsgfVxuICAgIHB1YmxpYyBhc3luYyBnZXQoa2V5OiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IGF3YWl0IHRoaXMuc3RvcmFnZTtcbiAgICAgICAgcmV0dXJuIHN0b3JhZ2UuZ2V0KGtleSk7XG4gICAgfVxuICAgIHB1YmxpYyBhc3luYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBhd2FpdCB0aGlzLnN0b3JhZ2U7XG4gICAgICAgIHJldHVybiBzdG9yYWdlLnNldChrZXksIHZhbHVlKTtcbiAgICB9XG4gICAgcHVibGljIGFzeW5jIHJlbW92ZShrZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBzdG9yYWdlID0gYXdhaXQgdGhpcy5zdG9yYWdlO1xuICAgICAgICByZXR1cm4gc3RvcmFnZS5yZW1vdmUoa2V5KTtcbiAgICB9XG4gICAgcHVibGljIGFzeW5jIGdldEtleXMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgICAgICBjb25zdCBzdG9yYWdlID0gYXdhaXQgdGhpcy5zdG9yYWdlO1xuICAgICAgICByZXR1cm4gc3RvcmFnZS5nZXRLZXlzKCk7XG4gICAgfVxuICAgIHB1YmxpYyBhc3luYyBnZXRJbmZvKGtleTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBhd2FpdCB0aGlzLnN0b3JhZ2U7XG4gICAgICAgIHJldHVybiBzdG9yYWdlLmdldEluZm8oa2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVzZXQoKSB7XG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBhd2FpdCB0aGlzLnN0b3JhZ2U7XG4gICAgICAgIHJldHVybiBzdG9yYWdlLnJlc2V0KCk7XG4gICAgfVxufSJdfQ==
|
|
35
|
+
/* _JS_SOURCE_HASH = "1677f66b78d575c994d05644480c2abd0bd91d4dc1c9229dacb970af14213878"; */
|