@corellium/corellium-cli 1.0.3 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (490) hide show
  1. package/README.md +5 -17
  2. package/docs/OVERVIEW.md +1 -1
  3. package/jenkinsbuild/build.sh +1 -1
  4. package/package.json +3 -3
  5. package/src/TrialAccount.js +76 -0
  6. package/src/commands/Client.js +2 -2
  7. package/src/commands/agent/Agent.js +10 -19
  8. package/src/commands/agent/apps.js +2 -1
  9. package/src/commands/agent/file.js +2 -1
  10. package/src/commands/agent/index.js +1 -0
  11. package/src/commands/agent/ready.js +43 -0
  12. package/src/commands/extensions/delete.js +2 -1
  13. package/src/commands/extensions/list.js +2 -1
  14. package/src/commands/extensions/load.js +2 -1
  15. package/src/commands/extensions/validate.js +2 -1
  16. package/src/commands/firmware/list.js +2 -1
  17. package/src/commands/firmware/load.js +2 -1
  18. package/src/commands/images/create.js +2 -1
  19. package/src/commands/images/delete.js +2 -1
  20. package/src/commands/images/list.js +2 -1
  21. package/src/commands/instances/Instance.js +27 -0
  22. package/src/commands/instances/create.js +11 -4
  23. package/src/commands/instances/delete.js +20 -5
  24. package/src/commands/instances/index.js +2 -1
  25. package/src/commands/instances/list.js +11 -5
  26. package/src/commands/instances/start.js +2 -1
  27. package/src/commands/instances/stop.js +2 -1
  28. package/src/commands/instances/upgrade.js +90 -0
  29. package/src/commands/login.js +14 -2
  30. package/src/commands/logout.js +2 -1
  31. package/src/commands/projects/create.js +2 -1
  32. package/src/commands/projects/delete.js +2 -1
  33. package/src/commands/projects/list.js +2 -1
  34. package/src/commands/signup.js +14 -5
  35. package/src/commands/webplayer/WebPlayer.js +2 -1
  36. package/src/commands/webplayer/create.js +8 -1
  37. package/src/commands/webplayer/destroy.js +2 -1
  38. package/src/commands/webplayer/list.js +19 -17
  39. package/src/commands/webplayer/login.js +2 -1
  40. package/src/error.js +14 -1
  41. package/src/logging.js +1 -1
  42. package/src/profile.js +12 -9
  43. package/src/resumable.js +1314 -0
  44. package/src/table.js +7 -2
  45. package/src/upload.js +64 -2
  46. package/src/utils.js +11 -4
  47. package/test/test.js +89 -0
  48. package/example/WebPlayerSample.js +0 -263
  49. package/node_modules/@corellium/corellium-api/README.md +0 -1210
  50. package/node_modules/@corellium/corellium-api/node_modules/form-data/License +0 -19
  51. package/node_modules/@corellium/corellium-api/node_modules/form-data/README.md.bak +0 -356
  52. package/node_modules/@corellium/corellium-api/node_modules/form-data/Readme.md +0 -356
  53. package/node_modules/@corellium/corellium-api/node_modules/form-data/index.d.ts +0 -62
  54. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/browser.js +0 -2
  55. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/form_data.js +0 -498
  56. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/populate.js +0 -10
  57. package/node_modules/@corellium/corellium-api/node_modules/form-data/package.json +0 -104
  58. package/node_modules/@corellium/corellium-api/node_modules/uuid/AUTHORS +0 -5
  59. package/node_modules/@corellium/corellium-api/node_modules/uuid/CHANGELOG.md +0 -119
  60. package/node_modules/@corellium/corellium-api/node_modules/uuid/LICENSE.md +0 -21
  61. package/node_modules/@corellium/corellium-api/node_modules/uuid/README.md +0 -276
  62. package/node_modules/@corellium/corellium-api/node_modules/uuid/bin/uuid +0 -65
  63. package/node_modules/@corellium/corellium-api/node_modules/uuid/index.js +0 -8
  64. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/bytesToUuid.js +0 -26
  65. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5-browser.js +0 -216
  66. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5.js +0 -25
  67. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng-browser.js +0 -34
  68. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng.js +0 -8
  69. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1-browser.js +0 -89
  70. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1.js +0 -25
  71. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/v35.js +0 -57
  72. package/node_modules/@corellium/corellium-api/node_modules/uuid/package.json +0 -103
  73. package/node_modules/@corellium/corellium-api/node_modules/uuid/v1.js +0 -109
  74. package/node_modules/@corellium/corellium-api/node_modules/uuid/v3.js +0 -4
  75. package/node_modules/@corellium/corellium-api/node_modules/uuid/v4.js +0 -29
  76. package/node_modules/@corellium/corellium-api/node_modules/uuid/v5.js +0 -3
  77. package/node_modules/@corellium/corellium-api/package.json +0 -106
  78. package/node_modules/@corellium/corellium-api/resumable.js +0 -1312
  79. package/node_modules/@corellium/corellium-api/src/agent.js +0 -962
  80. package/node_modules/@corellium/corellium-api/src/corellium.js +0 -444
  81. package/node_modules/@corellium/corellium-api/src/images.js +0 -131
  82. package/node_modules/@corellium/corellium-api/src/input.js +0 -178
  83. package/node_modules/@corellium/corellium-api/src/instance-updater.js +0 -56
  84. package/node_modules/@corellium/corellium-api/src/instance.js +0 -1031
  85. package/node_modules/@corellium/corellium-api/src/netmon.js +0 -308
  86. package/node_modules/@corellium/corellium-api/src/project.js +0 -393
  87. package/node_modules/@corellium/corellium-api/src/role.js +0 -65
  88. package/node_modules/@corellium/corellium-api/src/snapshot.js +0 -77
  89. package/node_modules/@corellium/corellium-api/src/team.js +0 -29
  90. package/node_modules/@corellium/corellium-api/src/user.js +0 -51
  91. package/node_modules/@corellium/corellium-api/src/util/fetch.js +0 -62
  92. package/node_modules/@corellium/corellium-api/src/util/sleep.js +0 -7
  93. package/node_modules/@corellium/corellium-api/test/integration-tests.js +0 -1292
  94. package/node_modules/@corellium/corellium-api/test/root-hook-set-flag-if-test-failed.js +0 -7
  95. package/node_modules/async-limiter/.eslintignore +0 -2
  96. package/node_modules/async-limiter/.nycrc +0 -10
  97. package/node_modules/async-limiter/.travis.yml +0 -9
  98. package/node_modules/async-limiter/LICENSE +0 -8
  99. package/node_modules/async-limiter/index.js +0 -67
  100. package/node_modules/async-limiter/package.json +0 -72
  101. package/node_modules/async-limiter/readme.md +0 -132
  102. package/node_modules/buffer-crc32/LICENSE +0 -19
  103. package/node_modules/buffer-crc32/README.md +0 -47
  104. package/node_modules/buffer-crc32/index.js +0 -111
  105. package/node_modules/buffer-crc32/package.json +0 -72
  106. package/node_modules/cross-fetch/LICENSE +0 -21
  107. package/node_modules/cross-fetch/README.md +0 -169
  108. package/node_modules/cross-fetch/dist/browser-polyfill.js +0 -532
  109. package/node_modules/cross-fetch/dist/browser-ponyfill.js +0 -554
  110. package/node_modules/cross-fetch/dist/cross-fetch.js +0 -2
  111. package/node_modules/cross-fetch/dist/cross-fetch.js.map +0 -1
  112. package/node_modules/cross-fetch/dist/node-polyfill.js +0 -11
  113. package/node_modules/cross-fetch/dist/node-ponyfill.js +0 -22
  114. package/node_modules/cross-fetch/dist/react-native-polyfill.js +0 -12
  115. package/node_modules/cross-fetch/dist/react-native-ponyfill.js +0 -6
  116. package/node_modules/cross-fetch/index.d.ts +0 -14
  117. package/node_modules/cross-fetch/package.json +0 -160
  118. package/node_modules/cross-fetch/polyfill/package.json +0 -8
  119. package/node_modules/duplexify/.travis.yml +0 -6
  120. package/node_modules/duplexify/LICENSE +0 -21
  121. package/node_modules/duplexify/README.md +0 -97
  122. package/node_modules/duplexify/example.js +0 -21
  123. package/node_modules/duplexify/index.js +0 -234
  124. package/node_modules/duplexify/package.json +0 -69
  125. package/node_modules/duplexify/test.js +0 -295
  126. package/node_modules/end-of-stream/LICENSE +0 -21
  127. package/node_modules/end-of-stream/README.md +0 -54
  128. package/node_modules/end-of-stream/index.js +0 -94
  129. package/node_modules/end-of-stream/package.json +0 -69
  130. package/node_modules/fast-stable-stringify/.npmignore +0 -4
  131. package/node_modules/fast-stable-stringify/.travis.yml +0 -10
  132. package/node_modules/fast-stable-stringify/LICENSE +0 -21
  133. package/node_modules/fast-stable-stringify/README.md +0 -81
  134. package/node_modules/fast-stable-stringify/cli/files-to-comparison-results.js +0 -67
  135. package/node_modules/fast-stable-stringify/cli/format-table.js +0 -70
  136. package/node_modules/fast-stable-stringify/cli/index.js +0 -19
  137. package/node_modules/fast-stable-stringify/fixtures/index.js +0 -5
  138. package/node_modules/fast-stable-stringify/fixtures/input-data-types.js +0 -191
  139. package/node_modules/fast-stable-stringify/fixtures/log-result.json +0 -22
  140. package/node_modules/fast-stable-stringify/fixtures/log.txt +0 -24
  141. package/node_modules/fast-stable-stringify/index.js +0 -73
  142. package/node_modules/fast-stable-stringify/karma.conf.js +0 -124
  143. package/node_modules/fast-stable-stringify/karma.conf.travis.js +0 -95
  144. package/node_modules/fast-stable-stringify/package.json +0 -77
  145. package/node_modules/fast-stable-stringify/results/escape-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  146. package/node_modules/fast-stable-stringify/results/escape-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  147. package/node_modules/fast-stable-stringify/results/escape-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  148. package/node_modules/fast-stable-stringify/results/escape-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  149. package/node_modules/fast-stable-stringify/results/escape-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  150. package/node_modules/fast-stable-stringify/results/escape-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  151. package/node_modules/fast-stable-stringify/results/escape-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  152. package/node_modules/fast-stable-stringify/results/escape-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  153. package/node_modules/fast-stable-stringify/results/escape-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  154. package/node_modules/fast-stable-stringify/results/escape-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  155. package/node_modules/fast-stable-stringify/results/escape-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  156. package/node_modules/fast-stable-stringify/results/escape-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  157. package/node_modules/fast-stable-stringify/results/escape-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  158. package/node_modules/fast-stable-stringify/results/escape-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  159. package/node_modules/fast-stable-stringify/results/escape-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  160. package/node_modules/fast-stable-stringify/results/escape-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  161. package/node_modules/fast-stable-stringify/results/escape-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  162. package/node_modules/fast-stable-stringify/results/escape-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  163. package/node_modules/fast-stable-stringify/results/escape.md +0 -20
  164. package/node_modules/fast-stable-stringify/results/itar-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  165. package/node_modules/fast-stable-stringify/results/itar-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  166. package/node_modules/fast-stable-stringify/results/itar-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  167. package/node_modules/fast-stable-stringify/results/itar-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  168. package/node_modules/fast-stable-stringify/results/itar-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  169. package/node_modules/fast-stable-stringify/results/itar-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  170. package/node_modules/fast-stable-stringify/results/itar-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  171. package/node_modules/fast-stable-stringify/results/itar-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  172. package/node_modules/fast-stable-stringify/results/itar-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  173. package/node_modules/fast-stable-stringify/results/itar-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  174. package/node_modules/fast-stable-stringify/results/itar-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  175. package/node_modules/fast-stable-stringify/results/itar-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  176. package/node_modules/fast-stable-stringify/results/itar-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  177. package/node_modules/fast-stable-stringify/results/itar-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  178. package/node_modules/fast-stable-stringify/results/itar-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  179. package/node_modules/fast-stable-stringify/results/itar-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  180. package/node_modules/fast-stable-stringify/results/itar-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  181. package/node_modules/fast-stable-stringify/results/itar-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  182. package/node_modules/fast-stable-stringify/results/itar.md +0 -20
  183. package/node_modules/fast-stable-stringify/results/iter/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  184. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 39.0.0 (Android 5.1.1).json +0 -35
  185. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  186. package/node_modules/fast-stable-stringify/results/iter/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  187. package/node_modules/fast-stable-stringify/results/iter/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  188. package/node_modules/fast-stable-stringify/results/iter/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  189. package/node_modules/fast-stable-stringify/results/iter/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  190. package/node_modules/fast-stable-stringify/results/iter/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  191. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  192. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 9.0.0 (iOS 9.2.0).json +0 -35
  193. package/node_modules/fast-stable-stringify/results/iter/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  194. package/node_modules/fast-stable-stringify/results/iter/Safari 9.1.2 (Mac OS X 10.11.6).json +0 -35
  195. package/node_modules/fast-stable-stringify/results/iter.md +0 -14
  196. package/node_modules/fast-stable-stringify/results/libs/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -46
  197. package/node_modules/fast-stable-stringify/results/libs/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -46
  198. package/node_modules/fast-stable-stringify/results/libs/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -46
  199. package/node_modules/fast-stable-stringify/results/libs/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -46
  200. package/node_modules/fast-stable-stringify/results/libs/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  201. package/node_modules/fast-stable-stringify/results/libs/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  202. package/node_modules/fast-stable-stringify/results/libs/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  203. package/node_modules/fast-stable-stringify/results/libs/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -46
  204. package/node_modules/fast-stable-stringify/results/libs/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -46
  205. package/node_modules/fast-stable-stringify/results/libs.md +0 -15
  206. package/node_modules/fast-stable-stringify/test/escape-long.js +0 -147
  207. package/node_modules/fast-stable-stringify/test/escape-short.js +0 -147
  208. package/node_modules/fast-stable-stringify/test/index.js +0 -6
  209. package/node_modules/fast-stable-stringify/test/itar-long.js +0 -52
  210. package/node_modules/fast-stable-stringify/test/itar-short.js +0 -52
  211. package/node_modules/fast-stable-stringify/test/iter.js +0 -84
  212. package/node_modules/fast-stable-stringify/test/libs.js +0 -57
  213. package/node_modules/fast-stable-stringify/test/travis.js +0 -43
  214. package/node_modules/fast-stable-stringify/test/validate.js +0 -24
  215. package/node_modules/fast-stable-stringify/util/eachRecursive.js +0 -9
  216. package/node_modules/fast-stable-stringify/util/get-git-hash-sync.js +0 -21
  217. package/node_modules/fast-stable-stringify/util/get-lib-info.js +0 -22
  218. package/node_modules/fast-stable-stringify/util/object-path.js +0 -47
  219. package/node_modules/fast-stable-stringify/v8-profile/bench.js +0 -8
  220. package/node_modules/fast-stable-stringify/v8-profile/run.sh +0 -2
  221. package/node_modules/fast-stable-stringify/zuul-local.sh +0 -2
  222. package/node_modules/hkdf/.npmignore +0 -2
  223. package/node_modules/hkdf/README.md +0 -23
  224. package/node_modules/hkdf/hkdf.py +0 -171
  225. package/node_modules/hkdf/hkdf.pyc +0 -0
  226. package/node_modules/hkdf/index.js +0 -1
  227. package/node_modules/hkdf/lib/hkdf.js +0 -55
  228. package/node_modules/hkdf/package.json +0 -55
  229. package/node_modules/hkdf/scripts/run_all_tests.sh +0 -19
  230. package/node_modules/hkdf/test/all-test.js +0 -79
  231. package/node_modules/hkdf/test.py +0 -11
  232. package/node_modules/immediate/LICENSE.txt +0 -20
  233. package/node_modules/immediate/README.md +0 -93
  234. package/node_modules/immediate/dist/immediate.js +0 -75
  235. package/node_modules/immediate/dist/immediate.min.js +0 -1
  236. package/node_modules/immediate/lib/browser.js +0 -69
  237. package/node_modules/immediate/lib/index.js +0 -73
  238. package/node_modules/immediate/package.json +0 -86
  239. package/node_modules/isarray/.npmignore +0 -1
  240. package/node_modules/isarray/.travis.yml +0 -4
  241. package/node_modules/isarray/Makefile +0 -6
  242. package/node_modules/isarray/README.md +0 -60
  243. package/node_modules/isarray/component.json +0 -19
  244. package/node_modules/isarray/index.js +0 -5
  245. package/node_modules/isarray/package.json +0 -77
  246. package/node_modules/isarray/test.js +0 -20
  247. package/node_modules/jszip/.codeclimate.yml +0 -16
  248. package/node_modules/jszip/.editorconfig +0 -8
  249. package/node_modules/jszip/.github/workflows/pr.yaml +0 -41
  250. package/node_modules/jszip/.jshintignore +0 -1
  251. package/node_modules/jszip/.jshintrc +0 -21
  252. package/node_modules/jszip/.travis.yml +0 -17
  253. package/node_modules/jszip/CHANGES.md +0 -192
  254. package/node_modules/jszip/LICENSE.markdown +0 -651
  255. package/node_modules/jszip/README.markdown +0 -33
  256. package/node_modules/jszip/dist/jszip.js +0 -11583
  257. package/node_modules/jszip/dist/jszip.min.js +0 -13
  258. package/node_modules/jszip/index.d.ts +0 -335
  259. package/node_modules/jszip/lib/base64.js +0 -106
  260. package/node_modules/jszip/lib/compressedObject.js +0 -74
  261. package/node_modules/jszip/lib/compressions.js +0 -14
  262. package/node_modules/jszip/lib/crc32.js +0 -77
  263. package/node_modules/jszip/lib/defaults.js +0 -11
  264. package/node_modules/jszip/lib/external.js +0 -19
  265. package/node_modules/jszip/lib/flate.js +0 -85
  266. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  267. package/node_modules/jszip/lib/generate/index.js +0 -57
  268. package/node_modules/jszip/lib/index.js +0 -55
  269. package/node_modules/jszip/lib/license_header.js +0 -11
  270. package/node_modules/jszip/lib/load.js +0 -88
  271. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  272. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  273. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  274. package/node_modules/jszip/lib/object.js +0 -389
  275. package/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  276. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  277. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  278. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  279. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  280. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  281. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  282. package/node_modules/jszip/lib/signature.js +0 -7
  283. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  284. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  285. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  286. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  287. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  288. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  289. package/node_modules/jszip/lib/support.js +0 -38
  290. package/node_modules/jszip/lib/utf8.js +0 -275
  291. package/node_modules/jszip/lib/utils.js +0 -501
  292. package/node_modules/jszip/lib/zipEntries.js +0 -262
  293. package/node_modules/jszip/lib/zipEntry.js +0 -294
  294. package/node_modules/jszip/lib/zipObject.js +0 -133
  295. package/node_modules/jszip/package.json +0 -99
  296. package/node_modules/jszip/tsconfig.json +0 -101
  297. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  298. package/node_modules/lie/README.md +0 -62
  299. package/node_modules/lie/dist/lie.js +0 -350
  300. package/node_modules/lie/dist/lie.min.js +0 -1
  301. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  302. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  303. package/node_modules/lie/lib/browser.js +0 -273
  304. package/node_modules/lie/lib/index.js +0 -298
  305. package/node_modules/lie/license.md +0 -7
  306. package/node_modules/lie/lie.d.ts +0 -244
  307. package/node_modules/lie/package.json +0 -98
  308. package/node_modules/lie/polyfill.js +0 -4
  309. package/node_modules/p-finally/index.js +0 -15
  310. package/node_modules/p-finally/license +0 -21
  311. package/node_modules/p-finally/package.json +0 -77
  312. package/node_modules/p-finally/readme.md +0 -47
  313. package/node_modules/p-retry/index.js +0 -52
  314. package/node_modules/p-retry/license +0 -9
  315. package/node_modules/p-retry/package.json +0 -83
  316. package/node_modules/p-retry/readme.md +0 -109
  317. package/node_modules/p-timeout/index.d.ts +0 -72
  318. package/node_modules/p-timeout/index.js +0 -57
  319. package/node_modules/p-timeout/license +0 -9
  320. package/node_modules/p-timeout/package.json +0 -80
  321. package/node_modules/p-timeout/readme.md +0 -87
  322. package/node_modules/pako/CHANGELOG.md +0 -164
  323. package/node_modules/pako/LICENSE +0 -21
  324. package/node_modules/pako/README.md +0 -191
  325. package/node_modules/pako/dist/pako.js +0 -6818
  326. package/node_modules/pako/dist/pako.min.js +0 -1
  327. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  328. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  329. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  330. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  331. package/node_modules/pako/index.js +0 -14
  332. package/node_modules/pako/lib/deflate.js +0 -400
  333. package/node_modules/pako/lib/inflate.js +0 -423
  334. package/node_modules/pako/lib/utils/common.js +0 -105
  335. package/node_modules/pako/lib/utils/strings.js +0 -187
  336. package/node_modules/pako/lib/zlib/README +0 -59
  337. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  338. package/node_modules/pako/lib/zlib/constants.js +0 -68
  339. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  340. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  341. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  342. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  343. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  344. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  345. package/node_modules/pako/lib/zlib/messages.js +0 -32
  346. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  347. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  348. package/node_modules/pako/package.json +0 -94
  349. package/node_modules/process-nextick-args/index.js +0 -45
  350. package/node_modules/process-nextick-args/license.md +0 -19
  351. package/node_modules/process-nextick-args/package.json +0 -53
  352. package/node_modules/process-nextick-args/readme.md +0 -18
  353. package/node_modules/readable-stream/.travis.yml +0 -34
  354. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  355. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  356. package/node_modules/readable-stream/LICENSE +0 -47
  357. package/node_modules/readable-stream/README.md +0 -58
  358. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  359. package/node_modules/readable-stream/duplex-browser.js +0 -1
  360. package/node_modules/readable-stream/duplex.js +0 -1
  361. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  362. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  363. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  364. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  365. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  366. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  367. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  368. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  369. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  370. package/node_modules/readable-stream/package.json +0 -86
  371. package/node_modules/readable-stream/passthrough.js +0 -1
  372. package/node_modules/readable-stream/readable-browser.js +0 -7
  373. package/node_modules/readable-stream/readable.js +0 -19
  374. package/node_modules/readable-stream/transform.js +0 -1
  375. package/node_modules/readable-stream/writable-browser.js +0 -1
  376. package/node_modules/readable-stream/writable.js +0 -8
  377. package/node_modules/retry/.npmignore +0 -3
  378. package/node_modules/retry/.travis.yml +0 -15
  379. package/node_modules/retry/License +0 -21
  380. package/node_modules/retry/Makefile +0 -18
  381. package/node_modules/retry/README.md +0 -227
  382. package/node_modules/retry/equation.gif +0 -0
  383. package/node_modules/retry/example/dns.js +0 -31
  384. package/node_modules/retry/example/stop.js +0 -40
  385. package/node_modules/retry/index.js +0 -1
  386. package/node_modules/retry/lib/retry.js +0 -100
  387. package/node_modules/retry/lib/retry_operation.js +0 -158
  388. package/node_modules/retry/package.json +0 -67
  389. package/node_modules/retry/test/common.js +0 -10
  390. package/node_modules/retry/test/integration/test-forever.js +0 -24
  391. package/node_modules/retry/test/integration/test-retry-operation.js +0 -258
  392. package/node_modules/retry/test/integration/test-retry-wrap.js +0 -101
  393. package/node_modules/retry/test/integration/test-timeouts.js +0 -69
  394. package/node_modules/setimmediate/LICENSE.txt +0 -20
  395. package/node_modules/setimmediate/package.json +0 -77
  396. package/node_modules/setimmediate/setImmediate.js +0 -186
  397. package/node_modules/split/.npmignore +0 -3
  398. package/node_modules/split/.travis.yml +0 -3
  399. package/node_modules/split/LICENCE +0 -22
  400. package/node_modules/split/examples/pretty.js +0 -26
  401. package/node_modules/split/index.js +0 -63
  402. package/node_modules/split/package.json +0 -65
  403. package/node_modules/split/readme.markdown +0 -72
  404. package/node_modules/split/test/options.asynct.js +0 -46
  405. package/node_modules/split/test/partitioned_unicode.js +0 -34
  406. package/node_modules/split/test/split.asynct.js +0 -137
  407. package/node_modules/split/test/try_catch.asynct.js +0 -51
  408. package/node_modules/stream-shift/.travis.yml +0 -6
  409. package/node_modules/stream-shift/LICENSE +0 -21
  410. package/node_modules/stream-shift/README.md +0 -25
  411. package/node_modules/stream-shift/index.js +0 -20
  412. package/node_modules/stream-shift/package.json +0 -56
  413. package/node_modules/stream-shift/test.js +0 -48
  414. package/node_modules/ultron/LICENSE +0 -22
  415. package/node_modules/ultron/README.md +0 -113
  416. package/node_modules/ultron/index.js +0 -136
  417. package/node_modules/ultron/package.json +0 -71
  418. package/node_modules/websocket-stream/LICENSE +0 -8
  419. package/node_modules/websocket-stream/collaborators.md +0 -11
  420. package/node_modules/websocket-stream/echo-server.js +0 -51
  421. package/node_modules/websocket-stream/index.d.ts +0 -27
  422. package/node_modules/websocket-stream/index.js +0 -6
  423. package/node_modules/websocket-stream/package.json +0 -82
  424. package/node_modules/websocket-stream/readme.md +0 -148
  425. package/node_modules/websocket-stream/server.js +0 -29
  426. package/node_modules/websocket-stream/stream.js +0 -189
  427. package/node_modules/websocket-stream/test-client.js +0 -74
  428. package/node_modules/websocket-stream/test-server.js +0 -56
  429. package/node_modules/websocket-stream/test.js +0 -338
  430. package/node_modules/websocket-stream/ts-tests.ts +0 -69
  431. package/node_modules/websocket-stream/ws-fallback.js +0 -12
  432. package/node_modules/ws/LICENSE +0 -21
  433. package/node_modules/ws/README.md +0 -341
  434. package/node_modules/ws/index.js +0 -15
  435. package/node_modules/ws/lib/.DS_Store +0 -0
  436. package/node_modules/ws/lib/BufferUtil.js +0 -71
  437. package/node_modules/ws/lib/Constants.js +0 -10
  438. package/node_modules/ws/lib/ErrorCodes.js +0 -28
  439. package/node_modules/ws/lib/EventTarget.js +0 -151
  440. package/node_modules/ws/lib/Extensions.js +0 -203
  441. package/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  442. package/node_modules/ws/lib/Receiver.js +0 -553
  443. package/node_modules/ws/lib/Sender.js +0 -412
  444. package/node_modules/ws/lib/Validation.js +0 -17
  445. package/node_modules/ws/lib/WebSocket.js +0 -717
  446. package/node_modules/ws/lib/WebSocketServer.js +0 -326
  447. package/node_modules/ws/package.json +0 -83
  448. package/node_modules/xhr2/CONTRIBUTING.md +0 -33
  449. package/node_modules/xhr2/Cakefile +0 -131
  450. package/node_modules/xhr2/LICENSE.txt +0 -19
  451. package/node_modules/xhr2/README.md +0 -142
  452. package/node_modules/xhr2/lib/browser.js +0 -1
  453. package/node_modules/xhr2/lib/xhr2.js +0 -1244
  454. package/node_modules/xhr2/package.json +0 -103
  455. package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
  456. package/node_modules/xhr2/src/001-xml_http_request.coffee +0 -781
  457. package/node_modules/xhr2/src/errors.coffee +0 -31
  458. package/node_modules/xhr2/src/progress_event.coffee +0 -39
  459. package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
  460. package/node_modules/xhr2/test/fixtures/hello.json +0 -1
  461. package/node_modules/xhr2/test/fixtures/hello.txt +0 -1
  462. package/node_modules/xhr2/test/fixtures/xhr2.png +0 -0
  463. package/node_modules/xhr2/test/html/browser_test.html +0 -30
  464. package/node_modules/xhr2/test/src/event_target_test.coffee +0 -85
  465. package/node_modules/xhr2/test/src/events_test.coffee +0 -204
  466. package/node_modules/xhr2/test/src/headers_test.coffee +0 -168
  467. package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
  468. package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +0 -1
  469. package/node_modules/xhr2/test/src/helpers/setup.coffee +0 -38
  470. package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +0 -156
  471. package/node_modules/xhr2/test/src/nodejs_set_test.coffee +0 -162
  472. package/node_modules/xhr2/test/src/redirect_test.coffee +0 -57
  473. package/node_modules/xhr2/test/src/response_type_test.coffee +0 -88
  474. package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
  475. package/node_modules/xhr2/test/src/send_test.coffee +0 -89
  476. package/node_modules/xhr2/test/src/status_test.coffee +0 -47
  477. package/node_modules/xhr2/test/src/xhr_test.coffee +0 -102
  478. package/node_modules/xtend/.jshintrc +0 -30
  479. package/node_modules/xtend/LICENSE +0 -20
  480. package/node_modules/xtend/README.md +0 -32
  481. package/node_modules/xtend/immutable.js +0 -19
  482. package/node_modules/xtend/mutable.js +0 -17
  483. package/node_modules/xtend/package.json +0 -89
  484. package/node_modules/xtend/test.js +0 -103
  485. package/node_modules/yazl/LICENSE +0 -21
  486. package/node_modules/yazl/README.md +0 -389
  487. package/node_modules/yazl/index.js +0 -749
  488. package/node_modules/yazl/package.json +0 -69
  489. package/src/commands/CorelliumAPI.js +0 -76
  490. package/src/subscriberInvite.js +0 -140
@@ -1,749 +0,0 @@
1
- var fs = require("fs");
2
- var Transform = require("stream").Transform;
3
- var PassThrough = require("stream").PassThrough;
4
- var zlib = require("zlib");
5
- var util = require("util");
6
- var EventEmitter = require("events").EventEmitter;
7
- var crc32 = require("buffer-crc32");
8
-
9
- exports.ZipFile = ZipFile;
10
- exports.dateToDosDateTime = dateToDosDateTime;
11
-
12
- util.inherits(ZipFile, EventEmitter);
13
- function ZipFile() {
14
- this.outputStream = new PassThrough();
15
- this.entries = [];
16
- this.outputStreamCursor = 0;
17
- this.ended = false; // .end() sets this
18
- this.allDone = false; // set when we've written the last bytes
19
- this.forceZip64Eocd = false; // configurable in .end()
20
- }
21
-
22
- ZipFile.prototype.addFile = function(realPath, metadataPath, options) {
23
- var self = this;
24
- metadataPath = validateMetadataPath(metadataPath, false);
25
- if (options == null) options = {};
26
-
27
- var entry = new Entry(metadataPath, false, options);
28
- self.entries.push(entry);
29
- fs.stat(realPath, function(err, stats) {
30
- if (err) return self.emit("error", err);
31
- if (!stats.isFile()) return self.emit("error", new Error("not a file: " + realPath));
32
- entry.uncompressedSize = stats.size;
33
- if (options.mtime == null) entry.setLastModDate(stats.mtime);
34
- if (options.mode == null) entry.setFileAttributesMode(stats.mode);
35
- entry.setFileDataPumpFunction(function() {
36
- var readStream = fs.createReadStream(realPath);
37
- entry.state = Entry.FILE_DATA_IN_PROGRESS;
38
- readStream.on("error", function(err) {
39
- self.emit("error", err);
40
- });
41
- pumpFileDataReadStream(self, entry, readStream);
42
- });
43
- pumpEntries(self);
44
- });
45
- };
46
-
47
- ZipFile.prototype.addReadStream = function(readStream, metadataPath, options) {
48
- var self = this;
49
- metadataPath = validateMetadataPath(metadataPath, false);
50
- if (options == null) options = {};
51
- var entry = new Entry(metadataPath, false, options);
52
- self.entries.push(entry);
53
- entry.setFileDataPumpFunction(function() {
54
- entry.state = Entry.FILE_DATA_IN_PROGRESS;
55
- pumpFileDataReadStream(self, entry, readStream);
56
- });
57
- pumpEntries(self);
58
- };
59
-
60
- ZipFile.prototype.addBuffer = function(buffer, metadataPath, options) {
61
- var self = this;
62
- metadataPath = validateMetadataPath(metadataPath, false);
63
- if (buffer.length > 0x3fffffff) throw new Error("buffer too large: " + buffer.length + " > " + 0x3fffffff);
64
- if (options == null) options = {};
65
- if (options.size != null) throw new Error("options.size not allowed");
66
- var entry = new Entry(metadataPath, false, options);
67
- entry.uncompressedSize = buffer.length;
68
- entry.crc32 = crc32.unsigned(buffer);
69
- entry.crcAndFileSizeKnown = true;
70
- self.entries.push(entry);
71
- if (!entry.compress) {
72
- setCompressedBuffer(buffer);
73
- } else {
74
- zlib.deflateRaw(buffer, function(err, compressedBuffer) {
75
- setCompressedBuffer(compressedBuffer);
76
- });
77
- }
78
- function setCompressedBuffer(compressedBuffer) {
79
- entry.compressedSize = compressedBuffer.length;
80
- entry.setFileDataPumpFunction(function() {
81
- writeToOutputStream(self, compressedBuffer);
82
- writeToOutputStream(self, entry.getDataDescriptor());
83
- entry.state = Entry.FILE_DATA_DONE;
84
-
85
- // don't call pumpEntries() recursively.
86
- // (also, don't call process.nextTick recursively.)
87
- setImmediate(function() {
88
- pumpEntries(self);
89
- });
90
- });
91
- pumpEntries(self);
92
- }
93
- };
94
-
95
- ZipFile.prototype.addEmptyDirectory = function(metadataPath, options) {
96
- var self = this;
97
- metadataPath = validateMetadataPath(metadataPath, true);
98
- if (options == null) options = {};
99
- if (options.size != null) throw new Error("options.size not allowed");
100
- if (options.compress != null) throw new Error("options.compress not allowed");
101
- var entry = new Entry(metadataPath, true, options);
102
- self.entries.push(entry);
103
- entry.setFileDataPumpFunction(function() {
104
- writeToOutputStream(self, entry.getDataDescriptor());
105
- entry.state = Entry.FILE_DATA_DONE;
106
- pumpEntries(self);
107
- });
108
- pumpEntries(self);
109
- };
110
-
111
- var eocdrSignatureBuffer = bufferFrom([0x50, 0x4b, 0x05, 0x06]);
112
-
113
- ZipFile.prototype.end = function(options, finalSizeCallback) {
114
- if (typeof options === "function") {
115
- finalSizeCallback = options;
116
- options = null;
117
- }
118
- if (options == null) options = {};
119
- if (this.ended) return;
120
- this.ended = true;
121
- this.finalSizeCallback = finalSizeCallback;
122
- this.forceZip64Eocd = !!options.forceZip64Format;
123
- if (options.comment) {
124
- if (typeof options.comment === "string") {
125
- this.comment = encodeCp437(options.comment);
126
- } else {
127
- // It should be a Buffer
128
- this.comment = options.comment;
129
- }
130
- if (this.comment.length > 0xffff) throw new Error("comment is too large");
131
- // gotta check for this, because the zipfile format is actually ambiguous.
132
- if (bufferIncludes(this.comment, eocdrSignatureBuffer)) throw new Error("comment contains end of central directory record signature");
133
- } else {
134
- // no comment.
135
- this.comment = EMPTY_BUFFER;
136
- }
137
- pumpEntries(this);
138
- };
139
-
140
- function writeToOutputStream(self, buffer) {
141
- self.outputStream.write(buffer);
142
- self.outputStreamCursor += buffer.length;
143
- }
144
-
145
- function pumpFileDataReadStream(self, entry, readStream) {
146
- var crc32Watcher = new Crc32Watcher();
147
- var uncompressedSizeCounter = new ByteCounter();
148
- var compressor = entry.compress ? new zlib.DeflateRaw() : new PassThrough();
149
- var compressedSizeCounter = new ByteCounter();
150
- readStream.pipe(crc32Watcher)
151
- .pipe(uncompressedSizeCounter)
152
- .pipe(compressor)
153
- .pipe(compressedSizeCounter)
154
- .pipe(self.outputStream, {end: false});
155
- compressedSizeCounter.on("end", function() {
156
- entry.crc32 = crc32Watcher.crc32;
157
- if (entry.uncompressedSize == null) {
158
- entry.uncompressedSize = uncompressedSizeCounter.byteCount;
159
- } else {
160
- if (entry.uncompressedSize !== uncompressedSizeCounter.byteCount) return self.emit("error", new Error("file data stream has unexpected number of bytes"));
161
- }
162
- entry.compressedSize = compressedSizeCounter.byteCount;
163
- self.outputStreamCursor += entry.compressedSize;
164
- writeToOutputStream(self, entry.getDataDescriptor());
165
- entry.state = Entry.FILE_DATA_DONE;
166
- pumpEntries(self);
167
- });
168
- }
169
-
170
- function pumpEntries(self) {
171
- if (self.allDone) return;
172
- // first check if finalSize is finally known
173
- if (self.ended && self.finalSizeCallback != null) {
174
- var finalSize = calculateFinalSize(self);
175
- if (finalSize != null) {
176
- // we have an answer
177
- self.finalSizeCallback(finalSize);
178
- self.finalSizeCallback = null;
179
- }
180
- }
181
-
182
- // pump entries
183
- var entry = getFirstNotDoneEntry();
184
- function getFirstNotDoneEntry() {
185
- for (var i = 0; i < self.entries.length; i++) {
186
- var entry = self.entries[i];
187
- if (entry.state < Entry.FILE_DATA_DONE) return entry;
188
- }
189
- return null;
190
- }
191
- if (entry != null) {
192
- // this entry is not done yet
193
- if (entry.state < Entry.READY_TO_PUMP_FILE_DATA) return; // input file not open yet
194
- if (entry.state === Entry.FILE_DATA_IN_PROGRESS) return; // we'll get there
195
- // start with local file header
196
- entry.relativeOffsetOfLocalHeader = self.outputStreamCursor;
197
- var localFileHeader = entry.getLocalFileHeader();
198
- writeToOutputStream(self, localFileHeader);
199
- entry.doFileDataPump();
200
- } else {
201
- // all cought up on writing entries
202
- if (self.ended) {
203
- // head for the exit
204
- self.offsetOfStartOfCentralDirectory = self.outputStreamCursor;
205
- self.entries.forEach(function(entry) {
206
- var centralDirectoryRecord = entry.getCentralDirectoryRecord();
207
- writeToOutputStream(self, centralDirectoryRecord);
208
- });
209
- writeToOutputStream(self, getEndOfCentralDirectoryRecord(self));
210
- self.outputStream.end();
211
- self.allDone = true;
212
- }
213
- }
214
- }
215
-
216
- function calculateFinalSize(self) {
217
- var pretendOutputCursor = 0;
218
- var centralDirectorySize = 0;
219
- for (var i = 0; i < self.entries.length; i++) {
220
- var entry = self.entries[i];
221
- // compression is too hard to predict
222
- if (entry.compress) return -1;
223
- if (entry.state >= Entry.READY_TO_PUMP_FILE_DATA) {
224
- // if addReadStream was called without providing the size, we can't predict the final size
225
- if (entry.uncompressedSize == null) return -1;
226
- } else {
227
- // if we're still waiting for fs.stat, we might learn the size someday
228
- if (entry.uncompressedSize == null) return null;
229
- }
230
- // we know this for sure, and this is important to know if we need ZIP64 format.
231
- entry.relativeOffsetOfLocalHeader = pretendOutputCursor;
232
- var useZip64Format = entry.useZip64Format();
233
-
234
- pretendOutputCursor += LOCAL_FILE_HEADER_FIXED_SIZE + entry.utf8FileName.length;
235
- pretendOutputCursor += entry.uncompressedSize;
236
- if (!entry.crcAndFileSizeKnown) {
237
- // use a data descriptor
238
- if (useZip64Format) {
239
- pretendOutputCursor += ZIP64_DATA_DESCRIPTOR_SIZE;
240
- } else {
241
- pretendOutputCursor += DATA_DESCRIPTOR_SIZE;
242
- }
243
- }
244
-
245
- centralDirectorySize += CENTRAL_DIRECTORY_RECORD_FIXED_SIZE + entry.utf8FileName.length + entry.fileComment.length;
246
- if (useZip64Format) {
247
- centralDirectorySize += ZIP64_EXTENDED_INFORMATION_EXTRA_FIELD_SIZE;
248
- }
249
- }
250
-
251
- var endOfCentralDirectorySize = 0;
252
- if (self.forceZip64Eocd ||
253
- self.entries.length >= 0xffff ||
254
- centralDirectorySize >= 0xffff ||
255
- pretendOutputCursor >= 0xffffffff) {
256
- // use zip64 end of central directory stuff
257
- endOfCentralDirectorySize += ZIP64_END_OF_CENTRAL_DIRECTORY_RECORD_SIZE + ZIP64_END_OF_CENTRAL_DIRECTORY_LOCATOR_SIZE;
258
- }
259
- endOfCentralDirectorySize += END_OF_CENTRAL_DIRECTORY_RECORD_SIZE + self.comment.length;
260
- return pretendOutputCursor + centralDirectorySize + endOfCentralDirectorySize;
261
- }
262
-
263
- var ZIP64_END_OF_CENTRAL_DIRECTORY_RECORD_SIZE = 56;
264
- var ZIP64_END_OF_CENTRAL_DIRECTORY_LOCATOR_SIZE = 20;
265
- var END_OF_CENTRAL_DIRECTORY_RECORD_SIZE = 22;
266
- function getEndOfCentralDirectoryRecord(self, actuallyJustTellMeHowLongItWouldBe) {
267
- var needZip64Format = false;
268
- var normalEntriesLength = self.entries.length;
269
- if (self.forceZip64Eocd || self.entries.length >= 0xffff) {
270
- normalEntriesLength = 0xffff;
271
- needZip64Format = true;
272
- }
273
- var sizeOfCentralDirectory = self.outputStreamCursor - self.offsetOfStartOfCentralDirectory;
274
- var normalSizeOfCentralDirectory = sizeOfCentralDirectory;
275
- if (self.forceZip64Eocd || sizeOfCentralDirectory >= 0xffffffff) {
276
- normalSizeOfCentralDirectory = 0xffffffff;
277
- needZip64Format = true;
278
- }
279
- var normalOffsetOfStartOfCentralDirectory = self.offsetOfStartOfCentralDirectory;
280
- if (self.forceZip64Eocd || self.offsetOfStartOfCentralDirectory >= 0xffffffff) {
281
- normalOffsetOfStartOfCentralDirectory = 0xffffffff;
282
- needZip64Format = true;
283
- }
284
- if (actuallyJustTellMeHowLongItWouldBe) {
285
- if (needZip64Format) {
286
- return (
287
- ZIP64_END_OF_CENTRAL_DIRECTORY_RECORD_SIZE +
288
- ZIP64_END_OF_CENTRAL_DIRECTORY_LOCATOR_SIZE +
289
- END_OF_CENTRAL_DIRECTORY_RECORD_SIZE
290
- );
291
- } else {
292
- return END_OF_CENTRAL_DIRECTORY_RECORD_SIZE;
293
- }
294
- }
295
-
296
- var eocdrBuffer = bufferAlloc(END_OF_CENTRAL_DIRECTORY_RECORD_SIZE + self.comment.length);
297
- // end of central dir signature 4 bytes (0x06054b50)
298
- eocdrBuffer.writeUInt32LE(0x06054b50, 0);
299
- // number of this disk 2 bytes
300
- eocdrBuffer.writeUInt16LE(0, 4);
301
- // number of the disk with the start of the central directory 2 bytes
302
- eocdrBuffer.writeUInt16LE(0, 6);
303
- // total number of entries in the central directory on this disk 2 bytes
304
- eocdrBuffer.writeUInt16LE(normalEntriesLength, 8);
305
- // total number of entries in the central directory 2 bytes
306
- eocdrBuffer.writeUInt16LE(normalEntriesLength, 10);
307
- // size of the central directory 4 bytes
308
- eocdrBuffer.writeUInt32LE(normalSizeOfCentralDirectory, 12);
309
- // offset of start of central directory with respect to the starting disk number 4 bytes
310
- eocdrBuffer.writeUInt32LE(normalOffsetOfStartOfCentralDirectory, 16);
311
- // .ZIP file comment length 2 bytes
312
- eocdrBuffer.writeUInt16LE(self.comment.length, 20);
313
- // .ZIP file comment (variable size)
314
- self.comment.copy(eocdrBuffer, 22);
315
-
316
- if (!needZip64Format) return eocdrBuffer;
317
-
318
- // ZIP64 format
319
- // ZIP64 End of Central Directory Record
320
- var zip64EocdrBuffer = bufferAlloc(ZIP64_END_OF_CENTRAL_DIRECTORY_RECORD_SIZE);
321
- // zip64 end of central dir signature 4 bytes (0x06064b50)
322
- zip64EocdrBuffer.writeUInt32LE(0x06064b50, 0);
323
- // size of zip64 end of central directory record 8 bytes
324
- writeUInt64LE(zip64EocdrBuffer, ZIP64_END_OF_CENTRAL_DIRECTORY_RECORD_SIZE - 12, 4);
325
- // version made by 2 bytes
326
- zip64EocdrBuffer.writeUInt16LE(VERSION_MADE_BY, 12);
327
- // version needed to extract 2 bytes
328
- zip64EocdrBuffer.writeUInt16LE(VERSION_NEEDED_TO_EXTRACT_ZIP64, 14);
329
- // number of this disk 4 bytes
330
- zip64EocdrBuffer.writeUInt32LE(0, 16);
331
- // number of the disk with the start of the central directory 4 bytes
332
- zip64EocdrBuffer.writeUInt32LE(0, 20);
333
- // total number of entries in the central directory on this disk 8 bytes
334
- writeUInt64LE(zip64EocdrBuffer, self.entries.length, 24);
335
- // total number of entries in the central directory 8 bytes
336
- writeUInt64LE(zip64EocdrBuffer, self.entries.length, 32);
337
- // size of the central directory 8 bytes
338
- writeUInt64LE(zip64EocdrBuffer, sizeOfCentralDirectory, 40);
339
- // offset of start of central directory with respect to the starting disk number 8 bytes
340
- writeUInt64LE(zip64EocdrBuffer, self.offsetOfStartOfCentralDirectory, 48);
341
- // zip64 extensible data sector (variable size)
342
- // nothing in the zip64 extensible data sector
343
-
344
-
345
- // ZIP64 End of Central Directory Locator
346
- var zip64EocdlBuffer = bufferAlloc(ZIP64_END_OF_CENTRAL_DIRECTORY_LOCATOR_SIZE);
347
- // zip64 end of central dir locator signature 4 bytes (0x07064b50)
348
- zip64EocdlBuffer.writeUInt32LE(0x07064b50, 0);
349
- // number of the disk with the start of the zip64 end of central directory 4 bytes
350
- zip64EocdlBuffer.writeUInt32LE(0, 4);
351
- // relative offset of the zip64 end of central directory record 8 bytes
352
- writeUInt64LE(zip64EocdlBuffer, self.outputStreamCursor, 8);
353
- // total number of disks 4 bytes
354
- zip64EocdlBuffer.writeUInt32LE(1, 16);
355
-
356
-
357
- return Buffer.concat([
358
- zip64EocdrBuffer,
359
- zip64EocdlBuffer,
360
- eocdrBuffer,
361
- ]);
362
- }
363
-
364
- function validateMetadataPath(metadataPath, isDirectory) {
365
- if (metadataPath === "") throw new Error("empty metadataPath");
366
- metadataPath = metadataPath.replace(/\\/g, "/");
367
- if (/^[a-zA-Z]:/.test(metadataPath) || /^\//.test(metadataPath)) throw new Error("absolute path: " + metadataPath);
368
- if (metadataPath.split("/").indexOf("..") !== -1) throw new Error("invalid relative path: " + metadataPath);
369
- var looksLikeDirectory = /\/$/.test(metadataPath);
370
- if (isDirectory) {
371
- // append a trailing '/' if necessary.
372
- if (!looksLikeDirectory) metadataPath += "/";
373
- } else {
374
- if (looksLikeDirectory) throw new Error("file path cannot end with '/': " + metadataPath);
375
- }
376
- return metadataPath;
377
- }
378
-
379
- var EMPTY_BUFFER = bufferAlloc(0);
380
-
381
- // this class is not part of the public API
382
- function Entry(metadataPath, isDirectory, options) {
383
- this.utf8FileName = bufferFrom(metadataPath);
384
- if (this.utf8FileName.length > 0xffff) throw new Error("utf8 file name too long. " + utf8FileName.length + " > " + 0xffff);
385
- this.isDirectory = isDirectory;
386
- this.state = Entry.WAITING_FOR_METADATA;
387
- this.setLastModDate(options.mtime != null ? options.mtime : new Date());
388
- if (options.mode != null) {
389
- this.setFileAttributesMode(options.mode);
390
- } else {
391
- this.setFileAttributesMode(isDirectory ? 0o40775 : 0o100664);
392
- }
393
- if (isDirectory) {
394
- this.crcAndFileSizeKnown = true;
395
- this.crc32 = 0;
396
- this.uncompressedSize = 0;
397
- this.compressedSize = 0;
398
- } else {
399
- // unknown so far
400
- this.crcAndFileSizeKnown = false;
401
- this.crc32 = null;
402
- this.uncompressedSize = null;
403
- this.compressedSize = null;
404
- if (options.size != null) this.uncompressedSize = options.size;
405
- }
406
- if (isDirectory) {
407
- this.compress = false;
408
- } else {
409
- this.compress = true; // default
410
- if (options.compress != null) this.compress = !!options.compress;
411
- }
412
- this.forceZip64Format = !!options.forceZip64Format;
413
- if (options.fileComment) {
414
- if (typeof options.fileComment === "string") {
415
- this.fileComment = bufferFrom(options.fileComment, "utf-8");
416
- } else {
417
- // It should be a Buffer
418
- this.fileComment = options.fileComment;
419
- }
420
- if (this.fileComment.length > 0xffff) throw new Error("fileComment is too large");
421
- } else {
422
- // no comment.
423
- this.fileComment = EMPTY_BUFFER;
424
- }
425
- }
426
- Entry.WAITING_FOR_METADATA = 0;
427
- Entry.READY_TO_PUMP_FILE_DATA = 1;
428
- Entry.FILE_DATA_IN_PROGRESS = 2;
429
- Entry.FILE_DATA_DONE = 3;
430
- Entry.prototype.setLastModDate = function(date) {
431
- var dosDateTime = dateToDosDateTime(date);
432
- this.lastModFileTime = dosDateTime.time;
433
- this.lastModFileDate = dosDateTime.date;
434
- };
435
- Entry.prototype.setFileAttributesMode = function(mode) {
436
- if ((mode & 0xffff) !== mode) throw new Error("invalid mode. expected: 0 <= " + mode + " <= " + 0xffff);
437
- // http://unix.stackexchange.com/questions/14705/the-zip-formats-external-file-attribute/14727#14727
438
- this.externalFileAttributes = (mode << 16) >>> 0;
439
- };
440
- // doFileDataPump() should not call pumpEntries() directly. see issue #9.
441
- Entry.prototype.setFileDataPumpFunction = function(doFileDataPump) {
442
- this.doFileDataPump = doFileDataPump;
443
- this.state = Entry.READY_TO_PUMP_FILE_DATA;
444
- };
445
- Entry.prototype.useZip64Format = function() {
446
- return (
447
- (this.forceZip64Format) ||
448
- (this.uncompressedSize != null && this.uncompressedSize > 0xfffffffe) ||
449
- (this.compressedSize != null && this.compressedSize > 0xfffffffe) ||
450
- (this.relativeOffsetOfLocalHeader != null && this.relativeOffsetOfLocalHeader > 0xfffffffe)
451
- );
452
- }
453
- var LOCAL_FILE_HEADER_FIXED_SIZE = 30;
454
- var VERSION_NEEDED_TO_EXTRACT_UTF8 = 20;
455
- var VERSION_NEEDED_TO_EXTRACT_ZIP64 = 45;
456
- // 3 = unix. 63 = spec version 6.3
457
- var VERSION_MADE_BY = (3 << 8) | 63;
458
- var FILE_NAME_IS_UTF8 = 1 << 11;
459
- var UNKNOWN_CRC32_AND_FILE_SIZES = 1 << 3;
460
- Entry.prototype.getLocalFileHeader = function() {
461
- var crc32 = 0;
462
- var compressedSize = 0;
463
- var uncompressedSize = 0;
464
- if (this.crcAndFileSizeKnown) {
465
- crc32 = this.crc32;
466
- compressedSize = this.compressedSize;
467
- uncompressedSize = this.uncompressedSize;
468
- }
469
-
470
- var fixedSizeStuff = bufferAlloc(LOCAL_FILE_HEADER_FIXED_SIZE);
471
- var generalPurposeBitFlag = FILE_NAME_IS_UTF8;
472
- if (!this.crcAndFileSizeKnown) generalPurposeBitFlag |= UNKNOWN_CRC32_AND_FILE_SIZES;
473
-
474
- // local file header signature 4 bytes (0x04034b50)
475
- fixedSizeStuff.writeUInt32LE(0x04034b50, 0);
476
- // version needed to extract 2 bytes
477
- fixedSizeStuff.writeUInt16LE(VERSION_NEEDED_TO_EXTRACT_UTF8, 4);
478
- // general purpose bit flag 2 bytes
479
- fixedSizeStuff.writeUInt16LE(generalPurposeBitFlag, 6);
480
- // compression method 2 bytes
481
- fixedSizeStuff.writeUInt16LE(this.getCompressionMethod(), 8);
482
- // last mod file time 2 bytes
483
- fixedSizeStuff.writeUInt16LE(this.lastModFileTime, 10);
484
- // last mod file date 2 bytes
485
- fixedSizeStuff.writeUInt16LE(this.lastModFileDate, 12);
486
- // crc-32 4 bytes
487
- fixedSizeStuff.writeUInt32LE(crc32, 14);
488
- // compressed size 4 bytes
489
- fixedSizeStuff.writeUInt32LE(compressedSize, 18);
490
- // uncompressed size 4 bytes
491
- fixedSizeStuff.writeUInt32LE(uncompressedSize, 22);
492
- // file name length 2 bytes
493
- fixedSizeStuff.writeUInt16LE(this.utf8FileName.length, 26);
494
- // extra field length 2 bytes
495
- fixedSizeStuff.writeUInt16LE(0, 28);
496
- return Buffer.concat([
497
- fixedSizeStuff,
498
- // file name (variable size)
499
- this.utf8FileName,
500
- // extra field (variable size)
501
- // no extra fields
502
- ]);
503
- };
504
- var DATA_DESCRIPTOR_SIZE = 16;
505
- var ZIP64_DATA_DESCRIPTOR_SIZE = 24;
506
- Entry.prototype.getDataDescriptor = function() {
507
- if (this.crcAndFileSizeKnown) {
508
- // the Mac Archive Utility requires this not be present unless we set general purpose bit 3
509
- return EMPTY_BUFFER;
510
- }
511
- if (!this.useZip64Format()) {
512
- var buffer = bufferAlloc(DATA_DESCRIPTOR_SIZE);
513
- // optional signature (required according to Archive Utility)
514
- buffer.writeUInt32LE(0x08074b50, 0);
515
- // crc-32 4 bytes
516
- buffer.writeUInt32LE(this.crc32, 4);
517
- // compressed size 4 bytes
518
- buffer.writeUInt32LE(this.compressedSize, 8);
519
- // uncompressed size 4 bytes
520
- buffer.writeUInt32LE(this.uncompressedSize, 12);
521
- return buffer;
522
- } else {
523
- // ZIP64 format
524
- var buffer = bufferAlloc(ZIP64_DATA_DESCRIPTOR_SIZE);
525
- // optional signature (unknown if anyone cares about this)
526
- buffer.writeUInt32LE(0x08074b50, 0);
527
- // crc-32 4 bytes
528
- buffer.writeUInt32LE(this.crc32, 4);
529
- // compressed size 8 bytes
530
- writeUInt64LE(buffer, this.compressedSize, 8);
531
- // uncompressed size 8 bytes
532
- writeUInt64LE(buffer, this.uncompressedSize, 16);
533
- return buffer;
534
- }
535
- };
536
- var CENTRAL_DIRECTORY_RECORD_FIXED_SIZE = 46;
537
- var ZIP64_EXTENDED_INFORMATION_EXTRA_FIELD_SIZE = 28;
538
- Entry.prototype.getCentralDirectoryRecord = function() {
539
- var fixedSizeStuff = bufferAlloc(CENTRAL_DIRECTORY_RECORD_FIXED_SIZE);
540
- var generalPurposeBitFlag = FILE_NAME_IS_UTF8;
541
- if (!this.crcAndFileSizeKnown) generalPurposeBitFlag |= UNKNOWN_CRC32_AND_FILE_SIZES;
542
-
543
- var normalCompressedSize = this.compressedSize;
544
- var normalUncompressedSize = this.uncompressedSize;
545
- var normalRelativeOffsetOfLocalHeader = this.relativeOffsetOfLocalHeader;
546
- var versionNeededToExtract;
547
- var zeiefBuffer;
548
- if (this.useZip64Format()) {
549
- normalCompressedSize = 0xffffffff;
550
- normalUncompressedSize = 0xffffffff;
551
- normalRelativeOffsetOfLocalHeader = 0xffffffff;
552
- versionNeededToExtract = VERSION_NEEDED_TO_EXTRACT_ZIP64;
553
-
554
- // ZIP64 extended information extra field
555
- zeiefBuffer = bufferAlloc(ZIP64_EXTENDED_INFORMATION_EXTRA_FIELD_SIZE);
556
- // 0x0001 2 bytes Tag for this "extra" block type
557
- zeiefBuffer.writeUInt16LE(0x0001, 0);
558
- // Size 2 bytes Size of this "extra" block
559
- zeiefBuffer.writeUInt16LE(ZIP64_EXTENDED_INFORMATION_EXTRA_FIELD_SIZE - 4, 2);
560
- // Original Size 8 bytes Original uncompressed file size
561
- writeUInt64LE(zeiefBuffer, this.uncompressedSize, 4);
562
- // Compressed Size 8 bytes Size of compressed data
563
- writeUInt64LE(zeiefBuffer, this.compressedSize, 12);
564
- // Relative Header Offset 8 bytes Offset of local header record
565
- writeUInt64LE(zeiefBuffer, this.relativeOffsetOfLocalHeader, 20);
566
- // Disk Start Number 4 bytes Number of the disk on which this file starts
567
- // (omit)
568
- } else {
569
- versionNeededToExtract = VERSION_NEEDED_TO_EXTRACT_UTF8;
570
- zeiefBuffer = EMPTY_BUFFER;
571
- }
572
-
573
- // central file header signature 4 bytes (0x02014b50)
574
- fixedSizeStuff.writeUInt32LE(0x02014b50, 0);
575
- // version made by 2 bytes
576
- fixedSizeStuff.writeUInt16LE(VERSION_MADE_BY, 4);
577
- // version needed to extract 2 bytes
578
- fixedSizeStuff.writeUInt16LE(versionNeededToExtract, 6);
579
- // general purpose bit flag 2 bytes
580
- fixedSizeStuff.writeUInt16LE(generalPurposeBitFlag, 8);
581
- // compression method 2 bytes
582
- fixedSizeStuff.writeUInt16LE(this.getCompressionMethod(), 10);
583
- // last mod file time 2 bytes
584
- fixedSizeStuff.writeUInt16LE(this.lastModFileTime, 12);
585
- // last mod file date 2 bytes
586
- fixedSizeStuff.writeUInt16LE(this.lastModFileDate, 14);
587
- // crc-32 4 bytes
588
- fixedSizeStuff.writeUInt32LE(this.crc32, 16);
589
- // compressed size 4 bytes
590
- fixedSizeStuff.writeUInt32LE(normalCompressedSize, 20);
591
- // uncompressed size 4 bytes
592
- fixedSizeStuff.writeUInt32LE(normalUncompressedSize, 24);
593
- // file name length 2 bytes
594
- fixedSizeStuff.writeUInt16LE(this.utf8FileName.length, 28);
595
- // extra field length 2 bytes
596
- fixedSizeStuff.writeUInt16LE(zeiefBuffer.length, 30);
597
- // file comment length 2 bytes
598
- fixedSizeStuff.writeUInt16LE(this.fileComment.length, 32);
599
- // disk number start 2 bytes
600
- fixedSizeStuff.writeUInt16LE(0, 34);
601
- // internal file attributes 2 bytes
602
- fixedSizeStuff.writeUInt16LE(0, 36);
603
- // external file attributes 4 bytes
604
- fixedSizeStuff.writeUInt32LE(this.externalFileAttributes, 38);
605
- // relative offset of local header 4 bytes
606
- fixedSizeStuff.writeUInt32LE(normalRelativeOffsetOfLocalHeader, 42);
607
-
608
- return Buffer.concat([
609
- fixedSizeStuff,
610
- // file name (variable size)
611
- this.utf8FileName,
612
- // extra field (variable size)
613
- zeiefBuffer,
614
- // file comment (variable size)
615
- this.fileComment,
616
- ]);
617
- };
618
- Entry.prototype.getCompressionMethod = function() {
619
- var NO_COMPRESSION = 0;
620
- var DEFLATE_COMPRESSION = 8;
621
- return this.compress ? DEFLATE_COMPRESSION : NO_COMPRESSION;
622
- };
623
-
624
- function dateToDosDateTime(jsDate) {
625
- var date = 0;
626
- date |= jsDate.getDate() & 0x1f; // 1-31
627
- date |= ((jsDate.getMonth() + 1) & 0xf) << 5; // 0-11, 1-12
628
- date |= ((jsDate.getFullYear() - 1980) & 0x7f) << 9; // 0-128, 1980-2108
629
-
630
- var time = 0;
631
- time |= Math.floor(jsDate.getSeconds() / 2); // 0-59, 0-29 (lose odd numbers)
632
- time |= (jsDate.getMinutes() & 0x3f) << 5; // 0-59
633
- time |= (jsDate.getHours() & 0x1f) << 11; // 0-23
634
-
635
- return {date: date, time: time};
636
- }
637
-
638
- function writeUInt64LE(buffer, n, offset) {
639
- // can't use bitshift here, because JavaScript only allows bitshifting on 32-bit integers.
640
- var high = Math.floor(n / 0x100000000);
641
- var low = n % 0x100000000;
642
- buffer.writeUInt32LE(low, offset);
643
- buffer.writeUInt32LE(high, offset + 4);
644
- }
645
-
646
- function defaultCallback(err) {
647
- if (err) throw err;
648
- }
649
-
650
- util.inherits(ByteCounter, Transform);
651
- function ByteCounter(options) {
652
- Transform.call(this, options);
653
- this.byteCount = 0;
654
- }
655
- ByteCounter.prototype._transform = function(chunk, encoding, cb) {
656
- this.byteCount += chunk.length;
657
- cb(null, chunk);
658
- };
659
-
660
- util.inherits(Crc32Watcher, Transform);
661
- function Crc32Watcher(options) {
662
- Transform.call(this, options);
663
- this.crc32 = 0;
664
- }
665
- Crc32Watcher.prototype._transform = function(chunk, encoding, cb) {
666
- this.crc32 = crc32.unsigned(chunk, this.crc32);
667
- cb(null, chunk);
668
- };
669
-
670
- var cp437 = '\u0000☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ';
671
- if (cp437.length !== 256) throw new Error("assertion failure");
672
- var reverseCp437 = null;
673
-
674
- function encodeCp437(string) {
675
- if (/^[\x20-\x7e]*$/.test(string)) {
676
- // CP437, ASCII, and UTF-8 overlap in this range.
677
- return bufferFrom(string, "utf-8");
678
- }
679
-
680
- // This is the slow path.
681
- if (reverseCp437 == null) {
682
- // cache this once
683
- reverseCp437 = {};
684
- for (var i = 0; i < cp437.length; i++) {
685
- reverseCp437[cp437[i]] = i;
686
- }
687
- }
688
-
689
- var result = bufferAlloc(string.length);
690
- for (var i = 0; i < string.length; i++) {
691
- var b = reverseCp437[string[i]];
692
- if (b == null) throw new Error("character not encodable in CP437: " + JSON.stringify(string[i]));
693
- result[i] = b;
694
- }
695
-
696
- return result;
697
- }
698
-
699
- function bufferAlloc(size) {
700
- bufferAlloc = modern;
701
- try {
702
- return bufferAlloc(size);
703
- } catch (e) {
704
- bufferAlloc = legacy;
705
- return bufferAlloc(size);
706
- }
707
- function modern(size) {
708
- return Buffer.allocUnsafe(size);
709
- }
710
- function legacy(size) {
711
- return new Buffer(size);
712
- }
713
- }
714
- function bufferFrom(something, encoding) {
715
- bufferFrom = modern;
716
- try {
717
- return bufferFrom(something, encoding);
718
- } catch (e) {
719
- bufferFrom = legacy;
720
- return bufferFrom(something, encoding);
721
- }
722
- function modern(something, encoding) {
723
- return Buffer.from(something, encoding);
724
- }
725
- function legacy(something, encoding) {
726
- return new Buffer(something, encoding);
727
- }
728
- }
729
- function bufferIncludes(buffer, content) {
730
- bufferIncludes = modern;
731
- try {
732
- return bufferIncludes(buffer, content);
733
- } catch (e) {
734
- bufferIncludes = legacy;
735
- return bufferIncludes(buffer, content);
736
- }
737
- function modern(buffer, content) {
738
- return buffer.includes(content);
739
- }
740
- function legacy(buffer, content) {
741
- for (var i = 0; i <= buffer.length - content.length; i++) {
742
- for (var j = 0;; j++) {
743
- if (j === content.length) return true;
744
- if (buffer[i + j] !== content[j]) break;
745
- }
746
- }
747
- return false;
748
- }
749
- }