@matter/nodejs 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-29ff5ae9e

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 (273) hide show
  1. package/package.json +9 -9
  2. package/dist/cjs/behavior/index.d.ts +0 -7
  3. package/dist/cjs/behavior/index.d.ts.map +0 -1
  4. package/dist/cjs/behavior/index.js +0 -8
  5. package/dist/cjs/behavior/index.js.map +0 -6
  6. package/dist/cjs/behavior/instrumentation.d.ts +0 -11
  7. package/dist/cjs/behavior/instrumentation.d.ts.map +0 -1
  8. package/dist/cjs/behavior/instrumentation.js +0 -39
  9. package/dist/cjs/behavior/instrumentation.js.map +0 -6
  10. package/dist/cjs/behavior/register.d.ts +0 -7
  11. package/dist/cjs/behavior/register.d.ts.map +0 -1
  12. package/dist/cjs/behavior/register.js +0 -9
  13. package/dist/cjs/behavior/register.js.map +0 -6
  14. package/dist/cjs/config.d.ts +0 -98
  15. package/dist/cjs/config.d.ts.map +0 -1
  16. package/dist/cjs/config.js +0 -210
  17. package/dist/cjs/config.js.map +0 -6
  18. package/dist/cjs/crypto/NodeJsCrypto.d.ts +0 -13
  19. package/dist/cjs/crypto/NodeJsCrypto.d.ts.map +0 -1
  20. package/dist/cjs/crypto/NodeJsCrypto.js +0 -46
  21. package/dist/cjs/crypto/NodeJsCrypto.js.map +0 -6
  22. package/dist/cjs/crypto/index.d.ts +0 -7
  23. package/dist/cjs/crypto/index.d.ts.map +0 -1
  24. package/dist/cjs/crypto/index.js +0 -24
  25. package/dist/cjs/crypto/index.js.map +0 -6
  26. package/dist/cjs/environment/NodeJsEnvironment.d.ts +0 -77
  27. package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +0 -1
  28. package/dist/cjs/environment/NodeJsEnvironment.js +0 -254
  29. package/dist/cjs/environment/NodeJsEnvironment.js.map +0 -6
  30. package/dist/cjs/environment/ProcessManager.d.ts +0 -48
  31. package/dist/cjs/environment/ProcessManager.d.ts.map +0 -1
  32. package/dist/cjs/environment/ProcessManager.js +0 -129
  33. package/dist/cjs/environment/ProcessManager.js.map +0 -6
  34. package/dist/cjs/environment/index.d.ts +0 -9
  35. package/dist/cjs/environment/index.d.ts.map +0 -1
  36. package/dist/cjs/environment/index.js +0 -26
  37. package/dist/cjs/environment/index.js.map +0 -6
  38. package/dist/cjs/environment/register.d.ts +0 -7
  39. package/dist/cjs/environment/register.d.ts.map +0 -1
  40. package/dist/cjs/environment/register.js +0 -10
  41. package/dist/cjs/environment/register.js.map +0 -6
  42. package/dist/cjs/fs/NodeJsDirectory.d.ts +0 -24
  43. package/dist/cjs/fs/NodeJsDirectory.d.ts.map +0 -1
  44. package/dist/cjs/fs/NodeJsDirectory.js +0 -102
  45. package/dist/cjs/fs/NodeJsDirectory.js.map +0 -6
  46. package/dist/cjs/fs/NodeJsFile.d.ts +0 -22
  47. package/dist/cjs/fs/NodeJsFile.d.ts.map +0 -1
  48. package/dist/cjs/fs/NodeJsFile.js +0 -248
  49. package/dist/cjs/fs/NodeJsFile.js.map +0 -6
  50. package/dist/cjs/fs/NodeJsFilesystem.d.ts +0 -27
  51. package/dist/cjs/fs/NodeJsFilesystem.d.ts.map +0 -1
  52. package/dist/cjs/fs/NodeJsFilesystem.js +0 -83
  53. package/dist/cjs/fs/NodeJsFilesystem.js.map +0 -6
  54. package/dist/cjs/fs/fs-utils.d.ts +0 -16
  55. package/dist/cjs/fs/fs-utils.d.ts.map +0 -1
  56. package/dist/cjs/fs/fs-utils.js +0 -154
  57. package/dist/cjs/fs/fs-utils.js.map +0 -6
  58. package/dist/cjs/fs/index.d.ts +0 -7
  59. package/dist/cjs/fs/index.d.ts.map +0 -1
  60. package/dist/cjs/fs/index.js +0 -24
  61. package/dist/cjs/fs/index.js.map +0 -6
  62. package/dist/cjs/fs/lock-utils.d.ts +0 -12
  63. package/dist/cjs/fs/lock-utils.d.ts.map +0 -1
  64. package/dist/cjs/fs/lock-utils.js +0 -132
  65. package/dist/cjs/fs/lock-utils.js.map +0 -6
  66. package/dist/cjs/index.d.ts +0 -14
  67. package/dist/cjs/index.d.ts.map +0 -1
  68. package/dist/cjs/index.js +0 -31
  69. package/dist/cjs/index.js.map +0 -6
  70. package/dist/cjs/log/FileLogger.d.ts +0 -12
  71. package/dist/cjs/log/FileLogger.d.ts.map +0 -1
  72. package/dist/cjs/log/FileLogger.js +0 -46
  73. package/dist/cjs/log/FileLogger.js.map +0 -6
  74. package/dist/cjs/log/index.d.ts +0 -7
  75. package/dist/cjs/log/index.d.ts.map +0 -1
  76. package/dist/cjs/log/index.js +0 -24
  77. package/dist/cjs/log/index.js.map +0 -6
  78. package/dist/cjs/net/NodeJsHttpEndpoint.d.ts +0 -38
  79. package/dist/cjs/net/NodeJsHttpEndpoint.d.ts.map +0 -1
  80. package/dist/cjs/net/NodeJsHttpEndpoint.js +0 -306
  81. package/dist/cjs/net/NodeJsHttpEndpoint.js.map +0 -6
  82. package/dist/cjs/net/NodeJsNetwork.d.ts +0 -37
  83. package/dist/cjs/net/NodeJsNetwork.d.ts.map +0 -1
  84. package/dist/cjs/net/NodeJsNetwork.js +0 -199
  85. package/dist/cjs/net/NodeJsNetwork.js.map +0 -6
  86. package/dist/cjs/net/NodeJsTcpConnection.d.ts +0 -24
  87. package/dist/cjs/net/NodeJsTcpConnection.d.ts.map +0 -1
  88. package/dist/cjs/net/NodeJsTcpConnection.js +0 -138
  89. package/dist/cjs/net/NodeJsTcpConnection.js.map +0 -6
  90. package/dist/cjs/net/NodeJsTcpListener.d.ts +0 -19
  91. package/dist/cjs/net/NodeJsTcpListener.d.ts.map +0 -1
  92. package/dist/cjs/net/NodeJsTcpListener.js +0 -100
  93. package/dist/cjs/net/NodeJsTcpListener.js.map +0 -6
  94. package/dist/cjs/net/NodeJsUdpSocket.d.ts +0 -23
  95. package/dist/cjs/net/NodeJsUdpSocket.d.ts.map +0 -1
  96. package/dist/cjs/net/NodeJsUdpSocket.js +0 -394
  97. package/dist/cjs/net/NodeJsUdpSocket.js.map +0 -6
  98. package/dist/cjs/net/WsAdapter.d.ts +0 -25
  99. package/dist/cjs/net/WsAdapter.d.ts.map +0 -1
  100. package/dist/cjs/net/WsAdapter.js +0 -33
  101. package/dist/cjs/net/WsAdapter.js.map +0 -6
  102. package/dist/cjs/net/index.d.ts +0 -12
  103. package/dist/cjs/net/index.d.ts.map +0 -1
  104. package/dist/cjs/net/index.js +0 -29
  105. package/dist/cjs/net/index.js.map +0 -6
  106. package/dist/cjs/package.json +0 -6
  107. package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts +0 -29
  108. package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts.map +0 -1
  109. package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js +0 -155
  110. package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
  111. package/dist/cjs/storage/fs/FileStorageDriver.d.ts +0 -44
  112. package/dist/cjs/storage/fs/FileStorageDriver.d.ts.map +0 -1
  113. package/dist/cjs/storage/fs/FileStorageDriver.js +0 -334
  114. package/dist/cjs/storage/fs/FileStorageDriver.js.map +0 -6
  115. package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts +0 -30
  116. package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts.map +0 -1
  117. package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js +0 -195
  118. package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
  119. package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts +0 -27
  120. package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts.map +0 -1
  121. package/dist/cjs/storage/fs/JsonFileStorageDriver.js +0 -128
  122. package/dist/cjs/storage/fs/JsonFileStorageDriver.js.map +0 -6
  123. package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts +0 -19
  124. package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts.map +0 -1
  125. package/dist/cjs/storage/fs/WalBlobStorageDriver.js +0 -44
  126. package/dist/cjs/storage/fs/WalBlobStorageDriver.js.map +0 -6
  127. package/dist/cjs/storage/fs/index.d.ts +0 -21
  128. package/dist/cjs/storage/fs/index.d.ts.map +0 -1
  129. package/dist/cjs/storage/fs/index.js +0 -40
  130. package/dist/cjs/storage/fs/index.js.map +0 -6
  131. package/dist/cjs/storage/index.d.ts +0 -8
  132. package/dist/cjs/storage/index.d.ts.map +0 -1
  133. package/dist/cjs/storage/index.js +0 -25
  134. package/dist/cjs/storage/index.js.map +0 -6
  135. package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts +0 -48
  136. package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts.map +0 -1
  137. package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js +0 -217
  138. package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
  139. package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts +0 -23
  140. package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts.map +0 -1
  141. package/dist/cjs/storage/sqlite/SqlitePlatform.js +0 -56
  142. package/dist/cjs/storage/sqlite/SqlitePlatform.js.map +0 -6
  143. package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts +0 -102
  144. package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts.map +0 -1
  145. package/dist/cjs/storage/sqlite/SqliteStorageDriver.js +0 -424
  146. package/dist/cjs/storage/sqlite/SqliteStorageDriver.js.map +0 -6
  147. package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts +0 -19
  148. package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts.map +0 -1
  149. package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js +0 -41
  150. package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
  151. package/dist/cjs/storage/sqlite/SqliteTypes.d.ts +0 -67
  152. package/dist/cjs/storage/sqlite/SqliteTypes.d.ts.map +0 -1
  153. package/dist/cjs/storage/sqlite/SqliteTypes.js +0 -35
  154. package/dist/cjs/storage/sqlite/SqliteTypes.js.map +0 -6
  155. package/dist/cjs/storage/sqlite/SqliteUtil.d.ts +0 -33
  156. package/dist/cjs/storage/sqlite/SqliteUtil.d.ts.map +0 -1
  157. package/dist/cjs/storage/sqlite/SqliteUtil.js +0 -64
  158. package/dist/cjs/storage/sqlite/SqliteUtil.js.map +0 -6
  159. package/dist/cjs/storage/sqlite/index.d.ts +0 -15
  160. package/dist/cjs/storage/sqlite/index.d.ts.map +0 -1
  161. package/dist/cjs/storage/sqlite/index.js +0 -37
  162. package/dist/cjs/storage/sqlite/index.js.map +0 -6
  163. package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts +0 -13
  164. package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts.map +0 -1
  165. package/dist/cjs/storage/sqlite/platform/BunSqlite.js +0 -61
  166. package/dist/cjs/storage/sqlite/platform/BunSqlite.js.map +0 -6
  167. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts +0 -8
  168. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts.map +0 -1
  169. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js +0 -53
  170. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
  171. package/dist/cjs/time/index.d.ts +0 -7
  172. package/dist/cjs/time/index.d.ts.map +0 -1
  173. package/dist/cjs/time/index.js +0 -8
  174. package/dist/cjs/time/index.js.map +0 -6
  175. package/dist/cjs/time/startup.d.ts +0 -7
  176. package/dist/cjs/time/startup.d.ts.map +0 -1
  177. package/dist/cjs/time/startup.js +0 -11
  178. package/dist/cjs/time/startup.js.map +0 -6
  179. package/dist/cjs/util/runtimeChecks.d.ts +0 -14
  180. package/dist/cjs/util/runtimeChecks.d.ts.map +0 -1
  181. package/dist/cjs/util/runtimeChecks.js +0 -45
  182. package/dist/cjs/util/runtimeChecks.js.map +0 -6
  183. package/dist/esm/behavior/index.js +0 -7
  184. package/dist/esm/behavior/index.js.map +0 -6
  185. package/dist/esm/behavior/instrumentation.js +0 -19
  186. package/dist/esm/behavior/instrumentation.js.map +0 -6
  187. package/dist/esm/behavior/register.js +0 -8
  188. package/dist/esm/behavior/register.js.map +0 -6
  189. package/dist/esm/config.js +0 -190
  190. package/dist/esm/config.js.map +0 -6
  191. package/dist/esm/crypto/NodeJsCrypto.js +0 -16
  192. package/dist/esm/crypto/NodeJsCrypto.js.map +0 -6
  193. package/dist/esm/crypto/index.js +0 -7
  194. package/dist/esm/crypto/index.js.map +0 -6
  195. package/dist/esm/environment/NodeJsEnvironment.js +0 -242
  196. package/dist/esm/environment/NodeJsEnvironment.js.map +0 -6
  197. package/dist/esm/environment/ProcessManager.js +0 -109
  198. package/dist/esm/environment/ProcessManager.js.map +0 -6
  199. package/dist/esm/environment/index.js +0 -9
  200. package/dist/esm/environment/index.js.map +0 -6
  201. package/dist/esm/environment/register.js +0 -9
  202. package/dist/esm/environment/register.js.map +0 -6
  203. package/dist/esm/fs/NodeJsDirectory.js +0 -82
  204. package/dist/esm/fs/NodeJsDirectory.js.map +0 -6
  205. package/dist/esm/fs/NodeJsFile.js +0 -232
  206. package/dist/esm/fs/NodeJsFile.js.map +0 -6
  207. package/dist/esm/fs/NodeJsFilesystem.js +0 -63
  208. package/dist/esm/fs/NodeJsFilesystem.js.map +0 -6
  209. package/dist/esm/fs/fs-utils.js +0 -137
  210. package/dist/esm/fs/fs-utils.js.map +0 -6
  211. package/dist/esm/fs/index.js +0 -7
  212. package/dist/esm/fs/index.js.map +0 -6
  213. package/dist/esm/fs/lock-utils.js +0 -112
  214. package/dist/esm/fs/lock-utils.js.map +0 -6
  215. package/dist/esm/index.js +0 -14
  216. package/dist/esm/index.js.map +0 -6
  217. package/dist/esm/log/FileLogger.js +0 -26
  218. package/dist/esm/log/FileLogger.js.map +0 -6
  219. package/dist/esm/log/index.js +0 -7
  220. package/dist/esm/log/index.js.map +0 -6
  221. package/dist/esm/net/NodeJsHttpEndpoint.js +0 -286
  222. package/dist/esm/net/NodeJsHttpEndpoint.js.map +0 -6
  223. package/dist/esm/net/NodeJsNetwork.js +0 -189
  224. package/dist/esm/net/NodeJsNetwork.js.map +0 -6
  225. package/dist/esm/net/NodeJsTcpConnection.js +0 -124
  226. package/dist/esm/net/NodeJsTcpConnection.js.map +0 -6
  227. package/dist/esm/net/NodeJsTcpListener.js +0 -86
  228. package/dist/esm/net/NodeJsTcpListener.js.map +0 -6
  229. package/dist/esm/net/NodeJsUdpSocket.js +0 -385
  230. package/dist/esm/net/NodeJsUdpSocket.js.map +0 -6
  231. package/dist/esm/net/WsAdapter.js +0 -13
  232. package/dist/esm/net/WsAdapter.js.map +0 -6
  233. package/dist/esm/net/index.js +0 -12
  234. package/dist/esm/net/index.js.map +0 -6
  235. package/dist/esm/package.json +0 -6
  236. package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js +0 -140
  237. package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
  238. package/dist/esm/storage/fs/FileStorageDriver.js +0 -323
  239. package/dist/esm/storage/fs/FileStorageDriver.js.map +0 -6
  240. package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js +0 -180
  241. package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
  242. package/dist/esm/storage/fs/JsonFileStorageDriver.js +0 -116
  243. package/dist/esm/storage/fs/JsonFileStorageDriver.js.map +0 -6
  244. package/dist/esm/storage/fs/WalBlobStorageDriver.js +0 -24
  245. package/dist/esm/storage/fs/WalBlobStorageDriver.js.map +0 -6
  246. package/dist/esm/storage/fs/index.js +0 -19
  247. package/dist/esm/storage/fs/index.js.map +0 -6
  248. package/dist/esm/storage/index.js +0 -8
  249. package/dist/esm/storage/index.js.map +0 -6
  250. package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js +0 -197
  251. package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
  252. package/dist/esm/storage/sqlite/SqlitePlatform.js +0 -26
  253. package/dist/esm/storage/sqlite/SqlitePlatform.js.map +0 -6
  254. package/dist/esm/storage/sqlite/SqliteStorageDriver.js +0 -409
  255. package/dist/esm/storage/sqlite/SqliteStorageDriver.js.map +0 -6
  256. package/dist/esm/storage/sqlite/SqliteStorageDriverError.js +0 -21
  257. package/dist/esm/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
  258. package/dist/esm/storage/sqlite/SqliteTypes.js +0 -15
  259. package/dist/esm/storage/sqlite/SqliteTypes.js.map +0 -6
  260. package/dist/esm/storage/sqlite/SqliteUtil.js +0 -44
  261. package/dist/esm/storage/sqlite/SqliteUtil.js.map +0 -6
  262. package/dist/esm/storage/sqlite/index.js +0 -17
  263. package/dist/esm/storage/sqlite/index.js.map +0 -6
  264. package/dist/esm/storage/sqlite/platform/BunSqlite.js +0 -41
  265. package/dist/esm/storage/sqlite/platform/BunSqlite.js.map +0 -6
  266. package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js +0 -33
  267. package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
  268. package/dist/esm/time/index.js +0 -7
  269. package/dist/esm/time/index.js.map +0 -6
  270. package/dist/esm/time/startup.js +0 -10
  271. package/dist/esm/time/startup.js.map +0 -6
  272. package/dist/esm/util/runtimeChecks.js +0 -25
  273. package/dist/esm/util/runtimeChecks.js.map +0 -6
@@ -1,409 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import {
7
- FilesystemStorageDriver,
8
- fromJson,
9
- StorageTransaction,
10
- toJson
11
- } from "@matter/general";
12
- import { resolve } from "node:path";
13
- import { platformDatabaseCreator } from "./SqlitePlatform.js";
14
- import { SqliteStorageDriverError } from "./SqliteStorageDriverError.js";
15
- import { SqliteTransaction as Transaction } from "./SqliteTypes.js";
16
- import { buildContextKeyLog, buildContextKeyPair, buildContextPath, escapeGlob } from "./SqliteUtil.js";
17
- class SqliteStorageDriver extends FilesystemStorageDriver {
18
- static id = "sqlite";
19
- static memoryPath = ":memory:";
20
- static defaultTableName = "kvstore";
21
- /**
22
- * Create a SqliteStorageDriver for the given namespace using the platform-appropriate database.
23
- */
24
- static async create(namespace) {
25
- const storage = new SqliteStorageDriver({ namespaceOrPath: namespace });
26
- await storage.initialize();
27
- return storage;
28
- }
29
- isInitialized = false;
30
- #inTransaction = false;
31
- // internal values
32
- #database;
33
- #databaseCreator;
34
- dbPath;
35
- tableName;
36
- clearOnInit;
37
- // queries
38
- #queryGet;
39
- #queryGetRaw;
40
- #querySet;
41
- #querySetRaw;
42
- #queryDelete;
43
- #queryKeys;
44
- #queryValues;
45
- #queryContextSub;
46
- #queryClearAll;
47
- #queryHas;
48
- /**
49
- * Create sqlite-based disk storage.
50
- *
51
- * @param args.databaseCreator Optional database instance creator. If omitted, resolved automatically during
52
- * {@link initialize} via platform detection.
53
- * @param args.namespaceOrPath DataNamespace (derives path from root directory), string (direct path), or
54
- * null/undefined for in-memory database
55
- * @param args.clear Clear on init
56
- * @param args.tableName table name
57
- */
58
- constructor(args) {
59
- const namespaceOrPath = args?.namespaceOrPath;
60
- super(typeof namespaceOrPath === "string" || namespaceOrPath == null ? void 0 : namespaceOrPath);
61
- this.dbPath = typeof namespaceOrPath === "string" ? namespaceOrPath : namespaceOrPath != null ? resolve(this.root.directory.path, "storage.db") : SqliteStorageDriver.memoryPath;
62
- this.tableName = args?.tableName ?? SqliteStorageDriver.defaultTableName;
63
- this.clearOnInit = args?.clear ?? false;
64
- if (args?.databaseCreator) {
65
- this.#openDatabase(args.databaseCreator);
66
- }
67
- }
68
- #openDatabase(databaseCreator) {
69
- this.#databaseCreator = databaseCreator;
70
- this.#database = databaseCreator(this.dbPath);
71
- const initQuery = this.#database.prepare(`
72
- CREATE TABLE IF NOT EXISTS ${this.tableName} (
73
- context TEXT NOT NULL,
74
- key TEXT NOT NULL,
75
- value_type TEXT CHECK(value_type IN ('json', 'blob')),
76
- value_json TEXT,
77
- value_blob BLOB,
78
- CONSTRAINT PKPair PRIMARY KEY (context, key)
79
- ) STRICT
80
- `);
81
- initQuery.run();
82
- this.#queryGet = this.#database.prepare(`
83
- SELECT value_json FROM ${this.tableName} WHERE
84
- context=$context AND
85
- key=$key AND
86
- value_type='json'
87
- `);
88
- this.#queryGetRaw = this.#database.prepare(`
89
- SELECT * FROM ${this.tableName}
90
- `);
91
- this.#queryHas = this.#database.prepare(`
92
- SELECT EXISTS(
93
- SELECT 1 FROM ${this.tableName}
94
- WHERE context=$context AND key=$key
95
- ) as has_record
96
- `);
97
- this.#querySet = this.#database.prepare(`
98
- INSERT INTO ${this.tableName}
99
- (context, key, value_type, value_json, value_blob)
100
- VALUES($context, $key, 'json', $value_json, NULL)
101
- ON CONFLICT(context, key)
102
- DO UPDATE SET
103
- value_type = 'json',
104
- value_json = excluded.value_json,
105
- value_blob = NULL
106
- `);
107
- this.#querySetRaw = this.#database.prepare(`
108
- INSERT INTO ${this.tableName}
109
- (context, key, value_type, value_json, value_blob)
110
- VALUES($context, $key, $value_type, $value_json, $value_blob)
111
- ON CONFLICT(context, key)
112
- DO UPDATE SET
113
- value_type = excluded.value_type,
114
- value_json = excluded.value_json,
115
- value_blob = excluded.value_blob
116
- `);
117
- this.#queryDelete = this.#database.prepare(`
118
- DELETE FROM ${this.tableName} WHERE
119
- context=$context AND
120
- key=$key
121
- `);
122
- this.#queryClearAll = this.#database.prepare(`
123
- DELETE FROM ${this.tableName} WHERE
124
- context=$context OR context GLOB $contextGlob
125
- `);
126
- this.#queryKeys = this.#database.prepare(`
127
- SELECT DISTINCT key FROM ${this.tableName} WHERE
128
- context=$context
129
- `);
130
- this.#queryValues = this.#database.prepare(`
131
- SELECT key, value_json FROM ${this.tableName} WHERE
132
- context=$context AND
133
- value_type='json'
134
- `);
135
- this.#queryContextSub = this.#database.prepare(`
136
- SELECT DISTINCT context FROM ${this.tableName} WHERE
137
- context GLOB $contextGlob
138
- `);
139
- }
140
- /**
141
- * Manual transaction control
142
- *
143
- * Use this for explicit transaction management across multiple operations.
144
- * Internal methods like `set()` will automatically detect and use external transactions.
145
- *
146
- * TODO: Sync transaction to native matter.js API
147
- */
148
- transaction(mode) {
149
- switch (mode) {
150
- case Transaction.BEGIN:
151
- if (this.#inTransaction) {
152
- throw new SqliteStorageDriverError("transaction", "BEGIN", "Transaction is in progress.");
153
- }
154
- this.#database.exec("BEGIN IMMEDIATE TRANSACTION");
155
- this.#inTransaction = true;
156
- break;
157
- case Transaction.COMMIT:
158
- if (!this.#inTransaction) {
159
- throw new SqliteStorageDriverError("transaction", "COMMIT", "No transaction in progress.");
160
- }
161
- this.#database.exec("COMMIT");
162
- this.#inTransaction = false;
163
- break;
164
- case Transaction.ROLLBACK:
165
- if (!this.#inTransaction) {
166
- return;
167
- }
168
- this.#database.exec("ROLLBACK");
169
- this.#inTransaction = false;
170
- break;
171
- }
172
- }
173
- withAnyTransaction(callback) {
174
- if (this.#inTransaction) {
175
- return callback();
176
- }
177
- this.transaction(Transaction.BEGIN);
178
- try {
179
- const result = callback();
180
- this.transaction(Transaction.COMMIT);
181
- return result;
182
- } catch (err) {
183
- this.transaction(Transaction.ROLLBACK);
184
- throw err;
185
- }
186
- }
187
- get initialized() {
188
- return this.isInitialized;
189
- }
190
- async initialize() {
191
- if (this.isInitialized) {
192
- throw new SqliteStorageDriverError("initialize", this.tableName, "Storage already initialized!");
193
- }
194
- if (!this.#databaseCreator) {
195
- this.#openDatabase(await platformDatabaseCreator());
196
- }
197
- await super.initialize();
198
- if (this.clearOnInit) {
199
- this.#database.prepare(`DELETE FROM ${this.tableName}`).run();
200
- }
201
- this.isInitialized = true;
202
- }
203
- clone() {
204
- const clonedStorage = new SqliteStorageDriver({
205
- databaseCreator: this.#databaseCreator,
206
- namespaceOrPath: null,
207
- tableName: this.tableName,
208
- clear: false
209
- });
210
- const rawData = this.getRawAll();
211
- clonedStorage.setRaw(rawData);
212
- clonedStorage.isInitialized = true;
213
- return clonedStorage;
214
- }
215
- async close() {
216
- this.isInitialized = false;
217
- this.#database.close();
218
- await super.close();
219
- }
220
- get(contexts, key) {
221
- const queryResult = this.#queryGet.get(buildContextKeyPair(contexts, key));
222
- if (queryResult == null) {
223
- return void 0;
224
- }
225
- if (queryResult.value_json === null) {
226
- this.delete(contexts, key);
227
- throw new SqliteStorageDriverError(
228
- "get",
229
- buildContextKeyLog(contexts, key),
230
- "path has null json-value! (expected non-null value)"
231
- );
232
- }
233
- return fromJson(queryResult.value_json);
234
- }
235
- getRawAll() {
236
- return this.#queryGetRaw.all().filter((v) => v != null);
237
- }
238
- set(contexts, keyOrValues, value) {
239
- if (typeof keyOrValues === "string") {
240
- if (value === void 0) {
241
- throw new SqliteStorageDriverError(
242
- "set",
243
- buildContextKeyLog(contexts, keyOrValues),
244
- "Use null instead of undefined if you want to store null value!"
245
- );
246
- }
247
- this.setValue(contexts, keyOrValues, toJson(value));
248
- } else {
249
- this.withAnyTransaction(() => {
250
- for (const [key, value2] of Object.entries(keyOrValues)) {
251
- this.setValue(contexts, key, toJson(value2 ?? null));
252
- }
253
- });
254
- }
255
- }
256
- /**
257
- * Set [contexts, key] to value
258
- * @param contexts Context
259
- * @param key Key
260
- * @param value Value
261
- * @returns
262
- */
263
- setValue(contexts, key, value) {
264
- const { changes } = this.#querySet.run({
265
- ...buildContextKeyPair(contexts, key),
266
- value_json: value
267
- });
268
- if (Number(changes) <= 0) {
269
- throw new SqliteStorageDriverError(
270
- "set",
271
- buildContextKeyLog(contexts, key),
272
- `Something went wrong! Value wasn't changed.`
273
- );
274
- }
275
- }
276
- /**
277
- * Set Raw data. (for copy)
278
- */
279
- setRaw(rawData) {
280
- if (rawData.length <= 0) {
281
- return;
282
- }
283
- if (rawData.length === 1) {
284
- const raw = rawData[0];
285
- const { changes } = this.#querySetRaw.run({
286
- context: raw.context,
287
- key: raw.key,
288
- value_type: raw.value_type,
289
- value_json: raw.value_json,
290
- value_blob: raw.value_blob
291
- });
292
- if (Number(changes) <= 0) {
293
- throw new SqliteStorageDriverError(
294
- "setraw",
295
- `${raw.context}$${raw.key}`,
296
- `Something went wrong! Value wasn't changed.`
297
- );
298
- }
299
- return;
300
- }
301
- this.withAnyTransaction(() => {
302
- for (const raw of rawData) {
303
- const { changes } = this.#querySetRaw.run({
304
- context: raw.context,
305
- key: raw.key,
306
- value_type: raw.value_type,
307
- value_json: raw.value_json,
308
- value_blob: raw.value_blob
309
- });
310
- if (Number(changes) <= 0) {
311
- throw new SqliteStorageDriverError(
312
- "setraw",
313
- `${raw.context}$${raw.key}`,
314
- `Something went wrong! Value wasn't changed.`
315
- );
316
- }
317
- }
318
- });
319
- }
320
- delete(contexts, key) {
321
- this.#queryDelete.run(buildContextKeyPair(contexts, key));
322
- }
323
- keys(contexts) {
324
- const queryResults = this.#queryKeys.all({
325
- context: buildContextPath(contexts)
326
- }).filter((v) => v != null);
327
- return queryResults.map((v) => v.key);
328
- }
329
- values(contexts) {
330
- const queryResults = this.#queryValues.all({
331
- context: buildContextPath(contexts)
332
- }).filter((v) => v != null);
333
- const record = /* @__PURE__ */ Object.create(null);
334
- for (const element of queryResults) {
335
- record[element.key] = fromJson(element.value_json);
336
- }
337
- return record;
338
- }
339
- /**
340
- * Return sub contexts of context
341
- * (search nested depth, return 1 depth of them)
342
- * @param contexts context path
343
- * @returns sub contexts
344
- */
345
- contexts(contexts) {
346
- const parentCtx = buildContextPath(contexts);
347
- let subContexts;
348
- if (contexts.length === 0) {
349
- const allContexts = this.#queryContextSub.all({ contextGlob: "*" }).filter((v) => v != null);
350
- subContexts = allContexts.map((v) => {
351
- const firstDotIndex = v.context.indexOf(".");
352
- if (firstDotIndex < 0) {
353
- return v.context;
354
- }
355
- return v.context.substring(0, firstDotIndex);
356
- });
357
- } else {
358
- const allSubContexts = this.#queryContextSub.all({
359
- contextGlob: escapeGlob(parentCtx) + ".*"
360
- }).filter((v) => v != null);
361
- subContexts = allSubContexts.map((v) => {
362
- const subKey = v.context.substring(parentCtx.length + 1);
363
- const dotIndex = subKey.indexOf(".");
364
- if (dotIndex < 0) {
365
- return subKey;
366
- }
367
- return subKey.substring(0, dotIndex);
368
- });
369
- }
370
- return [...new Set(subContexts.filter((c) => c != null && c.trim().length > 0))];
371
- }
372
- clearAll(contexts) {
373
- if (contexts.length === 0) {
374
- return;
375
- }
376
- const contextPath = buildContextPath(contexts);
377
- this.#queryClearAll.run({
378
- context: contextPath,
379
- contextGlob: escapeGlob(contextPath) + ".*"
380
- });
381
- }
382
- has(contexts, key) {
383
- const result = this.#queryHas.get(buildContextKeyPair(contexts, key));
384
- return result?.has_record === 1;
385
- }
386
- begin() {
387
- return new SqliteStorageDriverTransaction(this);
388
- }
389
- }
390
- class SqliteStorageDriverTransaction extends StorageTransaction {
391
- constructor(sqliteStorage) {
392
- super(sqliteStorage);
393
- this.sqliteStorage = sqliteStorage;
394
- sqliteStorage.transaction(Transaction.BEGIN);
395
- }
396
- sqliteStorage;
397
- commit() {
398
- this.assertActive();
399
- this.sqliteStorage.transaction(Transaction.COMMIT);
400
- super.commit();
401
- }
402
- rollback() {
403
- this.sqliteStorage.transaction(Transaction.ROLLBACK);
404
- }
405
- }
406
- export {
407
- SqliteStorageDriver
408
- };
409
- //# sourceMappingURL=SqliteStorageDriver.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/storage/sqlite/SqliteStorageDriver.ts"],
4
- "mappings": "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",
5
- "names": ["value"]
6
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { StorageError } from "@matter/general";
7
- class SqliteStorageDriverError extends StorageError {
8
- constructor(methodType, contextKey, mainReason) {
9
- super(`[${methodType.toUpperCase()}] ${contextKey}: ${mainReason}`);
10
- this.methodType = methodType;
11
- this.contextKey = contextKey;
12
- this.mainReason = mainReason;
13
- }
14
- methodType;
15
- contextKey;
16
- mainReason;
17
- }
18
- export {
19
- SqliteStorageDriverError
20
- };
21
- //# sourceMappingURL=SqliteStorageDriverError.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/storage/sqlite/SqliteStorageDriverError.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,oBAAoB;AAQtB,MAAM,iCAAiC,aAAa;AAAA,EACvD,YACoB,YACA,YACA,YAClB;AACE,UAAM,IAAI,WAAW,YAAY,CAAC,KAAK,UAAU,KAAK,UAAU,EAAE;AAJlD;AACA;AACA;AAAA,EAGpB;AAAA,EALoB;AAAA,EACA;AAAA,EACA;AAIxB;",
5
- "names": []
6
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- var SqliteTransaction = /* @__PURE__ */ ((SqliteTransaction2) => {
7
- SqliteTransaction2[SqliteTransaction2["BEGIN"] = 0] = "BEGIN";
8
- SqliteTransaction2[SqliteTransaction2["COMMIT"] = 1] = "COMMIT";
9
- SqliteTransaction2[SqliteTransaction2["ROLLBACK"] = 2] = "ROLLBACK";
10
- return SqliteTransaction2;
11
- })(SqliteTransaction || {});
12
- export {
13
- SqliteTransaction
14
- };
15
- //# sourceMappingURL=SqliteTypes.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/storage/sqlite/SqliteTypes.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAsEO,IAAK,oBAAL,kBAAKA,uBAAL;AACH,EAAAA,sCAAA;AACA,EAAAA,sCAAA;AACA,EAAAA,sCAAA;AAHQ,SAAAA;AAAA,GAAA;",
5
- "names": ["SqliteTransaction"]
6
- }
@@ -1,44 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { SqliteStorageDriverError } from "./SqliteStorageDriverError.js";
7
- function buildContextPath(contexts) {
8
- for (const ctx of contexts) {
9
- if (ctx.trim().length <= 0 || ctx.includes(".")) {
10
- throw new SqliteStorageDriverError(
11
- "build",
12
- `{${contexts.join(",")}}`,
13
- "Context must not contain empty segments or leading or trailing dots."
14
- );
15
- }
16
- }
17
- return contexts.join(".");
18
- }
19
- function buildContextKeyPair(contexts, key) {
20
- return {
21
- context: buildContextPath(contexts),
22
- key: buildKey(key)
23
- };
24
- }
25
- function buildContextKeyLog(contexts, key) {
26
- return `${buildContextPath(contexts)}$${key}`;
27
- }
28
- function buildKey(key) {
29
- if (key.trim().length <= 0) {
30
- throw new SqliteStorageDriverError("build", key, "Key must not be an empty string.");
31
- }
32
- return key;
33
- }
34
- function escapeGlob(value) {
35
- return value.replace(/[*[?]/g, "[$&]");
36
- }
37
- export {
38
- buildContextKeyLog,
39
- buildContextKeyPair,
40
- buildContextPath,
41
- buildKey,
42
- escapeGlob
43
- };
44
- //# sourceMappingURL=SqliteUtil.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/storage/sqlite/SqliteUtil.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gCAAgC;AAOlC,SAAS,iBAAiB,UAAoB;AACjD,aAAW,OAAO,UAAU;AACxB,QAAI,IAAI,KAAK,EAAE,UAAU,KAAK,IAAI,SAAS,GAAG,GAAG;AAC7C,YAAM,IAAI;AAAA,QACN;AAAA,QACA,IAAI,SAAS,KAAK,GAAG,CAAC;AAAA,QACtB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,SAAS,KAAK,GAAG;AAC5B;AAOO,SAAS,oBAAoB,UAAoB,KAAa;AACjE,SAAO;AAAA,IACH,SAAS,iBAAiB,QAAQ;AAAA,IAClC,KAAK,SAAS,GAAG;AAAA,EACrB;AACJ;AAKO,SAAS,mBAAmB,UAAoB,KAAa;AAChE,SAAO,GAAG,iBAAiB,QAAQ,CAAC,IAAI,GAAG;AAC/C;AAKO,SAAS,SAAS,KAAa;AAClC,MAAI,IAAI,KAAK,EAAE,UAAU,GAAG;AACxB,UAAM,IAAI,yBAAyB,SAAS,KAAK,kCAAkC;AAAA,EACvF;AACA,SAAO;AACX;AAKO,SAAS,WAAW,OAAe;AACtC,SAAO,MAAM,QAAQ,UAAU,MAAM;AACzC;",
5
- "names": []
6
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { SqliteBlobStorageDriver } from "./SqliteBlobStorageDriver.js";
7
- import { SqliteStorageDriver } from "./SqliteStorageDriver.js";
8
- import { SqliteStorageDriverError } from "./SqliteStorageDriverError.js";
9
- import { SqliteStorageDriver as SqliteStorageDriver2 } from "./SqliteStorageDriver.js";
10
- const SqliteStorage = SqliteStorageDriver2;
11
- export {
12
- SqliteBlobStorageDriver,
13
- SqliteStorage,
14
- SqliteStorageDriver,
15
- SqliteStorageDriverError
16
- };
17
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/storage/sqlite/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,+BAA+B;AACxC,SAAS,2BAA2B;AACpC,SAAS,gCAAgC;AAEzC,SAAS,uBAAAA,4BAA2B;AAG7B,MAAM,gBAAgBA;",
5
- "names": ["SqliteStorageDriver"]
6
- }
@@ -1,41 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Logger } from "@matter/general";
7
- import { constants, Database } from "bun:sqlite";
8
- const logger = Logger.get("BunSqlite");
9
- function createBunDatabase(path) {
10
- const db = new Database(path, {
11
- strict: true,
12
- create: true
13
- });
14
- if (path === ":memory:") {
15
- return db;
16
- }
17
- db.exec("PRAGMA journal_mode = WAL");
18
- db.exec("PRAGMA synchronous = NORMAL");
19
- return {
20
- prepare: db.prepare.bind(db),
21
- exec: db.exec.bind(db),
22
- close: () => {
23
- try {
24
- db.fileControl(constants.SQLITE_FCNTL_PERSIST_WAL, 0);
25
- } catch (error) {
26
- logger.warn("Failed to clear WAL persistence flag:", error);
27
- }
28
- try {
29
- db.exec("PRAGMA wal_checkpoint(TRUNCATE)");
30
- } catch (error) {
31
- logger.warn("WAL checkpoint failed, WAL will be replayed on next open:", error);
32
- } finally {
33
- db.close();
34
- }
35
- }
36
- };
37
- }
38
- export {
39
- createBunDatabase
40
- };
41
- //# sourceMappingURL=BunSqlite.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/storage/sqlite/platform/BunSqlite.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AAEvB,SAAS,WAAW,gBAAgB;AAIpC,MAAM,SAAS,OAAO,IAAI,WAAW;AAO9B,SAAS,kBAAkB,MAA4B;AAC1D,QAAM,KAAK,IAAI,SAAS,MAAM;AAAA,IAC1B,QAAQ;AAAA,IACR,QAAQ;AAAA,EACZ,CAAC;AAED,MAAI,SAAS,YAAY;AACrB,WAAO;AAAA,EACX;AAEA,KAAG,KAAK,2BAA2B;AACnC,KAAG,KAAK,6BAA6B;AAErC,SAAO;AAAA,IACH,SAAS,GAAG,QAAQ,KAAK,EAAE;AAAA,IAC3B,MAAM,GAAG,KAAK,KAAK,EAAE;AAAA,IACrB,OAAO,MAAM;AACT,UAAI;AAEA,WAAG,YAAY,UAAU,0BAA0B,CAAC;AAAA,MACxD,SAAS,OAAO;AACZ,eAAO,KAAK,yCAAyC,KAAK;AAAA,MAC9D;AACA,UAAI;AACA,WAAG,KAAK,iCAAiC;AAAA,MAC7C,SAAS,OAAO;AACZ,eAAO,KAAK,6DAA6D,KAAK;AAAA,MAClF,UAAE;AACE,WAAG,MAAM;AAAA,MACb;AAAA,IACJ;AAAA,EACJ;AACJ;",
5
- "names": []
6
- }
@@ -1,33 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Logger } from "@matter/general";
7
- import { DatabaseSync } from "node:sqlite";
8
- const logger = Logger.get("NodeJsSqlite");
9
- function createNodeJsDatabase(path) {
10
- const db = new DatabaseSync(path);
11
- if (path === ":memory:") {
12
- return db;
13
- }
14
- db.exec("PRAGMA journal_mode = WAL");
15
- db.exec("PRAGMA synchronous = NORMAL");
16
- return {
17
- prepare: db.prepare.bind(db),
18
- exec: db.exec.bind(db),
19
- close: () => {
20
- try {
21
- db.exec("PRAGMA wal_checkpoint(TRUNCATE)");
22
- } catch (error) {
23
- logger.warn("WAL checkpoint failed, WAL will be replayed on next open:", error);
24
- } finally {
25
- db.close();
26
- }
27
- }
28
- };
29
- }
30
- export {
31
- createNodeJsDatabase
32
- };
33
- //# sourceMappingURL=NodeJsSqlite.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/storage/sqlite/platform/NodeJsSqlite.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAI7B,MAAM,SAAS,OAAO,IAAI,cAAc;AAOjC,SAAS,qBAAqB,MAA4B;AAC7D,QAAM,KAAK,IAAI,aAAa,IAAI;AAGhC,MAAI,SAAS,YAAY;AACrB,WAAO;AAAA,EACX;AAEA,KAAG,KAAK,2BAA2B;AACnC,KAAG,KAAK,6BAA6B;AAErC,SAAO;AAAA,IACH,SAAS,GAAG,QAAQ,KAAK,EAAE;AAAA,IAC3B,MAAM,GAAG,KAAK,KAAK,EAAE;AAAA,IACrB,OAAO,MAAM;AACT,UAAI;AACA,WAAG,KAAK,iCAAiC;AAAA,MAC7C,SAAS,OAAO;AACZ,eAAO,KAAK,6DAA6D,KAAK;AAAA,MAClF,UAAE;AACE,WAAG,MAAM;AAAA,MACb;AAAA,IACJ;AAAA,EACJ;AACJ;",
5
- "names": []
6
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import "./startup.js";
7
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/time/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;",
5
- "names": []
6
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Seconds, Time, Timestamp } from "@matter/general";
7
- import { uptime } from "node:os";
8
- Time.startup.processMs = Timestamp(Time.nowMs - Seconds(process.uptime()));
9
- Time.startup.systemMs = Timestamp(Time.nowMs - Seconds(uptime()));
10
- //# sourceMappingURL=startup.js.map