@matter/nodejs 0.16.6-alpha.0-20260121-bc6d62766 → 0.16.6-alpha.0-20260122-b5154bcb4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/config.d.ts +6 -0
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +14 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/environment/NodeJsEnvironment.d.ts +2 -1
- package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +1 -1
- package/dist/cjs/environment/NodeJsEnvironment.js +28 -10
- package/dist/cjs/environment/NodeJsEnvironment.js.map +1 -1
- package/dist/cjs/storage/StorageFactory.d.ts +52 -0
- package/dist/cjs/storage/StorageFactory.d.ts.map +1 -0
- package/dist/cjs/storage/StorageFactory.js +215 -0
- package/dist/cjs/storage/StorageFactory.js.map +6 -0
- package/dist/cjs/storage/fs/StorageBackendDisk.d.ts.map +1 -0
- package/dist/cjs/storage/{StorageBackendDisk.js.map → fs/StorageBackendDisk.js.map} +1 -1
- package/dist/cjs/storage/fs/StorageBackendJsonFile.d.ts.map +1 -0
- package/dist/cjs/storage/{StorageBackendJsonFile.js.map → fs/StorageBackendJsonFile.js.map} +1 -1
- package/dist/cjs/storage/fs/index.d.ts +8 -0
- package/dist/cjs/storage/fs/index.d.ts.map +1 -0
- package/dist/cjs/storage/fs/index.js +25 -0
- package/dist/cjs/storage/fs/index.js.map +6 -0
- package/dist/cjs/storage/index.d.ts +3 -2
- package/dist/cjs/storage/index.d.ts.map +1 -1
- package/dist/cjs/storage/index.js +3 -2
- package/dist/cjs/storage/index.js.map +1 -1
- package/dist/cjs/storage/sqlite/SqliteStorage.d.ts +105 -0
- package/dist/cjs/storage/sqlite/SqliteStorage.d.ts.map +1 -0
- package/dist/cjs/storage/sqlite/SqliteStorage.js +439 -0
- package/dist/cjs/storage/sqlite/SqliteStorage.js.map +6 -0
- package/dist/cjs/storage/sqlite/SqliteStorageError.d.ts +19 -0
- package/dist/cjs/storage/sqlite/SqliteStorageError.d.ts.map +1 -0
- package/dist/cjs/storage/sqlite/SqliteStorageError.js +38 -0
- package/dist/cjs/storage/sqlite/SqliteStorageError.js.map +6 -0
- package/dist/cjs/storage/sqlite/SqliteTypes.d.ts +67 -0
- package/dist/cjs/storage/sqlite/SqliteTypes.d.ts.map +1 -0
- package/dist/cjs/storage/sqlite/SqliteTypes.js +35 -0
- package/dist/cjs/storage/sqlite/SqliteTypes.js.map +6 -0
- package/dist/cjs/storage/sqlite/SqliteUtil.d.ts +33 -0
- package/dist/cjs/storage/sqlite/SqliteUtil.d.ts.map +1 -0
- package/dist/cjs/storage/sqlite/SqliteUtil.js +64 -0
- package/dist/cjs/storage/sqlite/SqliteUtil.js.map +6 -0
- package/dist/cjs/storage/sqlite/index.d.ts +10 -0
- package/dist/cjs/storage/sqlite/index.d.ts.map +1 -0
- package/dist/cjs/storage/sqlite/index.js +34 -0
- package/dist/cjs/storage/sqlite/index.js.map +6 -0
- package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts +17 -0
- package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts.map +1 -0
- package/dist/cjs/storage/sqlite/platform/BunSqlite.js +62 -0
- package/dist/cjs/storage/sqlite/platform/BunSqlite.js.map +6 -0
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts +12 -0
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts.map +1 -0
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js +49 -0
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js.map +6 -0
- package/dist/cjs/storage/sqlite/platform/PlatformSqlite.d.ts +8 -0
- package/dist/cjs/storage/sqlite/platform/PlatformSqlite.d.ts.map +1 -0
- package/dist/cjs/storage/sqlite/platform/PlatformSqlite.js +54 -0
- package/dist/cjs/storage/sqlite/platform/PlatformSqlite.js.map +6 -0
- package/dist/cjs/util/runtimeChecks.d.ts +14 -0
- package/dist/cjs/util/runtimeChecks.d.ts.map +1 -0
- package/dist/cjs/util/runtimeChecks.js +45 -0
- package/dist/cjs/util/runtimeChecks.js.map +6 -0
- package/dist/esm/config.d.ts +6 -0
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +14 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/environment/NodeJsEnvironment.d.ts +2 -1
- package/dist/esm/environment/NodeJsEnvironment.d.ts.map +1 -1
- package/dist/esm/environment/NodeJsEnvironment.js +29 -10
- package/dist/esm/environment/NodeJsEnvironment.js.map +1 -1
- package/dist/esm/storage/StorageFactory.d.ts +52 -0
- package/dist/esm/storage/StorageFactory.d.ts.map +1 -0
- package/dist/esm/storage/StorageFactory.js +195 -0
- package/dist/esm/storage/StorageFactory.js.map +6 -0
- package/dist/esm/storage/fs/StorageBackendDisk.d.ts.map +1 -0
- package/dist/esm/storage/{StorageBackendDisk.js.map → fs/StorageBackendDisk.js.map} +1 -1
- package/dist/esm/storage/fs/StorageBackendJsonFile.d.ts.map +1 -0
- package/dist/esm/storage/{StorageBackendJsonFile.js.map → fs/StorageBackendJsonFile.js.map} +1 -1
- package/dist/esm/storage/fs/index.d.ts +8 -0
- package/dist/esm/storage/fs/index.d.ts.map +1 -0
- package/dist/esm/storage/fs/index.js +8 -0
- package/dist/esm/storage/fs/index.js.map +6 -0
- package/dist/esm/storage/index.d.ts +3 -2
- package/dist/esm/storage/index.d.ts.map +1 -1
- package/dist/esm/storage/index.js +3 -2
- package/dist/esm/storage/index.js.map +1 -1
- package/dist/esm/storage/sqlite/SqliteStorage.d.ts +105 -0
- package/dist/esm/storage/sqlite/SqliteStorage.d.ts.map +1 -0
- package/dist/esm/storage/sqlite/SqliteStorage.js +423 -0
- package/dist/esm/storage/sqlite/SqliteStorage.js.map +6 -0
- package/dist/esm/storage/sqlite/SqliteStorageError.d.ts +19 -0
- package/dist/esm/storage/sqlite/SqliteStorageError.d.ts.map +1 -0
- package/dist/esm/storage/sqlite/SqliteStorageError.js +18 -0
- package/dist/esm/storage/sqlite/SqliteStorageError.js.map +6 -0
- package/dist/esm/storage/sqlite/SqliteTypes.d.ts +67 -0
- package/dist/esm/storage/sqlite/SqliteTypes.d.ts.map +1 -0
- package/dist/esm/storage/sqlite/SqliteTypes.js +15 -0
- package/dist/esm/storage/sqlite/SqliteTypes.js.map +6 -0
- package/dist/esm/storage/sqlite/SqliteUtil.d.ts +33 -0
- package/dist/esm/storage/sqlite/SqliteUtil.d.ts.map +1 -0
- package/dist/esm/storage/sqlite/SqliteUtil.js +44 -0
- package/dist/esm/storage/sqlite/SqliteUtil.js.map +6 -0
- package/dist/esm/storage/sqlite/index.d.ts +10 -0
- package/dist/esm/storage/sqlite/index.d.ts.map +1 -0
- package/dist/esm/storage/sqlite/index.js +14 -0
- package/dist/esm/storage/sqlite/index.js.map +6 -0
- package/dist/esm/storage/sqlite/platform/BunSqlite.d.ts +17 -0
- package/dist/esm/storage/sqlite/platform/BunSqlite.d.ts.map +1 -0
- package/dist/esm/storage/sqlite/platform/BunSqlite.js +32 -0
- package/dist/esm/storage/sqlite/platform/BunSqlite.js.map +6 -0
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.d.ts +12 -0
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.d.ts.map +1 -0
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js +29 -0
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js.map +6 -0
- package/dist/esm/storage/sqlite/platform/PlatformSqlite.d.ts +8 -0
- package/dist/esm/storage/sqlite/platform/PlatformSqlite.d.ts.map +1 -0
- package/dist/esm/storage/sqlite/platform/PlatformSqlite.js +24 -0
- package/dist/esm/storage/sqlite/platform/PlatformSqlite.js.map +6 -0
- package/dist/esm/util/runtimeChecks.d.ts +14 -0
- package/dist/esm/util/runtimeChecks.d.ts.map +1 -0
- package/dist/esm/util/runtimeChecks.js +25 -0
- package/dist/esm/util/runtimeChecks.js.map +6 -0
- package/package.json +10 -10
- package/src/config.ts +18 -4
- package/src/environment/NodeJsEnvironment.ts +41 -12
- package/src/net/NodeJsHttpEndpoint.ts +1 -1
- package/src/storage/StorageFactory.ts +310 -0
- package/src/storage/fs/index.ts +8 -0
- package/src/storage/index.ts +3 -2
- package/src/storage/sqlite/SqliteStorage.ts +572 -0
- package/src/storage/sqlite/SqliteStorageError.ts +23 -0
- package/src/storage/sqlite/SqliteTypes.ts +75 -0
- package/src/storage/sqlite/SqliteUtil.ts +61 -0
- package/src/storage/sqlite/index.ts +10 -0
- package/src/storage/sqlite/platform/BunSqlite.ts +40 -0
- package/src/storage/sqlite/platform/NodeJsSqlite.ts +35 -0
- package/src/storage/sqlite/platform/PlatformSqlite.ts +52 -0
- package/src/util/runtimeChecks.ts +31 -0
- package/dist/cjs/storage/StorageBackendDisk.d.ts.map +0 -1
- package/dist/cjs/storage/StorageBackendJsonFile.d.ts.map +0 -1
- package/dist/esm/storage/StorageBackendDisk.d.ts.map +0 -1
- package/dist/esm/storage/StorageBackendJsonFile.d.ts.map +0 -1
- /package/dist/cjs/storage/{StorageBackendDisk.d.ts → fs/StorageBackendDisk.d.ts} +0 -0
- /package/dist/cjs/storage/{StorageBackendDisk.js → fs/StorageBackendDisk.js} +0 -0
- /package/dist/cjs/storage/{StorageBackendJsonFile.d.ts → fs/StorageBackendJsonFile.d.ts} +0 -0
- /package/dist/cjs/storage/{StorageBackendJsonFile.js → fs/StorageBackendJsonFile.js} +0 -0
- /package/dist/esm/storage/{StorageBackendDisk.d.ts → fs/StorageBackendDisk.d.ts} +0 -0
- /package/dist/esm/storage/{StorageBackendDisk.js → fs/StorageBackendDisk.js} +0 -0
- /package/dist/esm/storage/{StorageBackendJsonFile.d.ts → fs/StorageBackendJsonFile.d.ts} +0 -0
- /package/dist/esm/storage/{StorageBackendJsonFile.js → fs/StorageBackendJsonFile.js} +0 -0
- /package/src/storage/{StorageBackendDisk.ts → fs/StorageBackendDisk.ts} +0 -0
- /package/src/storage/{StorageBackendJsonFile.ts → fs/StorageBackendJsonFile.ts} +0 -0
package/dist/esm/config.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/config.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,IAAI,gBAAgB;AACpB,IAAI,yBAAyB;AAC7B,IAAI,qBAAyC;AAC7C,IAAI,wBAAwB;AAC5B,IAAI,kBAAkB;AACtB,IAAI,iBAAiB;AACrB,IAAI,iBAAiB;AACrB,IAAI,oBAAoB;AACxB,IAAI,qBAAqB;AACzB,IAAI,sBAAsB;AAC1B,IAAI,4BAA4B;AAChC,IAAI,iBAAiB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,IAAI,gBAAgB;AACpB,IAAI,yBAAyB;AAC7B,IAAI,qBAAyC;AAC7C,IAAI,wBAAwB;AAC5B,IAAI,kBAAkB;AACtB,IAAI,iBAAiB;AACrB,IAAI,iBAAiB;AACrB,IAAI,oBAAoB;AACxB,IAAI,qBAAqB;AACzB,IAAI,sBAAsB;AAC1B,IAAI,4BAA4B;AAChC,IAAI,iBAAiB;AAErB,IAAI,gBAAgB;AAEpB,IAAI,gBAAgB;AAEb,MAAM,sCAAsC,MAAM;AAAC;AAwBnD,MAAM,SAAS;AAAA,EAClB,IAAI,cAAc,OAAgB;AAC9B,QAAI,OAAO;AACP,sBAAgB;AAAA,IACpB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,yBAAyB;AACzB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,uBAAuB,OAAe;AACtC,wBAAoB,wBAAwB;AAC5C,6BAAyB;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,qBAAqB;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,mBAAmB,OAA2B;AAC9C,wBAAoB,oBAAoB;AACxC,yBAAqB;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,wBAAwB;AACxB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,sBAAsB,OAAe;AACrC,wBAAoB,uBAAuB;AAC3C,4BAAwB;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,kBAAkB;AAClB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,gBAAgB,OAAgB;AAChC,wBAAoB,kBAAkB;AACtC,sBAAkB;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,iBAAiB;AACjB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,eAAe,OAAgB;AAC/B,wBAAoB,gBAAgB;AACpC,qBAAiB;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,iBAAiB;AACjB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,eAAe,OAAgB;AAC/B,wBAAoB,gBAAgB;AACpC,qBAAiB;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,gBAAgB;AAChB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,cAAc,OAAgB;AAC9B,wBAAoB,qBAAqB;AACzC,oBAAgB;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,iBAAiB;AACjB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,eAAe,OAAgB;AAC/B,wBAAoB,sBAAsB;AAC1C,qBAAiB;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,oBAAoB;AACpB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,kBAAkB,OAAgB;AAClC,wBAAoB,mBAAmB;AACvC,wBAAoB;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,gBAAgB;AAChB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,cAAc,OAA0B;AACxC,wBAAoB,mBAAmB;AACvC,oBAAgB;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,qBAAqB;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,mBAAmB,OAAgB;AACnC,wBAAoB,oBAAoB;AACxC,yBAAqB;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAI,sBAAsB;AACtB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,oBAAoB,OAAgB;AACpC,wBAAoB,qBAAqB;AACzC,0BAAsB;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,4BAA4B;AAC5B,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,0BAA0B,OAAgB;AAC1C,wBAAoB,gBAAgB;AACpC,gCAA4B;AAAA,EAChC;AACJ;AAEA,SAAS,oBAAoB,MAAc;AACvC,MAAI,eAAe;AACf,UAAM,IAAI;AAAA,MACN,+BAA+B,IAAI;AAAA,IACvC;AAAA,EACJ;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -37,9 +37,10 @@ import { Environment, VariableService } from "#general";
|
|
|
37
37
|
* * `trace.enable` - Enable writing a trace file
|
|
38
38
|
* * `storage.path` - Where to store storage files, Default: "path.root"
|
|
39
39
|
* * `storage.clear` - Clear storage on start? Default: false
|
|
40
|
+
* * `storage.driver` - Storage driver to use: "file" (default) or "sqlite" (requires Node.js v22+). Automatically migrates data when switching drivers.
|
|
40
41
|
* * `nodejs.crypto` - Enables crypto implementation in this package. Default: true
|
|
41
42
|
* * `nodejs.network` - Enables network implementation in this package. Default: true
|
|
42
|
-
* * `nodejs.storage` - Enables
|
|
43
|
+
* * `nodejs.storage` - Enables storage implementation in this package. Default: true
|
|
43
44
|
* * `runtime.signals` - By default register SIGINT and SIGUSR2 (diag) handlers, set to false if not wanted
|
|
44
45
|
* * `runtime.exitcode` - By default we set the process.exitcode to 0 (ok) or 1 (crash); set to false to disable
|
|
45
46
|
* * `runtime.unhandlederrors` - By default we log unhandled errors to matter.js log; set to false to disable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeJsEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/NodeJsEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAKH,WAAW,
|
|
1
|
+
{"version":3,"file":"NodeJsEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/NodeJsEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAKH,WAAW,EASX,eAAe,EAClB,MAAM,UAAU,CAAC;AAalB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,iBAAiB,gBAqBhC;AAgID,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe;;;EAsBnD;AAoBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;EAiBhD"}
|
|
@@ -17,14 +17,16 @@ import {
|
|
|
17
17
|
Logger,
|
|
18
18
|
Network,
|
|
19
19
|
ServiceBundle,
|
|
20
|
+
StandardCrypto,
|
|
20
21
|
StorageService
|
|
21
22
|
} from "#general";
|
|
22
23
|
import { NodeJsHttpEndpoint } from "#net/NodeJsHttpEndpoint.js";
|
|
24
|
+
import { StorageFactory } from "#storage/index.js";
|
|
25
|
+
import { isBunjs } from "#util/runtimeChecks.js";
|
|
23
26
|
import { existsSync, readFileSync } from "node:fs";
|
|
24
27
|
import { writeFile } from "node:fs/promises";
|
|
25
28
|
import { resolve } from "node:path";
|
|
26
29
|
import { NodeJsNetwork } from "../net/NodeJsNetwork.js";
|
|
27
|
-
import { StorageBackendDisk } from "../storage/StorageBackendDisk.js";
|
|
28
30
|
import { ProcessManager } from "./ProcessManager.js";
|
|
29
31
|
function NodeJsEnvironment() {
|
|
30
32
|
const env = new Environment("default");
|
|
@@ -73,16 +75,21 @@ function rootDirOf(env) {
|
|
|
73
75
|
function configureCrypto(env) {
|
|
74
76
|
Boot.init(() => {
|
|
75
77
|
if (config.installCrypto || (env.vars.boolean("nodejs.crypto") ?? true)) {
|
|
76
|
-
|
|
78
|
+
let crypto;
|
|
79
|
+
if (!isBunjs()) {
|
|
80
|
+
crypto = new NodeJsCrypto();
|
|
81
|
+
} else {
|
|
82
|
+
crypto = new StandardCrypto(global.crypto);
|
|
83
|
+
}
|
|
77
84
|
env.set(Entropy, crypto);
|
|
78
85
|
env.set(Crypto, crypto);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (Environment.default.has(Entropy)) {
|
|
89
|
+
env.set(Entropy, Environment.default.get(Entropy));
|
|
90
|
+
}
|
|
91
|
+
if (Environment.default.has(Crypto)) {
|
|
92
|
+
env.set(Crypto, Environment.default.get(Crypto));
|
|
86
93
|
}
|
|
87
94
|
});
|
|
88
95
|
}
|
|
@@ -117,7 +124,19 @@ function configureStorage(env) {
|
|
|
117
124
|
env.vars.use(() => {
|
|
118
125
|
service.location = env.vars.get("storage.path", rootDirOf(env));
|
|
119
126
|
});
|
|
120
|
-
|
|
127
|
+
const shouldClear = env.vars.get("storage.clear", false);
|
|
128
|
+
let storageDriver = config.storageDriver ?? env.vars.string("storage.driver") ?? "file";
|
|
129
|
+
if (storageDriver.length === 0) {
|
|
130
|
+
storageDriver = "file";
|
|
131
|
+
}
|
|
132
|
+
service.factory = async (namespace) => {
|
|
133
|
+
return await StorageFactory.create({
|
|
134
|
+
driver: storageDriver,
|
|
135
|
+
rootDir: service.location ?? ".",
|
|
136
|
+
namespace,
|
|
137
|
+
clear: shouldClear
|
|
138
|
+
});
|
|
139
|
+
};
|
|
121
140
|
service.resolve = (...paths) => resolve(rootDirOf(env), ...paths);
|
|
122
141
|
}
|
|
123
142
|
function loadConfigFile(vars) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/environment/NodeJsEnvironment.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAC7B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEG;AACP,SAAS,0BAA0B;AACnC,SAAS,YAAY,oBAAoB;AACzC,SAAS,iBAAiB;AAC1B,SAAS,eAAe;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { StorageBackendDisk } from "./fs/StorageBackendDisk.js";
|
|
7
|
+
/**
|
|
8
|
+
* Storage Types which is implemented.
|
|
9
|
+
*/
|
|
10
|
+
export declare enum StorageType {
|
|
11
|
+
FILE = "file",
|
|
12
|
+
SQLITE = "sqlite"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Factory for creating storage backends with automatic migration support.
|
|
16
|
+
*
|
|
17
|
+
* Provides a unified interface for creating different storage implementations
|
|
18
|
+
* (file-based, SQLite) with seamless migration between storage types.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link StorageType} for available storage types
|
|
21
|
+
* @see {@link create} for creating storage instances
|
|
22
|
+
*/
|
|
23
|
+
export declare namespace StorageFactory {
|
|
24
|
+
/**
|
|
25
|
+
* Creates a storage instance with automatic migration support.
|
|
26
|
+
*
|
|
27
|
+
* It is also initialized while creating.
|
|
28
|
+
*
|
|
29
|
+
* This is the main entry point for creating storage backends.
|
|
30
|
+
* It handles:
|
|
31
|
+
* - Directory creation if not exists
|
|
32
|
+
* - Automatic migration from other storage types
|
|
33
|
+
* - Backup of original data
|
|
34
|
+
*/
|
|
35
|
+
function create(args: {
|
|
36
|
+
driver: StorageType | string;
|
|
37
|
+
rootDir: string;
|
|
38
|
+
namespace: string;
|
|
39
|
+
clear?: boolean;
|
|
40
|
+
}): Promise<StorageBackendDisk | import("./sqlite/SqliteStorage.js").SqliteStorage>;
|
|
41
|
+
/**
|
|
42
|
+
* Remove the storage instance completely.
|
|
43
|
+
*
|
|
44
|
+
* use `storage.clear()` for clearing without remove completely.
|
|
45
|
+
*/
|
|
46
|
+
function remove(args: {
|
|
47
|
+
driver: StorageType | string;
|
|
48
|
+
rootDir: string;
|
|
49
|
+
namespace: string;
|
|
50
|
+
}): Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=StorageFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageFactory.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAKhE;;GAEG;AAEH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED;;;;;;;;GAQG;AACH,yBAAiB,cAAc,CAAC;IAG5B;;;;;;;;;;OAUG;IACH,SAAsB,MAAM,CAAC,IAAI,EAAE;QAC/B,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACnB,mFA+EA;IAED;;;;OAIG;IACH,SAAsB,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,iBAWtG;CAgKJ"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { supportsSqlite } from "#util/runtimeChecks.js";
|
|
7
|
+
import { Logger, StorageError, StorageMigration, toJson } from "@matter/general";
|
|
8
|
+
import { lstat, mkdir, rename, rm, writeFile } from "node:fs/promises";
|
|
9
|
+
import { resolve } from "node:path";
|
|
10
|
+
import { StorageBackendDisk } from "./fs/StorageBackendDisk.js";
|
|
11
|
+
import { PlatformSqlite } from "./sqlite/index.js";
|
|
12
|
+
const logger = new Logger("StorageFactory");
|
|
13
|
+
var StorageType = /* @__PURE__ */ ((StorageType2) => {
|
|
14
|
+
StorageType2["FILE"] = "file";
|
|
15
|
+
StorageType2["SQLITE"] = "sqlite";
|
|
16
|
+
return StorageType2;
|
|
17
|
+
})(StorageType || {});
|
|
18
|
+
var StorageFactory;
|
|
19
|
+
((StorageFactory2) => {
|
|
20
|
+
const StorageTypes = ["file" /* FILE */, "sqlite" /* SQLITE */];
|
|
21
|
+
async function create(args) {
|
|
22
|
+
const { driver, namespace } = args;
|
|
23
|
+
const rootDir = resolve(args.rootDir);
|
|
24
|
+
const clear = args.clear ?? false;
|
|
25
|
+
const type = getStorageType(driver);
|
|
26
|
+
if (!await exists(rootDir)) {
|
|
27
|
+
await mkdir(rootDir, { recursive: true });
|
|
28
|
+
}
|
|
29
|
+
const path = getRealPath(type, rootDir, namespace);
|
|
30
|
+
if (clear || await exists(path)) {
|
|
31
|
+
return await createRawInit(type, path, clear);
|
|
32
|
+
}
|
|
33
|
+
const storage = await createRawInit(type, path, false);
|
|
34
|
+
const migrationRootDir = resolve(rootDir, ".migrations", getResultDirName(namespace));
|
|
35
|
+
for (const otherType of StorageTypes) {
|
|
36
|
+
if (type === otherType) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (otherType === "sqlite" /* SQLITE */ && !supportsSqlite()) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const otherPath = getRealPath(otherType, rootDir, namespace);
|
|
43
|
+
if (!await hasStorage(otherType, otherPath)) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const otherStorage = await createRawInit(otherType, otherPath, false);
|
|
48
|
+
const migrationResult = await StorageMigration.migrate(otherStorage, storage);
|
|
49
|
+
await otherStorage.close();
|
|
50
|
+
const resultDir = resolve(migrationRootDir, otherType);
|
|
51
|
+
await mkdir(resultDir, { recursive: true });
|
|
52
|
+
await writeFile(resolve(resultDir, "migration.log"), StorageMigration.resultToLog(migrationResult));
|
|
53
|
+
await writeFile(
|
|
54
|
+
resolve(resultDir, "metadata.json"),
|
|
55
|
+
toJson(
|
|
56
|
+
getMetadata({
|
|
57
|
+
fromType: otherType,
|
|
58
|
+
fromPath: otherPath,
|
|
59
|
+
toType: type,
|
|
60
|
+
toPath: path,
|
|
61
|
+
result: migrationResult
|
|
62
|
+
}),
|
|
63
|
+
4
|
|
64
|
+
)
|
|
65
|
+
);
|
|
66
|
+
const backupPath = getRealPath(otherType, resultDir, namespace);
|
|
67
|
+
await rename(otherPath, backupPath);
|
|
68
|
+
} catch (err) {
|
|
69
|
+
const errorMessage = err?.message ?? String(err);
|
|
70
|
+
logger.error(
|
|
71
|
+
`[migrate] Failed to migrate '${namespace}' from ${otherType} to ${type}!
|
|
72
|
+
Error: ${errorMessage}`
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return storage;
|
|
77
|
+
}
|
|
78
|
+
StorageFactory2.create = create;
|
|
79
|
+
async function remove(args) {
|
|
80
|
+
const { driver, namespace } = args;
|
|
81
|
+
const rootDir = resolve(args.rootDir);
|
|
82
|
+
const type = getStorageType(driver);
|
|
83
|
+
const path = getRealPath(type, rootDir, namespace);
|
|
84
|
+
if (!await exists(path)) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
await rm(path, { recursive: true, force: true });
|
|
88
|
+
}
|
|
89
|
+
StorageFactory2.remove = remove;
|
|
90
|
+
async function createRaw(type, path, clear) {
|
|
91
|
+
const normalizedType = type.toLowerCase();
|
|
92
|
+
if (normalizedType === "sqlite" /* SQLITE */) {
|
|
93
|
+
if (!supportsSqlite()) {
|
|
94
|
+
throw new Error(
|
|
95
|
+
`SQLite storage is not supported in this environment.
|
|
96
|
+
Node.js v22+ is required for SQLite support.
|
|
97
|
+
Current version: ${process.version}
|
|
98
|
+
`.replace(/\n\s+/g, "\n")
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
return await PlatformSqlite(path, clear);
|
|
102
|
+
}
|
|
103
|
+
if (normalizedType === "file" /* FILE */) {
|
|
104
|
+
return new StorageBackendDisk(path, clear);
|
|
105
|
+
}
|
|
106
|
+
throw new Error(`'${type}' storage type is not implemented.`);
|
|
107
|
+
}
|
|
108
|
+
async function createRawInit(type, path, clear) {
|
|
109
|
+
const storage = await createRaw(type, path, clear);
|
|
110
|
+
await storage.initialize();
|
|
111
|
+
return storage;
|
|
112
|
+
}
|
|
113
|
+
async function hasStorage(type, path) {
|
|
114
|
+
try {
|
|
115
|
+
const pathStat = await lstat(path);
|
|
116
|
+
switch (type) {
|
|
117
|
+
case "file" /* FILE */:
|
|
118
|
+
return pathStat.isDirectory();
|
|
119
|
+
case "sqlite" /* SQLITE */:
|
|
120
|
+
return pathStat.isFile();
|
|
121
|
+
default:
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
} catch (err) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function getResultDirName(namespace) {
|
|
129
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace(/[-:]/g, "").replace("T", "_").substring(2);
|
|
130
|
+
return `${namespace}_${timestamp}_${generateRandomId()}`;
|
|
131
|
+
}
|
|
132
|
+
function getMetadata(args) {
|
|
133
|
+
const migrationResult = args.result;
|
|
134
|
+
return {
|
|
135
|
+
version: "1.0.0",
|
|
136
|
+
timestamp: Date.now(),
|
|
137
|
+
source: {
|
|
138
|
+
type: args.fromType,
|
|
139
|
+
path: args.fromPath
|
|
140
|
+
},
|
|
141
|
+
target: {
|
|
142
|
+
type: args.toType,
|
|
143
|
+
path: args.toPath
|
|
144
|
+
},
|
|
145
|
+
result: {
|
|
146
|
+
success: migrationResult.success,
|
|
147
|
+
migratedCount: migrationResult.migratedCount,
|
|
148
|
+
skippedCount: migrationResult.skippedCount,
|
|
149
|
+
totalItems: migrationResult.migratedCount + migrationResult.skippedCount
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function getStorageType(inputType) {
|
|
154
|
+
for (const storageType of StorageTypes) {
|
|
155
|
+
if (storageType === inputType.toLowerCase()) {
|
|
156
|
+
return storageType;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
throw new StorageError(`Unknown '${inputType}' type storage!`);
|
|
160
|
+
}
|
|
161
|
+
function getRealPath(type, rootDir, namespaces) {
|
|
162
|
+
const namespaceArr = typeof namespaces === "string" ? [namespaces] : namespaces;
|
|
163
|
+
switch (type) {
|
|
164
|
+
case "file" /* FILE */:
|
|
165
|
+
return resolve(rootDir, ...namespaceArr);
|
|
166
|
+
case "sqlite" /* SQLITE */:
|
|
167
|
+
const lastIndex = namespaceArr.length - 1;
|
|
168
|
+
namespaceArr[lastIndex] += ".db";
|
|
169
|
+
return resolve(rootDir, ...namespaceArr);
|
|
170
|
+
default:
|
|
171
|
+
throw new Error(`NOT IMPLEMENTED ${type} type.`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function generateRandomId() {
|
|
175
|
+
const characters = "abcdefghijklmnopqrstuvwxyz0123456789";
|
|
176
|
+
let result = "";
|
|
177
|
+
for (let i = 0; i < 6; i += 1) {
|
|
178
|
+
result += characters.charAt(Math.floor(Math.random() * characters.length));
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
181
|
+
}
|
|
182
|
+
async function exists(path) {
|
|
183
|
+
try {
|
|
184
|
+
await lstat(resolve(path));
|
|
185
|
+
return true;
|
|
186
|
+
} catch (err) {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
})(StorageFactory || (StorageFactory = {}));
|
|
191
|
+
export {
|
|
192
|
+
StorageFactory,
|
|
193
|
+
StorageType
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=StorageFactory.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/storage/StorageFactory.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["StorageType", "StorageFactory"]
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageBackendDisk.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/StorageBackendDisk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EAKL,OAAO,EAEP,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAmBlB,qBAAa,kBAAmB,SAAQ,OAAO;;IAG3C,SAAS,CAAC,aAAa,UAAS;gBAIpB,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ;IAMvC,IAAI,WAAW,YAEd;IAEK,UAAU;IA0DV,KAAK;IAKX,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAInB,KAAK;IAOX,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,iBAAiB,UAAQ;IAY/D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAWhC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D,GAAG,CAAC,CAAC,SAAS,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAkB7F,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;IAIlF,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IACjF,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoG/E,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAW5C,yEAAyE;IACnE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;IAKvB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;IAmB/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAKhC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;CA0BpC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../src/storage/fs/StorageBackendDisk.ts"],
|
|
4
4
|
"mappings": "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",
|
|
5
5
|
"names": ["value", "name"]
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageBackendJsonFile.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/StorageBackendJsonFile.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,oBAAoB,EAAgB,qBAAqB,EAAgB,MAAM,UAAU,CAAC;AAItH,qBAAa,sBAAuB,SAAQ,oBAAoB;IAWhD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVjC,2GAA2G;IAC3G,MAAM,CAAC,WAAW,8BAAe;IACjC,SAAS,gBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;IACF,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAa;gBAET,IAAI,EAAE,MAAM;WAInB,MAAM,CAAC,IAAI,EAAE,MAAM;IAMhC,UAAU;IAcnB,OAAO,CAAC,aAAa;IASZ,GAAG,CACR,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC3D,KAAK,CAAC,EAAE,qBAAqB,GAC9B,IAAI;IAKE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7C,KAAK,IAAI,IAAI;YAKR,MAAM;IAcL,KAAK;IAQpB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;CAGnB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../src/storage/fs/StorageBackendJsonFile.ts"],
|
|
4
4
|
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,UAAU,SAAS,sBAAsB,cAAqC,MAAM,cAAc;AAC3G,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAEnB,MAAM,+BAA+B,qBAAqB;AAAA,EAW7D,YAA6B,MAAc;AACvC,UAAM;AADmB;AAAA,EAE7B;AAAA;AAAA,EAXA,OAAO,cAAc,QAAQ;AAAA,EAC7B,YAAY,QAAQ,QAAQ;AAAA,EAEX,cAAc,KAAK;AAAA,IAAS;AAAA,IAAkB,uBAAuB;AAAA,IAAa,MAC/F,KAAK,OAAO;AAAA,EAChB;AAAA,EACQ,SAAS;AAAA,EACT;AAAA,EAMR,aAAsB,OAAO,MAAc;AACvC,UAAM,UAAU,IAAI,KAAK,IAAI;AAC7B,YAAQ,WAAW;AACnB,WAAO;AAAA,EACX;AAAA,EAES,aAAa;AAClB,QAAI,KAAK,YAAa,OAAM,IAAI,aAAa,8BAA8B;AAC3E,UAAM,WAAW;AACjB,QAAI;AACA,WAAK,QAAQ,KAAK,SAAS,aAAa,KAAK,MAAM,OAAO,CAAC;AAAA,IAC/D,SAAS,OAAY;AAEjB,UAAI,MAAM,SAAS,UAAU;AACzB,cAAM;AAAA,MACV;AAAA,IACJ;AACA,SAAK,gBAAgB;AAAA,EACzB;AAAA,EAEQ,gBAAgB;AACpB,QAAI,CAAC,KAAK,YAAY,WAAW;AAC7B,WAAK,YAAY,IAAI,QAAQ,aAAW;AACpC,aAAK,mBAAmB;AAAA,MAC5B,CAAC;AACD,WAAK,YAAY,MAAM;AAAA,IAC3B;AAAA,EACJ;AAAA,EAES,IACL,UACA,aACA,OACI;AACJ,UAAM,IAAI,UAAU,aAAa,KAAK;AACtC,SAAK,cAAc;AAAA,EACvB;AAAA,EAES,OAAO,UAAoB,KAAmB;AACnD,UAAM,OAAO,UAAU,GAAG;AAC1B,SAAK,cAAc;AAAA,EACvB;AAAA,EAES,QAAc;AACnB,UAAM,MAAM;AACZ,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,MAAc,SAAS;AACnB,QAAI,CAAC,KAAK,eAAe,KAAK,OAAQ;AACtC,QAAI,KAAK,YAAY,WAAW;AAC5B,WAAK,YAAY,KAAK;AAAA,IAC1B;AACA,QAAI;AACA,YAAM,UAAU,KAAK,MAAM,KAAK,OAAO,KAAK,KAAK,GAAG,OAAO;AAAA,IAC/D,UAAE;AACE,UAAI,KAAK,qBAAqB,QAAW;AACrC,aAAK,mBAAmB;AAAA,MAC5B;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,YAAY,KAAK;AACtB,UAAM,KAAK,OAAO;AAClB,UAAM,MAAM,MAAM;AAClB,SAAK,SAAS;AACd,SAAK,gBAAgB;AAAA,EACzB;AAAA,EAEQ,OAAO,QAAqB;AAChC,WAAO,OAAO,QAAQ,CAAC;AAAA,EAC3B;AAAA,EAEQ,SAAS,MAAmB;AAChC,WAAO,SAAS,IAAI;AAAA,EACxB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export * from "./
|
|
7
|
-
export * from "./
|
|
6
|
+
export * from "./fs/index.js";
|
|
7
|
+
export * from "./sqlite/index.js";
|
|
8
|
+
export * from "./StorageFactory.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export * from "./
|
|
7
|
-
export * from "./
|
|
6
|
+
export * from "./fs/index.js";
|
|
7
|
+
export * from "./sqlite/index.js";
|
|
8
|
+
export * from "./StorageFactory.js";
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type Bytes, type CloneableStorage, type SupportedStorageTypes, Storage } from "@matter/general";
|
|
7
|
+
import type { DatabaseCreator, DatabaseLike, SafeUint8Array } from "./SqliteTypes.js";
|
|
8
|
+
import { SqliteTransaction as Transaction } from "./SqliteTypes.js";
|
|
9
|
+
/**
|
|
10
|
+
* Type of Key-Value store table
|
|
11
|
+
*
|
|
12
|
+
* T means JSON or BLOB type
|
|
13
|
+
*/
|
|
14
|
+
type KVStoreType<T extends string | SafeUint8Array = string | SafeUint8Array> = {
|
|
15
|
+
context: string;
|
|
16
|
+
key: string;
|
|
17
|
+
value_type: T extends string ? "json" : "blob";
|
|
18
|
+
value_json: T extends string ? string : null;
|
|
19
|
+
value_blob: T extends SafeUint8Array ? SafeUint8Array : null;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* SQLite implementation of `StorageBackendDisk.ts`
|
|
23
|
+
*
|
|
24
|
+
* `DatabaseCreator` is need to use (sqlite).
|
|
25
|
+
*
|
|
26
|
+
* Supports `node:sqlite`, `bun:sqlite`. (maybe also `better-sqlite3` support)
|
|
27
|
+
*/
|
|
28
|
+
export declare class SqliteStorage extends Storage implements CloneableStorage {
|
|
29
|
+
#private;
|
|
30
|
+
static readonly memoryPath = ":memory:";
|
|
31
|
+
static readonly defaultTableName = "kvstore";
|
|
32
|
+
protected isInitialized: boolean;
|
|
33
|
+
protected readonly database: DatabaseLike;
|
|
34
|
+
protected readonly dbPath: string;
|
|
35
|
+
protected readonly tableName: string;
|
|
36
|
+
protected readonly clearOnInit: boolean;
|
|
37
|
+
protected readonly databaseCreator: DatabaseCreator;
|
|
38
|
+
/**
|
|
39
|
+
* Create sqlite-based disk
|
|
40
|
+
*
|
|
41
|
+
* @param args.databaseCreator database instance creator
|
|
42
|
+
* @param args.path Database path (treats `null` as `:memory:`, DO NOT input `:memory:` directly)
|
|
43
|
+
* @param args.clear Clear on init
|
|
44
|
+
* @param args.tableName table name
|
|
45
|
+
*/
|
|
46
|
+
constructor(args: {
|
|
47
|
+
databaseCreator: DatabaseCreator;
|
|
48
|
+
path: string | null;
|
|
49
|
+
tableName?: string;
|
|
50
|
+
clear?: boolean;
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Manual transaction control
|
|
54
|
+
*
|
|
55
|
+
* Use this for explicit transaction management across multiple operations.
|
|
56
|
+
* Internal methods like `set()` will automatically detect and use external transactions.
|
|
57
|
+
*
|
|
58
|
+
* TODO: Sync transaction to native matter.js API
|
|
59
|
+
*/
|
|
60
|
+
transaction(mode: Transaction): void;
|
|
61
|
+
protected withAnyTransaction<T>(callback: () => T): T;
|
|
62
|
+
get initialized(): boolean;
|
|
63
|
+
initialize(): Promise<void>;
|
|
64
|
+
clone(): Storage;
|
|
65
|
+
close(): void;
|
|
66
|
+
get<T extends SupportedStorageTypes>(contexts: string[], key: string): T | null | undefined;
|
|
67
|
+
protected getRawAll(): KVStoreType<string | SafeUint8Array>[];
|
|
68
|
+
set(contexts: string[], key: string, value: SupportedStorageTypes): void;
|
|
69
|
+
set(contexts: string[], values: Record<string, SupportedStorageTypes>): void;
|
|
70
|
+
/**
|
|
71
|
+
* Set [contexts, key] to value
|
|
72
|
+
* @param contexts Context
|
|
73
|
+
* @param key Key
|
|
74
|
+
* @param value Value
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
protected setValue(contexts: string[], key: string, value: string): void;
|
|
78
|
+
/**
|
|
79
|
+
* Set Raw data. (for copy)
|
|
80
|
+
*/
|
|
81
|
+
protected setRaw(rawData: KVStoreType[]): void;
|
|
82
|
+
delete(contexts: string[], key: string): void;
|
|
83
|
+
keys(contexts: string[]): string[];
|
|
84
|
+
values(contexts: string[]): Record<string, SupportedStorageTypes>;
|
|
85
|
+
/**
|
|
86
|
+
* Return sub contexts of context
|
|
87
|
+
* (search nested depth, return 1 depth of them)
|
|
88
|
+
* @param contexts context path
|
|
89
|
+
* @returns sub contexts
|
|
90
|
+
*/
|
|
91
|
+
contexts(contexts: string[]): string[];
|
|
92
|
+
/**
|
|
93
|
+
* Should be implement to platform specific class
|
|
94
|
+
* when `completely = true`
|
|
95
|
+
*
|
|
96
|
+
* basic cleanup query for here.
|
|
97
|
+
*/
|
|
98
|
+
clear(_completely?: boolean): Promise<void>;
|
|
99
|
+
clearAll(contexts: string[]): void;
|
|
100
|
+
has(contexts: string[], key: string): boolean;
|
|
101
|
+
openBlob(contexts: string[], key: string): Blob;
|
|
102
|
+
writeBlobFromStream(contexts: string[], key: string, stream: ReadableStream<Bytes>): Promise<void>;
|
|
103
|
+
}
|
|
104
|
+
export {};
|
|
105
|
+
//# sourceMappingURL=SqliteStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteStorage.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite/SqliteStorage.ts"],"names":[],"mappings":"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"}
|