appium-mac2-driver 4.3.5 → 4.4.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 (372) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/WebDriverAgentMac/IntegrationTests/AMSessionTests.m +14 -0
  3. package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBSessionCommands.m +17 -5
  4. package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBSession.m +5 -1
  5. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/FBXPath.m +48 -2
  6. package/WebDriverAgentMac/WebDriverAgentMac.xcodeproj/project.pbxproj +4 -0
  7. package/build/lib/driver.d.ts +3 -0
  8. package/build/lib/driver.d.ts.map +1 -1
  9. package/build/lib/driver.js +52 -32
  10. package/build/lib/driver.js.map +1 -1
  11. package/build/lib/session-claim-handler.d.ts +41 -0
  12. package/build/lib/session-claim-handler.d.ts.map +1 -0
  13. package/build/lib/session-claim-handler.js +236 -0
  14. package/build/lib/session-claim-handler.js.map +1 -0
  15. package/build/lib/wda-mac.d.ts +6 -2
  16. package/build/lib/wda-mac.d.ts.map +1 -1
  17. package/build/lib/wda-mac.js +43 -14
  18. package/build/lib/wda-mac.js.map +1 -1
  19. package/lib/driver.ts +55 -31
  20. package/lib/session-claim-handler.ts +306 -0
  21. package/lib/wda-mac.ts +45 -15
  22. package/node_modules/@appium/logger/CHANGELOG.md +8 -0
  23. package/node_modules/@appium/logger/package.json +3 -3
  24. package/node_modules/@appium/strongbox/build/lib/index.d.ts.map +1 -1
  25. package/node_modules/@appium/strongbox/build/lib/index.js +6 -1
  26. package/node_modules/@appium/strongbox/build/lib/index.js.map +1 -1
  27. package/node_modules/@appium/strongbox/lib/index.ts +6 -1
  28. package/node_modules/@appium/strongbox/package.json +2 -2
  29. package/node_modules/@appium/support/build/lib/fs.d.ts.map +1 -1
  30. package/node_modules/@appium/support/build/lib/fs.js +7 -0
  31. package/node_modules/@appium/support/build/lib/fs.js.map +1 -1
  32. package/node_modules/@appium/support/build/lib/index.d.ts.map +1 -1
  33. package/node_modules/@appium/support/build/lib/net.d.ts.map +1 -1
  34. package/node_modules/@appium/support/build/lib/net.js +6 -2
  35. package/node_modules/@appium/support/build/lib/net.js.map +1 -1
  36. package/node_modules/@appium/support/build/lib/util.d.ts.map +1 -1
  37. package/node_modules/@appium/support/build/lib/util.js +10 -4
  38. package/node_modules/@appium/support/build/lib/util.js.map +1 -1
  39. package/node_modules/@appium/support/build/lib/zip.d.ts.map +1 -1
  40. package/node_modules/@appium/support/build/lib/zip.js +2 -7
  41. package/node_modules/@appium/support/build/lib/zip.js.map +1 -1
  42. package/node_modules/@appium/support/lib/fs.ts +8 -1
  43. package/node_modules/@appium/support/lib/net.ts +7 -2
  44. package/node_modules/@appium/support/lib/util.ts +9 -3
  45. package/node_modules/@appium/support/lib/zip.ts +3 -9
  46. package/node_modules/@appium/support/package.json +9 -9
  47. package/node_modules/@appium/types/package.json +4 -4
  48. package/node_modules/@img/sharp-darwin-arm64/index.cjs +1 -1
  49. package/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64-0.35.5.node +0 -0
  50. package/node_modules/@img/sharp-darwin-arm64/package.json +2 -2
  51. package/node_modules/@img/sharp-libvips-darwin-arm64/README.md +1 -1
  52. package/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +2 -2
  53. package/node_modules/@img/sharp-libvips-darwin-arm64/lib/{libvips-cpp.8.18.6.dylib → libvips-cpp.8.18.7.dylib} +0 -0
  54. package/node_modules/@img/sharp-libvips-darwin-arm64/package.json +2 -2
  55. package/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +11 -11
  56. package/node_modules/appium-xcode/CHANGELOG.md +35 -0
  57. package/node_modules/appium-xcode/README.md +1 -1
  58. package/node_modules/appium-xcode/package.json +14 -18
  59. package/node_modules/async-lock/AUTHORS +21 -0
  60. package/node_modules/async-lock/History.md +132 -0
  61. package/node_modules/async-lock/LICENSE +22 -0
  62. package/node_modules/async-lock/README.md +177 -0
  63. package/node_modules/async-lock/index.js +2 -0
  64. package/node_modules/async-lock/lib/index.js +312 -0
  65. package/node_modules/async-lock/package.json +48 -0
  66. package/node_modules/b4a/browser.js +5 -0
  67. package/node_modules/b4a/index.d.ts +144 -0
  68. package/node_modules/b4a/index.js +5 -0
  69. package/node_modules/b4a/package.json +4 -1
  70. package/node_modules/b4a/runtime.d.ts +14 -0
  71. package/node_modules/bare-fs/binding.c +52 -23
  72. package/node_modules/bare-fs/index.d.ts +12 -10
  73. package/node_modules/bare-fs/index.js +43 -10
  74. package/node_modules/bare-fs/package.json +2 -1
  75. package/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  76. package/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  77. package/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  78. package/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  79. package/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  80. package/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  81. package/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  82. package/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  83. package/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  84. package/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  85. package/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  86. package/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  87. package/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  88. package/node_modules/bplist-creator/README.md +26 -6
  89. package/node_modules/bplist-creator/dist/index.cjs +508 -0
  90. package/node_modules/bplist-creator/dist/index.cjs.map +7 -0
  91. package/node_modules/bplist-creator/dist/index.d.cts +12 -0
  92. package/node_modules/bplist-creator/dist/index.d.ts +12 -0
  93. package/node_modules/bplist-creator/dist/index.mjs +472 -0
  94. package/node_modules/bplist-creator/dist/index.mjs.map +7 -0
  95. package/node_modules/bplist-creator/package.json +43 -9
  96. package/node_modules/bplist-parser/README.md +37 -3
  97. package/node_modules/bplist-parser/dist/index.cjs +385 -0
  98. package/node_modules/bplist-parser/dist/index.cjs.map +7 -0
  99. package/node_modules/bplist-parser/dist/index.d.cts +13 -0
  100. package/node_modules/bplist-parser/dist/index.d.ts +13 -0
  101. package/node_modules/bplist-parser/{bplistParser.js → dist/index.mjs} +141 -171
  102. package/node_modules/bplist-parser/dist/index.mjs.map +7 -0
  103. package/node_modules/bplist-parser/package.json +39 -12
  104. package/node_modules/brace-expansion/dist/commonjs/index.d.ts +4 -0
  105. package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -1
  106. package/node_modules/brace-expansion/dist/commonjs/index.js +69 -25
  107. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  108. package/node_modules/brace-expansion/dist/esm/index.d.ts +4 -0
  109. package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -1
  110. package/node_modules/brace-expansion/dist/esm/index.js +68 -24
  111. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  112. package/node_modules/brace-expansion/package.json +2 -1
  113. package/node_modules/follow-redirects/index.js +10 -1
  114. package/node_modules/follow-redirects/package.json +1 -1
  115. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  116. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.js.map +1 -0
  117. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.d.ts +5 -0
  118. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.js +7 -0
  119. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts +1400 -0
  120. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts.map +1 -0
  121. package/node_modules/lru-cache/dist/commonjs/react-native/index.js +1733 -0
  122. package/node_modules/lru-cache/dist/commonjs/react-native/index.js.map +1 -0
  123. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts +12 -0
  124. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts.map +1 -0
  125. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js +10 -0
  126. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js.map +1 -0
  127. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  128. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.js.map +1 -0
  129. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.d.ts +5 -0
  130. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.js +4 -0
  131. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts +1400 -0
  132. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts.map +1 -0
  133. package/node_modules/lru-cache/dist/esm/react-native/index.js +1729 -0
  134. package/node_modules/lru-cache/dist/esm/react-native/index.js.map +1 -0
  135. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts +12 -0
  136. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts.map +1 -0
  137. package/node_modules/lru-cache/dist/esm/react-native/perf.js +7 -0
  138. package/node_modules/lru-cache/dist/esm/react-native/perf.js.map +1 -0
  139. package/node_modules/lru-cache/package.json +27 -1
  140. package/node_modules/p-limit/index.d.ts +2 -0
  141. package/node_modules/p-limit/index.js +17 -1
  142. package/node_modules/p-limit/package.json +1 -1
  143. package/node_modules/p-limit/readme.md +2 -0
  144. package/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
  145. package/node_modules/readable-stream/lib/internal/streams/destroy.js +1 -1
  146. package/node_modules/readable-stream/lib/internal/streams/duplexify.js +1 -1
  147. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +1 -1
  148. package/node_modules/readable-stream/lib/internal/streams/from.js +1 -1
  149. package/node_modules/readable-stream/lib/internal/streams/legacy.js +6 -1
  150. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +1 -1
  151. package/node_modules/readable-stream/lib/internal/streams/readable.js +1 -1
  152. package/node_modules/readable-stream/lib/internal/streams/writable.js +1 -1
  153. package/node_modules/readable-stream/package.json +3 -2
  154. package/node_modules/sharp/dist/index.d.cts +2 -2
  155. package/node_modules/sharp/dist/index.d.mts +3 -3
  156. package/node_modules/sharp/dist/is.cjs +8 -2
  157. package/node_modules/sharp/dist/is.mjs +8 -2
  158. package/node_modules/sharp/dist/operation.cjs +2 -2
  159. package/node_modules/sharp/dist/operation.mjs +2 -2
  160. package/node_modules/sharp/dist/output.cjs +1 -0
  161. package/node_modules/sharp/dist/output.mjs +1 -0
  162. package/node_modules/sharp/dist/resize.cjs +14 -14
  163. package/node_modules/sharp/dist/resize.mjs +14 -14
  164. package/node_modules/sharp/dist/sharp.cjs +3 -3
  165. package/node_modules/sharp/dist/sharp.mjs +3 -3
  166. package/node_modules/sharp/lib/index.d.ts +2 -2
  167. package/node_modules/sharp/package.json +35 -35
  168. package/node_modules/sharp/src/binding.gyp +1 -1
  169. package/node_modules/sharp/src/common.cc +4 -4
  170. package/node_modules/sharp/src/common.h +2 -2
  171. package/node_modules/sharp/src/pipeline.cc +31 -6
  172. package/node_modules/sharp/src/utilities.cc +1 -1
  173. package/node_modules/spdx-license-ids/index.json +13 -0
  174. package/node_modules/spdx-license-ids/package.json +1 -1
  175. package/node_modules/stream-buffers/.codeclimate.yml +12 -0
  176. package/node_modules/stream-buffers/.eslintignore +1 -0
  177. package/node_modules/stream-buffers/.eslintrc +25 -0
  178. package/node_modules/stream-buffers/.github/workflows/codeql-analysis.yml +71 -0
  179. package/node_modules/stream-buffers/.github/workflows/node.js.yml +31 -0
  180. package/node_modules/stream-buffers/.mailmap +1 -0
  181. package/node_modules/stream-buffers/.nvmrc +1 -0
  182. package/node_modules/stream-buffers/README.md +65 -65
  183. package/node_modules/stream-buffers/lib/constants.js +8 -6
  184. package/node_modules/stream-buffers/lib/readable_streambuffer.js +114 -136
  185. package/node_modules/stream-buffers/lib/streambuffer.js +5 -3
  186. package/node_modules/stream-buffers/lib/writable_streambuffer.js +72 -97
  187. package/node_modules/stream-buffers/package.json +7 -5
  188. package/node_modules/tar-stream/package.json +7 -7
  189. package/node_modules/type-fest/index.d.ts +7 -7
  190. package/node_modules/type-fest/package.json +2 -1
  191. package/node_modules/type-fest/readme.md +7 -16
  192. package/node_modules/type-fest/source/all-extend.d.ts +9 -7
  193. package/node_modules/type-fest/source/array-reverse.d.ts +13 -12
  194. package/node_modules/type-fest/source/array-tail.d.ts +3 -3
  195. package/node_modules/type-fest/source/delimiter-case.d.ts +1 -1
  196. package/node_modules/type-fest/source/get.d.ts +1 -1
  197. package/node_modules/type-fest/source/int-closed-range.d.ts +4 -1
  198. package/node_modules/type-fest/source/int-range.d.ts +56 -9
  199. package/node_modules/type-fest/source/internal/array.d.ts +14 -13
  200. package/node_modules/type-fest/source/internal/numeric.d.ts +0 -38
  201. package/node_modules/type-fest/source/internal/object.d.ts +30 -1
  202. package/node_modules/type-fest/source/is-boolean-literal.d.ts +39 -0
  203. package/node_modules/type-fest/source/is-literal.d.ts +43 -269
  204. package/node_modules/type-fest/source/is-numeric-literal.d.ts +50 -0
  205. package/node_modules/type-fest/source/is-string-literal.d.ts +72 -0
  206. package/node_modules/type-fest/source/is-symbol-literal.d.ts +39 -0
  207. package/node_modules/type-fest/source/is-tuple.d.ts +3 -3
  208. package/node_modules/type-fest/source/jsonify.d.ts +1 -5
  209. package/node_modules/type-fest/source/merge-deep.d.ts +3 -3
  210. package/node_modules/type-fest/source/remove-prefix.d.ts +1 -1
  211. package/node_modules/type-fest/source/remove-suffix.d.ts +1 -1
  212. package/node_modules/type-fest/source/rename-keys.d.ts +163 -0
  213. package/node_modules/type-fest/source/set-required.d.ts +10 -9
  214. package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +6 -4
  215. package/node_modules/type-fest/source/some-extend.d.ts +9 -7
  216. package/node_modules/type-fest/source/split-on-rest-element.d.ts +14 -13
  217. package/node_modules/type-fest/source/split.d.ts +22 -11
  218. package/node_modules/type-fest/source/string-repeat.d.ts +1 -1
  219. package/node_modules/type-fest/source/string-to-array.d.ts +1 -1
  220. package/node_modules/type-fest/source/tsconfig-json.d.ts +1 -1
  221. package/node_modules/type-fest/source/typed-array.d.ts +6 -0
  222. package/node_modules/type-fest/source/union-max.d.ts +56 -0
  223. package/node_modules/type-fest/source/writable.d.ts +2 -2
  224. package/package.json +5 -3
  225. package/node_modules/@appium/support/node_modules/asyncbox/LICENSE +0 -203
  226. package/node_modules/@appium/support/node_modules/asyncbox/README.md +0 -215
  227. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/asyncbox.d.ts +0 -103
  228. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/asyncbox.d.ts.map +0 -1
  229. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/asyncbox.js +0 -301
  230. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/asyncbox.js.map +0 -1
  231. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/types.d.ts +0 -84
  232. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/types.d.ts.map +0 -1
  233. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/types.js +0 -3
  234. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/types.js.map +0 -1
  235. package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/package.json +0 -3
  236. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/asyncbox.d.ts +0 -103
  237. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/asyncbox.d.ts.map +0 -1
  238. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/asyncbox.js +0 -288
  239. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/asyncbox.js.map +0 -1
  240. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/types.d.ts +0 -84
  241. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/types.d.ts.map +0 -1
  242. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/types.js +0 -2
  243. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/types.js.map +0 -1
  244. package/node_modules/@appium/support/node_modules/asyncbox/build/esm/package.json +0 -3
  245. package/node_modules/@appium/support/node_modules/asyncbox/lib/asyncbox.ts +0 -365
  246. package/node_modules/@appium/support/node_modules/asyncbox/lib/types.ts +0 -88
  247. package/node_modules/@appium/support/node_modules/asyncbox/package.json +0 -74
  248. package/node_modules/@appium/support/node_modules/axios/CHANGELOG.md +0 -1872
  249. package/node_modules/@appium/support/node_modules/axios/LICENSE +0 -7
  250. package/node_modules/@appium/support/node_modules/axios/MIGRATION_GUIDE.md +0 -877
  251. package/node_modules/@appium/support/node_modules/axios/README.md +0 -2623
  252. package/node_modules/@appium/support/node_modules/axios/dist/axios.js +0 -5509
  253. package/node_modules/@appium/support/node_modules/axios/dist/axios.min.js +0 -5
  254. package/node_modules/@appium/support/node_modules/axios/dist/axios.min.js.map +0 -1
  255. package/node_modules/@appium/support/node_modules/axios/dist/browser/axios.cjs +0 -5469
  256. package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.js +0 -5490
  257. package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.min.js +0 -3
  258. package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.min.js.map +0 -1
  259. package/node_modules/@appium/support/node_modules/axios/dist/node/axios.cjs +0 -6356
  260. package/node_modules/@appium/support/node_modules/axios/index.d.cts +0 -762
  261. package/node_modules/@appium/support/node_modules/axios/index.d.ts +0 -783
  262. package/node_modules/@appium/support/node_modules/axios/index.js +0 -45
  263. package/node_modules/@appium/support/node_modules/axios/lib/adapters/README.md +0 -36
  264. package/node_modules/@appium/support/node_modules/axios/lib/adapters/adapters.js +0 -132
  265. package/node_modules/@appium/support/node_modules/axios/lib/adapters/fetch.js +0 -643
  266. package/node_modules/@appium/support/node_modules/axios/lib/adapters/http.js +0 -1406
  267. package/node_modules/@appium/support/node_modules/axios/lib/adapters/xhr.js +0 -228
  268. package/node_modules/@appium/support/node_modules/axios/lib/axios.js +0 -89
  269. package/node_modules/@appium/support/node_modules/axios/lib/cancel/CancelToken.js +0 -135
  270. package/node_modules/@appium/support/node_modules/axios/lib/cancel/CanceledError.js +0 -22
  271. package/node_modules/@appium/support/node_modules/axios/lib/cancel/isCancel.js +0 -5
  272. package/node_modules/@appium/support/node_modules/axios/lib/core/Axios.js +0 -301
  273. package/node_modules/@appium/support/node_modules/axios/lib/core/AxiosError.js +0 -219
  274. package/node_modules/@appium/support/node_modules/axios/lib/core/AxiosHeaders.js +0 -474
  275. package/node_modules/@appium/support/node_modules/axios/lib/core/InterceptorManager.js +0 -72
  276. package/node_modules/@appium/support/node_modules/axios/lib/core/README.md +0 -8
  277. package/node_modules/@appium/support/node_modules/axios/lib/core/buildFullPath.js +0 -88
  278. package/node_modules/@appium/support/node_modules/axios/lib/core/dispatchRequest.js +0 -89
  279. package/node_modules/@appium/support/node_modules/axios/lib/core/mergeConfig.js +0 -174
  280. package/node_modules/@appium/support/node_modules/axios/lib/core/setFormDataHeaders.js +0 -27
  281. package/node_modules/@appium/support/node_modules/axios/lib/core/settle.js +0 -27
  282. package/node_modules/@appium/support/node_modules/axios/lib/core/transformData.js +0 -28
  283. package/node_modules/@appium/support/node_modules/axios/lib/defaults/index.js +0 -177
  284. package/node_modules/@appium/support/node_modules/axios/lib/defaults/transitional.js +0 -10
  285. package/node_modules/@appium/support/node_modules/axios/lib/env/README.md +0 -3
  286. package/node_modules/@appium/support/node_modules/axios/lib/env/classes/FormData.js +0 -2
  287. package/node_modules/@appium/support/node_modules/axios/lib/env/data.js +0 -1
  288. package/node_modules/@appium/support/node_modules/axios/lib/helpers/AxiosTransformStream.js +0 -156
  289. package/node_modules/@appium/support/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +0 -59
  290. package/node_modules/@appium/support/node_modules/axios/lib/helpers/Http2Sessions.js +0 -119
  291. package/node_modules/@appium/support/node_modules/axios/lib/helpers/HttpStatusCode.js +0 -78
  292. package/node_modules/@appium/support/node_modules/axios/lib/helpers/README.md +0 -7
  293. package/node_modules/@appium/support/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +0 -29
  294. package/node_modules/@appium/support/node_modules/axios/lib/helpers/bind.js +0 -14
  295. package/node_modules/@appium/support/node_modules/axios/lib/helpers/buildURL.js +0 -69
  296. package/node_modules/@appium/support/node_modules/axios/lib/helpers/callbackify.js +0 -18
  297. package/node_modules/@appium/support/node_modules/axios/lib/helpers/combineURLs.js +0 -23
  298. package/node_modules/@appium/support/node_modules/axios/lib/helpers/composeSignals.js +0 -68
  299. package/node_modules/@appium/support/node_modules/axios/lib/helpers/cookies.js +0 -64
  300. package/node_modules/@appium/support/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -31
  301. package/node_modules/@appium/support/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +0 -166
  302. package/node_modules/@appium/support/node_modules/axios/lib/helpers/formDataToJSON.js +0 -125
  303. package/node_modules/@appium/support/node_modules/axios/lib/helpers/formDataToStream.js +0 -119
  304. package/node_modules/@appium/support/node_modules/axios/lib/helpers/fromDataURI.js +0 -68
  305. package/node_modules/@appium/support/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -19
  306. package/node_modules/@appium/support/node_modules/axios/lib/helpers/isAxiosError.js +0 -14
  307. package/node_modules/@appium/support/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -16
  308. package/node_modules/@appium/support/node_modules/axios/lib/helpers/null.js +0 -2
  309. package/node_modules/@appium/support/node_modules/axios/lib/helpers/parseHeaders.js +0 -71
  310. package/node_modules/@appium/support/node_modules/axios/lib/helpers/parseProtocol.js +0 -6
  311. package/node_modules/@appium/support/node_modules/axios/lib/helpers/progressEventReducer.js +0 -54
  312. package/node_modules/@appium/support/node_modules/axios/lib/helpers/readBlob.js +0 -15
  313. package/node_modules/@appium/support/node_modules/axios/lib/helpers/resolveConfig.js +0 -105
  314. package/node_modules/@appium/support/node_modules/axios/lib/helpers/sanitizeHeaderValue.js +0 -60
  315. package/node_modules/@appium/support/node_modules/axios/lib/helpers/shouldBypassProxy.js +0 -329
  316. package/node_modules/@appium/support/node_modules/axios/lib/helpers/speedometer.js +0 -55
  317. package/node_modules/@appium/support/node_modules/axios/lib/helpers/spread.js +0 -28
  318. package/node_modules/@appium/support/node_modules/axios/lib/helpers/throttle.js +0 -44
  319. package/node_modules/@appium/support/node_modules/axios/lib/helpers/toFormData.js +0 -286
  320. package/node_modules/@appium/support/node_modules/axios/lib/helpers/toURLEncodedForm.js +0 -19
  321. package/node_modules/@appium/support/node_modules/axios/lib/helpers/trackStream.js +0 -89
  322. package/node_modules/@appium/support/node_modules/axios/lib/helpers/validator.js +0 -112
  323. package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/Blob.js +0 -3
  324. package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/FormData.js +0 -3
  325. package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +0 -4
  326. package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/index.js +0 -13
  327. package/node_modules/@appium/support/node_modules/axios/lib/platform/common/utils.js +0 -52
  328. package/node_modules/@appium/support/node_modules/axios/lib/platform/index.js +0 -7
  329. package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/Buffer.js +0 -11
  330. package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/FormData.js +0 -3
  331. package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +0 -4
  332. package/node_modules/@appium/support/node_modules/axios/lib/platform/node/index.js +0 -37
  333. package/node_modules/@appium/support/node_modules/axios/lib/utils.js +0 -1029
  334. package/node_modules/@appium/support/node_modules/axios/package.json +0 -203
  335. package/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64-0.35.4.node +0 -0
  336. package/node_modules/big-integer/BigInteger.d.ts +0 -2393
  337. package/node_modules/big-integer/BigInteger.js +0 -1453
  338. package/node_modules/big-integer/BigInteger.min.js +0 -1
  339. package/node_modules/big-integer/LICENSE +0 -24
  340. package/node_modules/big-integer/README.md +0 -589
  341. package/node_modules/big-integer/bower.json +0 -29
  342. package/node_modules/big-integer/package.json +0 -48
  343. package/node_modules/big-integer/tsconfig.json +0 -24
  344. package/node_modules/bplist-creator/bplistCreator.d.ts +0 -8
  345. package/node_modules/bplist-creator/bplistCreator.js +0 -460
  346. package/node_modules/bplist-creator/test/airplay.bplist +0 -0
  347. package/node_modules/bplist-creator/test/binaryData.bplist +0 -0
  348. package/node_modules/bplist-creator/test/creatorTest.js +0 -211
  349. package/node_modules/bplist-creator/test/iTunes-small.bplist +0 -0
  350. package/node_modules/bplist-creator/test/integers.bplist +0 -0
  351. package/node_modules/bplist-creator/test/sample1.bplist +0 -0
  352. package/node_modules/bplist-creator/test/sample2.bplist +0 -0
  353. package/node_modules/bplist-creator/test/uid.bplist +0 -0
  354. package/node_modules/bplist-creator/test/utf16.bplist +0 -0
  355. package/node_modules/bplist-parser/.editorconfig +0 -12
  356. package/node_modules/bplist-parser/.eslintignore +0 -1
  357. package/node_modules/bplist-parser/.eslintrc.js +0 -296
  358. package/node_modules/bplist-parser/bplistParser.d.ts +0 -8
  359. package/node_modules/stream-buffers/.travis.yml +0 -28
  360. package/node_modules/stream-buffers/coverage/coverage.json +0 -1
  361. package/node_modules/stream-buffers/coverage/lcov-report/base.css +0 -182
  362. package/node_modules/stream-buffers/coverage/lcov-report/index.html +0 -73
  363. package/node_modules/stream-buffers/coverage/lcov-report/lib/constants.js.html +0 -63
  364. package/node_modules/stream-buffers/coverage/lcov-report/lib/index.html +0 -112
  365. package/node_modules/stream-buffers/coverage/lcov-report/lib/readable_streambuffer.js.html +0 -453
  366. package/node_modules/stream-buffers/coverage/lcov-report/lib/streambuffer.js.html +0 -54
  367. package/node_modules/stream-buffers/coverage/lcov-report/lib/writable_streambuffer.js.html +0 -336
  368. package/node_modules/stream-buffers/coverage/lcov-report/prettify.css +0 -1
  369. package/node_modules/stream-buffers/coverage/lcov-report/prettify.js +0 -1
  370. package/node_modules/stream-buffers/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  371. package/node_modules/stream-buffers/coverage/lcov-report/sorter.js +0 -156
  372. package/node_modules/stream-buffers/coverage/lcov.info +0 -305
@@ -56,9 +56,9 @@ class PipelineWorker : public Napi::AsyncWorker {
56
56
  hasAlpha |= image.has_alpha();
57
57
  }
58
58
  if (hasAlpha) {
59
- for (auto &image : images) {
60
- if (!image.has_alpha()) {
61
- image = sharp::EnsureAlpha(image, 1);
59
+ for (size_t i = 0; i < images.size(); i++) {
60
+ if (!images[i].has_alpha()) {
61
+ images[i] = sharp::EnsureAlpha(images[i], 1);
62
62
  }
63
63
  }
64
64
  } else {
@@ -94,7 +94,10 @@ class PipelineWorker : public Napi::AsyncWorker {
94
94
  // Calculate angle of rotation
95
95
  VipsAngle rotation = VIPS_ANGLE_D0;
96
96
  VipsAngle autoRotation = VIPS_ANGLE_D0;
97
+ VipsAngle gainMapRotation = VIPS_ANGLE_D0;
97
98
  bool autoFlop = false;
99
+ bool gainMapFlip = false;
100
+ bool gainMapFlop = false;
98
101
 
99
102
  if (baton->input->autoOrient) {
100
103
  // Rotate and flip image according to Exif orientation
@@ -115,11 +118,13 @@ class PipelineWorker : public Napi::AsyncWorker {
115
118
  MultiPageUnsupported(nPages, "Rotate");
116
119
  }
117
120
  image = image.rot(autoRotation);
121
+ gainMapRotation = autoRotation;
118
122
  autoRotation = VIPS_ANGLE_D0;
119
123
  }
120
124
  if (autoFlop) {
121
125
  image = image.flip(VIPS_DIRECTION_HORIZONTAL);
122
126
  autoFlop = false;
127
+ gainMapFlop = true;
123
128
  }
124
129
  }
125
130
 
@@ -128,20 +133,24 @@ class PipelineWorker : public Napi::AsyncWorker {
128
133
  if (baton->flip) {
129
134
  image = image.flip(VIPS_DIRECTION_VERTICAL);
130
135
  baton->flip = false;
136
+ gainMapFlip = true;
131
137
  }
132
138
  if (baton->flop) {
133
139
  image = image.flip(VIPS_DIRECTION_HORIZONTAL);
134
140
  baton->flop = false;
141
+ gainMapFlop = true;
135
142
  }
136
143
  if (rotation != VIPS_ANGLE_D0) {
137
144
  if (rotation != VIPS_ANGLE_D180) {
138
145
  MultiPageUnsupported(nPages, "Rotate");
139
146
  }
140
147
  image = image.rot(rotation);
148
+ gainMapRotation = rotation;
141
149
  rotation = VIPS_ANGLE_D0;
142
150
  }
143
151
  if (baton->rotationAngle != 0.0) {
144
152
  MultiPageUnsupported(nPages, "Rotate");
153
+ KeepGainMapUnsupported(baton->keepGainMap, "Rotate");
145
154
  std::vector<double> background;
146
155
  std::tie(image, background) = sharp::ApplyAlpha(image, baton->rotationBackground, false);
147
156
  image = image.rotate(baton->rotationAngle, VImage::option()->set("background", background)).copy_memory();
@@ -152,6 +161,7 @@ class PipelineWorker : public Napi::AsyncWorker {
152
161
  // Trim
153
162
  if (baton->trimThreshold >= 0.0) {
154
163
  MultiPageUnsupported(nPages, "Trim");
164
+ KeepGainMapUnsupported(baton->keepGainMap, "Trim");
155
165
  image = sharp::StaySequential(image);
156
166
  image = sharp::Trim(image, baton->trimBackground, baton->trimThreshold, baton->trimLineArt, baton->trimMargin);
157
167
  baton->trimOffsetLeft = image.xoffset();
@@ -306,6 +316,20 @@ class PipelineWorker : public Napi::AsyncWorker {
306
316
  if (image.get_typeof("gainmap-scale-factor") == G_TYPE_INT) {
307
317
  gainMapScaleFactor = image.get_int("gainmap-scale-factor");
308
318
  }
319
+ if (gainMapFlip) {
320
+ gainMap = gainMap.flip(VIPS_DIRECTION_VERTICAL);
321
+ }
322
+ if (gainMapFlop) {
323
+ gainMap = gainMap.flip(VIPS_DIRECTION_HORIZONTAL);
324
+ }
325
+ if (gainMapRotation != VIPS_ANGLE_D0) {
326
+ gainMap = gainMap.rot(gainMapRotation);
327
+ }
328
+ if (baton->topOffsetPre != -1) {
329
+ gainMap = gainMap.extract_area(
330
+ baton->leftOffsetPre / gainMapScaleFactor, baton->topOffsetPre / gainMapScaleFactor,
331
+ baton->widthPre / gainMapScaleFactor, baton->heightPre / gainMapScaleFactor);
332
+ }
309
333
  } else if (baton->withGainMap) {
310
334
  image = image.uhdr2scRGB();
311
335
  }
@@ -429,14 +453,14 @@ class PipelineWorker : public Napi::AsyncWorker {
429
453
  }
430
454
  image = image.rot(autoRotation);
431
455
  if (baton->keepGainMap) {
432
- gainMap = gainMap.rot(autoRotation);
456
+ gainMap = sharp::StaySequential(gainMap).rot(autoRotation);
433
457
  }
434
458
  }
435
459
  // Mirror vertically (up-down) about the x-axis
436
460
  if (baton->flip) {
437
461
  image = image.flip(VIPS_DIRECTION_VERTICAL);
438
462
  if (baton->keepGainMap) {
439
- gainMap = gainMap.flip(VIPS_DIRECTION_VERTICAL);
463
+ gainMap = sharp::StaySequential(gainMap).flip(VIPS_DIRECTION_VERTICAL);
440
464
  }
441
465
  }
442
466
  // Mirror horizontally (left-right) about the y-axis
@@ -453,7 +477,7 @@ class PipelineWorker : public Napi::AsyncWorker {
453
477
  }
454
478
  image = image.rot(rotation);
455
479
  if (baton->keepGainMap) {
456
- gainMap = gainMap.rot(rotation);
480
+ gainMap = sharp::StaySequential(gainMap).rot(rotation);
457
481
  }
458
482
  }
459
483
 
@@ -557,6 +581,7 @@ class PipelineWorker : public Napi::AsyncWorker {
557
581
  // Rotate post-extract non-90 angle
558
582
  if (!baton->rotateBefore && baton->rotationAngle != 0.0) {
559
583
  MultiPageUnsupported(nPages, "Rotate");
584
+ KeepGainMapUnsupported(baton->keepGainMap, "Rotate");
560
585
  image = sharp::StaySequential(image);
561
586
  std::vector<double> background;
562
587
  std::tie(image, background) = sharp::ApplyAlpha(image, baton->rotationBackground, shouldPremultiplyAlpha);
@@ -133,7 +133,7 @@ Napi::Value format(const Napi::CallbackInfo& info) {
133
133
  input.Set("file", hasInputFile);
134
134
  input.Set("buffer", hasInputBuffer);
135
135
  input.Set("stream", hasInputBuffer);
136
- if (hasInputFile) {
136
+ if (oc) {
137
137
  const VipsForeignClass *fc = VIPS_FOREIGN_CLASS(oc);
138
138
  if (fc->suffs) {
139
139
  Napi::Array fileSuffix = Napi::Array::New(env);
@@ -56,6 +56,7 @@
56
56
  "BSD-2-Clause-Views",
57
57
  "BSD-2-Clause-first-lines",
58
58
  "BSD-2-Clause-pkgconf-disclaimer",
59
+ "BSD-2-Clause-pos-unchanged",
59
60
  "BSD-3-Clause",
60
61
  "BSD-3-Clause-Attribution",
61
62
  "BSD-3-Clause-Clear",
@@ -67,6 +68,7 @@
67
68
  "BSD-3-Clause-No-Nuclear-License-2014",
68
69
  "BSD-3-Clause-No-Nuclear-Warranty",
69
70
  "BSD-3-Clause-Open-MPI",
71
+ "BSD-3-Clause-OpenWebUI",
70
72
  "BSD-3-Clause-Sun",
71
73
  "BSD-3-Clause-Tso",
72
74
  "BSD-3-Clause-acpica",
@@ -82,9 +84,12 @@
82
84
  "BSD-Mark-Modifications",
83
85
  "BSD-Protection",
84
86
  "BSD-Source-Code",
87
+ "BSD-Source-Code-no-disclaimer",
88
+ "BSD-Source-alt-GPL",
85
89
  "BSD-Source-beginning-file",
86
90
  "BSD-Systemics",
87
91
  "BSD-Systemics-W3Works",
92
+ "BSD-ask-to-endorse",
88
93
  "BSL-1.0",
89
94
  "BUSL-1.1",
90
95
  "Baekmuk",
@@ -101,7 +106,9 @@
101
106
  "Borceux",
102
107
  "Brian-Gladman-2-Clause",
103
108
  "Brian-Gladman-3-Clause",
109
+ "Brian-Gladman-3-Clause-no-conversion",
104
110
  "Buddy",
111
+ "Bugroff",
105
112
  "C-UDA-1.0",
106
113
  "CAL-1.0",
107
114
  "CAL-1.0-Combined-Work-Exception",
@@ -124,6 +131,7 @@
124
131
  "CC-BY-NC-2.5",
125
132
  "CC-BY-NC-3.0",
126
133
  "CC-BY-NC-3.0-DE",
134
+ "CC-BY-NC-3.0-IGO",
127
135
  "CC-BY-NC-4.0",
128
136
  "CC-BY-NC-ND-1.0",
129
137
  "CC-BY-NC-ND-2.0",
@@ -236,6 +244,7 @@
236
244
  "Eurosym",
237
245
  "FBM",
238
246
  "FDK-AAC",
247
+ "FDK-MPEG-H",
239
248
  "FSFAP",
240
249
  "FSFAP-no-warranty-disclaimer",
241
250
  "FSFUL",
@@ -318,6 +327,7 @@
318
327
  "HTMLTIDY",
319
328
  "HaskellReport",
320
329
  "Hippocratic-2.1",
330
+ "Hippocratic-3.0-core",
321
331
  "IBM-pibs",
322
332
  "ICU",
323
333
  "IEC-Code-Components-EULA",
@@ -331,6 +341,7 @@
331
341
  "ImageMagick",
332
342
  "Imlib2",
333
343
  "Info-ZIP",
344
+ "Informatica",
334
345
  "Inner-Net-2.0",
335
346
  "InnoSetup",
336
347
  "Intel",
@@ -404,6 +415,7 @@
404
415
  "MS-PL",
405
416
  "MS-RL",
406
417
  "MTLL",
418
+ "MVT-1.1",
407
419
  "Mackerras-3-Clause",
408
420
  "Mackerras-3-Clause-acknowledgment",
409
421
  "MakeIndex",
@@ -637,6 +649,7 @@
637
649
  "Zlib",
638
650
  "any-OSI",
639
651
  "any-OSI-perl-modules",
652
+ "atc-game",
640
653
  "bcrypt-Solar-Designer",
641
654
  "blessing",
642
655
  "bzip2-1.0.6",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spdx-license-ids",
3
- "version": "3.0.23",
3
+ "version": "3.0.24",
4
4
  "description": "A list of SPDX license identifiers",
5
5
  "repository": "jslicense/spdx-license-ids",
6
6
  "author": "Shinnosuke Watanabe (https://github.com/shinnn)",
@@ -0,0 +1,12 @@
1
+ ---
2
+ engines:
3
+ eslint:
4
+ enabled: true
5
+ fixme:
6
+ enabled: true
7
+ ratings:
8
+ paths:
9
+ - "**.js"
10
+ exclude_paths:
11
+ - node_modules/**/*
12
+ - test/**/*
@@ -0,0 +1 @@
1
+ coverage/
@@ -0,0 +1,25 @@
1
+ {
2
+ "rules": {
3
+ "indent": [
4
+ 2,
5
+ 2
6
+ ],
7
+ "quotes": [
8
+ 2,
9
+ "single"
10
+ ],
11
+ "linebreak-style": [
12
+ 2,
13
+ "unix"
14
+ ],
15
+ "semi": [
16
+ 2,
17
+ "always"
18
+ ]
19
+ },
20
+ "env": {
21
+ "node": true,
22
+ "mocha": true
23
+ },
24
+ "extends": "eslint:recommended"
25
+ }
@@ -0,0 +1,71 @@
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ #
7
+ # ******** NOTE ********
8
+ # We have attempted to detect the languages in your repository. Please check
9
+ # the `language` matrix defined below to confirm you have the correct set of
10
+ # supported CodeQL languages.
11
+ #
12
+ name: "CodeQL"
13
+
14
+ on:
15
+ push:
16
+ branches: [ main ]
17
+ pull_request:
18
+ # The branches below must be a subset of the branches above
19
+ branches: [ main ]
20
+ schedule:
21
+ - cron: '41 19 * * 5'
22
+
23
+ jobs:
24
+ analyze:
25
+ name: Analyze
26
+ runs-on: ubuntu-latest
27
+ permissions:
28
+ actions: read
29
+ contents: read
30
+ security-events: write
31
+
32
+ strategy:
33
+ fail-fast: false
34
+ matrix:
35
+ language: [ 'javascript' ]
36
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
37
+ # Learn more:
38
+ # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
39
+
40
+ steps:
41
+ - name: Checkout repository
42
+ uses: actions/checkout@v2
43
+
44
+ # Initializes the CodeQL tools for scanning.
45
+ - name: Initialize CodeQL
46
+ uses: github/codeql-action/init@v2
47
+ with:
48
+ languages: ${{ matrix.language }}
49
+ # If you wish to specify custom queries, you can do so here or in a config file.
50
+ # By default, queries listed here will override any specified in a config file.
51
+ # Prefix the list here with "+" to use these queries and those in the config file.
52
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
53
+
54
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
55
+ # If this step fails, then you should remove it and run the build manually (see below)
56
+ - name: Autobuild
57
+ uses: github/codeql-action/autobuild@v2
58
+
59
+ # ℹ️ Command-line programs to run using the OS shell.
60
+ # 📚 https://git.io/JvXDl
61
+
62
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
63
+ # and modify them (or add more) to build your code if your project
64
+ # uses a compiled language
65
+
66
+ #- run: |
67
+ # make bootstrap
68
+ # make release
69
+
70
+ - name: Perform CodeQL Analysis
71
+ uses: github/codeql-action/analyze@v2
@@ -0,0 +1,31 @@
1
+ # This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2
+ # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3
+
4
+ name: Node.js CI
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: ubuntu-latest
16
+
17
+ strategy:
18
+ matrix:
19
+ node-version: [22.x, 20.x, 18.x]
20
+ # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
21
+
22
+ steps:
23
+ - uses: actions/checkout@v2
24
+ - name: Use Node.js ${{ matrix.node-version }}
25
+ uses: actions/setup-node@v2
26
+ with:
27
+ node-version: ${{ matrix.node-version }}
28
+ cache: 'npm'
29
+ - run: npm ci
30
+ - run: npm run build --if-present
31
+ - run: npm test
@@ -1,2 +1,3 @@
1
1
  Sam Day <sam.c.day@gmail.com>
2
2
  Sam Day <me@samcday.com.au>
3
+ Sam Day <me@samcday.com>
@@ -0,0 +1 @@
1
+ v8.4
@@ -1,39 +1,40 @@
1
1
  # Node Stream Buffers
2
2
 
3
- [![Build Status][badge-travis-img]][badge-travis-url]
4
- [![Code Climate][badge-climate-img]][badge-climate-url]
5
- [![Code Coverage][badge-coverage-img]][badge-coverage-url]
3
+ [![Build Status][badge-actions-img]][badge-actions-url]
4
+ [![npm][badge-npm-img]][badge-npm-url]
6
5
 
7
- Simple Readable and Writable Streams that use a [Buffer][node-buffer-docs] to store received data, or for data to send out. Useful for test code, debugging, and a wide range of other utilities.
6
+ **!! Consider using [Node 16+ Utility Consumers](https://nodejs.org/dist/latest-v16.x/docs/api/webstreams.html#utility-consumers) rather than this library. !!**
8
7
 
9
- ## Installation
8
+ Simple Readable and Writable Streams that use a [Buffer][node-buffer-docs] to store received data, or for data to send out. Useful for test code, debugging, and a wide range of other utilities.
10
9
 
11
- [![NPM][badge-npm-img]][badge-npm-url]
10
+ ```
11
+ npm install stream-buffers --save
12
+ ```
12
13
 
13
14
  ## Usage
14
15
 
15
16
  To use the stream buffers in your module, simply import it and away you go.
16
17
 
17
18
  ```js
18
- var streamBuffers = require("stream-buffers");
19
+ var streamBuffers = require('stream-buffers');
19
20
  ```
20
21
 
21
- ### Writable StreamBuffer
22
+ ### WritableStreamBuffer
22
23
 
23
- Writable Stream Buffers implement the standardized writable stream interface. All write()'s to this object will accumulate in an internal Buffer. If the Buffer overflows it will be resized larger automatically. The initial size of the Buffer and the amount in which it grows can be configured in the constructor.
24
+ `WritableStreamBuffer` implements the standard [`stream.Writable`](https://nodejs.org/api/stream.html#stream_class_stream_writable) interface. All writes to this stream will accumulate in an internal [`Buffer`](https://nodejs.org/api/buffer.html). If the internal buffer overflows it will be resized automatically. The initial size of the Buffer and the amount in which it grows can be configured in the constructor.
24
25
 
25
26
  ```js
26
27
  var myWritableStreamBuffer = new streamBuffers.WritableStreamBuffer({
27
- initialSize: (100 * 1024), // start as 100 kilobytes.
28
- incrementAmount: (10 * 1024) // grow by 10 kilobytes each time buffer overflows.
28
+ initialSize: (100 * 1024), // start at 100 kilobytes.
29
+ incrementAmount: (10 * 1024) // grow by 10 kilobytes each time buffer overflows.
29
30
  });
30
31
  ```
31
32
 
32
33
  The default initial size and increment amount are stored in the following constants:
33
34
 
34
35
  ```js
35
- streamBuffers.DEFAULT_INITIAL_SIZE // (8 * 1024)
36
- streamBuffers.DEFAULT_INCREMENT_AMOUNT // (8 * 1024)
36
+ streamBuffers.DEFAULT_INITIAL_SIZE // (8 * 1024)
37
+ streamBuffers.DEFAULT_INCREMENT_AMOUNT // (8 * 1024)
37
38
  ```
38
39
 
39
40
  Writing is standard Stream stuff:
@@ -41,117 +42,116 @@ Writing is standard Stream stuff:
41
42
  ```js
42
43
  myWritableStreamBuffer.write(myBuffer);
43
44
  // - or -
44
- myWritableStreamBuffer.write("\u00bd + \u00bc = \u00be", "utf8");
45
+ myWritableStreamBuffer.write('\u00bd + \u00bc = \u00be', 'utf8');
45
46
  ```
46
47
 
47
48
  You can query the size of the data being held in the Buffer, and also how big the Buffer's max capacity currently is:
48
49
 
49
50
  ```js
50
- myWritableStreamBuffer.write("ASDF");
51
- streamBuffers.size(); // 4.
52
- streamBuffers.maxSize(); // Whatever was configured as initial size. In our example: (100 * 1024).
51
+ myWritableStreamBuffer.write('ASDF');
52
+ streamBuffers.size(); // 4.
53
+ streamBuffers.maxSize(); // Whatever was configured as initial size. In our example: (100 * 1024).
53
54
  ```
54
55
 
55
- Retrieving the contents of the Buffer is simple:
56
+ Retrieving the contents of the Buffer is simple.
56
57
 
57
58
  ```js
58
- myWritableStreamBuffer.getContents(); // Gets all held data as a Buffer.
59
- myWritableStreamBuffer.getContentsAsString("utf8"); // Gets all held data as a utf8 string.
60
- myWritableStreamBuffer.getContents(5); // Gets first 5 bytes as a Buffer.
61
- myWritableStreamBuffer.getContentsAsString("utf8", 5); // Gets first 5 bytes as a utf8 string.
59
+ // Gets all held data as a Buffer.
60
+ myWritableStreamBuffer.getContents();
61
+
62
+ // Gets all held data as a utf8 string.
63
+ myWritableStreamBuffer.getContentsAsString('utf8');
64
+
65
+ // Gets first 5 bytes as a Buffer.
66
+ myWritableStreamBuffer.getContents(5);
67
+
68
+ // Gets first 5 bytes as a utf8 string.
69
+ myWritableStreamBuffer.getContentsAsString('utf8', 5);
62
70
  ```
63
71
 
64
- Care should be taken when getting encoded strings from WritableStream, as it doesn't really care about the contents (multi-byte characters will not be respected).
65
-
66
- Destroying or ending the WritableStream will not delete the contents of Buffer, but will disallow any further writes:
72
+ **Care should be taken when getting encoded strings from WritableStream, as it doesn't really care about the contents (multi-byte characters will not be respected).**
67
73
 
68
- ```js
69
- myWritableStreamBuffer.write("ASDF");
70
- myWritableStreamBuffer.destroy();
74
+ Destroying or ending the WritableStream will not delete the contents of Buffer, but will disallow any further writes.
71
75
 
72
- myWritableStreamBuffer.getContents(); // Returns ASDF in Buffer.
73
- myWritableStreamBuffer.write("Yeah?"); // No effect.
76
+ ```js
77
+ myWritableStreamBuffer.write('ASDF');
78
+ myWritableStreamBuffer.end();
79
+ myWritableStreamBuffer.getContentsAsString(); // -> 'ASDF'
74
80
  ```
75
81
 
76
- ### Readable StreamBuffer
82
+ ### ReadableStreamBuffer
77
83
 
78
- Readable Stream Buffers can have data inserted in them, which will then be pumped out via standard readable stream data events. The data to be sent out is held in a Buffer, which can grow in much the same way as a WritableStream Buffer does, if data is being put in Buffer faster than it's being pumped out.
84
+ `ReadableStreamBuffer` implements the standard [`stream.Readable`](https://nodejs.org/api/stream.html#stream_class_stream_readable), but can have data inserted into it. This data will then be pumped out in chunks as readable events. The data to be sent out is held in a Buffer, which can grow in much the same way as a `WritableStreamBuffer` does, if data is being put in Buffer faster than it is being pumped out.
79
85
 
80
- The frequency in which chunks are pumped out, and the size of the chunks themselves can be configured in the constructor. The initial size and increment amount of internal Buffer can be configured too.
86
+ The frequency in which chunks are pumped out, and the size of the chunks themselves can be configured in the constructor. The initial size and increment amount of internal Buffer can be configured too. In the following example 2kb chunks will be output every 10 milliseconds:
81
87
 
82
88
  ```js
83
89
  var myReadableStreamBuffer = new streamBuffers.ReadableStreamBuffer({
84
- frequency: 10, // in milliseconds.
85
- chunkSize: 2048 // in bytes.
90
+ frequency: 10, // in milliseconds.
91
+ chunkSize: 2048 // in bytes.
86
92
  });
87
93
  ```
88
94
 
89
95
  Default frequency and chunk size:
90
96
 
91
97
  ```js
92
- streamBuffers.DEFAULT_CHUNK_SIZE // (1024)
93
- streamBuffers.DEFAULT_FREQUENCY // (1)
98
+ streamBuffers.DEFAULT_CHUNK_SIZE // (1024)
99
+ streamBuffers.DEFAULT_FREQUENCY // (1)
94
100
  ```
95
101
 
96
102
  Putting data in Buffer to be pumped out is easy:
97
103
 
98
104
  ```js
99
105
  myReadableStreamBuffer.put(aBuffer);
100
- myReadableStreamBuffer.put("A String", "utf8");
106
+ myReadableStreamBuffer.put('A String', 'utf8');
101
107
  ```
102
108
 
103
- Chunks are pumped out via standard readable stream spec:
109
+ Chunks are pumped out via standard `stream.Readable` semantics. This means you can use the old streams1 way:
104
110
 
105
111
  ```js
106
- myReadableStreamBuffer.on("data", function(data) {
107
- // Yup.
108
- assert.isTrue(data instanceof Buffer);
112
+ myReadableStreamBuffer.on('data', function(data) {
113
+ // streams1.x style data
114
+ assert.isTrue(data instanceof Buffer);
109
115
  });
110
116
  ```
111
117
 
112
- Chunks are pumped out by the interval that you specified in frequency. Setting the frequency to 0 will immediately stream the data (also in chunks), even if the stream has not been piped to a destination. This is useful for unit testing.
113
-
114
- setEncoding() for streams is respected too:
118
+ Or the streams2+ way:
115
119
 
116
120
  ```js
117
- myReadableStreamBuffer.setEncoding("utf8");
118
- myReadableStreamBuffer.on("data", function(data) {
119
- assert.isTrue(data instanceof String);
121
+ myReadableStreamBuffer.on('readable', function(data) {
122
+ var chunk;
123
+ while((chunk = myReadableStreamBuffer.read()) !== null) {
124
+ assert.isTrue(chunk instanceof Buffer);
125
+ }
120
126
  });
121
127
  ```
122
128
 
123
- Pause and resume are also implemented. pause()'ing stream will allow buffer to continue accumulating, but will not pump any of that data out until it is resume()'d again.
129
+ Because `ReadableStreamBuffer` is simply an implementation of [`stream.Readable`](https://nodejs.org/api/stream.html#stream_class_stream_readable), it implements pause / resume / setEncoding / etc.
124
130
 
125
- Destroying the stream will immediately purge the buffer, unless destroySoon() is called, in which case the rest of the buffer will be written out. Either way, any further attempts to put data in the Buffer will be silently ignored.
131
+ Once you're done putting data into a `ReadableStreamBuffer`, you can call `stop()` on it.
126
132
 
127
133
  ```js
128
- myReadableStreamBuffer.destroySoon();
129
- myReadableStreamBuffer.put("A String!");
130
- myReadableStreamBuffer.size(); // will be 0.
134
+ myReadableStreamBuffer.put('the last data this stream will ever see');
135
+ myReadableStreamBuffer.stop();
131
136
  ```
132
137
 
138
+ Once the `ReadableStreamBuffer` is done pumping out the data in its internal buffer, it will emit the usual [`end`](https://nodejs.org/api/stream.html#stream_event_end) event. You cannot write any more data to the stream once you've called `stop()` on it.
139
+
133
140
  ## Disclaimer
134
141
 
135
142
  Not supposed to be a speed demon, it's more for tests/debugging or weird edge cases. It works with an internal buffer that it copies contents to/from/around.
136
143
 
137
144
  ## Contributors
138
145
 
139
- Thanks to the following people for taking some time to contribute to this project.
140
-
141
- * Igor Dralyuk <idralyuk@ebay.com>
142
- * Simon Koudijs <simon.koudijs@intellifi.nl>
146
+ Thank you to all the [wonderful contributors](https://github.com/samcday/node-stream-buffer/graphs/contributors) who have kept this package alive throughout the years.
143
147
 
144
148
  ## License
145
149
 
146
150
  node-stream-buffer is free and unencumbered public domain software. For more information, see the accompanying UNLICENSE file.
147
151
 
148
- [badge-travis-img]: http://img.shields.io/travis/samcday/node-stream-buffer.svg?style=flat-square
149
- [badge-travis-url]: https://travis-ci.org/samcday/node-stream-buffer
150
- [badge-climate-img]: http://img.shields.io/codeclimate/github/samcday/node-stream-buffer.svg?style=flat-square
151
- [badge-climate-url]: https://codeclimate.com/github/samcday/node-stream-buffer
152
- [badge-coverage-img]: http://img.shields.io/codeclimate/coverage/github/samcday/node-stream-buffer.svg?style=flat-square
153
- [badge-coverage-url]: https://codeclimate.com/github/samcday/node-stream-buffer
154
- [badge-npm-img]: https://nodei.co/npm/stream-buffers.png?downloads=true&downloadRank=true&stars=true
155
- [badge-npm-url]: https://npmjs.org/package/stream-buffers
152
+ [badge-actions-img]: https://github.com/samcday/node-stream-buffer/actions/workflows/node.js.yml/badge.svg
153
+ [badge-actions-url]: https://github.com/samcday/node-stream-buffer/actions/workflows/node.js.yml
154
+ [badge-npm-img]: https://img.shields.io/npm/dm/stream-buffers.svg
155
+ [badge-npm-url]: https://www.npmjs.org/package/stream-buffers
156
156
 
157
157
  [node-buffer-docs]: http://nodejs.org/api/buffer.html
@@ -1,6 +1,8 @@
1
- module.exports = {
2
- DEFAULT_INITIAL_SIZE: (8 * 1024),
3
- DEFAULT_INCREMENT_AMOUNT: (8 * 1024),
4
- DEFAULT_FREQUENCY: 1,
5
- DEFAULT_CHUNK_SIZE: 1024
6
- };
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ DEFAULT_INITIAL_SIZE: (8 * 1024),
5
+ DEFAULT_INCREMENT_AMOUNT: (8 * 1024),
6
+ DEFAULT_FREQUENCY: 1,
7
+ DEFAULT_CHUNK_SIZE: 1024
8
+ };