@matter/react-native 0.17.0-alpha.0-20260312-920b3a4ec → 0.17.0-alpha.0-20260315-65cdcd993
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/environment/ReactNativeEnvironment.d.ts.map +1 -1
- package/dist/cjs/environment/ReactNativeEnvironment.js +3 -5
- package/dist/cjs/environment/ReactNativeEnvironment.js.map +1 -1
- package/dist/cjs/storage/ReactNativeWebStorageDriver.d.ts +23 -0
- package/dist/cjs/storage/ReactNativeWebStorageDriver.d.ts.map +1 -0
- package/dist/cjs/storage/ReactNativeWebStorageDriver.js +40 -0
- package/dist/cjs/storage/ReactNativeWebStorageDriver.js.map +6 -0
- package/dist/cjs/storage/ReactNativeWebStorageDriverV2.d.ts +22 -0
- package/dist/cjs/storage/ReactNativeWebStorageDriverV2.d.ts.map +1 -0
- package/dist/cjs/storage/ReactNativeWebStorageDriverV2.js +106 -0
- package/dist/cjs/storage/ReactNativeWebStorageDriverV2.js.map +6 -0
- package/dist/cjs/storage/index.d.ts +8 -2
- package/dist/cjs/storage/index.d.ts.map +1 -1
- package/dist/cjs/storage/index.js +14 -2
- package/dist/cjs/storage/index.js.map +1 -1
- package/dist/esm/environment/ReactNativeEnvironment.d.ts.map +1 -1
- package/dist/esm/environment/ReactNativeEnvironment.js +3 -5
- package/dist/esm/environment/ReactNativeEnvironment.js.map +1 -1
- package/dist/esm/storage/ReactNativeWebStorageDriver.d.ts +23 -0
- package/dist/esm/storage/ReactNativeWebStorageDriver.d.ts.map +1 -0
- package/dist/esm/storage/ReactNativeWebStorageDriver.js +20 -0
- package/dist/esm/storage/ReactNativeWebStorageDriver.js.map +6 -0
- package/dist/esm/storage/ReactNativeWebStorageDriverV2.d.ts +22 -0
- package/dist/esm/storage/ReactNativeWebStorageDriverV2.d.ts.map +1 -0
- package/dist/esm/storage/ReactNativeWebStorageDriverV2.js +76 -0
- package/dist/esm/storage/ReactNativeWebStorageDriverV2.js.map +6 -0
- package/dist/esm/storage/index.d.ts +8 -2
- package/dist/esm/storage/index.d.ts.map +1 -1
- package/dist/esm/storage/index.js +10 -2
- package/dist/esm/storage/index.js.map +1 -1
- package/package.json +5 -5
- package/src/environment/ReactNativeEnvironment.ts +3 -7
- package/src/storage/ReactNativeWebStorageDriver.ts +31 -0
- package/src/storage/ReactNativeWebStorageDriverV2.ts +97 -0
- package/src/storage/index.ts +10 -2
- package/dist/cjs/storage/StorageBackendAsyncStorage.d.ts +0 -41
- package/dist/cjs/storage/StorageBackendAsyncStorage.d.ts.map +0 -1
- package/dist/cjs/storage/StorageBackendAsyncStorage.js +0 -147
- package/dist/cjs/storage/StorageBackendAsyncStorage.js.map +0 -6
- package/dist/cjs/storage/StorageBackendAsyncStorageV2.d.ts +0 -40
- package/dist/cjs/storage/StorageBackendAsyncStorageV2.d.ts.map +0 -1
- package/dist/cjs/storage/StorageBackendAsyncStorageV2.js +0 -169
- package/dist/cjs/storage/StorageBackendAsyncStorageV2.js.map +0 -6
- package/dist/esm/storage/StorageBackendAsyncStorage.d.ts +0 -41
- package/dist/esm/storage/StorageBackendAsyncStorage.d.ts.map +0 -1
- package/dist/esm/storage/StorageBackendAsyncStorage.js +0 -127
- package/dist/esm/storage/StorageBackendAsyncStorage.js.map +0 -6
- package/dist/esm/storage/StorageBackendAsyncStorageV2.d.ts +0 -40
- package/dist/esm/storage/StorageBackendAsyncStorageV2.d.ts.map +0 -1
- package/dist/esm/storage/StorageBackendAsyncStorageV2.js +0 -139
- package/dist/esm/storage/StorageBackendAsyncStorageV2.js.map +0 -6
- package/src/storage/StorageBackendAsyncStorage.ts +0 -164
- package/src/storage/StorageBackendAsyncStorageV2.ts +0 -173
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKxF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBASrC;
|
|
1
|
+
{"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKxF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBASrC;AAuBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;EAMhD"}
|
|
@@ -26,7 +26,7 @@ var import_ReactNativeBle = require("#ble/ReactNativeBle.js");
|
|
|
26
26
|
var import_general = require("@matter/general");
|
|
27
27
|
var import_protocol = require("@matter/protocol");
|
|
28
28
|
var import_NetworkReactNative = require("../net/NetworkReactNative.js");
|
|
29
|
-
var
|
|
29
|
+
var import_ReactNativeWebStorageDriver = require("../storage/ReactNativeWebStorageDriver.js");
|
|
30
30
|
/**
|
|
31
31
|
* @license
|
|
32
32
|
* Copyright 2022-2026 Matter.js Authors
|
|
@@ -46,10 +46,8 @@ function loadVariables(env) {
|
|
|
46
46
|
}
|
|
47
47
|
function configureStorage(env) {
|
|
48
48
|
const service = env.get(import_general.StorageService);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
52
|
-
service.factory = (namespace) => new import_StorageBackendAsyncStorage.StorageBackendAsyncStorage(namespace);
|
|
49
|
+
service.registerDriver(import_ReactNativeWebStorageDriver.ReactNativeWebStorageDriver);
|
|
50
|
+
service.defaultDriver = "async-storage";
|
|
53
51
|
}
|
|
54
52
|
function configureNetwork(env) {
|
|
55
53
|
env.set(import_general.Network, new import_NetworkReactNative.NetworkReactNative());
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/environment/ReactNativeEnvironment.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,4BAA+B;AAC/B,qBAAsE;AACtE,sBAAoB;AACpB,gCAAmC;AACnC,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,4BAA+B;AAC/B,qBAAsE;AACtE,sBAAoB;AACpB,gCAAmC;AACnC,yCAA4C;AAV5C;AAAA;AAAA;AAAA;AAAA;AAiBO,SAAS,yBAAyB;AACrC,QAAM,MAAM,IAAI,2BAAY,SAAS;AAErC,gBAAc,GAAG;AACjB,mBAAiB,GAAG;AACpB,mBAAiB,GAAG;AACpB,eAAa,GAAG;AAEhB,SAAO;AACX;AAEA,SAAS,cAAc,KAAkB;AACrC,QAAM,OAAO,IAAI;AAGjB,OAAK,eAAe,YAAY,IAAI,CAAC;AACzC;AAEA,SAAS,iBAAiB,KAAkB;AACxC,QAAM,UAAU,IAAI,IAAI,6BAAc;AACtC,UAAQ,eAAe,8DAA2B;AAClD,UAAQ,gBAAgB;AAC5B;AAEA,SAAS,iBAAiB,KAAkB;AACxC,MAAI,IAAI,wBAAS,IAAI,6CAAmB,CAAC;AAC7C;AAEA,SAAS,aAAa,KAAkB;AACpC,MAAI,IAAI,qBAAK,IAAI,qCAAe,CAAC;AACrC;AAEO,SAAS,YAAY,MAAuB;AAC/C,QAAM,UAAU,KAAK,IAAI,eAAe,SAAS;AAEjD,SAAO;AAAA,IACH,aAAa;AAAA,EACjB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { WebStorageDriver, type DataNamespace } from "@matter/general";
|
|
7
|
+
/**
|
|
8
|
+
* AsyncStorage backend based on AsyncStorage v3 scoped instances.
|
|
9
|
+
*
|
|
10
|
+
* This backend uses `createAsyncStorage(...)`, so each backend instance stores
|
|
11
|
+
* data in its own scoped storage area. It is the default backend for
|
|
12
|
+
* `@matter/react-native` with async-storage `3.x`.
|
|
13
|
+
*
|
|
14
|
+
* For migration scenarios that need legacy v2-compatible singleton storage
|
|
15
|
+
* behavior, use {@link ReactNativeWebStorageDriverV2} from
|
|
16
|
+
* `@matter/react-native/storage` instead.
|
|
17
|
+
*/
|
|
18
|
+
export declare class ReactNativeWebStorageDriver extends WebStorageDriver {
|
|
19
|
+
static readonly id = "react-native-web";
|
|
20
|
+
static create(namespace: DataNamespace): ReactNativeWebStorageDriver;
|
|
21
|
+
constructor(namespace?: string);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ReactNativeWebStorageDriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactNativeWebStorageDriver.d.ts","sourceRoot":"","sources":["../../../src/storage/ReactNativeWebStorageDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGvE;;;;;;;;;;GAUG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC7D,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB;IAExC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa;gBAI1B,SAAS,CAAC,EAAE,MAAM;CAGjC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 ReactNativeWebStorageDriver_exports = {};
|
|
20
|
+
__export(ReactNativeWebStorageDriver_exports, {
|
|
21
|
+
ReactNativeWebStorageDriver: () => ReactNativeWebStorageDriver
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ReactNativeWebStorageDriver_exports);
|
|
24
|
+
var import_general = require("@matter/general");
|
|
25
|
+
var import_async_storage = require("@react-native-async-storage/async-storage");
|
|
26
|
+
/**
|
|
27
|
+
* @license
|
|
28
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
29
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
30
|
+
*/
|
|
31
|
+
class ReactNativeWebStorageDriver extends import_general.WebStorageDriver {
|
|
32
|
+
static id = "react-native-web";
|
|
33
|
+
static create(namespace) {
|
|
34
|
+
return new ReactNativeWebStorageDriver(namespace.namespace);
|
|
35
|
+
}
|
|
36
|
+
constructor(namespace) {
|
|
37
|
+
super((0, import_async_storage.createAsyncStorage)(namespace ?? "matterjs"));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=ReactNativeWebStorageDriver.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/storage/ReactNativeWebStorageDriver.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqD;AACrD,2BAAmC;AAPnC;AAAA;AAAA;AAAA;AAAA;AAoBO,MAAM,oCAAoC,gCAAiB;AAAA,EAC9D,OAAgB,KAAK;AAAA,EAErB,OAAO,OAAO,WAA0B;AACpC,WAAO,IAAI,4BAA4B,UAAU,SAAS;AAAA,EAC9D;AAAA,EAEA,YAAY,WAAoB;AAC5B,cAAM,yCAAmB,aAAa,UAAU,CAAC;AAAA,EACrD;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { WebStorageDriver, type DataNamespace } from "@matter/general";
|
|
7
|
+
/**
|
|
8
|
+
* V2-compatible AsyncStorage backend using the package default export.
|
|
9
|
+
*
|
|
10
|
+
* This backend exists as migration path when apps need to keep using the legacy
|
|
11
|
+
* singleton storage behavior before switching to the v3 scoped storage backend.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ReactNativeWebStorageDriverV2 extends WebStorageDriver {
|
|
14
|
+
static readonly id = "react-native-web-v2";
|
|
15
|
+
static create(namespace: DataNamespace): ReactNativeWebStorageDriverV2;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new instance of the v2-compatible AsyncStorage backend. If a
|
|
18
|
+
* namespace is provided, keys are prefixed with "<namespace>#".
|
|
19
|
+
*/
|
|
20
|
+
constructor(namespace?: string);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ReactNativeWebStorageDriverV2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactNativeWebStorageDriverV2.d.ts","sourceRoot":"","sources":["../../../src/storage/ReactNativeWebStorageDriverV2.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AAGhG;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IAC/D,MAAM,CAAC,QAAQ,CAAC,EAAE,yBAAyB;IAE3C,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa;IAItC;;;OAGG;gBACS,SAAS,CAAC,EAAE,MAAM;CAGjC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var ReactNativeWebStorageDriverV2_exports = {};
|
|
30
|
+
__export(ReactNativeWebStorageDriverV2_exports, {
|
|
31
|
+
ReactNativeWebStorageDriverV2: () => ReactNativeWebStorageDriverV2
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(ReactNativeWebStorageDriverV2_exports);
|
|
34
|
+
var import_general = require("@matter/general");
|
|
35
|
+
var import_async_storage = __toESM(require("@react-native-async-storage/async-storage"), 1);
|
|
36
|
+
/**
|
|
37
|
+
* @license
|
|
38
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
39
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
40
|
+
*/
|
|
41
|
+
class ReactNativeWebStorageDriverV2 extends import_general.WebStorageDriver {
|
|
42
|
+
static id = "react-native-web-v2";
|
|
43
|
+
static create(namespace) {
|
|
44
|
+
return new ReactNativeWebStorageDriverV2(namespace.namespace);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new instance of the v2-compatible AsyncStorage backend. If a
|
|
48
|
+
* namespace is provided, keys are prefixed with "<namespace>#".
|
|
49
|
+
*/
|
|
50
|
+
constructor(namespace) {
|
|
51
|
+
super(createV2Provider(namespace ?? ""));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function createV2Provider(namespace) {
|
|
55
|
+
const prefix = namespace.length ? `${namespace}#` : "";
|
|
56
|
+
function prefixKey(key) {
|
|
57
|
+
return `${prefix}${key}`;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
getItem(key) {
|
|
61
|
+
return import_async_storage.default.getItem(prefixKey(key));
|
|
62
|
+
},
|
|
63
|
+
setItem(key, value) {
|
|
64
|
+
return import_async_storage.default.setItem(prefixKey(key), value);
|
|
65
|
+
},
|
|
66
|
+
removeItem(key) {
|
|
67
|
+
return import_async_storage.default.removeItem(prefixKey(key));
|
|
68
|
+
},
|
|
69
|
+
async getAllKeys() {
|
|
70
|
+
const allKeys = await import_async_storage.default.getAllKeys();
|
|
71
|
+
if (!prefix.length) return allKeys;
|
|
72
|
+
return allKeys.filter((k) => k.startsWith(prefix)).map((k) => k.substring(prefix.length));
|
|
73
|
+
},
|
|
74
|
+
async getMany(keys) {
|
|
75
|
+
const prefixed = keys.map(prefixKey);
|
|
76
|
+
const raw = await import_async_storage.default.getMany(prefixed);
|
|
77
|
+
const result = {};
|
|
78
|
+
for (const [i, key] of keys.entries()) {
|
|
79
|
+
result[key] = raw[prefixed[i]];
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
},
|
|
83
|
+
async setMany(entries) {
|
|
84
|
+
const prefixed = {};
|
|
85
|
+
for (const [key, value] of Object.entries(entries)) {
|
|
86
|
+
prefixed[prefixKey(key)] = value;
|
|
87
|
+
}
|
|
88
|
+
await import_async_storage.default.setMany(prefixed);
|
|
89
|
+
},
|
|
90
|
+
async removeMany(keys) {
|
|
91
|
+
await import_async_storage.default.removeMany(keys.map(prefixKey));
|
|
92
|
+
},
|
|
93
|
+
async clear() {
|
|
94
|
+
if (!prefix.length) {
|
|
95
|
+
await import_async_storage.default.clear();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const allKeys = await import_async_storage.default.getAllKeys();
|
|
99
|
+
const keysToDelete = allKeys.filter((k) => k.startsWith(prefix));
|
|
100
|
+
if (keysToDelete.length) {
|
|
101
|
+
await import_async_storage.default.removeMany(keysToDelete);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=ReactNativeWebStorageDriverV2.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/storage/ReactNativeWebStorageDriverV2.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA8E;AAC9E,2BAAyB;AAPzB;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,sCAAsC,gCAAiB;AAAA,EAChE,OAAgB,KAAK;AAAA,EAErB,OAAO,OAAO,WAA0B;AACpC,WAAO,IAAI,8BAA8B,UAAU,SAAS;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,WAAoB;AAC5B,UAAM,iBAAiB,aAAa,EAAE,CAAC;AAAA,EAC3C;AACJ;AAMA,SAAS,iBAAiB,WAAuC;AAC7D,QAAM,SAAS,UAAU,SAAS,GAAG,SAAS,MAAM;AAEpD,WAAS,UAAU,KAAa;AAC5B,WAAO,GAAG,MAAM,GAAG,GAAG;AAAA,EAC1B;AAEA,SAAO;AAAA,IACH,QAAQ,KAAK;AACT,aAAO,qBAAAA,QAAa,QAAQ,UAAU,GAAG,CAAC;AAAA,IAC9C;AAAA,IAEA,QAAQ,KAAK,OAAO;AAChB,aAAO,qBAAAA,QAAa,QAAQ,UAAU,GAAG,GAAG,KAAK;AAAA,IACrD;AAAA,IAEA,WAAW,KAAK;AACZ,aAAO,qBAAAA,QAAa,WAAW,UAAU,GAAG,CAAC;AAAA,IACjD;AAAA,IAEA,MAAM,aAAa;AACf,YAAM,UAAU,MAAM,qBAAAA,QAAa,WAAW;AAC9C,UAAI,CAAC,OAAO,OAAQ,QAAO;AAC3B,aAAO,QAAQ,OAAO,CAAC,MAAc,EAAE,WAAW,MAAM,CAAC,EAAE,IAAI,CAAC,MAAc,EAAE,UAAU,OAAO,MAAM,CAAC;AAAA,IAC5G;AAAA,IAEA,MAAM,QAAQ,MAAM;AAChB,YAAM,WAAW,KAAK,IAAI,SAAS;AACnC,YAAM,MAAM,MAAM,qBAAAA,QAAa,QAAQ,QAAQ;AAC/C,YAAM,SAAS,CAAC;AAChB,iBAAW,CAAC,GAAG,GAAG,KAAK,KAAK,QAAQ,GAAG;AACnC,eAAO,GAAG,IAAI,IAAI,SAAS,CAAC,CAAC;AAAA,MACjC;AACA,aAAO;AAAA,IACX;AAAA,IAEA,MAAM,QAAQ,SAAS;AACnB,YAAM,WAAW,CAAC;AAClB,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAChD,iBAAS,UAAU,GAAG,CAAC,IAAI;AAAA,MAC/B;AACA,YAAM,qBAAAA,QAAa,QAAQ,QAAQ;AAAA,IACvC;AAAA,IAEA,MAAM,WAAW,MAAM;AACnB,YAAM,qBAAAA,QAAa,WAAW,KAAK,IAAI,SAAS,CAAC;AAAA,IACrD;AAAA,IAEA,MAAM,QAAQ;AACV,UAAI,CAAC,OAAO,QAAQ;AAChB,cAAM,qBAAAA,QAAa,MAAM;AACzB;AAAA,MACJ;AAEA,YAAM,UAAU,MAAM,qBAAAA,QAAa,WAAW;AAC9C,YAAM,eAAe,QAAQ,OAAO,CAAC,MAAc,EAAE,WAAW,MAAM,CAAC;AACvE,UAAI,aAAa,QAAQ;AACrB,cAAM,qBAAAA,QAAa,WAAW,YAAY;AAAA,MAC9C;AAAA,IACJ;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": ["AsyncStorage"]
|
|
6
|
+
}
|
|
@@ -3,6 +3,12 @@
|
|
|
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 "./ReactNativeWebStorageDriver.js";
|
|
7
|
+
export * from "./ReactNativeWebStorageDriverV2.js";
|
|
8
|
+
import { ReactNativeWebStorageDriver } from "./ReactNativeWebStorageDriver.js";
|
|
9
|
+
import { ReactNativeWebStorageDriverV2 } from "./ReactNativeWebStorageDriverV2.js";
|
|
10
|
+
/** @deprecated Use {@link ReactNativeWebStorageDriver} */
|
|
11
|
+
export declare const StorageBackendAsyncStorage: typeof ReactNativeWebStorageDriver;
|
|
12
|
+
/** @deprecated Use {@link ReactNativeWebStorageDriverV2} */
|
|
13
|
+
export declare const StorageBackendAsyncStorageV2: typeof ReactNativeWebStorageDriverV2;
|
|
8
14
|
//# 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,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,oCAA8B,CAAC;AAEtE,4DAA4D;AAC5D,eAAO,MAAM,4BAA4B,sCAAgC,CAAC"}
|
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
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
|
+
};
|
|
6
10
|
var __copyProps = (to, from, except, desc) => {
|
|
7
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
12
|
for (let key of __getOwnPropNames(from))
|
|
@@ -14,12 +18,20 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
18
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
20
|
var storage_exports = {};
|
|
21
|
+
__export(storage_exports, {
|
|
22
|
+
StorageBackendAsyncStorage: () => StorageBackendAsyncStorage,
|
|
23
|
+
StorageBackendAsyncStorageV2: () => StorageBackendAsyncStorageV2
|
|
24
|
+
});
|
|
17
25
|
module.exports = __toCommonJS(storage_exports);
|
|
18
|
-
__reExport(storage_exports, require("./
|
|
19
|
-
__reExport(storage_exports, require("./
|
|
26
|
+
__reExport(storage_exports, require("./ReactNativeWebStorageDriver.js"), module.exports);
|
|
27
|
+
__reExport(storage_exports, require("./ReactNativeWebStorageDriverV2.js"), module.exports);
|
|
28
|
+
var import_ReactNativeWebStorageDriver = require("./ReactNativeWebStorageDriver.js");
|
|
29
|
+
var import_ReactNativeWebStorageDriverV2 = require("./ReactNativeWebStorageDriverV2.js");
|
|
20
30
|
/**
|
|
21
31
|
* @license
|
|
22
32
|
* Copyright 2022-2026 Matter.js Authors
|
|
23
33
|
* SPDX-License-Identifier: Apache-2.0
|
|
24
34
|
*/
|
|
35
|
+
const StorageBackendAsyncStorage = import_ReactNativeWebStorageDriver.ReactNativeWebStorageDriver;
|
|
36
|
+
const StorageBackendAsyncStorageV2 = import_ReactNativeWebStorageDriverV2.ReactNativeWebStorageDriverV2;
|
|
25
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/storage/index.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,4BAAc,6CANd;AAOA,4BAAc,+CAPd;AAQA,yCAA4C;AAC5C,2CAA8C;AAT9C;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,6BAA6B;AAGnC,MAAM,+BAA+B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKxF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBASrC;
|
|
1
|
+
{"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKxF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBASrC;AAuBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;EAMhD"}
|
|
@@ -7,7 +7,7 @@ import { ReactNativeBle } from "#ble/ReactNativeBle.js";
|
|
|
7
7
|
import { Environment, Network, StorageService } from "@matter/general";
|
|
8
8
|
import { Ble } from "@matter/protocol";
|
|
9
9
|
import { NetworkReactNative } from "../net/NetworkReactNative.js";
|
|
10
|
-
import {
|
|
10
|
+
import { ReactNativeWebStorageDriver } from "../storage/ReactNativeWebStorageDriver.js";
|
|
11
11
|
function ReactNativeEnvironment() {
|
|
12
12
|
const env = new Environment("default");
|
|
13
13
|
loadVariables(env);
|
|
@@ -22,10 +22,8 @@ function loadVariables(env) {
|
|
|
22
22
|
}
|
|
23
23
|
function configureStorage(env) {
|
|
24
24
|
const service = env.get(StorageService);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
});
|
|
28
|
-
service.factory = (namespace) => new StorageBackendAsyncStorage(namespace);
|
|
25
|
+
service.registerDriver(ReactNativeWebStorageDriver);
|
|
26
|
+
service.defaultDriver = "async-storage";
|
|
29
27
|
}
|
|
30
28
|
function configureNetwork(env) {
|
|
31
29
|
env.set(Network, new NetworkReactNative());
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/environment/ReactNativeEnvironment.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,sBAAsB;AAC/B,SAAS,aAAa,SAAS,sBAAuC;AACtE,SAAS,WAAW;AACpB,SAAS,0BAA0B;AACnC,SAAS,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,sBAAsB;AAC/B,SAAS,aAAa,SAAS,sBAAuC;AACtE,SAAS,WAAW;AACpB,SAAS,0BAA0B;AACnC,SAAS,mCAAmC;AAOrC,SAAS,yBAAyB;AACrC,QAAM,MAAM,IAAI,YAAY,SAAS;AAErC,gBAAc,GAAG;AACjB,mBAAiB,GAAG;AACpB,mBAAiB,GAAG;AACpB,eAAa,GAAG;AAEhB,SAAO;AACX;AAEA,SAAS,cAAc,KAAkB;AACrC,QAAM,OAAO,IAAI;AAGjB,OAAK,eAAe,YAAY,IAAI,CAAC;AACzC;AAEA,SAAS,iBAAiB,KAAkB;AACxC,QAAM,UAAU,IAAI,IAAI,cAAc;AACtC,UAAQ,eAAe,2BAA2B;AAClD,UAAQ,gBAAgB;AAC5B;AAEA,SAAS,iBAAiB,KAAkB;AACxC,MAAI,IAAI,SAAS,IAAI,mBAAmB,CAAC;AAC7C;AAEA,SAAS,aAAa,KAAkB;AACpC,MAAI,IAAI,KAAK,IAAI,eAAe,CAAC;AACrC;AAEO,SAAS,YAAY,MAAuB;AAC/C,QAAM,UAAU,KAAK,IAAI,eAAe,SAAS;AAEjD,SAAO;AAAA,IACH,aAAa;AAAA,EACjB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { WebStorageDriver, type DataNamespace } from "@matter/general";
|
|
7
|
+
/**
|
|
8
|
+
* AsyncStorage backend based on AsyncStorage v3 scoped instances.
|
|
9
|
+
*
|
|
10
|
+
* This backend uses `createAsyncStorage(...)`, so each backend instance stores
|
|
11
|
+
* data in its own scoped storage area. It is the default backend for
|
|
12
|
+
* `@matter/react-native` with async-storage `3.x`.
|
|
13
|
+
*
|
|
14
|
+
* For migration scenarios that need legacy v2-compatible singleton storage
|
|
15
|
+
* behavior, use {@link ReactNativeWebStorageDriverV2} from
|
|
16
|
+
* `@matter/react-native/storage` instead.
|
|
17
|
+
*/
|
|
18
|
+
export declare class ReactNativeWebStorageDriver extends WebStorageDriver {
|
|
19
|
+
static readonly id = "react-native-web";
|
|
20
|
+
static create(namespace: DataNamespace): ReactNativeWebStorageDriver;
|
|
21
|
+
constructor(namespace?: string);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ReactNativeWebStorageDriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactNativeWebStorageDriver.d.ts","sourceRoot":"","sources":["../../../src/storage/ReactNativeWebStorageDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGvE;;;;;;;;;;GAUG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC7D,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB;IAExC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa;gBAI1B,SAAS,CAAC,EAAE,MAAM;CAGjC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { WebStorageDriver } from "@matter/general";
|
|
7
|
+
import { createAsyncStorage } from "@react-native-async-storage/async-storage";
|
|
8
|
+
class ReactNativeWebStorageDriver extends WebStorageDriver {
|
|
9
|
+
static id = "react-native-web";
|
|
10
|
+
static create(namespace) {
|
|
11
|
+
return new ReactNativeWebStorageDriver(namespace.namespace);
|
|
12
|
+
}
|
|
13
|
+
constructor(namespace) {
|
|
14
|
+
super(createAsyncStorage(namespace ?? "matterjs"));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
ReactNativeWebStorageDriver
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=ReactNativeWebStorageDriver.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/storage/ReactNativeWebStorageDriver.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,wBAA4C;AACrD,SAAS,0BAA0B;AAa5B,MAAM,oCAAoC,iBAAiB;AAAA,EAC9D,OAAgB,KAAK;AAAA,EAErB,OAAO,OAAO,WAA0B;AACpC,WAAO,IAAI,4BAA4B,UAAU,SAAS;AAAA,EAC9D;AAAA,EAEA,YAAY,WAAoB;AAC5B,UAAM,mBAAmB,aAAa,UAAU,CAAC;AAAA,EACrD;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { WebStorageDriver, type DataNamespace } from "@matter/general";
|
|
7
|
+
/**
|
|
8
|
+
* V2-compatible AsyncStorage backend using the package default export.
|
|
9
|
+
*
|
|
10
|
+
* This backend exists as migration path when apps need to keep using the legacy
|
|
11
|
+
* singleton storage behavior before switching to the v3 scoped storage backend.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ReactNativeWebStorageDriverV2 extends WebStorageDriver {
|
|
14
|
+
static readonly id = "react-native-web-v2";
|
|
15
|
+
static create(namespace: DataNamespace): ReactNativeWebStorageDriverV2;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new instance of the v2-compatible AsyncStorage backend. If a
|
|
18
|
+
* namespace is provided, keys are prefixed with "<namespace>#".
|
|
19
|
+
*/
|
|
20
|
+
constructor(namespace?: string);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ReactNativeWebStorageDriverV2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactNativeWebStorageDriverV2.d.ts","sourceRoot":"","sources":["../../../src/storage/ReactNativeWebStorageDriverV2.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AAGhG;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IAC/D,MAAM,CAAC,QAAQ,CAAC,EAAE,yBAAyB;IAE3C,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa;IAItC;;;OAGG;gBACS,SAAS,CAAC,EAAE,MAAM;CAGjC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { WebStorageDriver } from "@matter/general";
|
|
7
|
+
import AsyncStorage from "@react-native-async-storage/async-storage";
|
|
8
|
+
class ReactNativeWebStorageDriverV2 extends WebStorageDriver {
|
|
9
|
+
static id = "react-native-web-v2";
|
|
10
|
+
static create(namespace) {
|
|
11
|
+
return new ReactNativeWebStorageDriverV2(namespace.namespace);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new instance of the v2-compatible AsyncStorage backend. If a
|
|
15
|
+
* namespace is provided, keys are prefixed with "<namespace>#".
|
|
16
|
+
*/
|
|
17
|
+
constructor(namespace) {
|
|
18
|
+
super(createV2Provider(namespace ?? ""));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function createV2Provider(namespace) {
|
|
22
|
+
const prefix = namespace.length ? `${namespace}#` : "";
|
|
23
|
+
function prefixKey(key) {
|
|
24
|
+
return `${prefix}${key}`;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
getItem(key) {
|
|
28
|
+
return AsyncStorage.getItem(prefixKey(key));
|
|
29
|
+
},
|
|
30
|
+
setItem(key, value) {
|
|
31
|
+
return AsyncStorage.setItem(prefixKey(key), value);
|
|
32
|
+
},
|
|
33
|
+
removeItem(key) {
|
|
34
|
+
return AsyncStorage.removeItem(prefixKey(key));
|
|
35
|
+
},
|
|
36
|
+
async getAllKeys() {
|
|
37
|
+
const allKeys = await AsyncStorage.getAllKeys();
|
|
38
|
+
if (!prefix.length) return allKeys;
|
|
39
|
+
return allKeys.filter((k) => k.startsWith(prefix)).map((k) => k.substring(prefix.length));
|
|
40
|
+
},
|
|
41
|
+
async getMany(keys) {
|
|
42
|
+
const prefixed = keys.map(prefixKey);
|
|
43
|
+
const raw = await AsyncStorage.getMany(prefixed);
|
|
44
|
+
const result = {};
|
|
45
|
+
for (const [i, key] of keys.entries()) {
|
|
46
|
+
result[key] = raw[prefixed[i]];
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
},
|
|
50
|
+
async setMany(entries) {
|
|
51
|
+
const prefixed = {};
|
|
52
|
+
for (const [key, value] of Object.entries(entries)) {
|
|
53
|
+
prefixed[prefixKey(key)] = value;
|
|
54
|
+
}
|
|
55
|
+
await AsyncStorage.setMany(prefixed);
|
|
56
|
+
},
|
|
57
|
+
async removeMany(keys) {
|
|
58
|
+
await AsyncStorage.removeMany(keys.map(prefixKey));
|
|
59
|
+
},
|
|
60
|
+
async clear() {
|
|
61
|
+
if (!prefix.length) {
|
|
62
|
+
await AsyncStorage.clear();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const allKeys = await AsyncStorage.getAllKeys();
|
|
66
|
+
const keysToDelete = allKeys.filter((k) => k.startsWith(prefix));
|
|
67
|
+
if (keysToDelete.length) {
|
|
68
|
+
await AsyncStorage.removeMany(keysToDelete);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
ReactNativeWebStorageDriverV2
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=ReactNativeWebStorageDriverV2.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/storage/ReactNativeWebStorageDriverV2.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,wBAAqE;AAC9E,OAAO,kBAAkB;AAQlB,MAAM,sCAAsC,iBAAiB;AAAA,EAChE,OAAgB,KAAK;AAAA,EAErB,OAAO,OAAO,WAA0B;AACpC,WAAO,IAAI,8BAA8B,UAAU,SAAS;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,WAAoB;AAC5B,UAAM,iBAAiB,aAAa,EAAE,CAAC;AAAA,EAC3C;AACJ;AAMA,SAAS,iBAAiB,WAAuC;AAC7D,QAAM,SAAS,UAAU,SAAS,GAAG,SAAS,MAAM;AAEpD,WAAS,UAAU,KAAa;AAC5B,WAAO,GAAG,MAAM,GAAG,GAAG;AAAA,EAC1B;AAEA,SAAO;AAAA,IACH,QAAQ,KAAK;AACT,aAAO,aAAa,QAAQ,UAAU,GAAG,CAAC;AAAA,IAC9C;AAAA,IAEA,QAAQ,KAAK,OAAO;AAChB,aAAO,aAAa,QAAQ,UAAU,GAAG,GAAG,KAAK;AAAA,IACrD;AAAA,IAEA,WAAW,KAAK;AACZ,aAAO,aAAa,WAAW,UAAU,GAAG,CAAC;AAAA,IACjD;AAAA,IAEA,MAAM,aAAa;AACf,YAAM,UAAU,MAAM,aAAa,WAAW;AAC9C,UAAI,CAAC,OAAO,OAAQ,QAAO;AAC3B,aAAO,QAAQ,OAAO,CAAC,MAAc,EAAE,WAAW,MAAM,CAAC,EAAE,IAAI,CAAC,MAAc,EAAE,UAAU,OAAO,MAAM,CAAC;AAAA,IAC5G;AAAA,IAEA,MAAM,QAAQ,MAAM;AAChB,YAAM,WAAW,KAAK,IAAI,SAAS;AACnC,YAAM,MAAM,MAAM,aAAa,QAAQ,QAAQ;AAC/C,YAAM,SAAS,CAAC;AAChB,iBAAW,CAAC,GAAG,GAAG,KAAK,KAAK,QAAQ,GAAG;AACnC,eAAO,GAAG,IAAI,IAAI,SAAS,CAAC,CAAC;AAAA,MACjC;AACA,aAAO;AAAA,IACX;AAAA,IAEA,MAAM,QAAQ,SAAS;AACnB,YAAM,WAAW,CAAC;AAClB,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAChD,iBAAS,UAAU,GAAG,CAAC,IAAI;AAAA,MAC/B;AACA,YAAM,aAAa,QAAQ,QAAQ;AAAA,IACvC;AAAA,IAEA,MAAM,WAAW,MAAM;AACnB,YAAM,aAAa,WAAW,KAAK,IAAI,SAAS,CAAC;AAAA,IACrD;AAAA,IAEA,MAAM,QAAQ;AACV,UAAI,CAAC,OAAO,QAAQ;AAChB,cAAM,aAAa,MAAM;AACzB;AAAA,MACJ;AAEA,YAAM,UAAU,MAAM,aAAa,WAAW;AAC9C,YAAM,eAAe,QAAQ,OAAO,CAAC,MAAc,EAAE,WAAW,MAAM,CAAC;AACvE,UAAI,aAAa,QAAQ;AACrB,cAAM,aAAa,WAAW,YAAY;AAAA,MAC9C;AAAA,IACJ;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -3,6 +3,12 @@
|
|
|
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 "./ReactNativeWebStorageDriver.js";
|
|
7
|
+
export * from "./ReactNativeWebStorageDriverV2.js";
|
|
8
|
+
import { ReactNativeWebStorageDriver } from "./ReactNativeWebStorageDriver.js";
|
|
9
|
+
import { ReactNativeWebStorageDriverV2 } from "./ReactNativeWebStorageDriverV2.js";
|
|
10
|
+
/** @deprecated Use {@link ReactNativeWebStorageDriver} */
|
|
11
|
+
export declare const StorageBackendAsyncStorage: typeof ReactNativeWebStorageDriver;
|
|
12
|
+
/** @deprecated Use {@link ReactNativeWebStorageDriverV2} */
|
|
13
|
+
export declare const StorageBackendAsyncStorageV2: typeof ReactNativeWebStorageDriverV2;
|
|
8
14
|
//# 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,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,oCAA8B,CAAC;AAEtE,4DAA4D;AAC5D,eAAO,MAAM,4BAA4B,sCAAgC,CAAC"}
|
|
@@ -3,6 +3,14 @@
|
|
|
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 "./ReactNativeWebStorageDriver.js";
|
|
7
|
+
export * from "./ReactNativeWebStorageDriverV2.js";
|
|
8
|
+
import { ReactNativeWebStorageDriver } from "./ReactNativeWebStorageDriver.js";
|
|
9
|
+
import { ReactNativeWebStorageDriverV2 } from "./ReactNativeWebStorageDriverV2.js";
|
|
10
|
+
const StorageBackendAsyncStorage = ReactNativeWebStorageDriver;
|
|
11
|
+
const StorageBackendAsyncStorageV2 = ReactNativeWebStorageDriverV2;
|
|
12
|
+
export {
|
|
13
|
+
StorageBackendAsyncStorage,
|
|
14
|
+
StorageBackendAsyncStorageV2
|
|
15
|
+
};
|
|
8
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/storage/index.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,SAAS,mCAAmC;AAC5C,SAAS,qCAAqC;AAGvC,MAAM,6BAA6B;AAGnC,MAAM,+BAA+B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/react-native",
|
|
3
|
-
"version": "0.17.0-alpha.0-
|
|
3
|
+
"version": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
4
4
|
"description": "Experimental React Native support for matter.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@craftzdog/react-native-buffer": "6.1.1",
|
|
35
|
-
"@matter/general": "0.17.0-alpha.0-
|
|
36
|
-
"@matter/nodejs": "0.17.0-alpha.0-
|
|
37
|
-
"@matter/protocol": "0.17.0-alpha.0-
|
|
35
|
+
"@matter/general": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
36
|
+
"@matter/nodejs": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
37
|
+
"@matter/protocol": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
38
38
|
"@react-native-async-storage/async-storage": "^3.0.1",
|
|
39
39
|
"@react-native-community/netinfo": "^12.0.1",
|
|
40
40
|
"@types/node": "^25.3.5",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"react-native-udp": "^4.1.7"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@matter/tools": "0.17.0-alpha.0-
|
|
47
|
+
"@matter/tools": "0.17.0-alpha.0-20260315-65cdcd993"
|
|
48
48
|
},
|
|
49
49
|
"overrides": {
|
|
50
50
|
"brorand": "npm:@matter.js/brorand@1.1.0"
|
|
@@ -8,7 +8,7 @@ import { ReactNativeBle } from "#ble/ReactNativeBle.js";
|
|
|
8
8
|
import { Environment, Network, StorageService, VariableService } from "@matter/general";
|
|
9
9
|
import { Ble } from "@matter/protocol";
|
|
10
10
|
import { NetworkReactNative } from "../net/NetworkReactNative.js";
|
|
11
|
-
import {
|
|
11
|
+
import { ReactNativeWebStorageDriver } from "../storage/ReactNativeWebStorageDriver.js";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* This is the default environment implementation for React-native:
|
|
@@ -35,12 +35,8 @@ function loadVariables(env: Environment) {
|
|
|
35
35
|
|
|
36
36
|
function configureStorage(env: Environment) {
|
|
37
37
|
const service = env.get(StorageService);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
service.location = "Memory";
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
service.factory = namespace => new StorageBackendAsyncStorage(namespace);
|
|
38
|
+
service.registerDriver(ReactNativeWebStorageDriver);
|
|
39
|
+
service.defaultDriver = "async-storage";
|
|
44
40
|
}
|
|
45
41
|
|
|
46
42
|
function configureNetwork(env: Environment) {
|