@pnpm/exe 11.0.0-dev.1005 → 11.0.0-rc.0

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 (584) hide show
  1. package/dist/node-gyp-bin/node-gyp +6 -0
  2. package/dist/node-gyp-bin/node-gyp.cmd +5 -0
  3. package/dist/node_modules/@gar/promise-retry/LICENSE +20 -0
  4. package/dist/node_modules/@gar/promise-retry/lib/index.js +62 -0
  5. package/dist/node_modules/@gar/promise-retry/lib/retry.js +109 -0
  6. package/dist/node_modules/@gar/promise-retry/package.json +45 -0
  7. package/dist/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  8. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  9. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  10. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  11. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  12. package/dist/node_modules/@isaacs/fs-minipass/package.json +72 -0
  13. package/dist/node_modules/@npmcli/agent/lib/agents.js +206 -0
  14. package/dist/node_modules/@npmcli/agent/lib/dns.js +53 -0
  15. package/dist/node_modules/@npmcli/agent/lib/errors.js +61 -0
  16. package/dist/node_modules/@npmcli/agent/lib/index.js +56 -0
  17. package/dist/node_modules/@npmcli/agent/lib/options.js +86 -0
  18. package/dist/node_modules/@npmcli/agent/lib/proxy.js +88 -0
  19. package/dist/node_modules/@npmcli/agent/package.json +60 -0
  20. package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
  21. package/dist/node_modules/@npmcli/fs/lib/common/node.js +9 -0
  22. package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
  23. package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +129 -0
  24. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
  25. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
  26. package/dist/node_modules/@npmcli/fs/lib/index.js +13 -0
  27. package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
  28. package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
  29. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
  30. package/dist/node_modules/@npmcli/fs/package.json +54 -0
  31. package/dist/node_modules/@npmcli/redact/LICENSE +21 -0
  32. package/dist/node_modules/@npmcli/redact/lib/deep-map.js +71 -0
  33. package/dist/node_modules/@npmcli/redact/lib/error.js +28 -0
  34. package/dist/node_modules/@npmcli/redact/lib/index.js +44 -0
  35. package/dist/node_modules/@npmcli/redact/lib/matchers.js +88 -0
  36. package/dist/node_modules/@npmcli/redact/lib/server.js +59 -0
  37. package/dist/node_modules/@npmcli/redact/lib/utils.js +202 -0
  38. package/dist/node_modules/@npmcli/redact/package.json +52 -0
  39. package/dist/node_modules/abbrev/LICENSE +46 -0
  40. package/dist/node_modules/abbrev/lib/index.js +53 -0
  41. package/dist/node_modules/abbrev/package.json +41 -0
  42. package/dist/node_modules/agent-base/LICENSE +22 -0
  43. package/dist/node_modules/agent-base/dist/helpers.js +66 -0
  44. package/dist/node_modules/agent-base/dist/index.js +178 -0
  45. package/dist/node_modules/agent-base/package.json +46 -0
  46. package/dist/node_modules/balanced-match/dist/commonjs/index.js +59 -0
  47. package/dist/node_modules/balanced-match/dist/commonjs/package.json +3 -0
  48. package/dist/node_modules/balanced-match/dist/esm/index.js +54 -0
  49. package/dist/node_modules/balanced-match/dist/esm/package.json +3 -0
  50. package/dist/node_modules/balanced-match/package.json +68 -0
  51. package/dist/node_modules/brace-expansion/LICENSE +23 -0
  52. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +201 -0
  53. package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
  54. package/dist/node_modules/brace-expansion/dist/esm/index.js +197 -0
  55. package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
  56. package/dist/node_modules/brace-expansion/package.json +64 -0
  57. package/dist/node_modules/cacache/lib/content/path.js +29 -0
  58. package/dist/node_modules/cacache/lib/content/read.js +165 -0
  59. package/dist/node_modules/cacache/lib/content/rm.js +18 -0
  60. package/dist/node_modules/cacache/lib/content/write.js +206 -0
  61. package/dist/node_modules/cacache/lib/entry-index.js +336 -0
  62. package/dist/node_modules/cacache/lib/get.js +170 -0
  63. package/dist/node_modules/cacache/lib/index.js +42 -0
  64. package/dist/node_modules/cacache/lib/memoization.js +72 -0
  65. package/dist/node_modules/cacache/lib/put.js +80 -0
  66. package/dist/node_modules/cacache/lib/rm.js +31 -0
  67. package/dist/node_modules/cacache/lib/util/glob.js +7 -0
  68. package/dist/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
  69. package/dist/node_modules/cacache/lib/util/tmp.js +32 -0
  70. package/dist/node_modules/cacache/lib/verify.js +258 -0
  71. package/dist/node_modules/cacache/package.json +81 -0
  72. package/dist/node_modules/chownr/dist/commonjs/index.js +93 -0
  73. package/dist/node_modules/chownr/dist/commonjs/package.json +3 -0
  74. package/dist/node_modules/chownr/dist/esm/index.js +85 -0
  75. package/dist/node_modules/chownr/dist/esm/package.json +3 -0
  76. package/dist/node_modules/chownr/package.json +69 -0
  77. package/dist/node_modules/debug/LICENSE +20 -0
  78. package/dist/node_modules/debug/package.json +64 -0
  79. package/dist/node_modules/debug/src/browser.js +272 -0
  80. package/dist/node_modules/debug/src/common.js +292 -0
  81. package/dist/node_modules/debug/src/index.js +10 -0
  82. package/dist/node_modules/debug/src/node.js +263 -0
  83. package/dist/node_modules/env-paths/index.js +74 -0
  84. package/dist/node_modules/env-paths/license +9 -0
  85. package/dist/node_modules/env-paths/package.json +45 -0
  86. package/dist/node_modules/exponential-backoff/LICENSE +202 -0
  87. package/dist/node_modules/exponential-backoff/dist/backoff.js +124 -0
  88. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
  89. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
  90. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
  91. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
  92. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
  93. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
  94. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
  95. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
  96. package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
  97. package/dist/node_modules/exponential-backoff/package.json +62 -0
  98. package/dist/node_modules/fdir/LICENSE +7 -0
  99. package/dist/node_modules/fdir/dist/index.cjs +588 -0
  100. package/dist/node_modules/fdir/dist/index.d.cts +155 -0
  101. package/dist/node_modules/fdir/dist/index.d.mts +155 -0
  102. package/dist/node_modules/fdir/dist/index.mjs +570 -0
  103. package/dist/node_modules/fdir/package.json +103 -0
  104. package/dist/node_modules/fs-minipass/LICENSE +15 -0
  105. package/dist/node_modules/fs-minipass/lib/index.js +443 -0
  106. package/dist/node_modules/fs-minipass/package.json +54 -0
  107. package/dist/node_modules/glob/dist/commonjs/glob.js +248 -0
  108. package/dist/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  109. package/dist/node_modules/glob/dist/commonjs/ignore.js +119 -0
  110. package/dist/node_modules/glob/dist/commonjs/index.js +68 -0
  111. package/dist/node_modules/glob/dist/commonjs/index.min.js +4 -0
  112. package/dist/node_modules/glob/dist/commonjs/package.json +3 -0
  113. package/dist/node_modules/glob/dist/commonjs/pattern.js +223 -0
  114. package/dist/node_modules/glob/dist/commonjs/processor.js +301 -0
  115. package/dist/node_modules/glob/dist/commonjs/walker.js +387 -0
  116. package/dist/node_modules/glob/dist/esm/glob.js +244 -0
  117. package/dist/node_modules/glob/dist/esm/has-magic.js +23 -0
  118. package/dist/node_modules/glob/dist/esm/ignore.js +115 -0
  119. package/dist/node_modules/glob/dist/esm/index.js +55 -0
  120. package/dist/node_modules/glob/dist/esm/index.min.js +4 -0
  121. package/dist/node_modules/glob/dist/esm/package.json +3 -0
  122. package/dist/node_modules/glob/dist/esm/pattern.js +219 -0
  123. package/dist/node_modules/glob/dist/esm/processor.js +294 -0
  124. package/dist/node_modules/glob/dist/esm/walker.js +381 -0
  125. package/dist/node_modules/glob/package.json +98 -0
  126. package/dist/node_modules/graceful-fs/LICENSE +15 -0
  127. package/dist/node_modules/graceful-fs/clone.js +23 -0
  128. package/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
  129. package/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
  130. package/dist/node_modules/graceful-fs/package.json +53 -0
  131. package/dist/node_modules/graceful-fs/polyfills.js +355 -0
  132. package/dist/node_modules/http-cache-semantics/LICENSE +9 -0
  133. package/dist/node_modules/http-cache-semantics/index.js +928 -0
  134. package/dist/node_modules/http-cache-semantics/package.json +22 -0
  135. package/dist/node_modules/http-proxy-agent/LICENSE +22 -0
  136. package/dist/node_modules/http-proxy-agent/dist/index.js +148 -0
  137. package/dist/node_modules/http-proxy-agent/package.json +47 -0
  138. package/dist/node_modules/https-proxy-agent/LICENSE +22 -0
  139. package/dist/node_modules/https-proxy-agent/dist/index.js +180 -0
  140. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
  141. package/dist/node_modules/https-proxy-agent/package.json +50 -0
  142. package/dist/node_modules/iconv-lite/LICENSE +21 -0
  143. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  144. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  145. package/dist/node_modules/iconv-lite/encodings/index.js +23 -0
  146. package/dist/node_modules/iconv-lite/encodings/internal.js +218 -0
  147. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  148. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  149. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  150. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  151. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  152. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  153. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  154. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  155. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  156. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  157. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  158. package/dist/node_modules/iconv-lite/encodings/utf16.js +187 -0
  159. package/dist/node_modules/iconv-lite/encodings/utf32.js +307 -0
  160. package/dist/node_modules/iconv-lite/encodings/utf7.js +283 -0
  161. package/dist/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  162. package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  163. package/dist/node_modules/iconv-lite/lib/index.js +182 -0
  164. package/dist/node_modules/iconv-lite/lib/streams.js +105 -0
  165. package/dist/node_modules/iconv-lite/package.json +70 -0
  166. package/dist/node_modules/ip-address/LICENSE +19 -0
  167. package/dist/node_modules/ip-address/dist/address-error.js +12 -0
  168. package/dist/node_modules/ip-address/dist/common.js +46 -0
  169. package/dist/node_modules/ip-address/dist/ip-address.js +35 -0
  170. package/dist/node_modules/ip-address/dist/ipv4.js +360 -0
  171. package/dist/node_modules/ip-address/dist/ipv6.js +1003 -0
  172. package/dist/node_modules/ip-address/dist/v4/constants.js +8 -0
  173. package/dist/node_modules/ip-address/dist/v6/constants.js +76 -0
  174. package/dist/node_modules/ip-address/dist/v6/helpers.js +45 -0
  175. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
  176. package/dist/node_modules/ip-address/package.json +78 -0
  177. package/dist/node_modules/isexe/dist/commonjs/index.js +56 -0
  178. package/dist/node_modules/isexe/dist/commonjs/index.min.js +2 -0
  179. package/dist/node_modules/isexe/dist/commonjs/options.js +3 -0
  180. package/dist/node_modules/isexe/dist/commonjs/package.json +3 -0
  181. package/dist/node_modules/isexe/dist/commonjs/posix.js +67 -0
  182. package/dist/node_modules/isexe/dist/commonjs/win32.js +63 -0
  183. package/dist/node_modules/isexe/dist/esm/index.js +16 -0
  184. package/dist/node_modules/isexe/dist/esm/index.min.js +2 -0
  185. package/dist/node_modules/isexe/dist/esm/options.js +2 -0
  186. package/dist/node_modules/isexe/dist/esm/package.json +3 -0
  187. package/dist/node_modules/isexe/dist/esm/posix.js +62 -0
  188. package/dist/node_modules/isexe/dist/esm/win32.js +58 -0
  189. package/dist/node_modules/isexe/package.json +78 -0
  190. package/dist/node_modules/lru-cache/dist/commonjs/index.js +1595 -0
  191. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  192. package/dist/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  193. package/dist/node_modules/lru-cache/dist/esm/index.js +1591 -0
  194. package/dist/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  195. package/dist/node_modules/lru-cache/dist/esm/package.json +3 -0
  196. package/dist/node_modules/lru-cache/package.json +93 -0
  197. package/dist/node_modules/make-fetch-happen/LICENSE +16 -0
  198. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +471 -0
  199. package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
  200. package/dist/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
  201. package/dist/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
  202. package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
  203. package/dist/node_modules/make-fetch-happen/lib/fetch.js +118 -0
  204. package/dist/node_modules/make-fetch-happen/lib/index.js +41 -0
  205. package/dist/node_modules/make-fetch-happen/lib/options.js +59 -0
  206. package/dist/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
  207. package/dist/node_modules/make-fetch-happen/lib/remote.js +134 -0
  208. package/dist/node_modules/make-fetch-happen/package.json +75 -0
  209. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  210. package/dist/node_modules/minimatch/dist/commonjs/ast.js +846 -0
  211. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
  212. package/dist/node_modules/minimatch/dist/commonjs/escape.js +30 -0
  213. package/dist/node_modules/minimatch/dist/commonjs/index.js +1121 -0
  214. package/dist/node_modules/minimatch/dist/commonjs/package.json +3 -0
  215. package/dist/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
  216. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  217. package/dist/node_modules/minimatch/dist/esm/ast.js +842 -0
  218. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
  219. package/dist/node_modules/minimatch/dist/esm/escape.js +26 -0
  220. package/dist/node_modules/minimatch/dist/esm/index.js +1108 -0
  221. package/dist/node_modules/minimatch/dist/esm/package.json +3 -0
  222. package/dist/node_modules/minimatch/dist/esm/unescape.js +34 -0
  223. package/dist/node_modules/minimatch/package.json +67 -0
  224. package/dist/node_modules/minipass/dist/commonjs/index.js +1038 -0
  225. package/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
  226. package/dist/node_modules/minipass/dist/esm/index.js +1020 -0
  227. package/dist/node_modules/minipass/dist/esm/package.json +3 -0
  228. package/dist/node_modules/minipass/package.json +77 -0
  229. package/dist/node_modules/minipass-collect/LICENSE +15 -0
  230. package/dist/node_modules/minipass-collect/index.js +71 -0
  231. package/dist/node_modules/minipass-collect/package.json +30 -0
  232. package/dist/node_modules/minipass-fetch/LICENSE +28 -0
  233. package/dist/node_modules/minipass-fetch/lib/abort-error.js +17 -0
  234. package/dist/node_modules/minipass-fetch/lib/blob.js +97 -0
  235. package/dist/node_modules/minipass-fetch/lib/body.js +360 -0
  236. package/dist/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
  237. package/dist/node_modules/minipass-fetch/lib/headers.js +267 -0
  238. package/dist/node_modules/minipass-fetch/lib/index.js +376 -0
  239. package/dist/node_modules/minipass-fetch/lib/request.js +282 -0
  240. package/dist/node_modules/minipass-fetch/lib/response.js +90 -0
  241. package/dist/node_modules/minipass-fetch/package.json +70 -0
  242. package/dist/node_modules/minipass-flush/LICENSE +15 -0
  243. package/dist/node_modules/minipass-flush/index.js +39 -0
  244. package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
  245. package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
  246. package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
  247. package/dist/node_modules/minipass-flush/package.json +39 -0
  248. package/dist/node_modules/minipass-pipeline/LICENSE +15 -0
  249. package/dist/node_modules/minipass-pipeline/index.js +128 -0
  250. package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
  251. package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
  252. package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
  253. package/dist/node_modules/minipass-pipeline/package.json +29 -0
  254. package/dist/node_modules/minipass-sized/LICENSE +15 -0
  255. package/dist/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
  256. package/dist/node_modules/minipass-sized/dist/commonjs/package.json +3 -0
  257. package/dist/node_modules/minipass-sized/dist/esm/index.js +64 -0
  258. package/dist/node_modules/minipass-sized/dist/esm/package.json +3 -0
  259. package/dist/node_modules/minipass-sized/package.json +69 -0
  260. package/dist/node_modules/minizlib/LICENSE +26 -0
  261. package/dist/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  262. package/dist/node_modules/minizlib/dist/commonjs/index.js +416 -0
  263. package/dist/node_modules/minizlib/dist/commonjs/package.json +3 -0
  264. package/dist/node_modules/minizlib/dist/esm/constants.js +117 -0
  265. package/dist/node_modules/minizlib/dist/esm/index.js +363 -0
  266. package/dist/node_modules/minizlib/dist/esm/package.json +3 -0
  267. package/dist/node_modules/minizlib/package.json +80 -0
  268. package/dist/node_modules/ms/index.js +162 -0
  269. package/dist/node_modules/ms/package.json +38 -0
  270. package/dist/node_modules/negotiator/LICENSE +24 -0
  271. package/dist/node_modules/negotiator/index.js +83 -0
  272. package/dist/node_modules/negotiator/lib/charset.js +169 -0
  273. package/dist/node_modules/negotiator/lib/encoding.js +205 -0
  274. package/dist/node_modules/negotiator/lib/language.js +179 -0
  275. package/dist/node_modules/negotiator/lib/mediaType.js +294 -0
  276. package/dist/node_modules/negotiator/package.json +43 -0
  277. package/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
  278. package/dist/node_modules/node-gyp/LICENSE +24 -0
  279. package/dist/node_modules/node-gyp/addon.gypi +204 -0
  280. package/dist/node_modules/node-gyp/bin/node-gyp.js +145 -0
  281. package/dist/node_modules/node-gyp/eslint.config.js +3 -0
  282. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
  283. package/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
  284. package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
  285. package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
  286. package/dist/node_modules/node-gyp/gyp/gyp +8 -0
  287. package/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
  288. package/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
  289. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
  290. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
  291. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1283 -0
  292. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1545 -0
  293. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
  294. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +152 -0
  295. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
  296. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +599 -0
  297. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +707 -0
  298. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +725 -0
  299. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +186 -0
  300. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +170 -0
  301. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
  302. package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
  303. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  304. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +805 -0
  305. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1169 -0
  306. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1316 -0
  307. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +128 -0
  308. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +104 -0
  309. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
  310. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +88 -0
  311. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +55 -0
  312. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2755 -0
  313. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3970 -0
  314. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
  315. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2956 -0
  316. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +67 -0
  317. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1389 -0
  318. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +26 -0
  319. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3097 -0
  320. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +99 -0
  321. package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +765 -0
  322. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1255 -0
  323. package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
  324. package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
  325. package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +371 -0
  326. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1936 -0
  327. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +54 -0
  328. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +301 -0
  329. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3180 -0
  330. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +64 -0
  331. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
  332. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
  333. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
  334. package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
  335. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +107 -0
  336. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
  337. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
  338. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
  339. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
  340. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
  341. package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +251 -0
  342. package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +824 -0
  343. package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  344. package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
  345. package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
  346. package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
  347. package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
  348. package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
  349. package/dist/node_modules/node-gyp/gyp/pyproject.toml +114 -0
  350. package/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
  351. package/dist/node_modules/node-gyp/gyp/test_gyp.py +260 -0
  352. package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
  353. package/dist/node_modules/node-gyp/lib/build.js +230 -0
  354. package/dist/node_modules/node-gyp/lib/clean.js +15 -0
  355. package/dist/node_modules/node-gyp/lib/configure.js +328 -0
  356. package/dist/node_modules/node-gyp/lib/create-config-gypi.js +153 -0
  357. package/dist/node_modules/node-gyp/lib/download.js +39 -0
  358. package/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
  359. package/dist/node_modules/node-gyp/lib/find-python.js +304 -0
  360. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +606 -0
  361. package/dist/node_modules/node-gyp/lib/install.js +411 -0
  362. package/dist/node_modules/node-gyp/lib/list.js +26 -0
  363. package/dist/node_modules/node-gyp/lib/log.js +168 -0
  364. package/dist/node_modules/node-gyp/lib/node-gyp.js +199 -0
  365. package/dist/node_modules/node-gyp/lib/process-release.js +146 -0
  366. package/dist/node_modules/node-gyp/lib/rebuild.js +12 -0
  367. package/dist/node_modules/node-gyp/lib/remove.js +43 -0
  368. package/dist/node_modules/node-gyp/lib/util.js +81 -0
  369. package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
  370. package/dist/node_modules/node-gyp/package.json +52 -0
  371. package/dist/node_modules/node-gyp/release-please-config.json +40 -0
  372. package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +41 -0
  373. package/dist/node_modules/nopt/LICENSE +15 -0
  374. package/dist/node_modules/nopt/bin/nopt.js +29 -0
  375. package/dist/node_modules/nopt/lib/debug.js +5 -0
  376. package/dist/node_modules/nopt/lib/nopt-lib.js +514 -0
  377. package/dist/node_modules/nopt/lib/nopt.js +34 -0
  378. package/dist/node_modules/nopt/lib/type-defs.js +91 -0
  379. package/dist/node_modules/nopt/package.json +52 -0
  380. package/dist/node_modules/p-map/index.js +283 -0
  381. package/dist/node_modules/p-map/license +9 -0
  382. package/dist/node_modules/p-map/package.json +57 -0
  383. package/dist/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
  384. package/dist/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  385. package/dist/node_modules/path-scurry/dist/esm/index.js +1983 -0
  386. package/dist/node_modules/path-scurry/dist/esm/package.json +3 -0
  387. package/dist/node_modules/path-scurry/package.json +72 -0
  388. package/dist/node_modules/picomatch/LICENSE +21 -0
  389. package/dist/node_modules/picomatch/index.js +17 -0
  390. package/dist/node_modules/picomatch/lib/constants.js +184 -0
  391. package/dist/node_modules/picomatch/lib/parse.js +1386 -0
  392. package/dist/node_modules/picomatch/lib/picomatch.js +349 -0
  393. package/dist/node_modules/picomatch/lib/scan.js +391 -0
  394. package/dist/node_modules/picomatch/lib/utils.js +72 -0
  395. package/dist/node_modules/picomatch/package.json +82 -0
  396. package/dist/node_modules/picomatch/posix.js +3 -0
  397. package/dist/node_modules/proc-log/LICENSE +15 -0
  398. package/dist/node_modules/proc-log/lib/index.js +158 -0
  399. package/dist/node_modules/proc-log/package.json +46 -0
  400. package/dist/node_modules/safer-buffer/LICENSE +21 -0
  401. package/dist/node_modules/safer-buffer/dangerous.js +58 -0
  402. package/dist/node_modules/safer-buffer/package.json +34 -0
  403. package/dist/node_modules/safer-buffer/safer.js +77 -0
  404. package/dist/node_modules/safer-buffer/tests.js +406 -0
  405. package/dist/node_modules/semver/LICENSE +15 -0
  406. package/dist/node_modules/semver/bin/semver.js +191 -0
  407. package/dist/node_modules/semver/classes/comparator.js +143 -0
  408. package/dist/node_modules/semver/classes/index.js +7 -0
  409. package/dist/node_modules/semver/classes/range.js +557 -0
  410. package/dist/node_modules/semver/classes/semver.js +333 -0
  411. package/dist/node_modules/semver/functions/clean.js +8 -0
  412. package/dist/node_modules/semver/functions/cmp.js +54 -0
  413. package/dist/node_modules/semver/functions/coerce.js +62 -0
  414. package/dist/node_modules/semver/functions/compare-build.js +9 -0
  415. package/dist/node_modules/semver/functions/compare-loose.js +5 -0
  416. package/dist/node_modules/semver/functions/compare.js +7 -0
  417. package/dist/node_modules/semver/functions/diff.js +60 -0
  418. package/dist/node_modules/semver/functions/eq.js +5 -0
  419. package/dist/node_modules/semver/functions/gt.js +5 -0
  420. package/dist/node_modules/semver/functions/gte.js +5 -0
  421. package/dist/node_modules/semver/functions/inc.js +21 -0
  422. package/dist/node_modules/semver/functions/lt.js +5 -0
  423. package/dist/node_modules/semver/functions/lte.js +5 -0
  424. package/dist/node_modules/semver/functions/major.js +5 -0
  425. package/dist/node_modules/semver/functions/minor.js +5 -0
  426. package/dist/node_modules/semver/functions/neq.js +5 -0
  427. package/dist/node_modules/semver/functions/parse.js +18 -0
  428. package/dist/node_modules/semver/functions/patch.js +5 -0
  429. package/dist/node_modules/semver/functions/prerelease.js +8 -0
  430. package/dist/node_modules/semver/functions/rcompare.js +5 -0
  431. package/dist/node_modules/semver/functions/rsort.js +5 -0
  432. package/dist/node_modules/semver/functions/satisfies.js +12 -0
  433. package/dist/node_modules/semver/functions/sort.js +5 -0
  434. package/dist/node_modules/semver/functions/valid.js +8 -0
  435. package/dist/node_modules/semver/index.js +91 -0
  436. package/dist/node_modules/semver/internal/constants.js +37 -0
  437. package/dist/node_modules/semver/internal/debug.js +11 -0
  438. package/dist/node_modules/semver/internal/identifiers.js +29 -0
  439. package/dist/node_modules/semver/internal/lrucache.js +42 -0
  440. package/dist/node_modules/semver/internal/parse-options.js +17 -0
  441. package/dist/node_modules/semver/internal/re.js +223 -0
  442. package/dist/node_modules/semver/package.json +78 -0
  443. package/dist/node_modules/semver/preload.js +4 -0
  444. package/dist/node_modules/semver/range.bnf +16 -0
  445. package/dist/node_modules/semver/ranges/gtr.js +6 -0
  446. package/dist/node_modules/semver/ranges/intersects.js +9 -0
  447. package/dist/node_modules/semver/ranges/ltr.js +6 -0
  448. package/dist/node_modules/semver/ranges/max-satisfying.js +27 -0
  449. package/dist/node_modules/semver/ranges/min-satisfying.js +26 -0
  450. package/dist/node_modules/semver/ranges/min-version.js +63 -0
  451. package/dist/node_modules/semver/ranges/outside.js +82 -0
  452. package/dist/node_modules/semver/ranges/simplify.js +49 -0
  453. package/dist/node_modules/semver/ranges/subset.js +249 -0
  454. package/dist/node_modules/semver/ranges/to-comparators.js +10 -0
  455. package/dist/node_modules/semver/ranges/valid.js +13 -0
  456. package/dist/node_modules/smart-buffer/.prettierrc.yaml +5 -0
  457. package/dist/node_modules/smart-buffer/LICENSE +20 -0
  458. package/dist/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
  459. package/dist/node_modules/smart-buffer/build/utils.js +108 -0
  460. package/dist/node_modules/smart-buffer/package.json +79 -0
  461. package/dist/node_modules/socks/.eslintrc.cjs +11 -0
  462. package/dist/node_modules/socks/.prettierrc.yaml +7 -0
  463. package/dist/node_modules/socks/LICENSE +20 -0
  464. package/dist/node_modules/socks/build/client/socksclient.js +793 -0
  465. package/dist/node_modules/socks/build/common/constants.js +108 -0
  466. package/dist/node_modules/socks/build/common/helpers.js +167 -0
  467. package/dist/node_modules/socks/build/common/receivebuffer.js +43 -0
  468. package/dist/node_modules/socks/build/common/util.js +25 -0
  469. package/dist/node_modules/socks/build/index.js +18 -0
  470. package/dist/node_modules/socks/package.json +58 -0
  471. package/dist/node_modules/socks-proxy-agent/LICENSE +22 -0
  472. package/dist/node_modules/socks-proxy-agent/dist/index.js +195 -0
  473. package/dist/node_modules/socks-proxy-agent/package.json +142 -0
  474. package/dist/node_modules/ssri/lib/index.js +550 -0
  475. package/dist/node_modules/ssri/package.json +66 -0
  476. package/dist/node_modules/tar/dist/commonjs/create.js +82 -0
  477. package/dist/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  478. package/dist/node_modules/tar/dist/commonjs/extract.js +88 -0
  479. package/dist/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
  480. package/dist/node_modules/tar/dist/commonjs/header.js +312 -0
  481. package/dist/node_modules/tar/dist/commonjs/index.js +64 -0
  482. package/dist/node_modules/tar/dist/commonjs/index.min.js +4 -0
  483. package/dist/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  484. package/dist/node_modules/tar/dist/commonjs/list.js +145 -0
  485. package/dist/node_modules/tar/dist/commonjs/make-command.js +52 -0
  486. package/dist/node_modules/tar/dist/commonjs/mkdir.js +187 -0
  487. package/dist/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  488. package/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  489. package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  490. package/dist/node_modules/tar/dist/commonjs/options.js +66 -0
  491. package/dist/node_modules/tar/dist/commonjs/pack.js +511 -0
  492. package/dist/node_modules/tar/dist/commonjs/package.json +3 -0
  493. package/dist/node_modules/tar/dist/commonjs/parse.js +610 -0
  494. package/dist/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  495. package/dist/node_modules/tar/dist/commonjs/pax.js +158 -0
  496. package/dist/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  497. package/dist/node_modules/tar/dist/commonjs/read-entry.js +136 -0
  498. package/dist/node_modules/tar/dist/commonjs/replace.js +227 -0
  499. package/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  500. package/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  501. package/dist/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  502. package/dist/node_modules/tar/dist/commonjs/types.js +50 -0
  503. package/dist/node_modules/tar/dist/commonjs/unpack.js +932 -0
  504. package/dist/node_modules/tar/dist/commonjs/update.js +33 -0
  505. package/dist/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  506. package/dist/node_modules/tar/dist/commonjs/winchars.js +14 -0
  507. package/dist/node_modules/tar/dist/commonjs/write-entry.js +698 -0
  508. package/dist/node_modules/tar/dist/esm/create.js +76 -0
  509. package/dist/node_modules/tar/dist/esm/cwd-error.js +14 -0
  510. package/dist/node_modules/tar/dist/esm/extract.js +49 -0
  511. package/dist/node_modules/tar/dist/esm/get-write-flag.js +26 -0
  512. package/dist/node_modules/tar/dist/esm/header.js +275 -0
  513. package/dist/node_modules/tar/dist/esm/index.js +20 -0
  514. package/dist/node_modules/tar/dist/esm/index.min.js +4 -0
  515. package/dist/node_modules/tar/dist/esm/large-numbers.js +94 -0
  516. package/dist/node_modules/tar/dist/esm/list.js +105 -0
  517. package/dist/node_modules/tar/dist/esm/make-command.js +48 -0
  518. package/dist/node_modules/tar/dist/esm/mkdir.js +179 -0
  519. package/dist/node_modules/tar/dist/esm/mode-fix.js +25 -0
  520. package/dist/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  521. package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  522. package/dist/node_modules/tar/dist/esm/options.js +54 -0
  523. package/dist/node_modules/tar/dist/esm/pack.js +469 -0
  524. package/dist/node_modules/tar/dist/esm/package.json +3 -0
  525. package/dist/node_modules/tar/dist/esm/parse.js +606 -0
  526. package/dist/node_modules/tar/dist/esm/path-reservations.js +166 -0
  527. package/dist/node_modules/tar/dist/esm/pax.js +154 -0
  528. package/dist/node_modules/tar/dist/esm/process-umask.js +3 -0
  529. package/dist/node_modules/tar/dist/esm/read-entry.js +132 -0
  530. package/dist/node_modules/tar/dist/esm/replace.js +221 -0
  531. package/dist/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  532. package/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  533. package/dist/node_modules/tar/dist/esm/symlink-error.js +15 -0
  534. package/dist/node_modules/tar/dist/esm/types.js +45 -0
  535. package/dist/node_modules/tar/dist/esm/unpack.js +891 -0
  536. package/dist/node_modules/tar/dist/esm/update.js +30 -0
  537. package/dist/node_modules/tar/dist/esm/warn-method.js +27 -0
  538. package/dist/node_modules/tar/dist/esm/winchars.js +9 -0
  539. package/dist/node_modules/tar/dist/esm/write-entry.js +656 -0
  540. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/index.js +384 -0
  541. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +3 -0
  542. package/dist/node_modules/tar/node_modules/yallist/dist/esm/index.js +379 -0
  543. package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +3 -0
  544. package/dist/node_modules/tar/node_modules/yallist/package.json +68 -0
  545. package/dist/node_modules/tar/package.json +297 -0
  546. package/dist/node_modules/tinyglobby/LICENSE +21 -0
  547. package/dist/node_modules/tinyglobby/dist/index.cjs +350 -0
  548. package/dist/node_modules/tinyglobby/dist/index.d.cts +147 -0
  549. package/dist/node_modules/tinyglobby/dist/index.d.mts +147 -0
  550. package/dist/node_modules/tinyglobby/dist/index.mjs +318 -0
  551. package/dist/node_modules/tinyglobby/package.json +73 -0
  552. package/{LICENSE → dist/node_modules/v8-compile-cache/LICENSE} +1 -2
  553. package/dist/node_modules/v8-compile-cache/package.json +34 -0
  554. package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
  555. package/dist/node_modules/which/LICENSE +15 -0
  556. package/dist/node_modules/which/bin/which.js +52 -0
  557. package/dist/node_modules/which/lib/index.js +111 -0
  558. package/dist/node_modules/which/package.json +52 -0
  559. package/dist/node_modules/yallist/LICENSE +15 -0
  560. package/dist/node_modules/yallist/iterator.js +8 -0
  561. package/dist/node_modules/yallist/package.json +29 -0
  562. package/dist/node_modules/yallist/yallist.js +426 -0
  563. package/dist/pnpm.mjs +266382 -0
  564. package/dist/pnpmrc +2 -0
  565. package/dist/templates/completion.bash +31 -0
  566. package/dist/templates/completion.fish +22 -0
  567. package/dist/templates/completion.ps1 +193 -0
  568. package/dist/templates/completion.zsh +27 -0
  569. package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  570. package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  571. package/dist/worker.js +10958 -0
  572. package/package.json +34 -11
  573. package/pn +2 -0
  574. package/pn.cmd +2 -0
  575. package/pn.ps1 +1 -0
  576. package/pnpx +2 -0
  577. package/pnpx.cmd +2 -0
  578. package/pnpx.ps1 +1 -0
  579. package/pnx +2 -0
  580. package/pnx.cmd +2 -0
  581. package/pnx.ps1 +1 -0
  582. package/prepare.js +26 -3
  583. package/setup.js +22 -11
  584. package/CHANGELOG.md +0 -15
@@ -0,0 +1,1233 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ // The default Buffer size if one is not provided.
5
+ const DEFAULT_SMARTBUFFER_SIZE = 4096;
6
+ // The default string encoding to use for reading/writing strings.
7
+ const DEFAULT_SMARTBUFFER_ENCODING = 'utf8';
8
+ class SmartBuffer {
9
+ /**
10
+ * Creates a new SmartBuffer instance.
11
+ *
12
+ * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance.
13
+ */
14
+ constructor(options) {
15
+ this.length = 0;
16
+ this._encoding = DEFAULT_SMARTBUFFER_ENCODING;
17
+ this._writeOffset = 0;
18
+ this._readOffset = 0;
19
+ if (SmartBuffer.isSmartBufferOptions(options)) {
20
+ // Checks for encoding
21
+ if (options.encoding) {
22
+ utils_1.checkEncoding(options.encoding);
23
+ this._encoding = options.encoding;
24
+ }
25
+ // Checks for initial size length
26
+ if (options.size) {
27
+ if (utils_1.isFiniteInteger(options.size) && options.size > 0) {
28
+ this._buff = Buffer.allocUnsafe(options.size);
29
+ }
30
+ else {
31
+ throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_SIZE);
32
+ }
33
+ // Check for initial Buffer
34
+ }
35
+ else if (options.buff) {
36
+ if (Buffer.isBuffer(options.buff)) {
37
+ this._buff = options.buff;
38
+ this.length = options.buff.length;
39
+ }
40
+ else {
41
+ throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_BUFFER);
42
+ }
43
+ }
44
+ else {
45
+ this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE);
46
+ }
47
+ }
48
+ else {
49
+ // If something was passed but it's not a SmartBufferOptions object
50
+ if (typeof options !== 'undefined') {
51
+ throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_OBJECT);
52
+ }
53
+ // Otherwise default to sane options
54
+ this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE);
55
+ }
56
+ }
57
+ /**
58
+ * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding.
59
+ *
60
+ * @param size { Number } The size of the internal Buffer.
61
+ * @param encoding { String } The BufferEncoding to use for strings.
62
+ *
63
+ * @return { SmartBuffer }
64
+ */
65
+ static fromSize(size, encoding) {
66
+ return new this({
67
+ size: size,
68
+ encoding: encoding
69
+ });
70
+ }
71
+ /**
72
+ * Creates a new SmartBuffer instance with the provided Buffer and optional encoding.
73
+ *
74
+ * @param buffer { Buffer } The Buffer to use as the internal Buffer value.
75
+ * @param encoding { String } The BufferEncoding to use for strings.
76
+ *
77
+ * @return { SmartBuffer }
78
+ */
79
+ static fromBuffer(buff, encoding) {
80
+ return new this({
81
+ buff: buff,
82
+ encoding: encoding
83
+ });
84
+ }
85
+ /**
86
+ * Creates a new SmartBuffer instance with the provided SmartBufferOptions options.
87
+ *
88
+ * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance.
89
+ */
90
+ static fromOptions(options) {
91
+ return new this(options);
92
+ }
93
+ /**
94
+ * Type checking function that determines if an object is a SmartBufferOptions object.
95
+ */
96
+ static isSmartBufferOptions(options) {
97
+ const castOptions = options;
98
+ return (castOptions &&
99
+ (castOptions.encoding !== undefined || castOptions.size !== undefined || castOptions.buff !== undefined));
100
+ }
101
+ // Signed integers
102
+ /**
103
+ * Reads an Int8 value from the current read position or an optionally provided offset.
104
+ *
105
+ * @param offset { Number } The offset to read data from (optional)
106
+ * @return { Number }
107
+ */
108
+ readInt8(offset) {
109
+ return this._readNumberValue(Buffer.prototype.readInt8, 1, offset);
110
+ }
111
+ /**
112
+ * Reads an Int16BE value from the current read position or an optionally provided offset.
113
+ *
114
+ * @param offset { Number } The offset to read data from (optional)
115
+ * @return { Number }
116
+ */
117
+ readInt16BE(offset) {
118
+ return this._readNumberValue(Buffer.prototype.readInt16BE, 2, offset);
119
+ }
120
+ /**
121
+ * Reads an Int16LE value from the current read position or an optionally provided offset.
122
+ *
123
+ * @param offset { Number } The offset to read data from (optional)
124
+ * @return { Number }
125
+ */
126
+ readInt16LE(offset) {
127
+ return this._readNumberValue(Buffer.prototype.readInt16LE, 2, offset);
128
+ }
129
+ /**
130
+ * Reads an Int32BE value from the current read position or an optionally provided offset.
131
+ *
132
+ * @param offset { Number } The offset to read data from (optional)
133
+ * @return { Number }
134
+ */
135
+ readInt32BE(offset) {
136
+ return this._readNumberValue(Buffer.prototype.readInt32BE, 4, offset);
137
+ }
138
+ /**
139
+ * Reads an Int32LE value from the current read position or an optionally provided offset.
140
+ *
141
+ * @param offset { Number } The offset to read data from (optional)
142
+ * @return { Number }
143
+ */
144
+ readInt32LE(offset) {
145
+ return this._readNumberValue(Buffer.prototype.readInt32LE, 4, offset);
146
+ }
147
+ /**
148
+ * Reads a BigInt64BE value from the current read position or an optionally provided offset.
149
+ *
150
+ * @param offset { Number } The offset to read data from (optional)
151
+ * @return { BigInt }
152
+ */
153
+ readBigInt64BE(offset) {
154
+ utils_1.bigIntAndBufferInt64Check('readBigInt64BE');
155
+ return this._readNumberValue(Buffer.prototype.readBigInt64BE, 8, offset);
156
+ }
157
+ /**
158
+ * Reads a BigInt64LE value from the current read position or an optionally provided offset.
159
+ *
160
+ * @param offset { Number } The offset to read data from (optional)
161
+ * @return { BigInt }
162
+ */
163
+ readBigInt64LE(offset) {
164
+ utils_1.bigIntAndBufferInt64Check('readBigInt64LE');
165
+ return this._readNumberValue(Buffer.prototype.readBigInt64LE, 8, offset);
166
+ }
167
+ /**
168
+ * Writes an Int8 value to the current write position (or at optional offset).
169
+ *
170
+ * @param value { Number } The value to write.
171
+ * @param offset { Number } The offset to write the value at.
172
+ *
173
+ * @return this
174
+ */
175
+ writeInt8(value, offset) {
176
+ this._writeNumberValue(Buffer.prototype.writeInt8, 1, value, offset);
177
+ return this;
178
+ }
179
+ /**
180
+ * Inserts an Int8 value at the given offset value.
181
+ *
182
+ * @param value { Number } The value to insert.
183
+ * @param offset { Number } The offset to insert the value at.
184
+ *
185
+ * @return this
186
+ */
187
+ insertInt8(value, offset) {
188
+ return this._insertNumberValue(Buffer.prototype.writeInt8, 1, value, offset);
189
+ }
190
+ /**
191
+ * Writes an Int16BE value to the current write position (or at optional offset).
192
+ *
193
+ * @param value { Number } The value to write.
194
+ * @param offset { Number } The offset to write the value at.
195
+ *
196
+ * @return this
197
+ */
198
+ writeInt16BE(value, offset) {
199
+ return this._writeNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset);
200
+ }
201
+ /**
202
+ * Inserts an Int16BE value at the given offset value.
203
+ *
204
+ * @param value { Number } The value to insert.
205
+ * @param offset { Number } The offset to insert the value at.
206
+ *
207
+ * @return this
208
+ */
209
+ insertInt16BE(value, offset) {
210
+ return this._insertNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset);
211
+ }
212
+ /**
213
+ * Writes an Int16LE value to the current write position (or at optional offset).
214
+ *
215
+ * @param value { Number } The value to write.
216
+ * @param offset { Number } The offset to write the value at.
217
+ *
218
+ * @return this
219
+ */
220
+ writeInt16LE(value, offset) {
221
+ return this._writeNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset);
222
+ }
223
+ /**
224
+ * Inserts an Int16LE value at the given offset value.
225
+ *
226
+ * @param value { Number } The value to insert.
227
+ * @param offset { Number } The offset to insert the value at.
228
+ *
229
+ * @return this
230
+ */
231
+ insertInt16LE(value, offset) {
232
+ return this._insertNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset);
233
+ }
234
+ /**
235
+ * Writes an Int32BE value to the current write position (or at optional offset).
236
+ *
237
+ * @param value { Number } The value to write.
238
+ * @param offset { Number } The offset to write the value at.
239
+ *
240
+ * @return this
241
+ */
242
+ writeInt32BE(value, offset) {
243
+ return this._writeNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset);
244
+ }
245
+ /**
246
+ * Inserts an Int32BE value at the given offset value.
247
+ *
248
+ * @param value { Number } The value to insert.
249
+ * @param offset { Number } The offset to insert the value at.
250
+ *
251
+ * @return this
252
+ */
253
+ insertInt32BE(value, offset) {
254
+ return this._insertNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset);
255
+ }
256
+ /**
257
+ * Writes an Int32LE value to the current write position (or at optional offset).
258
+ *
259
+ * @param value { Number } The value to write.
260
+ * @param offset { Number } The offset to write the value at.
261
+ *
262
+ * @return this
263
+ */
264
+ writeInt32LE(value, offset) {
265
+ return this._writeNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset);
266
+ }
267
+ /**
268
+ * Inserts an Int32LE value at the given offset value.
269
+ *
270
+ * @param value { Number } The value to insert.
271
+ * @param offset { Number } The offset to insert the value at.
272
+ *
273
+ * @return this
274
+ */
275
+ insertInt32LE(value, offset) {
276
+ return this._insertNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset);
277
+ }
278
+ /**
279
+ * Writes a BigInt64BE value to the current write position (or at optional offset).
280
+ *
281
+ * @param value { BigInt } The value to write.
282
+ * @param offset { Number } The offset to write the value at.
283
+ *
284
+ * @return this
285
+ */
286
+ writeBigInt64BE(value, offset) {
287
+ utils_1.bigIntAndBufferInt64Check('writeBigInt64BE');
288
+ return this._writeNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset);
289
+ }
290
+ /**
291
+ * Inserts a BigInt64BE value at the given offset value.
292
+ *
293
+ * @param value { BigInt } The value to insert.
294
+ * @param offset { Number } The offset to insert the value at.
295
+ *
296
+ * @return this
297
+ */
298
+ insertBigInt64BE(value, offset) {
299
+ utils_1.bigIntAndBufferInt64Check('writeBigInt64BE');
300
+ return this._insertNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset);
301
+ }
302
+ /**
303
+ * Writes a BigInt64LE value to the current write position (or at optional offset).
304
+ *
305
+ * @param value { BigInt } The value to write.
306
+ * @param offset { Number } The offset to write the value at.
307
+ *
308
+ * @return this
309
+ */
310
+ writeBigInt64LE(value, offset) {
311
+ utils_1.bigIntAndBufferInt64Check('writeBigInt64LE');
312
+ return this._writeNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset);
313
+ }
314
+ /**
315
+ * Inserts a Int64LE value at the given offset value.
316
+ *
317
+ * @param value { BigInt } The value to insert.
318
+ * @param offset { Number } The offset to insert the value at.
319
+ *
320
+ * @return this
321
+ */
322
+ insertBigInt64LE(value, offset) {
323
+ utils_1.bigIntAndBufferInt64Check('writeBigInt64LE');
324
+ return this._insertNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset);
325
+ }
326
+ // Unsigned Integers
327
+ /**
328
+ * Reads an UInt8 value from the current read position or an optionally provided offset.
329
+ *
330
+ * @param offset { Number } The offset to read data from (optional)
331
+ * @return { Number }
332
+ */
333
+ readUInt8(offset) {
334
+ return this._readNumberValue(Buffer.prototype.readUInt8, 1, offset);
335
+ }
336
+ /**
337
+ * Reads an UInt16BE value from the current read position or an optionally provided offset.
338
+ *
339
+ * @param offset { Number } The offset to read data from (optional)
340
+ * @return { Number }
341
+ */
342
+ readUInt16BE(offset) {
343
+ return this._readNumberValue(Buffer.prototype.readUInt16BE, 2, offset);
344
+ }
345
+ /**
346
+ * Reads an UInt16LE value from the current read position or an optionally provided offset.
347
+ *
348
+ * @param offset { Number } The offset to read data from (optional)
349
+ * @return { Number }
350
+ */
351
+ readUInt16LE(offset) {
352
+ return this._readNumberValue(Buffer.prototype.readUInt16LE, 2, offset);
353
+ }
354
+ /**
355
+ * Reads an UInt32BE value from the current read position or an optionally provided offset.
356
+ *
357
+ * @param offset { Number } The offset to read data from (optional)
358
+ * @return { Number }
359
+ */
360
+ readUInt32BE(offset) {
361
+ return this._readNumberValue(Buffer.prototype.readUInt32BE, 4, offset);
362
+ }
363
+ /**
364
+ * Reads an UInt32LE value from the current read position or an optionally provided offset.
365
+ *
366
+ * @param offset { Number } The offset to read data from (optional)
367
+ * @return { Number }
368
+ */
369
+ readUInt32LE(offset) {
370
+ return this._readNumberValue(Buffer.prototype.readUInt32LE, 4, offset);
371
+ }
372
+ /**
373
+ * Reads a BigUInt64BE value from the current read position or an optionally provided offset.
374
+ *
375
+ * @param offset { Number } The offset to read data from (optional)
376
+ * @return { BigInt }
377
+ */
378
+ readBigUInt64BE(offset) {
379
+ utils_1.bigIntAndBufferInt64Check('readBigUInt64BE');
380
+ return this._readNumberValue(Buffer.prototype.readBigUInt64BE, 8, offset);
381
+ }
382
+ /**
383
+ * Reads a BigUInt64LE value from the current read position or an optionally provided offset.
384
+ *
385
+ * @param offset { Number } The offset to read data from (optional)
386
+ * @return { BigInt }
387
+ */
388
+ readBigUInt64LE(offset) {
389
+ utils_1.bigIntAndBufferInt64Check('readBigUInt64LE');
390
+ return this._readNumberValue(Buffer.prototype.readBigUInt64LE, 8, offset);
391
+ }
392
+ /**
393
+ * Writes an UInt8 value to the current write position (or at optional offset).
394
+ *
395
+ * @param value { Number } The value to write.
396
+ * @param offset { Number } The offset to write the value at.
397
+ *
398
+ * @return this
399
+ */
400
+ writeUInt8(value, offset) {
401
+ return this._writeNumberValue(Buffer.prototype.writeUInt8, 1, value, offset);
402
+ }
403
+ /**
404
+ * Inserts an UInt8 value at the given offset value.
405
+ *
406
+ * @param value { Number } The value to insert.
407
+ * @param offset { Number } The offset to insert the value at.
408
+ *
409
+ * @return this
410
+ */
411
+ insertUInt8(value, offset) {
412
+ return this._insertNumberValue(Buffer.prototype.writeUInt8, 1, value, offset);
413
+ }
414
+ /**
415
+ * Writes an UInt16BE value to the current write position (or at optional offset).
416
+ *
417
+ * @param value { Number } The value to write.
418
+ * @param offset { Number } The offset to write the value at.
419
+ *
420
+ * @return this
421
+ */
422
+ writeUInt16BE(value, offset) {
423
+ return this._writeNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset);
424
+ }
425
+ /**
426
+ * Inserts an UInt16BE value at the given offset value.
427
+ *
428
+ * @param value { Number } The value to insert.
429
+ * @param offset { Number } The offset to insert the value at.
430
+ *
431
+ * @return this
432
+ */
433
+ insertUInt16BE(value, offset) {
434
+ return this._insertNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset);
435
+ }
436
+ /**
437
+ * Writes an UInt16LE value to the current write position (or at optional offset).
438
+ *
439
+ * @param value { Number } The value to write.
440
+ * @param offset { Number } The offset to write the value at.
441
+ *
442
+ * @return this
443
+ */
444
+ writeUInt16LE(value, offset) {
445
+ return this._writeNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset);
446
+ }
447
+ /**
448
+ * Inserts an UInt16LE value at the given offset value.
449
+ *
450
+ * @param value { Number } The value to insert.
451
+ * @param offset { Number } The offset to insert the value at.
452
+ *
453
+ * @return this
454
+ */
455
+ insertUInt16LE(value, offset) {
456
+ return this._insertNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset);
457
+ }
458
+ /**
459
+ * Writes an UInt32BE value to the current write position (or at optional offset).
460
+ *
461
+ * @param value { Number } The value to write.
462
+ * @param offset { Number } The offset to write the value at.
463
+ *
464
+ * @return this
465
+ */
466
+ writeUInt32BE(value, offset) {
467
+ return this._writeNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset);
468
+ }
469
+ /**
470
+ * Inserts an UInt32BE value at the given offset value.
471
+ *
472
+ * @param value { Number } The value to insert.
473
+ * @param offset { Number } The offset to insert the value at.
474
+ *
475
+ * @return this
476
+ */
477
+ insertUInt32BE(value, offset) {
478
+ return this._insertNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset);
479
+ }
480
+ /**
481
+ * Writes an UInt32LE value to the current write position (or at optional offset).
482
+ *
483
+ * @param value { Number } The value to write.
484
+ * @param offset { Number } The offset to write the value at.
485
+ *
486
+ * @return this
487
+ */
488
+ writeUInt32LE(value, offset) {
489
+ return this._writeNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset);
490
+ }
491
+ /**
492
+ * Inserts an UInt32LE value at the given offset value.
493
+ *
494
+ * @param value { Number } The value to insert.
495
+ * @param offset { Number } The offset to insert the value at.
496
+ *
497
+ * @return this
498
+ */
499
+ insertUInt32LE(value, offset) {
500
+ return this._insertNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset);
501
+ }
502
+ /**
503
+ * Writes a BigUInt64BE value to the current write position (or at optional offset).
504
+ *
505
+ * @param value { Number } The value to write.
506
+ * @param offset { Number } The offset to write the value at.
507
+ *
508
+ * @return this
509
+ */
510
+ writeBigUInt64BE(value, offset) {
511
+ utils_1.bigIntAndBufferInt64Check('writeBigUInt64BE');
512
+ return this._writeNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset);
513
+ }
514
+ /**
515
+ * Inserts a BigUInt64BE value at the given offset value.
516
+ *
517
+ * @param value { Number } The value to insert.
518
+ * @param offset { Number } The offset to insert the value at.
519
+ *
520
+ * @return this
521
+ */
522
+ insertBigUInt64BE(value, offset) {
523
+ utils_1.bigIntAndBufferInt64Check('writeBigUInt64BE');
524
+ return this._insertNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset);
525
+ }
526
+ /**
527
+ * Writes a BigUInt64LE value to the current write position (or at optional offset).
528
+ *
529
+ * @param value { Number } The value to write.
530
+ * @param offset { Number } The offset to write the value at.
531
+ *
532
+ * @return this
533
+ */
534
+ writeBigUInt64LE(value, offset) {
535
+ utils_1.bigIntAndBufferInt64Check('writeBigUInt64LE');
536
+ return this._writeNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset);
537
+ }
538
+ /**
539
+ * Inserts a BigUInt64LE value at the given offset value.
540
+ *
541
+ * @param value { Number } The value to insert.
542
+ * @param offset { Number } The offset to insert the value at.
543
+ *
544
+ * @return this
545
+ */
546
+ insertBigUInt64LE(value, offset) {
547
+ utils_1.bigIntAndBufferInt64Check('writeBigUInt64LE');
548
+ return this._insertNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset);
549
+ }
550
+ // Floating Point
551
+ /**
552
+ * Reads an FloatBE value from the current read position or an optionally provided offset.
553
+ *
554
+ * @param offset { Number } The offset to read data from (optional)
555
+ * @return { Number }
556
+ */
557
+ readFloatBE(offset) {
558
+ return this._readNumberValue(Buffer.prototype.readFloatBE, 4, offset);
559
+ }
560
+ /**
561
+ * Reads an FloatLE value from the current read position or an optionally provided offset.
562
+ *
563
+ * @param offset { Number } The offset to read data from (optional)
564
+ * @return { Number }
565
+ */
566
+ readFloatLE(offset) {
567
+ return this._readNumberValue(Buffer.prototype.readFloatLE, 4, offset);
568
+ }
569
+ /**
570
+ * Writes a FloatBE value to the current write position (or at optional offset).
571
+ *
572
+ * @param value { Number } The value to write.
573
+ * @param offset { Number } The offset to write the value at.
574
+ *
575
+ * @return this
576
+ */
577
+ writeFloatBE(value, offset) {
578
+ return this._writeNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset);
579
+ }
580
+ /**
581
+ * Inserts a FloatBE value at the given offset value.
582
+ *
583
+ * @param value { Number } The value to insert.
584
+ * @param offset { Number } The offset to insert the value at.
585
+ *
586
+ * @return this
587
+ */
588
+ insertFloatBE(value, offset) {
589
+ return this._insertNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset);
590
+ }
591
+ /**
592
+ * Writes a FloatLE value to the current write position (or at optional offset).
593
+ *
594
+ * @param value { Number } The value to write.
595
+ * @param offset { Number } The offset to write the value at.
596
+ *
597
+ * @return this
598
+ */
599
+ writeFloatLE(value, offset) {
600
+ return this._writeNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset);
601
+ }
602
+ /**
603
+ * Inserts a FloatLE value at the given offset value.
604
+ *
605
+ * @param value { Number } The value to insert.
606
+ * @param offset { Number } The offset to insert the value at.
607
+ *
608
+ * @return this
609
+ */
610
+ insertFloatLE(value, offset) {
611
+ return this._insertNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset);
612
+ }
613
+ // Double Floating Point
614
+ /**
615
+ * Reads an DoublEBE value from the current read position or an optionally provided offset.
616
+ *
617
+ * @param offset { Number } The offset to read data from (optional)
618
+ * @return { Number }
619
+ */
620
+ readDoubleBE(offset) {
621
+ return this._readNumberValue(Buffer.prototype.readDoubleBE, 8, offset);
622
+ }
623
+ /**
624
+ * Reads an DoubleLE value from the current read position or an optionally provided offset.
625
+ *
626
+ * @param offset { Number } The offset to read data from (optional)
627
+ * @return { Number }
628
+ */
629
+ readDoubleLE(offset) {
630
+ return this._readNumberValue(Buffer.prototype.readDoubleLE, 8, offset);
631
+ }
632
+ /**
633
+ * Writes a DoubleBE value to the current write position (or at optional offset).
634
+ *
635
+ * @param value { Number } The value to write.
636
+ * @param offset { Number } The offset to write the value at.
637
+ *
638
+ * @return this
639
+ */
640
+ writeDoubleBE(value, offset) {
641
+ return this._writeNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset);
642
+ }
643
+ /**
644
+ * Inserts a DoubleBE value at the given offset value.
645
+ *
646
+ * @param value { Number } The value to insert.
647
+ * @param offset { Number } The offset to insert the value at.
648
+ *
649
+ * @return this
650
+ */
651
+ insertDoubleBE(value, offset) {
652
+ return this._insertNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset);
653
+ }
654
+ /**
655
+ * Writes a DoubleLE value to the current write position (or at optional offset).
656
+ *
657
+ * @param value { Number } The value to write.
658
+ * @param offset { Number } The offset to write the value at.
659
+ *
660
+ * @return this
661
+ */
662
+ writeDoubleLE(value, offset) {
663
+ return this._writeNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset);
664
+ }
665
+ /**
666
+ * Inserts a DoubleLE value at the given offset value.
667
+ *
668
+ * @param value { Number } The value to insert.
669
+ * @param offset { Number } The offset to insert the value at.
670
+ *
671
+ * @return this
672
+ */
673
+ insertDoubleLE(value, offset) {
674
+ return this._insertNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset);
675
+ }
676
+ // Strings
677
+ /**
678
+ * Reads a String from the current read position.
679
+ *
680
+ * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for
681
+ * the string (Defaults to instance level encoding).
682
+ * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
683
+ *
684
+ * @return { String }
685
+ */
686
+ readString(arg1, encoding) {
687
+ let lengthVal;
688
+ // Length provided
689
+ if (typeof arg1 === 'number') {
690
+ utils_1.checkLengthValue(arg1);
691
+ lengthVal = Math.min(arg1, this.length - this._readOffset);
692
+ }
693
+ else {
694
+ encoding = arg1;
695
+ lengthVal = this.length - this._readOffset;
696
+ }
697
+ // Check encoding
698
+ if (typeof encoding !== 'undefined') {
699
+ utils_1.checkEncoding(encoding);
700
+ }
701
+ const value = this._buff.slice(this._readOffset, this._readOffset + lengthVal).toString(encoding || this._encoding);
702
+ this._readOffset += lengthVal;
703
+ return value;
704
+ }
705
+ /**
706
+ * Inserts a String
707
+ *
708
+ * @param value { String } The String value to insert.
709
+ * @param offset { Number } The offset to insert the string at.
710
+ * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
711
+ *
712
+ * @return this
713
+ */
714
+ insertString(value, offset, encoding) {
715
+ utils_1.checkOffsetValue(offset);
716
+ return this._handleString(value, true, offset, encoding);
717
+ }
718
+ /**
719
+ * Writes a String
720
+ *
721
+ * @param value { String } The String value to write.
722
+ * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use.
723
+ * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
724
+ *
725
+ * @return this
726
+ */
727
+ writeString(value, arg2, encoding) {
728
+ return this._handleString(value, false, arg2, encoding);
729
+ }
730
+ /**
731
+ * Reads a null-terminated String from the current read position.
732
+ *
733
+ * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
734
+ *
735
+ * @return { String }
736
+ */
737
+ readStringNT(encoding) {
738
+ if (typeof encoding !== 'undefined') {
739
+ utils_1.checkEncoding(encoding);
740
+ }
741
+ // Set null character position to the end SmartBuffer instance.
742
+ let nullPos = this.length;
743
+ // Find next null character (if one is not found, default from above is used)
744
+ for (let i = this._readOffset; i < this.length; i++) {
745
+ if (this._buff[i] === 0x00) {
746
+ nullPos = i;
747
+ break;
748
+ }
749
+ }
750
+ // Read string value
751
+ const value = this._buff.slice(this._readOffset, nullPos);
752
+ // Increment internal Buffer read offset
753
+ this._readOffset = nullPos + 1;
754
+ return value.toString(encoding || this._encoding);
755
+ }
756
+ /**
757
+ * Inserts a null-terminated String.
758
+ *
759
+ * @param value { String } The String value to write.
760
+ * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
761
+ * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
762
+ *
763
+ * @return this
764
+ */
765
+ insertStringNT(value, offset, encoding) {
766
+ utils_1.checkOffsetValue(offset);
767
+ // Write Values
768
+ this.insertString(value, offset, encoding);
769
+ this.insertUInt8(0x00, offset + value.length);
770
+ return this;
771
+ }
772
+ /**
773
+ * Writes a null-terminated String.
774
+ *
775
+ * @param value { String } The String value to write.
776
+ * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
777
+ * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
778
+ *
779
+ * @return this
780
+ */
781
+ writeStringNT(value, arg2, encoding) {
782
+ // Write Values
783
+ this.writeString(value, arg2, encoding);
784
+ this.writeUInt8(0x00, typeof arg2 === 'number' ? arg2 + value.length : this.writeOffset);
785
+ return this;
786
+ }
787
+ // Buffers
788
+ /**
789
+ * Reads a Buffer from the internal read position.
790
+ *
791
+ * @param length { Number } The length of data to read as a Buffer.
792
+ *
793
+ * @return { Buffer }
794
+ */
795
+ readBuffer(length) {
796
+ if (typeof length !== 'undefined') {
797
+ utils_1.checkLengthValue(length);
798
+ }
799
+ const lengthVal = typeof length === 'number' ? length : this.length;
800
+ const endPoint = Math.min(this.length, this._readOffset + lengthVal);
801
+ // Read buffer value
802
+ const value = this._buff.slice(this._readOffset, endPoint);
803
+ // Increment internal Buffer read offset
804
+ this._readOffset = endPoint;
805
+ return value;
806
+ }
807
+ /**
808
+ * Writes a Buffer to the current write position.
809
+ *
810
+ * @param value { Buffer } The Buffer to write.
811
+ * @param offset { Number } The offset to write the Buffer to.
812
+ *
813
+ * @return this
814
+ */
815
+ insertBuffer(value, offset) {
816
+ utils_1.checkOffsetValue(offset);
817
+ return this._handleBuffer(value, true, offset);
818
+ }
819
+ /**
820
+ * Writes a Buffer to the current write position.
821
+ *
822
+ * @param value { Buffer } The Buffer to write.
823
+ * @param offset { Number } The offset to write the Buffer to.
824
+ *
825
+ * @return this
826
+ */
827
+ writeBuffer(value, offset) {
828
+ return this._handleBuffer(value, false, offset);
829
+ }
830
+ /**
831
+ * Reads a null-terminated Buffer from the current read poisiton.
832
+ *
833
+ * @return { Buffer }
834
+ */
835
+ readBufferNT() {
836
+ // Set null character position to the end SmartBuffer instance.
837
+ let nullPos = this.length;
838
+ // Find next null character (if one is not found, default from above is used)
839
+ for (let i = this._readOffset; i < this.length; i++) {
840
+ if (this._buff[i] === 0x00) {
841
+ nullPos = i;
842
+ break;
843
+ }
844
+ }
845
+ // Read value
846
+ const value = this._buff.slice(this._readOffset, nullPos);
847
+ // Increment internal Buffer read offset
848
+ this._readOffset = nullPos + 1;
849
+ return value;
850
+ }
851
+ /**
852
+ * Inserts a null-terminated Buffer.
853
+ *
854
+ * @param value { Buffer } The Buffer to write.
855
+ * @param offset { Number } The offset to write the Buffer to.
856
+ *
857
+ * @return this
858
+ */
859
+ insertBufferNT(value, offset) {
860
+ utils_1.checkOffsetValue(offset);
861
+ // Write Values
862
+ this.insertBuffer(value, offset);
863
+ this.insertUInt8(0x00, offset + value.length);
864
+ return this;
865
+ }
866
+ /**
867
+ * Writes a null-terminated Buffer.
868
+ *
869
+ * @param value { Buffer } The Buffer to write.
870
+ * @param offset { Number } The offset to write the Buffer to.
871
+ *
872
+ * @return this
873
+ */
874
+ writeBufferNT(value, offset) {
875
+ // Checks for valid numberic value;
876
+ if (typeof offset !== 'undefined') {
877
+ utils_1.checkOffsetValue(offset);
878
+ }
879
+ // Write Values
880
+ this.writeBuffer(value, offset);
881
+ this.writeUInt8(0x00, typeof offset === 'number' ? offset + value.length : this._writeOffset);
882
+ return this;
883
+ }
884
+ /**
885
+ * Clears the SmartBuffer instance to its original empty state.
886
+ */
887
+ clear() {
888
+ this._writeOffset = 0;
889
+ this._readOffset = 0;
890
+ this.length = 0;
891
+ return this;
892
+ }
893
+ /**
894
+ * Gets the remaining data left to be read from the SmartBuffer instance.
895
+ *
896
+ * @return { Number }
897
+ */
898
+ remaining() {
899
+ return this.length - this._readOffset;
900
+ }
901
+ /**
902
+ * Gets the current read offset value of the SmartBuffer instance.
903
+ *
904
+ * @return { Number }
905
+ */
906
+ get readOffset() {
907
+ return this._readOffset;
908
+ }
909
+ /**
910
+ * Sets the read offset value of the SmartBuffer instance.
911
+ *
912
+ * @param offset { Number } - The offset value to set.
913
+ */
914
+ set readOffset(offset) {
915
+ utils_1.checkOffsetValue(offset);
916
+ // Check for bounds.
917
+ utils_1.checkTargetOffset(offset, this);
918
+ this._readOffset = offset;
919
+ }
920
+ /**
921
+ * Gets the current write offset value of the SmartBuffer instance.
922
+ *
923
+ * @return { Number }
924
+ */
925
+ get writeOffset() {
926
+ return this._writeOffset;
927
+ }
928
+ /**
929
+ * Sets the write offset value of the SmartBuffer instance.
930
+ *
931
+ * @param offset { Number } - The offset value to set.
932
+ */
933
+ set writeOffset(offset) {
934
+ utils_1.checkOffsetValue(offset);
935
+ // Check for bounds.
936
+ utils_1.checkTargetOffset(offset, this);
937
+ this._writeOffset = offset;
938
+ }
939
+ /**
940
+ * Gets the currently set string encoding of the SmartBuffer instance.
941
+ *
942
+ * @return { BufferEncoding } The string Buffer encoding currently set.
943
+ */
944
+ get encoding() {
945
+ return this._encoding;
946
+ }
947
+ /**
948
+ * Sets the string encoding of the SmartBuffer instance.
949
+ *
950
+ * @param encoding { BufferEncoding } The string Buffer encoding to set.
951
+ */
952
+ set encoding(encoding) {
953
+ utils_1.checkEncoding(encoding);
954
+ this._encoding = encoding;
955
+ }
956
+ /**
957
+ * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer)
958
+ *
959
+ * @return { Buffer } The Buffer value.
960
+ */
961
+ get internalBuffer() {
962
+ return this._buff;
963
+ }
964
+ /**
965
+ * Gets the value of the internal managed Buffer (Includes managed data only)
966
+ *
967
+ * @param { Buffer }
968
+ */
969
+ toBuffer() {
970
+ return this._buff.slice(0, this.length);
971
+ }
972
+ /**
973
+ * Gets the String value of the internal managed Buffer
974
+ *
975
+ * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding).
976
+ */
977
+ toString(encoding) {
978
+ const encodingVal = typeof encoding === 'string' ? encoding : this._encoding;
979
+ // Check for invalid encoding.
980
+ utils_1.checkEncoding(encodingVal);
981
+ return this._buff.toString(encodingVal, 0, this.length);
982
+ }
983
+ /**
984
+ * Destroys the SmartBuffer instance.
985
+ */
986
+ destroy() {
987
+ this.clear();
988
+ return this;
989
+ }
990
+ /**
991
+ * Handles inserting and writing strings.
992
+ *
993
+ * @param value { String } The String value to insert.
994
+ * @param isInsert { Boolean } True if inserting a string, false if writing.
995
+ * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use.
996
+ * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
997
+ */
998
+ _handleString(value, isInsert, arg3, encoding) {
999
+ let offsetVal = this._writeOffset;
1000
+ let encodingVal = this._encoding;
1001
+ // Check for offset
1002
+ if (typeof arg3 === 'number') {
1003
+ offsetVal = arg3;
1004
+ // Check for encoding
1005
+ }
1006
+ else if (typeof arg3 === 'string') {
1007
+ utils_1.checkEncoding(arg3);
1008
+ encodingVal = arg3;
1009
+ }
1010
+ // Check for encoding (third param)
1011
+ if (typeof encoding === 'string') {
1012
+ utils_1.checkEncoding(encoding);
1013
+ encodingVal = encoding;
1014
+ }
1015
+ // Calculate bytelength of string.
1016
+ const byteLength = Buffer.byteLength(value, encodingVal);
1017
+ // Ensure there is enough internal Buffer capacity.
1018
+ if (isInsert) {
1019
+ this.ensureInsertable(byteLength, offsetVal);
1020
+ }
1021
+ else {
1022
+ this._ensureWriteable(byteLength, offsetVal);
1023
+ }
1024
+ // Write value
1025
+ this._buff.write(value, offsetVal, byteLength, encodingVal);
1026
+ // Increment internal Buffer write offset;
1027
+ if (isInsert) {
1028
+ this._writeOffset += byteLength;
1029
+ }
1030
+ else {
1031
+ // If an offset was given, check to see if we wrote beyond the current writeOffset.
1032
+ if (typeof arg3 === 'number') {
1033
+ this._writeOffset = Math.max(this._writeOffset, offsetVal + byteLength);
1034
+ }
1035
+ else {
1036
+ // If no offset was given, we wrote to the end of the SmartBuffer so increment writeOffset.
1037
+ this._writeOffset += byteLength;
1038
+ }
1039
+ }
1040
+ return this;
1041
+ }
1042
+ /**
1043
+ * Handles writing or insert of a Buffer.
1044
+ *
1045
+ * @param value { Buffer } The Buffer to write.
1046
+ * @param offset { Number } The offset to write the Buffer to.
1047
+ */
1048
+ _handleBuffer(value, isInsert, offset) {
1049
+ const offsetVal = typeof offset === 'number' ? offset : this._writeOffset;
1050
+ // Ensure there is enough internal Buffer capacity.
1051
+ if (isInsert) {
1052
+ this.ensureInsertable(value.length, offsetVal);
1053
+ }
1054
+ else {
1055
+ this._ensureWriteable(value.length, offsetVal);
1056
+ }
1057
+ // Write buffer value
1058
+ value.copy(this._buff, offsetVal);
1059
+ // Increment internal Buffer write offset;
1060
+ if (isInsert) {
1061
+ this._writeOffset += value.length;
1062
+ }
1063
+ else {
1064
+ // If an offset was given, check to see if we wrote beyond the current writeOffset.
1065
+ if (typeof offset === 'number') {
1066
+ this._writeOffset = Math.max(this._writeOffset, offsetVal + value.length);
1067
+ }
1068
+ else {
1069
+ // If no offset was given, we wrote to the end of the SmartBuffer so increment writeOffset.
1070
+ this._writeOffset += value.length;
1071
+ }
1072
+ }
1073
+ return this;
1074
+ }
1075
+ /**
1076
+ * Ensures that the internal Buffer is large enough to read data.
1077
+ *
1078
+ * @param length { Number } The length of the data that needs to be read.
1079
+ * @param offset { Number } The offset of the data that needs to be read.
1080
+ */
1081
+ ensureReadable(length, offset) {
1082
+ // Offset value defaults to managed read offset.
1083
+ let offsetVal = this._readOffset;
1084
+ // If an offset was provided, use it.
1085
+ if (typeof offset !== 'undefined') {
1086
+ // Checks for valid numberic value;
1087
+ utils_1.checkOffsetValue(offset);
1088
+ // Overide with custom offset.
1089
+ offsetVal = offset;
1090
+ }
1091
+ // Checks if offset is below zero, or the offset+length offset is beyond the total length of the managed data.
1092
+ if (offsetVal < 0 || offsetVal + length > this.length) {
1093
+ throw new Error(utils_1.ERRORS.INVALID_READ_BEYOND_BOUNDS);
1094
+ }
1095
+ }
1096
+ /**
1097
+ * Ensures that the internal Buffer is large enough to insert data.
1098
+ *
1099
+ * @param dataLength { Number } The length of the data that needs to be written.
1100
+ * @param offset { Number } The offset of the data to be written.
1101
+ */
1102
+ ensureInsertable(dataLength, offset) {
1103
+ // Checks for valid numberic value;
1104
+ utils_1.checkOffsetValue(offset);
1105
+ // Ensure there is enough internal Buffer capacity.
1106
+ this._ensureCapacity(this.length + dataLength);
1107
+ // If an offset was provided and its not the very end of the buffer, copy data into appropriate location in regards to the offset.
1108
+ if (offset < this.length) {
1109
+ this._buff.copy(this._buff, offset + dataLength, offset, this._buff.length);
1110
+ }
1111
+ // Adjust tracked smart buffer length
1112
+ if (offset + dataLength > this.length) {
1113
+ this.length = offset + dataLength;
1114
+ }
1115
+ else {
1116
+ this.length += dataLength;
1117
+ }
1118
+ }
1119
+ /**
1120
+ * Ensures that the internal Buffer is large enough to write data.
1121
+ *
1122
+ * @param dataLength { Number } The length of the data that needs to be written.
1123
+ * @param offset { Number } The offset of the data to be written (defaults to writeOffset).
1124
+ */
1125
+ _ensureWriteable(dataLength, offset) {
1126
+ const offsetVal = typeof offset === 'number' ? offset : this._writeOffset;
1127
+ // Ensure enough capacity to write data.
1128
+ this._ensureCapacity(offsetVal + dataLength);
1129
+ // Adjust SmartBuffer length (if offset + length is larger than managed length, adjust length)
1130
+ if (offsetVal + dataLength > this.length) {
1131
+ this.length = offsetVal + dataLength;
1132
+ }
1133
+ }
1134
+ /**
1135
+ * Ensures that the internal Buffer is large enough to write at least the given amount of data.
1136
+ *
1137
+ * @param minLength { Number } The minimum length of the data needs to be written.
1138
+ */
1139
+ _ensureCapacity(minLength) {
1140
+ const oldLength = this._buff.length;
1141
+ if (minLength > oldLength) {
1142
+ let data = this._buff;
1143
+ let newLength = (oldLength * 3) / 2 + 1;
1144
+ if (newLength < minLength) {
1145
+ newLength = minLength;
1146
+ }
1147
+ this._buff = Buffer.allocUnsafe(newLength);
1148
+ data.copy(this._buff, 0, 0, oldLength);
1149
+ }
1150
+ }
1151
+ /**
1152
+ * Reads a numeric number value using the provided function.
1153
+ *
1154
+ * @typeparam T { number | bigint } The type of the value to be read
1155
+ *
1156
+ * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with.
1157
+ * @param byteSize { Number } The number of bytes read.
1158
+ * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead.
1159
+ *
1160
+ * @returns { T } the number value
1161
+ */
1162
+ _readNumberValue(func, byteSize, offset) {
1163
+ this.ensureReadable(byteSize, offset);
1164
+ // Call Buffer.readXXXX();
1165
+ const value = func.call(this._buff, typeof offset === 'number' ? offset : this._readOffset);
1166
+ // Adjust internal read offset if an optional read offset was not provided.
1167
+ if (typeof offset === 'undefined') {
1168
+ this._readOffset += byteSize;
1169
+ }
1170
+ return value;
1171
+ }
1172
+ /**
1173
+ * Inserts a numeric number value based on the given offset and value.
1174
+ *
1175
+ * @typeparam T { number | bigint } The type of the value to be written
1176
+ *
1177
+ * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
1178
+ * @param byteSize { Number } The number of bytes written.
1179
+ * @param value { T } The number value to write.
1180
+ * @param offset { Number } the offset to write the number at (REQUIRED).
1181
+ *
1182
+ * @returns SmartBuffer this buffer
1183
+ */
1184
+ _insertNumberValue(func, byteSize, value, offset) {
1185
+ // Check for invalid offset values.
1186
+ utils_1.checkOffsetValue(offset);
1187
+ // Ensure there is enough internal Buffer capacity. (raw offset is passed)
1188
+ this.ensureInsertable(byteSize, offset);
1189
+ // Call buffer.writeXXXX();
1190
+ func.call(this._buff, value, offset);
1191
+ // Adjusts internally managed write offset.
1192
+ this._writeOffset += byteSize;
1193
+ return this;
1194
+ }
1195
+ /**
1196
+ * Writes a numeric number value based on the given offset and value.
1197
+ *
1198
+ * @typeparam T { number | bigint } The type of the value to be written
1199
+ *
1200
+ * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
1201
+ * @param byteSize { Number } The number of bytes written.
1202
+ * @param value { T } The number value to write.
1203
+ * @param offset { Number } the offset to write the number at (REQUIRED).
1204
+ *
1205
+ * @returns SmartBuffer this buffer
1206
+ */
1207
+ _writeNumberValue(func, byteSize, value, offset) {
1208
+ // If an offset was provided, validate it.
1209
+ if (typeof offset === 'number') {
1210
+ // Check if we're writing beyond the bounds of the managed data.
1211
+ if (offset < 0) {
1212
+ throw new Error(utils_1.ERRORS.INVALID_WRITE_BEYOND_BOUNDS);
1213
+ }
1214
+ utils_1.checkOffsetValue(offset);
1215
+ }
1216
+ // Default to writeOffset if no offset value was given.
1217
+ const offsetVal = typeof offset === 'number' ? offset : this._writeOffset;
1218
+ // Ensure there is enough internal Buffer capacity. (raw offset is passed)
1219
+ this._ensureWriteable(byteSize, offsetVal);
1220
+ func.call(this._buff, value, offsetVal);
1221
+ // If an offset was given, check to see if we wrote beyond the current writeOffset.
1222
+ if (typeof offset === 'number') {
1223
+ this._writeOffset = Math.max(this._writeOffset, offsetVal + byteSize);
1224
+ }
1225
+ else {
1226
+ // If no numeric offset was given, we wrote to the end of the SmartBuffer so increment writeOffset.
1227
+ this._writeOffset += byteSize;
1228
+ }
1229
+ return this;
1230
+ }
1231
+ }
1232
+ exports.SmartBuffer = SmartBuffer;
1233
+ //# sourceMappingURL=smartbuffer.js.map