@marktrue/dsh-mobile-remote 3.2.3-rc.1 → 3.2.4-alpha.1-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 (353) 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 -1362
  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 -930
  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 -929
  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/docs/spec-app-auto-update.md +0 -143
  30. package/lib/account-usage.js +0 -145
  31. package/lib/app-alignment.js +0 -112
  32. package/lib/app-carrier-store.js +0 -1972
  33. package/lib/app-carrier.js +0 -609
  34. package/lib/client.js +0 -1174
  35. package/lib/desktop-form.js +0 -738
  36. package/lib/endpoint-registry.js +0 -165
  37. package/lib/git-read-bundled-provider.js +0 -255
  38. package/lib/git-read-service.js +0 -322
  39. package/lib/index.js +0 -9609
  40. package/lib/npm-update-source.js +0 -226
  41. package/lib/plugin-content-digest.js +0 -80
  42. package/lib/plugin-self-update.js +0 -997
  43. package/lib/plugin-update-controller.js +0 -274
  44. package/lib/plugin-update-log.js +0 -164
  45. package/lib/plugin-update-transaction.js +0 -322
  46. package/lib/plugin-update.js +0 -309
  47. package/lib/runtime-dependency-snapshot.js +0 -345
  48. package/lib/session-title-cache.js +0 -123
  49. package/lib/session-title-refresh.js +0 -261
  50. package/lib/tool-process.js +0 -20
  51. package/lib/update-fetch.js +0 -24
  52. package/lib/update-lock-arbiter.js +0 -170
  53. package/lib/update-supervisor.js +0 -346
  54. package/node_modules/ansi-regex/index.d.ts +0 -37
  55. package/node_modules/ansi-regex/index.js +0 -10
  56. package/node_modules/ansi-regex/license +0 -9
  57. package/node_modules/ansi-regex/package.json +0 -55
  58. package/node_modules/ansi-regex/readme.md +0 -78
  59. package/node_modules/ansi-styles/index.d.ts +0 -345
  60. package/node_modules/ansi-styles/index.js +0 -163
  61. package/node_modules/ansi-styles/license +0 -9
  62. package/node_modules/ansi-styles/package.json +0 -56
  63. package/node_modules/ansi-styles/readme.md +0 -152
  64. package/node_modules/camelcase/index.d.ts +0 -63
  65. package/node_modules/camelcase/index.js +0 -76
  66. package/node_modules/camelcase/license +0 -9
  67. package/node_modules/camelcase/package.json +0 -43
  68. package/node_modules/camelcase/readme.md +0 -99
  69. package/node_modules/cliui/CHANGELOG.md +0 -76
  70. package/node_modules/cliui/LICENSE.txt +0 -14
  71. package/node_modules/cliui/README.md +0 -115
  72. package/node_modules/cliui/index.js +0 -354
  73. package/node_modules/cliui/package.json +0 -65
  74. package/node_modules/color-convert/CHANGELOG.md +0 -54
  75. package/node_modules/color-convert/LICENSE +0 -21
  76. package/node_modules/color-convert/README.md +0 -68
  77. package/node_modules/color-convert/conversions.js +0 -839
  78. package/node_modules/color-convert/index.js +0 -81
  79. package/node_modules/color-convert/package.json +0 -48
  80. package/node_modules/color-convert/route.js +0 -97
  81. package/node_modules/color-name/LICENSE +0 -8
  82. package/node_modules/color-name/README.md +0 -11
  83. package/node_modules/color-name/index.js +0 -152
  84. package/node_modules/color-name/package.json +0 -28
  85. package/node_modules/decamelize/index.js +0 -13
  86. package/node_modules/decamelize/license +0 -21
  87. package/node_modules/decamelize/package.json +0 -38
  88. package/node_modules/decamelize/readme.md +0 -48
  89. package/node_modules/dijkstrajs/.travis.yml +0 -4
  90. package/node_modules/dijkstrajs/CONTRIBUTING.md +0 -8
  91. package/node_modules/dijkstrajs/LICENSE.md +0 -19
  92. package/node_modules/dijkstrajs/README.md +0 -18
  93. package/node_modules/dijkstrajs/dijkstra.js +0 -165
  94. package/node_modules/dijkstrajs/package.json +0 -60
  95. package/node_modules/dijkstrajs/test/dijkstra.test.js +0 -96
  96. package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  97. package/node_modules/emoji-regex/README.md +0 -73
  98. package/node_modules/emoji-regex/es2015/index.js +0 -6
  99. package/node_modules/emoji-regex/es2015/text.js +0 -6
  100. package/node_modules/emoji-regex/index.d.ts +0 -23
  101. package/node_modules/emoji-regex/index.js +0 -6
  102. package/node_modules/emoji-regex/package.json +0 -50
  103. package/node_modules/emoji-regex/text.js +0 -6
  104. package/node_modules/find-up/index.d.ts +0 -137
  105. package/node_modules/find-up/index.js +0 -89
  106. package/node_modules/find-up/license +0 -9
  107. package/node_modules/find-up/package.json +0 -53
  108. package/node_modules/find-up/readme.md +0 -156
  109. package/node_modules/get-caller-file/LICENSE.md +0 -6
  110. package/node_modules/get-caller-file/README.md +0 -41
  111. package/node_modules/get-caller-file/index.d.ts +0 -2
  112. package/node_modules/get-caller-file/index.js +0 -22
  113. package/node_modules/get-caller-file/index.js.map +0 -1
  114. package/node_modules/get-caller-file/package.json +0 -42
  115. package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  116. package/node_modules/is-fullwidth-code-point/index.js +0 -50
  117. package/node_modules/is-fullwidth-code-point/license +0 -9
  118. package/node_modules/is-fullwidth-code-point/package.json +0 -42
  119. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  120. package/node_modules/locate-path/index.d.ts +0 -83
  121. package/node_modules/locate-path/index.js +0 -65
  122. package/node_modules/locate-path/license +0 -9
  123. package/node_modules/locate-path/package.json +0 -45
  124. package/node_modules/locate-path/readme.md +0 -122
  125. package/node_modules/p-limit/index.d.ts +0 -38
  126. package/node_modules/p-limit/index.js +0 -57
  127. package/node_modules/p-limit/license +0 -9
  128. package/node_modules/p-limit/package.json +0 -52
  129. package/node_modules/p-limit/readme.md +0 -101
  130. package/node_modules/p-locate/index.d.ts +0 -64
  131. package/node_modules/p-locate/index.js +0 -52
  132. package/node_modules/p-locate/license +0 -9
  133. package/node_modules/p-locate/package.json +0 -53
  134. package/node_modules/p-locate/readme.md +0 -90
  135. package/node_modules/p-try/index.d.ts +0 -39
  136. package/node_modules/p-try/index.js +0 -9
  137. package/node_modules/p-try/license +0 -9
  138. package/node_modules/p-try/package.json +0 -42
  139. package/node_modules/p-try/readme.md +0 -58
  140. package/node_modules/path-exists/index.d.ts +0 -28
  141. package/node_modules/path-exists/index.js +0 -23
  142. package/node_modules/path-exists/license +0 -9
  143. package/node_modules/path-exists/package.json +0 -39
  144. package/node_modules/path-exists/readme.md +0 -52
  145. package/node_modules/pngjs/.eslintignore +0 -2
  146. package/node_modules/pngjs/.eslintrc.json +0 -19
  147. package/node_modules/pngjs/.prettierignore +0 -3
  148. package/node_modules/pngjs/LICENSE +0 -20
  149. package/node_modules/pngjs/README.md +0 -429
  150. package/node_modules/pngjs/browser.js +0 -16096
  151. package/node_modules/pngjs/coverage/lcov-report/base.css +0 -354
  152. package/node_modules/pngjs/coverage/lcov-report/bitmapper.js.html +0 -881
  153. package/node_modules/pngjs/coverage/lcov-report/bitpacker.js.html +0 -554
  154. package/node_modules/pngjs/coverage/lcov-report/block-navigation.js +0 -77
  155. package/node_modules/pngjs/coverage/lcov-report/chunkstream.js.html +0 -647
  156. package/node_modules/pngjs/coverage/lcov-report/constants.js.html +0 -176
  157. package/node_modules/pngjs/coverage/lcov-report/crc.js.html +0 -200
  158. package/node_modules/pngjs/coverage/lcov-report/favicon.png +0 -0
  159. package/node_modules/pngjs/coverage/lcov-report/filter-pack.js.html +0 -593
  160. package/node_modules/pngjs/coverage/lcov-report/filter-parse-async.js.html +0 -152
  161. package/node_modules/pngjs/coverage/lcov-report/filter-parse-sync.js.html +0 -143
  162. package/node_modules/pngjs/coverage/lcov-report/filter-parse.js.html +0 -611
  163. package/node_modules/pngjs/coverage/lcov-report/format-normaliser.js.html +0 -359
  164. package/node_modules/pngjs/coverage/lcov-report/index.html +0 -426
  165. package/node_modules/pngjs/coverage/lcov-report/interlace.js.html +0 -365
  166. package/node_modules/pngjs/coverage/lcov-report/packer-async.js.html +0 -230
  167. package/node_modules/pngjs/coverage/lcov-report/packer-sync.js.html +0 -248
  168. package/node_modules/pngjs/coverage/lcov-report/packer.js.html +0 -467
  169. package/node_modules/pngjs/coverage/lcov-report/paeth-predictor.js.html +0 -128
  170. package/node_modules/pngjs/coverage/lcov-report/parser-async.js.html +0 -575
  171. package/node_modules/pngjs/coverage/lcov-report/parser-sync.js.html +0 -404
  172. package/node_modules/pngjs/coverage/lcov-report/parser.js.html +0 -950
  173. package/node_modules/pngjs/coverage/lcov-report/png-sync.js.html +0 -116
  174. package/node_modules/pngjs/coverage/lcov-report/png.js.html +0 -662
  175. package/node_modules/pngjs/coverage/lcov-report/prettify.css +0 -101
  176. package/node_modules/pngjs/coverage/lcov-report/prettify.js +0 -1007
  177. package/node_modules/pngjs/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  178. package/node_modules/pngjs/coverage/lcov-report/sorter.js +0 -169
  179. package/node_modules/pngjs/coverage/lcov-report/sync-inflate.js.html +0 -584
  180. package/node_modules/pngjs/coverage/lcov-report/sync-reader.js.html +0 -215
  181. package/node_modules/pngjs/coverage/lcov.info +0 -2177
  182. package/node_modules/pngjs/lib/bitmapper.js +0 -267
  183. package/node_modules/pngjs/lib/bitpacker.js +0 -158
  184. package/node_modules/pngjs/lib/chunkstream.js +0 -189
  185. package/node_modules/pngjs/lib/constants.js +0 -32
  186. package/node_modules/pngjs/lib/crc.js +0 -40
  187. package/node_modules/pngjs/lib/filter-pack.js +0 -171
  188. package/node_modules/pngjs/lib/filter-parse-async.js +0 -24
  189. package/node_modules/pngjs/lib/filter-parse-sync.js +0 -21
  190. package/node_modules/pngjs/lib/filter-parse.js +0 -177
  191. package/node_modules/pngjs/lib/format-normaliser.js +0 -93
  192. package/node_modules/pngjs/lib/interlace.js +0 -95
  193. package/node_modules/pngjs/lib/packer-async.js +0 -50
  194. package/node_modules/pngjs/lib/packer-sync.js +0 -56
  195. package/node_modules/pngjs/lib/packer.js +0 -129
  196. package/node_modules/pngjs/lib/paeth-predictor.js +0 -16
  197. package/node_modules/pngjs/lib/parser-async.js +0 -165
  198. package/node_modules/pngjs/lib/parser-sync.js +0 -108
  199. package/node_modules/pngjs/lib/parser.js +0 -290
  200. package/node_modules/pngjs/lib/png-sync.js +0 -12
  201. package/node_modules/pngjs/lib/png.js +0 -194
  202. package/node_modules/pngjs/lib/sync-inflate.js +0 -168
  203. package/node_modules/pngjs/lib/sync-reader.js +0 -45
  204. package/node_modules/pngjs/package.json +0 -73
  205. package/node_modules/qrcode/README.md +0 -770
  206. package/node_modules/qrcode/bin/qrcode +0 -159
  207. package/node_modules/qrcode/helper/to-sjis-browser.js +0 -2
  208. package/node_modules/qrcode/helper/to-sjis.js +0 -105
  209. package/node_modules/qrcode/lib/browser.js +0 -76
  210. package/node_modules/qrcode/lib/can-promise.js +0 -7
  211. package/node_modules/qrcode/lib/core/alignment-pattern.js +0 -83
  212. package/node_modules/qrcode/lib/core/alphanumeric-data.js +0 -59
  213. package/node_modules/qrcode/lib/core/bit-buffer.js +0 -37
  214. package/node_modules/qrcode/lib/core/bit-matrix.js +0 -65
  215. package/node_modules/qrcode/lib/core/byte-data.js +0 -30
  216. package/node_modules/qrcode/lib/core/error-correction-code.js +0 -135
  217. package/node_modules/qrcode/lib/core/error-correction-level.js +0 -50
  218. package/node_modules/qrcode/lib/core/finder-pattern.js +0 -22
  219. package/node_modules/qrcode/lib/core/format-info.js +0 -29
  220. package/node_modules/qrcode/lib/core/galois-field.js +0 -69
  221. package/node_modules/qrcode/lib/core/kanji-data.js +0 -54
  222. package/node_modules/qrcode/lib/core/mask-pattern.js +0 -234
  223. package/node_modules/qrcode/lib/core/mode.js +0 -167
  224. package/node_modules/qrcode/lib/core/numeric-data.js +0 -43
  225. package/node_modules/qrcode/lib/core/polynomial.js +0 -62
  226. package/node_modules/qrcode/lib/core/qrcode.js +0 -495
  227. package/node_modules/qrcode/lib/core/reed-solomon-encoder.js +0 -56
  228. package/node_modules/qrcode/lib/core/regex.js +0 -31
  229. package/node_modules/qrcode/lib/core/segments.js +0 -330
  230. package/node_modules/qrcode/lib/core/utils.js +0 -63
  231. package/node_modules/qrcode/lib/core/version-check.js +0 -9
  232. package/node_modules/qrcode/lib/core/version.js +0 -163
  233. package/node_modules/qrcode/lib/index.js +0 -12
  234. package/node_modules/qrcode/lib/renderer/canvas.js +0 -63
  235. package/node_modules/qrcode/lib/renderer/png.js +0 -78
  236. package/node_modules/qrcode/lib/renderer/svg-tag.js +0 -81
  237. package/node_modules/qrcode/lib/renderer/svg.js +0 -19
  238. package/node_modules/qrcode/lib/renderer/terminal/terminal-small.js +0 -85
  239. package/node_modules/qrcode/lib/renderer/terminal/terminal.js +0 -49
  240. package/node_modules/qrcode/lib/renderer/terminal.js +0 -9
  241. package/node_modules/qrcode/lib/renderer/utf8.js +0 -71
  242. package/node_modules/qrcode/lib/renderer/utils.js +0 -99
  243. package/node_modules/qrcode/lib/server.js +0 -138
  244. package/node_modules/qrcode/license +0 -10
  245. package/node_modules/qrcode/package.json +0 -77
  246. package/node_modules/require-directory/.jshintrc +0 -67
  247. package/node_modules/require-directory/.npmignore +0 -1
  248. package/node_modules/require-directory/.travis.yml +0 -3
  249. package/node_modules/require-directory/LICENSE +0 -22
  250. package/node_modules/require-directory/README.markdown +0 -184
  251. package/node_modules/require-directory/index.js +0 -86
  252. package/node_modules/require-directory/package.json +0 -40
  253. package/node_modules/require-main-filename/CHANGELOG.md +0 -26
  254. package/node_modules/require-main-filename/LICENSE.txt +0 -14
  255. package/node_modules/require-main-filename/README.md +0 -26
  256. package/node_modules/require-main-filename/index.js +0 -18
  257. package/node_modules/require-main-filename/package.json +0 -35
  258. package/node_modules/set-blocking/CHANGELOG.md +0 -26
  259. package/node_modules/set-blocking/LICENSE.txt +0 -14
  260. package/node_modules/set-blocking/README.md +0 -31
  261. package/node_modules/set-blocking/index.js +0 -7
  262. package/node_modules/set-blocking/package.json +0 -42
  263. package/node_modules/string-width/index.d.ts +0 -29
  264. package/node_modules/string-width/index.js +0 -47
  265. package/node_modules/string-width/license +0 -9
  266. package/node_modules/string-width/package.json +0 -56
  267. package/node_modules/string-width/readme.md +0 -50
  268. package/node_modules/strip-ansi/index.d.ts +0 -17
  269. package/node_modules/strip-ansi/index.js +0 -4
  270. package/node_modules/strip-ansi/license +0 -9
  271. package/node_modules/strip-ansi/package.json +0 -54
  272. package/node_modules/strip-ansi/readme.md +0 -46
  273. package/node_modules/which-module/LICENSE +0 -13
  274. package/node_modules/which-module/README.md +0 -58
  275. package/node_modules/which-module/index.js +0 -9
  276. package/node_modules/which-module/package.json +0 -41
  277. package/node_modules/wrap-ansi/index.js +0 -186
  278. package/node_modules/wrap-ansi/license +0 -9
  279. package/node_modules/wrap-ansi/package.json +0 -61
  280. package/node_modules/wrap-ansi/readme.md +0 -97
  281. package/node_modules/y18n/CHANGELOG.md +0 -35
  282. package/node_modules/y18n/LICENSE +0 -13
  283. package/node_modules/y18n/README.md +0 -109
  284. package/node_modules/y18n/index.js +0 -188
  285. package/node_modules/y18n/package.json +0 -39
  286. package/node_modules/yargs/CHANGELOG.md +0 -420
  287. package/node_modules/yargs/LICENSE +0 -21
  288. package/node_modules/yargs/README.md +0 -140
  289. package/node_modules/yargs/build/lib/apply-extends.d.ts +0 -2
  290. package/node_modules/yargs/build/lib/apply-extends.js +0 -65
  291. package/node_modules/yargs/build/lib/argsert.d.ts +0 -2
  292. package/node_modules/yargs/build/lib/argsert.js +0 -65
  293. package/node_modules/yargs/build/lib/command.d.ts +0 -64
  294. package/node_modules/yargs/build/lib/command.js +0 -416
  295. package/node_modules/yargs/build/lib/common-types.d.ts +0 -36
  296. package/node_modules/yargs/build/lib/common-types.js +0 -25
  297. package/node_modules/yargs/build/lib/completion-templates.d.ts +0 -2
  298. package/node_modules/yargs/build/lib/completion-templates.js +0 -50
  299. package/node_modules/yargs/build/lib/completion.d.ts +0 -21
  300. package/node_modules/yargs/build/lib/completion.js +0 -135
  301. package/node_modules/yargs/build/lib/is-promise.d.ts +0 -1
  302. package/node_modules/yargs/build/lib/is-promise.js +0 -9
  303. package/node_modules/yargs/build/lib/levenshtein.d.ts +0 -1
  304. package/node_modules/yargs/build/lib/levenshtein.js +0 -58
  305. package/node_modules/yargs/build/lib/middleware.d.ts +0 -10
  306. package/node_modules/yargs/build/lib/middleware.js +0 -57
  307. package/node_modules/yargs/build/lib/obj-filter.d.ts +0 -1
  308. package/node_modules/yargs/build/lib/obj-filter.js +0 -14
  309. package/node_modules/yargs/build/lib/parse-command.d.ts +0 -11
  310. package/node_modules/yargs/build/lib/parse-command.js +0 -36
  311. package/node_modules/yargs/build/lib/process-argv.d.ts +0 -2
  312. package/node_modules/yargs/build/lib/process-argv.js +0 -31
  313. package/node_modules/yargs/build/lib/usage.d.ts +0 -49
  314. package/node_modules/yargs/build/lib/usage.js +0 -540
  315. package/node_modules/yargs/build/lib/validation.d.ts +0 -34
  316. package/node_modules/yargs/build/lib/validation.js +0 -330
  317. package/node_modules/yargs/build/lib/yargs.d.ts +0 -274
  318. package/node_modules/yargs/build/lib/yargs.js +0 -1190
  319. package/node_modules/yargs/build/lib/yerror.d.ts +0 -4
  320. package/node_modules/yargs/build/lib/yerror.js +0 -11
  321. package/node_modules/yargs/index.js +0 -40
  322. package/node_modules/yargs/locales/be.json +0 -46
  323. package/node_modules/yargs/locales/de.json +0 -46
  324. package/node_modules/yargs/locales/en.json +0 -51
  325. package/node_modules/yargs/locales/es.json +0 -46
  326. package/node_modules/yargs/locales/fi.json +0 -49
  327. package/node_modules/yargs/locales/fr.json +0 -53
  328. package/node_modules/yargs/locales/hi.json +0 -49
  329. package/node_modules/yargs/locales/hu.json +0 -46
  330. package/node_modules/yargs/locales/id.json +0 -50
  331. package/node_modules/yargs/locales/it.json +0 -46
  332. package/node_modules/yargs/locales/ja.json +0 -51
  333. package/node_modules/yargs/locales/ko.json +0 -49
  334. package/node_modules/yargs/locales/nb.json +0 -44
  335. package/node_modules/yargs/locales/nl.json +0 -49
  336. package/node_modules/yargs/locales/nn.json +0 -44
  337. package/node_modules/yargs/locales/pirate.json +0 -13
  338. package/node_modules/yargs/locales/pl.json +0 -49
  339. package/node_modules/yargs/locales/pt.json +0 -45
  340. package/node_modules/yargs/locales/pt_BR.json +0 -48
  341. package/node_modules/yargs/locales/ru.json +0 -46
  342. package/node_modules/yargs/locales/th.json +0 -46
  343. package/node_modules/yargs/locales/tr.json +0 -48
  344. package/node_modules/yargs/locales/zh_CN.json +0 -48
  345. package/node_modules/yargs/locales/zh_TW.json +0 -47
  346. package/node_modules/yargs/package.json +0 -92
  347. package/node_modules/yargs/yargs.js +0 -14
  348. package/node_modules/yargs-parser/CHANGELOG.md +0 -601
  349. package/node_modules/yargs-parser/LICENSE.txt +0 -14
  350. package/node_modules/yargs-parser/README.md +0 -449
  351. package/node_modules/yargs-parser/index.js +0 -1032
  352. package/node_modules/yargs-parser/lib/tokenize-arg-string.js +0 -40
  353. 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
- };