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