@prismer/sdk 2.0.8 → 2.2.55

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 (387) hide show
  1. package/README.md +13 -7
  2. package/dist/chunk-R7POPVJR.mjs +35 -0
  3. package/dist/cli.js +59653 -8452
  4. package/dist/index.d.mts +716 -229
  5. package/dist/index.d.ts +716 -229
  6. package/dist/index.js +307 -23
  7. package/dist/index.mjs +306 -23
  8. package/dist/katex-OIP2Q473.mjs +14515 -0
  9. package/dist/pkf-schema.json +35 -0
  10. package/dist/pkf.d.mts +1 -0
  11. package/dist/pkf.d.ts +1 -0
  12. package/dist/pkf.js +48370 -0
  13. package/dist/pkf.mjs +33683 -0
  14. package/node_modules/@clack/core/CHANGELOG.md +249 -0
  15. package/node_modules/@clack/core/LICENSE +9 -0
  16. package/node_modules/@clack/core/README.md +22 -0
  17. package/node_modules/@clack/core/dist/index.cjs +15 -0
  18. package/node_modules/@clack/core/dist/index.cjs.map +1 -0
  19. package/node_modules/@clack/core/dist/index.d.cts +209 -0
  20. package/node_modules/@clack/core/dist/index.d.mts +209 -0
  21. package/node_modules/@clack/core/dist/index.d.ts +209 -0
  22. package/node_modules/@clack/core/dist/index.mjs +15 -0
  23. package/node_modules/@clack/core/dist/index.mjs.map +1 -0
  24. package/node_modules/@clack/core/package.json +62 -0
  25. package/node_modules/@clack/prompts/CHANGELOG.md +374 -0
  26. package/node_modules/@clack/prompts/LICENSE +9 -0
  27. package/node_modules/@clack/prompts/README.md +191 -0
  28. package/node_modules/@clack/prompts/dist/index.cjs +80 -0
  29. package/node_modules/@clack/prompts/dist/index.cjs.map +1 -0
  30. package/node_modules/@clack/prompts/dist/index.d.cts +151 -0
  31. package/node_modules/@clack/prompts/dist/index.d.mts +151 -0
  32. package/node_modules/@clack/prompts/dist/index.d.ts +151 -0
  33. package/node_modules/@clack/prompts/dist/index.mjs +80 -0
  34. package/node_modules/@clack/prompts/dist/index.mjs.map +1 -0
  35. package/node_modules/@clack/prompts/package.json +61 -0
  36. package/node_modules/@iarna/toml/LICENSE +14 -0
  37. package/node_modules/@iarna/toml/README.md +301 -0
  38. package/node_modules/@iarna/toml/index.d.ts +57 -0
  39. package/node_modules/@iarna/toml/lib/create-date.js +23 -0
  40. package/node_modules/@iarna/toml/lib/create-datetime-float.js +24 -0
  41. package/node_modules/@iarna/toml/lib/create-datetime.js +10 -0
  42. package/node_modules/@iarna/toml/lib/create-time.js +22 -0
  43. package/node_modules/@iarna/toml/lib/format-num.js +6 -0
  44. package/node_modules/@iarna/toml/lib/parser-debug.js +60 -0
  45. package/node_modules/@iarna/toml/lib/parser.js +127 -0
  46. package/node_modules/@iarna/toml/lib/toml-parser.js +1379 -0
  47. package/node_modules/@iarna/toml/package.json +82 -0
  48. package/node_modules/@iarna/toml/parse-async.js +30 -0
  49. package/node_modules/@iarna/toml/parse-pretty-error.js +33 -0
  50. package/node_modules/@iarna/toml/parse-stream.js +80 -0
  51. package/node_modules/@iarna/toml/parse-string.js +18 -0
  52. package/node_modules/@iarna/toml/parse.js +5 -0
  53. package/node_modules/@iarna/toml/stringify.js +296 -0
  54. package/node_modules/@iarna/toml/toml.js +3 -0
  55. package/node_modules/@prismer/aip-sdk/README.md +36 -0
  56. package/node_modules/@prismer/aip-sdk/dist/cli/chunk-LIJDUCHB.js +104 -0
  57. package/node_modules/@prismer/aip-sdk/dist/cli/chunk-QUQXZ2LD.js +99 -0
  58. package/node_modules/@prismer/aip-sdk/dist/cli/credentials-5GGZEJFG.js +56 -0
  59. package/node_modules/@prismer/aip-sdk/dist/cli/delegation-3J35VGBZ.js +64 -0
  60. package/node_modules/@prismer/aip-sdk/dist/cli/identity-LXVWKSVB.js +7 -0
  61. package/node_modules/@prismer/aip-sdk/dist/cli/index.js +259 -0
  62. package/node_modules/@prismer/aip-sdk/dist/cli/resolver-TGOPKW52.js +26 -0
  63. package/node_modules/@prismer/aip-sdk/dist/index.cjs +368 -0
  64. package/node_modules/@prismer/aip-sdk/dist/index.d.cts +174 -0
  65. package/node_modules/@prismer/aip-sdk/dist/index.d.ts +174 -0
  66. package/node_modules/@prismer/aip-sdk/dist/index.js +322 -0
  67. package/node_modules/@prismer/aip-sdk/package.json +53 -0
  68. package/node_modules/ansi-regex/index.d.ts +37 -0
  69. package/node_modules/ansi-regex/index.js +10 -0
  70. package/node_modules/ansi-regex/license +9 -0
  71. package/node_modules/ansi-regex/package.json +55 -0
  72. package/node_modules/ansi-regex/readme.md +78 -0
  73. package/node_modules/camelcase/index.d.ts +63 -0
  74. package/node_modules/camelcase/index.js +76 -0
  75. package/node_modules/camelcase/license +9 -0
  76. package/node_modules/camelcase/package.json +43 -0
  77. package/node_modules/camelcase/readme.md +99 -0
  78. package/node_modules/cliui/LICENSE.txt +14 -0
  79. package/node_modules/cliui/README.md +115 -0
  80. package/node_modules/cliui/index.js +354 -0
  81. package/node_modules/cliui/package.json +65 -0
  82. package/node_modules/color-convert/LICENSE +21 -0
  83. package/node_modules/color-convert/README.md +68 -0
  84. package/node_modules/color-convert/conversions.js +839 -0
  85. package/node_modules/color-convert/index.js +81 -0
  86. package/node_modules/color-convert/package.json +48 -0
  87. package/node_modules/color-convert/route.js +97 -0
  88. package/node_modules/color-name/LICENSE +8 -0
  89. package/node_modules/color-name/README.md +11 -0
  90. package/node_modules/color-name/index.js +152 -0
  91. package/node_modules/color-name/package.json +28 -0
  92. package/node_modules/commander/LICENSE +22 -0
  93. package/node_modules/commander/Readme.md +1157 -0
  94. package/node_modules/commander/esm.mjs +16 -0
  95. package/node_modules/commander/index.js +24 -0
  96. package/node_modules/commander/lib/argument.js +149 -0
  97. package/node_modules/commander/lib/command.js +2509 -0
  98. package/node_modules/commander/lib/error.js +39 -0
  99. package/node_modules/commander/lib/help.js +520 -0
  100. package/node_modules/commander/lib/option.js +330 -0
  101. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  102. package/node_modules/commander/package-support.json +16 -0
  103. package/node_modules/commander/package.json +84 -0
  104. package/node_modules/commander/typings/esm.d.mts +3 -0
  105. package/node_modules/commander/typings/index.d.ts +969 -0
  106. package/node_modules/decamelize/index.js +13 -0
  107. package/node_modules/decamelize/license +21 -0
  108. package/node_modules/decamelize/package.json +38 -0
  109. package/node_modules/decamelize/readme.md +48 -0
  110. package/node_modules/dijkstrajs/.travis.yml +4 -0
  111. package/node_modules/dijkstrajs/CONTRIBUTING.md +8 -0
  112. package/node_modules/dijkstrajs/LICENSE.md +19 -0
  113. package/node_modules/dijkstrajs/README.md +18 -0
  114. package/node_modules/dijkstrajs/dijkstra.js +165 -0
  115. package/node_modules/dijkstrajs/package.json +60 -0
  116. package/node_modules/dijkstrajs/test/dijkstra.test.js +96 -0
  117. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  118. package/node_modules/emoji-regex/README.md +73 -0
  119. package/node_modules/emoji-regex/es2015/index.js +6 -0
  120. package/node_modules/emoji-regex/es2015/text.js +6 -0
  121. package/node_modules/emoji-regex/index.d.ts +23 -0
  122. package/node_modules/emoji-regex/index.js +6 -0
  123. package/node_modules/emoji-regex/package.json +50 -0
  124. package/node_modules/emoji-regex/text.js +6 -0
  125. package/node_modules/find-up/index.d.ts +137 -0
  126. package/node_modules/find-up/index.js +89 -0
  127. package/node_modules/find-up/license +9 -0
  128. package/node_modules/find-up/package.json +53 -0
  129. package/node_modules/find-up/readme.md +156 -0
  130. package/node_modules/get-caller-file/LICENSE.md +6 -0
  131. package/node_modules/get-caller-file/README.md +41 -0
  132. package/node_modules/get-caller-file/index.d.ts +2 -0
  133. package/node_modules/get-caller-file/index.js +22 -0
  134. package/node_modules/get-caller-file/index.js.map +1 -0
  135. package/node_modules/get-caller-file/package.json +42 -0
  136. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  137. package/node_modules/is-fullwidth-code-point/index.js +50 -0
  138. package/node_modules/is-fullwidth-code-point/license +9 -0
  139. package/node_modules/is-fullwidth-code-point/package.json +42 -0
  140. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  141. package/node_modules/locate-path/index.d.ts +83 -0
  142. package/node_modules/locate-path/index.js +65 -0
  143. package/node_modules/locate-path/license +9 -0
  144. package/node_modules/locate-path/package.json +45 -0
  145. package/node_modules/locate-path/readme.md +122 -0
  146. package/node_modules/p-locate/index.d.ts +64 -0
  147. package/node_modules/p-locate/index.js +52 -0
  148. package/node_modules/p-locate/license +9 -0
  149. package/node_modules/p-locate/node_modules/p-limit/index.d.ts +38 -0
  150. package/node_modules/p-locate/node_modules/p-limit/index.js +57 -0
  151. package/node_modules/p-locate/node_modules/p-limit/license +9 -0
  152. package/node_modules/p-locate/node_modules/p-limit/package.json +52 -0
  153. package/node_modules/p-locate/node_modules/p-limit/readme.md +101 -0
  154. package/node_modules/p-locate/package.json +53 -0
  155. package/node_modules/p-locate/readme.md +90 -0
  156. package/node_modules/p-try/index.d.ts +39 -0
  157. package/node_modules/p-try/index.js +9 -0
  158. package/node_modules/p-try/license +9 -0
  159. package/node_modules/p-try/package.json +42 -0
  160. package/node_modules/p-try/readme.md +58 -0
  161. package/node_modules/path-exists/index.d.ts +28 -0
  162. package/node_modules/path-exists/index.js +23 -0
  163. package/node_modules/path-exists/license +9 -0
  164. package/node_modules/path-exists/package.json +39 -0
  165. package/node_modules/path-exists/readme.md +52 -0
  166. package/node_modules/picocolors/LICENSE +15 -0
  167. package/node_modules/picocolors/README.md +21 -0
  168. package/node_modules/picocolors/package.json +25 -0
  169. package/node_modules/picocolors/picocolors.browser.js +4 -0
  170. package/node_modules/picocolors/picocolors.d.ts +5 -0
  171. package/node_modules/picocolors/picocolors.js +75 -0
  172. package/node_modules/picocolors/types.d.ts +51 -0
  173. package/node_modules/pngjs/.eslintignore +2 -0
  174. package/node_modules/pngjs/.eslintrc.json +19 -0
  175. package/node_modules/pngjs/.prettierignore +3 -0
  176. package/node_modules/pngjs/LICENSE +20 -0
  177. package/node_modules/pngjs/README.md +429 -0
  178. package/node_modules/pngjs/browser.js +16096 -0
  179. package/node_modules/pngjs/coverage/lcov-report/base.css +354 -0
  180. package/node_modules/pngjs/coverage/lcov-report/bitmapper.js.html +881 -0
  181. package/node_modules/pngjs/coverage/lcov-report/bitpacker.js.html +554 -0
  182. package/node_modules/pngjs/coverage/lcov-report/block-navigation.js +77 -0
  183. package/node_modules/pngjs/coverage/lcov-report/chunkstream.js.html +647 -0
  184. package/node_modules/pngjs/coverage/lcov-report/constants.js.html +176 -0
  185. package/node_modules/pngjs/coverage/lcov-report/crc.js.html +200 -0
  186. package/node_modules/pngjs/coverage/lcov-report/favicon.png +0 -0
  187. package/node_modules/pngjs/coverage/lcov-report/filter-pack.js.html +593 -0
  188. package/node_modules/pngjs/coverage/lcov-report/filter-parse-async.js.html +152 -0
  189. package/node_modules/pngjs/coverage/lcov-report/filter-parse-sync.js.html +143 -0
  190. package/node_modules/pngjs/coverage/lcov-report/filter-parse.js.html +611 -0
  191. package/node_modules/pngjs/coverage/lcov-report/format-normaliser.js.html +359 -0
  192. package/node_modules/pngjs/coverage/lcov-report/index.html +426 -0
  193. package/node_modules/pngjs/coverage/lcov-report/interlace.js.html +365 -0
  194. package/node_modules/pngjs/coverage/lcov-report/packer-async.js.html +230 -0
  195. package/node_modules/pngjs/coverage/lcov-report/packer-sync.js.html +248 -0
  196. package/node_modules/pngjs/coverage/lcov-report/packer.js.html +467 -0
  197. package/node_modules/pngjs/coverage/lcov-report/paeth-predictor.js.html +128 -0
  198. package/node_modules/pngjs/coverage/lcov-report/parser-async.js.html +575 -0
  199. package/node_modules/pngjs/coverage/lcov-report/parser-sync.js.html +404 -0
  200. package/node_modules/pngjs/coverage/lcov-report/parser.js.html +950 -0
  201. package/node_modules/pngjs/coverage/lcov-report/png-sync.js.html +116 -0
  202. package/node_modules/pngjs/coverage/lcov-report/png.js.html +662 -0
  203. package/node_modules/pngjs/coverage/lcov-report/prettify.css +101 -0
  204. package/node_modules/pngjs/coverage/lcov-report/prettify.js +1007 -0
  205. package/node_modules/pngjs/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  206. package/node_modules/pngjs/coverage/lcov-report/sorter.js +169 -0
  207. package/node_modules/pngjs/coverage/lcov-report/sync-inflate.js.html +584 -0
  208. package/node_modules/pngjs/coverage/lcov-report/sync-reader.js.html +215 -0
  209. package/node_modules/pngjs/coverage/lcov.info +2177 -0
  210. package/node_modules/pngjs/lib/bitmapper.js +267 -0
  211. package/node_modules/pngjs/lib/bitpacker.js +158 -0
  212. package/node_modules/pngjs/lib/chunkstream.js +189 -0
  213. package/node_modules/pngjs/lib/constants.js +32 -0
  214. package/node_modules/pngjs/lib/crc.js +40 -0
  215. package/node_modules/pngjs/lib/filter-pack.js +171 -0
  216. package/node_modules/pngjs/lib/filter-parse-async.js +24 -0
  217. package/node_modules/pngjs/lib/filter-parse-sync.js +21 -0
  218. package/node_modules/pngjs/lib/filter-parse.js +177 -0
  219. package/node_modules/pngjs/lib/format-normaliser.js +93 -0
  220. package/node_modules/pngjs/lib/interlace.js +95 -0
  221. package/node_modules/pngjs/lib/packer-async.js +50 -0
  222. package/node_modules/pngjs/lib/packer-sync.js +56 -0
  223. package/node_modules/pngjs/lib/packer.js +129 -0
  224. package/node_modules/pngjs/lib/paeth-predictor.js +16 -0
  225. package/node_modules/pngjs/lib/parser-async.js +165 -0
  226. package/node_modules/pngjs/lib/parser-sync.js +108 -0
  227. package/node_modules/pngjs/lib/parser.js +290 -0
  228. package/node_modules/pngjs/lib/png-sync.js +12 -0
  229. package/node_modules/pngjs/lib/png.js +194 -0
  230. package/node_modules/pngjs/lib/sync-inflate.js +168 -0
  231. package/node_modules/pngjs/lib/sync-reader.js +45 -0
  232. package/node_modules/pngjs/package.json +73 -0
  233. package/node_modules/qrcode/README.md +770 -0
  234. package/node_modules/qrcode/bin/qrcode +159 -0
  235. package/node_modules/qrcode/helper/to-sjis-browser.js +2 -0
  236. package/node_modules/qrcode/helper/to-sjis.js +105 -0
  237. package/node_modules/qrcode/lib/browser.js +76 -0
  238. package/node_modules/qrcode/lib/can-promise.js +7 -0
  239. package/node_modules/qrcode/lib/core/alignment-pattern.js +83 -0
  240. package/node_modules/qrcode/lib/core/alphanumeric-data.js +59 -0
  241. package/node_modules/qrcode/lib/core/bit-buffer.js +37 -0
  242. package/node_modules/qrcode/lib/core/bit-matrix.js +65 -0
  243. package/node_modules/qrcode/lib/core/byte-data.js +30 -0
  244. package/node_modules/qrcode/lib/core/error-correction-code.js +135 -0
  245. package/node_modules/qrcode/lib/core/error-correction-level.js +50 -0
  246. package/node_modules/qrcode/lib/core/finder-pattern.js +22 -0
  247. package/node_modules/qrcode/lib/core/format-info.js +29 -0
  248. package/node_modules/qrcode/lib/core/galois-field.js +69 -0
  249. package/node_modules/qrcode/lib/core/kanji-data.js +54 -0
  250. package/node_modules/qrcode/lib/core/mask-pattern.js +234 -0
  251. package/node_modules/qrcode/lib/core/mode.js +167 -0
  252. package/node_modules/qrcode/lib/core/numeric-data.js +43 -0
  253. package/node_modules/qrcode/lib/core/polynomial.js +62 -0
  254. package/node_modules/qrcode/lib/core/qrcode.js +495 -0
  255. package/node_modules/qrcode/lib/core/reed-solomon-encoder.js +56 -0
  256. package/node_modules/qrcode/lib/core/regex.js +31 -0
  257. package/node_modules/qrcode/lib/core/segments.js +330 -0
  258. package/node_modules/qrcode/lib/core/utils.js +63 -0
  259. package/node_modules/qrcode/lib/core/version-check.js +9 -0
  260. package/node_modules/qrcode/lib/core/version.js +163 -0
  261. package/node_modules/qrcode/lib/index.js +12 -0
  262. package/node_modules/qrcode/lib/renderer/canvas.js +63 -0
  263. package/node_modules/qrcode/lib/renderer/png.js +78 -0
  264. package/node_modules/qrcode/lib/renderer/svg-tag.js +81 -0
  265. package/node_modules/qrcode/lib/renderer/svg.js +19 -0
  266. package/node_modules/qrcode/lib/renderer/terminal/terminal-small.js +85 -0
  267. package/node_modules/qrcode/lib/renderer/terminal/terminal.js +49 -0
  268. package/node_modules/qrcode/lib/renderer/terminal.js +9 -0
  269. package/node_modules/qrcode/lib/renderer/utf8.js +71 -0
  270. package/node_modules/qrcode/lib/renderer/utils.js +99 -0
  271. package/node_modules/qrcode/lib/server.js +138 -0
  272. package/node_modules/qrcode/license +10 -0
  273. package/node_modules/qrcode/package.json +77 -0
  274. package/node_modules/require-directory/.jshintrc +67 -0
  275. package/node_modules/require-directory/.npmignore +1 -0
  276. package/node_modules/require-directory/.travis.yml +3 -0
  277. package/node_modules/require-directory/LICENSE +22 -0
  278. package/node_modules/require-directory/README.markdown +184 -0
  279. package/node_modules/require-directory/index.js +86 -0
  280. package/node_modules/require-directory/package.json +40 -0
  281. package/node_modules/require-main-filename/LICENSE.txt +14 -0
  282. package/node_modules/require-main-filename/README.md +26 -0
  283. package/node_modules/require-main-filename/index.js +18 -0
  284. package/node_modules/require-main-filename/package.json +35 -0
  285. package/node_modules/set-blocking/LICENSE.txt +14 -0
  286. package/node_modules/set-blocking/README.md +31 -0
  287. package/node_modules/set-blocking/index.js +7 -0
  288. package/node_modules/set-blocking/package.json +42 -0
  289. package/node_modules/sisteransi/license +21 -0
  290. package/node_modules/sisteransi/package.json +34 -0
  291. package/node_modules/sisteransi/readme.md +113 -0
  292. package/node_modules/sisteransi/src/index.js +58 -0
  293. package/node_modules/sisteransi/src/sisteransi.d.ts +35 -0
  294. package/node_modules/string-width/index.d.ts +29 -0
  295. package/node_modules/string-width/index.js +47 -0
  296. package/node_modules/string-width/license +9 -0
  297. package/node_modules/string-width/package.json +56 -0
  298. package/node_modules/string-width/readme.md +50 -0
  299. package/node_modules/strip-ansi/index.d.ts +17 -0
  300. package/node_modules/strip-ansi/index.js +4 -0
  301. package/node_modules/strip-ansi/license +9 -0
  302. package/node_modules/strip-ansi/package.json +54 -0
  303. package/node_modules/strip-ansi/readme.md +46 -0
  304. package/node_modules/which-module/LICENSE +13 -0
  305. package/node_modules/which-module/README.md +58 -0
  306. package/node_modules/which-module/index.js +9 -0
  307. package/node_modules/which-module/package.json +41 -0
  308. package/node_modules/wrap-ansi/index.js +186 -0
  309. package/node_modules/wrap-ansi/license +9 -0
  310. package/node_modules/wrap-ansi/node_modules/ansi-styles/index.d.ts +345 -0
  311. package/node_modules/wrap-ansi/node_modules/ansi-styles/index.js +163 -0
  312. package/node_modules/wrap-ansi/node_modules/ansi-styles/license +9 -0
  313. package/node_modules/wrap-ansi/node_modules/ansi-styles/package.json +56 -0
  314. package/node_modules/wrap-ansi/node_modules/ansi-styles/readme.md +152 -0
  315. package/node_modules/wrap-ansi/package.json +61 -0
  316. package/node_modules/wrap-ansi/readme.md +97 -0
  317. package/node_modules/y18n/LICENSE +13 -0
  318. package/node_modules/y18n/README.md +109 -0
  319. package/node_modules/y18n/index.js +188 -0
  320. package/node_modules/y18n/package.json +39 -0
  321. package/node_modules/yargs/LICENSE +21 -0
  322. package/node_modules/yargs/README.md +140 -0
  323. package/node_modules/yargs/build/lib/apply-extends.d.ts +2 -0
  324. package/node_modules/yargs/build/lib/apply-extends.js +65 -0
  325. package/node_modules/yargs/build/lib/argsert.d.ts +2 -0
  326. package/node_modules/yargs/build/lib/argsert.js +65 -0
  327. package/node_modules/yargs/build/lib/command.d.ts +64 -0
  328. package/node_modules/yargs/build/lib/command.js +416 -0
  329. package/node_modules/yargs/build/lib/common-types.d.ts +36 -0
  330. package/node_modules/yargs/build/lib/common-types.js +25 -0
  331. package/node_modules/yargs/build/lib/completion-templates.d.ts +2 -0
  332. package/node_modules/yargs/build/lib/completion-templates.js +50 -0
  333. package/node_modules/yargs/build/lib/completion.d.ts +21 -0
  334. package/node_modules/yargs/build/lib/completion.js +135 -0
  335. package/node_modules/yargs/build/lib/is-promise.d.ts +1 -0
  336. package/node_modules/yargs/build/lib/is-promise.js +9 -0
  337. package/node_modules/yargs/build/lib/levenshtein.d.ts +1 -0
  338. package/node_modules/yargs/build/lib/levenshtein.js +58 -0
  339. package/node_modules/yargs/build/lib/middleware.d.ts +10 -0
  340. package/node_modules/yargs/build/lib/middleware.js +57 -0
  341. package/node_modules/yargs/build/lib/obj-filter.d.ts +1 -0
  342. package/node_modules/yargs/build/lib/obj-filter.js +14 -0
  343. package/node_modules/yargs/build/lib/parse-command.d.ts +11 -0
  344. package/node_modules/yargs/build/lib/parse-command.js +36 -0
  345. package/node_modules/yargs/build/lib/process-argv.d.ts +2 -0
  346. package/node_modules/yargs/build/lib/process-argv.js +31 -0
  347. package/node_modules/yargs/build/lib/usage.d.ts +49 -0
  348. package/node_modules/yargs/build/lib/usage.js +540 -0
  349. package/node_modules/yargs/build/lib/validation.d.ts +34 -0
  350. package/node_modules/yargs/build/lib/validation.js +330 -0
  351. package/node_modules/yargs/build/lib/yargs.d.ts +274 -0
  352. package/node_modules/yargs/build/lib/yargs.js +1190 -0
  353. package/node_modules/yargs/build/lib/yerror.d.ts +4 -0
  354. package/node_modules/yargs/build/lib/yerror.js +11 -0
  355. package/node_modules/yargs/index.js +40 -0
  356. package/node_modules/yargs/locales/be.json +46 -0
  357. package/node_modules/yargs/locales/de.json +46 -0
  358. package/node_modules/yargs/locales/en.json +51 -0
  359. package/node_modules/yargs/locales/es.json +46 -0
  360. package/node_modules/yargs/locales/fi.json +49 -0
  361. package/node_modules/yargs/locales/fr.json +53 -0
  362. package/node_modules/yargs/locales/hi.json +49 -0
  363. package/node_modules/yargs/locales/hu.json +46 -0
  364. package/node_modules/yargs/locales/id.json +50 -0
  365. package/node_modules/yargs/locales/it.json +46 -0
  366. package/node_modules/yargs/locales/ja.json +51 -0
  367. package/node_modules/yargs/locales/ko.json +49 -0
  368. package/node_modules/yargs/locales/nb.json +44 -0
  369. package/node_modules/yargs/locales/nl.json +49 -0
  370. package/node_modules/yargs/locales/nn.json +44 -0
  371. package/node_modules/yargs/locales/pirate.json +13 -0
  372. package/node_modules/yargs/locales/pl.json +49 -0
  373. package/node_modules/yargs/locales/pt.json +45 -0
  374. package/node_modules/yargs/locales/pt_BR.json +48 -0
  375. package/node_modules/yargs/locales/ru.json +46 -0
  376. package/node_modules/yargs/locales/th.json +46 -0
  377. package/node_modules/yargs/locales/tr.json +48 -0
  378. package/node_modules/yargs/locales/zh_CN.json +48 -0
  379. package/node_modules/yargs/locales/zh_TW.json +47 -0
  380. package/node_modules/yargs/package.json +92 -0
  381. package/node_modules/yargs/yargs.js +14 -0
  382. package/node_modules/yargs-parser/LICENSE.txt +14 -0
  383. package/node_modules/yargs-parser/README.md +449 -0
  384. package/node_modules/yargs-parser/index.js +1032 -0
  385. package/node_modules/yargs-parser/lib/tokenize-arg-string.js +40 -0
  386. package/node_modules/yargs-parser/package.json +46 -0
  387. package/package.json +28 -5
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ let constants = require("./constants");
4
+ let CrcStream = require("./crc");
5
+ let bitPacker = require("./bitpacker");
6
+ let filter = require("./filter-pack");
7
+ let zlib = require("zlib");
8
+
9
+ let Packer = (module.exports = function (options) {
10
+ this._options = options;
11
+
12
+ options.deflateChunkSize = options.deflateChunkSize || 32 * 1024;
13
+ options.deflateLevel =
14
+ options.deflateLevel != null ? options.deflateLevel : 9;
15
+ options.deflateStrategy =
16
+ options.deflateStrategy != null ? options.deflateStrategy : 3;
17
+ options.inputHasAlpha =
18
+ options.inputHasAlpha != null ? options.inputHasAlpha : true;
19
+ options.deflateFactory = options.deflateFactory || zlib.createDeflate;
20
+ options.bitDepth = options.bitDepth || 8;
21
+ // This is outputColorType
22
+ options.colorType =
23
+ typeof options.colorType === "number"
24
+ ? options.colorType
25
+ : constants.COLORTYPE_COLOR_ALPHA;
26
+ options.inputColorType =
27
+ typeof options.inputColorType === "number"
28
+ ? options.inputColorType
29
+ : constants.COLORTYPE_COLOR_ALPHA;
30
+
31
+ if (
32
+ [
33
+ constants.COLORTYPE_GRAYSCALE,
34
+ constants.COLORTYPE_COLOR,
35
+ constants.COLORTYPE_COLOR_ALPHA,
36
+ constants.COLORTYPE_ALPHA,
37
+ ].indexOf(options.colorType) === -1
38
+ ) {
39
+ throw new Error(
40
+ "option color type:" + options.colorType + " is not supported at present"
41
+ );
42
+ }
43
+ if (
44
+ [
45
+ constants.COLORTYPE_GRAYSCALE,
46
+ constants.COLORTYPE_COLOR,
47
+ constants.COLORTYPE_COLOR_ALPHA,
48
+ constants.COLORTYPE_ALPHA,
49
+ ].indexOf(options.inputColorType) === -1
50
+ ) {
51
+ throw new Error(
52
+ "option input color type:" +
53
+ options.inputColorType +
54
+ " is not supported at present"
55
+ );
56
+ }
57
+ if (options.bitDepth !== 8 && options.bitDepth !== 16) {
58
+ throw new Error(
59
+ "option bit depth:" + options.bitDepth + " is not supported at present"
60
+ );
61
+ }
62
+ });
63
+
64
+ Packer.prototype.getDeflateOptions = function () {
65
+ return {
66
+ chunkSize: this._options.deflateChunkSize,
67
+ level: this._options.deflateLevel,
68
+ strategy: this._options.deflateStrategy,
69
+ };
70
+ };
71
+
72
+ Packer.prototype.createDeflate = function () {
73
+ return this._options.deflateFactory(this.getDeflateOptions());
74
+ };
75
+
76
+ Packer.prototype.filterData = function (data, width, height) {
77
+ // convert to correct format for filtering (e.g. right bpp and bit depth)
78
+ let packedData = bitPacker(data, width, height, this._options);
79
+
80
+ // filter pixel data
81
+ let bpp = constants.COLORTYPE_TO_BPP_MAP[this._options.colorType];
82
+ let filteredData = filter(packedData, width, height, this._options, bpp);
83
+ return filteredData;
84
+ };
85
+
86
+ Packer.prototype._packChunk = function (type, data) {
87
+ let len = data ? data.length : 0;
88
+ let buf = Buffer.alloc(len + 12);
89
+
90
+ buf.writeUInt32BE(len, 0);
91
+ buf.writeUInt32BE(type, 4);
92
+
93
+ if (data) {
94
+ data.copy(buf, 8);
95
+ }
96
+
97
+ buf.writeInt32BE(
98
+ CrcStream.crc32(buf.slice(4, buf.length - 4)),
99
+ buf.length - 4
100
+ );
101
+ return buf;
102
+ };
103
+
104
+ Packer.prototype.packGAMA = function (gamma) {
105
+ let buf = Buffer.alloc(4);
106
+ buf.writeUInt32BE(Math.floor(gamma * constants.GAMMA_DIVISION), 0);
107
+ return this._packChunk(constants.TYPE_gAMA, buf);
108
+ };
109
+
110
+ Packer.prototype.packIHDR = function (width, height) {
111
+ let buf = Buffer.alloc(13);
112
+ buf.writeUInt32BE(width, 0);
113
+ buf.writeUInt32BE(height, 4);
114
+ buf[8] = this._options.bitDepth; // Bit depth
115
+ buf[9] = this._options.colorType; // colorType
116
+ buf[10] = 0; // compression
117
+ buf[11] = 0; // filter
118
+ buf[12] = 0; // interlace
119
+
120
+ return this._packChunk(constants.TYPE_IHDR, buf);
121
+ };
122
+
123
+ Packer.prototype.packIDAT = function (data) {
124
+ return this._packChunk(constants.TYPE_IDAT, data);
125
+ };
126
+
127
+ Packer.prototype.packIEND = function () {
128
+ return this._packChunk(constants.TYPE_IEND, null);
129
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ module.exports = function paethPredictor(left, above, upLeft) {
4
+ let paeth = left + above - upLeft;
5
+ let pLeft = Math.abs(paeth - left);
6
+ let pAbove = Math.abs(paeth - above);
7
+ let pUpLeft = Math.abs(paeth - upLeft);
8
+
9
+ if (pLeft <= pAbove && pLeft <= pUpLeft) {
10
+ return left;
11
+ }
12
+ if (pAbove <= pUpLeft) {
13
+ return above;
14
+ }
15
+ return upLeft;
16
+ };
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+
3
+ let util = require("util");
4
+ let zlib = require("zlib");
5
+ let ChunkStream = require("./chunkstream");
6
+ let FilterAsync = require("./filter-parse-async");
7
+ let Parser = require("./parser");
8
+ let bitmapper = require("./bitmapper");
9
+ let formatNormaliser = require("./format-normaliser");
10
+
11
+ let ParserAsync = (module.exports = function (options) {
12
+ ChunkStream.call(this);
13
+
14
+ this._parser = new Parser(options, {
15
+ read: this.read.bind(this),
16
+ error: this._handleError.bind(this),
17
+ metadata: this._handleMetaData.bind(this),
18
+ gamma: this.emit.bind(this, "gamma"),
19
+ palette: this._handlePalette.bind(this),
20
+ transColor: this._handleTransColor.bind(this),
21
+ finished: this._finished.bind(this),
22
+ inflateData: this._inflateData.bind(this),
23
+ simpleTransparency: this._simpleTransparency.bind(this),
24
+ headersFinished: this._headersFinished.bind(this),
25
+ });
26
+ this._options = options;
27
+ this.writable = true;
28
+
29
+ this._parser.start();
30
+ });
31
+ util.inherits(ParserAsync, ChunkStream);
32
+
33
+ ParserAsync.prototype._handleError = function (err) {
34
+ this.emit("error", err);
35
+
36
+ this.writable = false;
37
+
38
+ this.destroy();
39
+
40
+ if (this._inflate && this._inflate.destroy) {
41
+ this._inflate.destroy();
42
+ }
43
+
44
+ if (this._filter) {
45
+ this._filter.destroy();
46
+ // For backward compatibility with Node 7 and below.
47
+ // Suppress errors due to _inflate calling write() even after
48
+ // it's destroy()'ed.
49
+ this._filter.on("error", function () {});
50
+ }
51
+
52
+ this.errord = true;
53
+ };
54
+
55
+ ParserAsync.prototype._inflateData = function (data) {
56
+ if (!this._inflate) {
57
+ if (this._bitmapInfo.interlace) {
58
+ this._inflate = zlib.createInflate();
59
+
60
+ this._inflate.on("error", this.emit.bind(this, "error"));
61
+ this._filter.on("complete", this._complete.bind(this));
62
+
63
+ this._inflate.pipe(this._filter);
64
+ } else {
65
+ let rowSize =
66
+ ((this._bitmapInfo.width *
67
+ this._bitmapInfo.bpp *
68
+ this._bitmapInfo.depth +
69
+ 7) >>
70
+ 3) +
71
+ 1;
72
+ let imageSize = rowSize * this._bitmapInfo.height;
73
+ let chunkSize = Math.max(imageSize, zlib.Z_MIN_CHUNK);
74
+
75
+ this._inflate = zlib.createInflate({ chunkSize: chunkSize });
76
+ let leftToInflate = imageSize;
77
+
78
+ let emitError = this.emit.bind(this, "error");
79
+ this._inflate.on("error", function (err) {
80
+ if (!leftToInflate) {
81
+ return;
82
+ }
83
+
84
+ emitError(err);
85
+ });
86
+ this._filter.on("complete", this._complete.bind(this));
87
+
88
+ let filterWrite = this._filter.write.bind(this._filter);
89
+ this._inflate.on("data", function (chunk) {
90
+ if (!leftToInflate) {
91
+ return;
92
+ }
93
+
94
+ if (chunk.length > leftToInflate) {
95
+ chunk = chunk.slice(0, leftToInflate);
96
+ }
97
+
98
+ leftToInflate -= chunk.length;
99
+
100
+ filterWrite(chunk);
101
+ });
102
+
103
+ this._inflate.on("end", this._filter.end.bind(this._filter));
104
+ }
105
+ }
106
+ this._inflate.write(data);
107
+ };
108
+
109
+ ParserAsync.prototype._handleMetaData = function (metaData) {
110
+ this._metaData = metaData;
111
+ this._bitmapInfo = Object.create(metaData);
112
+
113
+ this._filter = new FilterAsync(this._bitmapInfo);
114
+ };
115
+
116
+ ParserAsync.prototype._handleTransColor = function (transColor) {
117
+ this._bitmapInfo.transColor = transColor;
118
+ };
119
+
120
+ ParserAsync.prototype._handlePalette = function (palette) {
121
+ this._bitmapInfo.palette = palette;
122
+ };
123
+
124
+ ParserAsync.prototype._simpleTransparency = function () {
125
+ this._metaData.alpha = true;
126
+ };
127
+
128
+ ParserAsync.prototype._headersFinished = function () {
129
+ // Up until this point, we don't know if we have a tRNS chunk (alpha)
130
+ // so we can't emit metadata any earlier
131
+ this.emit("metadata", this._metaData);
132
+ };
133
+
134
+ ParserAsync.prototype._finished = function () {
135
+ if (this.errord) {
136
+ return;
137
+ }
138
+
139
+ if (!this._inflate) {
140
+ this.emit("error", "No Inflate block");
141
+ } else {
142
+ // no more data to inflate
143
+ this._inflate.end();
144
+ }
145
+ };
146
+
147
+ ParserAsync.prototype._complete = function (filteredData) {
148
+ if (this.errord) {
149
+ return;
150
+ }
151
+
152
+ let normalisedBitmapData;
153
+
154
+ try {
155
+ let bitmapData = bitmapper.dataToBitMap(filteredData, this._bitmapInfo);
156
+
157
+ normalisedBitmapData = formatNormaliser(bitmapData, this._bitmapInfo);
158
+ bitmapData = null;
159
+ } catch (ex) {
160
+ this._handleError(ex);
161
+ return;
162
+ }
163
+
164
+ this.emit("parsed", normalisedBitmapData);
165
+ };
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ let hasSyncZlib = true;
4
+ let zlib = require("zlib");
5
+ let inflateSync = require("./sync-inflate");
6
+ if (!zlib.deflateSync) {
7
+ hasSyncZlib = false;
8
+ }
9
+ let SyncReader = require("./sync-reader");
10
+ let FilterSync = require("./filter-parse-sync");
11
+ let Parser = require("./parser");
12
+ let bitmapper = require("./bitmapper");
13
+ let formatNormaliser = require("./format-normaliser");
14
+
15
+ module.exports = function (buffer, options) {
16
+ if (!hasSyncZlib) {
17
+ throw new Error(
18
+ "To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0"
19
+ );
20
+ }
21
+
22
+ let err;
23
+ function handleError(_err_) {
24
+ err = _err_;
25
+ }
26
+
27
+ let metaData;
28
+ function handleMetaData(_metaData_) {
29
+ metaData = _metaData_;
30
+ }
31
+
32
+ function handleTransColor(transColor) {
33
+ metaData.transColor = transColor;
34
+ }
35
+
36
+ function handlePalette(palette) {
37
+ metaData.palette = palette;
38
+ }
39
+
40
+ function handleSimpleTransparency() {
41
+ metaData.alpha = true;
42
+ }
43
+
44
+ let gamma;
45
+ function handleGamma(_gamma_) {
46
+ gamma = _gamma_;
47
+ }
48
+
49
+ let inflateDataList = [];
50
+ function handleInflateData(inflatedData) {
51
+ inflateDataList.push(inflatedData);
52
+ }
53
+
54
+ let reader = new SyncReader(buffer);
55
+
56
+ let parser = new Parser(options, {
57
+ read: reader.read.bind(reader),
58
+ error: handleError,
59
+ metadata: handleMetaData,
60
+ gamma: handleGamma,
61
+ palette: handlePalette,
62
+ transColor: handleTransColor,
63
+ inflateData: handleInflateData,
64
+ simpleTransparency: handleSimpleTransparency,
65
+ });
66
+
67
+ parser.start();
68
+ reader.process();
69
+
70
+ if (err) {
71
+ throw err;
72
+ }
73
+
74
+ //join together the inflate datas
75
+ let inflateData = Buffer.concat(inflateDataList);
76
+ inflateDataList.length = 0;
77
+
78
+ let inflatedData;
79
+ if (metaData.interlace) {
80
+ inflatedData = zlib.inflateSync(inflateData);
81
+ } else {
82
+ let rowSize =
83
+ ((metaData.width * metaData.bpp * metaData.depth + 7) >> 3) + 1;
84
+ let imageSize = rowSize * metaData.height;
85
+ inflatedData = inflateSync(inflateData, {
86
+ chunkSize: imageSize,
87
+ maxLength: imageSize,
88
+ });
89
+ }
90
+ inflateData = null;
91
+
92
+ if (!inflatedData || !inflatedData.length) {
93
+ throw new Error("bad png - invalid inflate data response");
94
+ }
95
+
96
+ let unfilteredData = FilterSync.process(inflatedData, metaData);
97
+ inflateData = null;
98
+
99
+ let bitmapData = bitmapper.dataToBitMap(unfilteredData, metaData);
100
+ unfilteredData = null;
101
+
102
+ let normalisedBitmapData = formatNormaliser(bitmapData, metaData);
103
+
104
+ metaData.data = normalisedBitmapData;
105
+ metaData.gamma = gamma || 0;
106
+
107
+ return metaData;
108
+ };
@@ -0,0 +1,290 @@
1
+ "use strict";
2
+
3
+ let constants = require("./constants");
4
+ let CrcCalculator = require("./crc");
5
+
6
+ let Parser = (module.exports = function (options, dependencies) {
7
+ this._options = options;
8
+ options.checkCRC = options.checkCRC !== false;
9
+
10
+ this._hasIHDR = false;
11
+ this._hasIEND = false;
12
+ this._emittedHeadersFinished = false;
13
+
14
+ // input flags/metadata
15
+ this._palette = [];
16
+ this._colorType = 0;
17
+
18
+ this._chunks = {};
19
+ this._chunks[constants.TYPE_IHDR] = this._handleIHDR.bind(this);
20
+ this._chunks[constants.TYPE_IEND] = this._handleIEND.bind(this);
21
+ this._chunks[constants.TYPE_IDAT] = this._handleIDAT.bind(this);
22
+ this._chunks[constants.TYPE_PLTE] = this._handlePLTE.bind(this);
23
+ this._chunks[constants.TYPE_tRNS] = this._handleTRNS.bind(this);
24
+ this._chunks[constants.TYPE_gAMA] = this._handleGAMA.bind(this);
25
+
26
+ this.read = dependencies.read;
27
+ this.error = dependencies.error;
28
+ this.metadata = dependencies.metadata;
29
+ this.gamma = dependencies.gamma;
30
+ this.transColor = dependencies.transColor;
31
+ this.palette = dependencies.palette;
32
+ this.parsed = dependencies.parsed;
33
+ this.inflateData = dependencies.inflateData;
34
+ this.finished = dependencies.finished;
35
+ this.simpleTransparency = dependencies.simpleTransparency;
36
+ this.headersFinished = dependencies.headersFinished || function () {};
37
+ });
38
+
39
+ Parser.prototype.start = function () {
40
+ this.read(constants.PNG_SIGNATURE.length, this._parseSignature.bind(this));
41
+ };
42
+
43
+ Parser.prototype._parseSignature = function (data) {
44
+ let signature = constants.PNG_SIGNATURE;
45
+
46
+ for (let i = 0; i < signature.length; i++) {
47
+ if (data[i] !== signature[i]) {
48
+ this.error(new Error("Invalid file signature"));
49
+ return;
50
+ }
51
+ }
52
+ this.read(8, this._parseChunkBegin.bind(this));
53
+ };
54
+
55
+ Parser.prototype._parseChunkBegin = function (data) {
56
+ // chunk content length
57
+ let length = data.readUInt32BE(0);
58
+
59
+ // chunk type
60
+ let type = data.readUInt32BE(4);
61
+ let name = "";
62
+ for (let i = 4; i < 8; i++) {
63
+ name += String.fromCharCode(data[i]);
64
+ }
65
+
66
+ //console.log('chunk ', name, length);
67
+
68
+ // chunk flags
69
+ let ancillary = Boolean(data[4] & 0x20); // or critical
70
+ // priv = Boolean(data[5] & 0x20), // or public
71
+ // safeToCopy = Boolean(data[7] & 0x20); // or unsafe
72
+
73
+ if (!this._hasIHDR && type !== constants.TYPE_IHDR) {
74
+ this.error(new Error("Expected IHDR on beggining"));
75
+ return;
76
+ }
77
+
78
+ this._crc = new CrcCalculator();
79
+ this._crc.write(Buffer.from(name));
80
+
81
+ if (this._chunks[type]) {
82
+ return this._chunks[type](length);
83
+ }
84
+
85
+ if (!ancillary) {
86
+ this.error(new Error("Unsupported critical chunk type " + name));
87
+ return;
88
+ }
89
+
90
+ this.read(length + 4, this._skipChunk.bind(this));
91
+ };
92
+
93
+ Parser.prototype._skipChunk = function (/*data*/) {
94
+ this.read(8, this._parseChunkBegin.bind(this));
95
+ };
96
+
97
+ Parser.prototype._handleChunkEnd = function () {
98
+ this.read(4, this._parseChunkEnd.bind(this));
99
+ };
100
+
101
+ Parser.prototype._parseChunkEnd = function (data) {
102
+ let fileCrc = data.readInt32BE(0);
103
+ let calcCrc = this._crc.crc32();
104
+
105
+ // check CRC
106
+ if (this._options.checkCRC && calcCrc !== fileCrc) {
107
+ this.error(new Error("Crc error - " + fileCrc + " - " + calcCrc));
108
+ return;
109
+ }
110
+
111
+ if (!this._hasIEND) {
112
+ this.read(8, this._parseChunkBegin.bind(this));
113
+ }
114
+ };
115
+
116
+ Parser.prototype._handleIHDR = function (length) {
117
+ this.read(length, this._parseIHDR.bind(this));
118
+ };
119
+ Parser.prototype._parseIHDR = function (data) {
120
+ this._crc.write(data);
121
+
122
+ let width = data.readUInt32BE(0);
123
+ let height = data.readUInt32BE(4);
124
+ let depth = data[8];
125
+ let colorType = data[9]; // bits: 1 palette, 2 color, 4 alpha
126
+ let compr = data[10];
127
+ let filter = data[11];
128
+ let interlace = data[12];
129
+
130
+ // console.log(' width', width, 'height', height,
131
+ // 'depth', depth, 'colorType', colorType,
132
+ // 'compr', compr, 'filter', filter, 'interlace', interlace
133
+ // );
134
+
135
+ if (
136
+ depth !== 8 &&
137
+ depth !== 4 &&
138
+ depth !== 2 &&
139
+ depth !== 1 &&
140
+ depth !== 16
141
+ ) {
142
+ this.error(new Error("Unsupported bit depth " + depth));
143
+ return;
144
+ }
145
+ if (!(colorType in constants.COLORTYPE_TO_BPP_MAP)) {
146
+ this.error(new Error("Unsupported color type"));
147
+ return;
148
+ }
149
+ if (compr !== 0) {
150
+ this.error(new Error("Unsupported compression method"));
151
+ return;
152
+ }
153
+ if (filter !== 0) {
154
+ this.error(new Error("Unsupported filter method"));
155
+ return;
156
+ }
157
+ if (interlace !== 0 && interlace !== 1) {
158
+ this.error(new Error("Unsupported interlace method"));
159
+ return;
160
+ }
161
+
162
+ this._colorType = colorType;
163
+
164
+ let bpp = constants.COLORTYPE_TO_BPP_MAP[this._colorType];
165
+
166
+ this._hasIHDR = true;
167
+
168
+ this.metadata({
169
+ width: width,
170
+ height: height,
171
+ depth: depth,
172
+ interlace: Boolean(interlace),
173
+ palette: Boolean(colorType & constants.COLORTYPE_PALETTE),
174
+ color: Boolean(colorType & constants.COLORTYPE_COLOR),
175
+ alpha: Boolean(colorType & constants.COLORTYPE_ALPHA),
176
+ bpp: bpp,
177
+ colorType: colorType,
178
+ });
179
+
180
+ this._handleChunkEnd();
181
+ };
182
+
183
+ Parser.prototype._handlePLTE = function (length) {
184
+ this.read(length, this._parsePLTE.bind(this));
185
+ };
186
+ Parser.prototype._parsePLTE = function (data) {
187
+ this._crc.write(data);
188
+
189
+ let entries = Math.floor(data.length / 3);
190
+ // console.log('Palette:', entries);
191
+
192
+ for (let i = 0; i < entries; i++) {
193
+ this._palette.push([data[i * 3], data[i * 3 + 1], data[i * 3 + 2], 0xff]);
194
+ }
195
+
196
+ this.palette(this._palette);
197
+
198
+ this._handleChunkEnd();
199
+ };
200
+
201
+ Parser.prototype._handleTRNS = function (length) {
202
+ this.simpleTransparency();
203
+ this.read(length, this._parseTRNS.bind(this));
204
+ };
205
+ Parser.prototype._parseTRNS = function (data) {
206
+ this._crc.write(data);
207
+
208
+ // palette
209
+ if (this._colorType === constants.COLORTYPE_PALETTE_COLOR) {
210
+ if (this._palette.length === 0) {
211
+ this.error(new Error("Transparency chunk must be after palette"));
212
+ return;
213
+ }
214
+ if (data.length > this._palette.length) {
215
+ this.error(new Error("More transparent colors than palette size"));
216
+ return;
217
+ }
218
+ for (let i = 0; i < data.length; i++) {
219
+ this._palette[i][3] = data[i];
220
+ }
221
+ this.palette(this._palette);
222
+ }
223
+
224
+ // for colorType 0 (grayscale) and 2 (rgb)
225
+ // there might be one gray/color defined as transparent
226
+ if (this._colorType === constants.COLORTYPE_GRAYSCALE) {
227
+ // grey, 2 bytes
228
+ this.transColor([data.readUInt16BE(0)]);
229
+ }
230
+ if (this._colorType === constants.COLORTYPE_COLOR) {
231
+ this.transColor([
232
+ data.readUInt16BE(0),
233
+ data.readUInt16BE(2),
234
+ data.readUInt16BE(4),
235
+ ]);
236
+ }
237
+
238
+ this._handleChunkEnd();
239
+ };
240
+
241
+ Parser.prototype._handleGAMA = function (length) {
242
+ this.read(length, this._parseGAMA.bind(this));
243
+ };
244
+ Parser.prototype._parseGAMA = function (data) {
245
+ this._crc.write(data);
246
+ this.gamma(data.readUInt32BE(0) / constants.GAMMA_DIVISION);
247
+
248
+ this._handleChunkEnd();
249
+ };
250
+
251
+ Parser.prototype._handleIDAT = function (length) {
252
+ if (!this._emittedHeadersFinished) {
253
+ this._emittedHeadersFinished = true;
254
+ this.headersFinished();
255
+ }
256
+ this.read(-length, this._parseIDAT.bind(this, length));
257
+ };
258
+ Parser.prototype._parseIDAT = function (length, data) {
259
+ this._crc.write(data);
260
+
261
+ if (
262
+ this._colorType === constants.COLORTYPE_PALETTE_COLOR &&
263
+ this._palette.length === 0
264
+ ) {
265
+ throw new Error("Expected palette not found");
266
+ }
267
+
268
+ this.inflateData(data);
269
+ let leftOverLength = length - data.length;
270
+
271
+ if (leftOverLength > 0) {
272
+ this._handleIDAT(leftOverLength);
273
+ } else {
274
+ this._handleChunkEnd();
275
+ }
276
+ };
277
+
278
+ Parser.prototype._handleIEND = function (length) {
279
+ this.read(length, this._parseIEND.bind(this));
280
+ };
281
+ Parser.prototype._parseIEND = function (data) {
282
+ this._crc.write(data);
283
+
284
+ this._hasIEND = true;
285
+ this._handleChunkEnd();
286
+
287
+ if (this.finished) {
288
+ this.finished();
289
+ }
290
+ };