querysub 0.437.0 → 0.438.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/.eslintrc.js +50 -50
- package/bin/deploy.js +0 -0
- package/bin/function.js +0 -0
- package/bin/server.js +0 -0
- package/costsBenefits.txt +115 -115
- package/deploy.ts +2 -2
- package/package.json +1 -1
- package/spec.txt +1192 -1192
- package/src/-a-archives/archives.ts +202 -202
- package/src/-a-archives/archivesDisk.ts +454 -454
- package/src/-a-auth/certs.ts +540 -540
- package/src/-a-auth/node-forge-ed25519.d.ts +16 -16
- package/src/-b-authorities/dnsAuthority.ts +138 -138
- package/src/-c-identity/IdentityController.ts +258 -258
- package/src/-d-trust/NetworkTrust2.ts +180 -180
- package/src/-e-certs/EdgeCertController.ts +252 -252
- package/src/-e-certs/certAuthority.ts +201 -201
- package/src/-f-node-discovery/NodeDiscovery.ts +640 -640
- package/src/-g-core-values/NodeCapabilities.ts +200 -200
- package/src/-h-path-value-serialize/stringSerializer.ts +175 -175
- package/src/0-path-value-core/PathValueCommitter.ts +468 -468
- package/src/0-path-value-core/PathValueController.ts +0 -2
- package/src/2-proxy/PathValueProxyWatcher.ts +2542 -2542
- package/src/2-proxy/TransactionDelayer.ts +94 -94
- package/src/2-proxy/pathDatabaseProxyBase.ts +36 -36
- package/src/2-proxy/pathValueProxy.ts +159 -159
- package/src/3-path-functions/PathFunctionRunnerMain.ts +87 -87
- package/src/3-path-functions/pathFunctionLoader.ts +516 -516
- package/src/3-path-functions/tests/rejectTest.ts +76 -76
- package/src/4-deploy/deployCheck.ts +6 -6
- package/src/4-dom/css.tsx +29 -29
- package/src/4-dom/cssTypes.d.ts +211 -211
- package/src/4-dom/qreact.tsx +2799 -2799
- package/src/4-dom/qreactTest.tsx +410 -410
- package/src/4-querysub/permissions.ts +335 -335
- package/src/4-querysub/querysubPrediction.ts +483 -483
- package/src/5-diagnostics/qreactDebug.tsx +377 -346
- package/src/TestController.ts +34 -34
- package/src/bits.ts +104 -104
- package/src/buffers.ts +69 -69
- package/src/diagnostics/ActionsHistory.ts +57 -57
- package/src/diagnostics/listenOnDebugger.ts +71 -71
- package/src/diagnostics/periodic.ts +111 -111
- package/src/diagnostics/trackResources.ts +91 -91
- package/src/diagnostics/watchdog.ts +120 -120
- package/src/errors.ts +133 -133
- package/src/forceProduction.ts +2 -2
- package/src/fs.ts +80 -80
- package/src/functional/diff.ts +857 -857
- package/src/functional/promiseCache.ts +78 -78
- package/src/functional/random.ts +8 -8
- package/src/functional/stats.ts +60 -60
- package/src/heapDumps.ts +665 -665
- package/src/https.ts +1 -1
- package/src/library-components/AspectSizedComponent.tsx +87 -87
- package/src/library-components/ButtonSelector.tsx +64 -64
- package/src/library-components/DropdownCustom.tsx +150 -150
- package/src/library-components/DropdownSelector.tsx +31 -31
- package/src/library-components/InlinePopup.tsx +66 -66
- package/src/misc/color.ts +29 -29
- package/src/misc/hash.ts +83 -83
- package/src/misc/ipPong.js +13 -13
- package/src/misc/networking.ts +1 -1
- package/src/misc/random.ts +44 -44
- package/src/misc.ts +196 -196
- package/src/path.ts +255 -255
- package/src/persistentLocalStore.ts +41 -41
- package/src/promise.ts +14 -14
- package/src/storage/fileSystemPointer.ts +71 -71
- package/src/test/heapProcess.ts +35 -35
- package/src/zip.ts +15 -15
- package/tsconfig.json +26 -26
- package/yarnSpec.txt +56 -56
package/src/fs.ts
CHANGED
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
import { cache, lazy } from "socket-function/src/caching";
|
|
2
|
-
import os from "os";
|
|
3
|
-
import fs from "fs";
|
|
4
|
-
import debugbreak from "debugbreak";
|
|
5
|
-
import { isNode } from "socket-function/src/misc";
|
|
6
|
-
import path from "path";
|
|
7
|
-
import { magenta } from "socket-function/src/formatting/logColors";
|
|
8
|
-
|
|
9
|
-
let rootDir = "";
|
|
10
|
-
if (isNode()) {
|
|
11
|
-
let base = path.resolve(".");
|
|
12
|
-
// Search upwards until we find a package.json
|
|
13
|
-
while (base.length > 3 && !fs.existsSync(base + "/package.json")) {
|
|
14
|
-
base = path.resolve(base + "/..");
|
|
15
|
-
}
|
|
16
|
-
rootDir = pathToLongPath(base.replaceAll("\\", "/") + "/database-storage/");
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function setRootDirKey(key: string) {
|
|
20
|
-
rootDir = pathToLongPath(os.homedir() + "/" + key + "/");
|
|
21
|
-
}
|
|
22
|
-
export function setRootDir(newRootDir: string) {
|
|
23
|
-
rootDir = newRootDir;
|
|
24
|
-
rootDir = pathToLongPath(rootDir);
|
|
25
|
-
}
|
|
26
|
-
function pathToLongPath(fullPath: string): string {
|
|
27
|
-
// I guess we don't need the special prefix?
|
|
28
|
-
// if (isNode() && process.platform === "win32") {
|
|
29
|
-
// fullPath = path.resolve(fullPath);
|
|
30
|
-
// if (!fullPath.startsWith("\\\\?\\")) {
|
|
31
|
-
// fullPath = "\\\\?\\" + fullPath;
|
|
32
|
-
// }
|
|
33
|
-
// }
|
|
34
|
-
if (isNode()) {
|
|
35
|
-
fullPath = path.resolve(fullPath).replaceAll("\\", "/") + "/";
|
|
36
|
-
}
|
|
37
|
-
return fullPath;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export const getStorageDir = lazy(() => {
|
|
41
|
-
let dir = rootDir;
|
|
42
|
-
if (isNode() && !fs.existsSync(dir)) {
|
|
43
|
-
fs.mkdirSync(dir);
|
|
44
|
-
}
|
|
45
|
-
return dir;
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
export const getSubFolder = cache((path: string) => {
|
|
49
|
-
let dir = getStorageDir() + path;
|
|
50
|
-
if (!dir.endsWith("/")) {
|
|
51
|
-
dir += "/";
|
|
52
|
-
}
|
|
53
|
-
if (isNode() && !fs.existsSync(dir)) {
|
|
54
|
-
fs.mkdirSync(dir);
|
|
55
|
-
}
|
|
56
|
-
return dir;
|
|
57
|
-
});
|
|
58
|
-
export const getStorageFolder = getSubFolder;
|
|
59
|
-
|
|
60
|
-
export async function* readDirRecursive(dir: string): AsyncGenerator<string> {
|
|
61
|
-
try {
|
|
62
|
-
for (let file of await fs.promises.readdir(dir)) {
|
|
63
|
-
let fullPath = dir + file;
|
|
64
|
-
try {
|
|
65
|
-
let stat = await fs.promises.stat(fullPath);
|
|
66
|
-
if (stat.isDirectory()) {
|
|
67
|
-
yield* readDirRecursive(fullPath + "/");
|
|
68
|
-
}
|
|
69
|
-
} catch { }
|
|
70
|
-
}
|
|
71
|
-
} catch { }
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export async function fsExistsAsync(path: string) {
|
|
75
|
-
try {
|
|
76
|
-
await fs.promises.stat(path);
|
|
77
|
-
return true;
|
|
78
|
-
} catch {
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
1
|
+
import { cache, lazy } from "socket-function/src/caching";
|
|
2
|
+
import os from "os";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
import debugbreak from "debugbreak";
|
|
5
|
+
import { isNode } from "socket-function/src/misc";
|
|
6
|
+
import path from "path";
|
|
7
|
+
import { magenta } from "socket-function/src/formatting/logColors";
|
|
8
|
+
|
|
9
|
+
let rootDir = "";
|
|
10
|
+
if (isNode()) {
|
|
11
|
+
let base = path.resolve(".");
|
|
12
|
+
// Search upwards until we find a package.json
|
|
13
|
+
while (base.length > 3 && !fs.existsSync(base + "/package.json")) {
|
|
14
|
+
base = path.resolve(base + "/..");
|
|
15
|
+
}
|
|
16
|
+
rootDir = pathToLongPath(base.replaceAll("\\", "/") + "/database-storage/");
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function setRootDirKey(key: string) {
|
|
20
|
+
rootDir = pathToLongPath(os.homedir() + "/" + key + "/");
|
|
21
|
+
}
|
|
22
|
+
export function setRootDir(newRootDir: string) {
|
|
23
|
+
rootDir = newRootDir;
|
|
24
|
+
rootDir = pathToLongPath(rootDir);
|
|
25
|
+
}
|
|
26
|
+
function pathToLongPath(fullPath: string): string {
|
|
27
|
+
// I guess we don't need the special prefix?
|
|
28
|
+
// if (isNode() && process.platform === "win32") {
|
|
29
|
+
// fullPath = path.resolve(fullPath);
|
|
30
|
+
// if (!fullPath.startsWith("\\\\?\\")) {
|
|
31
|
+
// fullPath = "\\\\?\\" + fullPath;
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
if (isNode()) {
|
|
35
|
+
fullPath = path.resolve(fullPath).replaceAll("\\", "/") + "/";
|
|
36
|
+
}
|
|
37
|
+
return fullPath;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const getStorageDir = lazy(() => {
|
|
41
|
+
let dir = rootDir;
|
|
42
|
+
if (isNode() && !fs.existsSync(dir)) {
|
|
43
|
+
fs.mkdirSync(dir);
|
|
44
|
+
}
|
|
45
|
+
return dir;
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
export const getSubFolder = cache((path: string) => {
|
|
49
|
+
let dir = getStorageDir() + path;
|
|
50
|
+
if (!dir.endsWith("/")) {
|
|
51
|
+
dir += "/";
|
|
52
|
+
}
|
|
53
|
+
if (isNode() && !fs.existsSync(dir)) {
|
|
54
|
+
fs.mkdirSync(dir);
|
|
55
|
+
}
|
|
56
|
+
return dir;
|
|
57
|
+
});
|
|
58
|
+
export const getStorageFolder = getSubFolder;
|
|
59
|
+
|
|
60
|
+
export async function* readDirRecursive(dir: string): AsyncGenerator<string> {
|
|
61
|
+
try {
|
|
62
|
+
for (let file of await fs.promises.readdir(dir)) {
|
|
63
|
+
let fullPath = dir + file;
|
|
64
|
+
try {
|
|
65
|
+
let stat = await fs.promises.stat(fullPath);
|
|
66
|
+
if (stat.isDirectory()) {
|
|
67
|
+
yield* readDirRecursive(fullPath + "/");
|
|
68
|
+
}
|
|
69
|
+
} catch { }
|
|
70
|
+
}
|
|
71
|
+
} catch { }
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export async function fsExistsAsync(path: string) {
|
|
75
|
+
try {
|
|
76
|
+
await fs.promises.stat(path);
|
|
77
|
+
return true;
|
|
78
|
+
} catch {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
81
|
}
|