@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,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
- }