@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,397 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Logger } from "../log/Logger.js";
7
+ import { ImplementationError } from "../MatterError.js";
8
+ import { errorOf } from "./Error.js";
9
+ import { CrashedDependenciesError, CrashedDependencyError, Lifecycle } from "./Lifecycle.js";
10
+ import { Observable } from "./Observable.js";
11
+ import { MaybePromise } from "./Promises.js";
12
+ async function asyncNew(constructor, ...args) {
13
+ const subject = new constructor(...args);
14
+ if (subject.construction.status === Lifecycle.Status.Inactive) {
15
+ throw new ImplementationError(
16
+ `You cannot use asyncNew on ${constructor.name} because its construction is controlled by another component`
17
+ );
18
+ }
19
+ await subject.construction.ready;
20
+ return subject;
21
+ }
22
+ function Construction(subject, initializer) {
23
+ if (!initializer) {
24
+ assertDeferred(subject);
25
+ }
26
+ let initializerPromise;
27
+ let awaiterPromise;
28
+ let awaiterResolve;
29
+ let awaiterReject;
30
+ let closedPromise;
31
+ let closedResolve;
32
+ let closedReject;
33
+ let error;
34
+ let primaryCauseHandled = false;
35
+ let status = Lifecycle.Status.Inactive;
36
+ let change;
37
+ const self = {
38
+ [Symbol.toStringTag]: "AsyncConstruction",
39
+ get error() {
40
+ return error;
41
+ },
42
+ get status() {
43
+ return status;
44
+ },
45
+ get change() {
46
+ if (change === void 0) {
47
+ change = Observable();
48
+ }
49
+ return change;
50
+ },
51
+ get isErrorHandled() {
52
+ return primaryCauseHandled;
53
+ },
54
+ start(...args) {
55
+ if (status !== Lifecycle.Status.Inactive) {
56
+ throw new ImplementationError(`Cannot initialize ${subject} because it is already active`);
57
+ }
58
+ assertDeferred(subject);
59
+ status = Lifecycle.Status.Initializing;
60
+ try {
61
+ const initializeDeferred = () => subject[Construction.construct](...args);
62
+ invokeInitializer(initializeDeferred);
63
+ } catch (e) {
64
+ rejected(e);
65
+ return;
66
+ }
67
+ },
68
+ assert(description, dependency) {
69
+ Lifecycle.assertActive(status, description ?? subject.constructor.name);
70
+ if (arguments.length < 2) {
71
+ return;
72
+ }
73
+ try {
74
+ if (dependency === void 0) {
75
+ throw new ImplementationError(`Property is undefined`);
76
+ }
77
+ } catch (e) {
78
+ let error2;
79
+ if (e instanceof Error) {
80
+ error2 = e;
81
+ } else {
82
+ error2 = new ImplementationError(e?.toString() ?? "(unknown error)");
83
+ }
84
+ error2.message = `Cannot access ${description}: ${error2.message}`;
85
+ throw error2;
86
+ }
87
+ return dependency;
88
+ },
89
+ then(onfulfilled, onrejected) {
90
+ const handleRejection = onrejected ? () => onrejected?.(crashedError()) : void 0;
91
+ if (status === Lifecycle.Status.Inactive || status === Lifecycle.Status.Initializing) {
92
+ if (!awaiterPromise) {
93
+ awaiterPromise = new Promise((resolve, reject) => {
94
+ awaiterResolve = resolve;
95
+ awaiterReject = reject;
96
+ });
97
+ }
98
+ return awaiterPromise.then(onfulfilled, handleRejection);
99
+ }
100
+ const promise = error ? Promise.reject(crashedError()) : Promise.resolve(subject);
101
+ return promise.then(onfulfilled, handleRejection);
102
+ },
103
+ catch(onrejected) {
104
+ return this.then(void 0, onrejected);
105
+ },
106
+ onSuccess(actor) {
107
+ const onSuccess = () => {
108
+ const errorHandler = createErrorHandler("onSuccess");
109
+ try {
110
+ const result = actor();
111
+ if (MaybePromise.is(result)) {
112
+ return Promise.resolve(result).catch(errorHandler);
113
+ }
114
+ } catch (e) {
115
+ errorHandler(e);
116
+ }
117
+ };
118
+ this.then(onSuccess).catch((e) => {
119
+ CrashedDependencyError.accept(e);
120
+ });
121
+ },
122
+ onError(actor) {
123
+ const onError = (error2) => {
124
+ const errorHandler = createErrorHandler("onError");
125
+ try {
126
+ const result = actor(errorOf(error2));
127
+ if (MaybePromise.is(result)) {
128
+ return result.then(void 0, errorHandler);
129
+ }
130
+ } catch (e) {
131
+ errorHandler(e);
132
+ }
133
+ };
134
+ this.ready.catch(onError);
135
+ },
136
+ onCompletion(actor) {
137
+ const onCompletion = () => {
138
+ const errorHandler = createErrorHandler("onCompletion");
139
+ try {
140
+ actor();
141
+ } catch (e) {
142
+ errorHandler(e);
143
+ }
144
+ };
145
+ this.then(onCompletion, onCompletion);
146
+ },
147
+ close(destructor) {
148
+ const destructorError = createErrorHandler("destructor");
149
+ function destroyed() {
150
+ setStatus(Lifecycle.Status.Destroyed);
151
+ if (closedResolve) {
152
+ closedResolve();
153
+ closedResolve = closedReject = void 0;
154
+ }
155
+ }
156
+ const destruct = subject[Construction.destruct];
157
+ const invokeDestruct = destruct ? function invokeDestruct2() {
158
+ try {
159
+ const promise = destruct.bind(subject)();
160
+ if (promise) {
161
+ return promise.then(void 0, destructorError).then(destroyed);
162
+ }
163
+ } catch (e) {
164
+ destructorError(e);
165
+ }
166
+ destroyed();
167
+ } : destroyed;
168
+ const invokeDestructor = destructor ? function invokeDestructor2() {
169
+ try {
170
+ const promise = destructor();
171
+ if (promise) {
172
+ return promise.then(void 0, destructorError).then(invokeDestruct);
173
+ }
174
+ } catch (e) {
175
+ destructorError(e);
176
+ }
177
+ invokeDestruct();
178
+ } : invokeDestruct;
179
+ function beginDestruction() {
180
+ if (status === Lifecycle.Status.Destroying || status === Lifecycle.Status.Destroyed) {
181
+ return self.closed;
182
+ }
183
+ setStatus(Lifecycle.Status.Destroying);
184
+ return invokeDestructor();
185
+ }
186
+ if (status === Lifecycle.Status.Initializing) {
187
+ return this.then(beginDestruction, beginDestruction);
188
+ }
189
+ return beginDestruction();
190
+ },
191
+ finally(onfinally) {
192
+ return Promise.prototype.finally.call(this, onfinally);
193
+ },
194
+ setStatus(newStatus) {
195
+ if (this.status === newStatus) {
196
+ return;
197
+ }
198
+ switch (status) {
199
+ case newStatus:
200
+ return;
201
+ case Lifecycle.Status.Destroying:
202
+ if (newStatus !== Lifecycle.Status.Destroyed) {
203
+ throw new ImplementationError("Cannog change status because destruction is ongoing");
204
+ }
205
+ break;
206
+ case Lifecycle.Status.Destroyed:
207
+ throw new ImplementationError("Cannot change status because destruction is final");
208
+ case Lifecycle.Status.Initializing:
209
+ throw new ImplementationError("Cannot change status because initialization is ongoing");
210
+ }
211
+ switch (newStatus) {
212
+ case Lifecycle.Status.Inactive:
213
+ awaiterPromise = closedPromise = void 0;
214
+ primaryCauseHandled = false;
215
+ error = void 0;
216
+ break;
217
+ case Lifecycle.Status.Active:
218
+ awaiterPromise = closedPromise = void 0;
219
+ error = void 0;
220
+ break;
221
+ default:
222
+ break;
223
+ }
224
+ setStatus(newStatus);
225
+ },
226
+ crash(newError) {
227
+ error = newError;
228
+ setStatus(Lifecycle.Status.Crashed);
229
+ },
230
+ get ready() {
231
+ return {
232
+ [Symbol.toStringTag]: "AsyncConstruction#primary",
233
+ then(onfulfilled, onrejected) {
234
+ let rejectionHandler;
235
+ if (onrejected) {
236
+ primaryCauseHandled = true;
237
+ rejectionHandler = () => onrejected(errorOf(error));
238
+ }
239
+ return self.then(onfulfilled, rejectionHandler);
240
+ },
241
+ catch(onrejected) {
242
+ return this.then(void 0, onrejected);
243
+ },
244
+ finally(onfinally) {
245
+ return Promise.prototype.finally.call(this, onfinally);
246
+ }
247
+ };
248
+ },
249
+ get closed() {
250
+ if (closedPromise === void 0) {
251
+ closedPromise = new Promise((resolve, reject) => {
252
+ closedResolve = resolve;
253
+ closedReject = reject;
254
+ });
255
+ }
256
+ return {
257
+ [Symbol.toStringTag]: "AsyncConstruction#primary",
258
+ then(onfulfilled, onrejected) {
259
+ let rejectionHandler;
260
+ if (onrejected) {
261
+ primaryCauseHandled = true;
262
+ rejectionHandler = () => onrejected(errorOf(error));
263
+ }
264
+ return closedPromise.then(onfulfilled, rejectionHandler);
265
+ },
266
+ catch(onrejected) {
267
+ return this.then(void 0, onrejected);
268
+ },
269
+ finally(onfinally) {
270
+ return Promise.prototype.finally.call(this, onfinally);
271
+ }
272
+ };
273
+ }
274
+ };
275
+ if (initializer) {
276
+ invokeInitializer(initializer);
277
+ }
278
+ return self;
279
+ function invokeInitializer(initializer2) {
280
+ status = Lifecycle.Status.Initializing;
281
+ initializerPromise = initializer2();
282
+ if (MaybePromise.is(initializerPromise)) {
283
+ initializerPromise.then(resolved, rejected);
284
+ } else {
285
+ resolved();
286
+ }
287
+ }
288
+ function crashedError() {
289
+ if (!primaryCauseHandled && error) {
290
+ primaryCauseHandled = true;
291
+ return error;
292
+ }
293
+ let what;
294
+ if (subject.toString === Object.prototype.toString) {
295
+ what = subject.constructor.name;
296
+ } else {
297
+ what = subject.toString();
298
+ }
299
+ const crashError = new CrashedDependencyError(what, "unavailable due to initialization error");
300
+ crashError.subject = subject;
301
+ return crashError;
302
+ }
303
+ function setStatus(newStatus) {
304
+ if (status === newStatus) {
305
+ return;
306
+ }
307
+ status = newStatus;
308
+ if (change) {
309
+ change.emit(status, subject);
310
+ }
311
+ }
312
+ function resolved() {
313
+ if (status === Lifecycle.Status.Initializing) {
314
+ setStatus(Lifecycle.Status.Active);
315
+ }
316
+ if (awaiterResolve) {
317
+ const resolve = awaiterResolve;
318
+ awaiterResolve = awaiterReject = void 0;
319
+ resolve(subject);
320
+ }
321
+ }
322
+ function rejected(cause) {
323
+ if (status !== Lifecycle.Status.Destroying && status !== Lifecycle.Status.Destroyed) {
324
+ error = cause;
325
+ setStatus(Lifecycle.Status.Crashed);
326
+ }
327
+ if (awaiterReject) {
328
+ const reject = awaiterReject;
329
+ awaiterResolve = awaiterReject = void 0;
330
+ reject(crashedError());
331
+ }
332
+ if (closedReject) {
333
+ primaryCauseHandled = true;
334
+ const reject = closedReject;
335
+ closedResolve = closedReject = void 0;
336
+ reject(cause);
337
+ }
338
+ if (!primaryCauseHandled) {
339
+ unhandledError(cause);
340
+ }
341
+ }
342
+ function unhandledError(...args) {
343
+ const logger = Logger.get(subject.constructor.name);
344
+ logger.error(...args);
345
+ }
346
+ function createErrorHandler(name) {
347
+ return (e) => {
348
+ unhandledError(`Unhandled error in ${self} ${name}:`, e);
349
+ };
350
+ }
351
+ }
352
+ ((Construction2) => {
353
+ function all(subjects, onError) {
354
+ if (onError === void 0) {
355
+ onError = (errors) => new CrashedDependenciesError(errors);
356
+ }
357
+ const subjectArray = [...subjects];
358
+ const uninitialized = subjectArray.filter(
359
+ (subject) => subject.construction.status === Lifecycle.Status.Initializing
360
+ );
361
+ if (uninitialized.length) {
362
+ return Promise.allSettled(uninitialized.map((backing) => backing.construction)).then(
363
+ () => (
364
+ // Recurse to ensure subjects added subsequent to initial "all" settle
365
+ all(subjects, onError)
366
+ )
367
+ );
368
+ }
369
+ const crashed = Object.values(subjectArray).filter(
370
+ (backing) => backing.construction.status === Lifecycle.Status.Crashed
371
+ );
372
+ if (crashed.length) {
373
+ let error;
374
+ try {
375
+ error = onError(crashed);
376
+ } catch (e) {
377
+ error = e;
378
+ }
379
+ if (error) {
380
+ return Promise.reject(error);
381
+ }
382
+ }
383
+ }
384
+ Construction2.all = all;
385
+ Construction2.construct = Symbol("construct");
386
+ Construction2.destruct = Symbol("destruct");
387
+ })(Construction || (Construction = {}));
388
+ function assertDeferred(subject) {
389
+ if (typeof subject?.[Construction.construct] !== "function") {
390
+ throw new ImplementationError(`No initializer defined for ${subject}`);
391
+ }
392
+ }
393
+ export {
394
+ Construction,
395
+ asyncNew
396
+ };
397
+ //# 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,56 @@
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 { MatterFlowError } from "../MatterError.js";
9
+ import { Time } from "../time/Time.js";
10
+ import { createPromise } from "./Promises.js";
11
+ import { EndOfStreamError, NoResponseTimeoutError } from "./Stream.js";
12
+ class DataReadQueue {
13
+ queue = new Array();
14
+ pendingRead;
15
+ closed = false;
16
+ async read(timeoutMs = 6e4) {
17
+ const { promise, resolver, rejecter } = createPromise();
18
+ if (this.closed) throw new EndOfStreamError();
19
+ const data = this.queue.shift();
20
+ if (data !== void 0) {
21
+ return data;
22
+ }
23
+ if (this.pendingRead !== void 0) throw new MatterFlowError("Only one pending read is supported");
24
+ this.pendingRead = {
25
+ resolver,
26
+ rejecter,
27
+ timeoutTimer: Time.getTimer(
28
+ "Queue timeout",
29
+ timeoutMs,
30
+ () => rejecter(new NoResponseTimeoutError())
31
+ ).start()
32
+ };
33
+ return promise;
34
+ }
35
+ async write(data) {
36
+ if (this.closed) throw new EndOfStreamError();
37
+ if (this.pendingRead !== void 0) {
38
+ this.pendingRead.timeoutTimer?.stop();
39
+ this.pendingRead.resolver(data);
40
+ this.pendingRead = void 0;
41
+ return;
42
+ }
43
+ this.queue.push(data);
44
+ }
45
+ close() {
46
+ if (this.closed) return;
47
+ this.closed = true;
48
+ if (this.pendingRead === void 0) return;
49
+ this.pendingRead.timeoutTimer?.stop();
50
+ this.pendingRead.rejecter(new EndOfStreamError());
51
+ }
52
+ }
53
+ export {
54
+ DataReadQueue
55
+ };
56
+ //# 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;AAAA;AAAA;AAQA,SAAS,uBAAuB;AAChC,SAAS,YAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB,8BAAsC;AAE1D,MAAM,cAAsC;AAAA,EAC9B,QAAQ,IAAI,MAAS;AAAA,EAC9B;AAAA,EACA,SAAS;AAAA,EAEjB,MAAM,KAAK,YAAY,KAAoB;AACvC,UAAM,EAAE,SAAS,UAAU,SAAS,IAAI,cAAiB;AACzD,QAAI,KAAK,OAAQ,OAAM,IAAI,iBAAiB;AAC5C,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,gBAAgB,OAAW,OAAM,IAAI,gBAAgB,oCAAoC;AAClG,SAAK,cAAc;AAAA,MACf;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAW,MACpD,SAAS,IAAI,uBAAuB,CAAC;AAAA,MACzC,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,QAAI,KAAK,OAAQ,OAAM,IAAI,iBAAiB;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,iBAAiB,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,81 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes, Endian } from "./Bytes.js";
7
+ class DataReader {
8
+ constructor(buffer, endian) {
9
+ this.buffer = buffer;
10
+ this.dataView = Bytes.dataViewOf(buffer);
11
+ this.littleEndian = endian === Endian.Little;
12
+ }
13
+ littleEndian;
14
+ dataView;
15
+ offset = 0;
16
+ readUInt8() {
17
+ return this.dataView.getUint8(this.getOffsetAndAdvance(1));
18
+ }
19
+ readUInt16() {
20
+ return this.dataView.getUint16(this.getOffsetAndAdvance(2), this.littleEndian);
21
+ }
22
+ readUInt32() {
23
+ return this.dataView.getUint32(this.getOffsetAndAdvance(4), this.littleEndian);
24
+ }
25
+ readUInt64() {
26
+ return this.dataView.getBigUint64(this.getOffsetAndAdvance(8), this.littleEndian);
27
+ }
28
+ readInt8() {
29
+ return this.dataView.getInt8(this.getOffsetAndAdvance(1));
30
+ }
31
+ readInt16() {
32
+ return this.dataView.getInt16(this.getOffsetAndAdvance(2), this.littleEndian);
33
+ }
34
+ readInt32() {
35
+ return this.dataView.getInt32(this.getOffsetAndAdvance(4), this.littleEndian);
36
+ }
37
+ readInt64() {
38
+ return this.dataView.getBigInt64(this.getOffsetAndAdvance(8), this.littleEndian);
39
+ }
40
+ readFloat() {
41
+ return this.dataView.getFloat32(this.getOffsetAndAdvance(4), this.littleEndian);
42
+ }
43
+ readDouble() {
44
+ return this.dataView.getFloat64(this.getOffsetAndAdvance(8), this.littleEndian);
45
+ }
46
+ readUtf8String(length) {
47
+ const offset = this.getOffsetAndAdvance(length);
48
+ return new TextDecoder().decode(this.buffer.subarray(offset, offset + length));
49
+ }
50
+ readByteArray(length) {
51
+ const offset = this.getOffsetAndAdvance(length);
52
+ return this.buffer.subarray(offset, offset + length);
53
+ }
54
+ getRemainingBytesCount() {
55
+ return this.dataView.byteLength - this.offset;
56
+ }
57
+ getRemainingBytes() {
58
+ return this.buffer.subarray(this.offset);
59
+ }
60
+ getLength() {
61
+ return this.dataView.byteLength;
62
+ }
63
+ setOffset(offset) {
64
+ if (offset > this.dataView.byteLength) {
65
+ throw new Error(`Offset ${offset} is out of bounds.`);
66
+ }
67
+ this.offset = offset;
68
+ }
69
+ getOffsetAndAdvance(size) {
70
+ const result = this.offset;
71
+ this.offset += size;
72
+ if (this.offset > this.dataView.byteLength) {
73
+ this.offset = this.dataView.byteLength;
74
+ }
75
+ return result;
76
+ }
77
+ }
78
+ export {
79
+ DataReader
80
+ };
81
+ //# 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,SAAS,OAAO,cAAc;AAGvB,MAAM,WAA6B;AAAA,EAKtC,YACqB,QACjB,QACF;AAFmB;AAGjB,SAAK,WAAW,MAAM,WAAW,MAAM;AACvC,SAAK,eAAe,WAAW,OAAO;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
+ }
@@ -0,0 +1,26 @@
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
+ /** Writer that auto-increments its offset after each write. */
8
+ export declare class DataWriter<E extends Endian> {
9
+ private readonly littleEndian;
10
+ private length;
11
+ private readonly chunks;
12
+ constructor(endian: E);
13
+ writeUInt8(value: number | bigint): void;
14
+ writeUInt16(value: number | bigint): void;
15
+ writeUInt32(value: number | bigint): void;
16
+ writeUInt64(value: number | bigint): void;
17
+ writeInt8(value: number | bigint): void;
18
+ writeInt16(value: number | bigint): void;
19
+ writeInt32(value: number | bigint): void;
20
+ writeInt64(value: number | bigint): void;
21
+ writeFloat(value: number): void;
22
+ writeDouble(value: number): void;
23
+ writeByteArray(value: Uint8Array): void;
24
+ toByteArray(): Uint8Array;
25
+ }
26
+ //# sourceMappingURL=DataWriter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataWriter.d.ts","sourceRoot":"","sources":["../../../src/util/DataWriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,+DAA+D;AAE/D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAEtC,MAAM,EAAE,CAAC;IAIrB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM;IAOxB,WAAW,CAAC,KAAK,EAAE,MAAM;IAOzB,cAAc,CAAC,KAAK,EAAE,UAAU;IAKhC,WAAW;CAed"}