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