@matter/nodejs 0.11.0-alpha.0-20241005-e3e4e4a7a

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 (197) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/behavior/index.d.ts +7 -0
  4. package/dist/cjs/behavior/index.d.ts.map +1 -0
  5. package/dist/cjs/behavior/index.js +8 -0
  6. package/dist/cjs/behavior/index.js.map +6 -0
  7. package/dist/cjs/behavior/instrumentation.d.ts +11 -0
  8. package/dist/cjs/behavior/instrumentation.d.ts.map +1 -0
  9. package/dist/cjs/behavior/instrumentation.js +47 -0
  10. package/dist/cjs/behavior/instrumentation.js.map +6 -0
  11. package/dist/cjs/behavior/register.d.ts +7 -0
  12. package/dist/cjs/behavior/register.d.ts.map +1 -0
  13. package/dist/cjs/behavior/register.js +9 -0
  14. package/dist/cjs/behavior/register.js.map +6 -0
  15. package/dist/cjs/crypto/NodeJsCrypto.d.ts +29 -0
  16. package/dist/cjs/crypto/NodeJsCrypto.d.ts.map +1 -0
  17. package/dist/cjs/crypto/NodeJsCrypto.js +154 -0
  18. package/dist/cjs/crypto/NodeJsCrypto.js.map +6 -0
  19. package/dist/cjs/crypto/index.d.ts +8 -0
  20. package/dist/cjs/crypto/index.d.ts.map +1 -0
  21. package/dist/cjs/crypto/index.js +25 -0
  22. package/dist/cjs/crypto/index.js.map +6 -0
  23. package/dist/cjs/crypto/register.d.ts +7 -0
  24. package/dist/cjs/crypto/register.d.ts.map +1 -0
  25. package/dist/cjs/crypto/register.js +21 -0
  26. package/dist/cjs/crypto/register.js.map +6 -0
  27. package/dist/cjs/environment/NodeJsActionTracer.d.ts +15 -0
  28. package/dist/cjs/environment/NodeJsActionTracer.d.ts.map +1 -0
  29. package/dist/cjs/environment/NodeJsActionTracer.js +80 -0
  30. package/dist/cjs/environment/NodeJsActionTracer.js.map +6 -0
  31. package/dist/cjs/environment/NodeJsEnvironment.d.ts +55 -0
  32. package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +1 -0
  33. package/dist/cjs/environment/NodeJsEnvironment.js +121 -0
  34. package/dist/cjs/environment/NodeJsEnvironment.js.map +6 -0
  35. package/dist/cjs/environment/ProcessManager.d.ts +45 -0
  36. package/dist/cjs/environment/ProcessManager.d.ts.map +1 -0
  37. package/dist/cjs/environment/ProcessManager.js +112 -0
  38. package/dist/cjs/environment/ProcessManager.js.map +6 -0
  39. package/dist/cjs/environment/index.d.ts +10 -0
  40. package/dist/cjs/environment/index.d.ts.map +1 -0
  41. package/dist/cjs/environment/index.js +27 -0
  42. package/dist/cjs/environment/index.js.map +6 -0
  43. package/dist/cjs/environment/register.d.ts +7 -0
  44. package/dist/cjs/environment/register.d.ts.map +1 -0
  45. package/dist/cjs/environment/register.js +10 -0
  46. package/dist/cjs/environment/register.js.map +6 -0
  47. package/dist/cjs/index.d.ts +12 -0
  48. package/dist/cjs/index.d.ts.map +1 -0
  49. package/dist/cjs/index.js +29 -0
  50. package/dist/cjs/index.js.map +6 -0
  51. package/dist/cjs/log/FileLogger.d.ts +13 -0
  52. package/dist/cjs/log/FileLogger.d.ts.map +1 -0
  53. package/dist/cjs/log/FileLogger.js +46 -0
  54. package/dist/cjs/log/FileLogger.js.map +6 -0
  55. package/dist/cjs/log/index.d.ts +7 -0
  56. package/dist/cjs/log/index.d.ts.map +1 -0
  57. package/dist/cjs/log/index.js +24 -0
  58. package/dist/cjs/log/index.js.map +6 -0
  59. package/dist/cjs/net/NodeJsNetwork.d.ts +27 -0
  60. package/dist/cjs/net/NodeJsNetwork.d.ts.map +1 -0
  61. package/dist/cjs/net/NodeJsNetwork.js +145 -0
  62. package/dist/cjs/net/NodeJsNetwork.js.map +6 -0
  63. package/dist/cjs/net/NodeJsUdpChannel.d.ts +23 -0
  64. package/dist/cjs/net/NodeJsUdpChannel.d.ts.map +1 -0
  65. package/dist/cjs/net/NodeJsUdpChannel.js +181 -0
  66. package/dist/cjs/net/NodeJsUdpChannel.js.map +6 -0
  67. package/dist/cjs/net/index.d.ts +9 -0
  68. package/dist/cjs/net/index.d.ts.map +1 -0
  69. package/dist/cjs/net/index.js +26 -0
  70. package/dist/cjs/net/index.js.map +6 -0
  71. package/dist/cjs/net/register.d.ts +7 -0
  72. package/dist/cjs/net/register.d.ts.map +1 -0
  73. package/dist/cjs/net/register.js +16 -0
  74. package/dist/cjs/net/register.js.map +6 -0
  75. package/dist/cjs/package.json +11 -0
  76. package/dist/cjs/storage/StorageBackendDisk.d.ts +27 -0
  77. package/dist/cjs/storage/StorageBackendDisk.d.ts.map +1 -0
  78. package/dist/cjs/storage/StorageBackendDisk.js +128 -0
  79. package/dist/cjs/storage/StorageBackendDisk.js.map +6 -0
  80. package/dist/cjs/storage/StorageBackendJsonFile.d.ts +27 -0
  81. package/dist/cjs/storage/StorageBackendJsonFile.d.ts.map +1 -0
  82. package/dist/cjs/storage/StorageBackendJsonFile.js +110 -0
  83. package/dist/cjs/storage/StorageBackendJsonFile.js.map +6 -0
  84. package/dist/cjs/storage/index.d.ts +8 -0
  85. package/dist/cjs/storage/index.d.ts.map +1 -0
  86. package/dist/cjs/storage/index.js +25 -0
  87. package/dist/cjs/storage/index.js.map +6 -0
  88. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  89. package/dist/esm/behavior/index.d.ts +7 -0
  90. package/dist/esm/behavior/index.d.ts.map +1 -0
  91. package/dist/esm/behavior/index.js +7 -0
  92. package/dist/esm/behavior/index.js.map +6 -0
  93. package/dist/esm/behavior/instrumentation.d.ts +11 -0
  94. package/dist/esm/behavior/instrumentation.d.ts.map +1 -0
  95. package/dist/esm/behavior/instrumentation.js +27 -0
  96. package/dist/esm/behavior/instrumentation.js.map +6 -0
  97. package/dist/esm/behavior/register.d.ts +7 -0
  98. package/dist/esm/behavior/register.d.ts.map +1 -0
  99. package/dist/esm/behavior/register.js +8 -0
  100. package/dist/esm/behavior/register.js.map +6 -0
  101. package/dist/esm/crypto/NodeJsCrypto.d.ts +29 -0
  102. package/dist/esm/crypto/NodeJsCrypto.d.ts.map +1 -0
  103. package/dist/esm/crypto/NodeJsCrypto.js +135 -0
  104. package/dist/esm/crypto/NodeJsCrypto.js.map +6 -0
  105. package/dist/esm/crypto/index.d.ts +8 -0
  106. package/dist/esm/crypto/index.d.ts.map +1 -0
  107. package/dist/esm/crypto/index.js +8 -0
  108. package/dist/esm/crypto/index.js.map +6 -0
  109. package/dist/esm/crypto/register.d.ts +7 -0
  110. package/dist/esm/crypto/register.d.ts.map +1 -0
  111. package/dist/esm/crypto/register.js +20 -0
  112. package/dist/esm/crypto/register.js.map +6 -0
  113. package/dist/esm/environment/NodeJsActionTracer.d.ts +15 -0
  114. package/dist/esm/environment/NodeJsActionTracer.d.ts.map +1 -0
  115. package/dist/esm/environment/NodeJsActionTracer.js +60 -0
  116. package/dist/esm/environment/NodeJsActionTracer.js.map +6 -0
  117. package/dist/esm/environment/NodeJsEnvironment.d.ts +55 -0
  118. package/dist/esm/environment/NodeJsEnvironment.d.ts.map +1 -0
  119. package/dist/esm/environment/NodeJsEnvironment.js +108 -0
  120. package/dist/esm/environment/NodeJsEnvironment.js.map +6 -0
  121. package/dist/esm/environment/ProcessManager.d.ts +45 -0
  122. package/dist/esm/environment/ProcessManager.d.ts.map +1 -0
  123. package/dist/esm/environment/ProcessManager.js +92 -0
  124. package/dist/esm/environment/ProcessManager.js.map +6 -0
  125. package/dist/esm/environment/index.d.ts +10 -0
  126. package/dist/esm/environment/index.d.ts.map +1 -0
  127. package/dist/esm/environment/index.js +10 -0
  128. package/dist/esm/environment/index.js.map +6 -0
  129. package/dist/esm/environment/register.d.ts +7 -0
  130. package/dist/esm/environment/register.d.ts.map +1 -0
  131. package/dist/esm/environment/register.js +9 -0
  132. package/dist/esm/environment/register.js.map +6 -0
  133. package/dist/esm/index.d.ts +12 -0
  134. package/dist/esm/index.d.ts.map +1 -0
  135. package/dist/esm/index.js +12 -0
  136. package/dist/esm/index.js.map +6 -0
  137. package/dist/esm/log/FileLogger.d.ts +13 -0
  138. package/dist/esm/log/FileLogger.d.ts.map +1 -0
  139. package/dist/esm/log/FileLogger.js +26 -0
  140. package/dist/esm/log/FileLogger.js.map +6 -0
  141. package/dist/esm/log/index.d.ts +7 -0
  142. package/dist/esm/log/index.d.ts.map +1 -0
  143. package/dist/esm/log/index.js +7 -0
  144. package/dist/esm/log/index.js.map +6 -0
  145. package/dist/esm/net/NodeJsNetwork.d.ts +27 -0
  146. package/dist/esm/net/NodeJsNetwork.d.ts.map +1 -0
  147. package/dist/esm/net/NodeJsNetwork.js +133 -0
  148. package/dist/esm/net/NodeJsNetwork.js.map +6 -0
  149. package/dist/esm/net/NodeJsUdpChannel.d.ts +23 -0
  150. package/dist/esm/net/NodeJsUdpChannel.d.ts.map +1 -0
  151. package/dist/esm/net/NodeJsUdpChannel.js +159 -0
  152. package/dist/esm/net/NodeJsUdpChannel.js.map +6 -0
  153. package/dist/esm/net/index.d.ts +9 -0
  154. package/dist/esm/net/index.d.ts.map +1 -0
  155. package/dist/esm/net/index.js +9 -0
  156. package/dist/esm/net/index.js.map +6 -0
  157. package/dist/esm/net/register.d.ts +7 -0
  158. package/dist/esm/net/register.d.ts.map +1 -0
  159. package/dist/esm/net/register.js +15 -0
  160. package/dist/esm/net/register.js.map +6 -0
  161. package/dist/esm/package.json +11 -0
  162. package/dist/esm/storage/StorageBackendDisk.d.ts +27 -0
  163. package/dist/esm/storage/StorageBackendDisk.d.ts.map +1 -0
  164. package/dist/esm/storage/StorageBackendDisk.js +108 -0
  165. package/dist/esm/storage/StorageBackendDisk.js.map +6 -0
  166. package/dist/esm/storage/StorageBackendJsonFile.d.ts +27 -0
  167. package/dist/esm/storage/StorageBackendJsonFile.d.ts.map +1 -0
  168. package/dist/esm/storage/StorageBackendJsonFile.js +90 -0
  169. package/dist/esm/storage/StorageBackendJsonFile.js.map +6 -0
  170. package/dist/esm/storage/index.d.ts +8 -0
  171. package/dist/esm/storage/index.d.ts.map +1 -0
  172. package/dist/esm/storage/index.js +8 -0
  173. package/dist/esm/storage/index.js.map +6 -0
  174. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  175. package/package.json +114 -0
  176. package/src/behavior/index.ts +7 -0
  177. package/src/behavior/instrumentation.ts +32 -0
  178. package/src/behavior/register.ts +9 -0
  179. package/src/crypto/NodeJsCrypto.ts +164 -0
  180. package/src/crypto/index.ts +8 -0
  181. package/src/crypto/register.ts +25 -0
  182. package/src/environment/NodeJsActionTracer.ts +70 -0
  183. package/src/environment/NodeJsEnvironment.ts +172 -0
  184. package/src/environment/ProcessManager.ts +128 -0
  185. package/src/environment/index.ts +10 -0
  186. package/src/environment/register.ts +10 -0
  187. package/src/index.ts +12 -0
  188. package/src/log/FileLogger.ts +30 -0
  189. package/src/log/index.ts +7 -0
  190. package/src/net/NodeJsNetwork.ts +157 -0
  191. package/src/net/NodeJsUdpChannel.ts +179 -0
  192. package/src/net/index.ts +9 -0
  193. package/src/net/register.ts +20 -0
  194. package/src/storage/StorageBackendDisk.ts +132 -0
  195. package/src/storage/StorageBackendJsonFile.ts +102 -0
  196. package/src/storage/index.ts +8 -0
  197. package/src/tsconfig.json +28 -0
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var NodeJsActionTracer_exports = {};
20
+ __export(NodeJsActionTracer_exports, {
21
+ NodeJsActionTracer: () => NodeJsActionTracer
22
+ });
23
+ module.exports = __toCommonJS(NodeJsActionTracer_exports);
24
+ var import_general = require("#general");
25
+ var import_node = require("#node");
26
+ var import_promises = require("fs/promises");
27
+ var import_path = require("path");
28
+ /**
29
+ * @license
30
+ * Copyright 2022-2024 Matter.js Authors
31
+ * SPDX-License-Identifier: Apache-2.0
32
+ */
33
+ class NodeJsActionTracer extends import_node.ActionTracer {
34
+ #path;
35
+ #output;
36
+ #write;
37
+ constructor(path) {
38
+ super();
39
+ this.#path = path;
40
+ }
41
+ static configure(env) {
42
+ env.vars.use(() => {
43
+ if (env.has(import_node.ActionTracer)) {
44
+ env.delete(env.get(import_node.ActionTracer).constructor);
45
+ }
46
+ if (!env.vars.boolean("trace.enable")) {
47
+ return;
48
+ }
49
+ const path = (0, import_path.resolve)(env.vars.get("path.root", "."), env.vars.get("trace.path", "trace.jsonl"));
50
+ const tracer = new NodeJsActionTracer(path);
51
+ env.set(import_node.ActionTracer, tracer);
52
+ env.runtime.add(tracer);
53
+ });
54
+ }
55
+ [Symbol.asyncDispose]() {
56
+ import_general.MaybePromise.then(this.#write, () => this.#output?.close());
57
+ }
58
+ record(action) {
59
+ const raw = {
60
+ ...action,
61
+ path: action.path?.toString(false),
62
+ mutations: action.mutations ? action.mutations.map((m) => ({ ...m, path: m.path.toString(false) })) : void 0
63
+ };
64
+ this.#write = import_general.MaybePromise.then(this.#write, () => this.#record(raw));
65
+ }
66
+ async #record(action) {
67
+ if (this.#output === void 0) {
68
+ this.#output = await (0, import_promises.open)(this.#path, "w");
69
+ }
70
+ await this.#output.write(JSON.stringify(action, replacer));
71
+ await this.#output.write("\n");
72
+ }
73
+ }
74
+ function replacer(_key, value) {
75
+ if (typeof value === "bigint" || ArrayBuffer.isView(value)) {
76
+ return (0, import_general.serialize)(value);
77
+ }
78
+ return value;
79
+ }
80
+ //# sourceMappingURL=NodeJsActionTracer.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/environment/NodeJsActionTracer.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqD;AACrD,kBAA6B;AAC7B,sBAAiC;AACjC,kBAAwB;AATxB;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,2BAA2B,yBAAa;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,MAAc;AACtB,UAAM;AAEN,SAAK,QAAQ;AAAA,EACjB;AAAA,EAEA,OAAO,UAAU,KAAkB;AAC/B,QAAI,KAAK,IAAI,MAAM;AACf,UAAI,IAAI,IAAI,wBAAY,GAAG;AACvB,YAAI,OAAO,IAAI,IAAI,wBAAY,EAAE,WAAqC;AAAA,MAC1E;AAEA,UAAI,CAAC,IAAI,KAAK,QAAQ,cAAc,GAAG;AACnC;AAAA,MACJ;AAEA,YAAM,WAAO,qBAAQ,IAAI,KAAK,IAAI,aAAa,GAAG,GAAG,IAAI,KAAK,IAAI,cAAc,aAAa,CAAC;AAE9F,YAAM,SAAS,IAAI,mBAAmB,IAAI;AAC1C,UAAI,IAAI,0BAAc,MAAM;AAC5B,UAAI,QAAQ,IAAI,MAAM;AAAA,IAC1B,CAAC;AAAA,EACL;AAAA,EAEA,CAAC,OAAO,YAAY,IAAI;AACpB,gCAAa,KAAK,KAAK,QAAQ,MAAM,KAAK,SAAS,MAAM,CAAC;AAAA,EAC9D;AAAA,EAES,OAAO,QAA6B;AACzC,UAAM,MAAM;AAAA,MACR,GAAG;AAAA,MACH,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,MACjC,WAAW,OAAO,YACZ,OAAO,UAAU,IAAI,QAAM,EAAE,GAAG,GAAG,MAAM,EAAE,KAAK,SAAS,KAAK,EAAE,EAAE,IAClE;AAAA,IACV;AACA,SAAK,SAAS,4BAAa,KAAK,KAAK,QAAQ,MAAM,KAAK,QAAQ,GAAG,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,QAAQ,QAAgB;AAC1B,QAAI,KAAK,YAAY,QAAW;AAC5B,WAAK,UAAU,UAAM,sBAAK,KAAK,OAAO,GAAG;AAAA,IAC7C;AACA,UAAM,KAAK,QAAQ,MAAM,KAAK,UAAU,QAAQ,QAAQ,CAAC;AACzD,UAAM,KAAK,QAAQ,MAAM,IAAI;AAAA,EACjC;AACJ;AAEA,SAAS,SAAS,MAAc,OAAY;AACxC,MAAI,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK,GAAG;AACxD,eAAO,0BAAU,KAAK;AAAA,EAC1B;AACA,SAAO;AACX;",
5
+ "names": []
6
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Environment, VariableService } from "#general";
7
+ /**
8
+ * This is the default environment implementation for Node.js:
9
+ *
10
+ * - Sets variables using rudimentary command line, environment and configuration file parsers.
11
+ *
12
+ * - Processes UNIX-style signals and sets process exit codes via {@link ProcessManager}
13
+ *
14
+ * - Creates a default storage pool using the loaded configuration.
15
+ *
16
+ * You can modify this behavior:
17
+ *
18
+ * - Via configuration
19
+ *
20
+ * - By modifying {@link Environment.default}
21
+ *
22
+ * - By providing an {@link Environment} to your components other than {@link Environment.default}
23
+ *
24
+ * The settings are applied in this order (the higher numbers overwrite lower numbers):
25
+ * 1. Some internal Defaults (mainly Loglevel and such)
26
+ * 2. Config file
27
+ * 3. Environment variables (MATTER_*)
28
+ * 4. Command line parameters
29
+ *
30
+ * The following variables are defined by this class additionally to {@link Environment}:
31
+ * * `environment` - Name of the environment, Default "default"
32
+ * * `path.root` - Path considered as root for any files to store, Fallback: ".", Default: APPDATA/.matter (Windows), HOME/.matter else (or .matter-<envname>)
33
+ * * `path.config` - Path to config file, Default: "config.json"
34
+ * * `trace.path` - Path of the trace file to write, Default: "trace.jsonl" relative to path.root
35
+ * * `trace.enable` - Enable writing a trace file
36
+ * * `storage.path` - Where to store storage files, Default: "path.root"
37
+ * * `storage.clear` - Clear storage on start? Default: false
38
+ * * `runtime.signals` - By default register SIGINT and SIGUSR2 (diag) handlers, set to false if not wanted
39
+ * * `runtime.exitcode` - By default we set the process.exitcode to 0 (ok) or 1 (crash); set to false to disable
40
+ * * `runtime.unhandlederrors` - By default we log unhandled errors to matter.js log; set to false to disable
41
+ */
42
+ export declare function NodeJsEnvironment(): Environment;
43
+ export declare function loadConfigFile(vars: VariableService): any;
44
+ export declare function getDefaults(vars: VariableService): {
45
+ environment: "default";
46
+ path: {
47
+ root: string;
48
+ config: string;
49
+ };
50
+ runtime: {
51
+ signals: boolean;
52
+ exitcode: boolean;
53
+ };
54
+ };
55
+ //# sourceMappingURL=NodeJsEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeJsEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/NodeJsEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,WAAW,EAMX,eAAe,EAClB,MAAM,UAAU,CAAC;AAQlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,iBAAiB,gBAkBhC;AAyCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,OAsBnD;AAiBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;EAgBhD"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var NodeJsEnvironment_exports = {};
20
+ __export(NodeJsEnvironment_exports, {
21
+ NodeJsEnvironment: () => NodeJsEnvironment,
22
+ getDefaults: () => getDefaults,
23
+ loadConfigFile: () => loadConfigFile
24
+ });
25
+ module.exports = __toCommonJS(NodeJsEnvironment_exports);
26
+ var import_general = require("#general");
27
+ var import_fs = require("fs");
28
+ var import_path = require("path");
29
+ var import_NodeJsNetwork = require("../net/NodeJsNetwork.js");
30
+ var import_StorageBackendDisk = require("../storage/StorageBackendDisk.js");
31
+ var import_NodeJsActionTracer = require("./NodeJsActionTracer.js");
32
+ var import_ProcessManager = require("./ProcessManager.js");
33
+ /**
34
+ * @license
35
+ * Copyright 2022-2024 Matter.js Authors
36
+ * SPDX-License-Identifier: Apache-2.0
37
+ */
38
+ function NodeJsEnvironment() {
39
+ const env = new import_general.Environment("default");
40
+ loadVariables(env);
41
+ configureRuntime(env);
42
+ configureStorage(env);
43
+ configureNetwork(env);
44
+ if (!env.vars.has("logger.format") && import_general.Logger.format === import_general.LogFormat.PLAIN && process.stdin?.isTTY) {
45
+ env.vars.set("logger.format", import_general.LogFormat.ANSI);
46
+ }
47
+ import_NodeJsActionTracer.NodeJsActionTracer.configure(env);
48
+ return env;
49
+ }
50
+ function loadVariables(env) {
51
+ const vars = env.vars;
52
+ vars.addConfigStyle(getDefaults(vars));
53
+ vars.addUnixEnvStyle(process.env);
54
+ vars.addArgvStyle(process.argv);
55
+ vars.addConfigStyle(loadConfigFile(vars));
56
+ vars.addUnixEnvStyle(process.env);
57
+ vars.addArgvStyle(process.argv);
58
+ }
59
+ function configureRuntime(env) {
60
+ const processManager = new import_ProcessManager.ProcessManager(env);
61
+ env.set(import_ProcessManager.ProcessManager, processManager);
62
+ }
63
+ function configureStorage(env) {
64
+ const service = env.get(import_general.StorageService);
65
+ env.vars.use(() => {
66
+ const location = env.vars.get("storage.path", env.vars.get("path.root", "."));
67
+ service.location = location;
68
+ });
69
+ service.factory = (namespace) => new import_StorageBackendDisk.StorageBackendDisk((0, import_path.resolve)(service.location ?? ".", namespace), env.vars.get("storage.clear", false));
70
+ }
71
+ function configureNetwork(env) {
72
+ env.set(import_general.Network, new import_NodeJsNetwork.NodeJsNetwork());
73
+ }
74
+ function loadConfigFile(vars) {
75
+ const path = vars.get("path.config", "config.json");
76
+ if (!(0, import_fs.existsSync)(path)) {
77
+ return {};
78
+ }
79
+ let configJson;
80
+ try {
81
+ configJson = (0, import_fs.readFileSync)(path).toString();
82
+ } catch (e) {
83
+ throw new import_general.ImplementationError(`Error reading configuration file ${path}: ${e.message}`);
84
+ }
85
+ let configVars;
86
+ try {
87
+ configVars = JSON.parse(configJson);
88
+ } catch (e) {
89
+ throw new import_general.ImplementationError(`Error parsing configuration file ${path}: ${e.message}`);
90
+ }
91
+ return configVars;
92
+ }
93
+ function getDefaultRoot(envName) {
94
+ let matterDir;
95
+ if (process.platform === "win32") {
96
+ matterDir = (0, import_path.resolve)(process.env.APPDATA ?? ".", "matter");
97
+ } else {
98
+ matterDir = (0, import_path.resolve)(process.env.HOME ?? ".", ".matter");
99
+ }
100
+ if (envName !== "default") {
101
+ matterDir = `${matterDir}-${envName}`;
102
+ }
103
+ return matterDir;
104
+ }
105
+ function getDefaults(vars) {
106
+ const envName = vars.get("environment", "default");
107
+ const rootPath = vars.get("path.root", getDefaultRoot(envName));
108
+ const configPath = (0, import_path.resolve)(rootPath, vars.get("path.config", "config.json"));
109
+ return {
110
+ environment: envName,
111
+ path: {
112
+ root: rootPath,
113
+ config: configPath
114
+ },
115
+ runtime: {
116
+ signals: true,
117
+ exitcode: true
118
+ }
119
+ };
120
+ }
121
+ //# sourceMappingURL=NodeJsEnvironment.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/environment/NodeJsEnvironment.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Destructable, Environment, RuntimeService } from "#general";
7
+ /**
8
+ * ProcessManager watches Node.js signals SIGINT and SIGUSR2 to terminate the Matter.js runtime and trigger Matter.js
9
+ * diagnostics respectively. It sets the process exit code to 0 if the runtime completes without error and to 1 if the
10
+ * runtime crashes.
11
+ *
12
+ * If enabled, SIGINT will perform a soft interrupt of the runtime once. ProcessManager will not process subsequent
13
+ * interrupts so they will result in forced exit if no other handler exists.
14
+ *
15
+ * {@link NodeJsEnvironment} installs a ProcessManager into the default Matter.js {@link Environment}.
16
+ *
17
+ * You can modify behavior by:
18
+ *
19
+ * - Passing an {@link Environment} other than {@link Environment.default} to your components
20
+ *
21
+ * - Disabling signal and exit code support with {@link VariableService} variables "runtime.signals" and
22
+ * "runtime.exitcode" respectively
23
+ *
24
+ * - Destroying ProcessManager in the default environment using {@link ProcessManager.close}
25
+ *
26
+ * - Subclassing ProcessManager, overriding specific functionality, and installing with {@link Environment.set}
27
+ */
28
+ export declare class ProcessManager implements Destructable {
29
+ #private;
30
+ protected env: Environment;
31
+ protected runtime: RuntimeService;
32
+ constructor(env: Environment);
33
+ close(): void;
34
+ [Symbol.dispose](): void;
35
+ protected get hasSignalSupport(): true;
36
+ protected get hasExitCodeSupport(): true;
37
+ protected get hasUnhandledErrorSupport(): true;
38
+ protected startListener: () => void;
39
+ protected stopListener: () => void;
40
+ protected crashListener: () => void;
41
+ protected interruptHandler: (signal: string) => void;
42
+ protected exitHandler: () => void;
43
+ protected diagnosticHandler: () => void;
44
+ }
45
+ //# sourceMappingURL=ProcessManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../../src/environment/ProcessManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAU,cAAc,EAAmB,MAAM,UAAU,CAAC;AAK9F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,YAAY;;IAInC,SAAS,CAAC,GAAG,EAAE,WAAW;IAHtC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;gBAGZ,GAAG,EAAE,WAAW;IActC,KAAK;IAOL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,SAAS,KAAK,gBAAgB,SAE7B;IAED,SAAS,KAAK,kBAAkB,SAE/B;IAED,SAAS,KAAK,wBAAwB,SAErC;IAED,SAAS,CAAC,aAAa,aAcrB;IAEF,SAAS,CAAC,YAAY,aAMpB;IAEF,SAAS,CAAC,aAAa,aAIrB;IAEF,SAAS,CAAC,gBAAgB,WAAY,MAAM,UAG1C;IAEF,SAAS,CAAC,WAAW,aAInB;IAEF,SAAS,CAAC,iBAAiB,aAEzB;CAWL"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var ProcessManager_exports = {};
20
+ __export(ProcessManager_exports, {
21
+ ProcessManager: () => ProcessManager
22
+ });
23
+ module.exports = __toCommonJS(ProcessManager_exports);
24
+ var import_general = require("#general");
25
+ /**
26
+ * @license
27
+ * Copyright 2022-2024 Matter.js Authors
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ const logger = import_general.Logger.get("ProcessManager");
31
+ class ProcessManager {
32
+ constructor(env) {
33
+ this.env = env;
34
+ this.runtime = env.get(import_general.RuntimeService);
35
+ this.runtime.started.on(this.startListener);
36
+ this.runtime.stopped.on(this.stopListener);
37
+ this.runtime.crashed.on(this.crashListener);
38
+ if (this.hasUnhandledErrorSupport) {
39
+ process.addListener("uncaughtExceptionMonitor", (event) => {
40
+ import_general.Logger.reportUnhandledError(event);
41
+ });
42
+ }
43
+ }
44
+ runtime;
45
+ #signalHandlersInstalled = false;
46
+ close() {
47
+ this.runtime.started.off(this.startListener);
48
+ this.runtime.stopped.off(this.stopListener);
49
+ this.runtime.crashed.off(this.crashListener);
50
+ this.#ignoreSignals();
51
+ }
52
+ [Symbol.dispose]() {
53
+ this.close();
54
+ }
55
+ get hasSignalSupport() {
56
+ return this.env.vars.get("runtime.signals", true);
57
+ }
58
+ get hasExitCodeSupport() {
59
+ return this.env.vars.get("runtime.exitcode", true);
60
+ }
61
+ get hasUnhandledErrorSupport() {
62
+ return this.env.vars.get("runtime.unhandlederrors", true);
63
+ }
64
+ startListener = () => {
65
+ this.env.vars.use(() => {
66
+ if (this.hasSignalSupport) {
67
+ if (this.#signalHandlersInstalled) {
68
+ return;
69
+ }
70
+ process.on("SIGINT", this.interruptHandler);
71
+ process.on("SIGTERM", this.interruptHandler);
72
+ process.on("SIGUSR2", this.diagnosticHandler);
73
+ process.on("exit", this.exitHandler);
74
+ } else {
75
+ this.#ignoreSignals();
76
+ }
77
+ });
78
+ };
79
+ stopListener = () => {
80
+ this.#ignoreSignals();
81
+ if (this.hasExitCodeSupport && process.exitCode === void 0) {
82
+ process.exitCode = 0;
83
+ }
84
+ };
85
+ crashListener = () => {
86
+ if (this.hasExitCodeSupport) {
87
+ process.exitCode = 1;
88
+ }
89
+ };
90
+ interruptHandler = (signal) => {
91
+ process.off(signal, this.interruptHandler);
92
+ this.runtime.cancel();
93
+ };
94
+ exitHandler = () => {
95
+ if (process.exitCode === 13) {
96
+ logger.error("Internal error: Premature process exit because ongoing work has stalled");
97
+ }
98
+ };
99
+ diagnosticHandler = () => {
100
+ this.env.diagnose();
101
+ };
102
+ #ignoreSignals() {
103
+ if (this.#signalHandlersInstalled) {
104
+ process.off("SIGINT", this.interruptHandler);
105
+ process.off("SIGTERM", this.interruptHandler);
106
+ process.off("SIGUSR2", this.diagnosticHandler);
107
+ process.off("exit", this.exitHandler);
108
+ this.#signalHandlersInstalled = false;
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=ProcessManager.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/environment/ProcessManager.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmF;AANnF;AAAA;AAAA;AAAA;AAAA;AASA,MAAM,SAAS,sBAAO,IAAI,gBAAgB;AAuBnC,MAAM,eAAuC;AAAA,EAIhD,YAAsB,KAAkB;AAAlB;AAClB,SAAK,UAAU,IAAI,IAAI,6BAAc;AAErC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAC1C,SAAK,QAAQ,QAAQ,GAAG,KAAK,YAAY;AACzC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAE1C,QAAI,KAAK,0BAA0B;AAC/B,cAAQ,YAAY,4BAA4B,WAAS;AACrD,8BAAO,qBAAqB,KAAK;AAAA,MACrC,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAfU;AAAA,EACV,2BAA2B;AAAA,EAgB3B,QAAQ;AACJ,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,QAAQ,QAAQ,IAAI,KAAK,YAAY;AAC1C,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,eAAe;AAAA,EACxB;AAAA,EAEA,CAAC,OAAO,OAAO,IAAI;AACf,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,IAAc,mBAAmB;AAC7B,WAAO,KAAK,IAAI,KAAK,IAAI,mBAAmB,IAAI;AAAA,EACpD;AAAA,EAEA,IAAc,qBAAqB;AAC/B,WAAO,KAAK,IAAI,KAAK,IAAI,oBAAoB,IAAI;AAAA,EACrD;AAAA,EAEA,IAAc,2BAA2B;AACrC,WAAO,KAAK,IAAI,KAAK,IAAI,2BAA2B,IAAI;AAAA,EAC5D;AAAA,EAEU,gBAAgB,MAAM;AAC5B,SAAK,IAAI,KAAK,IAAI,MAAM;AACpB,UAAI,KAAK,kBAAkB;AACvB,YAAI,KAAK,0BAA0B;AAC/B;AAAA,QACJ;AACA,gBAAQ,GAAG,UAAU,KAAK,gBAAgB;AAC1C,gBAAQ,GAAG,WAAW,KAAK,gBAAgB;AAC3C,gBAAQ,GAAG,WAAW,KAAK,iBAAiB;AAC5C,gBAAQ,GAAG,QAAQ,KAAK,WAAW;AAAA,MACvC,OAAO;AACH,aAAK,eAAe;AAAA,MACxB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEU,eAAe,MAAM;AAC3B,SAAK,eAAe;AAEpB,QAAI,KAAK,sBAAsB,QAAQ,aAAa,QAAW;AAC3D,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,gBAAgB,MAAM;AAC5B,QAAI,KAAK,oBAAoB;AACzB,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,mBAAmB,CAAC,WAAmB;AAC7C,YAAQ,IAAI,QAAQ,KAAK,gBAAgB;AACzC,SAAK,QAAQ,OAAO;AAAA,EACxB;AAAA,EAEU,cAAc,MAAM;AAC1B,QAAI,QAAQ,aAAa,IAAI;AACzB,aAAO,MAAM,yEAAyE;AAAA,IAC1F;AAAA,EACJ;AAAA,EAEU,oBAAoB,MAAM;AAChC,SAAK,IAAI,SAAS;AAAA,EACtB;AAAA,EAEA,iBAAiB;AACb,QAAI,KAAK,0BAA0B;AAC/B,cAAQ,IAAI,UAAU,KAAK,gBAAgB;AAC3C,cAAQ,IAAI,WAAW,KAAK,gBAAgB;AAC5C,cAAQ,IAAI,WAAW,KAAK,iBAAiB;AAC7C,cAAQ,IAAI,QAAQ,KAAK,WAAW;AACpC,WAAK,2BAA2B;AAAA,IACpC;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import "./register.js";
7
+ export * from "./NodeJsActionTracer.js";
8
+ export * from "./NodeJsEnvironment.js";
9
+ export * from "./ProcessManager.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/environment/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,eAAe,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var environment_exports = {};
17
+ module.exports = __toCommonJS(environment_exports);
18
+ var import_register = require("./register.js");
19
+ __reExport(environment_exports, require("./NodeJsActionTracer.js"), module.exports);
20
+ __reExport(environment_exports, require("./NodeJsEnvironment.js"), module.exports);
21
+ __reExport(environment_exports, require("./ProcessManager.js"), module.exports);
22
+ /**
23
+ * @license
24
+ * Copyright 2022-2024 Matter.js Authors
25
+ * SPDX-License-Identifier: Apache-2.0
26
+ */
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/environment/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,sBAAO;AACP,gCAAc,oCAPd;AAQA,gCAAc,mCARd;AASA,gCAAc,gCATd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/environment/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var import_general = require("#general");
3
+ var import_NodeJsEnvironment = require("./NodeJsEnvironment.js");
4
+ /**
5
+ * @license
6
+ * Copyright 2022-2024 Matter.js Authors
7
+ * SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ import_general.Environment.default = (0, import_NodeJsEnvironment.NodeJsEnvironment)();
10
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/environment/register.ts"],
4
+ "mappings": ";AAMA,qBAA4B;AAC5B,+BAAkC;AAPlC;AAAA;AAAA;AAAA;AAAA;AASA,2BAAY,cAAU,4CAAkB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./behavior/index.js";
7
+ export * from "./crypto/index.js";
8
+ export * from "./environment/index.js";
9
+ export * from "./log/index.js";
10
+ export * from "./net/index.js";
11
+ export * from "./storage/index.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var src_exports = {};
17
+ module.exports = __toCommonJS(src_exports);
18
+ __reExport(src_exports, require("./behavior/index.js"), module.exports);
19
+ __reExport(src_exports, require("./crypto/index.js"), module.exports);
20
+ __reExport(src_exports, require("./environment/index.js"), module.exports);
21
+ __reExport(src_exports, require("./log/index.js"), module.exports);
22
+ __reExport(src_exports, require("./net/index.js"), module.exports);
23
+ __reExport(src_exports, require("./storage/index.js"), module.exports);
24
+ /**
25
+ * @license
26
+ * Copyright 2022-2024 Matter.js Authors
27
+ * SPDX-License-Identifier: Apache-2.0
28
+ */
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,gCANd;AAOA,wBAAc,8BAPd;AAQA,wBAAc,mCARd;AASA,wBAAc,2BATd;AAUA,wBAAc,2BAVd;AAWA,wBAAc,+BAXd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { LogLevel } from "#general";
7
+ /**
8
+ * Creates a file based logger to append to the given path.
9
+ * The file is opened on start and closed when the process shuts down.
10
+ * Errors are logged to the console.
11
+ */
12
+ export declare function createFileLogger(path: string): Promise<(_level: LogLevel, formattedLog: string) => void>;
13
+ //# sourceMappingURL=FileLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileLogger.d.ts","sourceRoot":"","sources":["../../../src/log/FileLogger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,oBAQ/B,QAAQ,gBAAgB,MAAM,WAOjD"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var FileLogger_exports = {};
20
+ __export(FileLogger_exports, {
21
+ createFileLogger: () => createFileLogger
22
+ });
23
+ module.exports = __toCommonJS(FileLogger_exports);
24
+ var import_promises = require("fs/promises");
25
+ /**
26
+ * @license
27
+ * Copyright 2022-2024 Matter.js Authors
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ async function createFileLogger(path) {
31
+ const fileHandle = await (0, import_promises.open)(path, "a");
32
+ const writer = fileHandle.createWriteStream();
33
+ process.on(
34
+ "beforeExit",
35
+ () => void fileHandle.close().catch((err) => err && console.error(`Failed to close log file: ${err}`))
36
+ );
37
+ return (_level, formattedLog) => {
38
+ try {
39
+ writer.write(`${formattedLog}
40
+ `);
41
+ } catch (error) {
42
+ console.error(`Failed to write to log file: ${error}`);
43
+ }
44
+ };
45
+ }
46
+ //# sourceMappingURL=FileLogger.js.map