@marktrue/dsh-mobile-remote 3.2.4-alpha.1 → 3.2.4-alpha.2-app

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 (352) hide show
  1. package/DSH-Remote-v3.2.4.apk +4 -0
  2. package/README.md +6 -254
  3. package/manifest.json +21 -0
  4. package/package.json +12 -65
  5. package/CHANGELOG.md +0 -1410
  6. package/CONTRIBUTING.md +0 -59
  7. package/FAQ.md +0 -111
  8. package/cordis.patch.yml +0 -14
  9. package/docs/00-/345/274/200/345/217/221/346/200/273/347/272/262.md +0 -125
  10. package/docs/01-PRD.md +0 -148
  11. package/docs/02-architecture.md +0 -249
  12. package/docs/03-api.md +0 -1154
  13. package/docs/04-security.md +0 -100
  14. package/docs/05-test-cases.md +0 -405
  15. package/docs/06-install-run.md +0 -372
  16. package/docs/07-user-manual.md +0 -70
  17. package/docs/08-/346/211/251/345/261/225/345/274/200/345/217/221/346/214/207/345/215/227.md +0 -86
  18. package/docs/09-compatibility.md +0 -227
  19. package/docs/10-release.md +0 -1067
  20. package/docs/screenshots/01-home.png +0 -0
  21. package/docs/screenshots/02-notifications.png +0 -0
  22. package/docs/screenshots/03-sessions.png +0 -0
  23. package/docs/screenshots/04-chat.png +0 -0
  24. package/docs/screenshots/05-settings.png +0 -0
  25. package/docs/screenshots/06-new-session.png +0 -0
  26. package/docs/screenshots/pgy-appstore.jpg +0 -0
  27. package/docs/screenshots/pgy-mobile-app.jpg +0 -0
  28. package/docs/screenshots/pgy-pc-client.jpg +0 -0
  29. package/lib/account-usage.js +0 -145
  30. package/lib/app-alignment.js +0 -112
  31. package/lib/app-carrier-store.js +0 -1972
  32. package/lib/app-carrier.js +0 -609
  33. package/lib/client.js +0 -1174
  34. package/lib/desktop-form.js +0 -738
  35. package/lib/endpoint-registry.js +0 -167
  36. package/lib/git-read-bundled-provider.js +0 -450
  37. package/lib/git-read-service.js +0 -601
  38. package/lib/index.js +0 -9622
  39. package/lib/npm-update-source.js +0 -226
  40. package/lib/plugin-content-digest.js +0 -80
  41. package/lib/plugin-self-update.js +0 -997
  42. package/lib/plugin-update-controller.js +0 -274
  43. package/lib/plugin-update-log.js +0 -164
  44. package/lib/plugin-update-transaction.js +0 -322
  45. package/lib/plugin-update.js +0 -309
  46. package/lib/runtime-dependency-snapshot.js +0 -345
  47. package/lib/session-title-cache.js +0 -123
  48. package/lib/session-title-refresh.js +0 -261
  49. package/lib/tool-process.js +0 -20
  50. package/lib/update-fetch.js +0 -24
  51. package/lib/update-lock-arbiter.js +0 -170
  52. package/lib/update-supervisor.js +0 -346
  53. package/node_modules/ansi-regex/index.d.ts +0 -37
  54. package/node_modules/ansi-regex/index.js +0 -10
  55. package/node_modules/ansi-regex/license +0 -9
  56. package/node_modules/ansi-regex/package.json +0 -55
  57. package/node_modules/ansi-regex/readme.md +0 -78
  58. package/node_modules/ansi-styles/index.d.ts +0 -345
  59. package/node_modules/ansi-styles/index.js +0 -163
  60. package/node_modules/ansi-styles/license +0 -9
  61. package/node_modules/ansi-styles/package.json +0 -56
  62. package/node_modules/ansi-styles/readme.md +0 -152
  63. package/node_modules/camelcase/index.d.ts +0 -63
  64. package/node_modules/camelcase/index.js +0 -76
  65. package/node_modules/camelcase/license +0 -9
  66. package/node_modules/camelcase/package.json +0 -43
  67. package/node_modules/camelcase/readme.md +0 -99
  68. package/node_modules/cliui/CHANGELOG.md +0 -76
  69. package/node_modules/cliui/LICENSE.txt +0 -14
  70. package/node_modules/cliui/README.md +0 -115
  71. package/node_modules/cliui/index.js +0 -354
  72. package/node_modules/cliui/package.json +0 -65
  73. package/node_modules/color-convert/CHANGELOG.md +0 -54
  74. package/node_modules/color-convert/LICENSE +0 -21
  75. package/node_modules/color-convert/README.md +0 -68
  76. package/node_modules/color-convert/conversions.js +0 -839
  77. package/node_modules/color-convert/index.js +0 -81
  78. package/node_modules/color-convert/package.json +0 -48
  79. package/node_modules/color-convert/route.js +0 -97
  80. package/node_modules/color-name/LICENSE +0 -8
  81. package/node_modules/color-name/README.md +0 -11
  82. package/node_modules/color-name/index.js +0 -152
  83. package/node_modules/color-name/package.json +0 -28
  84. package/node_modules/decamelize/index.js +0 -13
  85. package/node_modules/decamelize/license +0 -21
  86. package/node_modules/decamelize/package.json +0 -38
  87. package/node_modules/decamelize/readme.md +0 -48
  88. package/node_modules/dijkstrajs/.travis.yml +0 -4
  89. package/node_modules/dijkstrajs/CONTRIBUTING.md +0 -8
  90. package/node_modules/dijkstrajs/LICENSE.md +0 -19
  91. package/node_modules/dijkstrajs/README.md +0 -18
  92. package/node_modules/dijkstrajs/dijkstra.js +0 -165
  93. package/node_modules/dijkstrajs/package.json +0 -60
  94. package/node_modules/dijkstrajs/test/dijkstra.test.js +0 -96
  95. package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  96. package/node_modules/emoji-regex/README.md +0 -73
  97. package/node_modules/emoji-regex/es2015/index.js +0 -6
  98. package/node_modules/emoji-regex/es2015/text.js +0 -6
  99. package/node_modules/emoji-regex/index.d.ts +0 -23
  100. package/node_modules/emoji-regex/index.js +0 -6
  101. package/node_modules/emoji-regex/package.json +0 -50
  102. package/node_modules/emoji-regex/text.js +0 -6
  103. package/node_modules/find-up/index.d.ts +0 -137
  104. package/node_modules/find-up/index.js +0 -89
  105. package/node_modules/find-up/license +0 -9
  106. package/node_modules/find-up/package.json +0 -53
  107. package/node_modules/find-up/readme.md +0 -156
  108. package/node_modules/get-caller-file/LICENSE.md +0 -6
  109. package/node_modules/get-caller-file/README.md +0 -41
  110. package/node_modules/get-caller-file/index.d.ts +0 -2
  111. package/node_modules/get-caller-file/index.js +0 -22
  112. package/node_modules/get-caller-file/index.js.map +0 -1
  113. package/node_modules/get-caller-file/package.json +0 -42
  114. package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  115. package/node_modules/is-fullwidth-code-point/index.js +0 -50
  116. package/node_modules/is-fullwidth-code-point/license +0 -9
  117. package/node_modules/is-fullwidth-code-point/package.json +0 -42
  118. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  119. package/node_modules/locate-path/index.d.ts +0 -83
  120. package/node_modules/locate-path/index.js +0 -65
  121. package/node_modules/locate-path/license +0 -9
  122. package/node_modules/locate-path/package.json +0 -45
  123. package/node_modules/locate-path/readme.md +0 -122
  124. package/node_modules/p-limit/index.d.ts +0 -38
  125. package/node_modules/p-limit/index.js +0 -57
  126. package/node_modules/p-limit/license +0 -9
  127. package/node_modules/p-limit/package.json +0 -52
  128. package/node_modules/p-limit/readme.md +0 -101
  129. package/node_modules/p-locate/index.d.ts +0 -64
  130. package/node_modules/p-locate/index.js +0 -52
  131. package/node_modules/p-locate/license +0 -9
  132. package/node_modules/p-locate/package.json +0 -53
  133. package/node_modules/p-locate/readme.md +0 -90
  134. package/node_modules/p-try/index.d.ts +0 -39
  135. package/node_modules/p-try/index.js +0 -9
  136. package/node_modules/p-try/license +0 -9
  137. package/node_modules/p-try/package.json +0 -42
  138. package/node_modules/p-try/readme.md +0 -58
  139. package/node_modules/path-exists/index.d.ts +0 -28
  140. package/node_modules/path-exists/index.js +0 -23
  141. package/node_modules/path-exists/license +0 -9
  142. package/node_modules/path-exists/package.json +0 -39
  143. package/node_modules/path-exists/readme.md +0 -52
  144. package/node_modules/pngjs/.eslintignore +0 -2
  145. package/node_modules/pngjs/.eslintrc.json +0 -19
  146. package/node_modules/pngjs/.prettierignore +0 -3
  147. package/node_modules/pngjs/LICENSE +0 -20
  148. package/node_modules/pngjs/README.md +0 -429
  149. package/node_modules/pngjs/browser.js +0 -16096
  150. package/node_modules/pngjs/coverage/lcov-report/base.css +0 -354
  151. package/node_modules/pngjs/coverage/lcov-report/bitmapper.js.html +0 -881
  152. package/node_modules/pngjs/coverage/lcov-report/bitpacker.js.html +0 -554
  153. package/node_modules/pngjs/coverage/lcov-report/block-navigation.js +0 -77
  154. package/node_modules/pngjs/coverage/lcov-report/chunkstream.js.html +0 -647
  155. package/node_modules/pngjs/coverage/lcov-report/constants.js.html +0 -176
  156. package/node_modules/pngjs/coverage/lcov-report/crc.js.html +0 -200
  157. package/node_modules/pngjs/coverage/lcov-report/favicon.png +0 -0
  158. package/node_modules/pngjs/coverage/lcov-report/filter-pack.js.html +0 -593
  159. package/node_modules/pngjs/coverage/lcov-report/filter-parse-async.js.html +0 -152
  160. package/node_modules/pngjs/coverage/lcov-report/filter-parse-sync.js.html +0 -143
  161. package/node_modules/pngjs/coverage/lcov-report/filter-parse.js.html +0 -611
  162. package/node_modules/pngjs/coverage/lcov-report/format-normaliser.js.html +0 -359
  163. package/node_modules/pngjs/coverage/lcov-report/index.html +0 -426
  164. package/node_modules/pngjs/coverage/lcov-report/interlace.js.html +0 -365
  165. package/node_modules/pngjs/coverage/lcov-report/packer-async.js.html +0 -230
  166. package/node_modules/pngjs/coverage/lcov-report/packer-sync.js.html +0 -248
  167. package/node_modules/pngjs/coverage/lcov-report/packer.js.html +0 -467
  168. package/node_modules/pngjs/coverage/lcov-report/paeth-predictor.js.html +0 -128
  169. package/node_modules/pngjs/coverage/lcov-report/parser-async.js.html +0 -575
  170. package/node_modules/pngjs/coverage/lcov-report/parser-sync.js.html +0 -404
  171. package/node_modules/pngjs/coverage/lcov-report/parser.js.html +0 -950
  172. package/node_modules/pngjs/coverage/lcov-report/png-sync.js.html +0 -116
  173. package/node_modules/pngjs/coverage/lcov-report/png.js.html +0 -662
  174. package/node_modules/pngjs/coverage/lcov-report/prettify.css +0 -101
  175. package/node_modules/pngjs/coverage/lcov-report/prettify.js +0 -1007
  176. package/node_modules/pngjs/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  177. package/node_modules/pngjs/coverage/lcov-report/sorter.js +0 -169
  178. package/node_modules/pngjs/coverage/lcov-report/sync-inflate.js.html +0 -584
  179. package/node_modules/pngjs/coverage/lcov-report/sync-reader.js.html +0 -215
  180. package/node_modules/pngjs/coverage/lcov.info +0 -2177
  181. package/node_modules/pngjs/lib/bitmapper.js +0 -267
  182. package/node_modules/pngjs/lib/bitpacker.js +0 -158
  183. package/node_modules/pngjs/lib/chunkstream.js +0 -189
  184. package/node_modules/pngjs/lib/constants.js +0 -32
  185. package/node_modules/pngjs/lib/crc.js +0 -40
  186. package/node_modules/pngjs/lib/filter-pack.js +0 -171
  187. package/node_modules/pngjs/lib/filter-parse-async.js +0 -24
  188. package/node_modules/pngjs/lib/filter-parse-sync.js +0 -21
  189. package/node_modules/pngjs/lib/filter-parse.js +0 -177
  190. package/node_modules/pngjs/lib/format-normaliser.js +0 -93
  191. package/node_modules/pngjs/lib/interlace.js +0 -95
  192. package/node_modules/pngjs/lib/packer-async.js +0 -50
  193. package/node_modules/pngjs/lib/packer-sync.js +0 -56
  194. package/node_modules/pngjs/lib/packer.js +0 -129
  195. package/node_modules/pngjs/lib/paeth-predictor.js +0 -16
  196. package/node_modules/pngjs/lib/parser-async.js +0 -165
  197. package/node_modules/pngjs/lib/parser-sync.js +0 -108
  198. package/node_modules/pngjs/lib/parser.js +0 -290
  199. package/node_modules/pngjs/lib/png-sync.js +0 -12
  200. package/node_modules/pngjs/lib/png.js +0 -194
  201. package/node_modules/pngjs/lib/sync-inflate.js +0 -168
  202. package/node_modules/pngjs/lib/sync-reader.js +0 -45
  203. package/node_modules/pngjs/package.json +0 -73
  204. package/node_modules/qrcode/README.md +0 -770
  205. package/node_modules/qrcode/bin/qrcode +0 -159
  206. package/node_modules/qrcode/helper/to-sjis-browser.js +0 -2
  207. package/node_modules/qrcode/helper/to-sjis.js +0 -105
  208. package/node_modules/qrcode/lib/browser.js +0 -76
  209. package/node_modules/qrcode/lib/can-promise.js +0 -7
  210. package/node_modules/qrcode/lib/core/alignment-pattern.js +0 -83
  211. package/node_modules/qrcode/lib/core/alphanumeric-data.js +0 -59
  212. package/node_modules/qrcode/lib/core/bit-buffer.js +0 -37
  213. package/node_modules/qrcode/lib/core/bit-matrix.js +0 -65
  214. package/node_modules/qrcode/lib/core/byte-data.js +0 -30
  215. package/node_modules/qrcode/lib/core/error-correction-code.js +0 -135
  216. package/node_modules/qrcode/lib/core/error-correction-level.js +0 -50
  217. package/node_modules/qrcode/lib/core/finder-pattern.js +0 -22
  218. package/node_modules/qrcode/lib/core/format-info.js +0 -29
  219. package/node_modules/qrcode/lib/core/galois-field.js +0 -69
  220. package/node_modules/qrcode/lib/core/kanji-data.js +0 -54
  221. package/node_modules/qrcode/lib/core/mask-pattern.js +0 -234
  222. package/node_modules/qrcode/lib/core/mode.js +0 -167
  223. package/node_modules/qrcode/lib/core/numeric-data.js +0 -43
  224. package/node_modules/qrcode/lib/core/polynomial.js +0 -62
  225. package/node_modules/qrcode/lib/core/qrcode.js +0 -495
  226. package/node_modules/qrcode/lib/core/reed-solomon-encoder.js +0 -56
  227. package/node_modules/qrcode/lib/core/regex.js +0 -31
  228. package/node_modules/qrcode/lib/core/segments.js +0 -330
  229. package/node_modules/qrcode/lib/core/utils.js +0 -63
  230. package/node_modules/qrcode/lib/core/version-check.js +0 -9
  231. package/node_modules/qrcode/lib/core/version.js +0 -163
  232. package/node_modules/qrcode/lib/index.js +0 -12
  233. package/node_modules/qrcode/lib/renderer/canvas.js +0 -63
  234. package/node_modules/qrcode/lib/renderer/png.js +0 -78
  235. package/node_modules/qrcode/lib/renderer/svg-tag.js +0 -81
  236. package/node_modules/qrcode/lib/renderer/svg.js +0 -19
  237. package/node_modules/qrcode/lib/renderer/terminal/terminal-small.js +0 -85
  238. package/node_modules/qrcode/lib/renderer/terminal/terminal.js +0 -49
  239. package/node_modules/qrcode/lib/renderer/terminal.js +0 -9
  240. package/node_modules/qrcode/lib/renderer/utf8.js +0 -71
  241. package/node_modules/qrcode/lib/renderer/utils.js +0 -99
  242. package/node_modules/qrcode/lib/server.js +0 -138
  243. package/node_modules/qrcode/license +0 -10
  244. package/node_modules/qrcode/package.json +0 -77
  245. package/node_modules/require-directory/.jshintrc +0 -67
  246. package/node_modules/require-directory/.npmignore +0 -1
  247. package/node_modules/require-directory/.travis.yml +0 -3
  248. package/node_modules/require-directory/LICENSE +0 -22
  249. package/node_modules/require-directory/README.markdown +0 -184
  250. package/node_modules/require-directory/index.js +0 -86
  251. package/node_modules/require-directory/package.json +0 -40
  252. package/node_modules/require-main-filename/CHANGELOG.md +0 -26
  253. package/node_modules/require-main-filename/LICENSE.txt +0 -14
  254. package/node_modules/require-main-filename/README.md +0 -26
  255. package/node_modules/require-main-filename/index.js +0 -18
  256. package/node_modules/require-main-filename/package.json +0 -35
  257. package/node_modules/set-blocking/CHANGELOG.md +0 -26
  258. package/node_modules/set-blocking/LICENSE.txt +0 -14
  259. package/node_modules/set-blocking/README.md +0 -31
  260. package/node_modules/set-blocking/index.js +0 -7
  261. package/node_modules/set-blocking/package.json +0 -42
  262. package/node_modules/string-width/index.d.ts +0 -29
  263. package/node_modules/string-width/index.js +0 -47
  264. package/node_modules/string-width/license +0 -9
  265. package/node_modules/string-width/package.json +0 -56
  266. package/node_modules/string-width/readme.md +0 -50
  267. package/node_modules/strip-ansi/index.d.ts +0 -17
  268. package/node_modules/strip-ansi/index.js +0 -4
  269. package/node_modules/strip-ansi/license +0 -9
  270. package/node_modules/strip-ansi/package.json +0 -54
  271. package/node_modules/strip-ansi/readme.md +0 -46
  272. package/node_modules/which-module/LICENSE +0 -13
  273. package/node_modules/which-module/README.md +0 -58
  274. package/node_modules/which-module/index.js +0 -9
  275. package/node_modules/which-module/package.json +0 -41
  276. package/node_modules/wrap-ansi/index.js +0 -186
  277. package/node_modules/wrap-ansi/license +0 -9
  278. package/node_modules/wrap-ansi/package.json +0 -61
  279. package/node_modules/wrap-ansi/readme.md +0 -97
  280. package/node_modules/y18n/CHANGELOG.md +0 -35
  281. package/node_modules/y18n/LICENSE +0 -13
  282. package/node_modules/y18n/README.md +0 -109
  283. package/node_modules/y18n/index.js +0 -188
  284. package/node_modules/y18n/package.json +0 -39
  285. package/node_modules/yargs/CHANGELOG.md +0 -420
  286. package/node_modules/yargs/LICENSE +0 -21
  287. package/node_modules/yargs/README.md +0 -140
  288. package/node_modules/yargs/build/lib/apply-extends.d.ts +0 -2
  289. package/node_modules/yargs/build/lib/apply-extends.js +0 -65
  290. package/node_modules/yargs/build/lib/argsert.d.ts +0 -2
  291. package/node_modules/yargs/build/lib/argsert.js +0 -65
  292. package/node_modules/yargs/build/lib/command.d.ts +0 -64
  293. package/node_modules/yargs/build/lib/command.js +0 -416
  294. package/node_modules/yargs/build/lib/common-types.d.ts +0 -36
  295. package/node_modules/yargs/build/lib/common-types.js +0 -25
  296. package/node_modules/yargs/build/lib/completion-templates.d.ts +0 -2
  297. package/node_modules/yargs/build/lib/completion-templates.js +0 -50
  298. package/node_modules/yargs/build/lib/completion.d.ts +0 -21
  299. package/node_modules/yargs/build/lib/completion.js +0 -135
  300. package/node_modules/yargs/build/lib/is-promise.d.ts +0 -1
  301. package/node_modules/yargs/build/lib/is-promise.js +0 -9
  302. package/node_modules/yargs/build/lib/levenshtein.d.ts +0 -1
  303. package/node_modules/yargs/build/lib/levenshtein.js +0 -58
  304. package/node_modules/yargs/build/lib/middleware.d.ts +0 -10
  305. package/node_modules/yargs/build/lib/middleware.js +0 -57
  306. package/node_modules/yargs/build/lib/obj-filter.d.ts +0 -1
  307. package/node_modules/yargs/build/lib/obj-filter.js +0 -14
  308. package/node_modules/yargs/build/lib/parse-command.d.ts +0 -11
  309. package/node_modules/yargs/build/lib/parse-command.js +0 -36
  310. package/node_modules/yargs/build/lib/process-argv.d.ts +0 -2
  311. package/node_modules/yargs/build/lib/process-argv.js +0 -31
  312. package/node_modules/yargs/build/lib/usage.d.ts +0 -49
  313. package/node_modules/yargs/build/lib/usage.js +0 -540
  314. package/node_modules/yargs/build/lib/validation.d.ts +0 -34
  315. package/node_modules/yargs/build/lib/validation.js +0 -330
  316. package/node_modules/yargs/build/lib/yargs.d.ts +0 -274
  317. package/node_modules/yargs/build/lib/yargs.js +0 -1190
  318. package/node_modules/yargs/build/lib/yerror.d.ts +0 -4
  319. package/node_modules/yargs/build/lib/yerror.js +0 -11
  320. package/node_modules/yargs/index.js +0 -40
  321. package/node_modules/yargs/locales/be.json +0 -46
  322. package/node_modules/yargs/locales/de.json +0 -46
  323. package/node_modules/yargs/locales/en.json +0 -51
  324. package/node_modules/yargs/locales/es.json +0 -46
  325. package/node_modules/yargs/locales/fi.json +0 -49
  326. package/node_modules/yargs/locales/fr.json +0 -53
  327. package/node_modules/yargs/locales/hi.json +0 -49
  328. package/node_modules/yargs/locales/hu.json +0 -46
  329. package/node_modules/yargs/locales/id.json +0 -50
  330. package/node_modules/yargs/locales/it.json +0 -46
  331. package/node_modules/yargs/locales/ja.json +0 -51
  332. package/node_modules/yargs/locales/ko.json +0 -49
  333. package/node_modules/yargs/locales/nb.json +0 -44
  334. package/node_modules/yargs/locales/nl.json +0 -49
  335. package/node_modules/yargs/locales/nn.json +0 -44
  336. package/node_modules/yargs/locales/pirate.json +0 -13
  337. package/node_modules/yargs/locales/pl.json +0 -49
  338. package/node_modules/yargs/locales/pt.json +0 -45
  339. package/node_modules/yargs/locales/pt_BR.json +0 -48
  340. package/node_modules/yargs/locales/ru.json +0 -46
  341. package/node_modules/yargs/locales/th.json +0 -46
  342. package/node_modules/yargs/locales/tr.json +0 -48
  343. package/node_modules/yargs/locales/zh_CN.json +0 -48
  344. package/node_modules/yargs/locales/zh_TW.json +0 -47
  345. package/node_modules/yargs/package.json +0 -92
  346. package/node_modules/yargs/yargs.js +0 -14
  347. package/node_modules/yargs-parser/CHANGELOG.md +0 -601
  348. package/node_modules/yargs-parser/LICENSE.txt +0 -14
  349. package/node_modules/yargs-parser/README.md +0 -449
  350. package/node_modules/yargs-parser/index.js +0 -1032
  351. package/node_modules/yargs-parser/lib/tokenize-arg-string.js +0 -40
  352. package/node_modules/yargs-parser/package.json +0 -46
@@ -1,267 +0,0 @@
1
- "use strict";
2
-
3
- let interlaceUtils = require("./interlace");
4
-
5
- let pixelBppMapper = [
6
- // 0 - dummy entry
7
- function () {},
8
-
9
- // 1 - L
10
- // 0: 0, 1: 0, 2: 0, 3: 0xff
11
- function (pxData, data, pxPos, rawPos) {
12
- if (rawPos === data.length) {
13
- throw new Error("Ran out of data");
14
- }
15
-
16
- let pixel = data[rawPos];
17
- pxData[pxPos] = pixel;
18
- pxData[pxPos + 1] = pixel;
19
- pxData[pxPos + 2] = pixel;
20
- pxData[pxPos + 3] = 0xff;
21
- },
22
-
23
- // 2 - LA
24
- // 0: 0, 1: 0, 2: 0, 3: 1
25
- function (pxData, data, pxPos, rawPos) {
26
- if (rawPos + 1 >= data.length) {
27
- throw new Error("Ran out of data");
28
- }
29
-
30
- let pixel = data[rawPos];
31
- pxData[pxPos] = pixel;
32
- pxData[pxPos + 1] = pixel;
33
- pxData[pxPos + 2] = pixel;
34
- pxData[pxPos + 3] = data[rawPos + 1];
35
- },
36
-
37
- // 3 - RGB
38
- // 0: 0, 1: 1, 2: 2, 3: 0xff
39
- function (pxData, data, pxPos, rawPos) {
40
- if (rawPos + 2 >= data.length) {
41
- throw new Error("Ran out of data");
42
- }
43
-
44
- pxData[pxPos] = data[rawPos];
45
- pxData[pxPos + 1] = data[rawPos + 1];
46
- pxData[pxPos + 2] = data[rawPos + 2];
47
- pxData[pxPos + 3] = 0xff;
48
- },
49
-
50
- // 4 - RGBA
51
- // 0: 0, 1: 1, 2: 2, 3: 3
52
- function (pxData, data, pxPos, rawPos) {
53
- if (rawPos + 3 >= data.length) {
54
- throw new Error("Ran out of data");
55
- }
56
-
57
- pxData[pxPos] = data[rawPos];
58
- pxData[pxPos + 1] = data[rawPos + 1];
59
- pxData[pxPos + 2] = data[rawPos + 2];
60
- pxData[pxPos + 3] = data[rawPos + 3];
61
- },
62
- ];
63
-
64
- let pixelBppCustomMapper = [
65
- // 0 - dummy entry
66
- function () {},
67
-
68
- // 1 - L
69
- // 0: 0, 1: 0, 2: 0, 3: 0xff
70
- function (pxData, pixelData, pxPos, maxBit) {
71
- let pixel = pixelData[0];
72
- pxData[pxPos] = pixel;
73
- pxData[pxPos + 1] = pixel;
74
- pxData[pxPos + 2] = pixel;
75
- pxData[pxPos + 3] = maxBit;
76
- },
77
-
78
- // 2 - LA
79
- // 0: 0, 1: 0, 2: 0, 3: 1
80
- function (pxData, pixelData, pxPos) {
81
- let pixel = pixelData[0];
82
- pxData[pxPos] = pixel;
83
- pxData[pxPos + 1] = pixel;
84
- pxData[pxPos + 2] = pixel;
85
- pxData[pxPos + 3] = pixelData[1];
86
- },
87
-
88
- // 3 - RGB
89
- // 0: 0, 1: 1, 2: 2, 3: 0xff
90
- function (pxData, pixelData, pxPos, maxBit) {
91
- pxData[pxPos] = pixelData[0];
92
- pxData[pxPos + 1] = pixelData[1];
93
- pxData[pxPos + 2] = pixelData[2];
94
- pxData[pxPos + 3] = maxBit;
95
- },
96
-
97
- // 4 - RGBA
98
- // 0: 0, 1: 1, 2: 2, 3: 3
99
- function (pxData, pixelData, pxPos) {
100
- pxData[pxPos] = pixelData[0];
101
- pxData[pxPos + 1] = pixelData[1];
102
- pxData[pxPos + 2] = pixelData[2];
103
- pxData[pxPos + 3] = pixelData[3];
104
- },
105
- ];
106
-
107
- function bitRetriever(data, depth) {
108
- let leftOver = [];
109
- let i = 0;
110
-
111
- function split() {
112
- if (i === data.length) {
113
- throw new Error("Ran out of data");
114
- }
115
- let byte = data[i];
116
- i++;
117
- let byte8, byte7, byte6, byte5, byte4, byte3, byte2, byte1;
118
- switch (depth) {
119
- default:
120
- throw new Error("unrecognised depth");
121
- case 16:
122
- byte2 = data[i];
123
- i++;
124
- leftOver.push((byte << 8) + byte2);
125
- break;
126
- case 4:
127
- byte2 = byte & 0x0f;
128
- byte1 = byte >> 4;
129
- leftOver.push(byte1, byte2);
130
- break;
131
- case 2:
132
- byte4 = byte & 3;
133
- byte3 = (byte >> 2) & 3;
134
- byte2 = (byte >> 4) & 3;
135
- byte1 = (byte >> 6) & 3;
136
- leftOver.push(byte1, byte2, byte3, byte4);
137
- break;
138
- case 1:
139
- byte8 = byte & 1;
140
- byte7 = (byte >> 1) & 1;
141
- byte6 = (byte >> 2) & 1;
142
- byte5 = (byte >> 3) & 1;
143
- byte4 = (byte >> 4) & 1;
144
- byte3 = (byte >> 5) & 1;
145
- byte2 = (byte >> 6) & 1;
146
- byte1 = (byte >> 7) & 1;
147
- leftOver.push(byte1, byte2, byte3, byte4, byte5, byte6, byte7, byte8);
148
- break;
149
- }
150
- }
151
-
152
- return {
153
- get: function (count) {
154
- while (leftOver.length < count) {
155
- split();
156
- }
157
- let returner = leftOver.slice(0, count);
158
- leftOver = leftOver.slice(count);
159
- return returner;
160
- },
161
- resetAfterLine: function () {
162
- leftOver.length = 0;
163
- },
164
- end: function () {
165
- if (i !== data.length) {
166
- throw new Error("extra data found");
167
- }
168
- },
169
- };
170
- }
171
-
172
- function mapImage8Bit(image, pxData, getPxPos, bpp, data, rawPos) {
173
- // eslint-disable-line max-params
174
- let imageWidth = image.width;
175
- let imageHeight = image.height;
176
- let imagePass = image.index;
177
- for (let y = 0; y < imageHeight; y++) {
178
- for (let x = 0; x < imageWidth; x++) {
179
- let pxPos = getPxPos(x, y, imagePass);
180
- pixelBppMapper[bpp](pxData, data, pxPos, rawPos);
181
- rawPos += bpp; //eslint-disable-line no-param-reassign
182
- }
183
- }
184
- return rawPos;
185
- }
186
-
187
- function mapImageCustomBit(image, pxData, getPxPos, bpp, bits, maxBit) {
188
- // eslint-disable-line max-params
189
- let imageWidth = image.width;
190
- let imageHeight = image.height;
191
- let imagePass = image.index;
192
- for (let y = 0; y < imageHeight; y++) {
193
- for (let x = 0; x < imageWidth; x++) {
194
- let pixelData = bits.get(bpp);
195
- let pxPos = getPxPos(x, y, imagePass);
196
- pixelBppCustomMapper[bpp](pxData, pixelData, pxPos, maxBit);
197
- }
198
- bits.resetAfterLine();
199
- }
200
- }
201
-
202
- exports.dataToBitMap = function (data, bitmapInfo) {
203
- let width = bitmapInfo.width;
204
- let height = bitmapInfo.height;
205
- let depth = bitmapInfo.depth;
206
- let bpp = bitmapInfo.bpp;
207
- let interlace = bitmapInfo.interlace;
208
- let bits;
209
-
210
- if (depth !== 8) {
211
- bits = bitRetriever(data, depth);
212
- }
213
- let pxData;
214
- if (depth <= 8) {
215
- pxData = Buffer.alloc(width * height * 4);
216
- } else {
217
- pxData = new Uint16Array(width * height * 4);
218
- }
219
- let maxBit = Math.pow(2, depth) - 1;
220
- let rawPos = 0;
221
- let images;
222
- let getPxPos;
223
-
224
- if (interlace) {
225
- images = interlaceUtils.getImagePasses(width, height);
226
- getPxPos = interlaceUtils.getInterlaceIterator(width, height);
227
- } else {
228
- let nonInterlacedPxPos = 0;
229
- getPxPos = function () {
230
- let returner = nonInterlacedPxPos;
231
- nonInterlacedPxPos += 4;
232
- return returner;
233
- };
234
- images = [{ width: width, height: height }];
235
- }
236
-
237
- for (let imageIndex = 0; imageIndex < images.length; imageIndex++) {
238
- if (depth === 8) {
239
- rawPos = mapImage8Bit(
240
- images[imageIndex],
241
- pxData,
242
- getPxPos,
243
- bpp,
244
- data,
245
- rawPos
246
- );
247
- } else {
248
- mapImageCustomBit(
249
- images[imageIndex],
250
- pxData,
251
- getPxPos,
252
- bpp,
253
- bits,
254
- maxBit
255
- );
256
- }
257
- }
258
- if (depth === 8) {
259
- if (rawPos !== data.length) {
260
- throw new Error("extra data found");
261
- }
262
- } else {
263
- bits.end();
264
- }
265
-
266
- return pxData;
267
- };
@@ -1,158 +0,0 @@
1
- "use strict";
2
-
3
- let constants = require("./constants");
4
-
5
- module.exports = function (dataIn, width, height, options) {
6
- let outHasAlpha =
7
- [constants.COLORTYPE_COLOR_ALPHA, constants.COLORTYPE_ALPHA].indexOf(
8
- options.colorType
9
- ) !== -1;
10
- if (options.colorType === options.inputColorType) {
11
- let bigEndian = (function () {
12
- let buffer = new ArrayBuffer(2);
13
- new DataView(buffer).setInt16(0, 256, true /* littleEndian */);
14
- // Int16Array uses the platform's endianness.
15
- return new Int16Array(buffer)[0] !== 256;
16
- })();
17
- // If no need to convert to grayscale and alpha is present/absent in both, take a fast route
18
- if (options.bitDepth === 8 || (options.bitDepth === 16 && bigEndian)) {
19
- return dataIn;
20
- }
21
- }
22
-
23
- // map to a UInt16 array if data is 16bit, fix endianness below
24
- let data = options.bitDepth !== 16 ? dataIn : new Uint16Array(dataIn.buffer);
25
-
26
- let maxValue = 255;
27
- let inBpp = constants.COLORTYPE_TO_BPP_MAP[options.inputColorType];
28
- if (inBpp === 4 && !options.inputHasAlpha) {
29
- inBpp = 3;
30
- }
31
- let outBpp = constants.COLORTYPE_TO_BPP_MAP[options.colorType];
32
- if (options.bitDepth === 16) {
33
- maxValue = 65535;
34
- outBpp *= 2;
35
- }
36
- let outData = Buffer.alloc(width * height * outBpp);
37
-
38
- let inIndex = 0;
39
- let outIndex = 0;
40
-
41
- let bgColor = options.bgColor || {};
42
- if (bgColor.red === undefined) {
43
- bgColor.red = maxValue;
44
- }
45
- if (bgColor.green === undefined) {
46
- bgColor.green = maxValue;
47
- }
48
- if (bgColor.blue === undefined) {
49
- bgColor.blue = maxValue;
50
- }
51
-
52
- function getRGBA() {
53
- let red;
54
- let green;
55
- let blue;
56
- let alpha = maxValue;
57
- switch (options.inputColorType) {
58
- case constants.COLORTYPE_COLOR_ALPHA:
59
- alpha = data[inIndex + 3];
60
- red = data[inIndex];
61
- green = data[inIndex + 1];
62
- blue = data[inIndex + 2];
63
- break;
64
- case constants.COLORTYPE_COLOR:
65
- red = data[inIndex];
66
- green = data[inIndex + 1];
67
- blue = data[inIndex + 2];
68
- break;
69
- case constants.COLORTYPE_ALPHA:
70
- alpha = data[inIndex + 1];
71
- red = data[inIndex];
72
- green = red;
73
- blue = red;
74
- break;
75
- case constants.COLORTYPE_GRAYSCALE:
76
- red = data[inIndex];
77
- green = red;
78
- blue = red;
79
- break;
80
- default:
81
- throw new Error(
82
- "input color type:" +
83
- options.inputColorType +
84
- " is not supported at present"
85
- );
86
- }
87
-
88
- if (options.inputHasAlpha) {
89
- if (!outHasAlpha) {
90
- alpha /= maxValue;
91
- red = Math.min(
92
- Math.max(Math.round((1 - alpha) * bgColor.red + alpha * red), 0),
93
- maxValue
94
- );
95
- green = Math.min(
96
- Math.max(Math.round((1 - alpha) * bgColor.green + alpha * green), 0),
97
- maxValue
98
- );
99
- blue = Math.min(
100
- Math.max(Math.round((1 - alpha) * bgColor.blue + alpha * blue), 0),
101
- maxValue
102
- );
103
- }
104
- }
105
- return { red: red, green: green, blue: blue, alpha: alpha };
106
- }
107
-
108
- for (let y = 0; y < height; y++) {
109
- for (let x = 0; x < width; x++) {
110
- let rgba = getRGBA(data, inIndex);
111
-
112
- switch (options.colorType) {
113
- case constants.COLORTYPE_COLOR_ALPHA:
114
- case constants.COLORTYPE_COLOR:
115
- if (options.bitDepth === 8) {
116
- outData[outIndex] = rgba.red;
117
- outData[outIndex + 1] = rgba.green;
118
- outData[outIndex + 2] = rgba.blue;
119
- if (outHasAlpha) {
120
- outData[outIndex + 3] = rgba.alpha;
121
- }
122
- } else {
123
- outData.writeUInt16BE(rgba.red, outIndex);
124
- outData.writeUInt16BE(rgba.green, outIndex + 2);
125
- outData.writeUInt16BE(rgba.blue, outIndex + 4);
126
- if (outHasAlpha) {
127
- outData.writeUInt16BE(rgba.alpha, outIndex + 6);
128
- }
129
- }
130
- break;
131
- case constants.COLORTYPE_ALPHA:
132
- case constants.COLORTYPE_GRAYSCALE: {
133
- // Convert to grayscale and alpha
134
- let grayscale = (rgba.red + rgba.green + rgba.blue) / 3;
135
- if (options.bitDepth === 8) {
136
- outData[outIndex] = grayscale;
137
- if (outHasAlpha) {
138
- outData[outIndex + 1] = rgba.alpha;
139
- }
140
- } else {
141
- outData.writeUInt16BE(grayscale, outIndex);
142
- if (outHasAlpha) {
143
- outData.writeUInt16BE(rgba.alpha, outIndex + 2);
144
- }
145
- }
146
- break;
147
- }
148
- default:
149
- throw new Error("unrecognised color Type " + options.colorType);
150
- }
151
-
152
- inIndex += inBpp;
153
- outIndex += outBpp;
154
- }
155
- }
156
-
157
- return outData;
158
- };
@@ -1,189 +0,0 @@
1
- "use strict";
2
-
3
- let util = require("util");
4
- let Stream = require("stream");
5
-
6
- let ChunkStream = (module.exports = function () {
7
- Stream.call(this);
8
-
9
- this._buffers = [];
10
- this._buffered = 0;
11
-
12
- this._reads = [];
13
- this._paused = false;
14
-
15
- this._encoding = "utf8";
16
- this.writable = true;
17
- });
18
- util.inherits(ChunkStream, Stream);
19
-
20
- ChunkStream.prototype.read = function (length, callback) {
21
- this._reads.push({
22
- length: Math.abs(length), // if length < 0 then at most this length
23
- allowLess: length < 0,
24
- func: callback,
25
- });
26
-
27
- process.nextTick(
28
- function () {
29
- this._process();
30
-
31
- // its paused and there is not enought data then ask for more
32
- if (this._paused && this._reads && this._reads.length > 0) {
33
- this._paused = false;
34
-
35
- this.emit("drain");
36
- }
37
- }.bind(this)
38
- );
39
- };
40
-
41
- ChunkStream.prototype.write = function (data, encoding) {
42
- if (!this.writable) {
43
- this.emit("error", new Error("Stream not writable"));
44
- return false;
45
- }
46
-
47
- let dataBuffer;
48
- if (Buffer.isBuffer(data)) {
49
- dataBuffer = data;
50
- } else {
51
- dataBuffer = Buffer.from(data, encoding || this._encoding);
52
- }
53
-
54
- this._buffers.push(dataBuffer);
55
- this._buffered += dataBuffer.length;
56
-
57
- this._process();
58
-
59
- // ok if there are no more read requests
60
- if (this._reads && this._reads.length === 0) {
61
- this._paused = true;
62
- }
63
-
64
- return this.writable && !this._paused;
65
- };
66
-
67
- ChunkStream.prototype.end = function (data, encoding) {
68
- if (data) {
69
- this.write(data, encoding);
70
- }
71
-
72
- this.writable = false;
73
-
74
- // already destroyed
75
- if (!this._buffers) {
76
- return;
77
- }
78
-
79
- // enqueue or handle end
80
- if (this._buffers.length === 0) {
81
- this._end();
82
- } else {
83
- this._buffers.push(null);
84
- this._process();
85
- }
86
- };
87
-
88
- ChunkStream.prototype.destroySoon = ChunkStream.prototype.end;
89
-
90
- ChunkStream.prototype._end = function () {
91
- if (this._reads.length > 0) {
92
- this.emit("error", new Error("Unexpected end of input"));
93
- }
94
-
95
- this.destroy();
96
- };
97
-
98
- ChunkStream.prototype.destroy = function () {
99
- if (!this._buffers) {
100
- return;
101
- }
102
-
103
- this.writable = false;
104
- this._reads = null;
105
- this._buffers = null;
106
-
107
- this.emit("close");
108
- };
109
-
110
- ChunkStream.prototype._processReadAllowingLess = function (read) {
111
- // ok there is any data so that we can satisfy this request
112
- this._reads.shift(); // == read
113
-
114
- // first we need to peek into first buffer
115
- let smallerBuf = this._buffers[0];
116
-
117
- // ok there is more data than we need
118
- if (smallerBuf.length > read.length) {
119
- this._buffered -= read.length;
120
- this._buffers[0] = smallerBuf.slice(read.length);
121
-
122
- read.func.call(this, smallerBuf.slice(0, read.length));
123
- } else {
124
- // ok this is less than maximum length so use it all
125
- this._buffered -= smallerBuf.length;
126
- this._buffers.shift(); // == smallerBuf
127
-
128
- read.func.call(this, smallerBuf);
129
- }
130
- };
131
-
132
- ChunkStream.prototype._processRead = function (read) {
133
- this._reads.shift(); // == read
134
-
135
- let pos = 0;
136
- let count = 0;
137
- let data = Buffer.alloc(read.length);
138
-
139
- // create buffer for all data
140
- while (pos < read.length) {
141
- let buf = this._buffers[count++];
142
- let len = Math.min(buf.length, read.length - pos);
143
-
144
- buf.copy(data, pos, 0, len);
145
- pos += len;
146
-
147
- // last buffer wasn't used all so just slice it and leave
148
- if (len !== buf.length) {
149
- this._buffers[--count] = buf.slice(len);
150
- }
151
- }
152
-
153
- // remove all used buffers
154
- if (count > 0) {
155
- this._buffers.splice(0, count);
156
- }
157
-
158
- this._buffered -= read.length;
159
-
160
- read.func.call(this, data);
161
- };
162
-
163
- ChunkStream.prototype._process = function () {
164
- try {
165
- // as long as there is any data and read requests
166
- while (this._buffered > 0 && this._reads && this._reads.length > 0) {
167
- let read = this._reads[0];
168
-
169
- // read any data (but no more than length)
170
- if (read.allowLess) {
171
- this._processReadAllowingLess(read);
172
- } else if (this._buffered >= read.length) {
173
- // ok we can meet some expectations
174
-
175
- this._processRead(read);
176
- } else {
177
- // not enought data to satisfy first request in queue
178
- // so we need to wait for more
179
- break;
180
- }
181
- }
182
-
183
- if (this._buffers && !this.writable) {
184
- this._end();
185
- }
186
- } catch (ex) {
187
- this.emit("error", ex);
188
- }
189
- };
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- module.exports = {
4
- PNG_SIGNATURE: [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a],
5
-
6
- TYPE_IHDR: 0x49484452,
7
- TYPE_IEND: 0x49454e44,
8
- TYPE_IDAT: 0x49444154,
9
- TYPE_PLTE: 0x504c5445,
10
- TYPE_tRNS: 0x74524e53, // eslint-disable-line camelcase
11
- TYPE_gAMA: 0x67414d41, // eslint-disable-line camelcase
12
-
13
- // color-type bits
14
- COLORTYPE_GRAYSCALE: 0,
15
- COLORTYPE_PALETTE: 1,
16
- COLORTYPE_COLOR: 2,
17
- COLORTYPE_ALPHA: 4, // e.g. grayscale and alpha
18
-
19
- // color-type combinations
20
- COLORTYPE_PALETTE_COLOR: 3,
21
- COLORTYPE_COLOR_ALPHA: 6,
22
-
23
- COLORTYPE_TO_BPP_MAP: {
24
- 0: 1,
25
- 2: 3,
26
- 3: 1,
27
- 4: 2,
28
- 6: 4,
29
- },
30
-
31
- GAMMA_DIVISION: 100000,
32
- };
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- let crcTable = [];
4
-
5
- (function () {
6
- for (let i = 0; i < 256; i++) {
7
- let currentCrc = i;
8
- for (let j = 0; j < 8; j++) {
9
- if (currentCrc & 1) {
10
- currentCrc = 0xedb88320 ^ (currentCrc >>> 1);
11
- } else {
12
- currentCrc = currentCrc >>> 1;
13
- }
14
- }
15
- crcTable[i] = currentCrc;
16
- }
17
- })();
18
-
19
- let CrcCalculator = (module.exports = function () {
20
- this._crc = -1;
21
- });
22
-
23
- CrcCalculator.prototype.write = function (data) {
24
- for (let i = 0; i < data.length; i++) {
25
- this._crc = crcTable[(this._crc ^ data[i]) & 0xff] ^ (this._crc >>> 8);
26
- }
27
- return true;
28
- };
29
-
30
- CrcCalculator.prototype.crc32 = function () {
31
- return this._crc ^ -1;
32
- };
33
-
34
- CrcCalculator.crc32 = function (buf) {
35
- let crc = -1;
36
- for (let i = 0; i < buf.length; i++) {
37
- crc = crcTable[(crc ^ buf[i]) & 0xff] ^ (crc >>> 8);
38
- }
39
- return crc ^ -1;
40
- };