querysub 0.433.0 → 0.436.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.
Files changed (74) hide show
  1. package/.eslintrc.js +50 -50
  2. package/bin/deploy.js +0 -0
  3. package/bin/function.js +0 -0
  4. package/bin/server.js +0 -0
  5. package/costsBenefits.txt +115 -115
  6. package/deploy.ts +2 -2
  7. package/package.json +1 -1
  8. package/spec.txt +1192 -1192
  9. package/src/-a-archives/archives.ts +202 -202
  10. package/src/-a-archives/archivesBackBlaze.ts +1 -0
  11. package/src/-a-archives/archivesDisk.ts +454 -454
  12. package/src/-a-auth/certs.ts +540 -540
  13. package/src/-a-auth/node-forge-ed25519.d.ts +16 -16
  14. package/src/-b-authorities/dnsAuthority.ts +138 -138
  15. package/src/-c-identity/IdentityController.ts +258 -258
  16. package/src/-d-trust/NetworkTrust2.ts +180 -180
  17. package/src/-e-certs/EdgeCertController.ts +252 -252
  18. package/src/-e-certs/certAuthority.ts +201 -201
  19. package/src/-f-node-discovery/NodeDiscovery.ts +640 -640
  20. package/src/-g-core-values/NodeCapabilities.ts +200 -200
  21. package/src/-h-path-value-serialize/stringSerializer.ts +175 -175
  22. package/src/0-path-value-core/PathValueCommitter.ts +468 -468
  23. package/src/0-path-value-core/pathValueCore.ts +2 -2
  24. package/src/2-proxy/PathValueProxyWatcher.ts +2542 -2542
  25. package/src/2-proxy/TransactionDelayer.ts +94 -94
  26. package/src/2-proxy/pathDatabaseProxyBase.ts +36 -36
  27. package/src/2-proxy/pathValueProxy.ts +159 -159
  28. package/src/3-path-functions/PathFunctionRunnerMain.ts +87 -87
  29. package/src/3-path-functions/pathFunctionLoader.ts +516 -516
  30. package/src/3-path-functions/tests/rejectTest.ts +76 -76
  31. package/src/4-deploy/deployCheck.ts +6 -6
  32. package/src/4-dom/css.tsx +29 -29
  33. package/src/4-dom/cssTypes.d.ts +211 -211
  34. package/src/4-dom/qreact.tsx +2799 -2799
  35. package/src/4-dom/qreactTest.tsx +410 -410
  36. package/src/4-querysub/permissions.ts +335 -335
  37. package/src/4-querysub/querysubPrediction.ts +483 -483
  38. package/src/5-diagnostics/qreactDebug.tsx +346 -346
  39. package/src/TestController.ts +34 -34
  40. package/src/bits.ts +104 -104
  41. package/src/buffers.ts +69 -69
  42. package/src/diagnostics/ActionsHistory.ts +57 -57
  43. package/src/diagnostics/listenOnDebugger.ts +71 -71
  44. package/src/diagnostics/periodic.ts +111 -111
  45. package/src/diagnostics/trackResources.ts +91 -91
  46. package/src/diagnostics/watchdog.ts +120 -120
  47. package/src/errors.ts +133 -133
  48. package/src/forceProduction.ts +2 -2
  49. package/src/fs.ts +80 -80
  50. package/src/functional/diff.ts +857 -857
  51. package/src/functional/promiseCache.ts +78 -78
  52. package/src/functional/random.ts +8 -8
  53. package/src/functional/stats.ts +60 -60
  54. package/src/heapDumps.ts +665 -665
  55. package/src/https.ts +1 -1
  56. package/src/library-components/AspectSizedComponent.tsx +87 -87
  57. package/src/library-components/ButtonSelector.tsx +64 -64
  58. package/src/library-components/DropdownCustom.tsx +150 -150
  59. package/src/library-components/DropdownSelector.tsx +31 -31
  60. package/src/library-components/InlinePopup.tsx +66 -66
  61. package/src/misc/color.ts +29 -29
  62. package/src/misc/hash.ts +83 -83
  63. package/src/misc/ipPong.js +13 -13
  64. package/src/misc/networking.ts +1 -1
  65. package/src/misc/random.ts +44 -44
  66. package/src/misc.ts +196 -196
  67. package/src/path.ts +255 -255
  68. package/src/persistentLocalStore.ts +41 -41
  69. package/src/promise.ts +14 -14
  70. package/src/storage/fileSystemPointer.ts +71 -71
  71. package/src/test/heapProcess.ts +35 -35
  72. package/src/zip.ts +15 -15
  73. package/tsconfig.json +26 -26
  74. 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
  }