@corellium/corellium-cli 1.0.3 → 1.0.6

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 (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
- }