@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.
- package/package.json +9 -9
- package/dist/cjs/behavior/index.d.ts +0 -7
- package/dist/cjs/behavior/index.d.ts.map +0 -1
- package/dist/cjs/behavior/index.js +0 -8
- package/dist/cjs/behavior/index.js.map +0 -6
- package/dist/cjs/behavior/instrumentation.d.ts +0 -11
- package/dist/cjs/behavior/instrumentation.d.ts.map +0 -1
- package/dist/cjs/behavior/instrumentation.js +0 -39
- package/dist/cjs/behavior/instrumentation.js.map +0 -6
- package/dist/cjs/behavior/register.d.ts +0 -7
- package/dist/cjs/behavior/register.d.ts.map +0 -1
- package/dist/cjs/behavior/register.js +0 -9
- package/dist/cjs/behavior/register.js.map +0 -6
- package/dist/cjs/config.d.ts +0 -98
- package/dist/cjs/config.d.ts.map +0 -1
- package/dist/cjs/config.js +0 -210
- package/dist/cjs/config.js.map +0 -6
- package/dist/cjs/crypto/NodeJsCrypto.d.ts +0 -13
- package/dist/cjs/crypto/NodeJsCrypto.d.ts.map +0 -1
- package/dist/cjs/crypto/NodeJsCrypto.js +0 -46
- package/dist/cjs/crypto/NodeJsCrypto.js.map +0 -6
- package/dist/cjs/crypto/index.d.ts +0 -7
- package/dist/cjs/crypto/index.d.ts.map +0 -1
- package/dist/cjs/crypto/index.js +0 -24
- package/dist/cjs/crypto/index.js.map +0 -6
- package/dist/cjs/environment/NodeJsEnvironment.d.ts +0 -77
- package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +0 -1
- package/dist/cjs/environment/NodeJsEnvironment.js +0 -254
- package/dist/cjs/environment/NodeJsEnvironment.js.map +0 -6
- package/dist/cjs/environment/ProcessManager.d.ts +0 -48
- package/dist/cjs/environment/ProcessManager.d.ts.map +0 -1
- package/dist/cjs/environment/ProcessManager.js +0 -129
- package/dist/cjs/environment/ProcessManager.js.map +0 -6
- package/dist/cjs/environment/index.d.ts +0 -9
- package/dist/cjs/environment/index.d.ts.map +0 -1
- package/dist/cjs/environment/index.js +0 -26
- package/dist/cjs/environment/index.js.map +0 -6
- package/dist/cjs/environment/register.d.ts +0 -7
- package/dist/cjs/environment/register.d.ts.map +0 -1
- package/dist/cjs/environment/register.js +0 -10
- package/dist/cjs/environment/register.js.map +0 -6
- package/dist/cjs/fs/NodeJsDirectory.d.ts +0 -24
- package/dist/cjs/fs/NodeJsDirectory.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsDirectory.js +0 -102
- package/dist/cjs/fs/NodeJsDirectory.js.map +0 -6
- package/dist/cjs/fs/NodeJsFile.d.ts +0 -22
- package/dist/cjs/fs/NodeJsFile.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsFile.js +0 -248
- package/dist/cjs/fs/NodeJsFile.js.map +0 -6
- package/dist/cjs/fs/NodeJsFilesystem.d.ts +0 -27
- package/dist/cjs/fs/NodeJsFilesystem.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsFilesystem.js +0 -83
- package/dist/cjs/fs/NodeJsFilesystem.js.map +0 -6
- package/dist/cjs/fs/fs-utils.d.ts +0 -16
- package/dist/cjs/fs/fs-utils.d.ts.map +0 -1
- package/dist/cjs/fs/fs-utils.js +0 -154
- package/dist/cjs/fs/fs-utils.js.map +0 -6
- package/dist/cjs/fs/index.d.ts +0 -7
- package/dist/cjs/fs/index.d.ts.map +0 -1
- package/dist/cjs/fs/index.js +0 -24
- package/dist/cjs/fs/index.js.map +0 -6
- package/dist/cjs/fs/lock-utils.d.ts +0 -12
- package/dist/cjs/fs/lock-utils.d.ts.map +0 -1
- package/dist/cjs/fs/lock-utils.js +0 -132
- package/dist/cjs/fs/lock-utils.js.map +0 -6
- package/dist/cjs/index.d.ts +0 -14
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -31
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/log/FileLogger.d.ts +0 -12
- package/dist/cjs/log/FileLogger.d.ts.map +0 -1
- package/dist/cjs/log/FileLogger.js +0 -46
- package/dist/cjs/log/FileLogger.js.map +0 -6
- package/dist/cjs/log/index.d.ts +0 -7
- package/dist/cjs/log/index.d.ts.map +0 -1
- package/dist/cjs/log/index.js +0 -24
- package/dist/cjs/log/index.js.map +0 -6
- package/dist/cjs/net/NodeJsHttpEndpoint.d.ts +0 -38
- package/dist/cjs/net/NodeJsHttpEndpoint.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsHttpEndpoint.js +0 -306
- package/dist/cjs/net/NodeJsHttpEndpoint.js.map +0 -6
- package/dist/cjs/net/NodeJsNetwork.d.ts +0 -37
- package/dist/cjs/net/NodeJsNetwork.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsNetwork.js +0 -199
- package/dist/cjs/net/NodeJsNetwork.js.map +0 -6
- package/dist/cjs/net/NodeJsTcpConnection.d.ts +0 -24
- package/dist/cjs/net/NodeJsTcpConnection.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsTcpConnection.js +0 -138
- package/dist/cjs/net/NodeJsTcpConnection.js.map +0 -6
- package/dist/cjs/net/NodeJsTcpListener.d.ts +0 -19
- package/dist/cjs/net/NodeJsTcpListener.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsTcpListener.js +0 -100
- package/dist/cjs/net/NodeJsTcpListener.js.map +0 -6
- package/dist/cjs/net/NodeJsUdpSocket.d.ts +0 -23
- package/dist/cjs/net/NodeJsUdpSocket.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsUdpSocket.js +0 -394
- package/dist/cjs/net/NodeJsUdpSocket.js.map +0 -6
- package/dist/cjs/net/WsAdapter.d.ts +0 -25
- package/dist/cjs/net/WsAdapter.d.ts.map +0 -1
- package/dist/cjs/net/WsAdapter.js +0 -33
- package/dist/cjs/net/WsAdapter.js.map +0 -6
- package/dist/cjs/net/index.d.ts +0 -12
- package/dist/cjs/net/index.d.ts.map +0 -1
- package/dist/cjs/net/index.js +0 -29
- package/dist/cjs/net/index.js.map +0 -6
- package/dist/cjs/package.json +0 -6
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts +0 -29
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js +0 -155
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/FileStorageDriver.d.ts +0 -44
- package/dist/cjs/storage/fs/FileStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/FileStorageDriver.js +0 -334
- package/dist/cjs/storage/fs/FileStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts +0 -30
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js +0 -195
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts +0 -27
- package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/JsonFileStorageDriver.js +0 -128
- package/dist/cjs/storage/fs/JsonFileStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts +0 -19
- package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/WalBlobStorageDriver.js +0 -44
- package/dist/cjs/storage/fs/WalBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/index.d.ts +0 -21
- package/dist/cjs/storage/fs/index.d.ts.map +0 -1
- package/dist/cjs/storage/fs/index.js +0 -40
- package/dist/cjs/storage/fs/index.js.map +0 -6
- package/dist/cjs/storage/index.d.ts +0 -8
- package/dist/cjs/storage/index.d.ts.map +0 -1
- package/dist/cjs/storage/index.js +0 -25
- package/dist/cjs/storage/index.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts +0 -48
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js +0 -217
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts +0 -23
- package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqlitePlatform.js +0 -56
- package/dist/cjs/storage/sqlite/SqlitePlatform.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts +0 -102
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.js +0 -424
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts +0 -19
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js +0 -41
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteTypes.d.ts +0 -67
- package/dist/cjs/storage/sqlite/SqliteTypes.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteTypes.js +0 -35
- package/dist/cjs/storage/sqlite/SqliteTypes.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteUtil.d.ts +0 -33
- package/dist/cjs/storage/sqlite/SqliteUtil.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteUtil.js +0 -64
- package/dist/cjs/storage/sqlite/SqliteUtil.js.map +0 -6
- package/dist/cjs/storage/sqlite/index.d.ts +0 -15
- package/dist/cjs/storage/sqlite/index.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/index.js +0 -37
- package/dist/cjs/storage/sqlite/index.js.map +0 -6
- package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts +0 -13
- package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/platform/BunSqlite.js +0 -61
- package/dist/cjs/storage/sqlite/platform/BunSqlite.js.map +0 -6
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts +0 -8
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js +0 -53
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
- package/dist/cjs/time/index.d.ts +0 -7
- package/dist/cjs/time/index.d.ts.map +0 -1
- package/dist/cjs/time/index.js +0 -8
- package/dist/cjs/time/index.js.map +0 -6
- package/dist/cjs/time/startup.d.ts +0 -7
- package/dist/cjs/time/startup.d.ts.map +0 -1
- package/dist/cjs/time/startup.js +0 -11
- package/dist/cjs/time/startup.js.map +0 -6
- package/dist/cjs/util/runtimeChecks.d.ts +0 -14
- package/dist/cjs/util/runtimeChecks.d.ts.map +0 -1
- package/dist/cjs/util/runtimeChecks.js +0 -45
- package/dist/cjs/util/runtimeChecks.js.map +0 -6
- package/dist/esm/behavior/index.js +0 -7
- package/dist/esm/behavior/index.js.map +0 -6
- package/dist/esm/behavior/instrumentation.js +0 -19
- package/dist/esm/behavior/instrumentation.js.map +0 -6
- package/dist/esm/behavior/register.js +0 -8
- package/dist/esm/behavior/register.js.map +0 -6
- package/dist/esm/config.js +0 -190
- package/dist/esm/config.js.map +0 -6
- package/dist/esm/crypto/NodeJsCrypto.js +0 -16
- package/dist/esm/crypto/NodeJsCrypto.js.map +0 -6
- package/dist/esm/crypto/index.js +0 -7
- package/dist/esm/crypto/index.js.map +0 -6
- package/dist/esm/environment/NodeJsEnvironment.js +0 -242
- package/dist/esm/environment/NodeJsEnvironment.js.map +0 -6
- package/dist/esm/environment/ProcessManager.js +0 -109
- package/dist/esm/environment/ProcessManager.js.map +0 -6
- package/dist/esm/environment/index.js +0 -9
- package/dist/esm/environment/index.js.map +0 -6
- package/dist/esm/environment/register.js +0 -9
- package/dist/esm/environment/register.js.map +0 -6
- package/dist/esm/fs/NodeJsDirectory.js +0 -82
- package/dist/esm/fs/NodeJsDirectory.js.map +0 -6
- package/dist/esm/fs/NodeJsFile.js +0 -232
- package/dist/esm/fs/NodeJsFile.js.map +0 -6
- package/dist/esm/fs/NodeJsFilesystem.js +0 -63
- package/dist/esm/fs/NodeJsFilesystem.js.map +0 -6
- package/dist/esm/fs/fs-utils.js +0 -137
- package/dist/esm/fs/fs-utils.js.map +0 -6
- package/dist/esm/fs/index.js +0 -7
- package/dist/esm/fs/index.js.map +0 -6
- package/dist/esm/fs/lock-utils.js +0 -112
- package/dist/esm/fs/lock-utils.js.map +0 -6
- package/dist/esm/index.js +0 -14
- package/dist/esm/index.js.map +0 -6
- package/dist/esm/log/FileLogger.js +0 -26
- package/dist/esm/log/FileLogger.js.map +0 -6
- package/dist/esm/log/index.js +0 -7
- package/dist/esm/log/index.js.map +0 -6
- package/dist/esm/net/NodeJsHttpEndpoint.js +0 -286
- package/dist/esm/net/NodeJsHttpEndpoint.js.map +0 -6
- package/dist/esm/net/NodeJsNetwork.js +0 -189
- package/dist/esm/net/NodeJsNetwork.js.map +0 -6
- package/dist/esm/net/NodeJsTcpConnection.js +0 -124
- package/dist/esm/net/NodeJsTcpConnection.js.map +0 -6
- package/dist/esm/net/NodeJsTcpListener.js +0 -86
- package/dist/esm/net/NodeJsTcpListener.js.map +0 -6
- package/dist/esm/net/NodeJsUdpSocket.js +0 -385
- package/dist/esm/net/NodeJsUdpSocket.js.map +0 -6
- package/dist/esm/net/WsAdapter.js +0 -13
- package/dist/esm/net/WsAdapter.js.map +0 -6
- package/dist/esm/net/index.js +0 -12
- package/dist/esm/net/index.js.map +0 -6
- package/dist/esm/package.json +0 -6
- package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js +0 -140
- package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/FileStorageDriver.js +0 -323
- package/dist/esm/storage/fs/FileStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js +0 -180
- package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/JsonFileStorageDriver.js +0 -116
- package/dist/esm/storage/fs/JsonFileStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/WalBlobStorageDriver.js +0 -24
- package/dist/esm/storage/fs/WalBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/index.js +0 -19
- package/dist/esm/storage/fs/index.js.map +0 -6
- package/dist/esm/storage/index.js +0 -8
- package/dist/esm/storage/index.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js +0 -197
- package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/sqlite/SqlitePlatform.js +0 -26
- package/dist/esm/storage/sqlite/SqlitePlatform.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteStorageDriver.js +0 -409
- package/dist/esm/storage/sqlite/SqliteStorageDriver.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteStorageDriverError.js +0 -21
- package/dist/esm/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteTypes.js +0 -15
- package/dist/esm/storage/sqlite/SqliteTypes.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteUtil.js +0 -44
- package/dist/esm/storage/sqlite/SqliteUtil.js.map +0 -6
- package/dist/esm/storage/sqlite/index.js +0 -17
- package/dist/esm/storage/sqlite/index.js.map +0 -6
- package/dist/esm/storage/sqlite/platform/BunSqlite.js +0 -41
- package/dist/esm/storage/sqlite/platform/BunSqlite.js.map +0 -6
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js +0 -33
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
- package/dist/esm/time/index.js +0 -7
- package/dist/esm/time/index.js.map +0 -6
- package/dist/esm/time/startup.js +0 -10
- package/dist/esm/time/startup.js.map +0 -6
- package/dist/esm/util/runtimeChecks.js +0 -25
- package/dist/esm/util/runtimeChecks.js.map +0 -6
|
@@ -1,195 +0,0 @@
|
|
|
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 FlatFileBlobStorageDriver_exports = {};
|
|
20
|
-
__export(FlatFileBlobStorageDriver_exports, {
|
|
21
|
-
FlatFileBlobStorageDriver: () => FlatFileBlobStorageDriver
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(FlatFileBlobStorageDriver_exports);
|
|
24
|
-
var import_general = require("@matter/general");
|
|
25
|
-
var import_node_fs = require("node:fs");
|
|
26
|
-
var import_promises = require("node:fs/promises");
|
|
27
|
-
var import_node_path = require("node:path");
|
|
28
|
-
/**
|
|
29
|
-
* @license
|
|
30
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
31
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
32
|
-
*/
|
|
33
|
-
class FlatFileBlobStorageDriver extends import_general.FilesystemBlobStorageDriver {
|
|
34
|
-
static id = "file";
|
|
35
|
-
static create(namespace, _descriptor) {
|
|
36
|
-
return new FlatFileBlobStorageDriver(namespace);
|
|
37
|
-
}
|
|
38
|
-
#path;
|
|
39
|
-
#initialized = false;
|
|
40
|
-
constructor(namespace) {
|
|
41
|
-
super(namespace);
|
|
42
|
-
this.#path = this.root.directory.path;
|
|
43
|
-
}
|
|
44
|
-
get initialized() {
|
|
45
|
-
return this.#initialized;
|
|
46
|
-
}
|
|
47
|
-
async initialize() {
|
|
48
|
-
await super.initialize();
|
|
49
|
-
await (0, import_promises.mkdir)(this.#path, { recursive: true });
|
|
50
|
-
this.#initialized = true;
|
|
51
|
-
}
|
|
52
|
-
async close() {
|
|
53
|
-
this.#initialized = false;
|
|
54
|
-
await super.close();
|
|
55
|
-
}
|
|
56
|
-
async openBlob(contexts, key) {
|
|
57
|
-
const filePath = (0, import_node_path.join)(this.#path, buildStorageKey(contexts, key));
|
|
58
|
-
if (!(0, import_node_fs.existsSync)(filePath)) {
|
|
59
|
-
return new Blob([]);
|
|
60
|
-
}
|
|
61
|
-
return await (0, import_node_fs.openAsBlob)(filePath);
|
|
62
|
-
}
|
|
63
|
-
// Stream chunks to disk via atomic write-to-tmp + rename
|
|
64
|
-
async writeBlobFromStream(contexts, key, stream) {
|
|
65
|
-
const fileName = buildStorageKey(contexts, key);
|
|
66
|
-
const filePath = (0, import_node_path.join)(this.#path, fileName);
|
|
67
|
-
const tmpPath = `${filePath}.tmp`;
|
|
68
|
-
const reader = stream.getReader();
|
|
69
|
-
const writer = (0, import_node_fs.createWriteStream)(tmpPath);
|
|
70
|
-
try {
|
|
71
|
-
while (true) {
|
|
72
|
-
const { done, value } = await reader.read();
|
|
73
|
-
if (done) break;
|
|
74
|
-
const chunk = import_general.Bytes.of(value);
|
|
75
|
-
if (!writer.write(chunk)) {
|
|
76
|
-
await new Promise((resolve) => writer.once("drain", resolve));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
writer.end();
|
|
80
|
-
await new Promise((resolve, reject) => {
|
|
81
|
-
writer.on("finish", resolve);
|
|
82
|
-
writer.on("error", reject);
|
|
83
|
-
});
|
|
84
|
-
await (0, import_promises.rename)(tmpPath, filePath);
|
|
85
|
-
} catch (error) {
|
|
86
|
-
writer.destroy();
|
|
87
|
-
await (0, import_promises.rm)(tmpPath, { force: true });
|
|
88
|
-
throw error;
|
|
89
|
-
} finally {
|
|
90
|
-
reader.releaseLock();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
async delete(contexts, key) {
|
|
94
|
-
const filePath = (0, import_node_path.join)(this.#path, buildStorageKey(contexts, key));
|
|
95
|
-
await (0, import_promises.rm)(filePath, { force: true });
|
|
96
|
-
}
|
|
97
|
-
async has(contexts, key) {
|
|
98
|
-
const filePath = (0, import_node_path.join)(this.#path, buildStorageKey(contexts, key));
|
|
99
|
-
return (0, import_node_fs.existsSync)(filePath);
|
|
100
|
-
}
|
|
101
|
-
// When contexts is empty, prefixDot is "" and startsWith("") is always true — every file
|
|
102
|
-
// matches. The caller (keys/contexts/clearAll) then applies its own filtering on the remainder.
|
|
103
|
-
async keys(contexts) {
|
|
104
|
-
const prefixDot = contextPrefixDot(contexts);
|
|
105
|
-
const result = new Array();
|
|
106
|
-
for (const { remainder } of await this.#listDecodedFiles(prefixDot)) {
|
|
107
|
-
if (remainder.length && !remainder.includes(".")) {
|
|
108
|
-
result.push(remainder);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
|
-
async contexts(contexts) {
|
|
114
|
-
const prefixDot = contextPrefixDot(contexts);
|
|
115
|
-
const found = /* @__PURE__ */ new Set();
|
|
116
|
-
for (const { remainder } of await this.#listDecodedFiles(prefixDot)) {
|
|
117
|
-
const dotIndex = remainder.indexOf(".");
|
|
118
|
-
if (dotIndex > 0) {
|
|
119
|
-
found.add(remainder.substring(0, dotIndex));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return [...found];
|
|
123
|
-
}
|
|
124
|
-
async clearAll(contexts) {
|
|
125
|
-
const prefix = getContextBaseKey(contexts);
|
|
126
|
-
const prefixDot = prefix.length ? `${prefix}.` : "";
|
|
127
|
-
for (const { file, decoded } of await this.#listDecodedFiles("")) {
|
|
128
|
-
if (decoded === prefix || decoded.startsWith(prefixDot)) {
|
|
129
|
-
await (0, import_promises.rm)((0, import_node_path.join)(this.#path, file), { force: true });
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* List all data files in the directory, decoded and filtered (excludes reserved files and
|
|
135
|
-
* `.tmp` atomicity artifacts). Returns raw filename + decoded name + remainder after prefix.
|
|
136
|
-
*/
|
|
137
|
-
async #listDecodedFiles(prefixDot) {
|
|
138
|
-
let files;
|
|
139
|
-
try {
|
|
140
|
-
files = await (0, import_promises.readdir)(this.#path);
|
|
141
|
-
} catch (e) {
|
|
142
|
-
if (e.code === "ENOENT") {
|
|
143
|
-
return [];
|
|
144
|
-
}
|
|
145
|
-
throw e;
|
|
146
|
-
}
|
|
147
|
-
const result = new Array();
|
|
148
|
-
for (const file of files) {
|
|
149
|
-
if (import_general.BaseStorageDriver.RESERVED_FILENAMES.has(file) || file.endsWith(".tmp")) {
|
|
150
|
-
continue;
|
|
151
|
-
}
|
|
152
|
-
let decoded;
|
|
153
|
-
try {
|
|
154
|
-
decoded = decodeURIComponent(file);
|
|
155
|
-
} catch {
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
if (!decoded.startsWith(prefixDot)) {
|
|
159
|
-
continue;
|
|
160
|
-
}
|
|
161
|
-
result.push({ file, decoded, remainder: decoded.substring(prefixDot.length) });
|
|
162
|
-
}
|
|
163
|
-
return result;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
function getContextBaseKey(contexts) {
|
|
167
|
-
for (const ctx of contexts) {
|
|
168
|
-
if (!ctx.length || ctx.includes(".")) {
|
|
169
|
-
throw new import_general.StorageError("Context must not contain empty segments or leading or trailing dots.");
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
return contexts.join(".");
|
|
173
|
-
}
|
|
174
|
-
function contextPrefixDot(contexts) {
|
|
175
|
-
const prefix = getContextBaseKey(contexts);
|
|
176
|
-
return prefix.length ? `${prefix}.` : "";
|
|
177
|
-
}
|
|
178
|
-
function buildStorageKey(contexts, key) {
|
|
179
|
-
if (!key.length) {
|
|
180
|
-
throw new import_general.StorageError("Key must not be an empty string.");
|
|
181
|
-
}
|
|
182
|
-
if (key.includes(".")) {
|
|
183
|
-
throw new import_general.StorageError(`Key "${key}" must not contain "." (would be misinterpreted as context separator)`);
|
|
184
|
-
}
|
|
185
|
-
if (key.endsWith(".tmp")) {
|
|
186
|
-
throw new import_general.StorageError(`Key "${key}" must not end with ".tmp" (reserved for atomic writes)`);
|
|
187
|
-
}
|
|
188
|
-
if (import_general.BaseStorageDriver.RESERVED_FILENAMES.has(key)) {
|
|
189
|
-
throw new import_general.StorageError(`Key "${key}" is a reserved filename`);
|
|
190
|
-
}
|
|
191
|
-
const contextKey = getContextBaseKey(contexts);
|
|
192
|
-
const rawName = contextKey.length ? `${contextKey}.${key}` : key;
|
|
193
|
-
return encodeURIComponent(rawName).replace(/[!'()]/g, escape).replace(/\*/g, "%2A");
|
|
194
|
-
}
|
|
195
|
-
//# sourceMappingURL=FlatFileBlobStorageDriver.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/storage/fs/FlatFileBlobStorageDriver.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { type DataNamespace, FilesystemStorageDriver, type StorageDriver, type SupportedStorageTypes } from "@matter/general";
|
|
7
|
-
export declare class JsonFileStorageDriver extends FilesystemStorageDriver {
|
|
8
|
-
#private;
|
|
9
|
-
static readonly id = "json";
|
|
10
|
-
/** We store changes after a value was set to the storage, but not more often than this setting (in ms). */
|
|
11
|
-
static commitDelay: import("@matter/general").Duration;
|
|
12
|
-
committed: Promise<void>;
|
|
13
|
-
constructor(namespaceOrPath?: DataNamespace | string);
|
|
14
|
-
static create(namespace: DataNamespace, _descriptor?: StorageDriver.Descriptor): Promise<JsonFileStorageDriver>;
|
|
15
|
-
get initialized(): boolean;
|
|
16
|
-
initialize(): Promise<void>;
|
|
17
|
-
get(contexts: string[], key: string): SupportedStorageTypes | undefined;
|
|
18
|
-
set(contexts: string[], values: Record<string, SupportedStorageTypes>): void;
|
|
19
|
-
set(contexts: string[], key: string, value: SupportedStorageTypes): void;
|
|
20
|
-
delete(contexts: string[], key: string): void;
|
|
21
|
-
keys(contexts: string[]): string[];
|
|
22
|
-
values(contexts: string[]): Record<string, SupportedStorageTypes>;
|
|
23
|
-
contexts(contexts: string[]): string[];
|
|
24
|
-
clearAll(contexts: string[]): void;
|
|
25
|
-
close(): Promise<void>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=JsonFileStorageDriver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsonFileStorageDriver.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/JsonFileStorageDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,aAAa,EAClB,uBAAuB,EAIvB,KAAK,aAAa,EAElB,KAAK,qBAAqB,EAG7B,MAAM,iBAAiB,CAAC;AAKzB,qBAAa,qBAAsB,SAAQ,uBAAuB;;IAC9D,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU;IAE5B,2GAA2G;IAC3G,MAAM,CAAC,WAAW,qCAAe;IACjC,SAAS,gBAAqB;IAQ9B,YAAY,eAAe,CAAC,EAAE,aAAa,GAAG,MAAM,EASnD;IAED,OAAa,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,aAAa,CAAC,UAAU,kCASnF;IAED,IAAa,WAAW,YAEvB;IAEc,UAAU,kBAcxB;IAWQ,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAE/E;IAEQ,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,IAAI,CAAC;IAC7E,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAUzE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAGrD;IAEQ,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE1C;IAEQ,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAEzE;IAEQ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE9C;IAEQ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAE1C;IAgBc,KAAK,kBAMnB;CACJ"}
|
|
@@ -1,128 +0,0 @@
|
|
|
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 JsonFileStorageDriver_exports = {};
|
|
20
|
-
__export(JsonFileStorageDriver_exports, {
|
|
21
|
-
JsonFileStorageDriver: () => JsonFileStorageDriver
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(JsonFileStorageDriver_exports);
|
|
24
|
-
var import_general = require("@matter/general");
|
|
25
|
-
var import_node_fs = require("node:fs");
|
|
26
|
-
var import_promises = require("node:fs/promises");
|
|
27
|
-
var import_node_path = require("node:path");
|
|
28
|
-
/**
|
|
29
|
-
* @license
|
|
30
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
31
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
32
|
-
*/
|
|
33
|
-
class JsonFileStorageDriver extends import_general.FilesystemStorageDriver {
|
|
34
|
-
static id = "json";
|
|
35
|
-
/** We store changes after a value was set to the storage, but not more often than this setting (in ms). */
|
|
36
|
-
static commitDelay = import_general.Seconds.one;
|
|
37
|
-
committed = Promise.resolve();
|
|
38
|
-
#commitTimer = import_general.Time.getTimer("Storage commit", JsonFileStorageDriver.commitDelay, () => this.#commit());
|
|
39
|
-
#closed = false;
|
|
40
|
-
#resolveCommitted;
|
|
41
|
-
#path;
|
|
42
|
-
#store;
|
|
43
|
-
constructor(namespaceOrPath) {
|
|
44
|
-
super(typeof namespaceOrPath === "string" || namespaceOrPath === void 0 ? void 0 : namespaceOrPath);
|
|
45
|
-
this.#path = typeof namespaceOrPath === "string" ? namespaceOrPath : namespaceOrPath !== void 0 ? (0, import_node_path.join)(this.root.directory.path, "storage.json") : "";
|
|
46
|
-
this.#store = new import_general.MemoryStorageDriver();
|
|
47
|
-
}
|
|
48
|
-
static async create(namespace, _descriptor) {
|
|
49
|
-
const storage = new JsonFileStorageDriver(namespace);
|
|
50
|
-
try {
|
|
51
|
-
await storage.initialize();
|
|
52
|
-
} catch (error) {
|
|
53
|
-
await storage.close().catch(() => {
|
|
54
|
-
});
|
|
55
|
-
throw error;
|
|
56
|
-
}
|
|
57
|
-
return storage;
|
|
58
|
-
}
|
|
59
|
-
get initialized() {
|
|
60
|
-
return this.#store.initialized;
|
|
61
|
-
}
|
|
62
|
-
async initialize() {
|
|
63
|
-
if (this.initialized) throw new import_general.StorageError("Storage already initialized!");
|
|
64
|
-
await super.initialize();
|
|
65
|
-
let data = {};
|
|
66
|
-
try {
|
|
67
|
-
data = (0, import_general.fromJson)((0, import_node_fs.readFileSync)(this.#path, "utf-8"));
|
|
68
|
-
} catch (error) {
|
|
69
|
-
if (error.code !== "ENOENT") {
|
|
70
|
-
throw error;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
this.#store = new import_general.MemoryStorageDriver(data);
|
|
74
|
-
this.#store.initialize();
|
|
75
|
-
}
|
|
76
|
-
#triggerCommit() {
|
|
77
|
-
if (!this.#commitTimer.isRunning) {
|
|
78
|
-
this.committed = new Promise((resolve) => {
|
|
79
|
-
this.#resolveCommitted = resolve;
|
|
80
|
-
});
|
|
81
|
-
this.#commitTimer.start();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
get(contexts, key) {
|
|
85
|
-
return this.#store.get(contexts, key);
|
|
86
|
-
}
|
|
87
|
-
set(contexts, keyOrValues, value) {
|
|
88
|
-
this.#store.set(contexts, keyOrValues, value);
|
|
89
|
-
this.#triggerCommit();
|
|
90
|
-
}
|
|
91
|
-
delete(contexts, key) {
|
|
92
|
-
this.#store.delete(contexts, key);
|
|
93
|
-
this.#triggerCommit();
|
|
94
|
-
}
|
|
95
|
-
keys(contexts) {
|
|
96
|
-
return this.#store.keys(contexts);
|
|
97
|
-
}
|
|
98
|
-
values(contexts) {
|
|
99
|
-
return this.#store.values(contexts);
|
|
100
|
-
}
|
|
101
|
-
contexts(contexts) {
|
|
102
|
-
return this.#store.contexts(contexts);
|
|
103
|
-
}
|
|
104
|
-
clearAll(contexts) {
|
|
105
|
-
this.#store.clearAll(contexts);
|
|
106
|
-
}
|
|
107
|
-
async #commit() {
|
|
108
|
-
if (!this.initialized || this.#closed) return;
|
|
109
|
-
if (this.#commitTimer.isRunning) {
|
|
110
|
-
this.#commitTimer.stop();
|
|
111
|
-
}
|
|
112
|
-
try {
|
|
113
|
-
await (0, import_promises.writeFile)(this.#path, (0, import_general.toJson)(this.#store.data, 1), "utf-8");
|
|
114
|
-
} finally {
|
|
115
|
-
if (this.#resolveCommitted !== void 0) {
|
|
116
|
-
this.#resolveCommitted();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
async close() {
|
|
121
|
-
this.#commitTimer.stop();
|
|
122
|
-
await this.#commit();
|
|
123
|
-
await this.#store.close();
|
|
124
|
-
this.#closed = true;
|
|
125
|
-
await super.close();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=JsonFileStorageDriver.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/storage/fs/JsonFileStorageDriver.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { type DataNamespace } from "@matter/general";
|
|
7
|
-
import { DirectoryBlobStorageDriver } from "./DirectoryBlobStorageDriver.js";
|
|
8
|
-
/**
|
|
9
|
-
* Blob driver for the legacy WAL blob layout where blobs lived in a `blobs/` subdirectory.
|
|
10
|
-
* @deprecated Migrate to "dir" blob driver.
|
|
11
|
-
*/
|
|
12
|
-
export declare class WalBlobStorageDriver extends DirectoryBlobStorageDriver {
|
|
13
|
-
static readonly id = "wal";
|
|
14
|
-
static create(namespace: DataNamespace, _descriptor: {
|
|
15
|
-
kind: string;
|
|
16
|
-
}): WalBlobStorageDriver;
|
|
17
|
-
private constructor();
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=WalBlobStorageDriver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WalBlobStorageDriver.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/WalBlobStorageDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAqC,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,0BAA0B;IAChE,gBAAyB,EAAE,SAAS;IAEpC,OAAgB,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAOpG;IAED,OAAO,eAEN;CACJ"}
|
|
@@ -1,44 +0,0 @@
|
|
|
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 WalBlobStorageDriver_exports = {};
|
|
20
|
-
__export(WalBlobStorageDriver_exports, {
|
|
21
|
-
WalBlobStorageDriver: () => WalBlobStorageDriver
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(WalBlobStorageDriver_exports);
|
|
24
|
-
var import_general = require("@matter/general");
|
|
25
|
-
var import_DirectoryBlobStorageDriver = require("./DirectoryBlobStorageDriver.js");
|
|
26
|
-
/**
|
|
27
|
-
* @license
|
|
28
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
29
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
30
|
-
*/
|
|
31
|
-
class WalBlobStorageDriver extends import_DirectoryBlobStorageDriver.DirectoryBlobStorageDriver {
|
|
32
|
-
static id = "wal";
|
|
33
|
-
static create(namespace, _descriptor) {
|
|
34
|
-
if (!(namespace instanceof import_general.DatafileRoot)) {
|
|
35
|
-
throw new import_general.ImplementationError("WalBlobStorageDriver requires a DatafileRoot namespace");
|
|
36
|
-
}
|
|
37
|
-
const blobsRoot = new import_general.DatafileRoot(namespace.directory.directory("blobs"));
|
|
38
|
-
return new WalBlobStorageDriver(blobsRoot);
|
|
39
|
-
}
|
|
40
|
-
constructor(namespace) {
|
|
41
|
-
super(namespace);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=WalBlobStorageDriver.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/storage/fs/WalBlobStorageDriver.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAsE;AACtE,wCAA2C;AAP3C;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,6BAA6B,6DAA2B;AAAA,EACjE,OAAyB,KAAK;AAAA,EAE9B,OAAgB,OAAO,WAA0B,aAAqD;AAClG,QAAI,EAAE,qBAAqB,8BAAe;AACtC,YAAM,IAAI,mCAAoB,wDAAwD;AAAA,IAC1F;AAEA,UAAM,YAAY,IAAI,4BAAa,UAAU,UAAU,UAAU,OAAO,CAAC;AACzE,WAAO,IAAI,qBAAqB,SAAS;AAAA,EAC7C;AAAA,EAEQ,YAAY,WAA0B;AAC1C,UAAM,SAAS;AAAA,EACnB;AACJ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export * from "./DirectoryBlobStorageDriver.js";
|
|
7
|
-
export * from "./FileStorageDriver.js";
|
|
8
|
-
export * from "./FlatFileBlobStorageDriver.js";
|
|
9
|
-
export * from "./JsonFileStorageDriver.js";
|
|
10
|
-
export * from "./WalBlobStorageDriver.js";
|
|
11
|
-
import { FileStorageDriver } from "./FileStorageDriver.js";
|
|
12
|
-
import { JsonFileStorageDriver } from "./JsonFileStorageDriver.js";
|
|
13
|
-
/** @deprecated Use {@link FileStorageDriver} */
|
|
14
|
-
export declare const StorageBackendDisk: typeof FileStorageDriver;
|
|
15
|
-
/** @deprecated Use {@link FileStorageDriver} */
|
|
16
|
-
export type StorageBackendDisk = FileStorageDriver;
|
|
17
|
-
/** @deprecated Use {@link JsonFileStorageDriver} */
|
|
18
|
-
export declare const StorageBackendJsonFile: typeof JsonFileStorageDriver;
|
|
19
|
-
/** @deprecated Use {@link JsonFileStorageDriver} */
|
|
20
|
-
export type StorageBackendJsonFile = JsonFileStorageDriver;
|
|
21
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,0BAAoB,CAAC;AACpD,gDAAgD;AAChD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEnD,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,8BAAwB,CAAC;AAC5D,oDAAoD;AACpD,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
var fs_exports = {};
|
|
21
|
-
__export(fs_exports, {
|
|
22
|
-
StorageBackendDisk: () => StorageBackendDisk,
|
|
23
|
-
StorageBackendJsonFile: () => StorageBackendJsonFile
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(fs_exports);
|
|
26
|
-
__reExport(fs_exports, require("./DirectoryBlobStorageDriver.js"), module.exports);
|
|
27
|
-
__reExport(fs_exports, require("./FileStorageDriver.js"), module.exports);
|
|
28
|
-
__reExport(fs_exports, require("./FlatFileBlobStorageDriver.js"), module.exports);
|
|
29
|
-
__reExport(fs_exports, require("./JsonFileStorageDriver.js"), module.exports);
|
|
30
|
-
__reExport(fs_exports, require("./WalBlobStorageDriver.js"), module.exports);
|
|
31
|
-
var import_FileStorageDriver = require("./FileStorageDriver.js");
|
|
32
|
-
var import_JsonFileStorageDriver = require("./JsonFileStorageDriver.js");
|
|
33
|
-
/**
|
|
34
|
-
* @license
|
|
35
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
36
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
37
|
-
*/
|
|
38
|
-
const StorageBackendDisk = import_FileStorageDriver.FileStorageDriver;
|
|
39
|
-
const StorageBackendJsonFile = import_JsonFileStorageDriver.JsonFileStorageDriver;
|
|
40
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/storage/fs/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uBAAc,4CANd;AAOA,uBAAc,mCAPd;AAQA,uBAAc,2CARd;AASA,uBAAc,uCATd;AAUA,uBAAc,sCAVd;AAWA,+BAAkC;AAClC,mCAAsC;AAZtC;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,qBAAqB;AAK3B,MAAM,yBAAyB;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
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 storage_exports = {};
|
|
17
|
-
module.exports = __toCommonJS(storage_exports);
|
|
18
|
-
__reExport(storage_exports, require("./fs/index.js"), module.exports);
|
|
19
|
-
__reExport(storage_exports, require("./sqlite/index.js"), module.exports);
|
|
20
|
-
/**
|
|
21
|
-
* @license
|
|
22
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
23
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
24
|
-
*/
|
|
25
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { type Bytes, type DataNamespace, FilesystemBlobStorageDriver } from "@matter/general";
|
|
7
|
-
import type { DatabaseCreator } from "./SqliteTypes.js";
|
|
8
|
-
/**
|
|
9
|
-
* SQLite implementation of {@link BlobStorageDriver}.
|
|
10
|
-
*
|
|
11
|
-
* Uses a dedicated `blobstore` table (separate from the KV `kvstore` table)
|
|
12
|
-
* but can share the same `.db` file.
|
|
13
|
-
*/
|
|
14
|
-
export declare class SqliteBlobStorageDriver extends FilesystemBlobStorageDriver {
|
|
15
|
-
#private;
|
|
16
|
-
static readonly id = "sqlite";
|
|
17
|
-
static readonly memoryPath = ":memory:";
|
|
18
|
-
static readonly defaultTableName = "blobstore";
|
|
19
|
-
/**
|
|
20
|
-
* Create a SqliteBlobStorageDriver for the given namespace using the platform-appropriate database.
|
|
21
|
-
*/
|
|
22
|
-
static create(namespace: DataNamespace): Promise<SqliteBlobStorageDriver>;
|
|
23
|
-
/**
|
|
24
|
-
* Create sqlite-based blob storage.
|
|
25
|
-
*
|
|
26
|
-
* @param args.databaseCreator Optional database instance creator. If omitted, resolved automatically during
|
|
27
|
-
* {@link initialize} via platform detection.
|
|
28
|
-
* @param args.namespaceOrPath DataNamespace (derives path from root directory), string (direct path), or
|
|
29
|
-
* null/undefined for in-memory database
|
|
30
|
-
* @param args.tableName table name
|
|
31
|
-
*/
|
|
32
|
-
constructor(args?: {
|
|
33
|
-
databaseCreator?: DatabaseCreator;
|
|
34
|
-
namespaceOrPath?: DataNamespace | string | null;
|
|
35
|
-
tableName?: string;
|
|
36
|
-
});
|
|
37
|
-
get initialized(): boolean;
|
|
38
|
-
initialize(): Promise<void>;
|
|
39
|
-
close(): Promise<void>;
|
|
40
|
-
openBlob(contexts: string[], key: string): Blob;
|
|
41
|
-
writeBlobFromStream(contexts: string[], key: string, stream: ReadableStream<Bytes>): Promise<void>;
|
|
42
|
-
delete(contexts: string[], key: string): void;
|
|
43
|
-
has(contexts: string[], key: string): boolean;
|
|
44
|
-
keys(contexts: string[]): string[];
|
|
45
|
-
contexts(contexts: string[]): string[];
|
|
46
|
-
clearAll(contexts: string[]): void;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=SqliteBlobStorageDriver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteBlobStorageDriver.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite/SqliteBlobStorageDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAgB,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAK5G,OAAO,KAAK,EAAE,eAAe,EAA6C,MAAM,kBAAkB,CAAC;AAYnG;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,2BAA2B;;IACpE,MAAM,CAAC,QAAQ,CAAC,EAAE,YAAY;IAC9B,gBAAuB,UAAU,cAAc;IAC/C,gBAAuB,gBAAgB,eAAe;IAEtD;;OAEG;IACH,OAAa,MAAM,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAI9E;IAkBD;;;;;;;;OAQG;IACH,YAAY,IAAI,CAAC,EAAE;QACf,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,eAAe,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAAC;QAChD,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,EAiBA;IAmED,IAAa,WAAW,YAEvB;IAEc,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CASzC;IAEc,KAAK,kBAInB;IAEQ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAMvD;IAGc,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAehH;IAEQ,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,QAE9C;IAEQ,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,WAG3C;IAEQ,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAQ/B;IAEQ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAiC9C;IAEQ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAUnC;CACJ"}
|