@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.
Files changed (161) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +56 -0
  3. package/dist/cjs/ble/BleReactNative.d.ts +17 -0
  4. package/dist/cjs/ble/BleReactNative.d.ts.map +1 -0
  5. package/dist/cjs/ble/BleReactNative.js +61 -0
  6. package/dist/cjs/ble/BleReactNative.js.map +6 -0
  7. package/dist/cjs/ble/BleScanner.d.ts +52 -0
  8. package/dist/cjs/ble/BleScanner.d.ts.map +1 -0
  9. package/dist/cjs/ble/BleScanner.js +239 -0
  10. package/dist/cjs/ble/BleScanner.js.map +6 -0
  11. package/dist/cjs/ble/ReactNativeBleChannel.d.ts +33 -0
  12. package/dist/cjs/ble/ReactNativeBleChannel.d.ts.map +1 -0
  13. package/dist/cjs/ble/ReactNativeBleChannel.js +252 -0
  14. package/dist/cjs/ble/ReactNativeBleChannel.js.map +6 -0
  15. package/dist/cjs/ble/ReactNativeBleClient.d.ts +25 -0
  16. package/dist/cjs/ble/ReactNativeBleClient.d.ts.map +1 -0
  17. package/dist/cjs/ble/ReactNativeBleClient.js +143 -0
  18. package/dist/cjs/ble/ReactNativeBleClient.js.map +6 -0
  19. package/dist/cjs/ble/export.d.ts +8 -0
  20. package/dist/cjs/ble/export.d.ts.map +1 -0
  21. package/dist/cjs/ble/export.js +25 -0
  22. package/dist/cjs/ble/export.js.map +6 -0
  23. package/dist/cjs/crypto/ReactNativeCrypto.d.ts +12 -0
  24. package/dist/cjs/crypto/ReactNativeCrypto.d.ts.map +1 -0
  25. package/dist/cjs/crypto/ReactNativeCrypto.js +95 -0
  26. package/dist/cjs/crypto/ReactNativeCrypto.js.map +6 -0
  27. package/dist/cjs/crypto/export.d.ts +7 -0
  28. package/dist/cjs/crypto/export.d.ts.map +1 -0
  29. package/dist/cjs/crypto/export.js +24 -0
  30. package/dist/cjs/crypto/export.js.map +6 -0
  31. package/dist/cjs/crypto/register.d.ts +7 -0
  32. package/dist/cjs/crypto/register.d.ts.map +1 -0
  33. package/dist/cjs/crypto/register.js +15 -0
  34. package/dist/cjs/crypto/register.js.map +6 -0
  35. package/dist/cjs/environment/ReactNativeEnvironment.d.ts +16 -0
  36. package/dist/cjs/environment/ReactNativeEnvironment.d.ts.map +1 -0
  37. package/dist/cjs/environment/ReactNativeEnvironment.js +60 -0
  38. package/dist/cjs/environment/ReactNativeEnvironment.js.map +6 -0
  39. package/dist/cjs/environment/export.d.ts +7 -0
  40. package/dist/cjs/environment/export.d.ts.map +1 -0
  41. package/dist/cjs/environment/export.js +24 -0
  42. package/dist/cjs/environment/export.js.map +6 -0
  43. package/dist/cjs/environment/register.d.ts +7 -0
  44. package/dist/cjs/environment/register.d.ts.map +1 -0
  45. package/dist/cjs/environment/register.js +12 -0
  46. package/dist/cjs/environment/register.js.map +6 -0
  47. package/dist/cjs/export.d.ts +9 -0
  48. package/dist/cjs/export.d.ts.map +1 -0
  49. package/dist/cjs/export.js +10 -0
  50. package/dist/cjs/export.js.map +6 -0
  51. package/dist/cjs/net/NetworkReactNative.d.ts +20 -0
  52. package/dist/cjs/net/NetworkReactNative.d.ts.map +1 -0
  53. package/dist/cjs/net/NetworkReactNative.js +173 -0
  54. package/dist/cjs/net/NetworkReactNative.js.map +6 -0
  55. package/dist/cjs/net/UdpChannelReactNative.d.ts +39 -0
  56. package/dist/cjs/net/UdpChannelReactNative.d.ts.map +1 -0
  57. package/dist/cjs/net/UdpChannelReactNative.js +184 -0
  58. package/dist/cjs/net/UdpChannelReactNative.js.map +6 -0
  59. package/dist/cjs/net/export.d.ts +8 -0
  60. package/dist/cjs/net/export.d.ts.map +1 -0
  61. package/dist/cjs/net/export.js +35 -0
  62. package/dist/cjs/net/export.js.map +6 -0
  63. package/dist/cjs/net/register.d.ts +7 -0
  64. package/dist/cjs/net/register.d.ts.map +1 -0
  65. package/dist/cjs/net/register.js +15 -0
  66. package/dist/cjs/net/register.js.map +6 -0
  67. package/dist/cjs/package.json +10 -0
  68. package/dist/cjs/storage/StorageBackendAsyncStorage.d.ts +31 -0
  69. package/dist/cjs/storage/StorageBackendAsyncStorage.d.ts.map +1 -0
  70. package/dist/cjs/storage/StorageBackendAsyncStorage.js +142 -0
  71. package/dist/cjs/storage/StorageBackendAsyncStorage.js.map +6 -0
  72. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  73. package/dist/esm/ble/BleReactNative.d.ts +17 -0
  74. package/dist/esm/ble/BleReactNative.d.ts.map +1 -0
  75. package/dist/esm/ble/BleReactNative.js +41 -0
  76. package/dist/esm/ble/BleReactNative.js.map +6 -0
  77. package/dist/esm/ble/BleScanner.d.ts +52 -0
  78. package/dist/esm/ble/BleScanner.d.ts.map +1 -0
  79. package/dist/esm/ble/BleScanner.js +219 -0
  80. package/dist/esm/ble/BleScanner.js.map +6 -0
  81. package/dist/esm/ble/ReactNativeBleChannel.d.ts +33 -0
  82. package/dist/esm/ble/ReactNativeBleChannel.d.ts.map +1 -0
  83. package/dist/esm/ble/ReactNativeBleChannel.js +257 -0
  84. package/dist/esm/ble/ReactNativeBleChannel.js.map +6 -0
  85. package/dist/esm/ble/ReactNativeBleClient.d.ts +25 -0
  86. package/dist/esm/ble/ReactNativeBleClient.d.ts.map +1 -0
  87. package/dist/esm/ble/ReactNativeBleClient.js +123 -0
  88. package/dist/esm/ble/ReactNativeBleClient.js.map +6 -0
  89. package/dist/esm/ble/export.d.ts +8 -0
  90. package/dist/esm/ble/export.d.ts.map +1 -0
  91. package/dist/esm/ble/export.js +8 -0
  92. package/dist/esm/ble/export.js.map +6 -0
  93. package/dist/esm/crypto/ReactNativeCrypto.d.ts +12 -0
  94. package/dist/esm/crypto/ReactNativeCrypto.d.ts.map +1 -0
  95. package/dist/esm/crypto/ReactNativeCrypto.js +65 -0
  96. package/dist/esm/crypto/ReactNativeCrypto.js.map +6 -0
  97. package/dist/esm/crypto/export.d.ts +7 -0
  98. package/dist/esm/crypto/export.d.ts.map +1 -0
  99. package/dist/esm/crypto/export.js +7 -0
  100. package/dist/esm/crypto/export.js.map +6 -0
  101. package/dist/esm/crypto/register.d.ts +7 -0
  102. package/dist/esm/crypto/register.d.ts.map +1 -0
  103. package/dist/esm/crypto/register.js +14 -0
  104. package/dist/esm/crypto/register.js.map +6 -0
  105. package/dist/esm/environment/ReactNativeEnvironment.d.ts +16 -0
  106. package/dist/esm/environment/ReactNativeEnvironment.d.ts.map +1 -0
  107. package/dist/esm/environment/ReactNativeEnvironment.js +40 -0
  108. package/dist/esm/environment/ReactNativeEnvironment.js.map +6 -0
  109. package/dist/esm/environment/export.d.ts +7 -0
  110. package/dist/esm/environment/export.d.ts.map +1 -0
  111. package/dist/esm/environment/export.js +7 -0
  112. package/dist/esm/environment/export.js.map +6 -0
  113. package/dist/esm/environment/register.d.ts +7 -0
  114. package/dist/esm/environment/register.d.ts.map +1 -0
  115. package/dist/esm/environment/register.js +11 -0
  116. package/dist/esm/environment/register.js.map +6 -0
  117. package/dist/esm/export.d.ts +9 -0
  118. package/dist/esm/export.d.ts.map +1 -0
  119. package/dist/esm/export.js +9 -0
  120. package/dist/esm/export.js.map +6 -0
  121. package/dist/esm/net/NetworkReactNative.d.ts +20 -0
  122. package/dist/esm/net/NetworkReactNative.d.ts.map +1 -0
  123. package/dist/esm/net/NetworkReactNative.js +151 -0
  124. package/dist/esm/net/NetworkReactNative.js.map +6 -0
  125. package/dist/esm/net/UdpChannelReactNative.d.ts +39 -0
  126. package/dist/esm/net/UdpChannelReactNative.d.ts.map +1 -0
  127. package/dist/esm/net/UdpChannelReactNative.js +162 -0
  128. package/dist/esm/net/UdpChannelReactNative.js.map +6 -0
  129. package/dist/esm/net/export.d.ts +8 -0
  130. package/dist/esm/net/export.d.ts.map +1 -0
  131. package/dist/esm/net/export.js +14 -0
  132. package/dist/esm/net/export.js.map +6 -0
  133. package/dist/esm/net/register.d.ts +7 -0
  134. package/dist/esm/net/register.d.ts.map +1 -0
  135. package/dist/esm/net/register.js +14 -0
  136. package/dist/esm/net/register.js.map +6 -0
  137. package/dist/esm/package.json +10 -0
  138. package/dist/esm/storage/StorageBackendAsyncStorage.d.ts +31 -0
  139. package/dist/esm/storage/StorageBackendAsyncStorage.d.ts.map +1 -0
  140. package/dist/esm/storage/StorageBackendAsyncStorage.js +112 -0
  141. package/dist/esm/storage/StorageBackendAsyncStorage.js.map +6 -0
  142. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  143. package/package.json +105 -0
  144. package/src/ble/BleReactNative.ts +45 -0
  145. package/src/ble/BleScanner.ts +277 -0
  146. package/src/ble/ReactNativeBleChannel.ts +313 -0
  147. package/src/ble/ReactNativeBleClient.ts +132 -0
  148. package/src/ble/export.ts +8 -0
  149. package/src/crypto/ReactNativeCrypto.ts +108 -0
  150. package/src/crypto/export.ts +7 -0
  151. package/src/crypto/register.ts +16 -0
  152. package/src/environment/ReactNativeEnvironment.ts +53 -0
  153. package/src/environment/export.ts +7 -0
  154. package/src/environment/register.ts +16 -0
  155. package/src/export.ts +11 -0
  156. package/src/net/NetworkReactNative.ts +190 -0
  157. package/src/net/UdpChannelReactNative.ts +219 -0
  158. package/src/net/export.ts +13 -0
  159. package/src/net/register.ts +17 -0
  160. package/src/storage/StorageBackendAsyncStorage.ts +145 -0
  161. package/src/tsconfig.json +17 -0
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./ReactNativeCrypto.js";
7
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/crypto/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,24 @@
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 export_exports = {};
17
+ module.exports = __toCommonJS(export_exports);
18
+ __reExport(export_exports, require("./ReactNativeCrypto.js"), module.exports);
19
+ /**
20
+ * @license
21
+ * Copyright 2022-2024 Matter.js Authors
22
+ * SPDX-License-Identifier: Apache-2.0
23
+ */
24
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/crypto/export.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,mCANd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/crypto/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var import_general = require("@matter/general");
3
+ var import_ReactNativeCrypto = require("./ReactNativeCrypto.js");
4
+ /**
5
+ * @license
6
+ * Copyright 2022-2024 Matter.js Authors
7
+ * SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ try {
10
+ import_general.Crypto.get();
11
+ } catch (error) {
12
+ import_general.NoProviderError.accept(error);
13
+ import_general.Crypto.get = (0, import_general.singleton)(() => new import_ReactNativeCrypto.CryptoReactNative());
14
+ }
15
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/crypto/register.ts"],
4
+ "mappings": ";AAMA,qBAAmD;AACnD,+BAAkC;AAPlC;AAAA;AAAA;AAAA;AAAA;AAUA,IAAI;AACA,wBAAO,IAAI;AACf,SAAS,OAAO;AACZ,iCAAgB,OAAO,KAAK;AAC5B,wBAAO,UAAM,0BAAU,MAAM,IAAI,2CAAkB,CAAC;AACxD;",
5
+ "names": []
6
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Environment, VariableService } from "#general";
7
+ /**
8
+ * This is the default environment implementation for React-native:
9
+ *
10
+ * - Uses AsyncStorage for storage
11
+ */
12
+ export declare function ReactNativeEnvironment(): Environment;
13
+ export declare function getDefaults(vars: VariableService): {
14
+ environment: "default";
15
+ };
16
+ //# sourceMappingURL=ReactNativeEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,UAAU,CAAC;AAIjF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBAQrC;AAuBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;EAMhD"}
@@ -0,0 +1,60 @@
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 ReactNativeEnvironment_exports = {};
20
+ __export(ReactNativeEnvironment_exports, {
21
+ ReactNativeEnvironment: () => ReactNativeEnvironment,
22
+ getDefaults: () => getDefaults
23
+ });
24
+ module.exports = __toCommonJS(ReactNativeEnvironment_exports);
25
+ var import_general = require("#general");
26
+ var import_NetworkReactNative = require("../net/NetworkReactNative.js");
27
+ var import_StorageBackendAsyncStorage = require("../storage/StorageBackendAsyncStorage.js");
28
+ /**
29
+ * @license
30
+ * Copyright 2022-2024 Matter.js Authors
31
+ * SPDX-License-Identifier: Apache-2.0
32
+ */
33
+ function ReactNativeEnvironment() {
34
+ const env = new import_general.Environment("default");
35
+ loadVariables(env);
36
+ configureStorage(env);
37
+ configureNetwork(env);
38
+ return env;
39
+ }
40
+ function loadVariables(env) {
41
+ const vars = env.vars;
42
+ vars.addConfigStyle(getDefaults(vars));
43
+ }
44
+ function configureStorage(env) {
45
+ const service = env.get(import_general.StorageService);
46
+ env.vars.use(() => {
47
+ service.location = "Memory";
48
+ });
49
+ service.factory = (namespace) => new import_StorageBackendAsyncStorage.StorageBackendAsyncStorage(namespace);
50
+ }
51
+ function configureNetwork(env) {
52
+ env.set(import_general.Network, new import_NetworkReactNative.NetworkReactNative());
53
+ }
54
+ function getDefaults(vars) {
55
+ const envName = vars.get("environment", "default");
56
+ return {
57
+ environment: envName
58
+ };
59
+ }
60
+ //# sourceMappingURL=ReactNativeEnvironment.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/environment/ReactNativeEnvironment.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAsE;AACtE,gCAAmC;AACnC,wCAA2C;AAR3C;AAAA;AAAA;AAAA;AAAA;AAeO,SAAS,yBAAyB;AACrC,QAAM,MAAM,IAAI,2BAAY,SAAS;AAErC,gBAAc,GAAG;AACjB,mBAAiB,GAAG;AACpB,mBAAiB,GAAG;AAEpB,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;AAEtC,MAAI,KAAK,IAAI,MAAM;AACf,YAAQ,WAAW;AAAA,EACvB,CAAC;AAED,UAAQ,UAAU,eAAa,IAAI,6DAA2B,SAAS;AAC3E;AAEA,SAAS,iBAAiB,KAAkB;AACxC,MAAI,IAAI,wBAAS,IAAI,6CAAmB,CAAC;AAC7C;AAEO,SAAS,YAAY,MAAuB;AAC/C,QAAM,UAAU,KAAK,IAAI,eAAe,SAAS;AAEjD,SAAO;AAAA,IACH,aAAa;AAAA,EACjB;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./ReactNativeEnvironment.js";
7
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/environment/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,24 @@
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 export_exports = {};
17
+ module.exports = __toCommonJS(export_exports);
18
+ __reExport(export_exports, require("./ReactNativeEnvironment.js"), module.exports);
19
+ /**
20
+ * @license
21
+ * Copyright 2022-2024 Matter.js Authors
22
+ * SPDX-License-Identifier: Apache-2.0
23
+ */
24
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/environment/export.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,wCANd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/environment/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var import_environment = require("@project-chip/matter.js/environment");
3
+ var import_ReactNativeEnvironment = require("./ReactNativeEnvironment.js");
4
+ var import_encoding = require("react-native-polyfill-globals/src/encoding");
5
+ /**
6
+ * @license
7
+ * Copyright 2022-2024 Matter.js Authors
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ (0, import_encoding.polyfill)();
11
+ import_environment.Environment.default = (0, import_ReactNativeEnvironment.ReactNativeEnvironment)();
12
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/environment/register.ts"],
4
+ "mappings": ";AAMA,yBAA4B;AAC5B,oCAAuC;AAIvC,sBAAyB;AAXzB;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,0BAAS;AAET,+BAAY,cAAU,sDAAuB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import "./net/register.js";
7
+ import "./crypto/register.js";
8
+ import "./environment/register.js";
9
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,sBAAsB,CAAC;AAE9B,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var import_register = require("./net/register.js");
3
+ var import_register2 = require("./crypto/register.js");
4
+ var import_register3 = require("./environment/register.js");
5
+ /**
6
+ * @license
7
+ * Copyright 2022-2024 Matter.js Authors
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/export.ts"],
4
+ "mappings": ";AAMA,sBAAO;AAEP,IAAAA,mBAAO;AAEP,IAAAA,mBAAO;AAVP;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": ["import_register"]
6
+ }
@@ -0,0 +1,20 @@
1
+ import { Network, NetworkInterface, NetworkInterfaceDetails, UdpChannel, UdpChannelOptions } from "#general";
2
+ export declare class NetworkReactNative extends Network {
3
+ static getMulticastInterfaceIpv4(netInterface: string): Promise<string | undefined>;
4
+ static getMembershipMulticastInterfaces(netInterface: string | undefined, ipv4: boolean): Promise<(string | undefined)[]>;
5
+ static getNetInterfaceForIp(ip: string): Promise<string | undefined>;
6
+ private static readonly netInterfaces;
7
+ close(): Promise<void>;
8
+ private static getNetInterfaceForRemoveAddress;
9
+ /**
10
+ * Get all network interfaces.
11
+ * The optional configuration parameter allows to map interface names to types if this mapping is known.
12
+ * Each network interface which has no mapped type is returned as Ethernet for now.
13
+ *
14
+ * @param configuration - An array of objects with the name and type properties.
15
+ */
16
+ getNetInterfaces(configuration?: NetworkInterface[]): Promise<NetworkInterface[]>;
17
+ getIpMac(netInterface: string): Promise<NetworkInterfaceDetails | undefined>;
18
+ createUdpChannel(options: UdpChannelOptions): Promise<UdpChannel>;
19
+ }
20
+ //# sourceMappingURL=NetworkReactNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkReactNative.d.ts","sourceRoot":"","sources":["../../../src/net/NetworkReactNative.ts"],"names":[],"mappings":"AA4BA,OAAO,EAKH,OAAO,EAEP,gBAAgB,EAChB,uBAAuB,EAEvB,UAAU,EACV,iBAAiB,EACpB,MAAM,UAAU,CAAC;AAiClB,qBAAa,kBAAmB,SAAQ,OAAO;WAC9B,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;WAW5E,gCAAgC,CACzC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,OAAO,GACd,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAwBlC,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM;IAMtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAInC;IAEa,KAAK;mBAIC,+BAA+B;IAwBpD;;;;;;OAMG;IACG,gBAAgB,CAAC,aAAa,GAAE,gBAAgB,EAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAmBrF,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAQzE,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;CAG7E"}
@@ -0,0 +1,173 @@
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 NetworkReactNative_exports = {};
30
+ __export(NetworkReactNative_exports, {
31
+ NetworkReactNative: () => NetworkReactNative
32
+ });
33
+ module.exports = __toCommonJS(NetworkReactNative_exports);
34
+ var import_react_native_udp = __toESM(require("react-native-udp"), 1);
35
+ var import_general = require("#general");
36
+ var import_netinfo = require("@react-native-community/netinfo");
37
+ var import_UdpChannelReactNative = require("./UdpChannelReactNative.js");
38
+ /**
39
+ * @license
40
+ * Copyright 2022-2024 Matter.js Authors
41
+ * SPDX-License-Identifier: Apache-2.0
42
+ */
43
+ global.dgram = import_react_native_udp.default;
44
+ const rnDGramCreateSocket = import_react_native_udp.default.createSocket;
45
+ import_react_native_udp.default.createSocket = (...args) => {
46
+ const socket = rnDGramCreateSocket(...args);
47
+ socket.setMulticastInterface = () => {
48
+ };
49
+ const originalSend = socket.send;
50
+ socket.send = (buffer, port, address, callback) => originalSend(buffer, 0, buffer.length, port, address, callback);
51
+ return socket;
52
+ };
53
+ const logger = import_general.Logger.get("NetworkNode");
54
+ async function networkInterfaces() {
55
+ const netInfo = [await (0, import_netinfo.fetch)("wifi"), await (0, import_netinfo.fetch)("ethernet")];
56
+ const networkInterfaces2 = {};
57
+ netInfo.forEach(({ type, isConnected, details }) => {
58
+ if (!details || !isConnected) return;
59
+ const ipAddress = "ipAddress" in details ? details.ipAddress : void 0;
60
+ const subnet = "subnet" in details ? details.subnet : void 0;
61
+ if (!ipAddress || !subnet) return;
62
+ networkInterfaces2[type] = [
63
+ {
64
+ address: ipAddress,
65
+ family: (0, import_general.isIPv6)(ipAddress) ? "IPv6" : "IPv4",
66
+ netmask: subnet,
67
+ internal: false
68
+ }
69
+ ];
70
+ });
71
+ return networkInterfaces2;
72
+ }
73
+ class NetworkReactNative extends import_general.Network {
74
+ static async getMulticastInterfaceIpv4(netInterface) {
75
+ const netInterfaceInfo = (await networkInterfaces())[netInterface];
76
+ if (netInterfaceInfo === void 0) throw new import_general.NetworkError(`Unknown interface: ${netInterface}`);
77
+ for (const { address, family } of netInterfaceInfo) {
78
+ if (family === "IPv4") {
79
+ return address;
80
+ }
81
+ }
82
+ return void 0;
83
+ }
84
+ static async getMembershipMulticastInterfaces(netInterface, ipv4) {
85
+ if (ipv4) {
86
+ return [void 0];
87
+ } else {
88
+ let networkInterfaceEntries = Object.entries(await networkInterfaces());
89
+ if (netInterface !== void 0) {
90
+ networkInterfaceEntries = networkInterfaceEntries.filter(([name]) => name === netInterface);
91
+ }
92
+ const multicastInterfaces = networkInterfaceEntries.flatMap(([netInterface2, netInterfaceInfo]) => {
93
+ if (netInterfaceInfo === void 0) return [];
94
+ const zone = netInterface2;
95
+ return zone === void 0 ? [] : [`::%${zone}`];
96
+ });
97
+ if (multicastInterfaces.length === 0) {
98
+ logger.warn(
99
+ `No IPv6 multicast interface found${netInterface !== void 0 ? ` for interface ${netInterface}` : ""}.`
100
+ );
101
+ }
102
+ return multicastInterfaces;
103
+ }
104
+ }
105
+ static getNetInterfaceForIp(ip) {
106
+ return this.netInterfaces.get(ip);
107
+ }
108
+ static netInterfaces = new import_general.AsyncCache(
109
+ "Network interface",
110
+ (ip) => this.getNetInterfaceForRemoveAddress(ip),
111
+ 5 * 60 * 1e3
112
+ );
113
+ async close() {
114
+ await NetworkReactNative.netInterfaces.close();
115
+ }
116
+ static async getNetInterfaceForRemoveAddress(ip) {
117
+ if (ip.includes("%")) {
118
+ return ip.split("%")[1];
119
+ } else {
120
+ const interfaces = await networkInterfaces();
121
+ for (const name in interfaces) {
122
+ const netInterfaces = interfaces[name];
123
+ for (const { address, netmask } of netInterfaces) {
124
+ if ((0, import_general.onSameNetwork)(ip, address, netmask)) {
125
+ return name;
126
+ }
127
+ }
128
+ }
129
+ if ((0, import_general.isIPv6)(ip)) {
130
+ if (ip.startsWith("fd")) {
131
+ return "";
132
+ }
133
+ }
134
+ return void 0;
135
+ }
136
+ }
137
+ /**
138
+ * Get all network interfaces.
139
+ * The optional configuration parameter allows to map interface names to types if this mapping is known.
140
+ * Each network interface which has no mapped type is returned as Ethernet for now.
141
+ *
142
+ * @param configuration - An array of objects with the name and type properties.
143
+ */
144
+ async getNetInterfaces(configuration = []) {
145
+ const result = new Array();
146
+ const interfaces = await networkInterfaces();
147
+ for (const name in interfaces) {
148
+ const netInterfaces = interfaces[name];
149
+ if (netInterfaces.length === 0) continue;
150
+ if (netInterfaces[0].internal) continue;
151
+ let type = import_general.InterfaceType.Ethernet;
152
+ if (configuration.length > 0) {
153
+ const nameType = configuration.find(({ name: mapName }) => name === mapName);
154
+ if (nameType !== void 0 && nameType.type !== void 0) {
155
+ type = nameType.type;
156
+ }
157
+ }
158
+ result.push({ name, type });
159
+ }
160
+ return result;
161
+ }
162
+ async getIpMac(netInterface) {
163
+ const netInterfaceInfo = (await networkInterfaces())[netInterface];
164
+ if (netInterfaceInfo === void 0) return void 0;
165
+ const ipV4 = netInterfaceInfo.filter(({ family }) => family === "IPv4").map(({ address }) => address);
166
+ const ipV6 = netInterfaceInfo.filter(({ family }) => family === "IPv6").map(({ address }) => address);
167
+ return { mac: "00:00:00:00:00:00", ipV4, ipV6 };
168
+ }
169
+ createUdpChannel(options) {
170
+ return import_UdpChannelReactNative.UdpChannelReactNative.create(options);
171
+ }
172
+ }
173
+ //# sourceMappingURL=NetworkReactNative.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/net/NetworkReactNative.ts"],
4
+ "mappings": "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",
5
+ "names": ["dgram", "fetchNetworkInfo", "networkInterfaces", "netInterface"]
6
+ }
@@ -0,0 +1,39 @@
1
+ import { ChannelType, UdpChannel, UdpChannelOptions } from "#general";
2
+ interface RemoteInfo {
3
+ address: string;
4
+ family: "IPv4" | "IPv6";
5
+ port: number;
6
+ size: number;
7
+ }
8
+ interface Socket {
9
+ setBroadcast(flag: boolean): void;
10
+ setMulticastInterface(interfaceAddress: string): void;
11
+ addMembership(multicastAddress: string, multicastInterface?: string): void;
12
+ on(event: "message", listener: (msg: Uint8Array, rinfo: RemoteInfo) => void): void;
13
+ on(event: "error", listener: (error: Error) => void): void;
14
+ removeListener(event: "message", listener: (msg: Uint8Array, rinfo: RemoteInfo) => void): void;
15
+ removeListener(event: "error", listener: (error: Error) => void): void;
16
+ send(msg: Uint8Array, port: number, address: string, callback: (error: Error | null) => void): void;
17
+ close(): void;
18
+ address(): {
19
+ address: string;
20
+ port: number;
21
+ };
22
+ }
23
+ export declare class UdpChannelReactNative implements UdpChannel {
24
+ private readonly type;
25
+ private readonly socket;
26
+ private readonly netInterface?;
27
+ static create({ listeningPort, type, listeningAddress, netInterface, membershipAddresses, }: UdpChannelOptions): Promise<UdpChannelReactNative>;
28
+ readonly maxPayloadSize: number;
29
+ constructor(type: "udp4" | "udp6", socket: Socket, netInterface?: string | undefined);
30
+ onData(listener: (netInterface: string, peerAddress: string, peerPort: number, data: Uint8Array) => void): {
31
+ close: () => Promise<void>;
32
+ };
33
+ send(host: string, port: number, data: Uint8Array): Promise<void>;
34
+ close(): Promise<void>;
35
+ get port(): number;
36
+ supports(type: ChannelType, address?: string): boolean;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=UdpChannelReactNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UdpChannelReactNative.d.ts","sourceRoot":"","sources":["../../../src/net/UdpChannelReactNative.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,WAAW,EAOX,UAAU,EACV,iBAAiB,EACpB,MAAM,UAAU,CAAC;AAOlB,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAmBD,UAAU,MAAM;IACZ,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3E,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IACnF,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/F,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACvE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IACpG,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAmCD,qBAAa,qBAAsB,YAAW,UAAU;IA6DhD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;WA9DrB,MAAM,CAAC,EAChB,aAAa,EACb,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,GACtB,EAAE,iBAAiB;IAmDpB,QAAQ,CAAC,cAAc,SAAwB;gBAG1B,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,YAAA;IAG1C,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;;;IAiBlG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAcjD,KAAK;IAQX,IAAI,IAAI,WAEP;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;CAe/C"}