@matter/react-native 0.11.0-alpha.0-20241005-e3e4e4a7a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +56 -0
- package/dist/cjs/ble/BleReactNative.d.ts +17 -0
- package/dist/cjs/ble/BleReactNative.d.ts.map +1 -0
- package/dist/cjs/ble/BleReactNative.js +61 -0
- package/dist/cjs/ble/BleReactNative.js.map +6 -0
- package/dist/cjs/ble/BleScanner.d.ts +52 -0
- package/dist/cjs/ble/BleScanner.d.ts.map +1 -0
- package/dist/cjs/ble/BleScanner.js +239 -0
- package/dist/cjs/ble/BleScanner.js.map +6 -0
- package/dist/cjs/ble/ReactNativeBleChannel.d.ts +33 -0
- package/dist/cjs/ble/ReactNativeBleChannel.d.ts.map +1 -0
- package/dist/cjs/ble/ReactNativeBleChannel.js +252 -0
- package/dist/cjs/ble/ReactNativeBleChannel.js.map +6 -0
- package/dist/cjs/ble/ReactNativeBleClient.d.ts +25 -0
- package/dist/cjs/ble/ReactNativeBleClient.d.ts.map +1 -0
- package/dist/cjs/ble/ReactNativeBleClient.js +143 -0
- package/dist/cjs/ble/ReactNativeBleClient.js.map +6 -0
- package/dist/cjs/ble/export.d.ts +8 -0
- package/dist/cjs/ble/export.d.ts.map +1 -0
- package/dist/cjs/ble/export.js +25 -0
- package/dist/cjs/ble/export.js.map +6 -0
- package/dist/cjs/crypto/ReactNativeCrypto.d.ts +12 -0
- package/dist/cjs/crypto/ReactNativeCrypto.d.ts.map +1 -0
- package/dist/cjs/crypto/ReactNativeCrypto.js +95 -0
- package/dist/cjs/crypto/ReactNativeCrypto.js.map +6 -0
- package/dist/cjs/crypto/export.d.ts +7 -0
- package/dist/cjs/crypto/export.d.ts.map +1 -0
- package/dist/cjs/crypto/export.js +24 -0
- package/dist/cjs/crypto/export.js.map +6 -0
- package/dist/cjs/crypto/register.d.ts +7 -0
- package/dist/cjs/crypto/register.d.ts.map +1 -0
- package/dist/cjs/crypto/register.js +15 -0
- package/dist/cjs/crypto/register.js.map +6 -0
- package/dist/cjs/environment/ReactNativeEnvironment.d.ts +16 -0
- package/dist/cjs/environment/ReactNativeEnvironment.d.ts.map +1 -0
- package/dist/cjs/environment/ReactNativeEnvironment.js +60 -0
- package/dist/cjs/environment/ReactNativeEnvironment.js.map +6 -0
- package/dist/cjs/environment/export.d.ts +7 -0
- package/dist/cjs/environment/export.d.ts.map +1 -0
- package/dist/cjs/environment/export.js +24 -0
- package/dist/cjs/environment/export.js.map +6 -0
- package/dist/cjs/environment/register.d.ts +7 -0
- package/dist/cjs/environment/register.d.ts.map +1 -0
- package/dist/cjs/environment/register.js +12 -0
- package/dist/cjs/environment/register.js.map +6 -0
- package/dist/cjs/export.d.ts +9 -0
- package/dist/cjs/export.d.ts.map +1 -0
- package/dist/cjs/export.js +10 -0
- package/dist/cjs/export.js.map +6 -0
- package/dist/cjs/net/NetworkReactNative.d.ts +20 -0
- package/dist/cjs/net/NetworkReactNative.d.ts.map +1 -0
- package/dist/cjs/net/NetworkReactNative.js +173 -0
- package/dist/cjs/net/NetworkReactNative.js.map +6 -0
- package/dist/cjs/net/UdpChannelReactNative.d.ts +39 -0
- package/dist/cjs/net/UdpChannelReactNative.d.ts.map +1 -0
- package/dist/cjs/net/UdpChannelReactNative.js +184 -0
- package/dist/cjs/net/UdpChannelReactNative.js.map +6 -0
- package/dist/cjs/net/export.d.ts +8 -0
- package/dist/cjs/net/export.d.ts.map +1 -0
- package/dist/cjs/net/export.js +35 -0
- package/dist/cjs/net/export.js.map +6 -0
- package/dist/cjs/net/register.d.ts +7 -0
- package/dist/cjs/net/register.d.ts.map +1 -0
- package/dist/cjs/net/register.js +15 -0
- package/dist/cjs/net/register.js.map +6 -0
- package/dist/cjs/package.json +10 -0
- package/dist/cjs/storage/StorageBackendAsyncStorage.d.ts +31 -0
- package/dist/cjs/storage/StorageBackendAsyncStorage.d.ts.map +1 -0
- package/dist/cjs/storage/StorageBackendAsyncStorage.js +142 -0
- package/dist/cjs/storage/StorageBackendAsyncStorage.js.map +6 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/ble/BleReactNative.d.ts +17 -0
- package/dist/esm/ble/BleReactNative.d.ts.map +1 -0
- package/dist/esm/ble/BleReactNative.js +41 -0
- package/dist/esm/ble/BleReactNative.js.map +6 -0
- package/dist/esm/ble/BleScanner.d.ts +52 -0
- package/dist/esm/ble/BleScanner.d.ts.map +1 -0
- package/dist/esm/ble/BleScanner.js +219 -0
- package/dist/esm/ble/BleScanner.js.map +6 -0
- package/dist/esm/ble/ReactNativeBleChannel.d.ts +33 -0
- package/dist/esm/ble/ReactNativeBleChannel.d.ts.map +1 -0
- package/dist/esm/ble/ReactNativeBleChannel.js +257 -0
- package/dist/esm/ble/ReactNativeBleChannel.js.map +6 -0
- package/dist/esm/ble/ReactNativeBleClient.d.ts +25 -0
- package/dist/esm/ble/ReactNativeBleClient.d.ts.map +1 -0
- package/dist/esm/ble/ReactNativeBleClient.js +123 -0
- package/dist/esm/ble/ReactNativeBleClient.js.map +6 -0
- package/dist/esm/ble/export.d.ts +8 -0
- package/dist/esm/ble/export.d.ts.map +1 -0
- package/dist/esm/ble/export.js +8 -0
- package/dist/esm/ble/export.js.map +6 -0
- package/dist/esm/crypto/ReactNativeCrypto.d.ts +12 -0
- package/dist/esm/crypto/ReactNativeCrypto.d.ts.map +1 -0
- package/dist/esm/crypto/ReactNativeCrypto.js +65 -0
- package/dist/esm/crypto/ReactNativeCrypto.js.map +6 -0
- package/dist/esm/crypto/export.d.ts +7 -0
- package/dist/esm/crypto/export.d.ts.map +1 -0
- package/dist/esm/crypto/export.js +7 -0
- package/dist/esm/crypto/export.js.map +6 -0
- package/dist/esm/crypto/register.d.ts +7 -0
- package/dist/esm/crypto/register.d.ts.map +1 -0
- package/dist/esm/crypto/register.js +14 -0
- package/dist/esm/crypto/register.js.map +6 -0
- package/dist/esm/environment/ReactNativeEnvironment.d.ts +16 -0
- package/dist/esm/environment/ReactNativeEnvironment.d.ts.map +1 -0
- package/dist/esm/environment/ReactNativeEnvironment.js +40 -0
- package/dist/esm/environment/ReactNativeEnvironment.js.map +6 -0
- package/dist/esm/environment/export.d.ts +7 -0
- package/dist/esm/environment/export.d.ts.map +1 -0
- package/dist/esm/environment/export.js +7 -0
- package/dist/esm/environment/export.js.map +6 -0
- package/dist/esm/environment/register.d.ts +7 -0
- package/dist/esm/environment/register.d.ts.map +1 -0
- package/dist/esm/environment/register.js +11 -0
- package/dist/esm/environment/register.js.map +6 -0
- package/dist/esm/export.d.ts +9 -0
- package/dist/esm/export.d.ts.map +1 -0
- package/dist/esm/export.js +9 -0
- package/dist/esm/export.js.map +6 -0
- package/dist/esm/net/NetworkReactNative.d.ts +20 -0
- package/dist/esm/net/NetworkReactNative.d.ts.map +1 -0
- package/dist/esm/net/NetworkReactNative.js +151 -0
- package/dist/esm/net/NetworkReactNative.js.map +6 -0
- package/dist/esm/net/UdpChannelReactNative.d.ts +39 -0
- package/dist/esm/net/UdpChannelReactNative.d.ts.map +1 -0
- package/dist/esm/net/UdpChannelReactNative.js +162 -0
- package/dist/esm/net/UdpChannelReactNative.js.map +6 -0
- package/dist/esm/net/export.d.ts +8 -0
- package/dist/esm/net/export.d.ts.map +1 -0
- package/dist/esm/net/export.js +14 -0
- package/dist/esm/net/export.js.map +6 -0
- package/dist/esm/net/register.d.ts +7 -0
- package/dist/esm/net/register.d.ts.map +1 -0
- package/dist/esm/net/register.js +14 -0
- package/dist/esm/net/register.js.map +6 -0
- package/dist/esm/package.json +10 -0
- package/dist/esm/storage/StorageBackendAsyncStorage.d.ts +31 -0
- package/dist/esm/storage/StorageBackendAsyncStorage.d.ts.map +1 -0
- package/dist/esm/storage/StorageBackendAsyncStorage.js +112 -0
- package/dist/esm/storage/StorageBackendAsyncStorage.js.map +6 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +105 -0
- package/src/ble/BleReactNative.ts +45 -0
- package/src/ble/BleScanner.ts +277 -0
- package/src/ble/ReactNativeBleChannel.ts +313 -0
- package/src/ble/ReactNativeBleClient.ts +132 -0
- package/src/ble/export.ts +8 -0
- package/src/crypto/ReactNativeCrypto.ts +108 -0
- package/src/crypto/export.ts +7 -0
- package/src/crypto/register.ts +16 -0
- package/src/environment/ReactNativeEnvironment.ts +53 -0
- package/src/environment/export.ts +7 -0
- package/src/environment/register.ts +16 -0
- package/src/export.ts +11 -0
- package/src/net/NetworkReactNative.ts +190 -0
- package/src/net/UdpChannelReactNative.ts +219 -0
- package/src/net/export.ts +13 -0
- package/src/net/register.ts +17 -0
- package/src/storage/StorageBackendAsyncStorage.ts +145 -0
- package/src/tsconfig.json +17 -0
|
@@ -0,0 +1,184 @@
|
|
|
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 UdpChannelReactNative_exports = {};
|
|
30
|
+
__export(UdpChannelReactNative_exports, {
|
|
31
|
+
UdpChannelReactNative: () => UdpChannelReactNative
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(UdpChannelReactNative_exports);
|
|
34
|
+
var import_react_native_udp = __toESM(require("react-native-udp"), 1);
|
|
35
|
+
var import_general = require("#general");
|
|
36
|
+
var import_NetworkReactNative = require("./NetworkReactNative.js");
|
|
37
|
+
/**
|
|
38
|
+
* @license
|
|
39
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
40
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
41
|
+
*/
|
|
42
|
+
const logger = import_general.Logger.get("UdpChannelNode");
|
|
43
|
+
function createDgramSocket(host, port, options) {
|
|
44
|
+
const socket = import_react_native_udp.default.createSocket({
|
|
45
|
+
...options,
|
|
46
|
+
reusePort: options.reuseAddr
|
|
47
|
+
});
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
const handleBindError = (error) => {
|
|
50
|
+
try {
|
|
51
|
+
socket.close();
|
|
52
|
+
} catch (error2) {
|
|
53
|
+
logger.debug("Error on closing socket", error2);
|
|
54
|
+
}
|
|
55
|
+
reject(error);
|
|
56
|
+
};
|
|
57
|
+
socket.on("error", handleBindError);
|
|
58
|
+
socket.bind(port, host, (error) => {
|
|
59
|
+
if (error) return;
|
|
60
|
+
const { address: localHost, port: localPort } = socket.address();
|
|
61
|
+
logger.debug(
|
|
62
|
+
"Socket created and bound ",
|
|
63
|
+
import_general.Diagnostic.dict({
|
|
64
|
+
remoteAddress: `${host}:${port}`,
|
|
65
|
+
localAddress: `${localHost}:${localPort}`
|
|
66
|
+
})
|
|
67
|
+
);
|
|
68
|
+
socket.removeListener("error", handleBindError);
|
|
69
|
+
socket.on("error", (error2) => logger.error(error2));
|
|
70
|
+
resolve(socket);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
class UdpChannelReactNative {
|
|
75
|
+
constructor(type, socket, netInterface) {
|
|
76
|
+
this.type = type;
|
|
77
|
+
this.socket = socket;
|
|
78
|
+
this.netInterface = netInterface;
|
|
79
|
+
}
|
|
80
|
+
static async create({
|
|
81
|
+
listeningPort,
|
|
82
|
+
type,
|
|
83
|
+
listeningAddress,
|
|
84
|
+
netInterface,
|
|
85
|
+
membershipAddresses
|
|
86
|
+
}) {
|
|
87
|
+
const socketOptions = { type, reuseAddr: true };
|
|
88
|
+
if (type === "udp6") {
|
|
89
|
+
socketOptions.ipv6Only = true;
|
|
90
|
+
}
|
|
91
|
+
const socket = await createDgramSocket(listeningAddress, listeningPort, socketOptions);
|
|
92
|
+
socket.setBroadcast(true);
|
|
93
|
+
let netInterfaceZone;
|
|
94
|
+
if (netInterface !== void 0) {
|
|
95
|
+
netInterfaceZone = netInterface;
|
|
96
|
+
let multicastInterface;
|
|
97
|
+
if (type === "udp4") {
|
|
98
|
+
multicastInterface = await import_NetworkReactNative.NetworkReactNative.getMulticastInterfaceIpv4(netInterface);
|
|
99
|
+
if (multicastInterface === void 0) {
|
|
100
|
+
throw new import_general.NetworkError(`No IPv4 addresses on interface: ${netInterface}`);
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
multicastInterface = `::%${netInterfaceZone}`;
|
|
104
|
+
}
|
|
105
|
+
logger.debug(
|
|
106
|
+
"Initialize multicast",
|
|
107
|
+
import_general.Diagnostic.dict({
|
|
108
|
+
address: `${multicastInterface}:${listeningPort}`,
|
|
109
|
+
interface: netInterface,
|
|
110
|
+
type
|
|
111
|
+
})
|
|
112
|
+
);
|
|
113
|
+
socket.setMulticastInterface(multicastInterface);
|
|
114
|
+
}
|
|
115
|
+
if (membershipAddresses !== void 0) {
|
|
116
|
+
const multicastInterfaces = await import_NetworkReactNative.NetworkReactNative.getMembershipMulticastInterfaces(
|
|
117
|
+
netInterface,
|
|
118
|
+
type === "udp4"
|
|
119
|
+
);
|
|
120
|
+
for (const address of membershipAddresses) {
|
|
121
|
+
for (const multicastInterface of multicastInterfaces) {
|
|
122
|
+
try {
|
|
123
|
+
socket.addMembership(address, multicastInterface);
|
|
124
|
+
} catch (error) {
|
|
125
|
+
logger.warn(
|
|
126
|
+
`Error adding membership for address ${address}${multicastInterface ? ` with interface ${multicastInterface}` : ""}: ${error}`
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return new UdpChannelReactNative(type, socket, netInterfaceZone);
|
|
133
|
+
}
|
|
134
|
+
maxPayloadSize = import_general.MAX_UDP_MESSAGE_SIZE;
|
|
135
|
+
onData(listener) {
|
|
136
|
+
const messageListener = async (data, { address, port }) => {
|
|
137
|
+
const netInterface = this.netInterface ?? await import_NetworkReactNative.NetworkReactNative.getNetInterfaceForIp(address);
|
|
138
|
+
if (netInterface === void 0) return;
|
|
139
|
+
listener(netInterface, address, port, data);
|
|
140
|
+
};
|
|
141
|
+
this.socket.on("message", messageListener);
|
|
142
|
+
return {
|
|
143
|
+
close: async () => {
|
|
144
|
+
this.socket.removeListener("message", messageListener);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
async send(host, port, data) {
|
|
149
|
+
return new Promise((resolve, reject) => {
|
|
150
|
+
this.socket.send(data, port, host, (error) => {
|
|
151
|
+
if (error !== null) {
|
|
152
|
+
const netError = new import_general.NetworkError(error.message);
|
|
153
|
+
netError.stack = error.stack;
|
|
154
|
+
reject(netError);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
resolve();
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async close() {
|
|
162
|
+
try {
|
|
163
|
+
this.socket.close();
|
|
164
|
+
} catch (error) {
|
|
165
|
+
logger.debug("Error on closing socket", error);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
get port() {
|
|
169
|
+
return this.socket.address().port;
|
|
170
|
+
}
|
|
171
|
+
supports(type, address) {
|
|
172
|
+
if (type !== import_general.ChannelType.UDP) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
if (address === void 0) {
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
if (this.type === "udp4") {
|
|
179
|
+
return (0, import_general.isIPv4)(address);
|
|
180
|
+
}
|
|
181
|
+
return (0, import_general.isIPv6)(address);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=UdpChannelReactNative.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/net/UdpChannelReactNative.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["dgram", "error"]
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/net/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,yBAAyB,CAAC;AAExC,wBAAsB,YAAY,kBAEjC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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 export_exports = {};
|
|
21
|
+
__export(export_exports, {
|
|
22
|
+
closeNetwork: () => closeNetwork
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(export_exports);
|
|
25
|
+
var import_general = require("@matter/general");
|
|
26
|
+
__reExport(export_exports, require("./NetworkReactNative.js"), module.exports);
|
|
27
|
+
/**
|
|
28
|
+
* @license
|
|
29
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
30
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
31
|
+
*/
|
|
32
|
+
async function closeNetwork() {
|
|
33
|
+
return import_general.Network.get().close();
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/net/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var import_general = require("@matter/general");
|
|
3
|
+
var import_NetworkReactNative = require("./NetworkReactNative.js");
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
try {
|
|
10
|
+
import_general.Network.get();
|
|
11
|
+
} catch (error) {
|
|
12
|
+
import_general.NoProviderError.accept(error);
|
|
13
|
+
import_general.Network.get = (0, import_general.singleton)(() => new import_NetworkReactNative.NetworkReactNative());
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { MaybeAsyncStorage, SupportedStorageTypes } from "#general";
|
|
7
|
+
export declare class StorageBackendAsyncStorage extends MaybeAsyncStorage {
|
|
8
|
+
#private;
|
|
9
|
+
protected isInitialized: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new instance of the AsyncStorage storage backend. In a "namespace" is provided then the keys will be
|
|
12
|
+
* prefixed with the namespace (separated with a # which is normally not used in matter.js keys).
|
|
13
|
+
*/
|
|
14
|
+
constructor(namespace?: string);
|
|
15
|
+
get initialized(): boolean;
|
|
16
|
+
initialize(): void;
|
|
17
|
+
close(): void;
|
|
18
|
+
clear(): any;
|
|
19
|
+
getContextBaseKey(contexts: string[], allowEmptyContext?: boolean): string;
|
|
20
|
+
buildStorageKey(contexts: string[], key: string): string;
|
|
21
|
+
get<T extends SupportedStorageTypes>(contexts: string[], key: string): Promise<T | undefined>;
|
|
22
|
+
set(contexts: string[], key: string, value: SupportedStorageTypes): Promise<void>;
|
|
23
|
+
set(contexts: string[], values: Record<string, SupportedStorageTypes>): Promise<void>;
|
|
24
|
+
delete(contexts: string[], key: string): any;
|
|
25
|
+
/** Returns all keys of a storage context without keys of sub-contexts */
|
|
26
|
+
keys(contexts: string[]): Promise<any[]>;
|
|
27
|
+
values(contexts: string[]): Promise<Record<string, SupportedStorageTypes>>;
|
|
28
|
+
contexts(contexts: string[]): Promise<string[]>;
|
|
29
|
+
clearAll(contexts: string[]): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=StorageBackendAsyncStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageBackendAsyncStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageBackendAsyncStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAgB,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAGpG,qBAAa,0BAA2B,SAAQ,iBAAiB;;IAE7D,SAAS,CAAC,aAAa,UAAS;IAEhC;;;OAGG;gBACS,SAAS,CAAC,EAAE,MAAM;IAK9B,IAAI,WAAW,YAEd;IAED,UAAU;IAIV,KAAK;IAIL,KAAK;IAKL,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,iBAAiB,UAAQ;IAY/D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAQzC,GAAG,CAAC,CAAC,SAAS,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOnG,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;IAiBrF,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAKtC,yEAAyE;IACnE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;IAcvB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;IASzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;IAmB3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;CAYpC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
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 StorageBackendAsyncStorage_exports = {};
|
|
30
|
+
__export(StorageBackendAsyncStorage_exports, {
|
|
31
|
+
StorageBackendAsyncStorage: () => StorageBackendAsyncStorage
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(StorageBackendAsyncStorage_exports);
|
|
34
|
+
var import_general = require("#general");
|
|
35
|
+
var import_async_storage = __toESM(require("@react-native-async-storage/async-storage"), 1);
|
|
36
|
+
/**
|
|
37
|
+
* @license
|
|
38
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
39
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
40
|
+
*/
|
|
41
|
+
class StorageBackendAsyncStorage extends import_general.MaybeAsyncStorage {
|
|
42
|
+
#namespace;
|
|
43
|
+
isInitialized = false;
|
|
44
|
+
/**
|
|
45
|
+
* Creates a new instance of the AsyncStorage storage backend. In a "namespace" is provided then the keys will be
|
|
46
|
+
* prefixed with the namespace (separated with a # which is normally not used in matter.js keys).
|
|
47
|
+
*/
|
|
48
|
+
constructor(namespace) {
|
|
49
|
+
super();
|
|
50
|
+
this.#namespace = namespace ?? "";
|
|
51
|
+
}
|
|
52
|
+
get initialized() {
|
|
53
|
+
return this.isInitialized;
|
|
54
|
+
}
|
|
55
|
+
initialize() {
|
|
56
|
+
this.isInitialized = true;
|
|
57
|
+
}
|
|
58
|
+
close() {
|
|
59
|
+
this.isInitialized = false;
|
|
60
|
+
}
|
|
61
|
+
clear() {
|
|
62
|
+
return import_async_storage.default.clear();
|
|
63
|
+
}
|
|
64
|
+
getContextBaseKey(contexts, allowEmptyContext = false) {
|
|
65
|
+
const contextKey = contexts.join(".");
|
|
66
|
+
if (!contextKey.length && !allowEmptyContext || contextKey.includes("..") || contextKey.startsWith(".") || contextKey.endsWith("."))
|
|
67
|
+
throw new import_general.StorageError("Context must not be an empty and not contain dots.");
|
|
68
|
+
return `${this.#namespace.length ? `${this.#namespace}#` : ""}${contextKey}`;
|
|
69
|
+
}
|
|
70
|
+
buildStorageKey(contexts, key) {
|
|
71
|
+
if (!key.length) {
|
|
72
|
+
throw new import_general.StorageError("Key must not be an empty string.");
|
|
73
|
+
}
|
|
74
|
+
const contextKey = this.getContextBaseKey(contexts);
|
|
75
|
+
return `${contextKey}.${key}`;
|
|
76
|
+
}
|
|
77
|
+
async get(contexts, key) {
|
|
78
|
+
const value = await import_async_storage.default.getItem(this.buildStorageKey(contexts, key));
|
|
79
|
+
if (value === null) return void 0;
|
|
80
|
+
return (0, import_general.fromJson)(value);
|
|
81
|
+
}
|
|
82
|
+
async set(contexts, keyOrValues, value) {
|
|
83
|
+
if (typeof keyOrValues === "string") {
|
|
84
|
+
await import_async_storage.default.setItem(this.buildStorageKey(contexts, keyOrValues), (0, import_general.toJson)(value));
|
|
85
|
+
} else {
|
|
86
|
+
for (const [key, value2] of Object.entries(keyOrValues)) {
|
|
87
|
+
await import_async_storage.default.setItem(this.buildStorageKey(contexts, key), (0, import_general.toJson)(value2));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
delete(contexts, key) {
|
|
92
|
+
return import_async_storage.default.removeItem(this.buildStorageKey(contexts, key));
|
|
93
|
+
}
|
|
94
|
+
/** Returns all keys of a storage context without keys of sub-contexts */
|
|
95
|
+
async keys(contexts) {
|
|
96
|
+
const contextKey = this.getContextBaseKey(contexts);
|
|
97
|
+
const keys = [];
|
|
98
|
+
const contextKeyStart = `${contextKey}.`;
|
|
99
|
+
const allKeys = await import_async_storage.default.getAllKeys();
|
|
100
|
+
for (const key of allKeys) {
|
|
101
|
+
if (key.startsWith(contextKeyStart) && !key.includes(".", contextKeyStart.length)) {
|
|
102
|
+
keys.push(key.substring(contextKeyStart.length));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return keys;
|
|
106
|
+
}
|
|
107
|
+
async values(contexts) {
|
|
108
|
+
const values = {};
|
|
109
|
+
for (const key of await this.keys(contexts)) {
|
|
110
|
+
values[key] = await this.get(contexts, key);
|
|
111
|
+
}
|
|
112
|
+
return values;
|
|
113
|
+
}
|
|
114
|
+
async contexts(contexts) {
|
|
115
|
+
const contextKey = this.getContextBaseKey(contexts, true);
|
|
116
|
+
const startContextKey = contextKey.length ? `${contextKey}.` : "";
|
|
117
|
+
const foundContexts = new Array();
|
|
118
|
+
const allKeys = await import_async_storage.default.getAllKeys();
|
|
119
|
+
for (const key of allKeys) {
|
|
120
|
+
if (key.startsWith(startContextKey)) {
|
|
121
|
+
const subKeys = key.substring(startContextKey.length).split(".");
|
|
122
|
+
if (subKeys.length === 1) continue;
|
|
123
|
+
const context = subKeys[0];
|
|
124
|
+
if (!foundContexts.includes(context)) {
|
|
125
|
+
foundContexts.push(context);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return foundContexts;
|
|
130
|
+
}
|
|
131
|
+
async clearAll(contexts) {
|
|
132
|
+
const contextKey = this.getContextBaseKey(contexts, true);
|
|
133
|
+
const startContextKey = contextKey.length ? `${contextKey}.` : "";
|
|
134
|
+
const allKeys = await import_async_storage.default.getAllKeys();
|
|
135
|
+
for (const key of allKeys) {
|
|
136
|
+
if (key.startsWith(startContextKey)) {
|
|
137
|
+
await import_async_storage.default.removeItem(key);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=StorageBackendAsyncStorage.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/storage/StorageBackendAsyncStorage.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["AsyncStorage", "value"]
|
|
6
|
+
}
|