@matter/general 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 (692) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/dist/cjs/MatterError.d.ts +95 -0
  4. package/dist/cjs/MatterError.d.ts.map +1 -0
  5. package/dist/cjs/MatterError.js +177 -0
  6. package/dist/cjs/MatterError.js.map +6 -0
  7. package/dist/cjs/codec/Base64Codec.d.ts +23 -0
  8. package/dist/cjs/codec/Base64Codec.d.ts.map +1 -0
  9. package/dist/cjs/codec/Base64Codec.js +134 -0
  10. package/dist/cjs/codec/Base64Codec.js.map +6 -0
  11. package/dist/cjs/codec/DerCodec.d.ts +83 -0
  12. package/dist/cjs/codec/DerCodec.d.ts.map +1 -0
  13. package/dist/cjs/codec/DerCodec.js +286 -0
  14. package/dist/cjs/codec/DerCodec.js.map +6 -0
  15. package/dist/cjs/codec/DerTypes.d.ts +73 -0
  16. package/dist/cjs/codec/DerTypes.d.ts.map +1 -0
  17. package/dist/cjs/codec/DerTypes.js +132 -0
  18. package/dist/cjs/codec/DerTypes.js.map +6 -0
  19. package/dist/cjs/codec/DnsCodec.d.ts +86 -0
  20. package/dist/cjs/codec/DnsCodec.d.ts.map +1 -0
  21. package/dist/cjs/codec/DnsCodec.js +355 -0
  22. package/dist/cjs/codec/DnsCodec.js.map +6 -0
  23. package/dist/cjs/codec/index.d.ts +10 -0
  24. package/dist/cjs/codec/index.d.ts.map +1 -0
  25. package/dist/cjs/codec/index.js +27 -0
  26. package/dist/cjs/codec/index.js.map +6 -0
  27. package/dist/cjs/crypto/Crypto.d.ts +169 -0
  28. package/dist/cjs/crypto/Crypto.d.ts.map +1 -0
  29. package/dist/cjs/crypto/Crypto.js +103 -0
  30. package/dist/cjs/crypto/Crypto.js.map +6 -0
  31. package/dist/cjs/crypto/CryptoConstants.d.ts +19 -0
  32. package/dist/cjs/crypto/CryptoConstants.d.ts.map +1 -0
  33. package/dist/cjs/crypto/CryptoConstants.js +48 -0
  34. package/dist/cjs/crypto/CryptoConstants.js.map +6 -0
  35. package/dist/cjs/crypto/Key.d.ts +171 -0
  36. package/dist/cjs/crypto/Key.d.ts.map +1 -0
  37. package/dist/cjs/crypto/Key.js +356 -0
  38. package/dist/cjs/crypto/Key.js.map +6 -0
  39. package/dist/cjs/crypto/Spake2p.d.ts +40 -0
  40. package/dist/cjs/crypto/Spake2p.d.ts.map +1 -0
  41. package/dist/cjs/crypto/Spake2p.js +128 -0
  42. package/dist/cjs/crypto/Spake2p.js.map +6 -0
  43. package/dist/cjs/crypto/index.d.ts +10 -0
  44. package/dist/cjs/crypto/index.d.ts.map +1 -0
  45. package/dist/cjs/crypto/index.js +27 -0
  46. package/dist/cjs/crypto/index.js.map +6 -0
  47. package/dist/cjs/environment/Environment.d.ts +96 -0
  48. package/dist/cjs/environment/Environment.d.ts.map +1 -0
  49. package/dist/cjs/environment/Environment.js +199 -0
  50. package/dist/cjs/environment/Environment.js.map +6 -0
  51. package/dist/cjs/environment/Environmental.d.ts +52 -0
  52. package/dist/cjs/environment/Environmental.d.ts.map +1 -0
  53. package/dist/cjs/environment/Environmental.js +33 -0
  54. package/dist/cjs/environment/Environmental.js.map +6 -0
  55. package/dist/cjs/environment/RuntimeService.d.ts +107 -0
  56. package/dist/cjs/environment/RuntimeService.d.ts.map +1 -0
  57. package/dist/cjs/environment/RuntimeService.js +222 -0
  58. package/dist/cjs/environment/RuntimeService.js.map +6 -0
  59. package/dist/cjs/environment/VariableService.d.ts +58 -0
  60. package/dist/cjs/environment/VariableService.d.ts.map +1 -0
  61. package/dist/cjs/environment/VariableService.js +257 -0
  62. package/dist/cjs/environment/VariableService.js.map +6 -0
  63. package/dist/cjs/environment/index.d.ts +10 -0
  64. package/dist/cjs/environment/index.d.ts.map +1 -0
  65. package/dist/cjs/environment/index.js +27 -0
  66. package/dist/cjs/environment/index.js.map +6 -0
  67. package/dist/cjs/index.d.ts +17 -0
  68. package/dist/cjs/index.d.ts.map +1 -0
  69. package/dist/cjs/index.js +34 -0
  70. package/dist/cjs/index.js.map +6 -0
  71. package/dist/cjs/log/Diagnostic.d.ts +140 -0
  72. package/dist/cjs/log/Diagnostic.d.ts.map +1 -0
  73. package/dist/cjs/log/Diagnostic.js +297 -0
  74. package/dist/cjs/log/Diagnostic.js.map +6 -0
  75. package/dist/cjs/log/DiagnosticSource.d.ts +16 -0
  76. package/dist/cjs/log/DiagnosticSource.d.ts.map +1 -0
  77. package/dist/cjs/log/DiagnosticSource.js +45 -0
  78. package/dist/cjs/log/DiagnosticSource.js.map +6 -0
  79. package/dist/cjs/log/LogFormat.d.ts +33 -0
  80. package/dist/cjs/log/LogFormat.d.ts.map +1 -0
  81. package/dist/cjs/log/LogFormat.js +503 -0
  82. package/dist/cjs/log/LogFormat.js.map +6 -0
  83. package/dist/cjs/log/LogLevel.d.ts +18 -0
  84. package/dist/cjs/log/LogLevel.d.ts.map +1 -0
  85. package/dist/cjs/log/LogLevel.js +57 -0
  86. package/dist/cjs/log/LogLevel.js.map +6 -0
  87. package/dist/cjs/log/Logger.d.ts +220 -0
  88. package/dist/cjs/log/Logger.d.ts.map +1 -0
  89. package/dist/cjs/log/Logger.js +401 -0
  90. package/dist/cjs/log/Logger.js.map +6 -0
  91. package/dist/cjs/log/index.d.ts +11 -0
  92. package/dist/cjs/log/index.d.ts.map +1 -0
  93. package/dist/cjs/log/index.js +28 -0
  94. package/dist/cjs/log/index.js.map +6 -0
  95. package/dist/cjs/math/ReedSolomon.d.ts +11 -0
  96. package/dist/cjs/math/ReedSolomon.d.ts.map +1 -0
  97. package/dist/cjs/math/ReedSolomon.js +109 -0
  98. package/dist/cjs/math/ReedSolomon.js.map +6 -0
  99. package/dist/cjs/math/Verhoeff.d.ts +17 -0
  100. package/dist/cjs/math/Verhoeff.d.ts.map +1 -0
  101. package/dist/cjs/math/Verhoeff.js +64 -0
  102. package/dist/cjs/math/Verhoeff.js.map +6 -0
  103. package/dist/cjs/math/index.d.ts +8 -0
  104. package/dist/cjs/math/index.d.ts.map +1 -0
  105. package/dist/cjs/math/index.js +25 -0
  106. package/dist/cjs/math/index.js.map +6 -0
  107. package/dist/cjs/net/Channel.d.ts +24 -0
  108. package/dist/cjs/net/Channel.d.ts.map +1 -0
  109. package/dist/cjs/net/Channel.js +35 -0
  110. package/dist/cjs/net/Channel.js.map +6 -0
  111. package/dist/cjs/net/NetInterface.d.ts +24 -0
  112. package/dist/cjs/net/NetInterface.d.ts.map +1 -0
  113. package/dist/cjs/net/NetInterface.js +42 -0
  114. package/dist/cjs/net/NetInterface.js.map +6 -0
  115. package/dist/cjs/net/Network.d.ts +54 -0
  116. package/dist/cjs/net/Network.d.ts.map +1 -0
  117. package/dist/cjs/net/Network.js +50 -0
  118. package/dist/cjs/net/Network.js.map +6 -0
  119. package/dist/cjs/net/ServerAddress.d.ts +17 -0
  120. package/dist/cjs/net/ServerAddress.d.ts.map +1 -0
  121. package/dist/cjs/net/ServerAddress.js +32 -0
  122. package/dist/cjs/net/ServerAddress.js.map +6 -0
  123. package/dist/cjs/net/TransportInterface.d.ts +40 -0
  124. package/dist/cjs/net/TransportInterface.d.ts.map +1 -0
  125. package/dist/cjs/net/TransportInterface.js +55 -0
  126. package/dist/cjs/net/TransportInterface.js.map +6 -0
  127. package/dist/cjs/net/UdpChannel.d.ts +25 -0
  128. package/dist/cjs/net/UdpChannel.d.ts.map +1 -0
  129. package/dist/cjs/net/UdpChannel.js +30 -0
  130. package/dist/cjs/net/UdpChannel.js.map +6 -0
  131. package/dist/cjs/net/UdpInterface.d.ts +35 -0
  132. package/dist/cjs/net/UdpInterface.d.ts.map +1 -0
  133. package/dist/cjs/net/UdpInterface.js +82 -0
  134. package/dist/cjs/net/UdpInterface.js.map +6 -0
  135. package/dist/cjs/net/UdpMulticastServer.d.ts +30 -0
  136. package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -0
  137. package/dist/cjs/net/UdpMulticastServer.js +133 -0
  138. package/dist/cjs/net/UdpMulticastServer.js.map +6 -0
  139. package/dist/cjs/net/index.d.ts +17 -0
  140. package/dist/cjs/net/index.d.ts.map +1 -0
  141. package/dist/cjs/net/index.js +34 -0
  142. package/dist/cjs/net/index.js.map +6 -0
  143. package/dist/cjs/net/mock/MockNetwork.d.ts +19 -0
  144. package/dist/cjs/net/mock/MockNetwork.d.ts.map +1 -0
  145. package/dist/cjs/net/mock/MockNetwork.js +56 -0
  146. package/dist/cjs/net/mock/MockNetwork.js.map +6 -0
  147. package/dist/cjs/net/mock/MockUdpChannel.d.ts +27 -0
  148. package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -0
  149. package/dist/cjs/net/mock/MockUdpChannel.js +76 -0
  150. package/dist/cjs/net/mock/MockUdpChannel.js.map +6 -0
  151. package/dist/cjs/net/mock/NetworkSimulator.d.ts +18 -0
  152. package/dist/cjs/net/mock/NetworkSimulator.d.ts.map +1 -0
  153. package/dist/cjs/net/mock/NetworkSimulator.js +73 -0
  154. package/dist/cjs/net/mock/NetworkSimulator.js.map +6 -0
  155. package/dist/cjs/package.json +6 -0
  156. package/dist/cjs/polyfills/disposable.d.ts +7 -0
  157. package/dist/cjs/polyfills/disposable.d.ts.map +1 -0
  158. package/dist/cjs/polyfills/disposable.js +19 -0
  159. package/dist/cjs/polyfills/disposable.js.map +6 -0
  160. package/dist/cjs/polyfills/index.d.ts +7 -0
  161. package/dist/cjs/polyfills/index.d.ts.map +1 -0
  162. package/dist/cjs/polyfills/index.js +8 -0
  163. package/dist/cjs/polyfills/index.js.map +6 -0
  164. package/dist/cjs/storage/Storage.d.ts +54 -0
  165. package/dist/cjs/storage/Storage.d.ts.map +1 -0
  166. package/dist/cjs/storage/Storage.js +38 -0
  167. package/dist/cjs/storage/Storage.js.map +6 -0
  168. package/dist/cjs/storage/StorageBackendMemory.d.ts +27 -0
  169. package/dist/cjs/storage/StorageBackendMemory.d.ts.map +1 -0
  170. package/dist/cjs/storage/StorageBackendMemory.js +131 -0
  171. package/dist/cjs/storage/StorageBackendMemory.js.map +6 -0
  172. package/dist/cjs/storage/StorageContext.d.ts +26 -0
  173. package/dist/cjs/storage/StorageContext.d.ts.map +1 -0
  174. package/dist/cjs/storage/StorageContext.js +117 -0
  175. package/dist/cjs/storage/StorageContext.js.map +6 -0
  176. package/dist/cjs/storage/StorageManager.d.ts +17 -0
  177. package/dist/cjs/storage/StorageManager.d.ts.map +1 -0
  178. package/dist/cjs/storage/StorageManager.js +59 -0
  179. package/dist/cjs/storage/StorageManager.js.map +6 -0
  180. package/dist/cjs/storage/StorageService.d.ts +35 -0
  181. package/dist/cjs/storage/StorageService.d.ts.map +1 -0
  182. package/dist/cjs/storage/StorageService.js +82 -0
  183. package/dist/cjs/storage/StorageService.js.map +6 -0
  184. package/dist/cjs/storage/StringifyTools.d.ts +16 -0
  185. package/dist/cjs/storage/StringifyTools.d.ts.map +1 -0
  186. package/dist/cjs/storage/StringifyTools.js +105 -0
  187. package/dist/cjs/storage/StringifyTools.js.map +6 -0
  188. package/dist/cjs/storage/index.d.ts +12 -0
  189. package/dist/cjs/storage/index.d.ts.map +1 -0
  190. package/dist/cjs/storage/index.js +29 -0
  191. package/dist/cjs/storage/index.js.map +6 -0
  192. package/dist/cjs/time/Time.d.ts +66 -0
  193. package/dist/cjs/time/Time.d.ts.map +1 -0
  194. package/dist/cjs/time/Time.js +137 -0
  195. package/dist/cjs/time/Time.js.map +6 -0
  196. package/dist/cjs/time/index.d.ts +7 -0
  197. package/dist/cjs/time/index.d.ts.map +1 -0
  198. package/dist/cjs/time/index.js +24 -0
  199. package/dist/cjs/time/index.js.map +6 -0
  200. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  201. package/dist/cjs/util/Array.d.ts +12 -0
  202. package/dist/cjs/util/Array.d.ts.map +1 -0
  203. package/dist/cjs/util/Array.js +24 -0
  204. package/dist/cjs/util/Array.js.map +6 -0
  205. package/dist/cjs/util/Bytes.d.ts +23 -0
  206. package/dist/cjs/util/Bytes.d.ts.map +1 -0
  207. package/dist/cjs/util/Bytes.js +95 -0
  208. package/dist/cjs/util/Bytes.js.map +6 -0
  209. package/dist/cjs/util/Cache.d.ts +33 -0
  210. package/dist/cjs/util/Cache.d.ts.map +1 -0
  211. package/dist/cjs/util/Cache.js +114 -0
  212. package/dist/cjs/util/Cache.js.map +6 -0
  213. package/dist/cjs/util/Construction.d.ts +182 -0
  214. package/dist/cjs/util/Construction.d.ts.map +1 -0
  215. package/dist/cjs/util/Construction.js +417 -0
  216. package/dist/cjs/util/Construction.js.map +6 -0
  217. package/dist/cjs/util/DataReadQueue.d.ts +17 -0
  218. package/dist/cjs/util/DataReadQueue.d.ts.map +1 -0
  219. package/dist/cjs/util/DataReadQueue.js +76 -0
  220. package/dist/cjs/util/DataReadQueue.js.map +6 -0
  221. package/dist/cjs/util/DataReader.d.ts +32 -0
  222. package/dist/cjs/util/DataReader.d.ts.map +1 -0
  223. package/dist/cjs/util/DataReader.js +101 -0
  224. package/dist/cjs/util/DataReader.js.map +6 -0
  225. package/dist/cjs/util/DataWriter.d.ts +26 -0
  226. package/dist/cjs/util/DataWriter.d.ts.map +1 -0
  227. package/dist/cjs/util/DataWriter.js +114 -0
  228. package/dist/cjs/util/DataWriter.js.map +6 -0
  229. package/dist/cjs/util/DeepCopy.d.ts +12 -0
  230. package/dist/cjs/util/DeepCopy.d.ts.map +1 -0
  231. package/dist/cjs/util/DeepCopy.js +58 -0
  232. package/dist/cjs/util/DeepCopy.js.map +6 -0
  233. package/dist/cjs/util/DeepEqual.d.ts +7 -0
  234. package/dist/cjs/util/DeepEqual.d.ts.map +1 -0
  235. package/dist/cjs/util/DeepEqual.js +55 -0
  236. package/dist/cjs/util/DeepEqual.js.map +6 -0
  237. package/dist/cjs/util/Error.d.ts +12 -0
  238. package/dist/cjs/util/Error.d.ts.map +1 -0
  239. package/dist/cjs/util/Error.js +41 -0
  240. package/dist/cjs/util/Error.js.map +6 -0
  241. package/dist/cjs/util/GeneratedClass.d.ts +62 -0
  242. package/dist/cjs/util/GeneratedClass.d.ts.map +1 -0
  243. package/dist/cjs/util/GeneratedClass.js +117 -0
  244. package/dist/cjs/util/GeneratedClass.js.map +6 -0
  245. package/dist/cjs/util/Introspection.d.ts +38 -0
  246. package/dist/cjs/util/Introspection.d.ts.map +1 -0
  247. package/dist/cjs/util/Introspection.js +85 -0
  248. package/dist/cjs/util/Introspection.js.map +6 -0
  249. package/dist/cjs/util/Ip.d.ts +8 -0
  250. package/dist/cjs/util/Ip.d.ts.map +1 -0
  251. package/dist/cjs/util/Ip.js +90 -0
  252. package/dist/cjs/util/Ip.js.map +6 -0
  253. package/dist/cjs/util/Lifecycle.d.ts +97 -0
  254. package/dist/cjs/util/Lifecycle.d.ts.map +1 -0
  255. package/dist/cjs/util/Lifecycle.js +89 -0
  256. package/dist/cjs/util/Lifecycle.js.map +6 -0
  257. package/dist/cjs/util/Multiplex.d.ts +14 -0
  258. package/dist/cjs/util/Multiplex.d.ts.map +1 -0
  259. package/dist/cjs/util/Multiplex.js +22 -0
  260. package/dist/cjs/util/Multiplex.js.map +6 -0
  261. package/dist/cjs/util/Mutex.d.ts +34 -0
  262. package/dist/cjs/util/Mutex.d.ts.map +1 -0
  263. package/dist/cjs/util/Mutex.js +105 -0
  264. package/dist/cjs/util/Mutex.js.map +6 -0
  265. package/dist/cjs/util/NamedHandler.d.ts +21 -0
  266. package/dist/cjs/util/NamedHandler.d.ts.map +1 -0
  267. package/dist/cjs/util/NamedHandler.js +54 -0
  268. package/dist/cjs/util/NamedHandler.js.map +6 -0
  269. package/dist/cjs/util/Number.d.ts +37 -0
  270. package/dist/cjs/util/Number.d.ts.map +1 -0
  271. package/dist/cjs/util/Number.js +97 -0
  272. package/dist/cjs/util/Number.js.map +6 -0
  273. package/dist/cjs/util/Observable.d.ts +197 -0
  274. package/dist/cjs/util/Observable.d.ts.map +1 -0
  275. package/dist/cjs/util/Observable.js +340 -0
  276. package/dist/cjs/util/Observable.js.map +6 -0
  277. package/dist/cjs/util/PromiseQueue.d.ts +25 -0
  278. package/dist/cjs/util/PromiseQueue.d.ts.map +1 -0
  279. package/dist/cjs/util/PromiseQueue.js +107 -0
  280. package/dist/cjs/util/PromiseQueue.js.map +6 -0
  281. package/dist/cjs/util/Promises.d.ts +68 -0
  282. package/dist/cjs/util/Promises.d.ts.map +1 -0
  283. package/dist/cjs/util/Promises.js +199 -0
  284. package/dist/cjs/util/Promises.js.map +6 -0
  285. package/dist/cjs/util/Set.d.ts +60 -0
  286. package/dist/cjs/util/Set.d.ts.map +1 -0
  287. package/dist/cjs/util/Set.js +145 -0
  288. package/dist/cjs/util/Set.js.map +6 -0
  289. package/dist/cjs/util/Singleton.d.ts +7 -0
  290. package/dist/cjs/util/Singleton.d.ts.map +1 -0
  291. package/dist/cjs/util/Singleton.js +36 -0
  292. package/dist/cjs/util/Singleton.js.map +6 -0
  293. package/dist/cjs/util/Stream.d.ts +16 -0
  294. package/dist/cjs/util/Stream.d.ts.map +1 -0
  295. package/dist/cjs/util/Stream.js +38 -0
  296. package/dist/cjs/util/Stream.js.map +6 -0
  297. package/dist/cjs/util/String.d.ts +39 -0
  298. package/dist/cjs/util/String.d.ts.map +1 -0
  299. package/dist/cjs/util/String.js +208 -0
  300. package/dist/cjs/util/String.js.map +6 -0
  301. package/dist/cjs/util/Type.d.ts +84 -0
  302. package/dist/cjs/util/Type.d.ts.map +1 -0
  303. package/dist/cjs/util/Type.js +52 -0
  304. package/dist/cjs/util/Type.js.map +6 -0
  305. package/dist/cjs/util/index.d.ts +30 -0
  306. package/dist/cjs/util/index.d.ts.map +1 -0
  307. package/dist/cjs/util/index.js +47 -0
  308. package/dist/cjs/util/index.js.map +6 -0
  309. package/dist/esm/MatterError.d.ts +95 -0
  310. package/dist/esm/MatterError.d.ts.map +1 -0
  311. package/dist/esm/MatterError.js +157 -0
  312. package/dist/esm/MatterError.js.map +6 -0
  313. package/dist/esm/codec/Base64Codec.d.ts +23 -0
  314. package/dist/esm/codec/Base64Codec.d.ts.map +1 -0
  315. package/dist/esm/codec/Base64Codec.js +114 -0
  316. package/dist/esm/codec/Base64Codec.js.map +6 -0
  317. package/dist/esm/codec/DerCodec.d.ts +83 -0
  318. package/dist/esm/codec/DerCodec.d.ts.map +1 -0
  319. package/dist/esm/codec/DerCodec.js +266 -0
  320. package/dist/esm/codec/DerCodec.js.map +6 -0
  321. package/dist/esm/codec/DerTypes.d.ts +73 -0
  322. package/dist/esm/codec/DerTypes.d.ts.map +1 -0
  323. package/dist/esm/codec/DerTypes.js +122 -0
  324. package/dist/esm/codec/DerTypes.js.map +6 -0
  325. package/dist/esm/codec/DnsCodec.d.ts +86 -0
  326. package/dist/esm/codec/DnsCodec.d.ts.map +1 -0
  327. package/dist/esm/codec/DnsCodec.js +335 -0
  328. package/dist/esm/codec/DnsCodec.js.map +6 -0
  329. package/dist/esm/codec/index.d.ts +10 -0
  330. package/dist/esm/codec/index.d.ts.map +1 -0
  331. package/dist/esm/codec/index.js +10 -0
  332. package/dist/esm/codec/index.js.map +6 -0
  333. package/dist/esm/crypto/Crypto.d.ts +169 -0
  334. package/dist/esm/crypto/Crypto.d.ts.map +1 -0
  335. package/dist/esm/crypto/Crypto.js +73 -0
  336. package/dist/esm/crypto/Crypto.js.map +6 -0
  337. package/dist/esm/crypto/CryptoConstants.d.ts +19 -0
  338. package/dist/esm/crypto/CryptoConstants.d.ts.map +1 -0
  339. package/dist/esm/crypto/CryptoConstants.js +28 -0
  340. package/dist/esm/crypto/CryptoConstants.js.map +6 -0
  341. package/dist/esm/crypto/Key.d.ts +171 -0
  342. package/dist/esm/crypto/Key.d.ts.map +1 -0
  343. package/dist/esm/crypto/Key.js +336 -0
  344. package/dist/esm/crypto/Key.js.map +6 -0
  345. package/dist/esm/crypto/Spake2p.d.ts +40 -0
  346. package/dist/esm/crypto/Spake2p.d.ts.map +1 -0
  347. package/dist/esm/crypto/Spake2p.js +108 -0
  348. package/dist/esm/crypto/Spake2p.js.map +6 -0
  349. package/dist/esm/crypto/index.d.ts +10 -0
  350. package/dist/esm/crypto/index.d.ts.map +1 -0
  351. package/dist/esm/crypto/index.js +10 -0
  352. package/dist/esm/crypto/index.js.map +6 -0
  353. package/dist/esm/environment/Environment.d.ts +96 -0
  354. package/dist/esm/environment/Environment.d.ts.map +1 -0
  355. package/dist/esm/environment/Environment.js +179 -0
  356. package/dist/esm/environment/Environment.js.map +6 -0
  357. package/dist/esm/environment/Environmental.d.ts +52 -0
  358. package/dist/esm/environment/Environmental.d.ts.map +1 -0
  359. package/dist/esm/environment/Environmental.js +13 -0
  360. package/dist/esm/environment/Environmental.js.map +6 -0
  361. package/dist/esm/environment/RuntimeService.d.ts +107 -0
  362. package/dist/esm/environment/RuntimeService.d.ts.map +1 -0
  363. package/dist/esm/environment/RuntimeService.js +202 -0
  364. package/dist/esm/environment/RuntimeService.js.map +6 -0
  365. package/dist/esm/environment/VariableService.d.ts +58 -0
  366. package/dist/esm/environment/VariableService.d.ts.map +1 -0
  367. package/dist/esm/environment/VariableService.js +237 -0
  368. package/dist/esm/environment/VariableService.js.map +6 -0
  369. package/dist/esm/environment/index.d.ts +10 -0
  370. package/dist/esm/environment/index.d.ts.map +1 -0
  371. package/dist/esm/environment/index.js +10 -0
  372. package/dist/esm/environment/index.js.map +6 -0
  373. package/dist/esm/index.d.ts +17 -0
  374. package/dist/esm/index.d.ts.map +1 -0
  375. package/dist/esm/index.js +17 -0
  376. package/dist/esm/index.js.map +6 -0
  377. package/dist/esm/log/Diagnostic.d.ts +140 -0
  378. package/dist/esm/log/Diagnostic.d.ts.map +1 -0
  379. package/dist/esm/log/Diagnostic.js +277 -0
  380. package/dist/esm/log/Diagnostic.js.map +6 -0
  381. package/dist/esm/log/DiagnosticSource.d.ts +16 -0
  382. package/dist/esm/log/DiagnosticSource.d.ts.map +1 -0
  383. package/dist/esm/log/DiagnosticSource.js +25 -0
  384. package/dist/esm/log/DiagnosticSource.js.map +6 -0
  385. package/dist/esm/log/LogFormat.d.ts +33 -0
  386. package/dist/esm/log/LogFormat.d.ts.map +1 -0
  387. package/dist/esm/log/LogFormat.js +483 -0
  388. package/dist/esm/log/LogFormat.js.map +6 -0
  389. package/dist/esm/log/LogLevel.d.ts +18 -0
  390. package/dist/esm/log/LogLevel.d.ts.map +1 -0
  391. package/dist/esm/log/LogLevel.js +37 -0
  392. package/dist/esm/log/LogLevel.js.map +6 -0
  393. package/dist/esm/log/Logger.d.ts +220 -0
  394. package/dist/esm/log/Logger.d.ts.map +1 -0
  395. package/dist/esm/log/Logger.js +381 -0
  396. package/dist/esm/log/Logger.js.map +6 -0
  397. package/dist/esm/log/index.d.ts +11 -0
  398. package/dist/esm/log/index.d.ts.map +1 -0
  399. package/dist/esm/log/index.js +11 -0
  400. package/dist/esm/log/index.js.map +6 -0
  401. package/dist/esm/math/ReedSolomon.d.ts +11 -0
  402. package/dist/esm/math/ReedSolomon.d.ts.map +1 -0
  403. package/dist/esm/math/ReedSolomon.js +89 -0
  404. package/dist/esm/math/ReedSolomon.js.map +6 -0
  405. package/dist/esm/math/Verhoeff.d.ts +17 -0
  406. package/dist/esm/math/Verhoeff.d.ts.map +1 -0
  407. package/dist/esm/math/Verhoeff.js +44 -0
  408. package/dist/esm/math/Verhoeff.js.map +6 -0
  409. package/dist/esm/math/index.d.ts +8 -0
  410. package/dist/esm/math/index.d.ts.map +1 -0
  411. package/dist/esm/math/index.js +8 -0
  412. package/dist/esm/math/index.js.map +6 -0
  413. package/dist/esm/net/Channel.d.ts +24 -0
  414. package/dist/esm/net/Channel.d.ts.map +1 -0
  415. package/dist/esm/net/Channel.js +15 -0
  416. package/dist/esm/net/Channel.js.map +6 -0
  417. package/dist/esm/net/NetInterface.d.ts +24 -0
  418. package/dist/esm/net/NetInterface.d.ts.map +1 -0
  419. package/dist/esm/net/NetInterface.js +22 -0
  420. package/dist/esm/net/NetInterface.js.map +6 -0
  421. package/dist/esm/net/Network.d.ts +54 -0
  422. package/dist/esm/net/Network.d.ts.map +1 -0
  423. package/dist/esm/net/Network.js +30 -0
  424. package/dist/esm/net/Network.js.map +6 -0
  425. package/dist/esm/net/ServerAddress.d.ts +17 -0
  426. package/dist/esm/net/ServerAddress.d.ts.map +1 -0
  427. package/dist/esm/net/ServerAddress.js +12 -0
  428. package/dist/esm/net/ServerAddress.js.map +6 -0
  429. package/dist/esm/net/TransportInterface.d.ts +40 -0
  430. package/dist/esm/net/TransportInterface.d.ts.map +1 -0
  431. package/dist/esm/net/TransportInterface.js +35 -0
  432. package/dist/esm/net/TransportInterface.js.map +6 -0
  433. package/dist/esm/net/UdpChannel.d.ts +25 -0
  434. package/dist/esm/net/UdpChannel.d.ts.map +1 -0
  435. package/dist/esm/net/UdpChannel.js +10 -0
  436. package/dist/esm/net/UdpChannel.js.map +6 -0
  437. package/dist/esm/net/UdpInterface.d.ts +35 -0
  438. package/dist/esm/net/UdpInterface.d.ts.map +1 -0
  439. package/dist/esm/net/UdpInterface.js +62 -0
  440. package/dist/esm/net/UdpInterface.js.map +6 -0
  441. package/dist/esm/net/UdpMulticastServer.d.ts +30 -0
  442. package/dist/esm/net/UdpMulticastServer.d.ts.map +1 -0
  443. package/dist/esm/net/UdpMulticastServer.js +113 -0
  444. package/dist/esm/net/UdpMulticastServer.js.map +6 -0
  445. package/dist/esm/net/index.d.ts +17 -0
  446. package/dist/esm/net/index.d.ts.map +1 -0
  447. package/dist/esm/net/index.js +17 -0
  448. package/dist/esm/net/index.js.map +6 -0
  449. package/dist/esm/net/mock/MockNetwork.d.ts +19 -0
  450. package/dist/esm/net/mock/MockNetwork.d.ts.map +1 -0
  451. package/dist/esm/net/mock/MockNetwork.js +36 -0
  452. package/dist/esm/net/mock/MockNetwork.js.map +6 -0
  453. package/dist/esm/net/mock/MockUdpChannel.d.ts +27 -0
  454. package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -0
  455. package/dist/esm/net/mock/MockUdpChannel.js +56 -0
  456. package/dist/esm/net/mock/MockUdpChannel.js.map +6 -0
  457. package/dist/esm/net/mock/NetworkSimulator.d.ts +18 -0
  458. package/dist/esm/net/mock/NetworkSimulator.d.ts.map +1 -0
  459. package/dist/esm/net/mock/NetworkSimulator.js +53 -0
  460. package/dist/esm/net/mock/NetworkSimulator.js.map +6 -0
  461. package/dist/esm/package.json +6 -0
  462. package/dist/esm/polyfills/disposable.d.ts +7 -0
  463. package/dist/esm/polyfills/disposable.d.ts.map +1 -0
  464. package/dist/esm/polyfills/disposable.js +18 -0
  465. package/dist/esm/polyfills/disposable.js.map +6 -0
  466. package/dist/esm/polyfills/index.d.ts +7 -0
  467. package/dist/esm/polyfills/index.d.ts.map +1 -0
  468. package/dist/esm/polyfills/index.js +7 -0
  469. package/dist/esm/polyfills/index.js.map +6 -0
  470. package/dist/esm/storage/Storage.d.ts +54 -0
  471. package/dist/esm/storage/Storage.d.ts.map +1 -0
  472. package/dist/esm/storage/Storage.js +18 -0
  473. package/dist/esm/storage/Storage.js.map +6 -0
  474. package/dist/esm/storage/StorageBackendMemory.d.ts +27 -0
  475. package/dist/esm/storage/StorageBackendMemory.d.ts.map +1 -0
  476. package/dist/esm/storage/StorageBackendMemory.js +111 -0
  477. package/dist/esm/storage/StorageBackendMemory.js.map +6 -0
  478. package/dist/esm/storage/StorageContext.d.ts +26 -0
  479. package/dist/esm/storage/StorageContext.d.ts.map +1 -0
  480. package/dist/esm/storage/StorageContext.js +97 -0
  481. package/dist/esm/storage/StorageContext.js.map +6 -0
  482. package/dist/esm/storage/StorageManager.d.ts +17 -0
  483. package/dist/esm/storage/StorageManager.d.ts.map +1 -0
  484. package/dist/esm/storage/StorageManager.js +39 -0
  485. package/dist/esm/storage/StorageManager.js.map +6 -0
  486. package/dist/esm/storage/StorageService.d.ts +35 -0
  487. package/dist/esm/storage/StorageService.d.ts.map +1 -0
  488. package/dist/esm/storage/StorageService.js +62 -0
  489. package/dist/esm/storage/StorageService.js.map +6 -0
  490. package/dist/esm/storage/StringifyTools.d.ts +16 -0
  491. package/dist/esm/storage/StringifyTools.d.ts.map +1 -0
  492. package/dist/esm/storage/StringifyTools.js +85 -0
  493. package/dist/esm/storage/StringifyTools.js.map +6 -0
  494. package/dist/esm/storage/index.d.ts +12 -0
  495. package/dist/esm/storage/index.d.ts.map +1 -0
  496. package/dist/esm/storage/index.js +12 -0
  497. package/dist/esm/storage/index.js.map +6 -0
  498. package/dist/esm/time/Time.d.ts +66 -0
  499. package/dist/esm/time/Time.d.ts.map +1 -0
  500. package/dist/esm/time/Time.js +117 -0
  501. package/dist/esm/time/Time.js.map +6 -0
  502. package/dist/esm/time/index.d.ts +7 -0
  503. package/dist/esm/time/index.d.ts.map +1 -0
  504. package/dist/esm/time/index.js +7 -0
  505. package/dist/esm/time/index.js.map +6 -0
  506. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  507. package/dist/esm/util/Array.d.ts +12 -0
  508. package/dist/esm/util/Array.d.ts.map +1 -0
  509. package/dist/esm/util/Array.js +8 -0
  510. package/dist/esm/util/Array.js.map +6 -0
  511. package/dist/esm/util/Bytes.d.ts +23 -0
  512. package/dist/esm/util/Bytes.d.ts.map +1 -0
  513. package/dist/esm/util/Bytes.js +75 -0
  514. package/dist/esm/util/Bytes.js.map +6 -0
  515. package/dist/esm/util/Cache.d.ts +33 -0
  516. package/dist/esm/util/Cache.d.ts.map +1 -0
  517. package/dist/esm/util/Cache.js +94 -0
  518. package/dist/esm/util/Cache.js.map +6 -0
  519. package/dist/esm/util/Construction.d.ts +182 -0
  520. package/dist/esm/util/Construction.d.ts.map +1 -0
  521. package/dist/esm/util/Construction.js +397 -0
  522. package/dist/esm/util/Construction.js.map +6 -0
  523. package/dist/esm/util/DataReadQueue.d.ts +17 -0
  524. package/dist/esm/util/DataReadQueue.d.ts.map +1 -0
  525. package/dist/esm/util/DataReadQueue.js +56 -0
  526. package/dist/esm/util/DataReadQueue.js.map +6 -0
  527. package/dist/esm/util/DataReader.d.ts +32 -0
  528. package/dist/esm/util/DataReader.d.ts.map +1 -0
  529. package/dist/esm/util/DataReader.js +81 -0
  530. package/dist/esm/util/DataReader.js.map +6 -0
  531. package/dist/esm/util/DataWriter.d.ts +26 -0
  532. package/dist/esm/util/DataWriter.d.ts.map +1 -0
  533. package/dist/esm/util/DataWriter.js +94 -0
  534. package/dist/esm/util/DataWriter.js.map +6 -0
  535. package/dist/esm/util/DeepCopy.d.ts +12 -0
  536. package/dist/esm/util/DeepCopy.d.ts.map +1 -0
  537. package/dist/esm/util/DeepCopy.js +38 -0
  538. package/dist/esm/util/DeepCopy.js.map +6 -0
  539. package/dist/esm/util/DeepEqual.d.ts +7 -0
  540. package/dist/esm/util/DeepEqual.d.ts.map +1 -0
  541. package/dist/esm/util/DeepEqual.js +35 -0
  542. package/dist/esm/util/DeepEqual.js.map +6 -0
  543. package/dist/esm/util/Error.d.ts +12 -0
  544. package/dist/esm/util/Error.d.ts.map +1 -0
  545. package/dist/esm/util/Error.js +21 -0
  546. package/dist/esm/util/Error.js.map +6 -0
  547. package/dist/esm/util/GeneratedClass.d.ts +62 -0
  548. package/dist/esm/util/GeneratedClass.d.ts.map +1 -0
  549. package/dist/esm/util/GeneratedClass.js +97 -0
  550. package/dist/esm/util/GeneratedClass.js.map +6 -0
  551. package/dist/esm/util/Introspection.d.ts +38 -0
  552. package/dist/esm/util/Introspection.d.ts.map +1 -0
  553. package/dist/esm/util/Introspection.js +65 -0
  554. package/dist/esm/util/Introspection.js.map +6 -0
  555. package/dist/esm/util/Ip.d.ts +8 -0
  556. package/dist/esm/util/Ip.d.ts.map +1 -0
  557. package/dist/esm/util/Ip.js +70 -0
  558. package/dist/esm/util/Ip.js.map +6 -0
  559. package/dist/esm/util/Lifecycle.d.ts +97 -0
  560. package/dist/esm/util/Lifecycle.d.ts.map +1 -0
  561. package/dist/esm/util/Lifecycle.js +69 -0
  562. package/dist/esm/util/Lifecycle.js.map +6 -0
  563. package/dist/esm/util/Multiplex.d.ts +14 -0
  564. package/dist/esm/util/Multiplex.d.ts.map +1 -0
  565. package/dist/esm/util/Multiplex.js +6 -0
  566. package/dist/esm/util/Multiplex.js.map +6 -0
  567. package/dist/esm/util/Mutex.d.ts +34 -0
  568. package/dist/esm/util/Mutex.d.ts.map +1 -0
  569. package/dist/esm/util/Mutex.js +85 -0
  570. package/dist/esm/util/Mutex.js.map +6 -0
  571. package/dist/esm/util/NamedHandler.d.ts +21 -0
  572. package/dist/esm/util/NamedHandler.d.ts.map +1 -0
  573. package/dist/esm/util/NamedHandler.js +34 -0
  574. package/dist/esm/util/NamedHandler.js.map +6 -0
  575. package/dist/esm/util/Number.d.ts +37 -0
  576. package/dist/esm/util/Number.d.ts.map +1 -0
  577. package/dist/esm/util/Number.js +77 -0
  578. package/dist/esm/util/Number.js.map +6 -0
  579. package/dist/esm/util/Observable.d.ts +197 -0
  580. package/dist/esm/util/Observable.d.ts.map +1 -0
  581. package/dist/esm/util/Observable.js +320 -0
  582. package/dist/esm/util/Observable.js.map +6 -0
  583. package/dist/esm/util/PromiseQueue.d.ts +25 -0
  584. package/dist/esm/util/PromiseQueue.d.ts.map +1 -0
  585. package/dist/esm/util/PromiseQueue.js +87 -0
  586. package/dist/esm/util/PromiseQueue.js.map +6 -0
  587. package/dist/esm/util/Promises.d.ts +68 -0
  588. package/dist/esm/util/Promises.d.ts.map +1 -0
  589. package/dist/esm/util/Promises.js +179 -0
  590. package/dist/esm/util/Promises.js.map +6 -0
  591. package/dist/esm/util/Set.d.ts +60 -0
  592. package/dist/esm/util/Set.d.ts.map +1 -0
  593. package/dist/esm/util/Set.js +125 -0
  594. package/dist/esm/util/Set.js.map +6 -0
  595. package/dist/esm/util/Singleton.d.ts +7 -0
  596. package/dist/esm/util/Singleton.d.ts.map +1 -0
  597. package/dist/esm/util/Singleton.js +16 -0
  598. package/dist/esm/util/Singleton.js.map +6 -0
  599. package/dist/esm/util/Stream.d.ts +16 -0
  600. package/dist/esm/util/Stream.d.ts.map +1 -0
  601. package/dist/esm/util/Stream.js +18 -0
  602. package/dist/esm/util/Stream.js.map +6 -0
  603. package/dist/esm/util/String.d.ts +39 -0
  604. package/dist/esm/util/String.d.ts.map +1 -0
  605. package/dist/esm/util/String.js +188 -0
  606. package/dist/esm/util/String.js.map +6 -0
  607. package/dist/esm/util/Type.d.ts +84 -0
  608. package/dist/esm/util/Type.d.ts.map +1 -0
  609. package/dist/esm/util/Type.js +32 -0
  610. package/dist/esm/util/Type.js.map +6 -0
  611. package/dist/esm/util/index.d.ts +30 -0
  612. package/dist/esm/util/index.d.ts.map +1 -0
  613. package/dist/esm/util/index.js +30 -0
  614. package/dist/esm/util/index.js.map +6 -0
  615. package/package.json +76 -0
  616. package/src/MatterError.ts +205 -0
  617. package/src/codec/Base64Codec.ts +137 -0
  618. package/src/codec/DerCodec.ts +300 -0
  619. package/src/codec/DerTypes.ts +145 -0
  620. package/src/codec/DnsCodec.ts +393 -0
  621. package/src/codec/index.ts +10 -0
  622. package/src/crypto/Crypto.ts +136 -0
  623. package/src/crypto/CryptoConstants.ts +19 -0
  624. package/src/crypto/Key.ts +600 -0
  625. package/src/crypto/Spake2p.ts +128 -0
  626. package/src/crypto/index.ts +10 -0
  627. package/src/environment/Environment.ts +215 -0
  628. package/src/environment/Environmental.ts +60 -0
  629. package/src/environment/RuntimeService.ts +301 -0
  630. package/src/environment/VariableService.ts +308 -0
  631. package/src/environment/index.ts +10 -0
  632. package/src/index.ts +17 -0
  633. package/src/log/Diagnostic.ts +454 -0
  634. package/src/log/DiagnosticSource.ts +30 -0
  635. package/src/log/LogFormat.ts +646 -0
  636. package/src/log/LogLevel.ts +36 -0
  637. package/src/log/Logger.ts +474 -0
  638. package/src/log/index.ts +11 -0
  639. package/src/math/ReedSolomon.ts +100 -0
  640. package/src/math/Verhoeff.ts +47 -0
  641. package/src/math/index.ts +8 -0
  642. package/src/net/Channel.ts +30 -0
  643. package/src/net/NetInterface.ts +33 -0
  644. package/src/net/Network.ts +70 -0
  645. package/src/net/ServerAddress.ts +22 -0
  646. package/src/net/TransportInterface.ts +56 -0
  647. package/src/net/UdpChannel.ts +30 -0
  648. package/src/net/UdpInterface.ts +75 -0
  649. package/src/net/UdpMulticastServer.ts +138 -0
  650. package/src/net/index.ts +17 -0
  651. package/src/net/mock/MockNetwork.ts +42 -0
  652. package/src/net/mock/MockUdpChannel.ts +69 -0
  653. package/src/net/mock/NetworkSimulator.ts +63 -0
  654. package/src/polyfills/disposable.ts +24 -0
  655. package/src/polyfills/index.ts +7 -0
  656. package/src/storage/Storage.ts +61 -0
  657. package/src/storage/StorageBackendMemory.ts +131 -0
  658. package/src/storage/StorageContext.ts +111 -0
  659. package/src/storage/StorageManager.ts +39 -0
  660. package/src/storage/StorageService.ts +73 -0
  661. package/src/storage/StringifyTools.ts +107 -0
  662. package/src/storage/index.ts +12 -0
  663. package/src/time/Time.ts +179 -0
  664. package/src/time/index.ts +7 -0
  665. package/src/tsconfig.json +10 -0
  666. package/src/util/Array.ts +15 -0
  667. package/src/util/Bytes.ts +73 -0
  668. package/src/util/Cache.ts +111 -0
  669. package/src/util/Construction.ts +717 -0
  670. package/src/util/DataReadQueue.ts +55 -0
  671. package/src/util/DataReader.ts +100 -0
  672. package/src/util/DataWriter.ts +109 -0
  673. package/src/util/DeepCopy.ts +47 -0
  674. package/src/util/DeepEqual.ts +49 -0
  675. package/src/util/Error.ts +32 -0
  676. package/src/util/GeneratedClass.ts +204 -0
  677. package/src/util/Introspection.ts +93 -0
  678. package/src/util/Ip.ts +71 -0
  679. package/src/util/Lifecycle.ts +135 -0
  680. package/src/util/Multiplex.ts +14 -0
  681. package/src/util/Mutex.ts +100 -0
  682. package/src/util/NamedHandler.ts +52 -0
  683. package/src/util/Number.ts +71 -0
  684. package/src/util/Observable.ts +550 -0
  685. package/src/util/PromiseQueue.ts +102 -0
  686. package/src/util/Promises.ts +278 -0
  687. package/src/util/Set.ts +189 -0
  688. package/src/util/Singleton.ts +13 -0
  689. package/src/util/Stream.ts +19 -0
  690. package/src/util/String.ts +248 -0
  691. package/src/util/Type.ts +145 -0
  692. package/src/util/index.ts +30 -0
@@ -0,0 +1,417 @@
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 Construction_exports = {};
20
+ __export(Construction_exports, {
21
+ Construction: () => Construction,
22
+ asyncNew: () => asyncNew
23
+ });
24
+ module.exports = __toCommonJS(Construction_exports);
25
+ var import_Logger = require("../log/Logger.js");
26
+ var import_MatterError = require("../MatterError.js");
27
+ var import_Error = require("./Error.js");
28
+ var import_Lifecycle = require("./Lifecycle.js");
29
+ var import_Observable = require("./Observable.js");
30
+ var import_Promises = require("./Promises.js");
31
+ /**
32
+ * @license
33
+ * Copyright 2022-2024 Matter.js Authors
34
+ * SPDX-License-Identifier: Apache-2.0
35
+ */
36
+ async function asyncNew(constructor, ...args) {
37
+ const subject = new constructor(...args);
38
+ if (subject.construction.status === import_Lifecycle.Lifecycle.Status.Inactive) {
39
+ throw new import_MatterError.ImplementationError(
40
+ `You cannot use asyncNew on ${constructor.name} because its construction is controlled by another component`
41
+ );
42
+ }
43
+ await subject.construction.ready;
44
+ return subject;
45
+ }
46
+ function Construction(subject, initializer) {
47
+ if (!initializer) {
48
+ assertDeferred(subject);
49
+ }
50
+ let initializerPromise;
51
+ let awaiterPromise;
52
+ let awaiterResolve;
53
+ let awaiterReject;
54
+ let closedPromise;
55
+ let closedResolve;
56
+ let closedReject;
57
+ let error;
58
+ let primaryCauseHandled = false;
59
+ let status = import_Lifecycle.Lifecycle.Status.Inactive;
60
+ let change;
61
+ const self = {
62
+ [Symbol.toStringTag]: "AsyncConstruction",
63
+ get error() {
64
+ return error;
65
+ },
66
+ get status() {
67
+ return status;
68
+ },
69
+ get change() {
70
+ if (change === void 0) {
71
+ change = (0, import_Observable.Observable)();
72
+ }
73
+ return change;
74
+ },
75
+ get isErrorHandled() {
76
+ return primaryCauseHandled;
77
+ },
78
+ start(...args) {
79
+ if (status !== import_Lifecycle.Lifecycle.Status.Inactive) {
80
+ throw new import_MatterError.ImplementationError(`Cannot initialize ${subject} because it is already active`);
81
+ }
82
+ assertDeferred(subject);
83
+ status = import_Lifecycle.Lifecycle.Status.Initializing;
84
+ try {
85
+ const initializeDeferred = () => subject[Construction.construct](...args);
86
+ invokeInitializer(initializeDeferred);
87
+ } catch (e) {
88
+ rejected(e);
89
+ return;
90
+ }
91
+ },
92
+ assert(description, dependency) {
93
+ import_Lifecycle.Lifecycle.assertActive(status, description ?? subject.constructor.name);
94
+ if (arguments.length < 2) {
95
+ return;
96
+ }
97
+ try {
98
+ if (dependency === void 0) {
99
+ throw new import_MatterError.ImplementationError(`Property is undefined`);
100
+ }
101
+ } catch (e) {
102
+ let error2;
103
+ if (e instanceof Error) {
104
+ error2 = e;
105
+ } else {
106
+ error2 = new import_MatterError.ImplementationError(e?.toString() ?? "(unknown error)");
107
+ }
108
+ error2.message = `Cannot access ${description}: ${error2.message}`;
109
+ throw error2;
110
+ }
111
+ return dependency;
112
+ },
113
+ then(onfulfilled, onrejected) {
114
+ const handleRejection = onrejected ? () => onrejected?.(crashedError()) : void 0;
115
+ if (status === import_Lifecycle.Lifecycle.Status.Inactive || status === import_Lifecycle.Lifecycle.Status.Initializing) {
116
+ if (!awaiterPromise) {
117
+ awaiterPromise = new Promise((resolve, reject) => {
118
+ awaiterResolve = resolve;
119
+ awaiterReject = reject;
120
+ });
121
+ }
122
+ return awaiterPromise.then(onfulfilled, handleRejection);
123
+ }
124
+ const promise = error ? Promise.reject(crashedError()) : Promise.resolve(subject);
125
+ return promise.then(onfulfilled, handleRejection);
126
+ },
127
+ catch(onrejected) {
128
+ return this.then(void 0, onrejected);
129
+ },
130
+ onSuccess(actor) {
131
+ const onSuccess = () => {
132
+ const errorHandler = createErrorHandler("onSuccess");
133
+ try {
134
+ const result = actor();
135
+ if (import_Promises.MaybePromise.is(result)) {
136
+ return Promise.resolve(result).catch(errorHandler);
137
+ }
138
+ } catch (e) {
139
+ errorHandler(e);
140
+ }
141
+ };
142
+ this.then(onSuccess).catch((e) => {
143
+ import_Lifecycle.CrashedDependencyError.accept(e);
144
+ });
145
+ },
146
+ onError(actor) {
147
+ const onError = (error2) => {
148
+ const errorHandler = createErrorHandler("onError");
149
+ try {
150
+ const result = actor((0, import_Error.errorOf)(error2));
151
+ if (import_Promises.MaybePromise.is(result)) {
152
+ return result.then(void 0, errorHandler);
153
+ }
154
+ } catch (e) {
155
+ errorHandler(e);
156
+ }
157
+ };
158
+ this.ready.catch(onError);
159
+ },
160
+ onCompletion(actor) {
161
+ const onCompletion = () => {
162
+ const errorHandler = createErrorHandler("onCompletion");
163
+ try {
164
+ actor();
165
+ } catch (e) {
166
+ errorHandler(e);
167
+ }
168
+ };
169
+ this.then(onCompletion, onCompletion);
170
+ },
171
+ close(destructor) {
172
+ const destructorError = createErrorHandler("destructor");
173
+ function destroyed() {
174
+ setStatus(import_Lifecycle.Lifecycle.Status.Destroyed);
175
+ if (closedResolve) {
176
+ closedResolve();
177
+ closedResolve = closedReject = void 0;
178
+ }
179
+ }
180
+ const destruct = subject[Construction.destruct];
181
+ const invokeDestruct = destruct ? function invokeDestruct2() {
182
+ try {
183
+ const promise = destruct.bind(subject)();
184
+ if (promise) {
185
+ return promise.then(void 0, destructorError).then(destroyed);
186
+ }
187
+ } catch (e) {
188
+ destructorError(e);
189
+ }
190
+ destroyed();
191
+ } : destroyed;
192
+ const invokeDestructor = destructor ? function invokeDestructor2() {
193
+ try {
194
+ const promise = destructor();
195
+ if (promise) {
196
+ return promise.then(void 0, destructorError).then(invokeDestruct);
197
+ }
198
+ } catch (e) {
199
+ destructorError(e);
200
+ }
201
+ invokeDestruct();
202
+ } : invokeDestruct;
203
+ function beginDestruction() {
204
+ if (status === import_Lifecycle.Lifecycle.Status.Destroying || status === import_Lifecycle.Lifecycle.Status.Destroyed) {
205
+ return self.closed;
206
+ }
207
+ setStatus(import_Lifecycle.Lifecycle.Status.Destroying);
208
+ return invokeDestructor();
209
+ }
210
+ if (status === import_Lifecycle.Lifecycle.Status.Initializing) {
211
+ return this.then(beginDestruction, beginDestruction);
212
+ }
213
+ return beginDestruction();
214
+ },
215
+ finally(onfinally) {
216
+ return Promise.prototype.finally.call(this, onfinally);
217
+ },
218
+ setStatus(newStatus) {
219
+ if (this.status === newStatus) {
220
+ return;
221
+ }
222
+ switch (status) {
223
+ case newStatus:
224
+ return;
225
+ case import_Lifecycle.Lifecycle.Status.Destroying:
226
+ if (newStatus !== import_Lifecycle.Lifecycle.Status.Destroyed) {
227
+ throw new import_MatterError.ImplementationError("Cannog change status because destruction is ongoing");
228
+ }
229
+ break;
230
+ case import_Lifecycle.Lifecycle.Status.Destroyed:
231
+ throw new import_MatterError.ImplementationError("Cannot change status because destruction is final");
232
+ case import_Lifecycle.Lifecycle.Status.Initializing:
233
+ throw new import_MatterError.ImplementationError("Cannot change status because initialization is ongoing");
234
+ }
235
+ switch (newStatus) {
236
+ case import_Lifecycle.Lifecycle.Status.Inactive:
237
+ awaiterPromise = closedPromise = void 0;
238
+ primaryCauseHandled = false;
239
+ error = void 0;
240
+ break;
241
+ case import_Lifecycle.Lifecycle.Status.Active:
242
+ awaiterPromise = closedPromise = void 0;
243
+ error = void 0;
244
+ break;
245
+ default:
246
+ break;
247
+ }
248
+ setStatus(newStatus);
249
+ },
250
+ crash(newError) {
251
+ error = newError;
252
+ setStatus(import_Lifecycle.Lifecycle.Status.Crashed);
253
+ },
254
+ get ready() {
255
+ return {
256
+ [Symbol.toStringTag]: "AsyncConstruction#primary",
257
+ then(onfulfilled, onrejected) {
258
+ let rejectionHandler;
259
+ if (onrejected) {
260
+ primaryCauseHandled = true;
261
+ rejectionHandler = () => onrejected((0, import_Error.errorOf)(error));
262
+ }
263
+ return self.then(onfulfilled, rejectionHandler);
264
+ },
265
+ catch(onrejected) {
266
+ return this.then(void 0, onrejected);
267
+ },
268
+ finally(onfinally) {
269
+ return Promise.prototype.finally.call(this, onfinally);
270
+ }
271
+ };
272
+ },
273
+ get closed() {
274
+ if (closedPromise === void 0) {
275
+ closedPromise = new Promise((resolve, reject) => {
276
+ closedResolve = resolve;
277
+ closedReject = reject;
278
+ });
279
+ }
280
+ return {
281
+ [Symbol.toStringTag]: "AsyncConstruction#primary",
282
+ then(onfulfilled, onrejected) {
283
+ let rejectionHandler;
284
+ if (onrejected) {
285
+ primaryCauseHandled = true;
286
+ rejectionHandler = () => onrejected((0, import_Error.errorOf)(error));
287
+ }
288
+ return closedPromise.then(onfulfilled, rejectionHandler);
289
+ },
290
+ catch(onrejected) {
291
+ return this.then(void 0, onrejected);
292
+ },
293
+ finally(onfinally) {
294
+ return Promise.prototype.finally.call(this, onfinally);
295
+ }
296
+ };
297
+ }
298
+ };
299
+ if (initializer) {
300
+ invokeInitializer(initializer);
301
+ }
302
+ return self;
303
+ function invokeInitializer(initializer2) {
304
+ status = import_Lifecycle.Lifecycle.Status.Initializing;
305
+ initializerPromise = initializer2();
306
+ if (import_Promises.MaybePromise.is(initializerPromise)) {
307
+ initializerPromise.then(resolved, rejected);
308
+ } else {
309
+ resolved();
310
+ }
311
+ }
312
+ function crashedError() {
313
+ if (!primaryCauseHandled && error) {
314
+ primaryCauseHandled = true;
315
+ return error;
316
+ }
317
+ let what;
318
+ if (subject.toString === Object.prototype.toString) {
319
+ what = subject.constructor.name;
320
+ } else {
321
+ what = subject.toString();
322
+ }
323
+ const crashError = new import_Lifecycle.CrashedDependencyError(what, "unavailable due to initialization error");
324
+ crashError.subject = subject;
325
+ return crashError;
326
+ }
327
+ function setStatus(newStatus) {
328
+ if (status === newStatus) {
329
+ return;
330
+ }
331
+ status = newStatus;
332
+ if (change) {
333
+ change.emit(status, subject);
334
+ }
335
+ }
336
+ function resolved() {
337
+ if (status === import_Lifecycle.Lifecycle.Status.Initializing) {
338
+ setStatus(import_Lifecycle.Lifecycle.Status.Active);
339
+ }
340
+ if (awaiterResolve) {
341
+ const resolve = awaiterResolve;
342
+ awaiterResolve = awaiterReject = void 0;
343
+ resolve(subject);
344
+ }
345
+ }
346
+ function rejected(cause) {
347
+ if (status !== import_Lifecycle.Lifecycle.Status.Destroying && status !== import_Lifecycle.Lifecycle.Status.Destroyed) {
348
+ error = cause;
349
+ setStatus(import_Lifecycle.Lifecycle.Status.Crashed);
350
+ }
351
+ if (awaiterReject) {
352
+ const reject = awaiterReject;
353
+ awaiterResolve = awaiterReject = void 0;
354
+ reject(crashedError());
355
+ }
356
+ if (closedReject) {
357
+ primaryCauseHandled = true;
358
+ const reject = closedReject;
359
+ closedResolve = closedReject = void 0;
360
+ reject(cause);
361
+ }
362
+ if (!primaryCauseHandled) {
363
+ unhandledError(cause);
364
+ }
365
+ }
366
+ function unhandledError(...args) {
367
+ const logger = import_Logger.Logger.get(subject.constructor.name);
368
+ logger.error(...args);
369
+ }
370
+ function createErrorHandler(name) {
371
+ return (e) => {
372
+ unhandledError(`Unhandled error in ${self} ${name}:`, e);
373
+ };
374
+ }
375
+ }
376
+ ((Construction2) => {
377
+ function all(subjects, onError) {
378
+ if (onError === void 0) {
379
+ onError = (errors) => new import_Lifecycle.CrashedDependenciesError(errors);
380
+ }
381
+ const subjectArray = [...subjects];
382
+ const uninitialized = subjectArray.filter(
383
+ (subject) => subject.construction.status === import_Lifecycle.Lifecycle.Status.Initializing
384
+ );
385
+ if (uninitialized.length) {
386
+ return Promise.allSettled(uninitialized.map((backing) => backing.construction)).then(
387
+ () => (
388
+ // Recurse to ensure subjects added subsequent to initial "all" settle
389
+ all(subjects, onError)
390
+ )
391
+ );
392
+ }
393
+ const crashed = Object.values(subjectArray).filter(
394
+ (backing) => backing.construction.status === import_Lifecycle.Lifecycle.Status.Crashed
395
+ );
396
+ if (crashed.length) {
397
+ let error;
398
+ try {
399
+ error = onError(crashed);
400
+ } catch (e) {
401
+ error = e;
402
+ }
403
+ if (error) {
404
+ return Promise.reject(error);
405
+ }
406
+ }
407
+ }
408
+ Construction2.all = all;
409
+ Construction2.construct = Symbol("construct");
410
+ Construction2.destruct = Symbol("destruct");
411
+ })(Construction || (Construction = {}));
412
+ function assertDeferred(subject) {
413
+ if (typeof subject?.[Construction.construct] !== "function") {
414
+ throw new import_MatterError.ImplementationError(`No initializer defined for ${subject}`);
415
+ }
416
+ }
417
+ //# sourceMappingURL=Construction.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/Construction.ts"],
4
+ "mappings": "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",
5
+ "names": ["error", "invokeDestruct", "invokeDestructor", "initializer", "Construction"]
6
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Promise-based blocking queue.
3
+ *
4
+ * @license
5
+ * Copyright 2022-2024 Matter.js Authors
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ import { Stream } from "./Stream.js";
9
+ export declare class DataReadQueue<T> implements Stream<T> {
10
+ private readonly queue;
11
+ private pendingRead?;
12
+ private closed;
13
+ read(timeoutMs?: number): Promise<T>;
14
+ write(data: T): Promise<void>;
15
+ close(): void;
16
+ }
17
+ //# sourceMappingURL=DataReadQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAA4C,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAyF;IAC7G,OAAO,CAAC,MAAM,CAAS;IAEjB,IAAI,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBpC,KAAK,CAAC,IAAI,EAAE,CAAC;IAWnB,KAAK;CAOR"}
@@ -0,0 +1,76 @@
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 DataReadQueue_exports = {};
20
+ __export(DataReadQueue_exports, {
21
+ DataReadQueue: () => DataReadQueue
22
+ });
23
+ module.exports = __toCommonJS(DataReadQueue_exports);
24
+ var import_MatterError = require("../MatterError.js");
25
+ var import_Time = require("../time/Time.js");
26
+ var import_Promises = require("./Promises.js");
27
+ var import_Stream = require("./Stream.js");
28
+ /**
29
+ * Promise-based blocking queue.
30
+ *
31
+ * @license
32
+ * Copyright 2022-2024 Matter.js Authors
33
+ * SPDX-License-Identifier: Apache-2.0
34
+ */
35
+ class DataReadQueue {
36
+ queue = new Array();
37
+ pendingRead;
38
+ closed = false;
39
+ async read(timeoutMs = 6e4) {
40
+ const { promise, resolver, rejecter } = (0, import_Promises.createPromise)();
41
+ if (this.closed) throw new import_Stream.EndOfStreamError();
42
+ const data = this.queue.shift();
43
+ if (data !== void 0) {
44
+ return data;
45
+ }
46
+ if (this.pendingRead !== void 0) throw new import_MatterError.MatterFlowError("Only one pending read is supported");
47
+ this.pendingRead = {
48
+ resolver,
49
+ rejecter,
50
+ timeoutTimer: import_Time.Time.getTimer(
51
+ "Queue timeout",
52
+ timeoutMs,
53
+ () => rejecter(new import_Stream.NoResponseTimeoutError())
54
+ ).start()
55
+ };
56
+ return promise;
57
+ }
58
+ async write(data) {
59
+ if (this.closed) throw new import_Stream.EndOfStreamError();
60
+ if (this.pendingRead !== void 0) {
61
+ this.pendingRead.timeoutTimer?.stop();
62
+ this.pendingRead.resolver(data);
63
+ this.pendingRead = void 0;
64
+ return;
65
+ }
66
+ this.queue.push(data);
67
+ }
68
+ close() {
69
+ if (this.closed) return;
70
+ this.closed = true;
71
+ if (this.pendingRead === void 0) return;
72
+ this.pendingRead.timeoutTimer?.stop();
73
+ this.pendingRead.rejecter(new import_Stream.EndOfStreamError());
74
+ }
75
+ }
76
+ //# sourceMappingURL=DataReadQueue.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/DataReadQueue.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,yBAAgC;AAChC,kBAA4B;AAC5B,sBAA8B;AAC9B,oBAAiE;AAXjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,cAAsC;AAAA,EAC9B,QAAQ,IAAI,MAAS;AAAA,EAC9B;AAAA,EACA,SAAS;AAAA,EAEjB,MAAM,KAAK,YAAY,KAAoB;AACvC,UAAM,EAAE,SAAS,UAAU,SAAS,QAAI,+BAAiB;AACzD,QAAI,KAAK,OAAQ,OAAM,IAAI,+BAAiB;AAC5C,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,gBAAgB,OAAW,OAAM,IAAI,mCAAgB,oCAAoC;AAClG,SAAK,cAAc;AAAA,MACf;AAAA,MACA;AAAA,MACA,cAAc,iBAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAW,MACpD,SAAS,IAAI,qCAAuB,CAAC;AAAA,MACzC,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,QAAI,KAAK,OAAQ,OAAM,IAAI,+BAAiB;AAC5C,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,YAAY,cAAc,KAAK;AACpC,WAAK,YAAY,SAAS,IAAI;AAC9B,WAAK,cAAc;AACnB;AAAA,IACJ;AACA,SAAK,MAAM,KAAK,IAAI;AAAA,EACxB;AAAA,EAEA,QAAQ;AACJ,QAAI,KAAK,OAAQ;AACjB,SAAK,SAAS;AACd,QAAI,KAAK,gBAAgB,OAAW;AACpC,SAAK,YAAY,cAAc,KAAK;AACpC,SAAK,YAAY,SAAS,IAAI,+BAAiB,CAAC;AAAA,EACpD;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Endian } from "./Bytes.js";
7
+ /** Reader that auto-increments its offset after each read. */
8
+ export declare class DataReader<E extends Endian> {
9
+ private readonly buffer;
10
+ private readonly littleEndian;
11
+ private readonly dataView;
12
+ private offset;
13
+ constructor(buffer: Uint8Array, endian: E);
14
+ readUInt8(): number;
15
+ readUInt16(): number;
16
+ readUInt32(): number;
17
+ readUInt64(): bigint;
18
+ readInt8(): number;
19
+ readInt16(): number;
20
+ readInt32(): number;
21
+ readInt64(): bigint;
22
+ readFloat(): number;
23
+ readDouble(): number;
24
+ readUtf8String(length: number): string;
25
+ readByteArray(length: number): Uint8Array;
26
+ getRemainingBytesCount(): number;
27
+ getRemainingBytes(): Uint8Array;
28
+ getLength(): number;
29
+ setOffset(offset: number): void;
30
+ private getOffsetAndAdvance;
31
+ }
32
+ //# sourceMappingURL=DataReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataReader.d.ts","sourceRoot":"","sources":["../../../src/util/DataReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3C,8DAA8D;AAC9D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM;IAMhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,MAAM,CAAK;gBAGE,MAAM,EAAE,UAAU,EACnC,MAAM,EAAE,CAAC;IAMb,SAAS;IAIT,UAAU;IAIV,UAAU;IAIV,UAAU;IAIV,QAAQ;IAIR,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,UAAU;IAIV,cAAc,CAAC,MAAM,EAAE,MAAM;IAK7B,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,sBAAsB;IAItB,iBAAiB;IAIjB,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM;IAOxB,OAAO,CAAC,mBAAmB;CAQ9B"}
@@ -0,0 +1,101 @@
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 DataReader_exports = {};
20
+ __export(DataReader_exports, {
21
+ DataReader: () => DataReader
22
+ });
23
+ module.exports = __toCommonJS(DataReader_exports);
24
+ var import_Bytes = require("./Bytes.js");
25
+ /**
26
+ * @license
27
+ * Copyright 2022-2024 Matter.js Authors
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ class DataReader {
31
+ constructor(buffer, endian) {
32
+ this.buffer = buffer;
33
+ this.dataView = import_Bytes.Bytes.dataViewOf(buffer);
34
+ this.littleEndian = endian === import_Bytes.Endian.Little;
35
+ }
36
+ littleEndian;
37
+ dataView;
38
+ offset = 0;
39
+ readUInt8() {
40
+ return this.dataView.getUint8(this.getOffsetAndAdvance(1));
41
+ }
42
+ readUInt16() {
43
+ return this.dataView.getUint16(this.getOffsetAndAdvance(2), this.littleEndian);
44
+ }
45
+ readUInt32() {
46
+ return this.dataView.getUint32(this.getOffsetAndAdvance(4), this.littleEndian);
47
+ }
48
+ readUInt64() {
49
+ return this.dataView.getBigUint64(this.getOffsetAndAdvance(8), this.littleEndian);
50
+ }
51
+ readInt8() {
52
+ return this.dataView.getInt8(this.getOffsetAndAdvance(1));
53
+ }
54
+ readInt16() {
55
+ return this.dataView.getInt16(this.getOffsetAndAdvance(2), this.littleEndian);
56
+ }
57
+ readInt32() {
58
+ return this.dataView.getInt32(this.getOffsetAndAdvance(4), this.littleEndian);
59
+ }
60
+ readInt64() {
61
+ return this.dataView.getBigInt64(this.getOffsetAndAdvance(8), this.littleEndian);
62
+ }
63
+ readFloat() {
64
+ return this.dataView.getFloat32(this.getOffsetAndAdvance(4), this.littleEndian);
65
+ }
66
+ readDouble() {
67
+ return this.dataView.getFloat64(this.getOffsetAndAdvance(8), this.littleEndian);
68
+ }
69
+ readUtf8String(length) {
70
+ const offset = this.getOffsetAndAdvance(length);
71
+ return new TextDecoder().decode(this.buffer.subarray(offset, offset + length));
72
+ }
73
+ readByteArray(length) {
74
+ const offset = this.getOffsetAndAdvance(length);
75
+ return this.buffer.subarray(offset, offset + length);
76
+ }
77
+ getRemainingBytesCount() {
78
+ return this.dataView.byteLength - this.offset;
79
+ }
80
+ getRemainingBytes() {
81
+ return this.buffer.subarray(this.offset);
82
+ }
83
+ getLength() {
84
+ return this.dataView.byteLength;
85
+ }
86
+ setOffset(offset) {
87
+ if (offset > this.dataView.byteLength) {
88
+ throw new Error(`Offset ${offset} is out of bounds.`);
89
+ }
90
+ this.offset = offset;
91
+ }
92
+ getOffsetAndAdvance(size) {
93
+ const result = this.offset;
94
+ this.offset += size;
95
+ if (this.offset > this.dataView.byteLength) {
96
+ this.offset = this.dataView.byteLength;
97
+ }
98
+ return result;
99
+ }
100
+ }
101
+ //# sourceMappingURL=DataReader.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/DataReader.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAA8B;AAN9B;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,WAA6B;AAAA,EAKtC,YACqB,QACjB,QACF;AAFmB;AAGjB,SAAK,WAAW,mBAAM,WAAW,MAAM;AACvC,SAAK,eAAe,WAAW,oBAAO;AAAA,EAC1C;AAAA,EAViB;AAAA,EACA;AAAA,EACT,SAAS;AAAA,EAUjB,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC7D;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACjF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACjF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,aAAa,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACpF;AAAA,EAEA,WAAW;AACP,WAAO,KAAK,SAAS,QAAQ,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC5D;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAChF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAChF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,YAAY,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACnF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAClF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAClF;AAAA,EAEA,eAAe,QAAgB;AAC3B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,IAAI,YAAY,EAAE,OAAO,KAAK,OAAO,SAAS,QAAQ,SAAS,MAAM,CAAC;AAAA,EACjF;AAAA,EAEA,cAAc,QAAgB;AAC1B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,KAAK,OAAO,SAAS,QAAQ,SAAS,MAAM;AAAA,EACvD;AAAA,EAEA,yBAAyB;AACrB,WAAO,KAAK,SAAS,aAAa,KAAK;AAAA,EAC3C;AAAA,EAEA,oBAAoB;AAChB,WAAO,KAAK,OAAO,SAAS,KAAK,MAAM;AAAA,EAC3C;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,UAAU,QAAgB;AACtB,QAAI,SAAS,KAAK,SAAS,YAAY;AACnC,YAAM,IAAI,MAAM,UAAU,MAAM,oBAAoB;AAAA,IACxD;AACA,SAAK,SAAS;AAAA,EAClB;AAAA,EAEQ,oBAAoB,MAAc;AACtC,UAAM,SAAS,KAAK;AACpB,SAAK,UAAU;AACf,QAAI,KAAK,SAAS,KAAK,SAAS,YAAY;AACxC,WAAK,SAAS,KAAK,SAAS;AAAA,IAChC;AACA,WAAO;AAAA,EACX;AACJ;",
5
+ "names": []
6
+ }