appium-mac2-driver 4.5.1 → 4.6.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 (1253) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/lib/commands/clipboard.js +2 -2
  3. package/build/lib/commands/clipboard.js.map +1 -1
  4. package/build/lib/commands/context.d.ts +66 -0
  5. package/build/lib/commands/context.d.ts.map +1 -0
  6. package/build/lib/commands/context.js +206 -0
  7. package/build/lib/commands/context.js.map +1 -0
  8. package/build/lib/commands/execute.d.ts.map +1 -1
  9. package/build/lib/commands/execute.js +4 -0
  10. package/build/lib/commands/execute.js.map +1 -1
  11. package/build/lib/commands/find.d.ts.map +1 -1
  12. package/build/lib/commands/find.js +4 -0
  13. package/build/lib/commands/find.js.map +1 -1
  14. package/build/lib/constraints.d.ts +12 -0
  15. package/build/lib/constraints.d.ts.map +1 -1
  16. package/build/lib/constraints.js +12 -0
  17. package/build/lib/constraints.js.map +1 -1
  18. package/build/lib/driver.d.ts +26 -0
  19. package/build/lib/driver.d.ts.map +1 -1
  20. package/build/lib/driver.js +83 -3
  21. package/build/lib/driver.js.map +1 -1
  22. package/build/lib/execute-method-map.d.ts +6 -0
  23. package/build/lib/execute-method-map.d.ts.map +1 -1
  24. package/build/lib/execute-method-map.js +6 -0
  25. package/build/lib/execute-method-map.js.map +1 -1
  26. package/build/lib/types.d.ts +19 -0
  27. package/build/lib/types.d.ts.map +1 -1
  28. package/lib/commands/clipboard.ts +2 -2
  29. package/lib/commands/context.ts +228 -0
  30. package/lib/commands/execute.ts +4 -0
  31. package/lib/commands/find.ts +5 -0
  32. package/lib/constraints.ts +12 -0
  33. package/lib/driver.ts +93 -3
  34. package/lib/execute-method-map.ts +6 -0
  35. package/lib/types.ts +22 -0
  36. package/node_modules/@appium/base-driver/LICENSE +201 -0
  37. package/node_modules/@appium/base-driver/README.md +15 -0
  38. package/node_modules/@appium/base-driver/build/lib/basedriver/capabilities.d.ts +59 -0
  39. package/node_modules/@appium/base-driver/build/lib/basedriver/capabilities.d.ts.map +1 -0
  40. package/node_modules/@appium/base-driver/build/lib/basedriver/capabilities.js +315 -0
  41. package/node_modules/@appium/base-driver/build/lib/basedriver/capabilities.js.map +1 -0
  42. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/bidi-subscriptions.d.ts +12 -0
  43. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/bidi-subscriptions.d.ts.map +1 -0
  44. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/bidi-subscriptions.js +33 -0
  45. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/bidi-subscriptions.js.map +1 -0
  46. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/bidi.d.ts +6 -0
  47. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/bidi.d.ts.map +1 -0
  48. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/bidi.js +72 -0
  49. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/bidi.js.map +1 -0
  50. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/event.d.ts +6 -0
  51. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/event.d.ts.map +1 -0
  52. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/event.js +36 -0
  53. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/event.js.map +1 -0
  54. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/execute.d.ts +6 -0
  55. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/execute.d.ts.map +1 -0
  56. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/execute.js +33 -0
  57. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/execute.js.map +1 -0
  58. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/find.d.ts +6 -0
  59. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/find.d.ts.map +1 -0
  60. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/find.js +55 -0
  61. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/find.js.map +1 -0
  62. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/index.d.ts +7 -0
  63. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/index.d.ts.map +1 -0
  64. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/index.js +9 -0
  65. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/index.js.map +1 -0
  66. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/log.d.ts +6 -0
  67. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/log.d.ts.map +1 -0
  68. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/log.js +20 -0
  69. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/log.js.map +1 -0
  70. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/mixin.d.ts +12 -0
  71. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/mixin.d.ts.map +1 -0
  72. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/mixin.js +16 -0
  73. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/mixin.js.map +1 -0
  74. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/timeout.d.ts +6 -0
  75. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/timeout.d.ts.map +1 -0
  76. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/timeout.js +110 -0
  77. package/node_modules/@appium/base-driver/build/lib/basedriver/commands/timeout.js.map +1 -0
  78. package/node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts +154 -0
  79. package/node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts.map +1 -0
  80. package/node_modules/@appium/base-driver/build/lib/basedriver/core.js +364 -0
  81. package/node_modules/@appium/base-driver/build/lib/basedriver/core.js.map +1 -0
  82. package/node_modules/@appium/base-driver/build/lib/basedriver/device-settings.d.ts +27 -0
  83. package/node_modules/@appium/base-driver/build/lib/basedriver/device-settings.d.ts.map +1 -0
  84. package/node_modules/@appium/base-driver/build/lib/basedriver/device-settings.js +56 -0
  85. package/node_modules/@appium/base-driver/build/lib/basedriver/device-settings.js.map +1 -0
  86. package/node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts +68 -0
  87. package/node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts.map +1 -0
  88. package/node_modules/@appium/base-driver/build/lib/basedriver/driver.js +378 -0
  89. package/node_modules/@appium/base-driver/build/lib/basedriver/driver.js.map +1 -0
  90. package/node_modules/@appium/base-driver/build/lib/basedriver/extension-core.d.ts +19 -0
  91. package/node_modules/@appium/base-driver/build/lib/basedriver/extension-core.d.ts.map +1 -0
  92. package/node_modules/@appium/base-driver/build/lib/basedriver/extension-core.js +132 -0
  93. package/node_modules/@appium/base-driver/build/lib/basedriver/extension-core.js.map +1 -0
  94. package/node_modules/@appium/base-driver/build/lib/basedriver/helpers.d.ts +59 -0
  95. package/node_modules/@appium/base-driver/build/lib/basedriver/helpers.d.ts.map +1 -0
  96. package/node_modules/@appium/base-driver/build/lib/basedriver/helpers.js +556 -0
  97. package/node_modules/@appium/base-driver/build/lib/basedriver/helpers.js.map +1 -0
  98. package/node_modules/@appium/base-driver/build/lib/basedriver/ipc.d.ts +36 -0
  99. package/node_modules/@appium/base-driver/build/lib/basedriver/ipc.d.ts.map +1 -0
  100. package/node_modules/@appium/base-driver/build/lib/basedriver/ipc.js +155 -0
  101. package/node_modules/@appium/base-driver/build/lib/basedriver/ipc.js.map +1 -0
  102. package/node_modules/@appium/base-driver/build/lib/basedriver/logger.d.ts +2 -0
  103. package/node_modules/@appium/base-driver/build/lib/basedriver/logger.d.ts.map +1 -0
  104. package/node_modules/@appium/base-driver/build/lib/basedriver/logger.js +6 -0
  105. package/node_modules/@appium/base-driver/build/lib/basedriver/logger.js.map +1 -0
  106. package/node_modules/@appium/base-driver/build/lib/basedriver/validation.d.ts +7 -0
  107. package/node_modules/@appium/base-driver/build/lib/basedriver/validation.d.ts.map +1 -0
  108. package/node_modules/@appium/base-driver/build/lib/basedriver/validation.js +125 -0
  109. package/node_modules/@appium/base-driver/build/lib/basedriver/validation.js.map +1 -0
  110. package/node_modules/@appium/base-driver/build/lib/constants.d.ts +9 -0
  111. package/node_modules/@appium/base-driver/build/lib/constants.d.ts.map +1 -0
  112. package/node_modules/@appium/base-driver/build/lib/constants.js +20 -0
  113. package/node_modules/@appium/base-driver/build/lib/constants.js.map +1 -0
  114. package/node_modules/@appium/base-driver/build/lib/express/express-logging.d.ts +12 -0
  115. package/node_modules/@appium/base-driver/build/lib/express/express-logging.d.ts.map +1 -0
  116. package/node_modules/@appium/base-driver/build/lib/express/express-logging.js +71 -0
  117. package/node_modules/@appium/base-driver/build/lib/express/express-logging.js.map +1 -0
  118. package/node_modules/@appium/base-driver/build/lib/express/idempotency.d.ts +7 -0
  119. package/node_modules/@appium/base-driver/build/lib/express/idempotency.d.ts.map +1 -0
  120. package/node_modules/@appium/base-driver/build/lib/express/idempotency.js +167 -0
  121. package/node_modules/@appium/base-driver/build/lib/express/idempotency.js.map +1 -0
  122. package/node_modules/@appium/base-driver/build/lib/express/logger.d.ts +2 -0
  123. package/node_modules/@appium/base-driver/build/lib/express/logger.d.ts.map +1 -0
  124. package/node_modules/@appium/base-driver/build/lib/express/logger.js +6 -0
  125. package/node_modules/@appium/base-driver/build/lib/express/logger.js.map +1 -0
  126. package/node_modules/@appium/base-driver/build/lib/express/middleware.d.ts +67 -0
  127. package/node_modules/@appium/base-driver/build/lib/express/middleware.d.ts.map +1 -0
  128. package/node_modules/@appium/base-driver/build/lib/express/middleware.js +164 -0
  129. package/node_modules/@appium/base-driver/build/lib/express/middleware.js.map +1 -0
  130. package/node_modules/@appium/base-driver/build/lib/express/server.d.ts +70 -0
  131. package/node_modules/@appium/base-driver/build/lib/express/server.d.ts.map +1 -0
  132. package/node_modules/@appium/base-driver/build/lib/express/server.js +287 -0
  133. package/node_modules/@appium/base-driver/build/lib/express/server.js.map +1 -0
  134. package/node_modules/@appium/base-driver/build/lib/express/websocket.d.ts +23 -0
  135. package/node_modules/@appium/base-driver/build/lib/express/websocket.d.ts.map +1 -0
  136. package/node_modules/@appium/base-driver/build/lib/express/websocket.js +64 -0
  137. package/node_modules/@appium/base-driver/build/lib/express/websocket.js.map +1 -0
  138. package/node_modules/@appium/base-driver/build/lib/helpers/capabilities.d.ts +11 -0
  139. package/node_modules/@appium/base-driver/build/lib/helpers/capabilities.d.ts.map +1 -0
  140. package/node_modules/@appium/base-driver/build/lib/helpers/capabilities.js +70 -0
  141. package/node_modules/@appium/base-driver/build/lib/helpers/capabilities.js.map +1 -0
  142. package/node_modules/@appium/base-driver/build/lib/helpers/extension-command-name.d.ts +11 -0
  143. package/node_modules/@appium/base-driver/build/lib/helpers/extension-command-name.d.ts.map +1 -0
  144. package/node_modules/@appium/base-driver/build/lib/helpers/extension-command-name.js +23 -0
  145. package/node_modules/@appium/base-driver/build/lib/helpers/extension-command-name.js.map +1 -0
  146. package/node_modules/@appium/base-driver/build/lib/helpers/levenshtein-match.d.ts +27 -0
  147. package/node_modules/@appium/base-driver/build/lib/helpers/levenshtein-match.d.ts.map +1 -0
  148. package/node_modules/@appium/base-driver/build/lib/helpers/levenshtein-match.js +57 -0
  149. package/node_modules/@appium/base-driver/build/lib/helpers/levenshtein-match.js.map +1 -0
  150. package/node_modules/@appium/base-driver/build/lib/helpers/session.d.ts +7 -0
  151. package/node_modules/@appium/base-driver/build/lib/helpers/session.d.ts.map +1 -0
  152. package/node_modules/@appium/base-driver/build/lib/helpers/session.js +12 -0
  153. package/node_modules/@appium/base-driver/build/lib/helpers/session.js.map +1 -0
  154. package/node_modules/@appium/base-driver/build/lib/index.d.ts +24 -0
  155. package/node_modules/@appium/base-driver/build/lib/index.d.ts.map +1 -0
  156. package/node_modules/@appium/base-driver/build/lib/index.js +75 -0
  157. package/node_modules/@appium/base-driver/build/lib/index.js.map +1 -0
  158. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/protocol-converter.d.ts +53 -0
  159. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -0
  160. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/protocol-converter.js +213 -0
  161. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -0
  162. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/proxy-request.d.ts +12 -0
  163. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/proxy-request.d.ts.map +1 -0
  164. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/proxy-request.js +55 -0
  165. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/proxy-request.js.map +1 -0
  166. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/proxy.d.ts +83 -0
  167. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -0
  168. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/proxy.js +413 -0
  169. package/node_modules/@appium/base-driver/build/lib/jsonwp-proxy/proxy.js.map +1 -0
  170. package/node_modules/@appium/base-driver/build/lib/jsonwp-status/status.d.ts +114 -0
  171. package/node_modules/@appium/base-driver/build/lib/jsonwp-status/status.d.ts.map +1 -0
  172. package/node_modules/@appium/base-driver/build/lib/jsonwp-status/status.js +122 -0
  173. package/node_modules/@appium/base-driver/build/lib/jsonwp-status/status.js.map +1 -0
  174. package/node_modules/@appium/base-driver/build/lib/protocol/bidi-commands.d.ts +31 -0
  175. package/node_modules/@appium/base-driver/build/lib/protocol/bidi-commands.d.ts.map +1 -0
  176. package/node_modules/@appium/base-driver/build/lib/protocol/bidi-commands.js +40 -0
  177. package/node_modules/@appium/base-driver/build/lib/protocol/bidi-commands.js.map +1 -0
  178. package/node_modules/@appium/base-driver/build/lib/protocol/errors.d.ts +346 -0
  179. package/node_modules/@appium/base-driver/build/lib/protocol/errors.d.ts.map +1 -0
  180. package/node_modules/@appium/base-driver/build/lib/protocol/errors.js +831 -0
  181. package/node_modules/@appium/base-driver/build/lib/protocol/errors.js.map +1 -0
  182. package/node_modules/@appium/base-driver/build/lib/protocol/helpers.d.ts +18 -0
  183. package/node_modules/@appium/base-driver/build/lib/protocol/helpers.d.ts.map +1 -0
  184. package/node_modules/@appium/base-driver/build/lib/protocol/helpers.js +43 -0
  185. package/node_modules/@appium/base-driver/build/lib/protocol/helpers.js.map +1 -0
  186. package/node_modules/@appium/base-driver/build/lib/protocol/index.d.ts +5 -0
  187. package/node_modules/@appium/base-driver/build/lib/protocol/index.d.ts.map +1 -0
  188. package/node_modules/@appium/base-driver/build/lib/protocol/index.js +27 -0
  189. package/node_modules/@appium/base-driver/build/lib/protocol/index.js.map +1 -0
  190. package/node_modules/@appium/base-driver/build/lib/protocol/protocol.d.ts +66 -0
  191. package/node_modules/@appium/base-driver/build/lib/protocol/protocol.d.ts.map +1 -0
  192. package/node_modules/@appium/base-driver/build/lib/protocol/protocol.js +513 -0
  193. package/node_modules/@appium/base-driver/build/lib/protocol/protocol.js.map +1 -0
  194. package/node_modules/@appium/base-driver/build/lib/protocol/routes/appium-device.d.ts +128 -0
  195. package/node_modules/@appium/base-driver/build/lib/protocol/routes/appium-device.d.ts.map +1 -0
  196. package/node_modules/@appium/base-driver/build/lib/protocol/routes/appium-device.js +94 -0
  197. package/node_modules/@appium/base-driver/build/lib/protocol/routes/appium-device.js.map +1 -0
  198. package/node_modules/@appium/base-driver/build/lib/protocol/routes/appium.d.ts +70 -0
  199. package/node_modules/@appium/base-driver/build/lib/protocol/routes/appium.d.ts.map +1 -0
  200. package/node_modules/@appium/base-driver/build/lib/protocol/routes/appium.js +42 -0
  201. package/node_modules/@appium/base-driver/build/lib/protocol/routes/appium.js.map +1 -0
  202. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/chromium-cdp.d.ts +15 -0
  203. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/chromium-cdp.d.ts.map +1 -0
  204. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/chromium-cdp.js +13 -0
  205. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/chromium-cdp.js.map +1 -0
  206. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/custom-handlers.d.ts +15 -0
  207. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/custom-handlers.d.ts.map +1 -0
  208. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/custom-handlers.js +13 -0
  209. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/custom-handlers.js.map +1 -0
  210. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/device-posture.d.ts +18 -0
  211. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/device-posture.d.ts.map +1 -0
  212. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/device-posture.js +14 -0
  213. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/device-posture.js.map +1 -0
  214. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/fedcm.d.ts +56 -0
  215. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/fedcm.d.ts.map +1 -0
  216. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/fedcm.js +34 -0
  217. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/fedcm.js.map +1 -0
  218. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/index.d.ts +228 -0
  219. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/index.d.ts.map +1 -0
  220. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/index.js +37 -0
  221. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/index.js.map +1 -0
  222. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/payment.d.ts +15 -0
  223. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/payment.d.ts.map +1 -0
  224. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/payment.js +13 -0
  225. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/payment.js.map +1 -0
  226. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/permissions.d.ts +15 -0
  227. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/permissions.d.ts.map +1 -0
  228. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/permissions.js +13 -0
  229. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/permissions.js.map +1 -0
  230. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/pressure.d.ts +27 -0
  231. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/pressure.d.ts.map +1 -0
  232. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/pressure.js +20 -0
  233. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/pressure.js.map +1 -0
  234. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/privacy.d.ts +18 -0
  235. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/privacy.d.ts.map +1 -0
  236. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/privacy.js +14 -0
  237. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/privacy.js.map +1 -0
  238. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/reporting.d.ts +16 -0
  239. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/reporting.d.ts.map +1 -0
  240. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/reporting.js +16 -0
  241. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/reporting.js.map +1 -0
  242. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/selenium.d.ts +19 -0
  243. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/selenium.d.ts.map +1 -0
  244. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/selenium.js +15 -0
  245. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/selenium.js.map +1 -0
  246. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/sensor.d.ts +30 -0
  247. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/sensor.d.ts.map +1 -0
  248. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/sensor.js +24 -0
  249. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/sensor.js.map +1 -0
  250. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/storage-access.d.ts +15 -0
  251. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/storage-access.d.ts.map +1 -0
  252. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/storage-access.js +13 -0
  253. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/storage-access.js.map +1 -0
  254. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/webauthn.d.ts +51 -0
  255. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/webauthn.d.ts.map +1 -0
  256. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/webauthn.js +48 -0
  257. package/node_modules/@appium/base-driver/build/lib/protocol/routes/extensions/webauthn.js.map +1 -0
  258. package/node_modules/@appium/base-driver/build/lib/protocol/routes/index.d.ts +898 -0
  259. package/node_modules/@appium/base-driver/build/lib/protocol/routes/index.d.ts.map +1 -0
  260. package/node_modules/@appium/base-driver/build/lib/protocol/routes/index.js +90 -0
  261. package/node_modules/@appium/base-driver/build/lib/protocol/routes/index.js.map +1 -0
  262. package/node_modules/@appium/base-driver/build/lib/protocol/routes/jsonwp.d.ts +80 -0
  263. package/node_modules/@appium/base-driver/build/lib/protocol/routes/jsonwp.d.ts.map +1 -0
  264. package/node_modules/@appium/base-driver/build/lib/protocol/routes/jsonwp.js +58 -0
  265. package/node_modules/@appium/base-driver/build/lib/protocol/routes/jsonwp.js.map +1 -0
  266. package/node_modules/@appium/base-driver/build/lib/protocol/routes/mjsonwp.d.ts +53 -0
  267. package/node_modules/@appium/base-driver/build/lib/protocol/routes/mjsonwp.d.ts.map +1 -0
  268. package/node_modules/@appium/base-driver/build/lib/protocol/routes/mjsonwp.js +29 -0
  269. package/node_modules/@appium/base-driver/build/lib/protocol/routes/mjsonwp.js.map +1 -0
  270. package/node_modules/@appium/base-driver/build/lib/protocol/routes/w3c.d.ts +361 -0
  271. package/node_modules/@appium/base-driver/build/lib/protocol/routes/w3c.d.ts.map +1 -0
  272. package/node_modules/@appium/base-driver/build/lib/protocol/routes/w3c.js +246 -0
  273. package/node_modules/@appium/base-driver/build/lib/protocol/routes/w3c.js.map +1 -0
  274. package/node_modules/@appium/base-driver/build/lib/protocol/validators.d.ts +5 -0
  275. package/node_modules/@appium/base-driver/build/lib/protocol/validators.d.ts.map +1 -0
  276. package/node_modules/@appium/base-driver/build/lib/protocol/validators.js +21 -0
  277. package/node_modules/@appium/base-driver/build/lib/protocol/validators.js.map +1 -0
  278. package/node_modules/@appium/base-driver/build/lib/test-pages/crash.d.ts +9 -0
  279. package/node_modules/@appium/base-driver/build/lib/test-pages/crash.d.ts.map +1 -0
  280. package/node_modules/@appium/base-driver/build/lib/test-pages/crash.js +18 -0
  281. package/node_modules/@appium/base-driver/build/lib/test-pages/crash.js.map +1 -0
  282. package/node_modules/@appium/base-driver/build/lib/test-pages/env.d.ts +5 -0
  283. package/node_modules/@appium/base-driver/build/lib/test-pages/env.d.ts.map +1 -0
  284. package/node_modules/@appium/base-driver/build/lib/test-pages/env.js +12 -0
  285. package/node_modules/@appium/base-driver/build/lib/test-pages/env.js.map +1 -0
  286. package/node_modules/@appium/base-driver/build/lib/test-pages/handlers.d.ts +10 -0
  287. package/node_modules/@appium/base-driver/build/lib/test-pages/handlers.d.ts.map +1 -0
  288. package/node_modules/@appium/base-driver/build/lib/test-pages/handlers.js +66 -0
  289. package/node_modules/@appium/base-driver/build/lib/test-pages/handlers.js.map +1 -0
  290. package/node_modules/@appium/base-driver/build/lib/test-pages/index.d.ts +6 -0
  291. package/node_modules/@appium/base-driver/build/lib/test-pages/index.d.ts.map +1 -0
  292. package/node_modules/@appium/base-driver/build/lib/test-pages/index.js +35 -0
  293. package/node_modules/@appium/base-driver/build/lib/test-pages/index.js.map +1 -0
  294. package/node_modules/@appium/base-driver/build/lib/test-pages/static-dir.d.ts +8 -0
  295. package/node_modules/@appium/base-driver/build/lib/test-pages/static-dir.d.ts.map +1 -0
  296. package/node_modules/@appium/base-driver/build/lib/test-pages/static-dir.js +23 -0
  297. package/node_modules/@appium/base-driver/build/lib/test-pages/static-dir.js.map +1 -0
  298. package/node_modules/@appium/base-driver/build/lib/test-pages/template.d.ts +3 -0
  299. package/node_modules/@appium/base-driver/build/lib/test-pages/template.d.ts.map +1 -0
  300. package/node_modules/@appium/base-driver/build/lib/test-pages/template.js +19 -0
  301. package/node_modules/@appium/base-driver/build/lib/test-pages/template.js.map +1 -0
  302. package/node_modules/@appium/base-driver/build/lib/utils.d.ts +14 -0
  303. package/node_modules/@appium/base-driver/build/lib/utils.d.ts.map +1 -0
  304. package/node_modules/@appium/base-driver/build/lib/utils.js +55 -0
  305. package/node_modules/@appium/base-driver/build/lib/utils.js.map +1 -0
  306. package/node_modules/@appium/base-driver/lib/basedriver/capabilities.ts +413 -0
  307. package/node_modules/@appium/base-driver/lib/basedriver/commands/bidi-subscriptions.ts +36 -0
  308. package/node_modules/@appium/base-driver/lib/basedriver/commands/bidi.ts +88 -0
  309. package/node_modules/@appium/base-driver/lib/basedriver/commands/event.ts +49 -0
  310. package/node_modules/@appium/base-driver/lib/basedriver/commands/execute.ts +48 -0
  311. package/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts +120 -0
  312. package/node_modules/@appium/base-driver/lib/basedriver/commands/index.ts +6 -0
  313. package/node_modules/@appium/base-driver/lib/basedriver/commands/log.ts +35 -0
  314. package/node_modules/@appium/base-driver/lib/basedriver/commands/mixin.ts +15 -0
  315. package/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts +136 -0
  316. package/node_modules/@appium/base-driver/lib/basedriver/core.ts +406 -0
  317. package/node_modules/@appium/base-driver/lib/basedriver/device-settings.ts +64 -0
  318. package/node_modules/@appium/base-driver/lib/basedriver/driver.ts +451 -0
  319. package/node_modules/@appium/base-driver/lib/basedriver/extension-core.ts +165 -0
  320. package/node_modules/@appium/base-driver/lib/basedriver/helpers.ts +621 -0
  321. package/node_modules/@appium/base-driver/lib/basedriver/ipc.ts +193 -0
  322. package/node_modules/@appium/base-driver/lib/basedriver/logger.ts +3 -0
  323. package/node_modules/@appium/base-driver/lib/basedriver/validation.ts +142 -0
  324. package/node_modules/@appium/base-driver/lib/constants.ts +19 -0
  325. package/node_modules/@appium/base-driver/lib/express/express-logging.ts +80 -0
  326. package/node_modules/@appium/base-driver/lib/express/idempotency.ts +198 -0
  327. package/node_modules/@appium/base-driver/lib/express/logger.ts +3 -0
  328. package/node_modules/@appium/base-driver/lib/express/middleware.ts +207 -0
  329. package/node_modules/@appium/base-driver/lib/express/server.ts +443 -0
  330. package/node_modules/@appium/base-driver/lib/express/websocket.ts +71 -0
  331. package/node_modules/@appium/base-driver/lib/helpers/capabilities.ts +87 -0
  332. package/node_modules/@appium/base-driver/lib/helpers/extension-command-name.ts +25 -0
  333. package/node_modules/@appium/base-driver/lib/helpers/levenshtein-match.ts +75 -0
  334. package/node_modules/@appium/base-driver/lib/helpers/session.ts +8 -0
  335. package/node_modules/@appium/base-driver/lib/index.ts +50 -0
  336. package/node_modules/@appium/base-driver/lib/jsonwp-proxy/protocol-converter.ts +246 -0
  337. package/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy-request.ts +52 -0
  338. package/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy.ts +478 -0
  339. package/node_modules/@appium/base-driver/lib/jsonwp-status/status.ts +120 -0
  340. package/node_modules/@appium/base-driver/lib/protocol/bidi-commands.ts +41 -0
  341. package/node_modules/@appium/base-driver/lib/protocol/errors.ts +1125 -0
  342. package/node_modules/@appium/base-driver/lib/protocol/helpers.ts +41 -0
  343. package/node_modules/@appium/base-driver/lib/protocol/index.ts +38 -0
  344. package/node_modules/@appium/base-driver/lib/protocol/protocol.ts +624 -0
  345. package/node_modules/@appium/base-driver/lib/protocol/routes/appium-device.ts +92 -0
  346. package/node_modules/@appium/base-driver/lib/protocol/routes/appium.ts +40 -0
  347. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/chromium-cdp.ts +11 -0
  348. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/custom-handlers.ts +11 -0
  349. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/device-posture.ts +12 -0
  350. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/fedcm.ts +32 -0
  351. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/index.ts +36 -0
  352. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/payment.ts +11 -0
  353. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/permissions.ts +11 -0
  354. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/pressure.ts +18 -0
  355. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/privacy.ts +12 -0
  356. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/reporting.ts +14 -0
  357. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/selenium.ts +13 -0
  358. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/sensor.ts +22 -0
  359. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/storage-access.ts +11 -0
  360. package/node_modules/@appium/base-driver/lib/protocol/routes/extensions/webauthn.ts +46 -0
  361. package/node_modules/@appium/base-driver/lib/protocol/routes/index.ts +94 -0
  362. package/node_modules/@appium/base-driver/lib/protocol/routes/jsonwp.ts +56 -0
  363. package/node_modules/@appium/base-driver/lib/protocol/routes/mjsonwp.ts +27 -0
  364. package/node_modules/@appium/base-driver/lib/protocol/routes/w3c.ts +253 -0
  365. package/node_modules/@appium/base-driver/lib/protocol/validators.ts +20 -0
  366. package/node_modules/@appium/base-driver/lib/test-pages/crash.ts +15 -0
  367. package/node_modules/@appium/base-driver/lib/test-pages/env.ts +9 -0
  368. package/node_modules/@appium/base-driver/lib/test-pages/handlers.ts +67 -0
  369. package/node_modules/@appium/base-driver/lib/test-pages/index.ts +36 -0
  370. package/node_modules/@appium/base-driver/lib/test-pages/static-dir.ts +19 -0
  371. package/node_modules/@appium/base-driver/lib/test-pages/template.ts +15 -0
  372. package/node_modules/@appium/base-driver/lib/utils.ts +62 -0
  373. package/node_modules/@appium/base-driver/node_modules/axios/CHANGELOG.md +1934 -0
  374. package/node_modules/@appium/base-driver/node_modules/axios/LICENSE +7 -0
  375. package/node_modules/@appium/base-driver/node_modules/axios/MIGRATION_GUIDE.md +877 -0
  376. package/node_modules/@appium/base-driver/node_modules/axios/README.md +2851 -0
  377. package/node_modules/@appium/base-driver/node_modules/axios/dist/axios.js +5807 -0
  378. package/node_modules/@appium/base-driver/node_modules/axios/dist/axios.min.js +5 -0
  379. package/node_modules/@appium/base-driver/node_modules/axios/dist/axios.min.js.map +1 -0
  380. package/node_modules/@appium/base-driver/node_modules/axios/dist/browser/axios.cjs +5829 -0
  381. package/node_modules/@appium/base-driver/node_modules/axios/dist/esm/axios.js +5850 -0
  382. package/node_modules/@appium/base-driver/node_modules/axios/dist/esm/axios.min.js +3 -0
  383. package/node_modules/@appium/base-driver/node_modules/axios/dist/esm/axios.min.js.map +1 -0
  384. package/node_modules/@appium/base-driver/node_modules/axios/dist/node/axios.cjs +6808 -0
  385. package/node_modules/@appium/base-driver/node_modules/axios/index.d.cts +766 -0
  386. package/node_modules/@appium/base-driver/node_modules/axios/index.d.ts +787 -0
  387. package/node_modules/@appium/base-driver/node_modules/axios/index.js +45 -0
  388. package/node_modules/@appium/base-driver/node_modules/axios/lib/adapters/README.md +36 -0
  389. package/node_modules/@appium/base-driver/node_modules/axios/lib/adapters/adapters.js +132 -0
  390. package/node_modules/@appium/base-driver/node_modules/axios/lib/adapters/fetch.js +696 -0
  391. package/node_modules/@appium/base-driver/node_modules/axios/lib/adapters/http.js +1490 -0
  392. package/node_modules/@appium/base-driver/node_modules/axios/lib/adapters/xhr.js +277 -0
  393. package/node_modules/@appium/base-driver/node_modules/axios/lib/axios.js +89 -0
  394. package/node_modules/@appium/base-driver/node_modules/axios/lib/cancel/CancelToken.js +135 -0
  395. package/node_modules/@appium/base-driver/node_modules/axios/lib/cancel/CanceledError.js +22 -0
  396. package/node_modules/@appium/base-driver/node_modules/axios/lib/cancel/isCancel.js +5 -0
  397. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/Axios.js +306 -0
  398. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/AxiosError.js +219 -0
  399. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/AxiosHeaders.js +474 -0
  400. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/InterceptorManager.js +171 -0
  401. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/README.md +8 -0
  402. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/buildFullPath.js +76 -0
  403. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/dispatchRequest.js +95 -0
  404. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/mergeConfig.js +174 -0
  405. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/methodList.js +17 -0
  406. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  407. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/settle.js +27 -0
  408. package/node_modules/@appium/base-driver/node_modules/axios/lib/core/transformData.js +28 -0
  409. package/node_modules/@appium/base-driver/node_modules/axios/lib/defaults/index.js +178 -0
  410. package/node_modules/@appium/base-driver/node_modules/axios/lib/defaults/transitional.js +10 -0
  411. package/node_modules/@appium/base-driver/node_modules/axios/lib/env/README.md +3 -0
  412. package/node_modules/@appium/base-driver/node_modules/axios/lib/env/classes/FormData.js +2 -0
  413. package/node_modules/@appium/base-driver/node_modules/axios/lib/env/data.js +1 -0
  414. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/AxiosTransformStream.js +156 -0
  415. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +59 -0
  416. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/Http2Sessions.js +121 -0
  417. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/HttpStatusCode.js +88 -0
  418. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/README.md +7 -0
  419. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +29 -0
  420. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/bind.js +14 -0
  421. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/buildURL.js +69 -0
  422. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/callbackify.js +18 -0
  423. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/combineURLs.js +23 -0
  424. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/composeSignals.js +68 -0
  425. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/cookies.js +64 -0
  426. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/deprecatedMethod.js +31 -0
  427. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +166 -0
  428. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/formDataToJSON.js +125 -0
  429. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/formDataToStream.js +119 -0
  430. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/fromDataURI.js +69 -0
  431. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/isAbsoluteURL.js +19 -0
  432. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/isAxiosError.js +14 -0
  433. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/isURLSameOrigin.js +16 -0
  434. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  435. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/null.js +2 -0
  436. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/parseHeaders.js +71 -0
  437. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/parseProtocol.js +6 -0
  438. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/progressEventReducer.js +54 -0
  439. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/readBlob.js +15 -0
  440. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/resolveConfig.js +107 -0
  441. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/sanitizeHeaderValue.js +60 -0
  442. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/shouldBypassProxy.js +505 -0
  443. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/speedometer.js +55 -0
  444. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/spread.js +28 -0
  445. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/throttle.js +45 -0
  446. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/toFormData.js +279 -0
  447. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/toURLEncodedForm.js +19 -0
  448. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/trackStream.js +89 -0
  449. package/node_modules/@appium/base-driver/node_modules/axios/lib/helpers/validator.js +112 -0
  450. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/browser/classes/Blob.js +3 -0
  451. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
  452. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +4 -0
  453. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/browser/index.js +13 -0
  454. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/common/utils.js +52 -0
  455. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/index.js +7 -0
  456. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  457. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
  458. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +4 -0
  459. package/node_modules/@appium/base-driver/node_modules/axios/lib/platform/node/index.js +37 -0
  460. package/node_modules/@appium/base-driver/node_modules/axios/lib/utils.js +1150 -0
  461. package/node_modules/@appium/base-driver/node_modules/axios/package.json +203 -0
  462. package/node_modules/@appium/base-driver/package.json +75 -0
  463. package/node_modules/@appium/base-driver/test-fixtures/static/appium.png +0 -0
  464. package/node_modules/@appium/base-driver/test-fixtures/static/favicon.ico +0 -0
  465. package/node_modules/@appium/base-driver/test-fixtures/static/js/jquery.min.js +5 -0
  466. package/node_modules/@appium/base-driver/test-fixtures/static/test/frameset.html +10 -0
  467. package/node_modules/@appium/base-driver/test-fixtures/static/test/guinea-pig-app-banner.html +84 -0
  468. package/node_modules/@appium/base-driver/test-fixtures/static/test/guinea-pig-scrollable.html +135 -0
  469. package/node_modules/@appium/base-driver/test-fixtures/static/test/guinea-pig.html +90 -0
  470. package/node_modules/@appium/base-driver/test-fixtures/static/test/guinea-pig2.html +11 -0
  471. package/node_modules/@appium/base-driver/test-fixtures/static/test/guinea-pig3.html +11 -0
  472. package/node_modules/@appium/base-driver/test-fixtures/static/test/guinea-pig4.html +11 -0
  473. package/node_modules/@appium/base-driver/test-fixtures/static/test/guinea-pig5.html +11 -0
  474. package/node_modules/@appium/base-driver/test-fixtures/static/test/iframes.html +14 -0
  475. package/node_modules/@appium/base-driver/test-fixtures/static/test/shadow-dom.html +34 -0
  476. package/node_modules/@appium/base-driver/test-fixtures/static/test/subframe1.html +9 -0
  477. package/node_modules/@appium/base-driver/test-fixtures/static/test/subframe2.html +8 -0
  478. package/node_modules/@appium/base-driver/test-fixtures/static/test/subframe3.html +11 -0
  479. package/node_modules/@appium/base-driver/test-fixtures/static/test/touch.html +56 -0
  480. package/node_modules/@appium/base-driver/test-fixtures/static/test/welcome.html +10 -0
  481. package/node_modules/@appium/base-driver/tsconfig.json +28 -0
  482. package/node_modules/accepts/HISTORY.md +250 -0
  483. package/node_modules/accepts/LICENSE +23 -0
  484. package/node_modules/accepts/README.md +140 -0
  485. package/node_modules/accepts/index.js +238 -0
  486. package/node_modules/accepts/package.json +47 -0
  487. package/node_modules/appium-chromedriver/CHANGELOG.md +1932 -0
  488. package/node_modules/appium-chromedriver/LICENSE +201 -0
  489. package/node_modules/appium-chromedriver/README.md +146 -0
  490. package/node_modules/appium-chromedriver/build/lib/chromedriver.d.ts +121 -0
  491. package/node_modules/appium-chromedriver/build/lib/chromedriver.d.ts.map +1 -0
  492. package/node_modules/appium-chromedriver/build/lib/chromedriver.js +307 -0
  493. package/node_modules/appium-chromedriver/build/lib/chromedriver.js.map +1 -0
  494. package/node_modules/appium-chromedriver/build/lib/commands/binary.d.ts +28 -0
  495. package/node_modules/appium-chromedriver/build/lib/commands/binary.d.ts.map +1 -0
  496. package/node_modules/appium-chromedriver/build/lib/commands/binary.js +300 -0
  497. package/node_modules/appium-chromedriver/build/lib/commands/binary.js.map +1 -0
  498. package/node_modules/appium-chromedriver/build/lib/commands/process.d.ts +18 -0
  499. package/node_modules/appium-chromedriver/build/lib/commands/process.d.ts.map +1 -0
  500. package/node_modules/appium-chromedriver/build/lib/commands/process.js +104 -0
  501. package/node_modules/appium-chromedriver/build/lib/commands/process.js.map +1 -0
  502. package/node_modules/appium-chromedriver/build/lib/commands/session.d.ts +28 -0
  503. package/node_modules/appium-chromedriver/build/lib/commands/session.d.ts.map +1 -0
  504. package/node_modules/appium-chromedriver/build/lib/commands/session.js +88 -0
  505. package/node_modules/appium-chromedriver/build/lib/commands/session.js.map +1 -0
  506. package/node_modules/appium-chromedriver/build/lib/commands/types.d.ts +32 -0
  507. package/node_modules/appium-chromedriver/build/lib/commands/types.d.ts.map +1 -0
  508. package/node_modules/appium-chromedriver/build/lib/commands/types.js +2 -0
  509. package/node_modules/appium-chromedriver/build/lib/commands/types.js.map +1 -0
  510. package/node_modules/appium-chromedriver/build/lib/commands/version.d.ts +7 -0
  511. package/node_modules/appium-chromedriver/build/lib/commands/version.d.ts.map +1 -0
  512. package/node_modules/appium-chromedriver/build/lib/commands/version.js +94 -0
  513. package/node_modules/appium-chromedriver/build/lib/commands/version.js.map +1 -0
  514. package/node_modules/appium-chromedriver/build/lib/constants.d.ts +30 -0
  515. package/node_modules/appium-chromedriver/build/lib/constants.d.ts.map +1 -0
  516. package/node_modules/appium-chromedriver/build/lib/constants.js +32 -0
  517. package/node_modules/appium-chromedriver/build/lib/constants.js.map +1 -0
  518. package/node_modules/appium-chromedriver/build/lib/index.d.ts +6 -0
  519. package/node_modules/appium-chromedriver/build/lib/index.d.ts.map +1 -0
  520. package/node_modules/appium-chromedriver/build/lib/index.js +5 -0
  521. package/node_modules/appium-chromedriver/build/lib/index.js.map +1 -0
  522. package/node_modules/appium-chromedriver/build/lib/storage-client/chromelabs.d.ts +22 -0
  523. package/node_modules/appium-chromedriver/build/lib/storage-client/chromelabs.d.ts.map +1 -0
  524. package/node_modules/appium-chromedriver/build/lib/storage-client/chromelabs.js +136 -0
  525. package/node_modules/appium-chromedriver/build/lib/storage-client/chromelabs.js.map +1 -0
  526. package/node_modules/appium-chromedriver/build/lib/storage-client/googleapis.d.ts +30 -0
  527. package/node_modules/appium-chromedriver/build/lib/storage-client/googleapis.d.ts.map +1 -0
  528. package/node_modules/appium-chromedriver/build/lib/storage-client/googleapis.js +162 -0
  529. package/node_modules/appium-chromedriver/build/lib/storage-client/googleapis.js.map +1 -0
  530. package/node_modules/appium-chromedriver/build/lib/storage-client/storage-client.d.ts +73 -0
  531. package/node_modules/appium-chromedriver/build/lib/storage-client/storage-client.d.ts.map +1 -0
  532. package/node_modules/appium-chromedriver/build/lib/storage-client/storage-client.js +347 -0
  533. package/node_modules/appium-chromedriver/build/lib/storage-client/storage-client.js.map +1 -0
  534. package/node_modules/appium-chromedriver/build/lib/types.d.ts +117 -0
  535. package/node_modules/appium-chromedriver/build/lib/types.d.ts.map +1 -0
  536. package/node_modules/appium-chromedriver/build/lib/types.js +2 -0
  537. package/node_modules/appium-chromedriver/build/lib/types.js.map +1 -0
  538. package/node_modules/appium-chromedriver/build/lib/utils.d.ts +81 -0
  539. package/node_modules/appium-chromedriver/build/lib/utils.d.ts.map +1 -0
  540. package/node_modules/appium-chromedriver/build/lib/utils.js +164 -0
  541. package/node_modules/appium-chromedriver/build/lib/utils.js.map +1 -0
  542. package/node_modules/appium-chromedriver/config/mapping.json +283 -0
  543. package/node_modules/appium-chromedriver/lib/chromedriver.ts +363 -0
  544. package/node_modules/appium-chromedriver/lib/commands/binary.ts +379 -0
  545. package/node_modules/appium-chromedriver/lib/commands/process.ts +110 -0
  546. package/node_modules/appium-chromedriver/lib/commands/session.ts +105 -0
  547. package/node_modules/appium-chromedriver/lib/commands/types.ts +36 -0
  548. package/node_modules/appium-chromedriver/lib/commands/version.ts +108 -0
  549. package/node_modules/appium-chromedriver/lib/constants.ts +35 -0
  550. package/node_modules/appium-chromedriver/lib/index.ts +5 -0
  551. package/node_modules/appium-chromedriver/lib/storage-client/chromelabs.ts +167 -0
  552. package/node_modules/appium-chromedriver/lib/storage-client/googleapis.ts +199 -0
  553. package/node_modules/appium-chromedriver/lib/storage-client/storage-client.ts +413 -0
  554. package/node_modules/appium-chromedriver/lib/types.ts +116 -0
  555. package/node_modules/appium-chromedriver/lib/utils.ts +196 -0
  556. package/node_modules/appium-chromedriver/package.json +71 -0
  557. package/node_modules/async-lock/AUTHORS +21 -0
  558. package/node_modules/async-lock/History.md +132 -0
  559. package/node_modules/async-lock/LICENSE +22 -0
  560. package/node_modules/async-lock/README.md +177 -0
  561. package/node_modules/async-lock/index.js +2 -0
  562. package/node_modules/async-lock/lib/index.js +312 -0
  563. package/node_modules/async-lock/package.json +48 -0
  564. package/node_modules/bare-buffer/CMakeLists.txt +30 -0
  565. package/node_modules/bare-buffer/LICENSE +201 -0
  566. package/node_modules/bare-buffer/README.md +26 -0
  567. package/node_modules/bare-buffer/binding.c +2041 -0
  568. package/node_modules/bare-buffer/binding.js +1 -0
  569. package/node_modules/bare-buffer/global.d.ts +21 -0
  570. package/node_modules/bare-buffer/global.js +6 -0
  571. package/node_modules/bare-buffer/index.d.ts +769 -0
  572. package/node_modules/bare-buffer/index.js +1339 -0
  573. package/node_modules/bare-buffer/lib/ascii.js +36 -0
  574. package/node_modules/bare-buffer/lib/base64.js +25 -0
  575. package/node_modules/bare-buffer/lib/base64url.js +25 -0
  576. package/node_modules/bare-buffer/lib/checked.js +23 -0
  577. package/node_modules/bare-buffer/lib/constants.d.ts +7 -0
  578. package/node_modules/bare-buffer/lib/constants.js +3 -0
  579. package/node_modules/bare-buffer/lib/hex.js +20 -0
  580. package/node_modules/bare-buffer/lib/latin1.js +14 -0
  581. package/node_modules/bare-buffer/lib/utf16le.js +20 -0
  582. package/node_modules/bare-buffer/lib/utf8.js +18 -0
  583. package/node_modules/bare-buffer/package.json +59 -0
  584. package/node_modules/bare-buffer/prebuilds/android-arm/bare-buffer.bare +0 -0
  585. package/node_modules/bare-buffer/prebuilds/android-arm64/bare-buffer.bare +0 -0
  586. package/node_modules/bare-buffer/prebuilds/android-ia32/bare-buffer.bare +0 -0
  587. package/node_modules/bare-buffer/prebuilds/android-x64/bare-buffer.bare +0 -0
  588. package/node_modules/bare-buffer/prebuilds/darwin-arm64/bare-buffer.bare +0 -0
  589. package/node_modules/bare-buffer/prebuilds/darwin-x64/bare-buffer.bare +0 -0
  590. package/node_modules/bare-buffer/prebuilds/ios-arm64/bare-buffer.bare +0 -0
  591. package/node_modules/bare-buffer/prebuilds/ios-arm64-simulator/bare-buffer.bare +0 -0
  592. package/node_modules/bare-buffer/prebuilds/ios-x64-simulator/bare-buffer.bare +0 -0
  593. package/node_modules/bare-buffer/prebuilds/linux-arm64/bare-buffer.bare +0 -0
  594. package/node_modules/bare-buffer/prebuilds/linux-x64/bare-buffer.bare +0 -0
  595. package/node_modules/bare-buffer/prebuilds/win32-arm64/bare-buffer.bare +0 -0
  596. package/node_modules/bare-buffer/prebuilds/win32-x64/bare-buffer.bare +0 -0
  597. package/node_modules/bare-url/lib/url-search-params.js +16 -1
  598. package/node_modules/bare-url/package.json +2 -1
  599. package/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
  600. package/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
  601. package/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
  602. package/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
  603. package/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
  604. package/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
  605. package/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
  606. package/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
  607. package/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
  608. package/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
  609. package/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
  610. package/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
  611. package/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
  612. package/node_modules/basic-auth/HISTORY.md +52 -0
  613. package/node_modules/basic-auth/LICENSE +24 -0
  614. package/node_modules/basic-auth/README.md +113 -0
  615. package/node_modules/basic-auth/index.js +133 -0
  616. package/node_modules/basic-auth/package.json +41 -0
  617. package/node_modules/body-parser/LICENSE +23 -0
  618. package/node_modules/body-parser/README.md +513 -0
  619. package/node_modules/body-parser/index.js +55 -0
  620. package/node_modules/body-parser/lib/read.js +264 -0
  621. package/node_modules/body-parser/lib/types/json.js +186 -0
  622. package/node_modules/body-parser/lib/types/raw.js +42 -0
  623. package/node_modules/body-parser/lib/types/text.js +36 -0
  624. package/node_modules/body-parser/lib/types/urlencoded.js +138 -0
  625. package/node_modules/body-parser/lib/utils.js +85 -0
  626. package/node_modules/body-parser/package.json +60 -0
  627. package/node_modules/bytes/History.md +97 -0
  628. package/node_modules/bytes/LICENSE +23 -0
  629. package/node_modules/bytes/Readme.md +152 -0
  630. package/node_modules/bytes/index.js +170 -0
  631. package/node_modules/bytes/package.json +42 -0
  632. package/node_modules/call-bound/.eslintrc +13 -0
  633. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  634. package/node_modules/call-bound/.nycrc +9 -0
  635. package/node_modules/call-bound/CHANGELOG.md +42 -0
  636. package/node_modules/call-bound/LICENSE +21 -0
  637. package/node_modules/call-bound/README.md +53 -0
  638. package/node_modules/call-bound/index.d.ts +94 -0
  639. package/node_modules/call-bound/index.js +19 -0
  640. package/node_modules/call-bound/package.json +99 -0
  641. package/node_modules/call-bound/test/index.js +61 -0
  642. package/node_modules/call-bound/tsconfig.json +10 -0
  643. package/node_modules/content-disposition/LICENSE +22 -0
  644. package/node_modules/content-disposition/README.md +141 -0
  645. package/node_modules/content-disposition/index.js +536 -0
  646. package/node_modules/content-disposition/package.json +40 -0
  647. package/node_modules/content-type/LICENSE +22 -0
  648. package/node_modules/content-type/README.md +71 -0
  649. package/node_modules/content-type/dist/index.d.ts +46 -0
  650. package/node_modules/content-type/dist/index.js +176 -0
  651. package/node_modules/content-type/dist/index.js.map +1 -0
  652. package/node_modules/content-type/package.json +52 -0
  653. package/node_modules/cookie/LICENSE +24 -0
  654. package/node_modules/cookie/README.md +317 -0
  655. package/node_modules/cookie/SECURITY.md +25 -0
  656. package/node_modules/cookie/index.js +335 -0
  657. package/node_modules/cookie/package.json +44 -0
  658. package/node_modules/cookie-signature/History.md +70 -0
  659. package/node_modules/cookie-signature/LICENSE +22 -0
  660. package/node_modules/cookie-signature/Readme.md +23 -0
  661. package/node_modules/cookie-signature/index.js +47 -0
  662. package/node_modules/cookie-signature/package.json +24 -0
  663. package/node_modules/depd/History.md +103 -0
  664. package/node_modules/depd/LICENSE +22 -0
  665. package/node_modules/depd/Readme.md +280 -0
  666. package/node_modules/depd/index.js +538 -0
  667. package/node_modules/depd/lib/browser/index.js +77 -0
  668. package/node_modules/depd/package.json +45 -0
  669. package/node_modules/detect-node/LICENSE +21 -0
  670. package/node_modules/detect-node/Readme.md +30 -0
  671. package/node_modules/detect-node/browser.js +2 -0
  672. package/node_modules/detect-node/index.esm.js +2 -0
  673. package/node_modules/detect-node/index.js +2 -0
  674. package/node_modules/detect-node/package.json +25 -0
  675. package/node_modules/ee-first/LICENSE +22 -0
  676. package/node_modules/ee-first/README.md +80 -0
  677. package/node_modules/ee-first/index.js +95 -0
  678. package/node_modules/ee-first/package.json +29 -0
  679. package/node_modules/encodeurl/LICENSE +22 -0
  680. package/node_modules/encodeurl/README.md +123 -0
  681. package/node_modules/encodeurl/index.js +55 -0
  682. package/node_modules/encodeurl/package.json +44 -0
  683. package/node_modules/escape-html/LICENSE +24 -0
  684. package/node_modules/escape-html/Readme.md +43 -0
  685. package/node_modules/escape-html/index.js +78 -0
  686. package/node_modules/escape-html/package.json +24 -0
  687. package/node_modules/etag/HISTORY.md +83 -0
  688. package/node_modules/etag/LICENSE +22 -0
  689. package/node_modules/etag/README.md +159 -0
  690. package/node_modules/etag/index.js +131 -0
  691. package/node_modules/etag/package.json +47 -0
  692. package/node_modules/express/LICENSE +24 -0
  693. package/node_modules/express/Readme.md +276 -0
  694. package/node_modules/express/index.js +11 -0
  695. package/node_modules/express/lib/application.js +631 -0
  696. package/node_modules/express/lib/express.js +81 -0
  697. package/node_modules/express/lib/request.js +514 -0
  698. package/node_modules/express/lib/response.js +1053 -0
  699. package/node_modules/express/lib/utils.js +271 -0
  700. package/node_modules/express/lib/view.js +205 -0
  701. package/node_modules/express/node_modules/content-type/HISTORY.md +29 -0
  702. package/node_modules/express/node_modules/content-type/LICENSE +22 -0
  703. package/node_modules/express/node_modules/content-type/README.md +94 -0
  704. package/node_modules/express/node_modules/content-type/index.js +225 -0
  705. package/node_modules/express/node_modules/content-type/package.json +42 -0
  706. package/node_modules/express/package.json +99 -0
  707. package/node_modules/fastest-levenshtein/.eslintrc.json +30 -0
  708. package/node_modules/fastest-levenshtein/.prettierrc +4 -0
  709. package/node_modules/fastest-levenshtein/.travis.yml +21 -0
  710. package/node_modules/fastest-levenshtein/LICENSE.md +21 -0
  711. package/node_modules/fastest-levenshtein/README.md +57 -0
  712. package/node_modules/fastest-levenshtein/bench.js +96 -0
  713. package/node_modules/fastest-levenshtein/esm/mod.d.ts +4 -0
  714. package/node_modules/fastest-levenshtein/esm/mod.d.ts.map +1 -0
  715. package/node_modules/fastest-levenshtein/esm/mod.js +138 -0
  716. package/node_modules/fastest-levenshtein/mod.d.ts +3 -0
  717. package/node_modules/fastest-levenshtein/mod.js +142 -0
  718. package/node_modules/fastest-levenshtein/package.json +72 -0
  719. package/node_modules/fastest-levenshtein/test.js +55 -0
  720. package/node_modules/fastest-levenshtein/test.ts +67 -0
  721. package/node_modules/finalhandler/HISTORY.md +239 -0
  722. package/node_modules/finalhandler/LICENSE +22 -0
  723. package/node_modules/finalhandler/README.md +150 -0
  724. package/node_modules/finalhandler/index.js +293 -0
  725. package/node_modules/finalhandler/package.json +47 -0
  726. package/node_modules/forwarded/HISTORY.md +21 -0
  727. package/node_modules/forwarded/LICENSE +22 -0
  728. package/node_modules/forwarded/README.md +57 -0
  729. package/node_modules/forwarded/index.js +90 -0
  730. package/node_modules/forwarded/package.json +45 -0
  731. package/node_modules/fresh/HISTORY.md +80 -0
  732. package/node_modules/fresh/LICENSE +23 -0
  733. package/node_modules/fresh/README.md +117 -0
  734. package/node_modules/fresh/index.js +136 -0
  735. package/node_modules/fresh/package.json +46 -0
  736. package/node_modules/handle-thing/.travis.yml +15 -0
  737. package/node_modules/handle-thing/README.md +44 -0
  738. package/node_modules/handle-thing/lib/handle.js +263 -0
  739. package/node_modules/handle-thing/lib/queue.js +48 -0
  740. package/node_modules/handle-thing/package.json +38 -0
  741. package/node_modules/handle-thing/test/api-test.js +110 -0
  742. package/node_modules/hpack.js/.npmignore +2 -0
  743. package/node_modules/hpack.js/.travis.yml +6 -0
  744. package/node_modules/hpack.js/README.md +52 -0
  745. package/node_modules/hpack.js/bin/benchmark +34 -0
  746. package/node_modules/hpack.js/lib/hpack/compressor.js +127 -0
  747. package/node_modules/hpack.js/lib/hpack/decoder.js +169 -0
  748. package/node_modules/hpack.js/lib/hpack/decompressor.js +116 -0
  749. package/node_modules/hpack.js/lib/hpack/encoder.js +129 -0
  750. package/node_modules/hpack.js/lib/hpack/huffman.js +159 -0
  751. package/node_modules/hpack.js/lib/hpack/static-table.js +691 -0
  752. package/node_modules/hpack.js/lib/hpack/table.js +85 -0
  753. package/node_modules/hpack.js/lib/hpack/utils.js +25 -0
  754. package/node_modules/hpack.js/lib/hpack.js +12 -0
  755. package/node_modules/hpack.js/node_modules/readable-stream/.travis.yml +34 -0
  756. package/node_modules/hpack.js/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  757. package/node_modules/hpack.js/node_modules/readable-stream/GOVERNANCE.md +136 -0
  758. package/node_modules/hpack.js/node_modules/readable-stream/LICENSE +47 -0
  759. package/node_modules/hpack.js/node_modules/readable-stream/README.md +58 -0
  760. package/node_modules/hpack.js/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  761. package/node_modules/hpack.js/node_modules/readable-stream/duplex-browser.js +1 -0
  762. package/node_modules/hpack.js/node_modules/readable-stream/duplex.js +1 -0
  763. package/node_modules/hpack.js/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  764. package/node_modules/hpack.js/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  765. package/node_modules/hpack.js/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  766. package/node_modules/hpack.js/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  767. package/node_modules/hpack.js/node_modules/readable-stream/lib/_stream_writable.js +685 -0
  768. package/node_modules/hpack.js/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
  769. package/node_modules/hpack.js/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
  770. package/node_modules/hpack.js/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  771. package/node_modules/hpack.js/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  772. package/node_modules/hpack.js/node_modules/readable-stream/package.json +52 -0
  773. package/node_modules/hpack.js/node_modules/readable-stream/passthrough.js +1 -0
  774. package/node_modules/hpack.js/node_modules/readable-stream/readable-browser.js +7 -0
  775. package/node_modules/hpack.js/node_modules/readable-stream/readable.js +19 -0
  776. package/node_modules/hpack.js/node_modules/readable-stream/transform.js +1 -0
  777. package/node_modules/hpack.js/node_modules/readable-stream/writable-browser.js +1 -0
  778. package/node_modules/hpack.js/node_modules/readable-stream/writable.js +8 -0
  779. package/node_modules/hpack.js/node_modules/string_decoder/.travis.yml +50 -0
  780. package/node_modules/hpack.js/node_modules/string_decoder/LICENSE +48 -0
  781. package/node_modules/hpack.js/node_modules/string_decoder/README.md +47 -0
  782. package/node_modules/hpack.js/node_modules/string_decoder/lib/string_decoder.js +296 -0
  783. package/node_modules/hpack.js/node_modules/string_decoder/package.json +31 -0
  784. package/node_modules/hpack.js/package.json +35 -0
  785. package/node_modules/hpack.js/test/compressor-test.js +136 -0
  786. package/node_modules/hpack.js/test/decoder-test.js +181 -0
  787. package/node_modules/hpack.js/test/decompressor-test.js +184 -0
  788. package/node_modules/hpack.js/test/encoder-test.js +166 -0
  789. package/node_modules/hpack.js/test/fixtures.js +232 -0
  790. package/node_modules/hpack.js/tools/gen-huffman.js +309 -0
  791. package/node_modules/hpack.js/tools/gen-static-table.js +103 -0
  792. package/node_modules/hpack.js/tools/utils.js +23 -0
  793. package/node_modules/http-deceiver/.npmignore +2 -0
  794. package/node_modules/http-deceiver/.travis.yml +5 -0
  795. package/node_modules/http-deceiver/README.md +31 -0
  796. package/node_modules/http-deceiver/lib/deceiver.js +250 -0
  797. package/node_modules/http-deceiver/package.json +30 -0
  798. package/node_modules/http-deceiver/test/api-test.js +226 -0
  799. package/node_modules/http-errors/HISTORY.md +186 -0
  800. package/node_modules/http-errors/LICENSE +23 -0
  801. package/node_modules/http-errors/README.md +169 -0
  802. package/node_modules/http-errors/index.js +290 -0
  803. package/node_modules/http-errors/package.json +54 -0
  804. package/node_modules/http-status-codes/LICENSE +19 -0
  805. package/node_modules/http-status-codes/README.md +140 -0
  806. package/node_modules/http-status-codes/build/cjs/index.d.ts +63 -0
  807. package/node_modules/http-status-codes/build/cjs/index.js +39 -0
  808. package/node_modules/http-status-codes/build/cjs/legacy.d.ts +326 -0
  809. package/node_modules/http-status-codes/build/cjs/legacy.js +330 -0
  810. package/node_modules/http-status-codes/build/cjs/reason-phrases.d.ts +356 -0
  811. package/node_modules/http-status-codes/build/cjs/reason-phrases.js +361 -0
  812. package/node_modules/http-status-codes/build/cjs/status-codes.d.ts +356 -0
  813. package/node_modules/http-status-codes/build/cjs/status-codes.js +361 -0
  814. package/node_modules/http-status-codes/build/cjs/utils-functions.d.ts +28 -0
  815. package/node_modules/http-status-codes/build/cjs/utils-functions.js +46 -0
  816. package/node_modules/http-status-codes/build/cjs/utils.d.ts +2 -0
  817. package/node_modules/http-status-codes/build/cjs/utils.js +124 -0
  818. package/node_modules/http-status-codes/build/es/index.d.ts +63 -0
  819. package/node_modules/http-status-codes/build/es/index.js +19 -0
  820. package/node_modules/http-status-codes/build/es/legacy.d.ts +326 -0
  821. package/node_modules/http-status-codes/build/es/legacy.js +327 -0
  822. package/node_modules/http-status-codes/build/es/reason-phrases.d.ts +356 -0
  823. package/node_modules/http-status-codes/build/es/reason-phrases.js +358 -0
  824. package/node_modules/http-status-codes/build/es/status-codes.d.ts +356 -0
  825. package/node_modules/http-status-codes/build/es/status-codes.js +358 -0
  826. package/node_modules/http-status-codes/build/es/utils-functions.d.ts +28 -0
  827. package/node_modules/http-status-codes/build/es/utils-functions.js +41 -0
  828. package/node_modules/http-status-codes/build/es/utils.d.ts +2 -0
  829. package/node_modules/http-status-codes/build/es/utils.js +121 -0
  830. package/node_modules/http-status-codes/package.json +51 -0
  831. package/node_modules/iconv-lite/LICENSE +21 -0
  832. package/node_modules/iconv-lite/README.md +138 -0
  833. package/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  834. package/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  835. package/node_modules/iconv-lite/encodings/index.js +23 -0
  836. package/node_modules/iconv-lite/encodings/internal.js +218 -0
  837. package/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  838. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  839. package/node_modules/iconv-lite/encodings/sbcs-data.js +180 -0
  840. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  841. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  842. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  843. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  844. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  845. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  846. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  847. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  848. package/node_modules/iconv-lite/encodings/utf16.js +187 -0
  849. package/node_modules/iconv-lite/encodings/utf32.js +314 -0
  850. package/node_modules/iconv-lite/encodings/utf7.js +283 -0
  851. package/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  852. package/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  853. package/node_modules/iconv-lite/lib/index.d.ts +129 -0
  854. package/node_modules/iconv-lite/lib/index.js +182 -0
  855. package/node_modules/iconv-lite/lib/streams.js +105 -0
  856. package/node_modules/iconv-lite/package.json +70 -0
  857. package/node_modules/iconv-lite/types/encodings.d.ts +425 -0
  858. package/node_modules/ipaddr.js/LICENSE +19 -0
  859. package/node_modules/ipaddr.js/README.md +233 -0
  860. package/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  861. package/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  862. package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  863. package/node_modules/ipaddr.js/package.json +35 -0
  864. package/node_modules/is-promise/LICENSE +19 -0
  865. package/node_modules/is-promise/index.d.ts +2 -0
  866. package/node_modules/is-promise/index.js +6 -0
  867. package/node_modules/is-promise/index.mjs +3 -0
  868. package/node_modules/is-promise/package.json +30 -0
  869. package/node_modules/is-promise/readme.md +33 -0
  870. package/node_modules/media-typer/HISTORY.md +50 -0
  871. package/node_modules/media-typer/LICENSE +22 -0
  872. package/node_modules/media-typer/README.md +94 -0
  873. package/node_modules/media-typer/index.js +135 -0
  874. package/node_modules/media-typer/package.json +37 -0
  875. package/node_modules/merge-descriptors/index.d.ts +11 -0
  876. package/node_modules/merge-descriptors/index.js +26 -0
  877. package/node_modules/merge-descriptors/license +11 -0
  878. package/node_modules/merge-descriptors/package.json +50 -0
  879. package/node_modules/merge-descriptors/readme.md +55 -0
  880. package/node_modules/method-override/HISTORY.md +163 -0
  881. package/node_modules/method-override/LICENSE +23 -0
  882. package/node_modules/method-override/README.md +180 -0
  883. package/node_modules/method-override/index.js +144 -0
  884. package/node_modules/method-override/node_modules/debug/.coveralls.yml +1 -0
  885. package/node_modules/method-override/node_modules/debug/.eslintrc +14 -0
  886. package/node_modules/method-override/node_modules/debug/.npmignore +9 -0
  887. package/node_modules/method-override/node_modules/debug/.travis.yml +20 -0
  888. package/node_modules/method-override/node_modules/debug/CHANGELOG.md +395 -0
  889. package/node_modules/method-override/node_modules/debug/LICENSE +19 -0
  890. package/node_modules/method-override/node_modules/debug/Makefile +58 -0
  891. package/node_modules/method-override/node_modules/debug/README.md +368 -0
  892. package/node_modules/method-override/node_modules/debug/karma.conf.js +70 -0
  893. package/node_modules/method-override/node_modules/debug/node.js +1 -0
  894. package/node_modules/method-override/node_modules/debug/package.json +43 -0
  895. package/node_modules/method-override/node_modules/debug/src/browser.js +195 -0
  896. package/node_modules/method-override/node_modules/debug/src/debug.js +225 -0
  897. package/node_modules/method-override/node_modules/debug/src/index.js +10 -0
  898. package/node_modules/method-override/node_modules/debug/src/node.js +186 -0
  899. package/node_modules/method-override/node_modules/ms/index.js +152 -0
  900. package/node_modules/method-override/node_modules/ms/license.md +21 -0
  901. package/node_modules/method-override/node_modules/ms/package.json +37 -0
  902. package/node_modules/method-override/node_modules/ms/readme.md +51 -0
  903. package/node_modules/method-override/package.json +43 -0
  904. package/node_modules/methods/HISTORY.md +29 -0
  905. package/node_modules/methods/LICENSE +24 -0
  906. package/node_modules/methods/README.md +51 -0
  907. package/node_modules/methods/index.js +69 -0
  908. package/node_modules/methods/package.json +36 -0
  909. package/node_modules/mime-db/HISTORY.md +541 -0
  910. package/node_modules/mime-db/LICENSE +23 -0
  911. package/node_modules/mime-db/README.md +109 -0
  912. package/node_modules/mime-db/db.json +9342 -0
  913. package/node_modules/mime-db/index.js +12 -0
  914. package/node_modules/mime-db/package.json +56 -0
  915. package/node_modules/mime-types/HISTORY.md +428 -0
  916. package/node_modules/mime-types/LICENSE +23 -0
  917. package/node_modules/mime-types/README.md +126 -0
  918. package/node_modules/mime-types/index.js +211 -0
  919. package/node_modules/mime-types/mimeScore.js +57 -0
  920. package/node_modules/mime-types/package.json +49 -0
  921. package/node_modules/minimalistic-assert/LICENSE +13 -0
  922. package/node_modules/minimalistic-assert/index.js +11 -0
  923. package/node_modules/minimalistic-assert/package.json +19 -0
  924. package/node_modules/minimalistic-assert/readme.md +4 -0
  925. package/node_modules/morgan/LICENSE +23 -0
  926. package/node_modules/morgan/README.md +479 -0
  927. package/node_modules/morgan/index.js +596 -0
  928. package/node_modules/morgan/node_modules/debug/.coveralls.yml +1 -0
  929. package/node_modules/morgan/node_modules/debug/.eslintrc +11 -0
  930. package/node_modules/morgan/node_modules/debug/.npmignore +9 -0
  931. package/node_modules/morgan/node_modules/debug/.travis.yml +14 -0
  932. package/node_modules/morgan/node_modules/debug/CHANGELOG.md +362 -0
  933. package/node_modules/morgan/node_modules/debug/LICENSE +19 -0
  934. package/node_modules/morgan/node_modules/debug/Makefile +50 -0
  935. package/node_modules/morgan/node_modules/debug/README.md +312 -0
  936. package/node_modules/morgan/node_modules/debug/component.json +19 -0
  937. package/node_modules/morgan/node_modules/debug/karma.conf.js +70 -0
  938. package/node_modules/morgan/node_modules/debug/node.js +1 -0
  939. package/node_modules/morgan/node_modules/debug/package.json +49 -0
  940. package/node_modules/morgan/node_modules/debug/src/browser.js +185 -0
  941. package/node_modules/morgan/node_modules/debug/src/debug.js +202 -0
  942. package/node_modules/morgan/node_modules/debug/src/index.js +10 -0
  943. package/node_modules/morgan/node_modules/debug/src/inspector-log.js +15 -0
  944. package/node_modules/morgan/node_modules/debug/src/node.js +248 -0
  945. package/node_modules/morgan/node_modules/ms/index.js +152 -0
  946. package/node_modules/morgan/node_modules/ms/license.md +21 -0
  947. package/node_modules/morgan/node_modules/ms/package.json +37 -0
  948. package/node_modules/morgan/node_modules/ms/readme.md +51 -0
  949. package/node_modules/morgan/package.json +55 -0
  950. package/node_modules/negotiator/LICENSE +24 -0
  951. package/node_modules/negotiator/README.md +212 -0
  952. package/node_modules/negotiator/index.js +83 -0
  953. package/node_modules/negotiator/lib/accept.js +54 -0
  954. package/node_modules/negotiator/lib/charset.js +145 -0
  955. package/node_modules/negotiator/lib/encoding.js +184 -0
  956. package/node_modules/negotiator/lib/language.js +158 -0
  957. package/node_modules/negotiator/lib/mediaType.js +176 -0
  958. package/node_modules/negotiator/package.json +49 -0
  959. package/node_modules/object-inspect/.eslintrc +53 -0
  960. package/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  961. package/node_modules/object-inspect/.nycrc +13 -0
  962. package/node_modules/object-inspect/CHANGELOG.md +424 -0
  963. package/node_modules/object-inspect/LICENSE +21 -0
  964. package/node_modules/object-inspect/example/all.js +23 -0
  965. package/node_modules/object-inspect/example/circular.js +6 -0
  966. package/node_modules/object-inspect/example/fn.js +5 -0
  967. package/node_modules/object-inspect/example/inspect.js +10 -0
  968. package/node_modules/object-inspect/index.js +544 -0
  969. package/node_modules/object-inspect/package-support.json +20 -0
  970. package/node_modules/object-inspect/package.json +105 -0
  971. package/node_modules/object-inspect/readme.markdown +84 -0
  972. package/node_modules/object-inspect/test/bigint.js +58 -0
  973. package/node_modules/object-inspect/test/browser/dom.js +15 -0
  974. package/node_modules/object-inspect/test/circular.js +16 -0
  975. package/node_modules/object-inspect/test/deep.js +12 -0
  976. package/node_modules/object-inspect/test/element.js +53 -0
  977. package/node_modules/object-inspect/test/err.js +48 -0
  978. package/node_modules/object-inspect/test/fakes.js +29 -0
  979. package/node_modules/object-inspect/test/fn.js +76 -0
  980. package/node_modules/object-inspect/test/global.js +17 -0
  981. package/node_modules/object-inspect/test/has.js +15 -0
  982. package/node_modules/object-inspect/test/holes.js +15 -0
  983. package/node_modules/object-inspect/test/indent-option.js +271 -0
  984. package/node_modules/object-inspect/test/inspect.js +139 -0
  985. package/node_modules/object-inspect/test/lowbyte.js +12 -0
  986. package/node_modules/object-inspect/test/number.js +58 -0
  987. package/node_modules/object-inspect/test/quoteStyle.js +26 -0
  988. package/node_modules/object-inspect/test/toStringTag.js +40 -0
  989. package/node_modules/object-inspect/test/undef.js +12 -0
  990. package/node_modules/object-inspect/test/values.js +261 -0
  991. package/node_modules/object-inspect/test-core-js.js +26 -0
  992. package/node_modules/object-inspect/util.inspect.js +1 -0
  993. package/node_modules/obuf/LICENSE +20 -0
  994. package/node_modules/obuf/README.md +12 -0
  995. package/node_modules/obuf/index.js +396 -0
  996. package/node_modules/obuf/package.json +27 -0
  997. package/node_modules/obuf/test/buffer-test.js +268 -0
  998. package/node_modules/on-finished/LICENSE +23 -0
  999. package/node_modules/on-finished/README.md +162 -0
  1000. package/node_modules/on-finished/index.js +246 -0
  1001. package/node_modules/on-finished/package.json +43 -0
  1002. package/node_modules/on-headers/HISTORY.md +26 -0
  1003. package/node_modules/on-headers/LICENSE +22 -0
  1004. package/node_modules/on-headers/README.md +81 -0
  1005. package/node_modules/on-headers/index.js +180 -0
  1006. package/node_modules/on-headers/package.json +44 -0
  1007. package/node_modules/parseurl/HISTORY.md +58 -0
  1008. package/node_modules/parseurl/LICENSE +24 -0
  1009. package/node_modules/parseurl/README.md +133 -0
  1010. package/node_modules/parseurl/index.js +158 -0
  1011. package/node_modules/parseurl/package.json +40 -0
  1012. package/node_modules/path-to-regexp/LICENSE +21 -0
  1013. package/node_modules/path-to-regexp/Readme.md +224 -0
  1014. package/node_modules/path-to-regexp/dist/index.d.ts +147 -0
  1015. package/node_modules/path-to-regexp/dist/index.js +431 -0
  1016. package/node_modules/path-to-regexp/dist/index.js.map +1 -0
  1017. package/node_modules/path-to-regexp/package.json +64 -0
  1018. package/node_modules/proxy-addr/HISTORY.md +167 -0
  1019. package/node_modules/proxy-addr/LICENSE +22 -0
  1020. package/node_modules/proxy-addr/README.md +139 -0
  1021. package/node_modules/proxy-addr/index.js +359 -0
  1022. package/node_modules/proxy-addr/package.json +51 -0
  1023. package/node_modules/qs/.editorconfig +46 -0
  1024. package/node_modules/qs/.github/FUNDING.yml +12 -0
  1025. package/node_modules/qs/.github/SECURITY.md +11 -0
  1026. package/node_modules/qs/.github/THREAT_MODEL.md +80 -0
  1027. package/node_modules/qs/.nycrc +13 -0
  1028. package/node_modules/qs/CHANGELOG.md +937 -0
  1029. package/node_modules/qs/LICENSE.md +29 -0
  1030. package/node_modules/qs/README.md +857 -0
  1031. package/node_modules/qs/dist/qs.js +141 -0
  1032. package/node_modules/qs/eslint.config.mjs +68 -0
  1033. package/node_modules/qs/lib/formats.js +28 -0
  1034. package/node_modules/qs/lib/index.js +11 -0
  1035. package/node_modules/qs/lib/parse.js +522 -0
  1036. package/node_modules/qs/lib/stringify.js +380 -0
  1037. package/node_modules/qs/lib/utils.js +531 -0
  1038. package/node_modules/qs/package.json +95 -0
  1039. package/node_modules/qs/test/empty-keys-cases.js +267 -0
  1040. package/node_modules/qs/test/parse.js +2629 -0
  1041. package/node_modules/qs/test/stringify.js +2217 -0
  1042. package/node_modules/qs/test/utils.js +880 -0
  1043. package/node_modules/range-parser/HISTORY.md +56 -0
  1044. package/node_modules/range-parser/LICENSE +23 -0
  1045. package/node_modules/range-parser/README.md +85 -0
  1046. package/node_modules/range-parser/index.js +181 -0
  1047. package/node_modules/range-parser/package.json +48 -0
  1048. package/node_modules/raw-body/LICENSE +22 -0
  1049. package/node_modules/raw-body/README.md +223 -0
  1050. package/node_modules/raw-body/index.d.ts +85 -0
  1051. package/node_modules/raw-body/index.js +336 -0
  1052. package/node_modules/raw-body/package.json +46 -0
  1053. package/node_modules/router/HISTORY.md +228 -0
  1054. package/node_modules/router/LICENSE +23 -0
  1055. package/node_modules/router/README.md +416 -0
  1056. package/node_modules/router/index.js +748 -0
  1057. package/node_modules/router/lib/layer.js +247 -0
  1058. package/node_modules/router/lib/route.js +242 -0
  1059. package/node_modules/router/package.json +44 -0
  1060. package/node_modules/safer-buffer/LICENSE +21 -0
  1061. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  1062. package/node_modules/safer-buffer/Readme.md +156 -0
  1063. package/node_modules/safer-buffer/dangerous.js +58 -0
  1064. package/node_modules/safer-buffer/package.json +34 -0
  1065. package/node_modules/safer-buffer/safer.js +77 -0
  1066. package/node_modules/safer-buffer/tests.js +406 -0
  1067. package/node_modules/select-hose/.jscsrc +46 -0
  1068. package/node_modules/select-hose/.jshintrc +89 -0
  1069. package/node_modules/select-hose/.npmignore +2 -0
  1070. package/node_modules/select-hose/.travis.yml +5 -0
  1071. package/node_modules/select-hose/README.md +31 -0
  1072. package/node_modules/select-hose/lib/hose.js +101 -0
  1073. package/node_modules/select-hose/package.json +31 -0
  1074. package/node_modules/select-hose/test/api-test.js +111 -0
  1075. package/node_modules/select-hose/test/fixtures.js +14 -0
  1076. package/node_modules/send/LICENSE +23 -0
  1077. package/node_modules/send/README.md +317 -0
  1078. package/node_modules/send/index.js +997 -0
  1079. package/node_modules/send/package.json +63 -0
  1080. package/node_modules/serve-favicon/HISTORY.md +194 -0
  1081. package/node_modules/serve-favicon/LICENSE +25 -0
  1082. package/node_modules/serve-favicon/README.md +136 -0
  1083. package/node_modules/serve-favicon/index.js +226 -0
  1084. package/node_modules/serve-favicon/node_modules/fresh/HISTORY.md +70 -0
  1085. package/node_modules/serve-favicon/node_modules/fresh/LICENSE +23 -0
  1086. package/node_modules/serve-favicon/node_modules/fresh/README.md +119 -0
  1087. package/node_modules/serve-favicon/node_modules/fresh/index.js +137 -0
  1088. package/node_modules/serve-favicon/node_modules/fresh/package.json +46 -0
  1089. package/node_modules/serve-favicon/node_modules/safe-buffer/LICENSE +21 -0
  1090. package/node_modules/serve-favicon/node_modules/safe-buffer/README.md +584 -0
  1091. package/node_modules/serve-favicon/node_modules/safe-buffer/index.d.ts +187 -0
  1092. package/node_modules/serve-favicon/node_modules/safe-buffer/index.js +65 -0
  1093. package/node_modules/serve-favicon/node_modules/safe-buffer/package.json +51 -0
  1094. package/node_modules/serve-favicon/package.json +47 -0
  1095. package/node_modules/serve-static/LICENSE +25 -0
  1096. package/node_modules/serve-static/README.md +253 -0
  1097. package/node_modules/serve-static/index.js +208 -0
  1098. package/node_modules/serve-static/package.json +44 -0
  1099. package/node_modules/setprototypeof/LICENSE +13 -0
  1100. package/node_modules/setprototypeof/README.md +31 -0
  1101. package/node_modules/setprototypeof/index.d.ts +2 -0
  1102. package/node_modules/setprototypeof/index.js +17 -0
  1103. package/node_modules/setprototypeof/package.json +38 -0
  1104. package/node_modules/setprototypeof/test/index.js +24 -0
  1105. package/node_modules/side-channel/.editorconfig +9 -0
  1106. package/node_modules/side-channel/.eslintrc +12 -0
  1107. package/node_modules/side-channel/.github/FUNDING.yml +12 -0
  1108. package/node_modules/side-channel/.nycrc +13 -0
  1109. package/node_modules/side-channel/CHANGELOG.md +120 -0
  1110. package/node_modules/side-channel/LICENSE +21 -0
  1111. package/node_modules/side-channel/README.md +61 -0
  1112. package/node_modules/side-channel/index.d.ts +14 -0
  1113. package/node_modules/side-channel/index.js +46 -0
  1114. package/node_modules/side-channel/package.json +85 -0
  1115. package/node_modules/side-channel/test/index.js +120 -0
  1116. package/node_modules/side-channel/tsconfig.json +9 -0
  1117. package/node_modules/side-channel-list/.editorconfig +9 -0
  1118. package/node_modules/side-channel-list/.eslintrc +11 -0
  1119. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  1120. package/node_modules/side-channel-list/.nycrc +13 -0
  1121. package/node_modules/side-channel-list/CHANGELOG.md +36 -0
  1122. package/node_modules/side-channel-list/LICENSE +21 -0
  1123. package/node_modules/side-channel-list/README.md +62 -0
  1124. package/node_modules/side-channel-list/index.d.ts +13 -0
  1125. package/node_modules/side-channel-list/index.js +111 -0
  1126. package/node_modules/side-channel-list/list.d.ts +14 -0
  1127. package/node_modules/side-channel-list/package.json +77 -0
  1128. package/node_modules/side-channel-list/test/index.js +154 -0
  1129. package/node_modules/side-channel-list/tsconfig.json +9 -0
  1130. package/node_modules/side-channel-map/.editorconfig +9 -0
  1131. package/node_modules/side-channel-map/.eslintrc +11 -0
  1132. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  1133. package/node_modules/side-channel-map/.nycrc +13 -0
  1134. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  1135. package/node_modules/side-channel-map/LICENSE +21 -0
  1136. package/node_modules/side-channel-map/README.md +62 -0
  1137. package/node_modules/side-channel-map/index.d.ts +15 -0
  1138. package/node_modules/side-channel-map/index.js +68 -0
  1139. package/node_modules/side-channel-map/package.json +80 -0
  1140. package/node_modules/side-channel-map/test/index.js +114 -0
  1141. package/node_modules/side-channel-map/tsconfig.json +9 -0
  1142. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  1143. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  1144. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  1145. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  1146. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  1147. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  1148. package/node_modules/side-channel-weakmap/README.md +62 -0
  1149. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  1150. package/node_modules/side-channel-weakmap/index.js +84 -0
  1151. package/node_modules/side-channel-weakmap/package.json +87 -0
  1152. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  1153. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  1154. package/node_modules/spdy/.travis.yml +13 -0
  1155. package/node_modules/spdy/README.md +267 -0
  1156. package/node_modules/spdy/lib/spdy/agent.js +295 -0
  1157. package/node_modules/spdy/lib/spdy/handle.js +247 -0
  1158. package/node_modules/spdy/lib/spdy/request.js +33 -0
  1159. package/node_modules/spdy/lib/spdy/response.js +100 -0
  1160. package/node_modules/spdy/lib/spdy/server.js +288 -0
  1161. package/node_modules/spdy/lib/spdy/socket.js +39 -0
  1162. package/node_modules/spdy/lib/spdy.js +20 -0
  1163. package/node_modules/spdy/package.json +54 -0
  1164. package/node_modules/spdy/test/client-test.js +242 -0
  1165. package/node_modules/spdy/test/fixtures.js +95 -0
  1166. package/node_modules/spdy/test/server-test.js +487 -0
  1167. package/node_modules/spdy-transport/.travis.yml +14 -0
  1168. package/node_modules/spdy-transport/README.md +76 -0
  1169. package/node_modules/spdy-transport/lib/spdy-transport/connection.js +845 -0
  1170. package/node_modules/spdy-transport/lib/spdy-transport/priority.js +188 -0
  1171. package/node_modules/spdy-transport/lib/spdy-transport/protocol/base/constants.js +4 -0
  1172. package/node_modules/spdy-transport/lib/spdy-transport/protocol/base/framer.js +58 -0
  1173. package/node_modules/spdy-transport/lib/spdy-transport/protocol/base/index.js +7 -0
  1174. package/node_modules/spdy-transport/lib/spdy-transport/protocol/base/parser.js +106 -0
  1175. package/node_modules/spdy-transport/lib/spdy-transport/protocol/base/scheduler.js +216 -0
  1176. package/node_modules/spdy-transport/lib/spdy-transport/protocol/base/utils.js +94 -0
  1177. package/node_modules/spdy-transport/lib/spdy-transport/protocol/http2/constants.js +93 -0
  1178. package/node_modules/spdy-transport/lib/spdy-transport/protocol/http2/framer.js +542 -0
  1179. package/node_modules/spdy-transport/lib/spdy-transport/protocol/http2/hpack-pool.js +34 -0
  1180. package/node_modules/spdy-transport/lib/spdy-transport/protocol/http2/index.js +8 -0
  1181. package/node_modules/spdy-transport/lib/spdy-transport/protocol/http2/parser.js +578 -0
  1182. package/node_modules/spdy-transport/lib/spdy-transport/protocol/spdy/constants.js +146 -0
  1183. package/node_modules/spdy-transport/lib/spdy-transport/protocol/spdy/dictionary.js +203 -0
  1184. package/node_modules/spdy-transport/lib/spdy-transport/protocol/spdy/framer.js +519 -0
  1185. package/node_modules/spdy-transport/lib/spdy-transport/protocol/spdy/index.js +9 -0
  1186. package/node_modules/spdy-transport/lib/spdy-transport/protocol/spdy/parser.js +485 -0
  1187. package/node_modules/spdy-transport/lib/spdy-transport/protocol/spdy/zlib-pool.js +65 -0
  1188. package/node_modules/spdy-transport/lib/spdy-transport/stream.js +710 -0
  1189. package/node_modules/spdy-transport/lib/spdy-transport/utils.js +196 -0
  1190. package/node_modules/spdy-transport/lib/spdy-transport/window.js +174 -0
  1191. package/node_modules/spdy-transport/lib/spdy-transport.js +25 -0
  1192. package/node_modules/spdy-transport/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  1193. package/node_modules/spdy-transport/node_modules/readable-stream/GOVERNANCE.md +136 -0
  1194. package/node_modules/spdy-transport/node_modules/readable-stream/LICENSE +47 -0
  1195. package/node_modules/spdy-transport/node_modules/readable-stream/README.md +106 -0
  1196. package/node_modules/spdy-transport/node_modules/readable-stream/errors-browser.js +127 -0
  1197. package/node_modules/spdy-transport/node_modules/readable-stream/errors.js +116 -0
  1198. package/node_modules/spdy-transport/node_modules/readable-stream/experimentalWarning.js +17 -0
  1199. package/node_modules/spdy-transport/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  1200. package/node_modules/spdy-transport/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  1201. package/node_modules/spdy-transport/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  1202. package/node_modules/spdy-transport/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  1203. package/node_modules/spdy-transport/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  1204. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  1205. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  1206. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  1207. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  1208. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  1209. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  1210. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  1211. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  1212. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  1213. package/node_modules/spdy-transport/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  1214. package/node_modules/spdy-transport/node_modules/readable-stream/package.json +68 -0
  1215. package/node_modules/spdy-transport/node_modules/readable-stream/readable-browser.js +9 -0
  1216. package/node_modules/spdy-transport/node_modules/readable-stream/readable.js +16 -0
  1217. package/node_modules/spdy-transport/package.json +43 -0
  1218. package/node_modules/statuses/HISTORY.md +87 -0
  1219. package/node_modules/statuses/LICENSE +23 -0
  1220. package/node_modules/statuses/README.md +139 -0
  1221. package/node_modules/statuses/codes.json +65 -0
  1222. package/node_modules/statuses/index.js +146 -0
  1223. package/node_modules/statuses/package.json +49 -0
  1224. package/node_modules/toidentifier/HISTORY.md +9 -0
  1225. package/node_modules/toidentifier/LICENSE +21 -0
  1226. package/node_modules/toidentifier/README.md +61 -0
  1227. package/node_modules/toidentifier/index.js +32 -0
  1228. package/node_modules/toidentifier/package.json +38 -0
  1229. package/node_modules/type-is/HISTORY.md +292 -0
  1230. package/node_modules/type-is/LICENSE +23 -0
  1231. package/node_modules/type-is/README.md +198 -0
  1232. package/node_modules/type-is/index.js +240 -0
  1233. package/node_modules/type-is/package.json +51 -0
  1234. package/node_modules/unpipe/HISTORY.md +4 -0
  1235. package/node_modules/unpipe/LICENSE +22 -0
  1236. package/node_modules/unpipe/README.md +43 -0
  1237. package/node_modules/unpipe/index.js +69 -0
  1238. package/node_modules/unpipe/package.json +27 -0
  1239. package/node_modules/vary/HISTORY.md +39 -0
  1240. package/node_modules/vary/LICENSE +22 -0
  1241. package/node_modules/vary/README.md +101 -0
  1242. package/node_modules/vary/index.js +149 -0
  1243. package/node_modules/vary/package.json +43 -0
  1244. package/node_modules/wbuf/README.md +26 -0
  1245. package/node_modules/wbuf/index.js +425 -0
  1246. package/node_modules/wbuf/package.json +29 -0
  1247. package/node_modules/wbuf/test/wbuf-test.js +357 -0
  1248. package/node_modules/xpath/LICENSE +22 -0
  1249. package/node_modules/xpath/README.md +133 -0
  1250. package/node_modules/xpath/package.json +43 -0
  1251. package/node_modules/xpath/xpath.d.ts +110 -0
  1252. package/node_modules/xpath/xpath.js +5056 -0
  1253. package/package.json +3 -1
@@ -0,0 +1,2041 @@
1
+ #include <assert.h>
2
+ #include <bare.h>
3
+ #include <base64.h>
4
+ #include <hex.h>
5
+ #include <js.h>
6
+ #include <stdatomic.h>
7
+ #include <stdint.h>
8
+ #include <stdlib.h>
9
+ #include <string.h>
10
+ #include <utf.h>
11
+
12
+ // Results up to this length are encoded on the stack, so that the common case
13
+ // of a short hex or base64 string involves neither an allocation nor the
14
+ // bookkeeping of an external string.
15
+ #define BARE_BUFFER_STACK_STRING_MAX 1024
16
+
17
+ // A buffer may be viewed at any byte offset, so the code units of a UTF-16
18
+ // string are not necessarily aligned within its backing store. Spans that are
19
+ // not are staged through an aligned copy.
20
+ #define BARE_BUFFER_STACK_UTF16_MAX (BARE_BUFFER_STACK_STRING_MAX / sizeof(utf16_t))
21
+
22
+ // A typed callback cannot raise, so an argument it rejects is reported as a
23
+ // result no successful call can produce and JavaScript raises on it. There is
24
+ // one sentinel per error the untyped callback raises directly, so that the
25
+ // error does not change once V8 takes the fast path.
26
+ #define BARE_BUFFER_OUT_OF_BOUNDS INT32_MIN
27
+ #define BARE_BUFFER_INVALID_BUFFER (INT32_MIN + 1)
28
+ #define BARE_BUFFER_INVALID_STRING (INT32_MIN + 2)
29
+
30
+ static inline bool
31
+ bare_buffer__is_aligned(const void *data) {
32
+ return ((uintptr_t) data & (sizeof(utf16_t) - 1)) == 0;
33
+ }
34
+
35
+ static _Atomic size_t bare_buffer__max_arraybuffer_length;
36
+ static _Atomic size_t bare_buffer__max_string_length;
37
+
38
+ static inline void
39
+ bare_buffer__read_limits(js_env_t *env) {
40
+ int err;
41
+
42
+ js_platform_t *platform;
43
+ err = js_get_env_platform(env, &platform);
44
+ assert(err == 0);
45
+
46
+ js_platform_limits_t limits = {
47
+ .version = 0,
48
+ };
49
+
50
+ err = js_get_platform_limits(platform, &limits);
51
+ assert(err == 0);
52
+
53
+ atomic_store_explicit(&bare_buffer__max_arraybuffer_length, limits.arraybuffer_length, memory_order_relaxed);
54
+ atomic_store_explicit(&bare_buffer__max_string_length, limits.string_length, memory_order_relaxed);
55
+ }
56
+
57
+ static inline size_t
58
+ bare_buffer__arraybuffer_limit(void) {
59
+ return atomic_load_explicit(&bare_buffer__max_arraybuffer_length, memory_order_relaxed);
60
+ }
61
+
62
+ static inline size_t
63
+ bare_buffer__string_limit(void) {
64
+ return atomic_load_explicit(&bare_buffer__max_string_length, memory_order_relaxed);
65
+ }
66
+
67
+ // Nothing between here and the raising helpers below raises an error. A typed
68
+ // callback is entered without a handle scope and V8 does not support reporting
69
+ // errors from one, so raising there aborts the process. An argument that does
70
+ // not check out is reported to the caller instead, and a condition that has to
71
+ // reach JavaScript is returned as a negative count for the caller to raise.
72
+
73
+ static inline bool
74
+ bare_buffer__is_buffer(js_env_t *env, js_value_t *value) {
75
+ int err;
76
+
77
+ bool is_arraybuffer;
78
+ err = js_is_arraybuffer(env, value, &is_arraybuffer);
79
+ assert(err == 0);
80
+
81
+ if (is_arraybuffer) return true;
82
+
83
+ bool is_shared;
84
+ err = js_is_sharedarraybuffer(env, value, &is_shared);
85
+ assert(err == 0);
86
+
87
+ return is_shared;
88
+ }
89
+
90
+ static inline int
91
+ bare_buffer__get_info(js_env_t *env, js_value_t *buffer, void **data, size_t *len) {
92
+ int err;
93
+
94
+ bool is_arraybuffer;
95
+ err = js_is_arraybuffer(env, buffer, &is_arraybuffer);
96
+ assert(err == 0);
97
+
98
+ if (is_arraybuffer) {
99
+ err = js_get_arraybuffer_info(env, buffer, data, len);
100
+ assert(err == 0);
101
+
102
+ return 0;
103
+ }
104
+
105
+ bool is_shared;
106
+ err = js_is_sharedarraybuffer(env, buffer, &is_shared);
107
+ assert(err == 0);
108
+
109
+ if (is_shared) {
110
+ err = js_get_sharedarraybuffer_info(env, buffer, data, len);
111
+ assert(err == 0);
112
+
113
+ return 0;
114
+ }
115
+
116
+ return -1;
117
+ }
118
+
119
+ static inline bool
120
+ bare_buffer__is_string(js_env_t *env, js_value_t *value) {
121
+ int err;
122
+
123
+ bool is_string;
124
+ err = js_is_string(env, value, &is_string);
125
+ assert(err == 0);
126
+
127
+ return is_string;
128
+ }
129
+
130
+ // Returns 0, or the sentinel for the argument that did not check out.
131
+ static inline int
132
+ bare_buffer__slice(js_env_t *env, js_value_t *buffer, int64_t offset, int64_t len, void **data) {
133
+ int err;
134
+
135
+ void *base;
136
+ size_t byte_len;
137
+ err = bare_buffer__get_info(env, buffer, &base, &byte_len);
138
+ if (err < 0) return BARE_BUFFER_INVALID_BUFFER;
139
+
140
+ if (offset < 0 || len < 0 || (uint64_t) offset + (uint64_t) len > byte_len) {
141
+ return BARE_BUFFER_OUT_OF_BOUNDS;
142
+ }
143
+
144
+ // A detached or zero length store has no address, and the string and codec
145
+ // APIs read a null destination as a request for the length a write would need
146
+ // rather than as a write of no bytes.
147
+ static uint8_t nowhere;
148
+
149
+ // Only an empty store lacks an address, so the bounds check above has already
150
+ // narrowed the span to nothing and the single byte is never reached.
151
+ assert(base != NULL || len == 0);
152
+
153
+ *data = base == NULL ? &nowhere : (uint8_t *) base + offset;
154
+
155
+ return 0;
156
+ }
157
+
158
+ static inline int
159
+ bare_buffer__alloc(size_t len, void **result) {
160
+ void *data = malloc(len);
161
+
162
+ if (data == NULL) return -1;
163
+
164
+ *result = data;
165
+
166
+ return 0;
167
+ }
168
+
169
+ static int64_t
170
+ bare_buffer__write_utf8(js_env_t *env, js_value_t *string, utf8_t *buf, int64_t len) {
171
+ int err;
172
+
173
+ size_t str_len;
174
+ err = js_get_value_string_utf8(env, string, NULL, 0, &str_len);
175
+ assert(err == 0);
176
+
177
+ size_t written;
178
+
179
+ if (str_len <= (size_t) len) {
180
+ err = js_get_value_string_utf8(env, string, buf, str_len, &written);
181
+ assert(err == 0);
182
+
183
+ return written;
184
+ }
185
+
186
+ // A truncated write stops on a code point boundary, so it leaves at most the
187
+ // three bytes of an incomplete sequence. Keeping those is enough to undo the
188
+ // null terminator, which can only land among them.
189
+ size_t tail_at = (size_t) len - (len < 3 ? (size_t) len : 3);
190
+
191
+ utf8_t tail[3];
192
+ memcpy(tail, &buf[tail_at], (size_t) len - tail_at);
193
+
194
+ err = js_get_value_string_utf8(env, string, buf, len, &written);
195
+ assert(err == 0);
196
+
197
+ if (written < (size_t) len && written >= tail_at) {
198
+ memcpy(&buf[written], &tail[written - tail_at], (size_t) len - written);
199
+ }
200
+
201
+ return written;
202
+ }
203
+
204
+ static int64_t
205
+ bare_buffer__write_latin1(js_env_t *env, js_value_t *string, latin1_t *buf, int64_t len) {
206
+ int err;
207
+
208
+ size_t str_len;
209
+ err = js_get_value_string_latin1(env, string, NULL, 0, &str_len);
210
+ assert(err == 0);
211
+
212
+ if (str_len > (size_t) len) str_len = len;
213
+
214
+ size_t written;
215
+ err = js_get_value_string_latin1(env, string, buf, str_len, &written);
216
+ assert(err == 0);
217
+
218
+ return written;
219
+ }
220
+
221
+ static int64_t
222
+ bare_buffer__write_utf16le(js_env_t *env, js_value_t *string, uint8_t *bytes, int64_t len) {
223
+ int err;
224
+
225
+ size_t str_len;
226
+ err = js_get_value_string_utf16le(env, string, NULL, 0, &str_len);
227
+ assert(err == 0);
228
+
229
+ size_t capacity = (size_t) len / sizeof(utf16_t);
230
+
231
+ if (str_len > capacity) str_len = capacity;
232
+
233
+ size_t written;
234
+
235
+ if (bare_buffer__is_aligned(bytes)) {
236
+ err = js_get_value_string_utf16le(env, string, (utf16_t *) bytes, str_len, &written);
237
+ assert(err == 0);
238
+
239
+ return written * sizeof(utf16_t);
240
+ }
241
+
242
+ utf16_t stack[BARE_BUFFER_STACK_UTF16_MAX];
243
+ utf16_t *str = stack;
244
+
245
+ if (str_len > BARE_BUFFER_STACK_UTF16_MAX) {
246
+ err = bare_buffer__alloc(str_len * sizeof(utf16_t), (void **) &str);
247
+ if (err < 0) return -1;
248
+ }
249
+
250
+ err = js_get_value_string_utf16le(env, string, str, str_len, &written);
251
+ assert(err == 0);
252
+
253
+ memcpy(bytes, str, written * sizeof(utf16_t));
254
+
255
+ if (str != stack) free(str);
256
+
257
+ return written * sizeof(utf16_t);
258
+ }
259
+
260
+ static int64_t
261
+ bare_buffer__write_base64(js_env_t *env, js_value_t *string, utf8_t *buf, int64_t len) {
262
+ int err;
263
+
264
+ js_string_encoding_t encoding;
265
+ const void *str;
266
+ size_t str_len;
267
+
268
+ js_string_view_t *str_view;
269
+ err = js_get_string_view(env, string, &encoding, &str, &str_len, &str_view);
270
+ assert(err == 0);
271
+
272
+ size_t written = len;
273
+
274
+ if (encoding == js_utf16le) {
275
+ err = base64_decode_utf16le(str, str_len, buf, &written);
276
+ } else {
277
+ err = base64_decode_utf8(str, str_len, buf, &written);
278
+ }
279
+
280
+ int64_t decoded = err == 0 ? (int64_t) written : -1;
281
+
282
+ err = js_release_string_view(env, str_view);
283
+ assert(err == 0);
284
+
285
+ return decoded;
286
+ }
287
+
288
+ static int64_t
289
+ bare_buffer__write_hex(js_env_t *env, js_value_t *string, utf8_t *buf, int64_t len) {
290
+ int err;
291
+
292
+ js_string_encoding_t encoding;
293
+ const void *str;
294
+ size_t str_len;
295
+
296
+ js_string_view_t *str_view;
297
+ err = js_get_string_view(env, string, &encoding, &str, &str_len, &str_view);
298
+ assert(err == 0);
299
+
300
+ size_t written = len;
301
+
302
+ if (encoding == js_utf16le) {
303
+ err = hex_decode_utf16le(str, str_len, buf, &written);
304
+ } else {
305
+ err = hex_decode_utf8(str, str_len, buf, &written);
306
+ }
307
+
308
+ int64_t decoded = err == 0 ? (int64_t) written : -1;
309
+
310
+ err = js_release_string_view(env, str_view);
311
+ assert(err == 0);
312
+
313
+ return decoded;
314
+ }
315
+
316
+ static bool
317
+ bare_buffer__check_buffer(js_env_t *env, js_value_t *value) {
318
+ int err;
319
+
320
+ if (bare_buffer__is_buffer(env, value)) return true;
321
+
322
+ err = js_throw_type_error(env, NULL, "Buffer must be an array buffer");
323
+ assert(err == 0);
324
+
325
+ return false;
326
+ }
327
+
328
+ static bool
329
+ bare_buffer__check_number(js_env_t *env, js_value_t *value, const char *message) {
330
+ int err;
331
+
332
+ bool is_number;
333
+ err = js_is_number(env, value, &is_number);
334
+ assert(err == 0);
335
+
336
+ if (!is_number) {
337
+ err = js_throw_type_error(env, NULL, message);
338
+ assert(err == 0);
339
+ }
340
+
341
+ return is_number;
342
+ }
343
+
344
+ static bool
345
+ bare_buffer__check_string(js_env_t *env, js_value_t *value, const char *message) {
346
+ int err;
347
+
348
+ if (bare_buffer__is_string(env, value)) return true;
349
+
350
+ err = js_throw_type_error(env, NULL, message);
351
+ assert(err == 0);
352
+
353
+ return false;
354
+ }
355
+
356
+ static js_value_t *
357
+ bare_buffer__view_out_of_bounds(js_env_t *env) {
358
+ int err;
359
+
360
+ err = js_throw_range_error(env, NULL, "View is out of bounds of its backing store");
361
+ assert(err == 0);
362
+
363
+ return NULL;
364
+ }
365
+
366
+ static js_value_t *
367
+ bare_buffer__out_of_memory(js_env_t *env) {
368
+ int err;
369
+
370
+ err = js_throw_error(env, NULL, "Out of memory");
371
+ assert(err == 0);
372
+
373
+ return NULL;
374
+ }
375
+
376
+ static js_value_t *
377
+ bare_buffer__invalid_string_length(js_env_t *env) {
378
+ int err;
379
+
380
+ err = js_throw_range_error(env, NULL, "Invalid string length");
381
+ assert(err == 0);
382
+
383
+ return NULL;
384
+ }
385
+
386
+ static inline int64_t
387
+ bare_buffer__to_int64(js_env_t *env, js_value_t *value) {
388
+ int err;
389
+
390
+ int64_t result;
391
+ err = js_get_value_int64(env, value, &result);
392
+ assert(err == 0);
393
+
394
+ return result;
395
+ }
396
+
397
+ static js_value_t *
398
+ bare_buffer_alloc(js_env_t *env, js_callback_info_t *info) {
399
+ int err;
400
+
401
+ size_t argc = 1;
402
+ js_value_t *argv[1];
403
+
404
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
405
+ assert(err == 0);
406
+
407
+ if (!bare_buffer__check_number(env, argv[0], "Length must be a number")) return NULL;
408
+
409
+ int64_t len = bare_buffer__to_int64(env, argv[0]);
410
+
411
+ if (len < 0) {
412
+ err = js_throw_range_error(env, NULL, "Length must not be negative");
413
+ assert(err == 0);
414
+
415
+ return NULL;
416
+ }
417
+
418
+ if ((uint64_t) len > bare_buffer__arraybuffer_limit()) {
419
+ err = js_throw_range_error(env, NULL, "Length must not exceed the maximum array buffer length");
420
+ assert(err == 0);
421
+
422
+ return NULL;
423
+ }
424
+
425
+ js_value_t *result;
426
+ err = js_create_arraybuffer(env, len, NULL, &result);
427
+ if (err < 0) return NULL;
428
+
429
+ return result;
430
+ }
431
+
432
+ static js_value_t *
433
+ bare_buffer_alloc_unsafe(js_env_t *env, js_callback_info_t *info) {
434
+ int err;
435
+
436
+ size_t argc = 1;
437
+ js_value_t *argv[1];
438
+
439
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
440
+ assert(err == 0);
441
+
442
+ if (!bare_buffer__check_number(env, argv[0], "Length must be a number")) return NULL;
443
+
444
+ int64_t len = bare_buffer__to_int64(env, argv[0]);
445
+
446
+ if (len < 0) {
447
+ err = js_throw_range_error(env, NULL, "Length must not be negative");
448
+ assert(err == 0);
449
+
450
+ return NULL;
451
+ }
452
+
453
+ if ((uint64_t) len > bare_buffer__arraybuffer_limit()) {
454
+ err = js_throw_range_error(env, NULL, "Length must not exceed the maximum array buffer length");
455
+ assert(err == 0);
456
+
457
+ return NULL;
458
+ }
459
+
460
+ js_value_t *result;
461
+ err = js_create_unsafe_arraybuffer(env, len, NULL, &result);
462
+ if (err < 0) return NULL;
463
+
464
+ return result;
465
+ }
466
+
467
+ static int64_t
468
+ bare_buffer_typed_byte_length_utf8(js_value_t *receiver, js_value_t *str, js_typed_callback_info_t *info) {
469
+ int err;
470
+
471
+ js_env_t *env;
472
+ err = js_get_typed_callback_info(info, &env, NULL);
473
+ assert(err == 0);
474
+
475
+ if (!bare_buffer__is_string(env, str)) return BARE_BUFFER_INVALID_STRING;
476
+
477
+ size_t str_len;
478
+ err = js_get_value_string_utf8(env, str, NULL, 0, &str_len);
479
+ assert(err == 0);
480
+
481
+ return str_len;
482
+ }
483
+
484
+ static js_value_t *
485
+ bare_buffer_byte_length_utf8(js_env_t *env, js_callback_info_t *info) {
486
+ int err;
487
+
488
+ size_t argc = 1;
489
+ js_value_t *argv[1];
490
+
491
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
492
+ assert(err == 0);
493
+
494
+ if (!bare_buffer__check_string(env, argv[0], "String must be a string")) return NULL;
495
+
496
+ size_t str_len;
497
+ err = js_get_value_string_utf8(env, argv[0], NULL, 0, &str_len);
498
+ assert(err == 0);
499
+
500
+ js_value_t *result;
501
+ err = js_create_int64(env, str_len, &result);
502
+ assert(err == 0);
503
+
504
+ return result;
505
+ }
506
+
507
+ static js_value_t *
508
+ bare_buffer_to_string_utf8(js_env_t *env, js_callback_info_t *info) {
509
+ int err;
510
+
511
+ size_t argc = 3;
512
+ js_value_t *argv[3];
513
+
514
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
515
+ assert(err == 0);
516
+
517
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
518
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
519
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
520
+
521
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
522
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
523
+
524
+ utf8_t *buf;
525
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
526
+ if (err < 0) return bare_buffer__view_out_of_bounds(env);
527
+
528
+ js_value_t *result;
529
+ err = js_create_string_utf8(env, buf, len, &result);
530
+ if (err < 0) return NULL;
531
+
532
+ return result;
533
+ }
534
+
535
+ static int32_t
536
+ bare_buffer_typed_validate_utf8(
537
+ js_value_t *receiver,
538
+ js_value_t *handle,
539
+ int64_t offset,
540
+ int64_t len,
541
+ js_typed_callback_info_t *info
542
+ ) {
543
+ int err;
544
+
545
+ js_env_t *env;
546
+ err = js_get_typed_callback_info(info, &env, NULL);
547
+ assert(err == 0);
548
+
549
+ utf8_t *buf;
550
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
551
+ if (err != 0) return err;
552
+
553
+ return utf8_validate(buf, len);
554
+ }
555
+
556
+ static js_value_t *
557
+ bare_buffer_validate_utf8(js_env_t *env, js_callback_info_t *info) {
558
+ int err;
559
+
560
+ size_t argc = 3;
561
+ js_value_t *argv[3];
562
+
563
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
564
+ assert(err == 0);
565
+
566
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
567
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
568
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
569
+
570
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
571
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
572
+
573
+ utf8_t *buf;
574
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
575
+
576
+ int32_t valid = err == 0 ? utf8_validate(buf, len) : err;
577
+
578
+ js_value_t *result;
579
+ err = js_create_int32(env, valid, &result);
580
+ assert(err == 0);
581
+
582
+ return result;
583
+ }
584
+
585
+ static int64_t
586
+ bare_buffer_typed_write_utf8(
587
+ js_value_t *receiver,
588
+ js_value_t *handle,
589
+ int64_t offset,
590
+ int64_t len,
591
+ js_value_t *string,
592
+ js_typed_callback_info_t *info
593
+ ) {
594
+ int err;
595
+
596
+ js_env_t *env;
597
+ err = js_get_typed_callback_info(info, &env, NULL);
598
+ assert(err == 0);
599
+
600
+ if (!bare_buffer__is_buffer(env, handle)) return BARE_BUFFER_INVALID_BUFFER;
601
+ if (!bare_buffer__is_string(env, string)) return BARE_BUFFER_INVALID_STRING;
602
+
603
+ utf8_t *buf;
604
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
605
+ if (err != 0) return err;
606
+
607
+ return bare_buffer__write_utf8(env, string, buf, len);
608
+ }
609
+
610
+ static js_value_t *
611
+ bare_buffer_write_utf8(js_env_t *env, js_callback_info_t *info) {
612
+ int err;
613
+
614
+ size_t argc = 4;
615
+ js_value_t *argv[4];
616
+
617
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
618
+ assert(err == 0);
619
+
620
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
621
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
622
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
623
+ if (!bare_buffer__check_string(env, argv[3], "String must be a string")) return NULL;
624
+
625
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
626
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
627
+
628
+ utf8_t *buf;
629
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
630
+
631
+ int64_t written = err == 0 ? bare_buffer__write_utf8(env, argv[3], buf, len) : err;
632
+
633
+ js_value_t *result;
634
+ err = js_create_int64(env, written, &result);
635
+ assert(err == 0);
636
+
637
+ return result;
638
+ }
639
+
640
+ static js_value_t *
641
+ bare_buffer_to_string_utf16le(js_env_t *env, js_callback_info_t *info) {
642
+ int err;
643
+
644
+ size_t argc = 3;
645
+ js_value_t *argv[3];
646
+
647
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
648
+ assert(err == 0);
649
+
650
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
651
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
652
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
653
+
654
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
655
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
656
+
657
+ uint8_t *bytes;
658
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &bytes);
659
+ if (err < 0) return bare_buffer__view_out_of_bounds(env);
660
+
661
+ size_t str_len = (size_t) len / sizeof(utf16_t);
662
+
663
+ if (str_len > bare_buffer__string_limit()) {
664
+ return bare_buffer__invalid_string_length(env);
665
+ }
666
+
667
+ js_value_t *result;
668
+
669
+ if (bare_buffer__is_aligned(bytes)) {
670
+ err = js_create_string_utf16le(env, (utf16_t *) bytes, str_len, &result);
671
+ if (err < 0) return NULL;
672
+
673
+ return result;
674
+ }
675
+
676
+ utf16_t stack[BARE_BUFFER_STACK_UTF16_MAX];
677
+ utf16_t *str = stack;
678
+
679
+ if (str_len > BARE_BUFFER_STACK_UTF16_MAX) {
680
+ err = bare_buffer__alloc(str_len * sizeof(utf16_t), (void **) &str);
681
+ if (err < 0) return bare_buffer__out_of_memory(env);
682
+ }
683
+
684
+ memcpy(str, bytes, str_len * sizeof(utf16_t));
685
+
686
+ err = js_create_string_utf16le(env, str, str_len, &result);
687
+
688
+ if (str != stack) free(str);
689
+
690
+ if (err < 0) return NULL;
691
+
692
+ return result;
693
+ }
694
+
695
+ static int64_t
696
+ bare_buffer_typed_write_utf16le(
697
+ js_value_t *receiver,
698
+ js_value_t *handle,
699
+ int64_t offset,
700
+ int64_t len,
701
+ js_value_t *string,
702
+ js_typed_callback_info_t *info
703
+ ) {
704
+ int err;
705
+
706
+ js_env_t *env;
707
+ err = js_get_typed_callback_info(info, &env, NULL);
708
+ assert(err == 0);
709
+
710
+ if (!bare_buffer__is_buffer(env, handle)) return BARE_BUFFER_INVALID_BUFFER;
711
+ if (!bare_buffer__is_string(env, string)) return BARE_BUFFER_INVALID_STRING;
712
+
713
+ uint8_t *bytes;
714
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &bytes);
715
+ if (err != 0) return err;
716
+
717
+ return bare_buffer__write_utf16le(env, string, bytes, len);
718
+ }
719
+
720
+ static js_value_t *
721
+ bare_buffer_write_utf16le(js_env_t *env, js_callback_info_t *info) {
722
+ int err;
723
+
724
+ size_t argc = 4;
725
+ js_value_t *argv[4];
726
+
727
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
728
+ assert(err == 0);
729
+
730
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
731
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
732
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
733
+ if (!bare_buffer__check_string(env, argv[3], "String must be a string")) return NULL;
734
+
735
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
736
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
737
+
738
+ uint8_t *bytes;
739
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &bytes);
740
+
741
+ int64_t written = err == 0 ? bare_buffer__write_utf16le(env, argv[3], bytes, len) : err;
742
+
743
+ js_value_t *result;
744
+ err = js_create_int64(env, written, &result);
745
+ assert(err == 0);
746
+
747
+ return result;
748
+ }
749
+
750
+ static js_value_t *
751
+ bare_buffer_to_string_latin1(js_env_t *env, js_callback_info_t *info) {
752
+ int err;
753
+
754
+ size_t argc = 3;
755
+ js_value_t *argv[3];
756
+
757
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
758
+ assert(err == 0);
759
+
760
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
761
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
762
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
763
+
764
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
765
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
766
+
767
+ latin1_t *buf;
768
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
769
+ if (err < 0) return bare_buffer__view_out_of_bounds(env);
770
+
771
+ js_value_t *result;
772
+ err = js_create_string_latin1(env, buf, len, &result);
773
+ if (err < 0) return NULL;
774
+
775
+ return result;
776
+ }
777
+
778
+ static int64_t
779
+ bare_buffer_typed_write_latin1(
780
+ js_value_t *receiver,
781
+ js_value_t *handle,
782
+ int64_t offset,
783
+ int64_t len,
784
+ js_value_t *string,
785
+ js_typed_callback_info_t *info
786
+ ) {
787
+ int err;
788
+
789
+ js_env_t *env;
790
+ err = js_get_typed_callback_info(info, &env, NULL);
791
+ assert(err == 0);
792
+
793
+ if (!bare_buffer__is_buffer(env, handle)) return BARE_BUFFER_INVALID_BUFFER;
794
+ if (!bare_buffer__is_string(env, string)) return BARE_BUFFER_INVALID_STRING;
795
+
796
+ latin1_t *buf;
797
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
798
+ if (err != 0) return err;
799
+
800
+ return bare_buffer__write_latin1(env, string, buf, len);
801
+ }
802
+
803
+ static js_value_t *
804
+ bare_buffer_write_latin1(js_env_t *env, js_callback_info_t *info) {
805
+ int err;
806
+
807
+ size_t argc = 4;
808
+ js_value_t *argv[4];
809
+
810
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
811
+ assert(err == 0);
812
+
813
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
814
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
815
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
816
+ if (!bare_buffer__check_string(env, argv[3], "String must be a string")) return NULL;
817
+
818
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
819
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
820
+
821
+ latin1_t *buf;
822
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
823
+
824
+ int64_t written = err == 0 ? bare_buffer__write_latin1(env, argv[3], buf, len) : err;
825
+
826
+ js_value_t *result;
827
+ err = js_create_int64(env, written, &result);
828
+ assert(err == 0);
829
+
830
+ return result;
831
+ }
832
+
833
+ static js_value_t *
834
+ bare_buffer_to_string_base64(js_env_t *env, js_callback_info_t *info) {
835
+ int err;
836
+
837
+ size_t argc = 3;
838
+ js_value_t *argv[3];
839
+
840
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
841
+ assert(err == 0);
842
+
843
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
844
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
845
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
846
+
847
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
848
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
849
+
850
+ utf8_t *buf;
851
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
852
+ if (err < 0) return bare_buffer__view_out_of_bounds(env);
853
+
854
+ size_t str_len;
855
+ err = base64_encode_utf8(buf, len, NULL, &str_len);
856
+ assert(err == 0);
857
+
858
+ if (str_len > bare_buffer__string_limit()) {
859
+ return bare_buffer__invalid_string_length(env);
860
+ }
861
+
862
+ utf8_t stack[BARE_BUFFER_STACK_STRING_MAX];
863
+ utf8_t *str = stack;
864
+
865
+ if (str_len > sizeof(stack)) {
866
+ err = bare_buffer__alloc(str_len, (void **) &str);
867
+ if (err < 0) return bare_buffer__out_of_memory(env);
868
+ }
869
+
870
+ err = base64_encode_utf8(buf, len, str, &str_len);
871
+ assert(err == 0);
872
+
873
+ js_value_t *result;
874
+ err = js_create_string_latin1(env, str, str_len, &result);
875
+
876
+ if (str != stack) free(str);
877
+
878
+ if (err < 0) return NULL;
879
+
880
+ return result;
881
+ }
882
+
883
+ static js_value_t *
884
+ bare_buffer_to_string_base64url(js_env_t *env, js_callback_info_t *info) {
885
+ int err;
886
+
887
+ size_t argc = 3;
888
+ js_value_t *argv[3];
889
+
890
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
891
+ assert(err == 0);
892
+
893
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
894
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
895
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
896
+
897
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
898
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
899
+
900
+ utf8_t *buf;
901
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
902
+ if (err < 0) return bare_buffer__view_out_of_bounds(env);
903
+
904
+ size_t str_len;
905
+ err = base64url_encode_utf8(buf, len, NULL, &str_len);
906
+ assert(err == 0);
907
+
908
+ if (str_len > bare_buffer__string_limit()) {
909
+ return bare_buffer__invalid_string_length(env);
910
+ }
911
+
912
+ utf8_t stack[BARE_BUFFER_STACK_STRING_MAX];
913
+ utf8_t *str = stack;
914
+
915
+ if (str_len > sizeof(stack)) {
916
+ err = bare_buffer__alloc(str_len, (void **) &str);
917
+ if (err < 0) return bare_buffer__out_of_memory(env);
918
+ }
919
+
920
+ err = base64url_encode_utf8(buf, len, str, &str_len);
921
+ assert(err == 0);
922
+
923
+ js_value_t *result;
924
+ err = js_create_string_latin1(env, str, str_len, &result);
925
+
926
+ if (str != stack) free(str);
927
+
928
+ if (err < 0) return NULL;
929
+
930
+ return result;
931
+ }
932
+
933
+ static int64_t
934
+ bare_buffer_typed_write_base64(
935
+ js_value_t *receiver,
936
+ js_value_t *handle,
937
+ int64_t offset,
938
+ int64_t len,
939
+ js_value_t *string,
940
+ js_typed_callback_info_t *info
941
+ ) {
942
+ int err;
943
+
944
+ js_env_t *env;
945
+ err = js_get_typed_callback_info(info, &env, NULL);
946
+ assert(err == 0);
947
+
948
+ if (!bare_buffer__is_buffer(env, handle)) return BARE_BUFFER_INVALID_BUFFER;
949
+ if (!bare_buffer__is_string(env, string)) return BARE_BUFFER_INVALID_STRING;
950
+
951
+ utf8_t *buf;
952
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
953
+ if (err != 0) return err;
954
+
955
+ return bare_buffer__write_base64(env, string, buf, len);
956
+ }
957
+
958
+ static js_value_t *
959
+ bare_buffer_write_base64(js_env_t *env, js_callback_info_t *info) {
960
+ int err;
961
+
962
+ size_t argc = 4;
963
+ js_value_t *argv[4];
964
+
965
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
966
+ assert(err == 0);
967
+
968
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
969
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
970
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
971
+ if (!bare_buffer__check_string(env, argv[3], "String must be a string")) return NULL;
972
+
973
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
974
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
975
+
976
+ utf8_t *buf;
977
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
978
+
979
+ int64_t decoded = err == 0 ? bare_buffer__write_base64(env, argv[3], buf, len) : err;
980
+
981
+ js_value_t *result;
982
+ err = js_create_int64(env, decoded, &result);
983
+ assert(err == 0);
984
+
985
+ return result;
986
+ }
987
+
988
+ static js_value_t *
989
+ bare_buffer_to_string_hex(js_env_t *env, js_callback_info_t *info) {
990
+ int err;
991
+
992
+ size_t argc = 3;
993
+ js_value_t *argv[3];
994
+
995
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
996
+ assert(err == 0);
997
+
998
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
999
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1000
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1001
+
1002
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
1003
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
1004
+
1005
+ utf8_t *buf;
1006
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
1007
+ if (err < 0) return bare_buffer__view_out_of_bounds(env);
1008
+
1009
+ size_t str_len;
1010
+ err = hex_encode_utf8(buf, len, NULL, &str_len);
1011
+ assert(err == 0);
1012
+
1013
+ if (str_len > bare_buffer__string_limit()) {
1014
+ return bare_buffer__invalid_string_length(env);
1015
+ }
1016
+
1017
+ utf8_t stack[BARE_BUFFER_STACK_STRING_MAX];
1018
+ utf8_t *str = stack;
1019
+
1020
+ if (str_len > sizeof(stack)) {
1021
+ err = bare_buffer__alloc(str_len, (void **) &str);
1022
+ if (err < 0) return bare_buffer__out_of_memory(env);
1023
+ }
1024
+
1025
+ err = hex_encode_utf8(buf, len, str, &str_len);
1026
+ assert(err == 0);
1027
+
1028
+ js_value_t *result;
1029
+ err = js_create_string_latin1(env, str, str_len, &result);
1030
+
1031
+ if (str != stack) free(str);
1032
+
1033
+ if (err < 0) return NULL;
1034
+
1035
+ return result;
1036
+ }
1037
+
1038
+ static int64_t
1039
+ bare_buffer_typed_write_hex(
1040
+ js_value_t *receiver,
1041
+ js_value_t *handle,
1042
+ int64_t offset,
1043
+ int64_t len,
1044
+ js_value_t *string,
1045
+ js_typed_callback_info_t *info
1046
+ ) {
1047
+ int err;
1048
+
1049
+ js_env_t *env;
1050
+ err = js_get_typed_callback_info(info, &env, NULL);
1051
+ assert(err == 0);
1052
+
1053
+ if (!bare_buffer__is_buffer(env, handle)) return BARE_BUFFER_INVALID_BUFFER;
1054
+ if (!bare_buffer__is_string(env, string)) return BARE_BUFFER_INVALID_STRING;
1055
+
1056
+ utf8_t *buf;
1057
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
1058
+ if (err != 0) return err;
1059
+
1060
+ return bare_buffer__write_hex(env, string, buf, len);
1061
+ }
1062
+
1063
+ static js_value_t *
1064
+ bare_buffer_write_hex(js_env_t *env, js_callback_info_t *info) {
1065
+ int err;
1066
+
1067
+ size_t argc = 4;
1068
+ js_value_t *argv[4];
1069
+
1070
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1071
+ assert(err == 0);
1072
+
1073
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
1074
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1075
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1076
+ if (!bare_buffer__check_string(env, argv[3], "String must be a string")) return NULL;
1077
+
1078
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
1079
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
1080
+
1081
+ utf8_t *buf;
1082
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
1083
+
1084
+ int64_t decoded = err == 0 ? bare_buffer__write_hex(env, argv[3], buf, len) : err;
1085
+
1086
+ js_value_t *result;
1087
+ err = js_create_int64(env, decoded, &result);
1088
+ assert(err == 0);
1089
+
1090
+ return result;
1091
+ }
1092
+
1093
+ static int32_t
1094
+ bare_buffer_typed_validate_ascii(
1095
+ js_value_t *receiver,
1096
+ js_value_t *handle,
1097
+ int64_t offset,
1098
+ int64_t len,
1099
+ js_typed_callback_info_t *info
1100
+ ) {
1101
+ int err;
1102
+
1103
+ js_env_t *env;
1104
+ err = js_get_typed_callback_info(info, &env, NULL);
1105
+ assert(err == 0);
1106
+
1107
+ ascii_t *buf;
1108
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
1109
+ if (err != 0) return err;
1110
+
1111
+ return ascii_validate(buf, len);
1112
+ }
1113
+
1114
+ static js_value_t *
1115
+ bare_buffer_validate_ascii(js_env_t *env, js_callback_info_t *info) {
1116
+ int err;
1117
+
1118
+ size_t argc = 3;
1119
+ js_value_t *argv[3];
1120
+
1121
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1122
+ assert(err == 0);
1123
+
1124
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
1125
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1126
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1127
+
1128
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
1129
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
1130
+
1131
+ ascii_t *buf;
1132
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
1133
+
1134
+ int32_t valid = err == 0 ? ascii_validate(buf, len) : err;
1135
+
1136
+ js_value_t *result;
1137
+ err = js_create_int32(env, valid, &result);
1138
+ assert(err == 0);
1139
+
1140
+ return result;
1141
+ }
1142
+
1143
+ static inline void
1144
+ bare_buffer__swap16(uint8_t *data, size_t len) {
1145
+ for (size_t i = 0; i + 1 < len; i += 2) {
1146
+ uint8_t a = data[i];
1147
+ data[i] = data[i + 1];
1148
+ data[i + 1] = a;
1149
+ }
1150
+ }
1151
+
1152
+ static inline void
1153
+ bare_buffer__swap32(uint8_t *data, size_t len) {
1154
+ for (size_t i = 0; i + 3 < len; i += 4) {
1155
+ uint8_t a = data[i];
1156
+ uint8_t b = data[i + 1];
1157
+ data[i] = data[i + 3];
1158
+ data[i + 1] = data[i + 2];
1159
+ data[i + 2] = b;
1160
+ data[i + 3] = a;
1161
+ }
1162
+ }
1163
+
1164
+ static inline void
1165
+ bare_buffer__swap64(uint8_t *data, size_t len) {
1166
+ for (size_t i = 0; i + 7 < len; i += 8) {
1167
+ for (size_t j = 0; j < 4; j++) {
1168
+ uint8_t a = data[i + j];
1169
+ data[i + j] = data[i + 7 - j];
1170
+ data[i + 7 - j] = a;
1171
+ }
1172
+ }
1173
+ }
1174
+
1175
+ static const uint8_t *
1176
+ bare_buffer__memrchr(const uint8_t *data, uint8_t c, size_t len) {
1177
+ const size_t chunk_len = 512;
1178
+
1179
+ while (len > 0) {
1180
+ size_t take = len < chunk_len ? len : chunk_len;
1181
+
1182
+ const uint8_t *chunk = &data[len - take];
1183
+
1184
+ // When matches are dense the last one is within a few bytes of the end,
1185
+ // which is far cheaper to find by looking than by narrowing.
1186
+ size_t probe = take < 8 ? take : 8;
1187
+
1188
+ for (size_t i = 0; i < probe; i++) {
1189
+ if (chunk[take - 1 - i] == c) return &chunk[take - 1 - i];
1190
+ }
1191
+
1192
+ if (memchr(chunk, c, take - probe) != NULL) {
1193
+ size_t lo = 0;
1194
+ size_t hi = take - probe;
1195
+
1196
+ while (hi - lo > 1) {
1197
+ size_t mid = lo + (hi - lo) / 2;
1198
+
1199
+ if (memchr(&chunk[mid], c, hi - mid) != NULL) lo = mid;
1200
+ else hi = mid;
1201
+ }
1202
+
1203
+ return &chunk[lo];
1204
+ }
1205
+
1206
+ len -= take;
1207
+ }
1208
+
1209
+ return NULL;
1210
+ }
1211
+
1212
+ static int64_t
1213
+ bare_buffer__index_of(const uint8_t *data, size_t len, const uint8_t *needle, size_t needle_len, int64_t start) {
1214
+ if (needle_len == 0 || needle_len > len) return -1;
1215
+
1216
+ // Compared before narrowing, so that a start past the end cannot wrap into a
1217
+ // valid position on a target where size_t is narrower than int64_t.
1218
+ if (start < 0 || (uint64_t) start > len - needle_len) return -1;
1219
+
1220
+ size_t from = (size_t) start;
1221
+
1222
+ if (needle_len == 1) {
1223
+ const uint8_t *at = memchr(&data[from], needle[0], len - from);
1224
+
1225
+ return at == NULL ? -1 : (int64_t) (at - data);
1226
+ }
1227
+
1228
+ size_t end = len - needle_len + 1;
1229
+ size_t i = from;
1230
+ size_t rejected = 0;
1231
+
1232
+ while (i < end) {
1233
+ const uint8_t *at = memchr(&data[i], needle[0], end - i);
1234
+
1235
+ if (at == NULL) return -1;
1236
+
1237
+ i = (size_t) (at - data);
1238
+
1239
+ if (memcmp(&data[i + 1], &needle[1], needle_len - 1) == 0) return (int64_t) i;
1240
+
1241
+ i++;
1242
+
1243
+ if (++rejected == 32) break;
1244
+ }
1245
+
1246
+ if (i >= end) return -1;
1247
+
1248
+ size_t skip[256];
1249
+
1250
+ for (size_t j = 0; j < 256; j++) {
1251
+ skip[j] = needle_len;
1252
+ }
1253
+
1254
+ for (size_t j = 0; j < needle_len - 1; j++) {
1255
+ skip[needle[j]] = needle_len - 1 - j;
1256
+ }
1257
+
1258
+ size_t last = needle_len - 1;
1259
+
1260
+ while (i < end) {
1261
+ if (data[i + last] == needle[last] && memcmp(&data[i], needle, last) == 0) {
1262
+ return (int64_t) i;
1263
+ }
1264
+
1265
+ i += skip[data[i + last]];
1266
+ }
1267
+
1268
+ return -1;
1269
+ }
1270
+
1271
+ static int64_t
1272
+ bare_buffer__last_index_of(const uint8_t *data, size_t len, const uint8_t *needle, size_t needle_len, int64_t start) {
1273
+ if (needle_len == 0 || needle_len > len) return -1;
1274
+
1275
+ // A start before the first byte names no position, the same reading that has
1276
+ // the forward search report no match for a start past the last one.
1277
+ if (start < 0) return -1;
1278
+
1279
+ size_t last = len - needle_len;
1280
+ size_t from = (uint64_t) start > last ? last : (size_t) start;
1281
+
1282
+ if (needle_len == 1) {
1283
+ const uint8_t *at = bare_buffer__memrchr(data, needle[0], from + 1);
1284
+
1285
+ return at == NULL ? -1 : (int64_t) (at - data);
1286
+ }
1287
+
1288
+ size_t i = from;
1289
+ size_t rejected = 0;
1290
+
1291
+ while (rejected < 32) {
1292
+ const uint8_t *at = bare_buffer__memrchr(data, needle[0], i + 1);
1293
+
1294
+ if (at == NULL) return -1;
1295
+
1296
+ i = (size_t) (at - data);
1297
+
1298
+ if (memcmp(&data[i + 1], &needle[1], needle_len - 1) == 0) return (int64_t) i;
1299
+
1300
+ if (i == 0) return -1;
1301
+
1302
+ i--;
1303
+ rejected++;
1304
+ }
1305
+
1306
+ size_t skip[256];
1307
+
1308
+ for (size_t j = 0; j < 256; j++) {
1309
+ skip[j] = needle_len;
1310
+ }
1311
+
1312
+ for (size_t j = needle_len - 1; j >= 1; j--) {
1313
+ skip[needle[j]] = j;
1314
+ }
1315
+
1316
+ while (true) {
1317
+ if (data[i] == needle[0] && memcmp(&data[i + 1], &needle[1], needle_len - 1) == 0) {
1318
+ return (int64_t) i;
1319
+ }
1320
+
1321
+ size_t shift = skip[data[i]];
1322
+
1323
+ if (i < shift) return -1;
1324
+
1325
+ i -= shift;
1326
+ }
1327
+ }
1328
+
1329
+ static inline int
1330
+ bare_buffer__memcmp(void *a, size_t a_len, void *b, size_t b_len) {
1331
+ int r = memcmp(a, b, a_len < b_len ? a_len : b_len);
1332
+
1333
+ if (r == 0) {
1334
+ if (a_len < b_len) return -1;
1335
+ if (a_len > b_len) return 1;
1336
+ return 0;
1337
+ }
1338
+
1339
+ return r < 0 ? -1 : 1;
1340
+ }
1341
+
1342
+ static int32_t
1343
+ bare_buffer_typed_compare(
1344
+ js_value_t *receiver,
1345
+ js_value_t *a_handle,
1346
+ int64_t a_offset,
1347
+ int64_t a_len,
1348
+ js_value_t *b_handle,
1349
+ int64_t b_offset,
1350
+ int64_t b_len,
1351
+ js_typed_callback_info_t *info
1352
+ ) {
1353
+ int err;
1354
+
1355
+ js_env_t *env;
1356
+ err = js_get_typed_callback_info(info, &env, NULL);
1357
+ assert(err == 0);
1358
+
1359
+ if (!bare_buffer__is_buffer(env, a_handle)) return BARE_BUFFER_INVALID_BUFFER;
1360
+ if (!bare_buffer__is_buffer(env, b_handle)) return BARE_BUFFER_INVALID_BUFFER;
1361
+
1362
+ uint8_t *a;
1363
+ err = bare_buffer__slice(env, a_handle, a_offset, a_len, (void **) &a);
1364
+ if (err != 0) return err;
1365
+
1366
+ uint8_t *b;
1367
+ err = bare_buffer__slice(env, b_handle, b_offset, b_len, (void **) &b);
1368
+ if (err != 0) return err;
1369
+
1370
+ return bare_buffer__memcmp(a, a_len, b, b_len);
1371
+ }
1372
+
1373
+ static js_value_t *
1374
+ bare_buffer_compare(js_env_t *env, js_callback_info_t *info) {
1375
+ int err;
1376
+
1377
+ size_t argc = 6;
1378
+ js_value_t *argv[6];
1379
+
1380
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1381
+ assert(err == 0);
1382
+
1383
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
1384
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1385
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1386
+ if (!bare_buffer__check_buffer(env, argv[3])) return NULL;
1387
+ if (!bare_buffer__check_number(env, argv[4], "Offset must be a number")) return NULL;
1388
+ if (!bare_buffer__check_number(env, argv[5], "Length must be a number")) return NULL;
1389
+
1390
+ int64_t a_offset = bare_buffer__to_int64(env, argv[1]);
1391
+ int64_t a_len = bare_buffer__to_int64(env, argv[2]);
1392
+ int64_t b_offset = bare_buffer__to_int64(env, argv[4]);
1393
+ int64_t b_len = bare_buffer__to_int64(env, argv[5]);
1394
+
1395
+ uint8_t *a;
1396
+ err = bare_buffer__slice(env, argv[0], a_offset, a_len, (void **) &a);
1397
+
1398
+ int32_t comparison = err;
1399
+
1400
+ if (err == 0) {
1401
+ uint8_t *b;
1402
+ err = bare_buffer__slice(env, argv[3], b_offset, b_len, (void **) &b);
1403
+
1404
+ comparison = err == 0 ? bare_buffer__memcmp(a, a_len, b, b_len) : err;
1405
+ }
1406
+
1407
+ js_value_t *result;
1408
+ err = js_create_int32(env, comparison, &result);
1409
+ assert(err == 0);
1410
+
1411
+ return result;
1412
+ }
1413
+
1414
+ static int32_t
1415
+ bare_buffer_typed_swap16(
1416
+ js_value_t *receiver,
1417
+ js_value_t *handle,
1418
+ int64_t offset,
1419
+ int64_t len,
1420
+ js_typed_callback_info_t *info
1421
+ ) {
1422
+ int err;
1423
+
1424
+ js_env_t *env;
1425
+ err = js_get_typed_callback_info(info, &env, NULL);
1426
+ assert(err == 0);
1427
+
1428
+ uint8_t *buf;
1429
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
1430
+ if (err != 0) return err;
1431
+
1432
+ bare_buffer__swap16(buf, len);
1433
+
1434
+ return 0;
1435
+ }
1436
+
1437
+ static js_value_t *
1438
+ bare_buffer_swap16(js_env_t *env, js_callback_info_t *info) {
1439
+ int err;
1440
+
1441
+ size_t argc = 3;
1442
+ js_value_t *argv[3];
1443
+
1444
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1445
+ assert(err == 0);
1446
+
1447
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
1448
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1449
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1450
+
1451
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
1452
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
1453
+
1454
+ uint8_t *buf;
1455
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
1456
+
1457
+ if (err == 0) bare_buffer__swap16(buf, len);
1458
+
1459
+ int32_t swapped = err;
1460
+
1461
+ js_value_t *result;
1462
+ err = js_create_int32(env, swapped, &result);
1463
+ assert(err == 0);
1464
+
1465
+ return result;
1466
+ }
1467
+
1468
+ static int32_t
1469
+ bare_buffer_typed_swap32(
1470
+ js_value_t *receiver,
1471
+ js_value_t *handle,
1472
+ int64_t offset,
1473
+ int64_t len,
1474
+ js_typed_callback_info_t *info
1475
+ ) {
1476
+ int err;
1477
+
1478
+ js_env_t *env;
1479
+ err = js_get_typed_callback_info(info, &env, NULL);
1480
+ assert(err == 0);
1481
+
1482
+ uint8_t *buf;
1483
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
1484
+ if (err != 0) return err;
1485
+
1486
+ bare_buffer__swap32(buf, len);
1487
+
1488
+ return 0;
1489
+ }
1490
+
1491
+ static js_value_t *
1492
+ bare_buffer_swap32(js_env_t *env, js_callback_info_t *info) {
1493
+ int err;
1494
+
1495
+ size_t argc = 3;
1496
+ js_value_t *argv[3];
1497
+
1498
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1499
+ assert(err == 0);
1500
+
1501
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
1502
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1503
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1504
+
1505
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
1506
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
1507
+
1508
+ uint8_t *buf;
1509
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
1510
+
1511
+ if (err == 0) bare_buffer__swap32(buf, len);
1512
+
1513
+ int32_t swapped = err;
1514
+
1515
+ js_value_t *result;
1516
+ err = js_create_int32(env, swapped, &result);
1517
+ assert(err == 0);
1518
+
1519
+ return result;
1520
+ }
1521
+
1522
+ static int32_t
1523
+ bare_buffer_typed_swap64(
1524
+ js_value_t *receiver,
1525
+ js_value_t *handle,
1526
+ int64_t offset,
1527
+ int64_t len,
1528
+ js_typed_callback_info_t *info
1529
+ ) {
1530
+ int err;
1531
+
1532
+ js_env_t *env;
1533
+ err = js_get_typed_callback_info(info, &env, NULL);
1534
+ assert(err == 0);
1535
+
1536
+ uint8_t *buf;
1537
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
1538
+ if (err != 0) return err;
1539
+
1540
+ bare_buffer__swap64(buf, len);
1541
+
1542
+ return 0;
1543
+ }
1544
+
1545
+ static js_value_t *
1546
+ bare_buffer_swap64(js_env_t *env, js_callback_info_t *info) {
1547
+ int err;
1548
+
1549
+ size_t argc = 3;
1550
+ js_value_t *argv[3];
1551
+
1552
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1553
+ assert(err == 0);
1554
+
1555
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
1556
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1557
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1558
+
1559
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
1560
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
1561
+
1562
+ uint8_t *buf;
1563
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
1564
+
1565
+ if (err == 0) bare_buffer__swap64(buf, len);
1566
+
1567
+ int32_t swapped = err;
1568
+
1569
+ js_value_t *result;
1570
+ err = js_create_int32(env, swapped, &result);
1571
+ assert(err == 0);
1572
+
1573
+ return result;
1574
+ }
1575
+
1576
+ static int64_t
1577
+ bare_buffer_typed_index_of(
1578
+ js_value_t *receiver,
1579
+ js_value_t *handle,
1580
+ int64_t offset,
1581
+ int64_t len,
1582
+ js_value_t *needle_handle,
1583
+ int64_t needle_offset,
1584
+ int64_t needle_len,
1585
+ int64_t from,
1586
+ js_typed_callback_info_t *info
1587
+ ) {
1588
+ int err;
1589
+
1590
+ js_env_t *env;
1591
+ err = js_get_typed_callback_info(info, &env, NULL);
1592
+ assert(err == 0);
1593
+
1594
+ if (!bare_buffer__is_buffer(env, handle)) return BARE_BUFFER_INVALID_BUFFER;
1595
+ if (!bare_buffer__is_buffer(env, needle_handle)) return BARE_BUFFER_INVALID_BUFFER;
1596
+
1597
+ uint8_t *buf;
1598
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
1599
+ if (err != 0) return err;
1600
+
1601
+ uint8_t *needle;
1602
+ err = bare_buffer__slice(env, needle_handle, needle_offset, needle_len, (void **) &needle);
1603
+ if (err != 0) return err;
1604
+
1605
+ return bare_buffer__index_of(buf, len, needle, needle_len, from);
1606
+ }
1607
+
1608
+ static js_value_t *
1609
+ bare_buffer_index_of(js_env_t *env, js_callback_info_t *info) {
1610
+ int err;
1611
+
1612
+ size_t argc = 7;
1613
+ js_value_t *argv[7];
1614
+
1615
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1616
+ assert(err == 0);
1617
+
1618
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
1619
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1620
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1621
+
1622
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
1623
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
1624
+
1625
+ if (!bare_buffer__check_buffer(env, argv[3])) return NULL;
1626
+ if (!bare_buffer__check_number(env, argv[4], "Offset must be a number")) return NULL;
1627
+ if (!bare_buffer__check_number(env, argv[5], "Length must be a number")) return NULL;
1628
+ if (!bare_buffer__check_number(env, argv[6], "Start must be a number")) return NULL;
1629
+
1630
+ int64_t needle_offset = bare_buffer__to_int64(env, argv[4]);
1631
+ int64_t needle_len = bare_buffer__to_int64(env, argv[5]);
1632
+ int64_t from = bare_buffer__to_int64(env, argv[6]);
1633
+
1634
+ uint8_t *buf;
1635
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
1636
+
1637
+ int64_t at = err;
1638
+
1639
+ if (err == 0) {
1640
+ uint8_t *needle;
1641
+ err = bare_buffer__slice(env, argv[3], needle_offset, needle_len, (void **) &needle);
1642
+
1643
+ at = err == 0 ? bare_buffer__index_of(buf, len, needle, needle_len, from) : err;
1644
+ }
1645
+
1646
+ js_value_t *result;
1647
+ err = js_create_int64(env, at, &result);
1648
+ assert(err == 0);
1649
+
1650
+ return result;
1651
+ }
1652
+
1653
+ static int64_t
1654
+ bare_buffer_typed_last_index_of(
1655
+ js_value_t *receiver,
1656
+ js_value_t *handle,
1657
+ int64_t offset,
1658
+ int64_t len,
1659
+ js_value_t *needle_handle,
1660
+ int64_t needle_offset,
1661
+ int64_t needle_len,
1662
+ int64_t from,
1663
+ js_typed_callback_info_t *info
1664
+ ) {
1665
+ int err;
1666
+
1667
+ js_env_t *env;
1668
+ err = js_get_typed_callback_info(info, &env, NULL);
1669
+ assert(err == 0);
1670
+
1671
+ if (!bare_buffer__is_buffer(env, handle)) return BARE_BUFFER_INVALID_BUFFER;
1672
+ if (!bare_buffer__is_buffer(env, needle_handle)) return BARE_BUFFER_INVALID_BUFFER;
1673
+
1674
+ uint8_t *buf;
1675
+ err = bare_buffer__slice(env, handle, offset, len, (void **) &buf);
1676
+ if (err != 0) return err;
1677
+
1678
+ uint8_t *needle;
1679
+ err = bare_buffer__slice(env, needle_handle, needle_offset, needle_len, (void **) &needle);
1680
+ if (err != 0) return err;
1681
+
1682
+ return bare_buffer__last_index_of(buf, len, needle, needle_len, from);
1683
+ }
1684
+
1685
+ static js_value_t *
1686
+ bare_buffer_last_index_of(js_env_t *env, js_callback_info_t *info) {
1687
+ int err;
1688
+
1689
+ size_t argc = 7;
1690
+ js_value_t *argv[7];
1691
+
1692
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
1693
+ assert(err == 0);
1694
+
1695
+ if (!bare_buffer__check_buffer(env, argv[0])) return NULL;
1696
+ if (!bare_buffer__check_number(env, argv[1], "Offset must be a number")) return NULL;
1697
+ if (!bare_buffer__check_number(env, argv[2], "Length must be a number")) return NULL;
1698
+
1699
+ int64_t offset = bare_buffer__to_int64(env, argv[1]);
1700
+ int64_t len = bare_buffer__to_int64(env, argv[2]);
1701
+
1702
+ if (!bare_buffer__check_buffer(env, argv[3])) return NULL;
1703
+ if (!bare_buffer__check_number(env, argv[4], "Offset must be a number")) return NULL;
1704
+ if (!bare_buffer__check_number(env, argv[5], "Length must be a number")) return NULL;
1705
+ if (!bare_buffer__check_number(env, argv[6], "Start must be a number")) return NULL;
1706
+
1707
+ int64_t needle_offset = bare_buffer__to_int64(env, argv[4]);
1708
+ int64_t needle_len = bare_buffer__to_int64(env, argv[5]);
1709
+ int64_t from = bare_buffer__to_int64(env, argv[6]);
1710
+
1711
+ uint8_t *buf;
1712
+ err = bare_buffer__slice(env, argv[0], offset, len, (void **) &buf);
1713
+
1714
+ int64_t at = err;
1715
+
1716
+ if (err == 0) {
1717
+ uint8_t *needle;
1718
+ err = bare_buffer__slice(env, argv[3], needle_offset, needle_len, (void **) &needle);
1719
+
1720
+ at = err == 0 ? bare_buffer__last_index_of(buf, len, needle, needle_len, from) : err;
1721
+ }
1722
+
1723
+ js_value_t *result;
1724
+ err = js_create_int64(env, at, &result);
1725
+ assert(err == 0);
1726
+
1727
+ return result;
1728
+ }
1729
+
1730
+ static js_value_t *
1731
+ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
1732
+ int err;
1733
+
1734
+ js_value_t *constants;
1735
+ err = js_create_object(env, &constants);
1736
+ assert(err == 0);
1737
+
1738
+ err = js_set_named_property(env, exports, "constants", constants);
1739
+ assert(err == 0);
1740
+
1741
+ bare_buffer__read_limits(env);
1742
+
1743
+ #define V(name, value) \
1744
+ { \
1745
+ js_value_t *val; \
1746
+ err = js_create_int64(env, value, &val); \
1747
+ assert(err == 0); \
1748
+ err = js_set_named_property(env, constants, name, val); \
1749
+ assert(err == 0); \
1750
+ }
1751
+
1752
+ V("MAX_LENGTH", bare_buffer__arraybuffer_limit());
1753
+ V("MAX_STRING_LENGTH", bare_buffer__string_limit());
1754
+ #undef V
1755
+
1756
+ #define V(name, untyped, signature, typed) \
1757
+ { \
1758
+ js_value_t *val; \
1759
+ if (signature) { \
1760
+ err = js_create_typed_function(env, name, -1, untyped, signature, typed, NULL, &val); \
1761
+ assert(err == 0); \
1762
+ } else { \
1763
+ err = js_create_function(env, name, -1, untyped, NULL, &val); \
1764
+ assert(err == 0); \
1765
+ } \
1766
+ err = js_set_named_property(env, exports, name, val); \
1767
+ assert(err == 0); \
1768
+ }
1769
+
1770
+ V("alloc", bare_buffer_alloc, NULL, NULL);
1771
+
1772
+ V("allocUnsafe", bare_buffer_alloc_unsafe, NULL, NULL);
1773
+
1774
+ V(
1775
+ "byteLengthUTF8",
1776
+ bare_buffer_byte_length_utf8,
1777
+ &((js_callback_signature_t){
1778
+ .version = 0,
1779
+ .result = js_int64,
1780
+ .args_len = 2,
1781
+ .args = (int[]){
1782
+ js_object,
1783
+ js_string,
1784
+ }
1785
+ }),
1786
+ bare_buffer_typed_byte_length_utf8
1787
+ );
1788
+
1789
+ V("toStringUTF8", bare_buffer_to_string_utf8, NULL, NULL);
1790
+
1791
+ V(
1792
+ "validateUTF8",
1793
+ bare_buffer_validate_utf8,
1794
+ &((js_callback_signature_t){
1795
+ .version = 0,
1796
+ .result = js_int32,
1797
+ .args_len = 4,
1798
+ .args = (int[]){
1799
+ js_object,
1800
+ js_object,
1801
+ js_int64,
1802
+ js_int64,
1803
+ }
1804
+ }),
1805
+ bare_buffer_typed_validate_utf8
1806
+ );
1807
+
1808
+ V(
1809
+ "writeUTF8",
1810
+ bare_buffer_write_utf8,
1811
+ &((js_callback_signature_t){
1812
+ .version = 0,
1813
+ .result = js_int64,
1814
+ .args_len = 5,
1815
+ .args = (int[]){
1816
+ js_object,
1817
+ js_object,
1818
+ js_int64,
1819
+ js_int64,
1820
+ js_string,
1821
+ }
1822
+ }),
1823
+ bare_buffer_typed_write_utf8
1824
+ );
1825
+
1826
+ V("toStringUTF16LE", bare_buffer_to_string_utf16le, NULL, NULL);
1827
+
1828
+ V(
1829
+ "writeUTF16LE",
1830
+ bare_buffer_write_utf16le,
1831
+ &((js_callback_signature_t){
1832
+ .version = 0,
1833
+ .result = js_int64,
1834
+ .args_len = 5,
1835
+ .args = (int[]){
1836
+ js_object,
1837
+ js_object,
1838
+ js_int64,
1839
+ js_int64,
1840
+ js_string,
1841
+ }
1842
+ }),
1843
+ bare_buffer_typed_write_utf16le
1844
+ );
1845
+
1846
+ V("toStringLatin1", bare_buffer_to_string_latin1, NULL, NULL);
1847
+
1848
+ V(
1849
+ "writeLatin1",
1850
+ bare_buffer_write_latin1,
1851
+ &((js_callback_signature_t){
1852
+ .version = 0,
1853
+ .result = js_int64,
1854
+ .args_len = 5,
1855
+ .args = (int[]){
1856
+ js_object,
1857
+ js_object,
1858
+ js_int64,
1859
+ js_int64,
1860
+ js_string,
1861
+ }
1862
+ }),
1863
+ bare_buffer_typed_write_latin1
1864
+ );
1865
+
1866
+ V("toStringBase64", bare_buffer_to_string_base64, NULL, NULL);
1867
+ V("toStringBase64URL", bare_buffer_to_string_base64url, NULL, NULL);
1868
+
1869
+ V(
1870
+ "writeBase64",
1871
+ bare_buffer_write_base64,
1872
+ &((js_callback_signature_t){
1873
+ .version = 0,
1874
+ .result = js_int64,
1875
+ .args_len = 5,
1876
+ .args = (int[]){
1877
+ js_object,
1878
+ js_object,
1879
+ js_int64,
1880
+ js_int64,
1881
+ js_string,
1882
+ }
1883
+ }),
1884
+ bare_buffer_typed_write_base64
1885
+ );
1886
+
1887
+ V("toStringHex", bare_buffer_to_string_hex, NULL, NULL);
1888
+
1889
+ V(
1890
+ "writeHex",
1891
+ bare_buffer_write_hex,
1892
+ &((js_callback_signature_t){
1893
+ .version = 0,
1894
+ .result = js_int64,
1895
+ .args_len = 5,
1896
+ .args = (int[]){
1897
+ js_object,
1898
+ js_object,
1899
+ js_int64,
1900
+ js_int64,
1901
+ js_string,
1902
+ }
1903
+ }),
1904
+ bare_buffer_typed_write_hex
1905
+ );
1906
+
1907
+ V(
1908
+ "validateAscii",
1909
+ bare_buffer_validate_ascii,
1910
+ &((js_callback_signature_t){
1911
+ .version = 0,
1912
+ .result = js_int32,
1913
+ .args_len = 4,
1914
+ .args = (int[]){
1915
+ js_object,
1916
+ js_object,
1917
+ js_int64,
1918
+ js_int64,
1919
+ }
1920
+ }),
1921
+ bare_buffer_typed_validate_ascii
1922
+ );
1923
+
1924
+ V(
1925
+ "swap16",
1926
+ bare_buffer_swap16,
1927
+ &((js_callback_signature_t){
1928
+ .version = 0,
1929
+ .result = js_int32,
1930
+ .args_len = 4,
1931
+ .args = (int[]){
1932
+ js_object,
1933
+ js_object,
1934
+ js_int64,
1935
+ js_int64,
1936
+ }
1937
+ }),
1938
+ bare_buffer_typed_swap16
1939
+ );
1940
+
1941
+ V(
1942
+ "swap32",
1943
+ bare_buffer_swap32,
1944
+ &((js_callback_signature_t){
1945
+ .version = 0,
1946
+ .result = js_int32,
1947
+ .args_len = 4,
1948
+ .args = (int[]){
1949
+ js_object,
1950
+ js_object,
1951
+ js_int64,
1952
+ js_int64,
1953
+ }
1954
+ }),
1955
+ bare_buffer_typed_swap32
1956
+ );
1957
+
1958
+ V(
1959
+ "swap64",
1960
+ bare_buffer_swap64,
1961
+ &((js_callback_signature_t){
1962
+ .version = 0,
1963
+ .result = js_int32,
1964
+ .args_len = 4,
1965
+ .args = (int[]){
1966
+ js_object,
1967
+ js_object,
1968
+ js_int64,
1969
+ js_int64,
1970
+ }
1971
+ }),
1972
+ bare_buffer_typed_swap64
1973
+ );
1974
+
1975
+ V(
1976
+ "indexOf",
1977
+ bare_buffer_index_of,
1978
+ &((js_callback_signature_t){
1979
+ .version = 0,
1980
+ .result = js_int64,
1981
+ .args_len = 8,
1982
+ .args = (int[]){
1983
+ js_object,
1984
+ js_object,
1985
+ js_int64,
1986
+ js_int64,
1987
+ js_object,
1988
+ js_int64,
1989
+ js_int64,
1990
+ js_int64,
1991
+ }
1992
+ }),
1993
+ bare_buffer_typed_index_of
1994
+ );
1995
+
1996
+ V(
1997
+ "lastIndexOf",
1998
+ bare_buffer_last_index_of,
1999
+ &((js_callback_signature_t){
2000
+ .version = 0,
2001
+ .result = js_int64,
2002
+ .args_len = 8,
2003
+ .args = (int[]){
2004
+ js_object,
2005
+ js_object,
2006
+ js_int64,
2007
+ js_int64,
2008
+ js_object,
2009
+ js_int64,
2010
+ js_int64,
2011
+ js_int64,
2012
+ }
2013
+ }),
2014
+ bare_buffer_typed_last_index_of
2015
+ );
2016
+
2017
+ V(
2018
+ "compare",
2019
+ bare_buffer_compare,
2020
+ &((js_callback_signature_t){
2021
+ .version = 0,
2022
+ .result = js_int32,
2023
+ .args_len = 7,
2024
+ .args = (int[]){
2025
+ js_object,
2026
+ js_object,
2027
+ js_int64,
2028
+ js_int64,
2029
+ js_object,
2030
+ js_int64,
2031
+ js_int64,
2032
+ }
2033
+ }),
2034
+ bare_buffer_typed_compare
2035
+ );
2036
+ #undef V
2037
+
2038
+ return exports;
2039
+ }
2040
+
2041
+ BARE_MODULE(bare_buffer, bare_buffer_exports)