@marktrue/dsh-mobile-remote 3.2.4-alpha.2 → 3.2.4-alpha.3-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 -1427
  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,135 +0,0 @@
1
- const ECLevel = require('./error-correction-level')
2
-
3
- const EC_BLOCKS_TABLE = [
4
- // L M Q H
5
- 1, 1, 1, 1,
6
- 1, 1, 1, 1,
7
- 1, 1, 2, 2,
8
- 1, 2, 2, 4,
9
- 1, 2, 4, 4,
10
- 2, 4, 4, 4,
11
- 2, 4, 6, 5,
12
- 2, 4, 6, 6,
13
- 2, 5, 8, 8,
14
- 4, 5, 8, 8,
15
- 4, 5, 8, 11,
16
- 4, 8, 10, 11,
17
- 4, 9, 12, 16,
18
- 4, 9, 16, 16,
19
- 6, 10, 12, 18,
20
- 6, 10, 17, 16,
21
- 6, 11, 16, 19,
22
- 6, 13, 18, 21,
23
- 7, 14, 21, 25,
24
- 8, 16, 20, 25,
25
- 8, 17, 23, 25,
26
- 9, 17, 23, 34,
27
- 9, 18, 25, 30,
28
- 10, 20, 27, 32,
29
- 12, 21, 29, 35,
30
- 12, 23, 34, 37,
31
- 12, 25, 34, 40,
32
- 13, 26, 35, 42,
33
- 14, 28, 38, 45,
34
- 15, 29, 40, 48,
35
- 16, 31, 43, 51,
36
- 17, 33, 45, 54,
37
- 18, 35, 48, 57,
38
- 19, 37, 51, 60,
39
- 19, 38, 53, 63,
40
- 20, 40, 56, 66,
41
- 21, 43, 59, 70,
42
- 22, 45, 62, 74,
43
- 24, 47, 65, 77,
44
- 25, 49, 68, 81
45
- ]
46
-
47
- const EC_CODEWORDS_TABLE = [
48
- // L M Q H
49
- 7, 10, 13, 17,
50
- 10, 16, 22, 28,
51
- 15, 26, 36, 44,
52
- 20, 36, 52, 64,
53
- 26, 48, 72, 88,
54
- 36, 64, 96, 112,
55
- 40, 72, 108, 130,
56
- 48, 88, 132, 156,
57
- 60, 110, 160, 192,
58
- 72, 130, 192, 224,
59
- 80, 150, 224, 264,
60
- 96, 176, 260, 308,
61
- 104, 198, 288, 352,
62
- 120, 216, 320, 384,
63
- 132, 240, 360, 432,
64
- 144, 280, 408, 480,
65
- 168, 308, 448, 532,
66
- 180, 338, 504, 588,
67
- 196, 364, 546, 650,
68
- 224, 416, 600, 700,
69
- 224, 442, 644, 750,
70
- 252, 476, 690, 816,
71
- 270, 504, 750, 900,
72
- 300, 560, 810, 960,
73
- 312, 588, 870, 1050,
74
- 336, 644, 952, 1110,
75
- 360, 700, 1020, 1200,
76
- 390, 728, 1050, 1260,
77
- 420, 784, 1140, 1350,
78
- 450, 812, 1200, 1440,
79
- 480, 868, 1290, 1530,
80
- 510, 924, 1350, 1620,
81
- 540, 980, 1440, 1710,
82
- 570, 1036, 1530, 1800,
83
- 570, 1064, 1590, 1890,
84
- 600, 1120, 1680, 1980,
85
- 630, 1204, 1770, 2100,
86
- 660, 1260, 1860, 2220,
87
- 720, 1316, 1950, 2310,
88
- 750, 1372, 2040, 2430
89
- ]
90
-
91
- /**
92
- * Returns the number of error correction block that the QR Code should contain
93
- * for the specified version and error correction level.
94
- *
95
- * @param {Number} version QR Code version
96
- * @param {Number} errorCorrectionLevel Error correction level
97
- * @return {Number} Number of error correction blocks
98
- */
99
- exports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {
100
- switch (errorCorrectionLevel) {
101
- case ECLevel.L:
102
- return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]
103
- case ECLevel.M:
104
- return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]
105
- case ECLevel.Q:
106
- return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]
107
- case ECLevel.H:
108
- return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]
109
- default:
110
- return undefined
111
- }
112
- }
113
-
114
- /**
115
- * Returns the number of error correction codewords to use for the specified
116
- * version and error correction level.
117
- *
118
- * @param {Number} version QR Code version
119
- * @param {Number} errorCorrectionLevel Error correction level
120
- * @return {Number} Number of error correction codewords
121
- */
122
- exports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {
123
- switch (errorCorrectionLevel) {
124
- case ECLevel.L:
125
- return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]
126
- case ECLevel.M:
127
- return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]
128
- case ECLevel.Q:
129
- return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]
130
- case ECLevel.H:
131
- return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]
132
- default:
133
- return undefined
134
- }
135
- }
@@ -1,50 +0,0 @@
1
- exports.L = { bit: 1 }
2
- exports.M = { bit: 0 }
3
- exports.Q = { bit: 3 }
4
- exports.H = { bit: 2 }
5
-
6
- function fromString (string) {
7
- if (typeof string !== 'string') {
8
- throw new Error('Param is not a string')
9
- }
10
-
11
- const lcStr = string.toLowerCase()
12
-
13
- switch (lcStr) {
14
- case 'l':
15
- case 'low':
16
- return exports.L
17
-
18
- case 'm':
19
- case 'medium':
20
- return exports.M
21
-
22
- case 'q':
23
- case 'quartile':
24
- return exports.Q
25
-
26
- case 'h':
27
- case 'high':
28
- return exports.H
29
-
30
- default:
31
- throw new Error('Unknown EC Level: ' + string)
32
- }
33
- }
34
-
35
- exports.isValid = function isValid (level) {
36
- return level && typeof level.bit !== 'undefined' &&
37
- level.bit >= 0 && level.bit < 4
38
- }
39
-
40
- exports.from = function from (value, defaultValue) {
41
- if (exports.isValid(value)) {
42
- return value
43
- }
44
-
45
- try {
46
- return fromString(value)
47
- } catch (e) {
48
- return defaultValue
49
- }
50
- }
@@ -1,22 +0,0 @@
1
- const getSymbolSize = require('./utils').getSymbolSize
2
- const FINDER_PATTERN_SIZE = 7
3
-
4
- /**
5
- * Returns an array containing the positions of each finder pattern.
6
- * Each array's element represent the top-left point of the pattern as (x, y) coordinates
7
- *
8
- * @param {Number} version QR Code version
9
- * @return {Array} Array of coordinates
10
- */
11
- exports.getPositions = function getPositions (version) {
12
- const size = getSymbolSize(version)
13
-
14
- return [
15
- // top-left
16
- [0, 0],
17
- // top-right
18
- [size - FINDER_PATTERN_SIZE, 0],
19
- // bottom-left
20
- [0, size - FINDER_PATTERN_SIZE]
21
- ]
22
- }
@@ -1,29 +0,0 @@
1
- const Utils = require('./utils')
2
-
3
- const G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)
4
- const G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)
5
- const G15_BCH = Utils.getBCHDigit(G15)
6
-
7
- /**
8
- * Returns format information with relative error correction bits
9
- *
10
- * The format information is a 15-bit sequence containing 5 data bits,
11
- * with 10 error correction bits calculated using the (15, 5) BCH code.
12
- *
13
- * @param {Number} errorCorrectionLevel Error correction level
14
- * @param {Number} mask Mask pattern
15
- * @return {Number} Encoded format information bits
16
- */
17
- exports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {
18
- const data = ((errorCorrectionLevel.bit << 3) | mask)
19
- let d = data << 10
20
-
21
- while (Utils.getBCHDigit(d) - G15_BCH >= 0) {
22
- d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))
23
- }
24
-
25
- // xor final data with mask pattern in order to ensure that
26
- // no combination of Error Correction Level and data mask pattern
27
- // will result in an all-zero data string
28
- return ((data << 10) | d) ^ G15_MASK
29
- }
@@ -1,69 +0,0 @@
1
- const EXP_TABLE = new Uint8Array(512)
2
- const LOG_TABLE = new Uint8Array(256)
3
- /**
4
- * Precompute the log and anti-log tables for faster computation later
5
- *
6
- * For each possible value in the galois field 2^8, we will pre-compute
7
- * the logarithm and anti-logarithm (exponential) of this value
8
- *
9
- * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}
10
- */
11
- ;(function initTables () {
12
- let x = 1
13
- for (let i = 0; i < 255; i++) {
14
- EXP_TABLE[i] = x
15
- LOG_TABLE[x] = i
16
-
17
- x <<= 1 // multiply by 2
18
-
19
- // The QR code specification says to use byte-wise modulo 100011101 arithmetic.
20
- // This means that when a number is 256 or larger, it should be XORed with 0x11D.
21
- if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)
22
- x ^= 0x11D
23
- }
24
- }
25
-
26
- // Optimization: double the size of the anti-log table so that we don't need to mod 255 to
27
- // stay inside the bounds (because we will mainly use this table for the multiplication of
28
- // two GF numbers, no more).
29
- // @see {@link mul}
30
- for (let i = 255; i < 512; i++) {
31
- EXP_TABLE[i] = EXP_TABLE[i - 255]
32
- }
33
- }())
34
-
35
- /**
36
- * Returns log value of n inside Galois Field
37
- *
38
- * @param {Number} n
39
- * @return {Number}
40
- */
41
- exports.log = function log (n) {
42
- if (n < 1) throw new Error('log(' + n + ')')
43
- return LOG_TABLE[n]
44
- }
45
-
46
- /**
47
- * Returns anti-log value of n inside Galois Field
48
- *
49
- * @param {Number} n
50
- * @return {Number}
51
- */
52
- exports.exp = function exp (n) {
53
- return EXP_TABLE[n]
54
- }
55
-
56
- /**
57
- * Multiplies two number inside Galois Field
58
- *
59
- * @param {Number} x
60
- * @param {Number} y
61
- * @return {Number}
62
- */
63
- exports.mul = function mul (x, y) {
64
- if (x === 0 || y === 0) return 0
65
-
66
- // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized
67
- // @see {@link initTables}
68
- return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]
69
- }
@@ -1,54 +0,0 @@
1
- const Mode = require('./mode')
2
- const Utils = require('./utils')
3
-
4
- function KanjiData (data) {
5
- this.mode = Mode.KANJI
6
- this.data = data
7
- }
8
-
9
- KanjiData.getBitsLength = function getBitsLength (length) {
10
- return length * 13
11
- }
12
-
13
- KanjiData.prototype.getLength = function getLength () {
14
- return this.data.length
15
- }
16
-
17
- KanjiData.prototype.getBitsLength = function getBitsLength () {
18
- return KanjiData.getBitsLength(this.data.length)
19
- }
20
-
21
- KanjiData.prototype.write = function (bitBuffer) {
22
- let i
23
-
24
- // In the Shift JIS system, Kanji characters are represented by a two byte combination.
25
- // These byte values are shifted from the JIS X 0208 values.
26
- // JIS X 0208 gives details of the shift coded representation.
27
- for (i = 0; i < this.data.length; i++) {
28
- let value = Utils.toSJIS(this.data[i])
29
-
30
- // For characters with Shift JIS values from 0x8140 to 0x9FFC:
31
- if (value >= 0x8140 && value <= 0x9FFC) {
32
- // Subtract 0x8140 from Shift JIS value
33
- value -= 0x8140
34
-
35
- // For characters with Shift JIS values from 0xE040 to 0xEBBF
36
- } else if (value >= 0xE040 && value <= 0xEBBF) {
37
- // Subtract 0xC140 from Shift JIS value
38
- value -= 0xC140
39
- } else {
40
- throw new Error(
41
- 'Invalid SJIS character: ' + this.data[i] + '\n' +
42
- 'Make sure your charset is UTF-8')
43
- }
44
-
45
- // Multiply most significant byte of result by 0xC0
46
- // and add least significant byte to product
47
- value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)
48
-
49
- // Convert result to a 13-bit binary string
50
- bitBuffer.put(value, 13)
51
- }
52
- }
53
-
54
- module.exports = KanjiData
@@ -1,234 +0,0 @@
1
- /**
2
- * Data mask pattern reference
3
- * @type {Object}
4
- */
5
- exports.Patterns = {
6
- PATTERN000: 0,
7
- PATTERN001: 1,
8
- PATTERN010: 2,
9
- PATTERN011: 3,
10
- PATTERN100: 4,
11
- PATTERN101: 5,
12
- PATTERN110: 6,
13
- PATTERN111: 7
14
- }
15
-
16
- /**
17
- * Weighted penalty scores for the undesirable features
18
- * @type {Object}
19
- */
20
- const PenaltyScores = {
21
- N1: 3,
22
- N2: 3,
23
- N3: 40,
24
- N4: 10
25
- }
26
-
27
- /**
28
- * Check if mask pattern value is valid
29
- *
30
- * @param {Number} mask Mask pattern
31
- * @return {Boolean} true if valid, false otherwise
32
- */
33
- exports.isValid = function isValid (mask) {
34
- return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7
35
- }
36
-
37
- /**
38
- * Returns mask pattern from a value.
39
- * If value is not valid, returns undefined
40
- *
41
- * @param {Number|String} value Mask pattern value
42
- * @return {Number} Valid mask pattern or undefined
43
- */
44
- exports.from = function from (value) {
45
- return exports.isValid(value) ? parseInt(value, 10) : undefined
46
- }
47
-
48
- /**
49
- * Find adjacent modules in row/column with the same color
50
- * and assign a penalty value.
51
- *
52
- * Points: N1 + i
53
- * i is the amount by which the number of adjacent modules of the same color exceeds 5
54
- */
55
- exports.getPenaltyN1 = function getPenaltyN1 (data) {
56
- const size = data.size
57
- let points = 0
58
- let sameCountCol = 0
59
- let sameCountRow = 0
60
- let lastCol = null
61
- let lastRow = null
62
-
63
- for (let row = 0; row < size; row++) {
64
- sameCountCol = sameCountRow = 0
65
- lastCol = lastRow = null
66
-
67
- for (let col = 0; col < size; col++) {
68
- let module = data.get(row, col)
69
- if (module === lastCol) {
70
- sameCountCol++
71
- } else {
72
- if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)
73
- lastCol = module
74
- sameCountCol = 1
75
- }
76
-
77
- module = data.get(col, row)
78
- if (module === lastRow) {
79
- sameCountRow++
80
- } else {
81
- if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)
82
- lastRow = module
83
- sameCountRow = 1
84
- }
85
- }
86
-
87
- if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)
88
- if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)
89
- }
90
-
91
- return points
92
- }
93
-
94
- /**
95
- * Find 2x2 blocks with the same color and assign a penalty value
96
- *
97
- * Points: N2 * (m - 1) * (n - 1)
98
- */
99
- exports.getPenaltyN2 = function getPenaltyN2 (data) {
100
- const size = data.size
101
- let points = 0
102
-
103
- for (let row = 0; row < size - 1; row++) {
104
- for (let col = 0; col < size - 1; col++) {
105
- const last = data.get(row, col) +
106
- data.get(row, col + 1) +
107
- data.get(row + 1, col) +
108
- data.get(row + 1, col + 1)
109
-
110
- if (last === 4 || last === 0) points++
111
- }
112
- }
113
-
114
- return points * PenaltyScores.N2
115
- }
116
-
117
- /**
118
- * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,
119
- * preceded or followed by light area 4 modules wide
120
- *
121
- * Points: N3 * number of pattern found
122
- */
123
- exports.getPenaltyN3 = function getPenaltyN3 (data) {
124
- const size = data.size
125
- let points = 0
126
- let bitsCol = 0
127
- let bitsRow = 0
128
-
129
- for (let row = 0; row < size; row++) {
130
- bitsCol = bitsRow = 0
131
- for (let col = 0; col < size; col++) {
132
- bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)
133
- if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++
134
-
135
- bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)
136
- if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++
137
- }
138
- }
139
-
140
- return points * PenaltyScores.N3
141
- }
142
-
143
- /**
144
- * Calculate proportion of dark modules in entire symbol
145
- *
146
- * Points: N4 * k
147
- *
148
- * k is the rating of the deviation of the proportion of dark modules
149
- * in the symbol from 50% in steps of 5%
150
- */
151
- exports.getPenaltyN4 = function getPenaltyN4 (data) {
152
- let darkCount = 0
153
- const modulesCount = data.data.length
154
-
155
- for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]
156
-
157
- const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)
158
-
159
- return k * PenaltyScores.N4
160
- }
161
-
162
- /**
163
- * Return mask value at given position
164
- *
165
- * @param {Number} maskPattern Pattern reference value
166
- * @param {Number} i Row
167
- * @param {Number} j Column
168
- * @return {Boolean} Mask value
169
- */
170
- function getMaskAt (maskPattern, i, j) {
171
- switch (maskPattern) {
172
- case exports.Patterns.PATTERN000: return (i + j) % 2 === 0
173
- case exports.Patterns.PATTERN001: return i % 2 === 0
174
- case exports.Patterns.PATTERN010: return j % 3 === 0
175
- case exports.Patterns.PATTERN011: return (i + j) % 3 === 0
176
- case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0
177
- case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0
178
- case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0
179
- case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0
180
-
181
- default: throw new Error('bad maskPattern:' + maskPattern)
182
- }
183
- }
184
-
185
- /**
186
- * Apply a mask pattern to a BitMatrix
187
- *
188
- * @param {Number} pattern Pattern reference number
189
- * @param {BitMatrix} data BitMatrix data
190
- */
191
- exports.applyMask = function applyMask (pattern, data) {
192
- const size = data.size
193
-
194
- for (let col = 0; col < size; col++) {
195
- for (let row = 0; row < size; row++) {
196
- if (data.isReserved(row, col)) continue
197
- data.xor(row, col, getMaskAt(pattern, row, col))
198
- }
199
- }
200
- }
201
-
202
- /**
203
- * Returns the best mask pattern for data
204
- *
205
- * @param {BitMatrix} data
206
- * @return {Number} Mask pattern reference number
207
- */
208
- exports.getBestMask = function getBestMask (data, setupFormatFunc) {
209
- const numPatterns = Object.keys(exports.Patterns).length
210
- let bestPattern = 0
211
- let lowerPenalty = Infinity
212
-
213
- for (let p = 0; p < numPatterns; p++) {
214
- setupFormatFunc(p)
215
- exports.applyMask(p, data)
216
-
217
- // Calculate penalty
218
- const penalty =
219
- exports.getPenaltyN1(data) +
220
- exports.getPenaltyN2(data) +
221
- exports.getPenaltyN3(data) +
222
- exports.getPenaltyN4(data)
223
-
224
- // Undo previously applied mask
225
- exports.applyMask(p, data)
226
-
227
- if (penalty < lowerPenalty) {
228
- lowerPenalty = penalty
229
- bestPattern = p
230
- }
231
- }
232
-
233
- return bestPattern
234
- }