@corellium/corellium-cli 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3097) hide show
  1. package/.gitlab-ci.yml +20 -0
  2. package/.nvmrc +1 -1
  3. package/ci/gitlab-build.sh +127 -0
  4. package/node_modules/@babel/cli/node_modules/commander/package.json +2 -2
  5. package/node_modules/@babel/cli/node_modules/make-dir/package.json +2 -2
  6. package/node_modules/@babel/cli/node_modules/pify/package.json +2 -2
  7. package/node_modules/@babel/cli/node_modules/semver/package.json +2 -2
  8. package/node_modules/@babel/cli/node_modules/slash/package.json +2 -2
  9. package/node_modules/@babel/cli/package.json +2 -2
  10. package/node_modules/@corellium/client-api/package.json +2 -2
  11. package/node_modules/@jridgewell/resolve-uri/package.json +2 -2
  12. package/node_modules/@jridgewell/sourcemap-codec/package.json +2 -2
  13. package/node_modules/@jridgewell/trace-mapping/package.json +2 -2
  14. package/node_modules/@nicolo-ribaudo/chokidar-2/package.json +2 -2
  15. package/node_modules/ansi-regex/package.json +2 -2
  16. package/node_modules/ansi-styles/package.json +2 -2
  17. package/node_modules/anymatch/package.json +2 -2
  18. package/node_modules/asynckit/package.json +2 -2
  19. package/node_modules/axios/package.json +2 -2
  20. package/node_modules/balanced-match/package.json +2 -2
  21. package/node_modules/binary-extensions/package.json +2 -2
  22. package/node_modules/brace-expansion/package.json +2 -2
  23. package/node_modules/braces/package.json +2 -2
  24. package/node_modules/call-bind/package.json +2 -2
  25. package/node_modules/chokidar/package.json +2 -2
  26. package/node_modules/cliui/package.json +2 -2
  27. package/node_modules/color-convert/package.json +2 -2
  28. package/node_modules/color-name/package.json +2 -2
  29. package/node_modules/combined-stream/package.json +2 -2
  30. package/node_modules/component-emitter/package.json +2 -2
  31. package/node_modules/concat-map/package.json +2 -2
  32. package/node_modules/convert-source-map/package.json +2 -2
  33. package/node_modules/cookiejar/package.json +2 -2
  34. package/node_modules/debug/package.json +2 -2
  35. package/node_modules/delayed-stream/package.json +2 -2
  36. package/node_modules/dotenv/package.json +2 -2
  37. package/node_modules/emoji-regex/package.json +2 -2
  38. package/node_modules/escalade/package.json +2 -2
  39. package/node_modules/fast-safe-stringify/package.json +2 -2
  40. package/node_modules/fill-range/package.json +2 -2
  41. package/node_modules/follow-redirects/package.json +2 -2
  42. package/node_modules/form-data/package.json +2 -2
  43. package/node_modules/formidable/package.json +2 -2
  44. package/node_modules/fs-readdir-recursive/package.json +2 -2
  45. package/node_modules/fs.realpath/package.json +2 -2
  46. package/node_modules/function-bind/package.json +2 -2
  47. package/node_modules/generate-password/package.json +2 -2
  48. package/node_modules/get-caller-file/package.json +2 -2
  49. package/node_modules/get-intrinsic/package.json +2 -2
  50. package/node_modules/glob/package.json +2 -2
  51. package/node_modules/glob-parent/package.json +2 -2
  52. package/node_modules/has/package.json +2 -2
  53. package/node_modules/has-symbols/package.json +2 -2
  54. package/node_modules/inflight/package.json +2 -2
  55. package/node_modules/inherits/package.json +2 -2
  56. package/node_modules/is-binary-path/package.json +2 -2
  57. package/node_modules/is-extglob/package.json +2 -2
  58. package/node_modules/is-fullwidth-code-point/package.json +2 -2
  59. package/node_modules/is-glob/package.json +2 -2
  60. package/node_modules/is-number/package.json +2 -2
  61. package/node_modules/lru-cache/package.json +2 -2
  62. package/node_modules/methods/package.json +2 -2
  63. package/node_modules/mime/package.json +2 -2
  64. package/node_modules/mime-db/package.json +2 -2
  65. package/node_modules/mime-types/package.json +2 -2
  66. package/node_modules/minimatch/package.json +2 -2
  67. package/node_modules/ms/package.json +2 -2
  68. package/node_modules/multi-progress/package.json +2 -2
  69. package/node_modules/normalize-path/package.json +2 -2
  70. package/node_modules/object-inspect/package.json +2 -2
  71. package/node_modules/once/package.json +2 -2
  72. package/node_modules/path-is-absolute/package.json +2 -2
  73. package/node_modules/picomatch/package.json +2 -2
  74. package/node_modules/progress/package.json +2 -2
  75. package/node_modules/qs/package.json +2 -2
  76. package/node_modules/readdirp/package.json +2 -2
  77. package/node_modules/require-directory/package.json +2 -2
  78. package/node_modules/safe-buffer/package.json +2 -2
  79. package/node_modules/semver/package.json +2 -2
  80. package/node_modules/side-channel/package.json +2 -2
  81. package/node_modules/string-width/package.json +2 -2
  82. package/node_modules/string_decoder/package.json +2 -2
  83. package/node_modules/strip-ansi/package.json +2 -2
  84. package/node_modules/superagent/node_modules/form-data/package.json +2 -2
  85. package/node_modules/superagent/node_modules/readable-stream/package.json +2 -2
  86. package/node_modules/superagent/package.json +2 -2
  87. package/node_modules/to-regex-range/package.json +2 -2
  88. package/node_modules/util-deprecate/package.json +2 -2
  89. package/node_modules/uuid/package.json +2 -2
  90. package/node_modules/wrap-ansi/package.json +2 -2
  91. package/node_modules/wrappy/package.json +2 -2
  92. package/node_modules/y18n/package.json +2 -2
  93. package/node_modules/yallist/package.json +2 -2
  94. package/node_modules/yargs/package.json +2 -2
  95. package/node_modules/yargs-parser/package.json +2 -2
  96. package/package.json +9 -4
  97. package/src/clients/Agent.js +32 -0
  98. package/src/clients/Client.js +8 -1
  99. package/src/clients/Instance.js +4 -12
  100. package/src/commands/agent/{apps.js → apps/index.js} +7 -9
  101. package/src/commands/agent/apps/install.js +33 -0
  102. package/src/commands/agent/file.js +2 -5
  103. package/src/commands/agent/ready.js +2 -4
  104. package/src/commands/extensions/delete.js +6 -10
  105. package/src/commands/extensions/list.js +3 -8
  106. package/src/commands/extensions/load.js +5 -9
  107. package/src/commands/extensions/validate.js +7 -6
  108. package/src/commands/firmware/list.js +6 -10
  109. package/src/commands/firmware/load.js +3 -8
  110. package/src/commands/images/create.js +3 -8
  111. package/src/commands/images/delete.js +5 -10
  112. package/src/commands/images/list.js +3 -8
  113. package/src/commands/index.js +2 -1
  114. package/src/commands/instances/create.js +3 -8
  115. package/src/commands/instances/delete.js +5 -10
  116. package/src/commands/instances/list.js +3 -8
  117. package/src/commands/instances/netmon/disable.js +1 -0
  118. package/src/commands/instances/netmon/download.js +2 -2
  119. package/src/commands/instances/netmon/enable.js +1 -0
  120. package/src/commands/instances/netmon/stream.js +1 -0
  121. package/src/commands/instances/restoreBackup.js +9 -3
  122. package/src/commands/instances/rotate.js +5 -11
  123. package/src/commands/instances/start.js +5 -10
  124. package/src/commands/instances/stop.js +5 -10
  125. package/src/commands/instances/upgrade.js +2 -4
  126. package/src/commands/login.js +10 -7
  127. package/src/commands/logout.js +5 -9
  128. package/src/commands/mast/constants.js +3 -0
  129. package/src/commands/mast/create-assessment.js +57 -0
  130. package/src/commands/mast/delete-assessment.js +50 -0
  131. package/src/commands/mast/download-report.js +51 -0
  132. package/src/commands/mast/get-assessment.js +52 -0
  133. package/src/commands/mast/index.js +18 -0
  134. package/src/commands/mast/start-monitor.js +52 -0
  135. package/src/commands/mast/stop-monitor.js +52 -0
  136. package/src/commands/mast/test.js +62 -0
  137. package/src/commands/projects/create.js +4 -8
  138. package/src/commands/projects/delete.js +6 -10
  139. package/src/commands/projects/list.js +3 -8
  140. package/src/commands/signup.js +2 -7
  141. package/src/commands/webplayer/create.js +2 -5
  142. package/src/commands/webplayer/destroy.js +2 -4
  143. package/src/commands/webplayer/list.js +2 -7
  144. package/src/commands/webplayer/login.js +2 -6
  145. package/src/corellium-api.js +25 -0
  146. package/src/error.js +9 -2
  147. package/src/logging.js +5 -5
  148. package/src/progress.js +19 -0
  149. package/src/table.js +7 -10
  150. package/src/upload.js +3 -4
  151. package/src/utils.js +3 -0
  152. package/test.sh +2 -0
  153. package/Jenkinsfile +0 -3
  154. package/jenkinsbuild/build.sh +0 -70
  155. package/node_modules/@mapbox/node-pre-gyp/CHANGELOG.md +0 -504
  156. package/node_modules/@mapbox/node-pre-gyp/LICENSE +0 -27
  157. package/node_modules/@mapbox/node-pre-gyp/README.md +0 -742
  158. package/node_modules/@mapbox/node-pre-gyp/bin/node-pre-gyp +0 -4
  159. package/node_modules/@mapbox/node-pre-gyp/bin/node-pre-gyp.cmd +0 -2
  160. package/node_modules/@mapbox/node-pre-gyp/contributing.md +0 -10
  161. package/node_modules/@mapbox/node-pre-gyp/lib/build.js +0 -51
  162. package/node_modules/@mapbox/node-pre-gyp/lib/clean.js +0 -31
  163. package/node_modules/@mapbox/node-pre-gyp/lib/configure.js +0 -52
  164. package/node_modules/@mapbox/node-pre-gyp/lib/info.js +0 -38
  165. package/node_modules/@mapbox/node-pre-gyp/lib/install.js +0 -235
  166. package/node_modules/@mapbox/node-pre-gyp/lib/main.js +0 -125
  167. package/node_modules/@mapbox/node-pre-gyp/lib/node-pre-gyp.js +0 -309
  168. package/node_modules/@mapbox/node-pre-gyp/lib/package.js +0 -73
  169. package/node_modules/@mapbox/node-pre-gyp/lib/pre-binding.js +0 -34
  170. package/node_modules/@mapbox/node-pre-gyp/lib/publish.js +0 -81
  171. package/node_modules/@mapbox/node-pre-gyp/lib/rebuild.js +0 -20
  172. package/node_modules/@mapbox/node-pre-gyp/lib/reinstall.js +0 -19
  173. package/node_modules/@mapbox/node-pre-gyp/lib/reveal.js +0 -32
  174. package/node_modules/@mapbox/node-pre-gyp/lib/testbinary.js +0 -79
  175. package/node_modules/@mapbox/node-pre-gyp/lib/testpackage.js +0 -53
  176. package/node_modules/@mapbox/node-pre-gyp/lib/unpublish.js +0 -41
  177. package/node_modules/@mapbox/node-pre-gyp/lib/util/abi_crosswalk.json +0 -2602
  178. package/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js +0 -93
  179. package/node_modules/@mapbox/node-pre-gyp/lib/util/handle_gyp_opts.js +0 -102
  180. package/node_modules/@mapbox/node-pre-gyp/lib/util/napi.js +0 -205
  181. package/node_modules/@mapbox/node-pre-gyp/lib/util/nw-pre-gyp/index.html +0 -26
  182. package/node_modules/@mapbox/node-pre-gyp/lib/util/nw-pre-gyp/package.json +0 -9
  183. package/node_modules/@mapbox/node-pre-gyp/lib/util/s3_setup.js +0 -163
  184. package/node_modules/@mapbox/node-pre-gyp/lib/util/versioning.js +0 -335
  185. package/node_modules/@mapbox/node-pre-gyp/package.json +0 -100
  186. package/node_modules/abbrev/LICENSE +0 -46
  187. package/node_modules/abbrev/README.md +0 -23
  188. package/node_modules/abbrev/abbrev.js +0 -61
  189. package/node_modules/abbrev/package.json +0 -59
  190. package/node_modules/agent-base/README.md +0 -145
  191. package/node_modules/agent-base/dist/src/index.d.ts +0 -78
  192. package/node_modules/agent-base/dist/src/index.js +0 -203
  193. package/node_modules/agent-base/dist/src/index.js.map +0 -1
  194. package/node_modules/agent-base/dist/src/promisify.d.ts +0 -4
  195. package/node_modules/agent-base/dist/src/promisify.js +0 -18
  196. package/node_modules/agent-base/dist/src/promisify.js.map +0 -1
  197. package/node_modules/agent-base/package.json +0 -97
  198. package/node_modules/agent-base/src/index.ts +0 -345
  199. package/node_modules/agent-base/src/promisify.ts +0 -33
  200. package/node_modules/aproba/CHANGELOG.md +0 -4
  201. package/node_modules/aproba/LICENSE +0 -14
  202. package/node_modules/aproba/README.md +0 -94
  203. package/node_modules/aproba/index.js +0 -105
  204. package/node_modules/aproba/package.json +0 -66
  205. package/node_modules/are-we-there-yet/LICENSE.md +0 -18
  206. package/node_modules/are-we-there-yet/README.md +0 -208
  207. package/node_modules/are-we-there-yet/lib/index.js +0 -4
  208. package/node_modules/are-we-there-yet/lib/tracker-base.js +0 -11
  209. package/node_modules/are-we-there-yet/lib/tracker-group.js +0 -116
  210. package/node_modules/are-we-there-yet/lib/tracker-stream.js +0 -36
  211. package/node_modules/are-we-there-yet/lib/tracker.js +0 -32
  212. package/node_modules/are-we-there-yet/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  213. package/node_modules/are-we-there-yet/node_modules/readable-stream/GOVERNANCE.md +0 -136
  214. package/node_modules/are-we-there-yet/node_modules/readable-stream/LICENSE +0 -47
  215. package/node_modules/are-we-there-yet/node_modules/readable-stream/README.md +0 -106
  216. package/node_modules/are-we-there-yet/node_modules/readable-stream/errors-browser.js +0 -127
  217. package/node_modules/are-we-there-yet/node_modules/readable-stream/errors.js +0 -116
  218. package/node_modules/are-we-there-yet/node_modules/readable-stream/experimentalWarning.js +0 -17
  219. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_duplex.js +0 -139
  220. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_passthrough.js +0 -39
  221. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_readable.js +0 -1124
  222. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_transform.js +0 -201
  223. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_writable.js +0 -697
  224. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -207
  225. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -210
  226. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -105
  227. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -104
  228. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  229. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/from.js +0 -64
  230. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -97
  231. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/state.js +0 -27
  232. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  233. package/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  234. package/node_modules/are-we-there-yet/node_modules/readable-stream/package.json +0 -100
  235. package/node_modules/are-we-there-yet/node_modules/readable-stream/readable-browser.js +0 -9
  236. package/node_modules/are-we-there-yet/node_modules/readable-stream/readable.js +0 -16
  237. package/node_modules/are-we-there-yet/package.json +0 -87
  238. package/node_modules/ascii-art/.travis.yml +0 -19
  239. package/node_modules/ascii-art/Fonts/Doom.flf +0 -833
  240. package/node_modules/ascii-art/Fonts/rusted.flf +0 -302
  241. package/node_modules/ascii-art/LICENSE +0 -20
  242. package/node_modules/ascii-art/README.md +0 -654
  243. package/node_modules/ascii-art/art-source.js +0 -42
  244. package/node_modules/ascii-art/art.js +0 -579
  245. package/node_modules/ascii-art/artwork.js +0 -53
  246. package/node_modules/ascii-art/bin/ascii-art +0 -359
  247. package/node_modules/ascii-art/color_profiles.json +0 -20
  248. package/node_modules/ascii-art/demo.js +0 -151
  249. package/node_modules/ascii-art/generate.js +0 -83
  250. package/node_modules/ascii-art/kaolin.js +0 -140
  251. package/node_modules/ascii-art/karma.conf.js +0 -81
  252. package/node_modules/ascii-art/package.json +0 -123
  253. package/node_modules/ascii-art/test/dev_setup.sh +0 -16
  254. package/node_modules/ascii-art/test/extras/kaolin-test.js +0 -81
  255. package/node_modules/ascii-art/test/images/animal_muppet.nfo +0 -43
  256. package/node_modules/ascii-art/test/images/beyonce-upgrade.nfo +0 -21
  257. package/node_modules/ascii-art/test/images/cernettes.nfo +0 -31
  258. package/node_modules/ascii-art/test/images/gir.nfo +0 -40
  259. package/node_modules/ascii-art/test/images/gob.nfo +0 -40
  260. package/node_modules/ascii-art/test/images/grendel.nfo +0 -70
  261. package/node_modules/ascii-art/test/images/initech.nfo +0 -29
  262. package/node_modules/ascii-art/test/images/metropolis.nfo +0 -56
  263. package/node_modules/ascii-art/test/images/mixed.nfo +0 -15
  264. package/node_modules/ascii-art/test/images/mucha-job.art.nfo +0 -56
  265. package/node_modules/ascii-art/test/images/mucha-job.nfo +0 -56
  266. package/node_modules/ascii-art/test/images/peewee.nfo +0 -50
  267. package/node_modules/ascii-art/test/images/peewee.poster.nfo +0 -50
  268. package/node_modules/ascii-art/test/images/rene-cigler.nfo +0 -59
  269. package/node_modules/ascii-art/test/images/serious-business.nfo +0 -48
  270. package/node_modules/ascii-art/test/images/seven-proxies.nfo +0 -26
  271. package/node_modules/ascii-art/test/images/sunburst.nfo +0 -40
  272. package/node_modules/ascii-art/test/images/sunburst_red.nfo +0 -40
  273. package/node_modules/ascii-art/test/images/zero-cool.nfo +0 -60
  274. package/node_modules/ascii-art/test/karma/init.js +0 -34
  275. package/node_modules/ascii-art/test/scripts/bbs.js +0 -42
  276. package/node_modules/ascii-art/test/test.js +0 -459
  277. package/node_modules/ascii-art-ansi/LICENSE +0 -20
  278. package/node_modules/ascii-art-ansi/README.md +0 -287
  279. package/node_modules/ascii-art-ansi/ansi.js +0 -409
  280. package/node_modules/ascii-art-ansi/color.js +0 -623
  281. package/node_modules/ascii-art-ansi/grid.js +0 -129
  282. package/node_modules/ascii-art-ansi/package.json +0 -84
  283. package/node_modules/ascii-art-ansi/test/test.js +0 -251
  284. package/node_modules/ascii-art-braille/README.md +0 -6
  285. package/node_modules/ascii-art-braille/braille.js +0 -176
  286. package/node_modules/ascii-art-braille/package.json +0 -34
  287. package/node_modules/ascii-art-font/Fonts/Doom.flf +0 -833
  288. package/node_modules/ascii-art-font/Fonts/rusted.flf +0 -302
  289. package/node_modules/ascii-art-font/LICENSE +0 -22
  290. package/node_modules/ascii-art-font/MIT-LICENSE.txt +0 -20
  291. package/node_modules/ascii-art-font/README.md +0 -74
  292. package/node_modules/ascii-art-font/font.js +0 -152
  293. package/node_modules/ascii-art-font/package.json +0 -71
  294. package/node_modules/ascii-art-font/test/test.js +0 -59
  295. package/node_modules/ascii-art-graph/README.md +0 -142
  296. package/node_modules/ascii-art-graph/d3.js +0 -20
  297. package/node_modules/ascii-art-graph/graph.js +0 -1042
  298. package/node_modules/ascii-art-graph/multi-series.png +0 -0
  299. package/node_modules/ascii-art-graph/package.json +0 -45
  300. package/node_modules/ascii-art-graph/simple-braille.png +0 -0
  301. package/node_modules/ascii-art-graph/test/data/binaryGrid.json +0 -1725
  302. package/node_modules/ascii-art-graph/test/data/multiLineGraph.json +0 -21
  303. package/node_modules/ascii-art-graph/test/data/simple-braille.ansi +0 -20
  304. package/node_modules/ascii-art-graph/test/data/simpleLineGraph.json +0 -21
  305. package/node_modules/ascii-art-graph/test/test.js +0 -119
  306. package/node_modules/ascii-art-image/README.md +0 -93
  307. package/node_modules/ascii-art-image/generate.js +0 -80
  308. package/node_modules/ascii-art-image/image.js +0 -464
  309. package/node_modules/ascii-art-image/node_modules/ascii-art-braille/README.md +0 -6
  310. package/node_modules/ascii-art-image/node_modules/ascii-art-braille/braille.js +0 -249
  311. package/node_modules/ascii-art-image/node_modules/ascii-art-braille/package.json +0 -34
  312. package/node_modules/ascii-art-image/package.json +0 -47
  313. package/node_modules/ascii-art-image/renderers/average.js +0 -170
  314. package/node_modules/ascii-art-image/test/images/animal_muppet.nfo +0 -43
  315. package/node_modules/ascii-art-image/test/images/beyonce-upgrade.nfo +0 -21
  316. package/node_modules/ascii-art-image/test/images/cernettes.nfo +0 -31
  317. package/node_modules/ascii-art-image/test/images/gir.nfo +0 -40
  318. package/node_modules/ascii-art-image/test/images/gob.nfo +0 -40
  319. package/node_modules/ascii-art-image/test/images/grendel.nfo +0 -70
  320. package/node_modules/ascii-art-image/test/images/initech.nfo +0 -29
  321. package/node_modules/ascii-art-image/test/images/metropolis.nfo +0 -56
  322. package/node_modules/ascii-art-image/test/images/mixed.nfo +0 -15
  323. package/node_modules/ascii-art-image/test/images/mucha-job.art.nfo +0 -56
  324. package/node_modules/ascii-art-image/test/images/mucha-job.json +0 -1
  325. package/node_modules/ascii-art-image/test/images/mucha-job.nfo +0 -56
  326. package/node_modules/ascii-art-image/test/images/peewee.nfo +0 -50
  327. package/node_modules/ascii-art-image/test/images/peewee.poster.nfo +0 -50
  328. package/node_modules/ascii-art-image/test/images/rene-cigler.nfo +0 -59
  329. package/node_modules/ascii-art-image/test/images/serious-business.nfo +0 -48
  330. package/node_modules/ascii-art-image/test/images/seven-proxies.nfo +0 -26
  331. package/node_modules/ascii-art-image/test/images/zero-cool.nfo +0 -60
  332. package/node_modules/ascii-art-image/test/test.js +0 -334
  333. package/node_modules/ascii-art-table/README.md +0 -152
  334. package/node_modules/ascii-art-table/package.json +0 -42
  335. package/node_modules/ascii-art-table/table.js +0 -512
  336. package/node_modules/ascii-art-table/test/test.js +0 -133
  337. package/node_modules/ascii-art-utf/README.md +0 -23
  338. package/node_modules/ascii-art-utf/package.json +0 -70
  339. package/node_modules/ascii-art-utf/run.js +0 -5
  340. package/node_modules/ascii-art-utf/utf.js +0 -170
  341. package/node_modules/async/CHANGELOG.md +0 -278
  342. package/node_modules/async/LICENSE +0 -19
  343. package/node_modules/async/README.md +0 -56
  344. package/node_modules/async/all.js +0 -50
  345. package/node_modules/async/allLimit.js +0 -42
  346. package/node_modules/async/allSeries.js +0 -37
  347. package/node_modules/async/any.js +0 -52
  348. package/node_modules/async/anyLimit.js +0 -43
  349. package/node_modules/async/anySeries.js +0 -38
  350. package/node_modules/async/apply.js +0 -68
  351. package/node_modules/async/applyEach.js +0 -51
  352. package/node_modules/async/applyEachSeries.js +0 -37
  353. package/node_modules/async/asyncify.js +0 -110
  354. package/node_modules/async/auto.js +0 -289
  355. package/node_modules/async/autoInject.js +0 -170
  356. package/node_modules/async/bower.json +0 -17
  357. package/node_modules/async/cargo.js +0 -94
  358. package/node_modules/async/compose.js +0 -58
  359. package/node_modules/async/concat.js +0 -43
  360. package/node_modules/async/concatLimit.js +0 -65
  361. package/node_modules/async/concatSeries.js +0 -36
  362. package/node_modules/async/constant.js +0 -66
  363. package/node_modules/async/detect.js +0 -61
  364. package/node_modules/async/detectLimit.js +0 -48
  365. package/node_modules/async/detectSeries.js +0 -38
  366. package/node_modules/async/dir.js +0 -43
  367. package/node_modules/async/dist/async.js +0 -5612
  368. package/node_modules/async/dist/async.min.js +0 -2
  369. package/node_modules/async/dist/async.min.map +0 -1
  370. package/node_modules/async/doDuring.js +0 -66
  371. package/node_modules/async/doUntil.js +0 -39
  372. package/node_modules/async/doWhilst.js +0 -59
  373. package/node_modules/async/during.js +0 -76
  374. package/node_modules/async/each.js +0 -82
  375. package/node_modules/async/eachLimit.js +0 -45
  376. package/node_modules/async/eachOf.js +0 -111
  377. package/node_modules/async/eachOfLimit.js +0 -41
  378. package/node_modules/async/eachOfSeries.js +0 -35
  379. package/node_modules/async/eachSeries.js +0 -37
  380. package/node_modules/async/ensureAsync.js +0 -73
  381. package/node_modules/async/every.js +0 -50
  382. package/node_modules/async/everyLimit.js +0 -42
  383. package/node_modules/async/everySeries.js +0 -37
  384. package/node_modules/async/filter.js +0 -45
  385. package/node_modules/async/filterLimit.js +0 -37
  386. package/node_modules/async/filterSeries.js +0 -35
  387. package/node_modules/async/find.js +0 -61
  388. package/node_modules/async/findLimit.js +0 -48
  389. package/node_modules/async/findSeries.js +0 -38
  390. package/node_modules/async/foldl.js +0 -78
  391. package/node_modules/async/foldr.js +0 -44
  392. package/node_modules/async/forEach.js +0 -82
  393. package/node_modules/async/forEachLimit.js +0 -45
  394. package/node_modules/async/forEachOf.js +0 -111
  395. package/node_modules/async/forEachOfLimit.js +0 -41
  396. package/node_modules/async/forEachOfSeries.js +0 -35
  397. package/node_modules/async/forEachSeries.js +0 -37
  398. package/node_modules/async/forever.js +0 -65
  399. package/node_modules/async/groupBy.js +0 -54
  400. package/node_modules/async/groupByLimit.js +0 -71
  401. package/node_modules/async/groupBySeries.js +0 -37
  402. package/node_modules/async/index.js +0 -582
  403. package/node_modules/async/inject.js +0 -78
  404. package/node_modules/async/internal/DoublyLinkedList.js +0 -88
  405. package/node_modules/async/internal/applyEach.js +0 -38
  406. package/node_modules/async/internal/breakLoop.js +0 -9
  407. package/node_modules/async/internal/consoleFunc.js +0 -42
  408. package/node_modules/async/internal/createTester.js +0 -44
  409. package/node_modules/async/internal/doLimit.js +0 -12
  410. package/node_modules/async/internal/doParallel.js +0 -23
  411. package/node_modules/async/internal/doParallelLimit.js +0 -23
  412. package/node_modules/async/internal/eachOfLimit.js +0 -74
  413. package/node_modules/async/internal/filter.js +0 -75
  414. package/node_modules/async/internal/findGetResult.js +0 -10
  415. package/node_modules/async/internal/getIterator.js +0 -13
  416. package/node_modules/async/internal/initialParams.js +0 -21
  417. package/node_modules/async/internal/iterator.js +0 -61
  418. package/node_modules/async/internal/map.js +0 -35
  419. package/node_modules/async/internal/notId.js +0 -10
  420. package/node_modules/async/internal/once.js +0 -15
  421. package/node_modules/async/internal/onlyOnce.js +0 -15
  422. package/node_modules/async/internal/parallel.js +0 -42
  423. package/node_modules/async/internal/queue.js +0 -204
  424. package/node_modules/async/internal/reject.js +0 -21
  425. package/node_modules/async/internal/setImmediate.js +0 -42
  426. package/node_modules/async/internal/slice.js +0 -16
  427. package/node_modules/async/internal/withoutIndex.js +0 -12
  428. package/node_modules/async/internal/wrapAsync.js +0 -25
  429. package/node_modules/async/log.js +0 -41
  430. package/node_modules/async/map.js +0 -54
  431. package/node_modules/async/mapLimit.js +0 -37
  432. package/node_modules/async/mapSeries.js +0 -36
  433. package/node_modules/async/mapValues.js +0 -63
  434. package/node_modules/async/mapValuesLimit.js +0 -61
  435. package/node_modules/async/mapValuesSeries.js +0 -37
  436. package/node_modules/async/memoize.js +0 -101
  437. package/node_modules/async/nextTick.js +0 -51
  438. package/node_modules/async/package.json +0 -110
  439. package/node_modules/async/parallel.js +0 -90
  440. package/node_modules/async/parallelLimit.js +0 -40
  441. package/node_modules/async/priorityQueue.js +0 -98
  442. package/node_modules/async/queue.js +0 -130
  443. package/node_modules/async/race.js +0 -70
  444. package/node_modules/async/reduce.js +0 -78
  445. package/node_modules/async/reduceRight.js +0 -44
  446. package/node_modules/async/reflect.js +0 -81
  447. package/node_modules/async/reflectAll.js +0 -105
  448. package/node_modules/async/reject.js +0 -45
  449. package/node_modules/async/rejectLimit.js +0 -37
  450. package/node_modules/async/rejectSeries.js +0 -35
  451. package/node_modules/async/retry.js +0 -156
  452. package/node_modules/async/retryable.js +0 -65
  453. package/node_modules/async/select.js +0 -45
  454. package/node_modules/async/selectLimit.js +0 -37
  455. package/node_modules/async/selectSeries.js +0 -35
  456. package/node_modules/async/seq.js +0 -91
  457. package/node_modules/async/series.js +0 -85
  458. package/node_modules/async/setImmediate.js +0 -45
  459. package/node_modules/async/some.js +0 -52
  460. package/node_modules/async/someLimit.js +0 -43
  461. package/node_modules/async/someSeries.js +0 -38
  462. package/node_modules/async/sortBy.js +0 -91
  463. package/node_modules/async/timeout.js +0 -89
  464. package/node_modules/async/times.js +0 -50
  465. package/node_modules/async/timesLimit.js +0 -42
  466. package/node_modules/async/timesSeries.js +0 -32
  467. package/node_modules/async/transform.js +0 -87
  468. package/node_modules/async/tryEach.js +0 -81
  469. package/node_modules/async/unmemoize.js +0 -25
  470. package/node_modules/async/until.js +0 -41
  471. package/node_modules/async/waterfall.js +0 -113
  472. package/node_modules/async/whilst.js +0 -72
  473. package/node_modules/async/wrapSync.js +0 -110
  474. package/node_modules/async-arrays/.travis.yml +0 -6
  475. package/node_modules/async-arrays/LICENSE +0 -20
  476. package/node_modules/async-arrays/README.md +0 -133
  477. package/node_modules/async-arrays/async-arrays.js +0 -214
  478. package/node_modules/async-arrays/package.json +0 -64
  479. package/node_modules/async-arrays/test.js +0 -101
  480. package/node_modules/canvas/Readme.md +0 -600
  481. package/node_modules/canvas/binding.gyp +0 -229
  482. package/node_modules/canvas/browser.js +0 -35
  483. package/node_modules/canvas/build/Release/.deps/Release/canvas.node.d +0 -1
  484. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/Backends.o.d +0 -392
  485. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/Canvas.o.d +0 -406
  486. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/CanvasGradient.o.d +0 -376
  487. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/CanvasPattern.o.d +0 -722
  488. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/CanvasRenderingContext2d.o.d +0 -733
  489. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/Image.o.d +0 -722
  490. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/ImageData.o.d +0 -64
  491. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/backend/Backend.o.d +0 -72
  492. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/backend/ImageBackend.o.d +0 -74
  493. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/backend/PdfBackend.o.d +0 -391
  494. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/backend/SvgBackend.o.d +0 -391
  495. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/bmp/BMPParser.o.d +0 -5
  496. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/closure.o.d +0 -386
  497. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/color.o.d +0 -4
  498. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/init.o.d +0 -758
  499. package/node_modules/canvas/build/Release/.deps/Release/obj.target/canvas/src/register_font.o.d +0 -349
  500. package/node_modules/canvas/build/Release/canvas.node +0 -0
  501. package/node_modules/canvas/build/Release/libX11.6.dylib +0 -0
  502. package/node_modules/canvas/build/Release/libXau.6.dylib +0 -0
  503. package/node_modules/canvas/build/Release/libXdmcp.6.dylib +0 -0
  504. package/node_modules/canvas/build/Release/libXext.6.dylib +0 -0
  505. package/node_modules/canvas/build/Release/libXrender.1.dylib +0 -0
  506. package/node_modules/canvas/build/Release/libcairo-gobject.2.dylib +0 -0
  507. package/node_modules/canvas/build/Release/libcairo.2.dylib +0 -0
  508. package/node_modules/canvas/build/Release/libffi.8.dylib +0 -0
  509. package/node_modules/canvas/build/Release/libfontconfig.1.dylib +0 -0
  510. package/node_modules/canvas/build/Release/libfreetype.6.dylib +0 -0
  511. package/node_modules/canvas/build/Release/libfribidi.0.dylib +0 -0
  512. package/node_modules/canvas/build/Release/libgdk_pixbuf-2.0.0.dylib +0 -0
  513. package/node_modules/canvas/build/Release/libgif.7.2.0.dylib +0 -0
  514. package/node_modules/canvas/build/Release/libgio-2.0.0.dylib +0 -0
  515. package/node_modules/canvas/build/Release/libglib-2.0.0.dylib +0 -0
  516. package/node_modules/canvas/build/Release/libgmodule-2.0.0.dylib +0 -0
  517. package/node_modules/canvas/build/Release/libgobject-2.0.0.dylib +0 -0
  518. package/node_modules/canvas/build/Release/libgraphite2.3.2.1.dylib +0 -0
  519. package/node_modules/canvas/build/Release/libharfbuzz.0.dylib +0 -0
  520. package/node_modules/canvas/build/Release/libintl.8.dylib +0 -0
  521. package/node_modules/canvas/build/Release/libjpeg.9.dylib +0 -0
  522. package/node_modules/canvas/build/Release/libpango-1.0.0.dylib +0 -0
  523. package/node_modules/canvas/build/Release/libpangocairo-1.0.0.dylib +0 -0
  524. package/node_modules/canvas/build/Release/libpangoft2-1.0.0.dylib +0 -0
  525. package/node_modules/canvas/build/Release/libpcre.1.dylib +0 -0
  526. package/node_modules/canvas/build/Release/libpixman-1.0.40.0.dylib +0 -0
  527. package/node_modules/canvas/build/Release/libpng16.16.dylib +0 -0
  528. package/node_modules/canvas/build/Release/librsvg-2.2.dylib +0 -0
  529. package/node_modules/canvas/build/Release/libxcb-render.0.0.0.dylib +0 -0
  530. package/node_modules/canvas/build/Release/libxcb-shm.0.0.0.dylib +0 -0
  531. package/node_modules/canvas/build/Release/libxcb.1.1.0.dylib +0 -0
  532. package/node_modules/canvas/build/Release/obj.target/canvas/src/Backends.o +0 -0
  533. package/node_modules/canvas/build/Release/obj.target/canvas/src/Canvas.o +0 -0
  534. package/node_modules/canvas/build/Release/obj.target/canvas/src/CanvasGradient.o +0 -0
  535. package/node_modules/canvas/build/Release/obj.target/canvas/src/CanvasPattern.o +0 -0
  536. package/node_modules/canvas/build/Release/obj.target/canvas/src/CanvasRenderingContext2d.o +0 -0
  537. package/node_modules/canvas/build/Release/obj.target/canvas/src/Image.o +0 -0
  538. package/node_modules/canvas/build/Release/obj.target/canvas/src/ImageData.o +0 -0
  539. package/node_modules/canvas/build/Release/obj.target/canvas/src/backend/Backend.o +0 -0
  540. package/node_modules/canvas/build/Release/obj.target/canvas/src/backend/ImageBackend.o +0 -0
  541. package/node_modules/canvas/build/Release/obj.target/canvas/src/backend/PdfBackend.o +0 -0
  542. package/node_modules/canvas/build/Release/obj.target/canvas/src/backend/SvgBackend.o +0 -0
  543. package/node_modules/canvas/build/Release/obj.target/canvas/src/bmp/BMPParser.o +0 -0
  544. package/node_modules/canvas/build/Release/obj.target/canvas/src/closure.o +0 -0
  545. package/node_modules/canvas/build/Release/obj.target/canvas/src/color.o +0 -0
  546. package/node_modules/canvas/build/Release/obj.target/canvas/src/init.o +0 -0
  547. package/node_modules/canvas/build/Release/obj.target/canvas/src/register_font.o +0 -0
  548. package/node_modules/canvas/index.js +0 -92
  549. package/node_modules/canvas/lib/DOMMatrix.js +0 -620
  550. package/node_modules/canvas/lib/bindings.js +0 -13
  551. package/node_modules/canvas/lib/canvas.js +0 -113
  552. package/node_modules/canvas/lib/context2d.js +0 -14
  553. package/node_modules/canvas/lib/image.js +0 -93
  554. package/node_modules/canvas/lib/jpegstream.js +0 -41
  555. package/node_modules/canvas/lib/parse-font.js +0 -101
  556. package/node_modules/canvas/lib/pattern.js +0 -17
  557. package/node_modules/canvas/lib/pdfstream.js +0 -35
  558. package/node_modules/canvas/lib/pngstream.js +0 -42
  559. package/node_modules/canvas/package.json +0 -116
  560. package/node_modules/canvas/src/Backends.cc +0 -18
  561. package/node_modules/canvas/src/Backends.h +0 -10
  562. package/node_modules/canvas/src/Canvas.cc +0 -951
  563. package/node_modules/canvas/src/Canvas.h +0 -82
  564. package/node_modules/canvas/src/CanvasError.h +0 -23
  565. package/node_modules/canvas/src/CanvasGradient.cc +0 -123
  566. package/node_modules/canvas/src/CanvasGradient.h +0 -22
  567. package/node_modules/canvas/src/CanvasPattern.cc +0 -136
  568. package/node_modules/canvas/src/CanvasPattern.h +0 -37
  569. package/node_modules/canvas/src/CanvasRenderingContext2d.cc +0 -3097
  570. package/node_modules/canvas/src/CanvasRenderingContext2d.h +0 -203
  571. package/node_modules/canvas/src/Image.cc +0 -1402
  572. package/node_modules/canvas/src/Image.h +0 -127
  573. package/node_modules/canvas/src/ImageData.cc +0 -140
  574. package/node_modules/canvas/src/ImageData.h +0 -27
  575. package/node_modules/canvas/src/JPEGStream.h +0 -167
  576. package/node_modules/canvas/src/PNG.h +0 -292
  577. package/node_modules/canvas/src/Point.h +0 -10
  578. package/node_modules/canvas/src/Util.h +0 -34
  579. package/node_modules/canvas/src/backend/Backend.cc +0 -112
  580. package/node_modules/canvas/src/backend/Backend.h +0 -69
  581. package/node_modules/canvas/src/backend/ImageBackend.cc +0 -74
  582. package/node_modules/canvas/src/backend/ImageBackend.h +0 -26
  583. package/node_modules/canvas/src/backend/PdfBackend.cc +0 -53
  584. package/node_modules/canvas/src/backend/PdfBackend.h +0 -24
  585. package/node_modules/canvas/src/backend/SvgBackend.cc +0 -61
  586. package/node_modules/canvas/src/backend/SvgBackend.h +0 -24
  587. package/node_modules/canvas/src/bmp/BMPParser.cc +0 -457
  588. package/node_modules/canvas/src/bmp/BMPParser.h +0 -60
  589. package/node_modules/canvas/src/bmp/LICENSE.md +0 -24
  590. package/node_modules/canvas/src/closure.cc +0 -26
  591. package/node_modules/canvas/src/closure.h +0 -81
  592. package/node_modules/canvas/src/color.cc +0 -775
  593. package/node_modules/canvas/src/color.h +0 -30
  594. package/node_modules/canvas/src/dll_visibility.h +0 -20
  595. package/node_modules/canvas/src/init.cc +0 -92
  596. package/node_modules/canvas/src/register_font.cc +0 -408
  597. package/node_modules/canvas/src/register_font.h +0 -7
  598. package/node_modules/canvas/types/index.d.ts +0 -335
  599. package/node_modules/canvas/util/has_lib.js +0 -119
  600. package/node_modules/canvas/util/win_jpeg_lookup.js +0 -21
  601. package/node_modules/chownr/LICENSE +0 -15
  602. package/node_modules/chownr/README.md +0 -3
  603. package/node_modules/chownr/chownr.js +0 -167
  604. package/node_modules/chownr/package.json +0 -68
  605. package/node_modules/cli/README.md +0 -196
  606. package/node_modules/cli/cli.js +0 -1133
  607. package/node_modules/cli/examples/cat.js +0 -17
  608. package/node_modules/cli/examples/command.js +0 -16
  609. package/node_modules/cli/examples/echo.js +0 -54
  610. package/node_modules/cli/examples/glob.js +0 -6
  611. package/node_modules/cli/examples/long_desc.js +0 -20
  612. package/node_modules/cli/examples/progress.js +0 -11
  613. package/node_modules/cli/examples/sort.js +0 -18
  614. package/node_modules/cli/examples/spinner.js +0 -9
  615. package/node_modules/cli/examples/static.coffee +0 -27
  616. package/node_modules/cli/examples/static.js +0 -25
  617. package/node_modules/cli/index.js +0 -1
  618. package/node_modules/cli/package.json +0 -77
  619. package/node_modules/color/LICENSE +0 -21
  620. package/node_modules/color/README.md +0 -123
  621. package/node_modules/color/index.js +0 -482
  622. package/node_modules/color/node_modules/color-convert/CHANGELOG.md +0 -54
  623. package/node_modules/color/node_modules/color-convert/LICENSE +0 -21
  624. package/node_modules/color/node_modules/color-convert/README.md +0 -68
  625. package/node_modules/color/node_modules/color-convert/conversions.js +0 -868
  626. package/node_modules/color/node_modules/color-convert/index.js +0 -78
  627. package/node_modules/color/node_modules/color-convert/package.json +0 -84
  628. package/node_modules/color/node_modules/color-convert/route.js +0 -97
  629. package/node_modules/color/node_modules/color-name/.eslintrc.json +0 -43
  630. package/node_modules/color/node_modules/color-name/.npmignore +0 -107
  631. package/node_modules/color/node_modules/color-name/LICENSE +0 -8
  632. package/node_modules/color/node_modules/color-name/README.md +0 -11
  633. package/node_modules/color/node_modules/color-name/index.js +0 -152
  634. package/node_modules/color/node_modules/color-name/package.json +0 -56
  635. package/node_modules/color/node_modules/color-name/test.js +0 -7
  636. package/node_modules/color/package.json +0 -75
  637. package/node_modules/color-difference/LICENSE +0 -7
  638. package/node_modules/color-difference/Makefile +0 -29
  639. package/node_modules/color-difference/README.md +0 -12
  640. package/node_modules/color-difference/bin/color-difference +0 -3
  641. package/node_modules/color-difference/index.js +0 -4
  642. package/node_modules/color-difference/lib/cli-runner.js +0 -49
  643. package/node_modules/color-difference/lib/compare.js +0 -28
  644. package/node_modules/color-difference/lib/index.js +0 -7
  645. package/node_modules/color-difference/lib/method/abstract.js +0 -15
  646. package/node_modules/color-difference/lib/method/cie-76-difference.js +0 -33
  647. package/node_modules/color-difference/lib/method/euclidean-distance.js +0 -32
  648. package/node_modules/color-difference/package.json +0 -67
  649. package/node_modules/color-difference/test/compare.js +0 -40
  650. package/node_modules/color-difference/test/method-absract.js +0 -18
  651. package/node_modules/color-model/Makefile +0 -29
  652. package/node_modules/color-model/index.js +0 -5
  653. package/node_modules/color-model/lib/abstract-model.js +0 -92
  654. package/node_modules/color-model/lib/component.js +0 -59
  655. package/node_modules/color-model/lib/hex-rgb.js +0 -69
  656. package/node_modules/color-model/lib/hsl.js +0 -108
  657. package/node_modules/color-model/lib/index.js +0 -9
  658. package/node_modules/color-model/lib/lab.js +0 -46
  659. package/node_modules/color-model/lib/rgb.js +0 -154
  660. package/node_modules/color-model/lib/xyz.js +0 -117
  661. package/node_modules/color-model/package.json +0 -63
  662. package/node_modules/color-model/test/abstract-model.js +0 -82
  663. package/node_modules/color-model/test/component.js +0 -104
  664. package/node_modules/color-model/test/hex-rgb.js +0 -56
  665. package/node_modules/color-model/test/hsl.js +0 -33
  666. package/node_modules/color-model/test/lab.js +0 -37
  667. package/node_modules/color-model/test/rgb.js +0 -74
  668. package/node_modules/color-model/test/xyz.js +0 -45
  669. package/node_modules/color-string/LICENSE +0 -21
  670. package/node_modules/color-string/README.md +0 -62
  671. package/node_modules/color-string/index.js +0 -242
  672. package/node_modules/color-string/package.json +0 -84
  673. package/node_modules/color-support/LICENSE +0 -15
  674. package/node_modules/color-support/README.md +0 -129
  675. package/node_modules/color-support/bin.js +0 -3
  676. package/node_modules/color-support/browser.js +0 -14
  677. package/node_modules/color-support/index.js +0 -134
  678. package/node_modules/color-support/package.json +0 -74
  679. package/node_modules/console-control-strings/LICENSE +0 -13
  680. package/node_modules/console-control-strings/README.md +0 -145
  681. package/node_modules/console-control-strings/README.md~ +0 -140
  682. package/node_modules/console-control-strings/index.js +0 -125
  683. package/node_modules/console-control-strings/package.json +0 -64
  684. package/node_modules/core-util-is/LICENSE +0 -19
  685. package/node_modules/core-util-is/README.md +0 -3
  686. package/node_modules/core-util-is/lib/util.js +0 -107
  687. package/node_modules/core-util-is/package.json +0 -72
  688. package/node_modules/d3/CHANGES.md +0 -1409
  689. package/node_modules/d3/LICENSE +0 -27
  690. package/node_modules/d3/README.md +0 -57
  691. package/node_modules/d3/dist/d3.js +0 -18568
  692. package/node_modules/d3/dist/d3.min.js +0 -2
  693. package/node_modules/d3/dist/d3.node.js +0 -287
  694. package/node_modules/d3/dist/package.js +0 -16
  695. package/node_modules/d3/index.js +0 -32
  696. package/node_modules/d3/package.json +0 -109
  697. package/node_modules/d3-array/.eslintrc.json +0 -15
  698. package/node_modules/d3-array/LICENSE +0 -27
  699. package/node_modules/d3-array/README.md +0 -382
  700. package/node_modules/d3-array/dist/d3-array.js +0 -590
  701. package/node_modules/d3-array/dist/d3-array.min.js +0 -2
  702. package/node_modules/d3-array/package.json +0 -77
  703. package/node_modules/d3-array/rollup.config.js +0 -36
  704. package/node_modules/d3-array/src/array.js +0 -4
  705. package/node_modules/d3-array/src/ascending.js +0 -3
  706. package/node_modules/d3-array/src/bisect.js +0 -7
  707. package/node_modules/d3-array/src/bisector.js +0 -33
  708. package/node_modules/d3-array/src/constant.js +0 -5
  709. package/node_modules/d3-array/src/cross.js +0 -21
  710. package/node_modules/d3-array/src/descending.js +0 -3
  711. package/node_modules/d3-array/src/deviation.js +0 -6
  712. package/node_modules/d3-array/src/extent.js +0 -37
  713. package/node_modules/d3-array/src/histogram.js +0 -75
  714. package/node_modules/d3-array/src/identity.js +0 -3
  715. package/node_modules/d3-array/src/index.js +0 -27
  716. package/node_modules/d3-array/src/max.js +0 -34
  717. package/node_modules/d3-array/src/mean.js +0 -25
  718. package/node_modules/d3-array/src/median.js +0 -28
  719. package/node_modules/d3-array/src/merge.js +0 -21
  720. package/node_modules/d3-array/src/min.js +0 -34
  721. package/node_modules/d3-array/src/number.js +0 -3
  722. package/node_modules/d3-array/src/pairs.js +0 -10
  723. package/node_modules/d3-array/src/permute.js +0 -5
  724. package/node_modules/d3-array/src/quantile.js +0 -14
  725. package/node_modules/d3-array/src/range.js +0 -13
  726. package/node_modules/d3-array/src/scan.js +0 -20
  727. package/node_modules/d3-array/src/shuffle.js +0 -14
  728. package/node_modules/d3-array/src/sum.js +0 -20
  729. package/node_modules/d3-array/src/threshold/freedmanDiaconis.js +0 -9
  730. package/node_modules/d3-array/src/threshold/scott.js +0 -5
  731. package/node_modules/d3-array/src/threshold/sturges.js +0 -3
  732. package/node_modules/d3-array/src/ticks.js +0 -51
  733. package/node_modules/d3-array/src/transpose.js +0 -15
  734. package/node_modules/d3-array/src/variance.js +0 -33
  735. package/node_modules/d3-array/src/zip.js +0 -5
  736. package/node_modules/d3-array/yarn.lock +0 -939
  737. package/node_modules/d3-axis/.eslintrc.json +0 -15
  738. package/node_modules/d3-axis/LICENSE +0 -27
  739. package/node_modules/d3-axis/README.md +0 -192
  740. package/node_modules/d3-axis/dist/d3-axis.js +0 -193
  741. package/node_modules/d3-axis/dist/d3-axis.min.js +0 -2
  742. package/node_modules/d3-axis/package.json +0 -72
  743. package/node_modules/d3-axis/rollup.config.js +0 -36
  744. package/node_modules/d3-axis/src/array.js +0 -1
  745. package/node_modules/d3-axis/src/axis.js +0 -174
  746. package/node_modules/d3-axis/src/identity.js +0 -3
  747. package/node_modules/d3-axis/src/index.js +0 -6
  748. package/node_modules/d3-axis/yarn.lock +0 -1432
  749. package/node_modules/d3-brush/LICENSE +0 -27
  750. package/node_modules/d3-brush/README.md +0 -169
  751. package/node_modules/d3-brush/dist/d3-brush.js +0 -619
  752. package/node_modules/d3-brush/dist/d3-brush.min.js +0 -2
  753. package/node_modules/d3-brush/package.json +0 -79
  754. package/node_modules/d3-brush/src/brush.js +0 -591
  755. package/node_modules/d3-brush/src/constant.js +0 -5
  756. package/node_modules/d3-brush/src/event.js +0 -5
  757. package/node_modules/d3-brush/src/index.js +0 -6
  758. package/node_modules/d3-brush/src/noevent.js +0 -10
  759. package/node_modules/d3-chord/.eslintrc.json +0 -15
  760. package/node_modules/d3-chord/LICENSE +0 -27
  761. package/node_modules/d3-chord/README.md +0 -170
  762. package/node_modules/d3-chord/dist/d3-chord.js +0 -230
  763. package/node_modules/d3-chord/dist/d3-chord.min.js +0 -2
  764. package/node_modules/d3-chord/package.json +0 -74
  765. package/node_modules/d3-chord/rollup.config.js +0 -36
  766. package/node_modules/d3-chord/src/array.js +0 -1
  767. package/node_modules/d3-chord/src/chord.js +0 -121
  768. package/node_modules/d3-chord/src/constant.js +0 -5
  769. package/node_modules/d3-chord/src/index.js +0 -2
  770. package/node_modules/d3-chord/src/math.js +0 -6
  771. package/node_modules/d3-chord/src/ribbon.js +0 -87
  772. package/node_modules/d3-chord/yarn.lock +0 -943
  773. package/node_modules/d3-collection/.eslintrc.json +0 -15
  774. package/node_modules/d3-collection/LICENSE +0 -27
  775. package/node_modules/d3-collection/README.md +0 -271
  776. package/node_modules/d3-collection/dist/d3-collection.js +0 -217
  777. package/node_modules/d3-collection/dist/d3-collection.min.js +0 -2
  778. package/node_modules/d3-collection/package.json +0 -75
  779. package/node_modules/d3-collection/rollup.config.js +0 -36
  780. package/node_modules/d3-collection/src/entries.js +0 -5
  781. package/node_modules/d3-collection/src/index.js +0 -6
  782. package/node_modules/d3-collection/src/keys.js +0 -5
  783. package/node_modules/d3-collection/src/map.js +0 -75
  784. package/node_modules/d3-collection/src/nest.js +0 -73
  785. package/node_modules/d3-collection/src/set.js +0 -39
  786. package/node_modules/d3-collection/src/values.js +0 -5
  787. package/node_modules/d3-collection/yarn-error.log +0 -1049
  788. package/node_modules/d3-collection/yarn.lock +0 -939
  789. package/node_modules/d3-color/LICENSE +0 -27
  790. package/node_modules/d3-color/README.md +0 -177
  791. package/node_modules/d3-color/dist/d3-color.js +0 -581
  792. package/node_modules/d3-color/dist/d3-color.min.js +0 -2
  793. package/node_modules/d3-color/package.json +0 -81
  794. package/node_modules/d3-color/src/color.js +0 -371
  795. package/node_modules/d3-color/src/cubehelix.js +0 -61
  796. package/node_modules/d3-color/src/define.js +0 -10
  797. package/node_modules/d3-color/src/index.js +0 -3
  798. package/node_modules/d3-color/src/lab.js +0 -123
  799. package/node_modules/d3-color/src/math.js +0 -2
  800. package/node_modules/d3-contour/.eslintrc.json +0 -16
  801. package/node_modules/d3-contour/LICENSE +0 -27
  802. package/node_modules/d3-contour/README.md +0 -172
  803. package/node_modules/d3-contour/dist/d3-contour.js +0 -431
  804. package/node_modules/d3-contour/dist/d3-contour.min.js +0 -2
  805. package/node_modules/d3-contour/package.json +0 -71
  806. package/node_modules/d3-contour/rollup.config.js +0 -36
  807. package/node_modules/d3-contour/src/area.js +0 -5
  808. package/node_modules/d3-contour/src/array.js +0 -3
  809. package/node_modules/d3-contour/src/ascending.js +0 -3
  810. package/node_modules/d3-contour/src/blur.js +0 -43
  811. package/node_modules/d3-contour/src/constant.js +0 -5
  812. package/node_modules/d3-contour/src/contains.js +0 -27
  813. package/node_modules/d3-contour/src/contours.js +0 -203
  814. package/node_modules/d3-contour/src/density.js +0 -133
  815. package/node_modules/d3-contour/src/index.js +0 -2
  816. package/node_modules/d3-contour/src/noop.js +0 -1
  817. package/node_modules/d3-contour/yarn.lock +0 -939
  818. package/node_modules/d3-dispatch/LICENSE +0 -27
  819. package/node_modules/d3-dispatch/README.md +0 -82
  820. package/node_modules/d3-dispatch/dist/d3-dispatch.js +0 -95
  821. package/node_modules/d3-dispatch/dist/d3-dispatch.min.js +0 -2
  822. package/node_modules/d3-dispatch/package.json +0 -79
  823. package/node_modules/d3-dispatch/src/dispatch.js +0 -84
  824. package/node_modules/d3-dispatch/src/index.js +0 -1
  825. package/node_modules/d3-drag/LICENSE +0 -27
  826. package/node_modules/d3-drag/README.md +0 -235
  827. package/node_modules/d3-drag/dist/d3-drag.js +0 -234
  828. package/node_modules/d3-drag/dist/d3-drag.min.js +0 -2
  829. package/node_modules/d3-drag/package.json +0 -80
  830. package/node_modules/d3-drag/src/constant.js +0 -5
  831. package/node_modules/d3-drag/src/drag.js +0 -167
  832. package/node_modules/d3-drag/src/event.js +0 -17
  833. package/node_modules/d3-drag/src/index.js +0 -2
  834. package/node_modules/d3-drag/src/nodrag.js +0 -28
  835. package/node_modules/d3-drag/src/noevent.js +0 -10
  836. package/node_modules/d3-dsv/LICENSE +0 -27
  837. package/node_modules/d3-dsv/README.md +0 -473
  838. package/node_modules/d3-dsv/bin/dsv2dsv +0 -32
  839. package/node_modules/d3-dsv/bin/dsv2json +0 -33
  840. package/node_modules/d3-dsv/bin/json2dsv +0 -33
  841. package/node_modules/d3-dsv/dist/d3-dsv.js +0 -233
  842. package/node_modules/d3-dsv/dist/d3-dsv.min.js +0 -2
  843. package/node_modules/d3-dsv/node_modules/commander/CHANGELOG.md +0 -419
  844. package/node_modules/d3-dsv/node_modules/commander/LICENSE +0 -22
  845. package/node_modules/d3-dsv/node_modules/commander/Readme.md +0 -428
  846. package/node_modules/d3-dsv/node_modules/commander/index.js +0 -1224
  847. package/node_modules/d3-dsv/node_modules/commander/package.json +0 -73
  848. package/node_modules/d3-dsv/node_modules/commander/typings/index.d.ts +0 -310
  849. package/node_modules/d3-dsv/package.json +0 -93
  850. package/node_modules/d3-dsv/src/autoType.js +0 -20
  851. package/node_modules/d3-dsv/src/csv.js +0 -11
  852. package/node_modules/d3-dsv/src/dsv.js +0 -164
  853. package/node_modules/d3-dsv/src/index.js +0 -4
  854. package/node_modules/d3-dsv/src/tsv.js +0 -11
  855. package/node_modules/d3-ease/LICENSE +0 -28
  856. package/node_modules/d3-ease/README.md +0 -241
  857. package/node_modules/d3-ease/dist/d3-ease.js +0 -264
  858. package/node_modules/d3-ease/dist/d3-ease.min.js +0 -2
  859. package/node_modules/d3-ease/package.json +0 -76
  860. package/node_modules/d3-ease/src/back.js +0 -37
  861. package/node_modules/d3-ease/src/bounce.js +0 -22
  862. package/node_modules/d3-ease/src/circle.js +0 -11
  863. package/node_modules/d3-ease/src/cubic.js +0 -11
  864. package/node_modules/d3-ease/src/elastic.js +0 -46
  865. package/node_modules/d3-ease/src/exp.js +0 -13
  866. package/node_modules/d3-ease/src/index.js +0 -66
  867. package/node_modules/d3-ease/src/linear.js +0 -3
  868. package/node_modules/d3-ease/src/math.js +0 -4
  869. package/node_modules/d3-ease/src/poly.js +0 -37
  870. package/node_modules/d3-ease/src/quad.js +0 -11
  871. package/node_modules/d3-ease/src/sin.js +0 -14
  872. package/node_modules/d3-fetch/LICENSE +0 -27
  873. package/node_modules/d3-fetch/README.md +0 -104
  874. package/node_modules/d3-fetch/dist/d3-fetch.js +0 -103
  875. package/node_modules/d3-fetch/dist/d3-fetch.min.js +0 -2
  876. package/node_modules/d3-fetch/package.json +0 -77
  877. package/node_modules/d3-fetch/src/blob.js +0 -8
  878. package/node_modules/d3-fetch/src/buffer.js +0 -8
  879. package/node_modules/d3-fetch/src/dsv.js +0 -22
  880. package/node_modules/d3-fetch/src/image.js +0 -9
  881. package/node_modules/d3-fetch/src/index.js +0 -7
  882. package/node_modules/d3-fetch/src/json.js +0 -9
  883. package/node_modules/d3-fetch/src/text.js +0 -8
  884. package/node_modules/d3-fetch/src/xml.js +0 -15
  885. package/node_modules/d3-force/.eslintrc.json +0 -15
  886. package/node_modules/d3-force/LICENSE +0 -27
  887. package/node_modules/d3-force/README.md +0 -459
  888. package/node_modules/d3-force/dist/d3-force.js +0 -668
  889. package/node_modules/d3-force/dist/d3-force.min.js +0 -2
  890. package/node_modules/d3-force/package.json +0 -78
  891. package/node_modules/d3-force/rollup.config.js +0 -36
  892. package/node_modules/d3-force/src/center.js +0 -36
  893. package/node_modules/d3-force/src/collide.js +0 -98
  894. package/node_modules/d3-force/src/constant.js +0 -5
  895. package/node_modules/d3-force/src/index.js +0 -8
  896. package/node_modules/d3-force/src/jiggle.js +0 -3
  897. package/node_modules/d3-force/src/link.js +0 -116
  898. package/node_modules/d3-force/src/manyBody.js +0 -114
  899. package/node_modules/d3-force/src/radial.js +0 -57
  900. package/node_modules/d3-force/src/simulation.js +0 -151
  901. package/node_modules/d3-force/src/x.js +0 -41
  902. package/node_modules/d3-force/src/y.js +0 -41
  903. package/node_modules/d3-force/yarn.lock +0 -951
  904. package/node_modules/d3-format/LICENSE +0 -27
  905. package/node_modules/d3-format/README.md +0 -343
  906. package/node_modules/d3-format/dist/d3-format.js +0 -345
  907. package/node_modules/d3-format/dist/d3-format.min.js +0 -2
  908. package/node_modules/d3-format/locale/ar-001.json +0 -7
  909. package/node_modules/d3-format/locale/ar-AE.json +0 -7
  910. package/node_modules/d3-format/locale/ar-BH.json +0 -7
  911. package/node_modules/d3-format/locale/ar-DJ.json +0 -7
  912. package/node_modules/d3-format/locale/ar-DZ.json +0 -6
  913. package/node_modules/d3-format/locale/ar-EG.json +0 -7
  914. package/node_modules/d3-format/locale/ar-EH.json +0 -6
  915. package/node_modules/d3-format/locale/ar-ER.json +0 -7
  916. package/node_modules/d3-format/locale/ar-IL.json +0 -7
  917. package/node_modules/d3-format/locale/ar-IQ.json +0 -7
  918. package/node_modules/d3-format/locale/ar-JO.json +0 -7
  919. package/node_modules/d3-format/locale/ar-KM.json +0 -7
  920. package/node_modules/d3-format/locale/ar-KW.json +0 -7
  921. package/node_modules/d3-format/locale/ar-LB.json +0 -7
  922. package/node_modules/d3-format/locale/ar-LY.json +0 -6
  923. package/node_modules/d3-format/locale/ar-MA.json +0 -6
  924. package/node_modules/d3-format/locale/ar-MR.json +0 -7
  925. package/node_modules/d3-format/locale/ar-OM.json +0 -7
  926. package/node_modules/d3-format/locale/ar-PS.json +0 -7
  927. package/node_modules/d3-format/locale/ar-QA.json +0 -7
  928. package/node_modules/d3-format/locale/ar-SA.json +0 -7
  929. package/node_modules/d3-format/locale/ar-SD.json +0 -7
  930. package/node_modules/d3-format/locale/ar-SO.json +0 -7
  931. package/node_modules/d3-format/locale/ar-SS.json +0 -7
  932. package/node_modules/d3-format/locale/ar-SY.json +0 -7
  933. package/node_modules/d3-format/locale/ar-TD.json +0 -7
  934. package/node_modules/d3-format/locale/ar-TN.json +0 -6
  935. package/node_modules/d3-format/locale/ar-YE.json +0 -7
  936. package/node_modules/d3-format/locale/ca-ES.json +0 -6
  937. package/node_modules/d3-format/locale/cs-CZ.json +0 -6
  938. package/node_modules/d3-format/locale/de-CH.json +0 -6
  939. package/node_modules/d3-format/locale/de-DE.json +0 -6
  940. package/node_modules/d3-format/locale/en-CA.json +0 -6
  941. package/node_modules/d3-format/locale/en-GB.json +0 -6
  942. package/node_modules/d3-format/locale/en-IE.json +0 -6
  943. package/node_modules/d3-format/locale/en-IN.json +0 -6
  944. package/node_modules/d3-format/locale/en-US.json +0 -6
  945. package/node_modules/d3-format/locale/es-BO.json +0 -7
  946. package/node_modules/d3-format/locale/es-ES.json +0 -6
  947. package/node_modules/d3-format/locale/es-MX.json +0 -6
  948. package/node_modules/d3-format/locale/fi-FI.json +0 -6
  949. package/node_modules/d3-format/locale/fr-CA.json +0 -6
  950. package/node_modules/d3-format/locale/fr-FR.json +0 -7
  951. package/node_modules/d3-format/locale/he-IL.json +0 -6
  952. package/node_modules/d3-format/locale/hu-HU.json +0 -6
  953. package/node_modules/d3-format/locale/it-IT.json +0 -6
  954. package/node_modules/d3-format/locale/ja-JP.json +0 -6
  955. package/node_modules/d3-format/locale/ko-KR.json +0 -6
  956. package/node_modules/d3-format/locale/mk-MK.json +0 -6
  957. package/node_modules/d3-format/locale/nl-NL.json +0 -6
  958. package/node_modules/d3-format/locale/pl-PL.json +0 -6
  959. package/node_modules/d3-format/locale/pt-BR.json +0 -6
  960. package/node_modules/d3-format/locale/ru-RU.json +0 -6
  961. package/node_modules/d3-format/locale/sv-SE.json +0 -6
  962. package/node_modules/d3-format/locale/uk-UA.json +0 -6
  963. package/node_modules/d3-format/locale/zh-CN.json +0 -6
  964. package/node_modules/d3-format/package.json +0 -77
  965. package/node_modules/d3-format/src/defaultLocale.js +0 -20
  966. package/node_modules/d3-format/src/exponent.js +0 -5
  967. package/node_modules/d3-format/src/formatDecimal.js +0 -20
  968. package/node_modules/d3-format/src/formatGroup.js +0 -18
  969. package/node_modules/d3-format/src/formatNumerals.js +0 -7
  970. package/node_modules/d3-format/src/formatPrefixAuto.js +0 -16
  971. package/node_modules/d3-format/src/formatRounded.js +0 -11
  972. package/node_modules/d3-format/src/formatSpecifier.js +0 -47
  973. package/node_modules/d3-format/src/formatTrim.js +0 -11
  974. package/node_modules/d3-format/src/formatTypes.js +0 -19
  975. package/node_modules/d3-format/src/identity.js +0 -3
  976. package/node_modules/d3-format/src/index.js +0 -6
  977. package/node_modules/d3-format/src/locale.js +0 -148
  978. package/node_modules/d3-format/src/precisionFixed.js +0 -5
  979. package/node_modules/d3-format/src/precisionPrefix.js +0 -5
  980. package/node_modules/d3-format/src/precisionRound.js +0 -6
  981. package/node_modules/d3-geo/LICENSE +0 -48
  982. package/node_modules/d3-geo/README.md +0 -683
  983. package/node_modules/d3-geo/dist/d3-geo.js +0 -3165
  984. package/node_modules/d3-geo/dist/d3-geo.min.js +0 -2
  985. package/node_modules/d3-geo/package.json +0 -83
  986. package/node_modules/d3-geo/src/adder.js +0 -40
  987. package/node_modules/d3-geo/src/area.js +0 -74
  988. package/node_modules/d3-geo/src/bounds.js +0 -179
  989. package/node_modules/d3-geo/src/cartesian.js +0 -33
  990. package/node_modules/d3-geo/src/centroid.js +0 -140
  991. package/node_modules/d3-geo/src/circle.js +0 -72
  992. package/node_modules/d3-geo/src/clip/antimeridian.js +0 -92
  993. package/node_modules/d3-geo/src/clip/buffer.js +0 -24
  994. package/node_modules/d3-geo/src/clip/circle.js +0 -177
  995. package/node_modules/d3-geo/src/clip/extent.js +0 -20
  996. package/node_modules/d3-geo/src/clip/index.js +0 -131
  997. package/node_modules/d3-geo/src/clip/line.js +0 -59
  998. package/node_modules/d3-geo/src/clip/rectangle.js +0 -168
  999. package/node_modules/d3-geo/src/clip/rejoin.js +0 -103
  1000. package/node_modules/d3-geo/src/compose.js +0 -12
  1001. package/node_modules/d3-geo/src/constant.js +0 -5
  1002. package/node_modules/d3-geo/src/contains.js +0 -97
  1003. package/node_modules/d3-geo/src/distance.js +0 -10
  1004. package/node_modules/d3-geo/src/graticule.js +0 -105
  1005. package/node_modules/d3-geo/src/identity.js +0 -3
  1006. package/node_modules/d3-geo/src/index.js +0 -34
  1007. package/node_modules/d3-geo/src/interpolate.js +0 -36
  1008. package/node_modules/d3-geo/src/length.js +0 -53
  1009. package/node_modules/d3-geo/src/math.js +0 -35
  1010. package/node_modules/d3-geo/src/noop.js +0 -1
  1011. package/node_modules/d3-geo/src/path/area.js +0 -50
  1012. package/node_modules/d3-geo/src/path/bounds.js +0 -28
  1013. package/node_modules/d3-geo/src/path/centroid.js +0 -100
  1014. package/node_modules/d3-geo/src/path/context.js +0 -45
  1015. package/node_modules/d3-geo/src/path/index.js +0 -61
  1016. package/node_modules/d3-geo/src/path/measure.js +0 -45
  1017. package/node_modules/d3-geo/src/path/string.js +0 -59
  1018. package/node_modules/d3-geo/src/pointEqual.js +0 -5
  1019. package/node_modules/d3-geo/src/polygonContains.js +0 -79
  1020. package/node_modules/d3-geo/src/projection/albers.js +0 -10
  1021. package/node_modules/d3-geo/src/projection/albersUsa.js +0 -111
  1022. package/node_modules/d3-geo/src/projection/azimuthal.js +0 -26
  1023. package/node_modules/d3-geo/src/projection/azimuthalEqualArea.js +0 -17
  1024. package/node_modules/d3-geo/src/projection/azimuthalEquidistant.js +0 -17
  1025. package/node_modules/d3-geo/src/projection/conic.js +0 -15
  1026. package/node_modules/d3-geo/src/projection/conicConformal.js +0 -38
  1027. package/node_modules/d3-geo/src/projection/conicEqualArea.js +0 -33
  1028. package/node_modules/d3-geo/src/projection/conicEquidistant.js +0 -32
  1029. package/node_modules/d3-geo/src/projection/cylindricalEqualArea.js +0 -15
  1030. package/node_modules/d3-geo/src/projection/equalEarth.js +0 -36
  1031. package/node_modules/d3-geo/src/projection/equirectangular.js +0 -12
  1032. package/node_modules/d3-geo/src/projection/fit.js +0 -47
  1033. package/node_modules/d3-geo/src/projection/gnomonic.js +0 -16
  1034. package/node_modules/d3-geo/src/projection/identity.js +0 -85
  1035. package/node_modules/d3-geo/src/projection/index.js +0 -176
  1036. package/node_modules/d3-geo/src/projection/mercator.js +0 -52
  1037. package/node_modules/d3-geo/src/projection/naturalEarth1.js +0 -28
  1038. package/node_modules/d3-geo/src/projection/orthographic.js +0 -15
  1039. package/node_modules/d3-geo/src/projection/resample.js +0 -102
  1040. package/node_modules/d3-geo/src/projection/stereographic.js +0 -18
  1041. package/node_modules/d3-geo/src/projection/transverseMercator.js +0 -27
  1042. package/node_modules/d3-geo/src/rotation.js +0 -76
  1043. package/node_modules/d3-geo/src/stream.js +0 -69
  1044. package/node_modules/d3-geo/src/transform.js +0 -26
  1045. package/node_modules/d3-hierarchy/LICENSE +0 -27
  1046. package/node_modules/d3-hierarchy/README.md +0 -548
  1047. package/node_modules/d3-hierarchy/dist/d3-hierarchy.js +0 -1290
  1048. package/node_modules/d3-hierarchy/dist/d3-hierarchy.min.js +0 -2
  1049. package/node_modules/d3-hierarchy/package.json +0 -81
  1050. package/node_modules/d3-hierarchy/src/accessors.js +0 -8
  1051. package/node_modules/d3-hierarchy/src/array.js +0 -16
  1052. package/node_modules/d3-hierarchy/src/cluster.js +0 -84
  1053. package/node_modules/d3-hierarchy/src/constant.js +0 -9
  1054. package/node_modules/d3-hierarchy/src/hierarchy/ancestors.js +0 -7
  1055. package/node_modules/d3-hierarchy/src/hierarchy/count.js +0 -12
  1056. package/node_modules/d3-hierarchy/src/hierarchy/descendants.js +0 -7
  1057. package/node_modules/d3-hierarchy/src/hierarchy/each.js +0 -13
  1058. package/node_modules/d3-hierarchy/src/hierarchy/eachAfter.js +0 -13
  1059. package/node_modules/d3-hierarchy/src/hierarchy/eachBefore.js +0 -10
  1060. package/node_modules/d3-hierarchy/src/hierarchy/index.js +0 -79
  1061. package/node_modules/d3-hierarchy/src/hierarchy/leaves.js +0 -9
  1062. package/node_modules/d3-hierarchy/src/hierarchy/links.js +0 -9
  1063. package/node_modules/d3-hierarchy/src/hierarchy/path.js +0 -30
  1064. package/node_modules/d3-hierarchy/src/hierarchy/sort.js +0 -7
  1065. package/node_modules/d3-hierarchy/src/hierarchy/sum.js +0 -9
  1066. package/node_modules/d3-hierarchy/src/index.js +0 -15
  1067. package/node_modules/d3-hierarchy/src/pack/enclose.js +0 -118
  1068. package/node_modules/d3-hierarchy/src/pack/index.js +0 -79
  1069. package/node_modules/d3-hierarchy/src/pack/siblings.js +0 -118
  1070. package/node_modules/d3-hierarchy/src/partition.js +0 -52
  1071. package/node_modules/d3-hierarchy/src/stratify.js +0 -73
  1072. package/node_modules/d3-hierarchy/src/tree.js +0 -237
  1073. package/node_modules/d3-hierarchy/src/treemap/binary.js +0 -46
  1074. package/node_modules/d3-hierarchy/src/treemap/dice.js +0 -12
  1075. package/node_modules/d3-hierarchy/src/treemap/index.js +0 -94
  1076. package/node_modules/d3-hierarchy/src/treemap/resquarify.js +0 -36
  1077. package/node_modules/d3-hierarchy/src/treemap/round.js +0 -6
  1078. package/node_modules/d3-hierarchy/src/treemap/slice.js +0 -12
  1079. package/node_modules/d3-hierarchy/src/treemap/sliceDice.js +0 -6
  1080. package/node_modules/d3-hierarchy/src/treemap/squarify.js +0 -66
  1081. package/node_modules/d3-interpolate/LICENSE +0 -27
  1082. package/node_modules/d3-interpolate/README.md +0 -250
  1083. package/node_modules/d3-interpolate/dist/d3-interpolate.js +0 -593
  1084. package/node_modules/d3-interpolate/dist/d3-interpolate.min.js +0 -2
  1085. package/node_modules/d3-interpolate/package.json +0 -82
  1086. package/node_modules/d3-interpolate/src/array.js +0 -22
  1087. package/node_modules/d3-interpolate/src/basis.js +0 -19
  1088. package/node_modules/d3-interpolate/src/basisClosed.js +0 -13
  1089. package/node_modules/d3-interpolate/src/color.js +0 -29
  1090. package/node_modules/d3-interpolate/src/constant.js +0 -5
  1091. package/node_modules/d3-interpolate/src/cubehelix.js +0 -29
  1092. package/node_modules/d3-interpolate/src/date.js +0 -6
  1093. package/node_modules/d3-interpolate/src/discrete.js +0 -6
  1094. package/node_modules/d3-interpolate/src/hcl.js +0 -21
  1095. package/node_modules/d3-interpolate/src/hsl.js +0 -21
  1096. package/node_modules/d3-interpolate/src/hue.js +0 -9
  1097. package/node_modules/d3-interpolate/src/index.js +0 -21
  1098. package/node_modules/d3-interpolate/src/lab.js +0 -16
  1099. package/node_modules/d3-interpolate/src/number.js +0 -5
  1100. package/node_modules/d3-interpolate/src/numberArray.js +0 -14
  1101. package/node_modules/d3-interpolate/src/object.js +0 -23
  1102. package/node_modules/d3-interpolate/src/piecewise.js +0 -8
  1103. package/node_modules/d3-interpolate/src/quantize.js +0 -5
  1104. package/node_modules/d3-interpolate/src/rgb.js +0 -55
  1105. package/node_modules/d3-interpolate/src/round.js +0 -5
  1106. package/node_modules/d3-interpolate/src/string.js +0 -64
  1107. package/node_modules/d3-interpolate/src/transform/decompose.js +0 -26
  1108. package/node_modules/d3-interpolate/src/transform/index.js +0 -63
  1109. package/node_modules/d3-interpolate/src/transform/parse.js +0 -25
  1110. package/node_modules/d3-interpolate/src/value.js +0 -22
  1111. package/node_modules/d3-interpolate/src/zoom.js +0 -64
  1112. package/node_modules/d3-path/LICENSE +0 -27
  1113. package/node_modules/d3-path/README.md +0 -78
  1114. package/node_modules/d3-path/dist/d3-path.js +0 -141
  1115. package/node_modules/d3-path/dist/d3-path.min.js +0 -2
  1116. package/node_modules/d3-path/package.json +0 -80
  1117. package/node_modules/d3-path/src/index.js +0 -1
  1118. package/node_modules/d3-path/src/path.js +0 -130
  1119. package/node_modules/d3-polygon/LICENSE +0 -27
  1120. package/node_modules/d3-polygon/README.md +0 -40
  1121. package/node_modules/d3-polygon/dist/d3-polygon.js +0 -150
  1122. package/node_modules/d3-polygon/dist/d3-polygon.min.js +0 -2
  1123. package/node_modules/d3-polygon/package.json +0 -75
  1124. package/node_modules/d3-polygon/src/area.js +0 -15
  1125. package/node_modules/d3-polygon/src/centroid.js +0 -20
  1126. package/node_modules/d3-polygon/src/contains.js +0 -16
  1127. package/node_modules/d3-polygon/src/cross.js +0 -7
  1128. package/node_modules/d3-polygon/src/hull.js +0 -49
  1129. package/node_modules/d3-polygon/src/index.js +0 -5
  1130. package/node_modules/d3-polygon/src/length.js +0 -23
  1131. package/node_modules/d3-quadtree/LICENSE +0 -27
  1132. package/node_modules/d3-quadtree/README.md +0 -163
  1133. package/node_modules/d3-quadtree/dist/d3-quadtree.js +0 -419
  1134. package/node_modules/d3-quadtree/dist/d3-quadtree.min.js +0 -2
  1135. package/node_modules/d3-quadtree/package.json +0 -74
  1136. package/node_modules/d3-quadtree/src/add.js +0 -84
  1137. package/node_modules/d3-quadtree/src/cover.js +0 -43
  1138. package/node_modules/d3-quadtree/src/data.js +0 -7
  1139. package/node_modules/d3-quadtree/src/extent.js +0 -5
  1140. package/node_modules/d3-quadtree/src/find.js +0 -70
  1141. package/node_modules/d3-quadtree/src/index.js +0 -1
  1142. package/node_modules/d3-quadtree/src/quad.js +0 -7
  1143. package/node_modules/d3-quadtree/src/quadtree.js +0 -73
  1144. package/node_modules/d3-quadtree/src/remove.js +0 -62
  1145. package/node_modules/d3-quadtree/src/root.js +0 -3
  1146. package/node_modules/d3-quadtree/src/size.js +0 -7
  1147. package/node_modules/d3-quadtree/src/visit.js +0 -16
  1148. package/node_modules/d3-quadtree/src/visitAfter.js +0 -21
  1149. package/node_modules/d3-quadtree/src/x.js +0 -7
  1150. package/node_modules/d3-quadtree/src/y.js +0 -7
  1151. package/node_modules/d3-random/.eslintrc.json +0 -15
  1152. package/node_modules/d3-random/LICENSE +0 -27
  1153. package/node_modules/d3-random/README.md +0 -63
  1154. package/node_modules/d3-random/dist/d3-random.js +0 -115
  1155. package/node_modules/d3-random/dist/d3-random.min.js +0 -2
  1156. package/node_modules/d3-random/package.json +0 -70
  1157. package/node_modules/d3-random/rollup.config.js +0 -36
  1158. package/node_modules/d3-random/src/bates.js +0 -15
  1159. package/node_modules/d3-random/src/defaultSource.js +0 -3
  1160. package/node_modules/d3-random/src/exponential.js +0 -13
  1161. package/node_modules/d3-random/src/index.js +0 -6
  1162. package/node_modules/d3-random/src/irwinHall.js +0 -14
  1163. package/node_modules/d3-random/src/logNormal.js +0 -15
  1164. package/node_modules/d3-random/src/normal.js +0 -28
  1165. package/node_modules/d3-random/src/uniform.js +0 -17
  1166. package/node_modules/d3-random/yarn.lock +0 -943
  1167. package/node_modules/d3-scale/.eslintrc.json +0 -15
  1168. package/node_modules/d3-scale/LICENSE +0 -27
  1169. package/node_modules/d3-scale/README.md +0 -952
  1170. package/node_modules/d3-scale/dist/d3-scale.js +0 -1165
  1171. package/node_modules/d3-scale/dist/d3-scale.min.js +0 -2
  1172. package/node_modules/d3-scale/package.json +0 -77
  1173. package/node_modules/d3-scale/rollup.config.js +0 -36
  1174. package/node_modules/d3-scale/src/array.js +0 -4
  1175. package/node_modules/d3-scale/src/band.js +0 -100
  1176. package/node_modules/d3-scale/src/colors.js +0 -5
  1177. package/node_modules/d3-scale/src/constant.js +0 -5
  1178. package/node_modules/d3-scale/src/continuous.js +0 -124
  1179. package/node_modules/d3-scale/src/diverging.js +0 -91
  1180. package/node_modules/d3-scale/src/identity.js +0 -29
  1181. package/node_modules/d3-scale/src/index.js +0 -74
  1182. package/node_modules/d3-scale/src/init.js +0 -17
  1183. package/node_modules/d3-scale/src/linear.js +0 -72
  1184. package/node_modules/d3-scale/src/log.js +0 -145
  1185. package/node_modules/d3-scale/src/nice.js +0 -18
  1186. package/node_modules/d3-scale/src/number.js +0 -3
  1187. package/node_modules/d3-scale/src/ordinal.js +0 -45
  1188. package/node_modules/d3-scale/src/pow.js +0 -50
  1189. package/node_modules/d3-scale/src/quantile.js +0 -58
  1190. package/node_modules/d3-scale/src/quantize.js +0 -57
  1191. package/node_modules/d3-scale/src/sequential.js +0 -95
  1192. package/node_modules/d3-scale/src/sequentialQuantile.js +0 -30
  1193. package/node_modules/d3-scale/src/symlog.js +0 -35
  1194. package/node_modules/d3-scale/src/threshold.js +0 -40
  1195. package/node_modules/d3-scale/src/tickFormat.js +0 -29
  1196. package/node_modules/d3-scale/src/time.js +0 -135
  1197. package/node_modules/d3-scale/src/utcTime.js +0 -8
  1198. package/node_modules/d3-scale/yarn.lock +0 -967
  1199. package/node_modules/d3-scale-chromatic/LICENSE +0 -44
  1200. package/node_modules/d3-scale-chromatic/README.md +0 -386
  1201. package/node_modules/d3-scale-chromatic/dist/d3-scale-chromatic.js +0 -521
  1202. package/node_modules/d3-scale-chromatic/dist/d3-scale-chromatic.min.js +0 -2
  1203. package/node_modules/d3-scale-chromatic/package.json +0 -79
  1204. package/node_modules/d3-scale-chromatic/src/categorical/Accent.js +0 -3
  1205. package/node_modules/d3-scale-chromatic/src/categorical/Dark2.js +0 -3
  1206. package/node_modules/d3-scale-chromatic/src/categorical/Paired.js +0 -3
  1207. package/node_modules/d3-scale-chromatic/src/categorical/Pastel1.js +0 -3
  1208. package/node_modules/d3-scale-chromatic/src/categorical/Pastel2.js +0 -3
  1209. package/node_modules/d3-scale-chromatic/src/categorical/Set1.js +0 -3
  1210. package/node_modules/d3-scale-chromatic/src/categorical/Set2.js +0 -3
  1211. package/node_modules/d3-scale-chromatic/src/categorical/Set3.js +0 -3
  1212. package/node_modules/d3-scale-chromatic/src/categorical/Tableau10.js +0 -3
  1213. package/node_modules/d3-scale-chromatic/src/categorical/category10.js +0 -3
  1214. package/node_modules/d3-scale-chromatic/src/colors.js +0 -5
  1215. package/node_modules/d3-scale-chromatic/src/diverging/BrBG.js +0 -16
  1216. package/node_modules/d3-scale-chromatic/src/diverging/PRGn.js +0 -16
  1217. package/node_modules/d3-scale-chromatic/src/diverging/PiYG.js +0 -16
  1218. package/node_modules/d3-scale-chromatic/src/diverging/PuOr.js +0 -16
  1219. package/node_modules/d3-scale-chromatic/src/diverging/RdBu.js +0 -16
  1220. package/node_modules/d3-scale-chromatic/src/diverging/RdGy.js +0 -16
  1221. package/node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js +0 -16
  1222. package/node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js +0 -16
  1223. package/node_modules/d3-scale-chromatic/src/diverging/Spectral.js +0 -16
  1224. package/node_modules/d3-scale-chromatic/src/index.js +0 -43
  1225. package/node_modules/d3-scale-chromatic/src/ramp.js +0 -5
  1226. package/node_modules/d3-scale-chromatic/src/rampClosed.js +0 -9
  1227. package/node_modules/d3-scale-chromatic/src/scheme.js +0 -11
  1228. package/node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js +0 -14
  1229. package/node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js +0 -14
  1230. package/node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js +0 -14
  1231. package/node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js +0 -14
  1232. package/node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js +0 -14
  1233. package/node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js +0 -14
  1234. package/node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js +0 -14
  1235. package/node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js +0 -14
  1236. package/node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js +0 -14
  1237. package/node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js +0 -14
  1238. package/node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js +0 -14
  1239. package/node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js +0 -14
  1240. package/node_modules/d3-scale-chromatic/src/sequential-multi/cividis.js +0 -8
  1241. package/node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js +0 -4
  1242. package/node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js +0 -17
  1243. package/node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js +0 -14
  1244. package/node_modules/d3-scale-chromatic/src/sequential-multi/turbo.js +0 -8
  1245. package/node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js +0 -16
  1246. package/node_modules/d3-scale-chromatic/src/sequential-single/Blues.js +0 -14
  1247. package/node_modules/d3-scale-chromatic/src/sequential-single/Greens.js +0 -14
  1248. package/node_modules/d3-scale-chromatic/src/sequential-single/Greys.js +0 -14
  1249. package/node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js +0 -14
  1250. package/node_modules/d3-scale-chromatic/src/sequential-single/Purples.js +0 -14
  1251. package/node_modules/d3-scale-chromatic/src/sequential-single/Reds.js +0 -14
  1252. package/node_modules/d3-selection/LICENSE +0 -26
  1253. package/node_modules/d3-selection/README.md +0 -829
  1254. package/node_modules/d3-selection/dist/d3-selection.js +0 -989
  1255. package/node_modules/d3-selection/dist/d3-selection.min.js +0 -2
  1256. package/node_modules/d3-selection/package.json +0 -79
  1257. package/node_modules/d3-selection/src/constant.js +0 -5
  1258. package/node_modules/d3-selection/src/create.js +0 -6
  1259. package/node_modules/d3-selection/src/creator.js +0 -25
  1260. package/node_modules/d3-selection/src/identity.js +0 -3
  1261. package/node_modules/d3-selection/src/index.js +0 -18
  1262. package/node_modules/d3-selection/src/local.js +0 -27
  1263. package/node_modules/d3-selection/src/matcher.js +0 -5
  1264. package/node_modules/d3-selection/src/mouse.js +0 -8
  1265. package/node_modules/d3-selection/src/namespace.js +0 -7
  1266. package/node_modules/d3-selection/src/namespaces.js +0 -9
  1267. package/node_modules/d3-selection/src/point.js +0 -13
  1268. package/node_modules/d3-selection/src/select.js +0 -7
  1269. package/node_modules/d3-selection/src/selectAll.js +0 -7
  1270. package/node_modules/d3-selection/src/selection/append.js +0 -8
  1271. package/node_modules/d3-selection/src/selection/attr.js +0 -57
  1272. package/node_modules/d3-selection/src/selection/call.js +0 -6
  1273. package/node_modules/d3-selection/src/selection/classed.js +0 -75
  1274. package/node_modules/d3-selection/src/selection/clone.js +0 -13
  1275. package/node_modules/d3-selection/src/selection/data.js +0 -118
  1276. package/node_modules/d3-selection/src/selection/datum.js +0 -5
  1277. package/node_modules/d3-selection/src/selection/dispatch.js +0 -34
  1278. package/node_modules/d3-selection/src/selection/each.js +0 -10
  1279. package/node_modules/d3-selection/src/selection/empty.js +0 -3
  1280. package/node_modules/d3-selection/src/selection/enter.js +0 -22
  1281. package/node_modules/d3-selection/src/selection/exit.js +0 -6
  1282. package/node_modules/d3-selection/src/selection/filter.js +0 -16
  1283. package/node_modules/d3-selection/src/selection/html.js +0 -25
  1284. package/node_modules/d3-selection/src/selection/index.js +0 -79
  1285. package/node_modules/d3-selection/src/selection/insert.js +0 -14
  1286. package/node_modules/d3-selection/src/selection/join.js +0 -7
  1287. package/node_modules/d3-selection/src/selection/lower.js +0 -7
  1288. package/node_modules/d3-selection/src/selection/merge.js +0 -18
  1289. package/node_modules/d3-selection/src/selection/node.js +0 -11
  1290. package/node_modules/d3-selection/src/selection/nodes.js +0 -5
  1291. package/node_modules/d3-selection/src/selection/on.js +0 -107
  1292. package/node_modules/d3-selection/src/selection/order.js +0 -13
  1293. package/node_modules/d3-selection/src/selection/property.js +0 -28
  1294. package/node_modules/d3-selection/src/selection/raise.js +0 -7
  1295. package/node_modules/d3-selection/src/selection/remove.js +0 -8
  1296. package/node_modules/d3-selection/src/selection/select.js +0 -17
  1297. package/node_modules/d3-selection/src/selection/selectAll.js +0 -17
  1298. package/node_modules/d3-selection/src/selection/size.js +0 -5
  1299. package/node_modules/d3-selection/src/selection/sort.js +0 -24
  1300. package/node_modules/d3-selection/src/selection/sparse.js +0 -3
  1301. package/node_modules/d3-selection/src/selection/style.js +0 -35
  1302. package/node_modules/d3-selection/src/selection/text.js +0 -25
  1303. package/node_modules/d3-selection/src/selector.js +0 -7
  1304. package/node_modules/d3-selection/src/selectorAll.js +0 -9
  1305. package/node_modules/d3-selection/src/sourceEvent.js +0 -7
  1306. package/node_modules/d3-selection/src/touch.js +0 -14
  1307. package/node_modules/d3-selection/src/touches.js +0 -12
  1308. package/node_modules/d3-selection/src/window.js +0 -5
  1309. package/node_modules/d3-shape/LICENSE +0 -27
  1310. package/node_modules/d3-shape/README.md +0 -1149
  1311. package/node_modules/d3-shape/dist/d3-shape.js +0 -1949
  1312. package/node_modules/d3-shape/dist/d3-shape.min.js +0 -2
  1313. package/node_modules/d3-shape/package.json +0 -79
  1314. package/node_modules/d3-shape/src/arc.js +0 -261
  1315. package/node_modules/d3-shape/src/area.js +0 -109
  1316. package/node_modules/d3-shape/src/areaRadial.js +0 -29
  1317. package/node_modules/d3-shape/src/array.js +0 -1
  1318. package/node_modules/d3-shape/src/constant.js +0 -5
  1319. package/node_modules/d3-shape/src/curve/basis.js +0 -51
  1320. package/node_modules/d3-shape/src/curve/basisClosed.js +0 -52
  1321. package/node_modules/d3-shape/src/curve/basisOpen.js +0 -39
  1322. package/node_modules/d3-shape/src/curve/bundle.js +0 -56
  1323. package/node_modules/d3-shape/src/curve/cardinal.js +0 -61
  1324. package/node_modules/d3-shape/src/curve/cardinalClosed.js +0 -61
  1325. package/node_modules/d3-shape/src/curve/cardinalOpen.js +0 -49
  1326. package/node_modules/d3-shape/src/curve/catmullRom.js +0 -88
  1327. package/node_modules/d3-shape/src/curve/catmullRomClosed.js +0 -74
  1328. package/node_modules/d3-shape/src/curve/catmullRomOpen.js +0 -62
  1329. package/node_modules/d3-shape/src/curve/linear.js +0 -31
  1330. package/node_modules/d3-shape/src/curve/linearClosed.js +0 -25
  1331. package/node_modules/d3-shape/src/curve/monotone.js +0 -104
  1332. package/node_modules/d3-shape/src/curve/natural.js +0 -65
  1333. package/node_modules/d3-shape/src/curve/radial.js +0 -36
  1334. package/node_modules/d3-shape/src/curve/step.js +0 -53
  1335. package/node_modules/d3-shape/src/descending.js +0 -3
  1336. package/node_modules/d3-shape/src/identity.js +0 -3
  1337. package/node_modules/d3-shape/src/index.js +0 -46
  1338. package/node_modules/d3-shape/src/line.js +0 -55
  1339. package/node_modules/d3-shape/src/lineRadial.js +0 -19
  1340. package/node_modules/d3-shape/src/link/index.js +0 -84
  1341. package/node_modules/d3-shape/src/math.js +0 -20
  1342. package/node_modules/d3-shape/src/noop.js +0 -1
  1343. package/node_modules/d3-shape/src/offset/diverging.js +0 -14
  1344. package/node_modules/d3-shape/src/offset/expand.js +0 -10
  1345. package/node_modules/d3-shape/src/offset/none.js +0 -9
  1346. package/node_modules/d3-shape/src/offset/silhouette.js +0 -10
  1347. package/node_modules/d3-shape/src/offset/wiggle.js +0 -24
  1348. package/node_modules/d3-shape/src/order/appearance.js +0 -12
  1349. package/node_modules/d3-shape/src/order/ascending.js +0 -12
  1350. package/node_modules/d3-shape/src/order/descending.js +0 -5
  1351. package/node_modules/d3-shape/src/order/insideOut.js +0 -27
  1352. package/node_modules/d3-shape/src/order/none.js +0 -5
  1353. package/node_modules/d3-shape/src/order/reverse.js +0 -5
  1354. package/node_modules/d3-shape/src/pie.js +0 -79
  1355. package/node_modules/d3-shape/src/point.js +0 -7
  1356. package/node_modules/d3-shape/src/pointRadial.js +0 -3
  1357. package/node_modules/d3-shape/src/stack.js +0 -57
  1358. package/node_modules/d3-shape/src/symbol/circle.js +0 -9
  1359. package/node_modules/d3-shape/src/symbol/cross.js +0 -18
  1360. package/node_modules/d3-shape/src/symbol/diamond.js +0 -14
  1361. package/node_modules/d3-shape/src/symbol/square.js +0 -7
  1362. package/node_modules/d3-shape/src/symbol/star.js +0 -24
  1363. package/node_modules/d3-shape/src/symbol/triangle.js +0 -11
  1364. package/node_modules/d3-shape/src/symbol/wye.js +0 -26
  1365. package/node_modules/d3-shape/src/symbol.js +0 -46
  1366. package/node_modules/d3-time/LICENSE +0 -27
  1367. package/node_modules/d3-time/README.md +0 -333
  1368. package/node_modules/d3-time/dist/d3-time.js +0 -373
  1369. package/node_modules/d3-time/dist/d3-time.min.js +0 -2
  1370. package/node_modules/d3-time/package.json +0 -76
  1371. package/node_modules/d3-time/src/day.js +0 -15
  1372. package/node_modules/d3-time/src/duration.js +0 -5
  1373. package/node_modules/d3-time/src/hour.js +0 -15
  1374. package/node_modules/d3-time/src/index.js +0 -105
  1375. package/node_modules/d3-time/src/interval.js +0 -70
  1376. package/node_modules/d3-time/src/millisecond.js +0 -26
  1377. package/node_modules/d3-time/src/minute.js +0 -15
  1378. package/node_modules/d3-time/src/month.js +0 -15
  1379. package/node_modules/d3-time/src/second.js +0 -15
  1380. package/node_modules/d3-time/src/utcDay.js +0 -15
  1381. package/node_modules/d3-time/src/utcHour.js +0 -15
  1382. package/node_modules/d3-time/src/utcMinute.js +0 -15
  1383. package/node_modules/d3-time/src/utcMonth.js +0 -15
  1384. package/node_modules/d3-time/src/utcWeek.js +0 -29
  1385. package/node_modules/d3-time/src/utcYear.js +0 -26
  1386. package/node_modules/d3-time/src/week.js +0 -29
  1387. package/node_modules/d3-time/src/year.js +0 -26
  1388. package/node_modules/d3-time-format/LICENSE +0 -27
  1389. package/node_modules/d3-time-format/README.md +0 -199
  1390. package/node_modules/d3-time-format/dist/d3-time-format.js +0 -743
  1391. package/node_modules/d3-time-format/dist/d3-time-format.min.js +0 -2
  1392. package/node_modules/d3-time-format/locale/ar-EG.json +0 -10
  1393. package/node_modules/d3-time-format/locale/ca-ES.json +0 -10
  1394. package/node_modules/d3-time-format/locale/cs-CZ.json +0 -10
  1395. package/node_modules/d3-time-format/locale/da-DK.json +0 -10
  1396. package/node_modules/d3-time-format/locale/de-CH.json +0 -10
  1397. package/node_modules/d3-time-format/locale/de-DE.json +0 -10
  1398. package/node_modules/d3-time-format/locale/en-CA.json +0 -10
  1399. package/node_modules/d3-time-format/locale/en-GB.json +0 -10
  1400. package/node_modules/d3-time-format/locale/en-US.json +0 -10
  1401. package/node_modules/d3-time-format/locale/es-ES.json +0 -10
  1402. package/node_modules/d3-time-format/locale/es-MX.json +0 -10
  1403. package/node_modules/d3-time-format/locale/fa-IR.json +0 -10
  1404. package/node_modules/d3-time-format/locale/fi-FI.json +0 -10
  1405. package/node_modules/d3-time-format/locale/fr-CA.json +0 -10
  1406. package/node_modules/d3-time-format/locale/fr-FR.json +0 -10
  1407. package/node_modules/d3-time-format/locale/he-IL.json +0 -10
  1408. package/node_modules/d3-time-format/locale/hu-HU.json +0 -10
  1409. package/node_modules/d3-time-format/locale/it-IT.json +0 -10
  1410. package/node_modules/d3-time-format/locale/ja-JP.json +0 -10
  1411. package/node_modules/d3-time-format/locale/ko-KR.json +0 -10
  1412. package/node_modules/d3-time-format/locale/mk-MK.json +0 -10
  1413. package/node_modules/d3-time-format/locale/nb-NO.json +0 -10
  1414. package/node_modules/d3-time-format/locale/nl-NL.json +0 -10
  1415. package/node_modules/d3-time-format/locale/pl-PL.json +0 -10
  1416. package/node_modules/d3-time-format/locale/pt-BR.json +0 -10
  1417. package/node_modules/d3-time-format/locale/ru-RU.json +0 -10
  1418. package/node_modules/d3-time-format/locale/sv-SE.json +0 -10
  1419. package/node_modules/d3-time-format/locale/tr-TR.json +0 -10
  1420. package/node_modules/d3-time-format/locale/uk-UA.json +0 -10
  1421. package/node_modules/d3-time-format/locale/zh-CN.json +0 -10
  1422. package/node_modules/d3-time-format/locale/zh-TW.json +0 -10
  1423. package/node_modules/d3-time-format/package.json +0 -83
  1424. package/node_modules/d3-time-format/src/defaultLocale.js +0 -27
  1425. package/node_modules/d3-time-format/src/index.js +0 -4
  1426. package/node_modules/d3-time-format/src/isoFormat.js +0 -13
  1427. package/node_modules/d3-time-format/src/isoParse.js +0 -13
  1428. package/node_modules/d3-time-format/src/locale.js +0 -699
  1429. package/node_modules/d3-timer/LICENSE +0 -27
  1430. package/node_modules/d3-timer/README.md +0 -75
  1431. package/node_modules/d3-timer/dist/d3-timer.js +0 -149
  1432. package/node_modules/d3-timer/dist/d3-timer.min.js +0 -2
  1433. package/node_modules/d3-timer/package.json +0 -79
  1434. package/node_modules/d3-timer/src/index.js +0 -13
  1435. package/node_modules/d3-timer/src/interval.js +0 -13
  1436. package/node_modules/d3-timer/src/timeout.js +0 -11
  1437. package/node_modules/d3-timer/src/timer.js +0 -110
  1438. package/node_modules/d3-transition/LICENSE +0 -58
  1439. package/node_modules/d3-transition/README.md +0 -448
  1440. package/node_modules/d3-transition/dist/d3-transition.js +0 -880
  1441. package/node_modules/d3-transition/dist/d3-transition.min.js +0 -2
  1442. package/node_modules/d3-transition/package.json +0 -85
  1443. package/node_modules/d3-transition/src/active.js +0 -21
  1444. package/node_modules/d3-transition/src/index.js +0 -4
  1445. package/node_modules/d3-transition/src/interrupt.js +0 -24
  1446. package/node_modules/d3-transition/src/selection/index.js +0 -6
  1447. package/node_modules/d3-transition/src/selection/interrupt.js +0 -7
  1448. package/node_modules/d3-transition/src/selection/transition.js +0 -42
  1449. package/node_modules/d3-transition/src/transition/attr.js +0 -78
  1450. package/node_modules/d3-transition/src/transition/attrTween.js +0 -44
  1451. package/node_modules/d3-transition/src/transition/delay.js +0 -23
  1452. package/node_modules/d3-transition/src/transition/duration.js +0 -23
  1453. package/node_modules/d3-transition/src/transition/ease.js +0 -16
  1454. package/node_modules/d3-transition/src/transition/end.js +0 -26
  1455. package/node_modules/d3-transition/src/transition/filter.js +0 -16
  1456. package/node_modules/d3-transition/src/transition/index.js +0 -68
  1457. package/node_modules/d3-transition/src/transition/interpolate.js +0 -10
  1458. package/node_modules/d3-transition/src/transition/merge.js +0 -19
  1459. package/node_modules/d3-transition/src/transition/on.js +0 -32
  1460. package/node_modules/d3-transition/src/transition/remove.js +0 -11
  1461. package/node_modules/d3-transition/src/transition/schedule.js +0 -153
  1462. package/node_modules/d3-transition/src/transition/select.js +0 -22
  1463. package/node_modules/d3-transition/src/transition/selectAll.js +0 -26
  1464. package/node_modules/d3-transition/src/transition/selection.js +0 -7
  1465. package/node_modules/d3-transition/src/transition/style.js +0 -80
  1466. package/node_modules/d3-transition/src/transition/styleTween.js +0 -24
  1467. package/node_modules/d3-transition/src/transition/text.js +0 -20
  1468. package/node_modules/d3-transition/src/transition/textTween.js +0 -24
  1469. package/node_modules/d3-transition/src/transition/transition.js +0 -24
  1470. package/node_modules/d3-transition/src/transition/tween.js +0 -81
  1471. package/node_modules/d3-voronoi/.eslintrc.json +0 -16
  1472. package/node_modules/d3-voronoi/LICENSE +0 -50
  1473. package/node_modules/d3-voronoi/README.md +0 -164
  1474. package/node_modules/d3-voronoi/dist/d3-voronoi.js +0 -999
  1475. package/node_modules/d3-voronoi/dist/d3-voronoi.min.js +0 -2
  1476. package/node_modules/d3-voronoi/package.json +0 -68
  1477. package/node_modules/d3-voronoi/rollup.config.js +0 -36
  1478. package/node_modules/d3-voronoi/src/Beach.js +0 -193
  1479. package/node_modules/d3-voronoi/src/Cell.js +0 -126
  1480. package/node_modules/d3-voronoi/src/Circle.js +0 -78
  1481. package/node_modules/d3-voronoi/src/Diagram.js +0 -142
  1482. package/node_modules/d3-voronoi/src/Edge.js +0 -168
  1483. package/node_modules/d3-voronoi/src/RedBlackTree.js +0 -237
  1484. package/node_modules/d3-voronoi/src/constant.js +0 -5
  1485. package/node_modules/d3-voronoi/src/index.js +0 -1
  1486. package/node_modules/d3-voronoi/src/point.js +0 -7
  1487. package/node_modules/d3-voronoi/src/voronoi.js +0 -48
  1488. package/node_modules/d3-voronoi/yarn.lock +0 -935
  1489. package/node_modules/d3-zoom/LICENSE +0 -27
  1490. package/node_modules/d3-zoom/README.md +0 -398
  1491. package/node_modules/d3-zoom/dist/d3-zoom.js +0 -497
  1492. package/node_modules/d3-zoom/dist/d3-zoom.min.js +0 -2
  1493. package/node_modules/d3-zoom/package.json +0 -80
  1494. package/node_modules/d3-zoom/src/constant.js +0 -5
  1495. package/node_modules/d3-zoom/src/event.js +0 -5
  1496. package/node_modules/d3-zoom/src/index.js +0 -2
  1497. package/node_modules/d3-zoom/src/noevent.js +0 -10
  1498. package/node_modules/d3-zoom/src/transform.js +0 -51
  1499. package/node_modules/d3-zoom/src/zoom.js +0 -419
  1500. package/node_modules/decompress-response/index.d.ts +0 -29
  1501. package/node_modules/decompress-response/index.js +0 -40
  1502. package/node_modules/decompress-response/license +0 -9
  1503. package/node_modules/decompress-response/package.json +0 -85
  1504. package/node_modules/decompress-response/readme.md +0 -52
  1505. package/node_modules/delegates/.npmignore +0 -1
  1506. package/node_modules/delegates/History.md +0 -22
  1507. package/node_modules/delegates/License +0 -20
  1508. package/node_modules/delegates/Makefile +0 -8
  1509. package/node_modules/delegates/Readme.md +0 -94
  1510. package/node_modules/delegates/index.js +0 -121
  1511. package/node_modules/delegates/package.json +0 -51
  1512. package/node_modules/delegates/test/index.js +0 -94
  1513. package/node_modules/detect-libc/LICENSE +0 -201
  1514. package/node_modules/detect-libc/README.md +0 -160
  1515. package/node_modules/detect-libc/index.d.ts +0 -11
  1516. package/node_modules/detect-libc/lib/detect-libc.js +0 -178
  1517. package/node_modules/detect-libc/lib/process.js +0 -16
  1518. package/node_modules/detect-libc/package.json +0 -74
  1519. package/node_modules/dirname-shim/LICENSE +0 -20
  1520. package/node_modules/dirname-shim/README.md +0 -11
  1521. package/node_modules/dirname-shim/package.json +0 -62
  1522. package/node_modules/dirname-shim/shim.js +0 -110
  1523. package/node_modules/duplexer/.travis.yml +0 -6
  1524. package/node_modules/duplexer/LICENCE +0 -19
  1525. package/node_modules/duplexer/README.md +0 -49
  1526. package/node_modules/duplexer/index.js +0 -87
  1527. package/node_modules/duplexer/package.json +0 -77
  1528. package/node_modules/duplexer/test/index.js +0 -31
  1529. package/node_modules/extended-emitter/.travis.yml +0 -6
  1530. package/node_modules/extended-emitter/LICENSE +0 -20
  1531. package/node_modules/extended-emitter/README.md +0 -65
  1532. package/node_modules/extended-emitter/extended-emitter.js +0 -115
  1533. package/node_modules/extended-emitter/package.json +0 -67
  1534. package/node_modules/extended-emitter/test.js +0 -156
  1535. package/node_modules/fs-minipass/LICENSE +0 -15
  1536. package/node_modules/fs-minipass/README.md +0 -70
  1537. package/node_modules/fs-minipass/index.js +0 -422
  1538. package/node_modules/fs-minipass/package.json +0 -71
  1539. package/node_modules/fsevents/LICENSE +0 -22
  1540. package/node_modules/fsevents/README.md +0 -83
  1541. package/node_modules/fsevents/fsevents.d.ts +0 -46
  1542. package/node_modules/fsevents/fsevents.js +0 -82
  1543. package/node_modules/fsevents/fsevents.node +0 -0
  1544. package/node_modules/fsevents/package.json +0 -91
  1545. package/node_modules/ftp-response-parser/.README.md.un~ +0 -0
  1546. package/node_modules/ftp-response-parser/.index.js.un~ +0 -0
  1547. package/node_modules/ftp-response-parser/.package.json.un~ +0 -0
  1548. package/node_modules/ftp-response-parser/.test.js.un~ +0 -0
  1549. package/node_modules/ftp-response-parser/LICENSE +0 -20
  1550. package/node_modules/ftp-response-parser/README.md +0 -104
  1551. package/node_modules/ftp-response-parser/index.js +0 -82
  1552. package/node_modules/ftp-response-parser/node_modules/isarray/README.md +0 -54
  1553. package/node_modules/ftp-response-parser/node_modules/isarray/build/build.js +0 -209
  1554. package/node_modules/ftp-response-parser/node_modules/isarray/component.json +0 -19
  1555. package/node_modules/ftp-response-parser/node_modules/isarray/index.js +0 -3
  1556. package/node_modules/ftp-response-parser/node_modules/isarray/package.json +0 -61
  1557. package/node_modules/ftp-response-parser/node_modules/readable-stream/.npmignore +0 -5
  1558. package/node_modules/ftp-response-parser/node_modules/readable-stream/LICENSE +0 -18
  1559. package/node_modules/ftp-response-parser/node_modules/readable-stream/README.md +0 -15
  1560. package/node_modules/ftp-response-parser/node_modules/readable-stream/duplex.js +0 -1
  1561. package/node_modules/ftp-response-parser/node_modules/readable-stream/float.patch +0 -923
  1562. package/node_modules/ftp-response-parser/node_modules/readable-stream/lib/_stream_duplex.js +0 -89
  1563. package/node_modules/ftp-response-parser/node_modules/readable-stream/lib/_stream_passthrough.js +0 -46
  1564. package/node_modules/ftp-response-parser/node_modules/readable-stream/lib/_stream_readable.js +0 -951
  1565. package/node_modules/ftp-response-parser/node_modules/readable-stream/lib/_stream_transform.js +0 -209
  1566. package/node_modules/ftp-response-parser/node_modules/readable-stream/lib/_stream_writable.js +0 -477
  1567. package/node_modules/ftp-response-parser/node_modules/readable-stream/package.json +0 -69
  1568. package/node_modules/ftp-response-parser/node_modules/readable-stream/passthrough.js +0 -1
  1569. package/node_modules/ftp-response-parser/node_modules/readable-stream/readable.js +0 -10
  1570. package/node_modules/ftp-response-parser/node_modules/readable-stream/transform.js +0 -1
  1571. package/node_modules/ftp-response-parser/node_modules/readable-stream/writable.js +0 -1
  1572. package/node_modules/ftp-response-parser/node_modules/string_decoder/.npmignore +0 -2
  1573. package/node_modules/ftp-response-parser/node_modules/string_decoder/LICENSE +0 -20
  1574. package/node_modules/ftp-response-parser/node_modules/string_decoder/README.md +0 -7
  1575. package/node_modules/ftp-response-parser/node_modules/string_decoder/index.js +0 -221
  1576. package/node_modules/ftp-response-parser/node_modules/string_decoder/package.json +0 -57
  1577. package/node_modules/ftp-response-parser/package.json +0 -80
  1578. package/node_modules/ftp-response-parser/test.js +0 -149
  1579. package/node_modules/gauge/CHANGELOG.md +0 -163
  1580. package/node_modules/gauge/LICENSE +0 -13
  1581. package/node_modules/gauge/README.md +0 -402
  1582. package/node_modules/gauge/base-theme.js +0 -14
  1583. package/node_modules/gauge/error.js +0 -24
  1584. package/node_modules/gauge/has-color.js +0 -4
  1585. package/node_modules/gauge/index.js +0 -233
  1586. package/node_modules/gauge/package.json +0 -97
  1587. package/node_modules/gauge/plumbing.js +0 -48
  1588. package/node_modules/gauge/process.js +0 -3
  1589. package/node_modules/gauge/progress-bar.js +0 -35
  1590. package/node_modules/gauge/render-template.js +0 -178
  1591. package/node_modules/gauge/set-immediate.js +0 -7
  1592. package/node_modules/gauge/set-interval.js +0 -3
  1593. package/node_modules/gauge/spin.js +0 -5
  1594. package/node_modules/gauge/template-item.js +0 -72
  1595. package/node_modules/gauge/theme-set.js +0 -114
  1596. package/node_modules/gauge/themes.js +0 -56
  1597. package/node_modules/gauge/wide-truncate.js +0 -25
  1598. package/node_modules/has-unicode/LICENSE +0 -14
  1599. package/node_modules/has-unicode/README.md +0 -43
  1600. package/node_modules/has-unicode/index.js +0 -16
  1601. package/node_modules/has-unicode/package.json +0 -61
  1602. package/node_modules/https-proxy-agent/README.md +0 -137
  1603. package/node_modules/https-proxy-agent/dist/agent.d.ts +0 -30
  1604. package/node_modules/https-proxy-agent/dist/agent.js +0 -177
  1605. package/node_modules/https-proxy-agent/dist/agent.js.map +0 -1
  1606. package/node_modules/https-proxy-agent/dist/index.d.ts +0 -23
  1607. package/node_modules/https-proxy-agent/dist/index.js +0 -14
  1608. package/node_modules/https-proxy-agent/dist/index.js.map +0 -1
  1609. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +0 -7
  1610. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js +0 -66
  1611. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +0 -1
  1612. package/node_modules/https-proxy-agent/package.json +0 -89
  1613. package/node_modules/iconv-lite/Changelog.md +0 -162
  1614. package/node_modules/iconv-lite/LICENSE +0 -21
  1615. package/node_modules/iconv-lite/README.md +0 -156
  1616. package/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  1617. package/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  1618. package/node_modules/iconv-lite/encodings/index.js +0 -22
  1619. package/node_modules/iconv-lite/encodings/internal.js +0 -188
  1620. package/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  1621. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  1622. package/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  1623. package/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  1624. package/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  1625. package/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  1626. package/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  1627. package/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  1628. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  1629. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  1630. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  1631. package/node_modules/iconv-lite/encodings/utf16.js +0 -177
  1632. package/node_modules/iconv-lite/encodings/utf7.js +0 -290
  1633. package/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  1634. package/node_modules/iconv-lite/lib/extend-node.js +0 -217
  1635. package/node_modules/iconv-lite/lib/index.d.ts +0 -24
  1636. package/node_modules/iconv-lite/lib/index.js +0 -153
  1637. package/node_modules/iconv-lite/lib/streams.js +0 -121
  1638. package/node_modules/iconv-lite/package.json +0 -79
  1639. package/node_modules/jsftp/LICENSE +0 -22
  1640. package/node_modules/jsftp/README.md +0 -329
  1641. package/node_modules/jsftp/index.js +0 -1
  1642. package/node_modules/jsftp/lib/jsftp.js +0 -772
  1643. package/node_modules/jsftp/node_modules/debug/CHANGELOG.md +0 -395
  1644. package/node_modules/jsftp/node_modules/debug/LICENSE +0 -19
  1645. package/node_modules/jsftp/node_modules/debug/README.md +0 -437
  1646. package/node_modules/jsftp/node_modules/debug/node.js +0 -1
  1647. package/node_modules/jsftp/node_modules/debug/package.json +0 -94
  1648. package/node_modules/jsftp/node_modules/debug/src/browser.js +0 -180
  1649. package/node_modules/jsftp/node_modules/debug/src/common.js +0 -249
  1650. package/node_modules/jsftp/node_modules/debug/src/index.js +0 -12
  1651. package/node_modules/jsftp/node_modules/debug/src/node.js +0 -177
  1652. package/node_modules/jsftp/package.json +0 -84
  1653. package/node_modules/json2csv/.eslintrc +0 -7
  1654. package/node_modules/json2csv/.gitattributes +0 -3
  1655. package/node_modules/json2csv/CHANGELOG.md +0 -522
  1656. package/node_modules/json2csv/LICENSE.md +0 -14
  1657. package/node_modules/json2csv/README.md +0 -852
  1658. package/node_modules/json2csv/bin/json2csv.js +0 -239
  1659. package/node_modules/json2csv/bin/utils/TablePrinter.js +0 -96
  1660. package/node_modules/json2csv/bin/utils/parseNdjson.js +0 -11
  1661. package/node_modules/json2csv/dist/json2csv.cjs.js +0 -2286
  1662. package/node_modules/json2csv/dist/json2csv.esm.js +0 -2276
  1663. package/node_modules/json2csv/dist/json2csv.umd.js +0 -7440
  1664. package/node_modules/json2csv/lib/JSON2CSVAsyncParser.js +0 -53
  1665. package/node_modules/json2csv/lib/JSON2CSVBase.js +0 -291
  1666. package/node_modules/json2csv/lib/JSON2CSVParser.js +0 -83
  1667. package/node_modules/json2csv/lib/JSON2CSVTransform.js +0 -204
  1668. package/node_modules/json2csv/lib/json2csv.js +0 -37
  1669. package/node_modules/json2csv/lib/utils.js +0 -46
  1670. package/node_modules/json2csv/node_modules/commander/CHANGELOG.md +0 -419
  1671. package/node_modules/json2csv/node_modules/commander/LICENSE +0 -22
  1672. package/node_modules/json2csv/node_modules/commander/Readme.md +0 -428
  1673. package/node_modules/json2csv/node_modules/commander/index.js +0 -1224
  1674. package/node_modules/json2csv/node_modules/commander/package.json +0 -73
  1675. package/node_modules/json2csv/node_modules/commander/typings/index.d.ts +0 -310
  1676. package/node_modules/json2csv/package.json +0 -96
  1677. package/node_modules/json2csv/rollup.config.js +0 -47
  1678. package/node_modules/jsonparse/.npmignore +0 -1
  1679. package/node_modules/jsonparse/LICENSE +0 -24
  1680. package/node_modules/jsonparse/README.markdown +0 -11
  1681. package/node_modules/jsonparse/bench.js +0 -26
  1682. package/node_modules/jsonparse/examples/twitterfeed.js +0 -30
  1683. package/node_modules/jsonparse/jsonparse.js +0 -413
  1684. package/node_modules/jsonparse/package.json +0 -61
  1685. package/node_modules/jsonparse/samplejson/basic.json +0 -167
  1686. package/node_modules/jsonparse/samplejson/basic2.json +0 -180
  1687. package/node_modules/jsonparse/test/big-token.js +0 -24
  1688. package/node_modules/jsonparse/test/boundary.js +0 -110
  1689. package/node_modules/jsonparse/test/offset.js +0 -67
  1690. package/node_modules/jsonparse/test/primitives.js +0 -57
  1691. package/node_modules/jsonparse/test/surrogate.js +0 -26
  1692. package/node_modules/jsonparse/test/unvalid.js +0 -15
  1693. package/node_modules/jsonparse/test/utf8.js +0 -38
  1694. package/node_modules/lodash/LICENSE +0 -47
  1695. package/node_modules/lodash/README.md +0 -39
  1696. package/node_modules/lodash/_DataView.js +0 -7
  1697. package/node_modules/lodash/_Hash.js +0 -32
  1698. package/node_modules/lodash/_LazyWrapper.js +0 -28
  1699. package/node_modules/lodash/_ListCache.js +0 -32
  1700. package/node_modules/lodash/_LodashWrapper.js +0 -22
  1701. package/node_modules/lodash/_Map.js +0 -7
  1702. package/node_modules/lodash/_MapCache.js +0 -32
  1703. package/node_modules/lodash/_Promise.js +0 -7
  1704. package/node_modules/lodash/_Set.js +0 -7
  1705. package/node_modules/lodash/_SetCache.js +0 -27
  1706. package/node_modules/lodash/_Stack.js +0 -27
  1707. package/node_modules/lodash/_Symbol.js +0 -6
  1708. package/node_modules/lodash/_Uint8Array.js +0 -6
  1709. package/node_modules/lodash/_WeakMap.js +0 -7
  1710. package/node_modules/lodash/_apply.js +0 -21
  1711. package/node_modules/lodash/_arrayAggregator.js +0 -22
  1712. package/node_modules/lodash/_arrayEach.js +0 -22
  1713. package/node_modules/lodash/_arrayEachRight.js +0 -21
  1714. package/node_modules/lodash/_arrayEvery.js +0 -23
  1715. package/node_modules/lodash/_arrayFilter.js +0 -25
  1716. package/node_modules/lodash/_arrayIncludes.js +0 -17
  1717. package/node_modules/lodash/_arrayIncludesWith.js +0 -22
  1718. package/node_modules/lodash/_arrayLikeKeys.js +0 -49
  1719. package/node_modules/lodash/_arrayMap.js +0 -21
  1720. package/node_modules/lodash/_arrayPush.js +0 -20
  1721. package/node_modules/lodash/_arrayReduce.js +0 -26
  1722. package/node_modules/lodash/_arrayReduceRight.js +0 -24
  1723. package/node_modules/lodash/_arraySample.js +0 -15
  1724. package/node_modules/lodash/_arraySampleSize.js +0 -17
  1725. package/node_modules/lodash/_arrayShuffle.js +0 -15
  1726. package/node_modules/lodash/_arraySome.js +0 -23
  1727. package/node_modules/lodash/_asciiSize.js +0 -12
  1728. package/node_modules/lodash/_asciiToArray.js +0 -12
  1729. package/node_modules/lodash/_asciiWords.js +0 -15
  1730. package/node_modules/lodash/_assignMergeValue.js +0 -20
  1731. package/node_modules/lodash/_assignValue.js +0 -28
  1732. package/node_modules/lodash/_assocIndexOf.js +0 -21
  1733. package/node_modules/lodash/_baseAggregator.js +0 -21
  1734. package/node_modules/lodash/_baseAssign.js +0 -17
  1735. package/node_modules/lodash/_baseAssignIn.js +0 -17
  1736. package/node_modules/lodash/_baseAssignValue.js +0 -25
  1737. package/node_modules/lodash/_baseAt.js +0 -23
  1738. package/node_modules/lodash/_baseClamp.js +0 -22
  1739. package/node_modules/lodash/_baseClone.js +0 -166
  1740. package/node_modules/lodash/_baseConforms.js +0 -18
  1741. package/node_modules/lodash/_baseConformsTo.js +0 -27
  1742. package/node_modules/lodash/_baseCreate.js +0 -30
  1743. package/node_modules/lodash/_baseDelay.js +0 -21
  1744. package/node_modules/lodash/_baseDifference.js +0 -67
  1745. package/node_modules/lodash/_baseEach.js +0 -14
  1746. package/node_modules/lodash/_baseEachRight.js +0 -14
  1747. package/node_modules/lodash/_baseEvery.js +0 -21
  1748. package/node_modules/lodash/_baseExtremum.js +0 -32
  1749. package/node_modules/lodash/_baseFill.js +0 -32
  1750. package/node_modules/lodash/_baseFilter.js +0 -21
  1751. package/node_modules/lodash/_baseFindIndex.js +0 -24
  1752. package/node_modules/lodash/_baseFindKey.js +0 -23
  1753. package/node_modules/lodash/_baseFlatten.js +0 -38
  1754. package/node_modules/lodash/_baseFor.js +0 -16
  1755. package/node_modules/lodash/_baseForOwn.js +0 -16
  1756. package/node_modules/lodash/_baseForOwnRight.js +0 -16
  1757. package/node_modules/lodash/_baseForRight.js +0 -15
  1758. package/node_modules/lodash/_baseFunctions.js +0 -19
  1759. package/node_modules/lodash/_baseGet.js +0 -24
  1760. package/node_modules/lodash/_baseGetAllKeys.js +0 -20
  1761. package/node_modules/lodash/_baseGetTag.js +0 -28
  1762. package/node_modules/lodash/_baseGt.js +0 -14
  1763. package/node_modules/lodash/_baseHas.js +0 -19
  1764. package/node_modules/lodash/_baseHasIn.js +0 -13
  1765. package/node_modules/lodash/_baseInRange.js +0 -18
  1766. package/node_modules/lodash/_baseIndexOf.js +0 -20
  1767. package/node_modules/lodash/_baseIndexOfWith.js +0 -23
  1768. package/node_modules/lodash/_baseIntersection.js +0 -74
  1769. package/node_modules/lodash/_baseInverter.js +0 -21
  1770. package/node_modules/lodash/_baseInvoke.js +0 -24
  1771. package/node_modules/lodash/_baseIsArguments.js +0 -18
  1772. package/node_modules/lodash/_baseIsArrayBuffer.js +0 -17
  1773. package/node_modules/lodash/_baseIsDate.js +0 -18
  1774. package/node_modules/lodash/_baseIsEqual.js +0 -28
  1775. package/node_modules/lodash/_baseIsEqualDeep.js +0 -83
  1776. package/node_modules/lodash/_baseIsMap.js +0 -18
  1777. package/node_modules/lodash/_baseIsMatch.js +0 -62
  1778. package/node_modules/lodash/_baseIsNaN.js +0 -12
  1779. package/node_modules/lodash/_baseIsNative.js +0 -47
  1780. package/node_modules/lodash/_baseIsRegExp.js +0 -18
  1781. package/node_modules/lodash/_baseIsSet.js +0 -18
  1782. package/node_modules/lodash/_baseIsTypedArray.js +0 -60
  1783. package/node_modules/lodash/_baseIteratee.js +0 -31
  1784. package/node_modules/lodash/_baseKeys.js +0 -30
  1785. package/node_modules/lodash/_baseKeysIn.js +0 -33
  1786. package/node_modules/lodash/_baseLodash.js +0 -10
  1787. package/node_modules/lodash/_baseLt.js +0 -14
  1788. package/node_modules/lodash/_baseMap.js +0 -22
  1789. package/node_modules/lodash/_baseMatches.js +0 -22
  1790. package/node_modules/lodash/_baseMatchesProperty.js +0 -33
  1791. package/node_modules/lodash/_baseMean.js +0 -20
  1792. package/node_modules/lodash/_baseMerge.js +0 -42
  1793. package/node_modules/lodash/_baseMergeDeep.js +0 -94
  1794. package/node_modules/lodash/_baseNth.js +0 -20
  1795. package/node_modules/lodash/_baseOrderBy.js +0 -49
  1796. package/node_modules/lodash/_basePick.js +0 -19
  1797. package/node_modules/lodash/_basePickBy.js +0 -30
  1798. package/node_modules/lodash/_baseProperty.js +0 -14
  1799. package/node_modules/lodash/_basePropertyDeep.js +0 -16
  1800. package/node_modules/lodash/_basePropertyOf.js +0 -14
  1801. package/node_modules/lodash/_basePullAll.js +0 -51
  1802. package/node_modules/lodash/_basePullAt.js +0 -37
  1803. package/node_modules/lodash/_baseRandom.js +0 -18
  1804. package/node_modules/lodash/_baseRange.js +0 -28
  1805. package/node_modules/lodash/_baseReduce.js +0 -23
  1806. package/node_modules/lodash/_baseRepeat.js +0 -35
  1807. package/node_modules/lodash/_baseRest.js +0 -17
  1808. package/node_modules/lodash/_baseSample.js +0 -15
  1809. package/node_modules/lodash/_baseSampleSize.js +0 -18
  1810. package/node_modules/lodash/_baseSet.js +0 -51
  1811. package/node_modules/lodash/_baseSetData.js +0 -17
  1812. package/node_modules/lodash/_baseSetToString.js +0 -22
  1813. package/node_modules/lodash/_baseShuffle.js +0 -15
  1814. package/node_modules/lodash/_baseSlice.js +0 -31
  1815. package/node_modules/lodash/_baseSome.js +0 -22
  1816. package/node_modules/lodash/_baseSortBy.js +0 -21
  1817. package/node_modules/lodash/_baseSortedIndex.js +0 -42
  1818. package/node_modules/lodash/_baseSortedIndexBy.js +0 -67
  1819. package/node_modules/lodash/_baseSortedUniq.js +0 -30
  1820. package/node_modules/lodash/_baseSum.js +0 -24
  1821. package/node_modules/lodash/_baseTimes.js +0 -20
  1822. package/node_modules/lodash/_baseToNumber.js +0 -24
  1823. package/node_modules/lodash/_baseToPairs.js +0 -18
  1824. package/node_modules/lodash/_baseToString.js +0 -37
  1825. package/node_modules/lodash/_baseTrim.js +0 -19
  1826. package/node_modules/lodash/_baseUnary.js +0 -14
  1827. package/node_modules/lodash/_baseUniq.js +0 -72
  1828. package/node_modules/lodash/_baseUnset.js +0 -20
  1829. package/node_modules/lodash/_baseUpdate.js +0 -18
  1830. package/node_modules/lodash/_baseValues.js +0 -19
  1831. package/node_modules/lodash/_baseWhile.js +0 -26
  1832. package/node_modules/lodash/_baseWrapperValue.js +0 -25
  1833. package/node_modules/lodash/_baseXor.js +0 -36
  1834. package/node_modules/lodash/_baseZipObject.js +0 -23
  1835. package/node_modules/lodash/_cacheHas.js +0 -13
  1836. package/node_modules/lodash/_castArrayLikeObject.js +0 -14
  1837. package/node_modules/lodash/_castFunction.js +0 -14
  1838. package/node_modules/lodash/_castPath.js +0 -21
  1839. package/node_modules/lodash/_castRest.js +0 -14
  1840. package/node_modules/lodash/_castSlice.js +0 -18
  1841. package/node_modules/lodash/_charsEndIndex.js +0 -19
  1842. package/node_modules/lodash/_charsStartIndex.js +0 -20
  1843. package/node_modules/lodash/_cloneArrayBuffer.js +0 -16
  1844. package/node_modules/lodash/_cloneBuffer.js +0 -35
  1845. package/node_modules/lodash/_cloneDataView.js +0 -16
  1846. package/node_modules/lodash/_cloneRegExp.js +0 -17
  1847. package/node_modules/lodash/_cloneSymbol.js +0 -18
  1848. package/node_modules/lodash/_cloneTypedArray.js +0 -16
  1849. package/node_modules/lodash/_compareAscending.js +0 -41
  1850. package/node_modules/lodash/_compareMultiple.js +0 -44
  1851. package/node_modules/lodash/_composeArgs.js +0 -39
  1852. package/node_modules/lodash/_composeArgsRight.js +0 -41
  1853. package/node_modules/lodash/_copyArray.js +0 -20
  1854. package/node_modules/lodash/_copyObject.js +0 -40
  1855. package/node_modules/lodash/_copySymbols.js +0 -16
  1856. package/node_modules/lodash/_copySymbolsIn.js +0 -16
  1857. package/node_modules/lodash/_coreJsData.js +0 -6
  1858. package/node_modules/lodash/_countHolders.js +0 -21
  1859. package/node_modules/lodash/_createAggregator.js +0 -23
  1860. package/node_modules/lodash/_createAssigner.js +0 -37
  1861. package/node_modules/lodash/_createBaseEach.js +0 -32
  1862. package/node_modules/lodash/_createBaseFor.js +0 -25
  1863. package/node_modules/lodash/_createBind.js +0 -28
  1864. package/node_modules/lodash/_createCaseFirst.js +0 -33
  1865. package/node_modules/lodash/_createCompounder.js +0 -24
  1866. package/node_modules/lodash/_createCtor.js +0 -37
  1867. package/node_modules/lodash/_createCurry.js +0 -46
  1868. package/node_modules/lodash/_createFind.js +0 -25
  1869. package/node_modules/lodash/_createFlow.js +0 -78
  1870. package/node_modules/lodash/_createHybrid.js +0 -92
  1871. package/node_modules/lodash/_createInverter.js +0 -17
  1872. package/node_modules/lodash/_createMathOperation.js +0 -38
  1873. package/node_modules/lodash/_createOver.js +0 -27
  1874. package/node_modules/lodash/_createPadding.js +0 -33
  1875. package/node_modules/lodash/_createPartial.js +0 -43
  1876. package/node_modules/lodash/_createRange.js +0 -30
  1877. package/node_modules/lodash/_createRecurry.js +0 -56
  1878. package/node_modules/lodash/_createRelationalOperation.js +0 -20
  1879. package/node_modules/lodash/_createRound.js +0 -35
  1880. package/node_modules/lodash/_createSet.js +0 -19
  1881. package/node_modules/lodash/_createToPairs.js +0 -30
  1882. package/node_modules/lodash/_createWrap.js +0 -106
  1883. package/node_modules/lodash/_customDefaultsAssignIn.js +0 -29
  1884. package/node_modules/lodash/_customDefaultsMerge.js +0 -28
  1885. package/node_modules/lodash/_customOmitClone.js +0 -16
  1886. package/node_modules/lodash/_deburrLetter.js +0 -71
  1887. package/node_modules/lodash/_defineProperty.js +0 -11
  1888. package/node_modules/lodash/_equalArrays.js +0 -84
  1889. package/node_modules/lodash/_equalByTag.js +0 -112
  1890. package/node_modules/lodash/_equalObjects.js +0 -90
  1891. package/node_modules/lodash/_escapeHtmlChar.js +0 -21
  1892. package/node_modules/lodash/_escapeStringChar.js +0 -22
  1893. package/node_modules/lodash/_flatRest.js +0 -16
  1894. package/node_modules/lodash/_freeGlobal.js +0 -4
  1895. package/node_modules/lodash/_getAllKeys.js +0 -16
  1896. package/node_modules/lodash/_getAllKeysIn.js +0 -17
  1897. package/node_modules/lodash/_getData.js +0 -15
  1898. package/node_modules/lodash/_getFuncName.js +0 -31
  1899. package/node_modules/lodash/_getHolder.js +0 -13
  1900. package/node_modules/lodash/_getMapData.js +0 -18
  1901. package/node_modules/lodash/_getMatchData.js +0 -24
  1902. package/node_modules/lodash/_getNative.js +0 -17
  1903. package/node_modules/lodash/_getPrototype.js +0 -6
  1904. package/node_modules/lodash/_getRawTag.js +0 -46
  1905. package/node_modules/lodash/_getSymbols.js +0 -30
  1906. package/node_modules/lodash/_getSymbolsIn.js +0 -25
  1907. package/node_modules/lodash/_getTag.js +0 -58
  1908. package/node_modules/lodash/_getValue.js +0 -13
  1909. package/node_modules/lodash/_getView.js +0 -33
  1910. package/node_modules/lodash/_getWrapDetails.js +0 -17
  1911. package/node_modules/lodash/_hasPath.js +0 -39
  1912. package/node_modules/lodash/_hasUnicode.js +0 -26
  1913. package/node_modules/lodash/_hasUnicodeWord.js +0 -15
  1914. package/node_modules/lodash/_hashClear.js +0 -15
  1915. package/node_modules/lodash/_hashDelete.js +0 -17
  1916. package/node_modules/lodash/_hashGet.js +0 -30
  1917. package/node_modules/lodash/_hashHas.js +0 -23
  1918. package/node_modules/lodash/_hashSet.js +0 -23
  1919. package/node_modules/lodash/_initCloneArray.js +0 -26
  1920. package/node_modules/lodash/_initCloneByTag.js +0 -77
  1921. package/node_modules/lodash/_initCloneObject.js +0 -18
  1922. package/node_modules/lodash/_insertWrapDetails.js +0 -23
  1923. package/node_modules/lodash/_isFlattenable.js +0 -20
  1924. package/node_modules/lodash/_isIndex.js +0 -25
  1925. package/node_modules/lodash/_isIterateeCall.js +0 -30
  1926. package/node_modules/lodash/_isKey.js +0 -29
  1927. package/node_modules/lodash/_isKeyable.js +0 -15
  1928. package/node_modules/lodash/_isLaziable.js +0 -28
  1929. package/node_modules/lodash/_isMaskable.js +0 -14
  1930. package/node_modules/lodash/_isMasked.js +0 -20
  1931. package/node_modules/lodash/_isPrototype.js +0 -18
  1932. package/node_modules/lodash/_isStrictComparable.js +0 -15
  1933. package/node_modules/lodash/_iteratorToArray.js +0 -18
  1934. package/node_modules/lodash/_lazyClone.js +0 -23
  1935. package/node_modules/lodash/_lazyReverse.js +0 -23
  1936. package/node_modules/lodash/_lazyValue.js +0 -69
  1937. package/node_modules/lodash/_listCacheClear.js +0 -13
  1938. package/node_modules/lodash/_listCacheDelete.js +0 -35
  1939. package/node_modules/lodash/_listCacheGet.js +0 -19
  1940. package/node_modules/lodash/_listCacheHas.js +0 -16
  1941. package/node_modules/lodash/_listCacheSet.js +0 -26
  1942. package/node_modules/lodash/_mapCacheClear.js +0 -21
  1943. package/node_modules/lodash/_mapCacheDelete.js +0 -18
  1944. package/node_modules/lodash/_mapCacheGet.js +0 -16
  1945. package/node_modules/lodash/_mapCacheHas.js +0 -16
  1946. package/node_modules/lodash/_mapCacheSet.js +0 -22
  1947. package/node_modules/lodash/_mapToArray.js +0 -18
  1948. package/node_modules/lodash/_matchesStrictComparable.js +0 -20
  1949. package/node_modules/lodash/_memoizeCapped.js +0 -26
  1950. package/node_modules/lodash/_mergeData.js +0 -90
  1951. package/node_modules/lodash/_metaMap.js +0 -6
  1952. package/node_modules/lodash/_nativeCreate.js +0 -6
  1953. package/node_modules/lodash/_nativeKeys.js +0 -6
  1954. package/node_modules/lodash/_nativeKeysIn.js +0 -20
  1955. package/node_modules/lodash/_nodeUtil.js +0 -30
  1956. package/node_modules/lodash/_objectToString.js +0 -22
  1957. package/node_modules/lodash/_overArg.js +0 -15
  1958. package/node_modules/lodash/_overRest.js +0 -36
  1959. package/node_modules/lodash/_parent.js +0 -16
  1960. package/node_modules/lodash/_reEscape.js +0 -4
  1961. package/node_modules/lodash/_reEvaluate.js +0 -4
  1962. package/node_modules/lodash/_reInterpolate.js +0 -4
  1963. package/node_modules/lodash/_realNames.js +0 -4
  1964. package/node_modules/lodash/_reorder.js +0 -29
  1965. package/node_modules/lodash/_replaceHolders.js +0 -29
  1966. package/node_modules/lodash/_root.js +0 -9
  1967. package/node_modules/lodash/_safeGet.js +0 -21
  1968. package/node_modules/lodash/_setCacheAdd.js +0 -19
  1969. package/node_modules/lodash/_setCacheHas.js +0 -14
  1970. package/node_modules/lodash/_setData.js +0 -20
  1971. package/node_modules/lodash/_setToArray.js +0 -18
  1972. package/node_modules/lodash/_setToPairs.js +0 -18
  1973. package/node_modules/lodash/_setToString.js +0 -14
  1974. package/node_modules/lodash/_setWrapToString.js +0 -21
  1975. package/node_modules/lodash/_shortOut.js +0 -37
  1976. package/node_modules/lodash/_shuffleSelf.js +0 -28
  1977. package/node_modules/lodash/_stackClear.js +0 -15
  1978. package/node_modules/lodash/_stackDelete.js +0 -18
  1979. package/node_modules/lodash/_stackGet.js +0 -14
  1980. package/node_modules/lodash/_stackHas.js +0 -14
  1981. package/node_modules/lodash/_stackSet.js +0 -34
  1982. package/node_modules/lodash/_strictIndexOf.js +0 -23
  1983. package/node_modules/lodash/_strictLastIndexOf.js +0 -21
  1984. package/node_modules/lodash/_stringSize.js +0 -18
  1985. package/node_modules/lodash/_stringToArray.js +0 -18
  1986. package/node_modules/lodash/_stringToPath.js +0 -27
  1987. package/node_modules/lodash/_toKey.js +0 -21
  1988. package/node_modules/lodash/_toSource.js +0 -26
  1989. package/node_modules/lodash/_trimmedEndIndex.js +0 -19
  1990. package/node_modules/lodash/_unescapeHtmlChar.js +0 -21
  1991. package/node_modules/lodash/_unicodeSize.js +0 -44
  1992. package/node_modules/lodash/_unicodeToArray.js +0 -40
  1993. package/node_modules/lodash/_unicodeWords.js +0 -69
  1994. package/node_modules/lodash/_updateWrapDetails.js +0 -46
  1995. package/node_modules/lodash/_wrapperClone.js +0 -23
  1996. package/node_modules/lodash/add.js +0 -22
  1997. package/node_modules/lodash/after.js +0 -42
  1998. package/node_modules/lodash/array.js +0 -67
  1999. package/node_modules/lodash/ary.js +0 -29
  2000. package/node_modules/lodash/assign.js +0 -58
  2001. package/node_modules/lodash/assignIn.js +0 -40
  2002. package/node_modules/lodash/assignInWith.js +0 -38
  2003. package/node_modules/lodash/assignWith.js +0 -37
  2004. package/node_modules/lodash/at.js +0 -23
  2005. package/node_modules/lodash/attempt.js +0 -35
  2006. package/node_modules/lodash/before.js +0 -40
  2007. package/node_modules/lodash/bind.js +0 -57
  2008. package/node_modules/lodash/bindAll.js +0 -41
  2009. package/node_modules/lodash/bindKey.js +0 -68
  2010. package/node_modules/lodash/camelCase.js +0 -29
  2011. package/node_modules/lodash/capitalize.js +0 -23
  2012. package/node_modules/lodash/castArray.js +0 -44
  2013. package/node_modules/lodash/ceil.js +0 -26
  2014. package/node_modules/lodash/chain.js +0 -38
  2015. package/node_modules/lodash/chunk.js +0 -50
  2016. package/node_modules/lodash/clamp.js +0 -39
  2017. package/node_modules/lodash/clone.js +0 -36
  2018. package/node_modules/lodash/cloneDeep.js +0 -29
  2019. package/node_modules/lodash/cloneDeepWith.js +0 -40
  2020. package/node_modules/lodash/cloneWith.js +0 -42
  2021. package/node_modules/lodash/collection.js +0 -30
  2022. package/node_modules/lodash/commit.js +0 -33
  2023. package/node_modules/lodash/compact.js +0 -31
  2024. package/node_modules/lodash/concat.js +0 -43
  2025. package/node_modules/lodash/cond.js +0 -60
  2026. package/node_modules/lodash/conforms.js +0 -35
  2027. package/node_modules/lodash/conformsTo.js +0 -32
  2028. package/node_modules/lodash/constant.js +0 -26
  2029. package/node_modules/lodash/core.js +0 -3877
  2030. package/node_modules/lodash/core.min.js +0 -29
  2031. package/node_modules/lodash/countBy.js +0 -40
  2032. package/node_modules/lodash/create.js +0 -43
  2033. package/node_modules/lodash/curry.js +0 -57
  2034. package/node_modules/lodash/curryRight.js +0 -54
  2035. package/node_modules/lodash/date.js +0 -3
  2036. package/node_modules/lodash/debounce.js +0 -191
  2037. package/node_modules/lodash/deburr.js +0 -45
  2038. package/node_modules/lodash/defaultTo.js +0 -25
  2039. package/node_modules/lodash/defaults.js +0 -64
  2040. package/node_modules/lodash/defaultsDeep.js +0 -30
  2041. package/node_modules/lodash/defer.js +0 -26
  2042. package/node_modules/lodash/delay.js +0 -28
  2043. package/node_modules/lodash/difference.js +0 -33
  2044. package/node_modules/lodash/differenceBy.js +0 -44
  2045. package/node_modules/lodash/differenceWith.js +0 -40
  2046. package/node_modules/lodash/divide.js +0 -22
  2047. package/node_modules/lodash/drop.js +0 -38
  2048. package/node_modules/lodash/dropRight.js +0 -39
  2049. package/node_modules/lodash/dropRightWhile.js +0 -45
  2050. package/node_modules/lodash/dropWhile.js +0 -45
  2051. package/node_modules/lodash/each.js +0 -1
  2052. package/node_modules/lodash/eachRight.js +0 -1
  2053. package/node_modules/lodash/endsWith.js +0 -43
  2054. package/node_modules/lodash/entries.js +0 -1
  2055. package/node_modules/lodash/entriesIn.js +0 -1
  2056. package/node_modules/lodash/eq.js +0 -37
  2057. package/node_modules/lodash/escape.js +0 -43
  2058. package/node_modules/lodash/escapeRegExp.js +0 -32
  2059. package/node_modules/lodash/every.js +0 -56
  2060. package/node_modules/lodash/extend.js +0 -1
  2061. package/node_modules/lodash/extendWith.js +0 -1
  2062. package/node_modules/lodash/fill.js +0 -45
  2063. package/node_modules/lodash/filter.js +0 -52
  2064. package/node_modules/lodash/find.js +0 -42
  2065. package/node_modules/lodash/findIndex.js +0 -55
  2066. package/node_modules/lodash/findKey.js +0 -44
  2067. package/node_modules/lodash/findLast.js +0 -25
  2068. package/node_modules/lodash/findLastIndex.js +0 -59
  2069. package/node_modules/lodash/findLastKey.js +0 -44
  2070. package/node_modules/lodash/first.js +0 -1
  2071. package/node_modules/lodash/flake.lock +0 -40
  2072. package/node_modules/lodash/flake.nix +0 -20
  2073. package/node_modules/lodash/flatMap.js +0 -29
  2074. package/node_modules/lodash/flatMapDeep.js +0 -31
  2075. package/node_modules/lodash/flatMapDepth.js +0 -31
  2076. package/node_modules/lodash/flatten.js +0 -22
  2077. package/node_modules/lodash/flattenDeep.js +0 -25
  2078. package/node_modules/lodash/flattenDepth.js +0 -33
  2079. package/node_modules/lodash/flip.js +0 -28
  2080. package/node_modules/lodash/floor.js +0 -26
  2081. package/node_modules/lodash/flow.js +0 -27
  2082. package/node_modules/lodash/flowRight.js +0 -26
  2083. package/node_modules/lodash/forEach.js +0 -41
  2084. package/node_modules/lodash/forEachRight.js +0 -31
  2085. package/node_modules/lodash/forIn.js +0 -39
  2086. package/node_modules/lodash/forInRight.js +0 -37
  2087. package/node_modules/lodash/forOwn.js +0 -36
  2088. package/node_modules/lodash/forOwnRight.js +0 -34
  2089. package/node_modules/lodash/fp/F.js +0 -1
  2090. package/node_modules/lodash/fp/T.js +0 -1
  2091. package/node_modules/lodash/fp/__.js +0 -1
  2092. package/node_modules/lodash/fp/_baseConvert.js +0 -569
  2093. package/node_modules/lodash/fp/_convertBrowser.js +0 -18
  2094. package/node_modules/lodash/fp/_falseOptions.js +0 -7
  2095. package/node_modules/lodash/fp/_mapping.js +0 -358
  2096. package/node_modules/lodash/fp/_util.js +0 -16
  2097. package/node_modules/lodash/fp/add.js +0 -5
  2098. package/node_modules/lodash/fp/after.js +0 -5
  2099. package/node_modules/lodash/fp/all.js +0 -1
  2100. package/node_modules/lodash/fp/allPass.js +0 -1
  2101. package/node_modules/lodash/fp/always.js +0 -1
  2102. package/node_modules/lodash/fp/any.js +0 -1
  2103. package/node_modules/lodash/fp/anyPass.js +0 -1
  2104. package/node_modules/lodash/fp/apply.js +0 -1
  2105. package/node_modules/lodash/fp/array.js +0 -2
  2106. package/node_modules/lodash/fp/ary.js +0 -5
  2107. package/node_modules/lodash/fp/assign.js +0 -5
  2108. package/node_modules/lodash/fp/assignAll.js +0 -5
  2109. package/node_modules/lodash/fp/assignAllWith.js +0 -5
  2110. package/node_modules/lodash/fp/assignIn.js +0 -5
  2111. package/node_modules/lodash/fp/assignInAll.js +0 -5
  2112. package/node_modules/lodash/fp/assignInAllWith.js +0 -5
  2113. package/node_modules/lodash/fp/assignInWith.js +0 -5
  2114. package/node_modules/lodash/fp/assignWith.js +0 -5
  2115. package/node_modules/lodash/fp/assoc.js +0 -1
  2116. package/node_modules/lodash/fp/assocPath.js +0 -1
  2117. package/node_modules/lodash/fp/at.js +0 -5
  2118. package/node_modules/lodash/fp/attempt.js +0 -5
  2119. package/node_modules/lodash/fp/before.js +0 -5
  2120. package/node_modules/lodash/fp/bind.js +0 -5
  2121. package/node_modules/lodash/fp/bindAll.js +0 -5
  2122. package/node_modules/lodash/fp/bindKey.js +0 -5
  2123. package/node_modules/lodash/fp/camelCase.js +0 -5
  2124. package/node_modules/lodash/fp/capitalize.js +0 -5
  2125. package/node_modules/lodash/fp/castArray.js +0 -5
  2126. package/node_modules/lodash/fp/ceil.js +0 -5
  2127. package/node_modules/lodash/fp/chain.js +0 -5
  2128. package/node_modules/lodash/fp/chunk.js +0 -5
  2129. package/node_modules/lodash/fp/clamp.js +0 -5
  2130. package/node_modules/lodash/fp/clone.js +0 -5
  2131. package/node_modules/lodash/fp/cloneDeep.js +0 -5
  2132. package/node_modules/lodash/fp/cloneDeepWith.js +0 -5
  2133. package/node_modules/lodash/fp/cloneWith.js +0 -5
  2134. package/node_modules/lodash/fp/collection.js +0 -2
  2135. package/node_modules/lodash/fp/commit.js +0 -5
  2136. package/node_modules/lodash/fp/compact.js +0 -5
  2137. package/node_modules/lodash/fp/complement.js +0 -1
  2138. package/node_modules/lodash/fp/compose.js +0 -1
  2139. package/node_modules/lodash/fp/concat.js +0 -5
  2140. package/node_modules/lodash/fp/cond.js +0 -5
  2141. package/node_modules/lodash/fp/conforms.js +0 -1
  2142. package/node_modules/lodash/fp/conformsTo.js +0 -5
  2143. package/node_modules/lodash/fp/constant.js +0 -5
  2144. package/node_modules/lodash/fp/contains.js +0 -1
  2145. package/node_modules/lodash/fp/convert.js +0 -18
  2146. package/node_modules/lodash/fp/countBy.js +0 -5
  2147. package/node_modules/lodash/fp/create.js +0 -5
  2148. package/node_modules/lodash/fp/curry.js +0 -5
  2149. package/node_modules/lodash/fp/curryN.js +0 -5
  2150. package/node_modules/lodash/fp/curryRight.js +0 -5
  2151. package/node_modules/lodash/fp/curryRightN.js +0 -5
  2152. package/node_modules/lodash/fp/date.js +0 -2
  2153. package/node_modules/lodash/fp/debounce.js +0 -5
  2154. package/node_modules/lodash/fp/deburr.js +0 -5
  2155. package/node_modules/lodash/fp/defaultTo.js +0 -5
  2156. package/node_modules/lodash/fp/defaults.js +0 -5
  2157. package/node_modules/lodash/fp/defaultsAll.js +0 -5
  2158. package/node_modules/lodash/fp/defaultsDeep.js +0 -5
  2159. package/node_modules/lodash/fp/defaultsDeepAll.js +0 -5
  2160. package/node_modules/lodash/fp/defer.js +0 -5
  2161. package/node_modules/lodash/fp/delay.js +0 -5
  2162. package/node_modules/lodash/fp/difference.js +0 -5
  2163. package/node_modules/lodash/fp/differenceBy.js +0 -5
  2164. package/node_modules/lodash/fp/differenceWith.js +0 -5
  2165. package/node_modules/lodash/fp/dissoc.js +0 -1
  2166. package/node_modules/lodash/fp/dissocPath.js +0 -1
  2167. package/node_modules/lodash/fp/divide.js +0 -5
  2168. package/node_modules/lodash/fp/drop.js +0 -5
  2169. package/node_modules/lodash/fp/dropLast.js +0 -1
  2170. package/node_modules/lodash/fp/dropLastWhile.js +0 -1
  2171. package/node_modules/lodash/fp/dropRight.js +0 -5
  2172. package/node_modules/lodash/fp/dropRightWhile.js +0 -5
  2173. package/node_modules/lodash/fp/dropWhile.js +0 -5
  2174. package/node_modules/lodash/fp/each.js +0 -1
  2175. package/node_modules/lodash/fp/eachRight.js +0 -1
  2176. package/node_modules/lodash/fp/endsWith.js +0 -5
  2177. package/node_modules/lodash/fp/entries.js +0 -1
  2178. package/node_modules/lodash/fp/entriesIn.js +0 -1
  2179. package/node_modules/lodash/fp/eq.js +0 -5
  2180. package/node_modules/lodash/fp/equals.js +0 -1
  2181. package/node_modules/lodash/fp/escape.js +0 -5
  2182. package/node_modules/lodash/fp/escapeRegExp.js +0 -5
  2183. package/node_modules/lodash/fp/every.js +0 -5
  2184. package/node_modules/lodash/fp/extend.js +0 -1
  2185. package/node_modules/lodash/fp/extendAll.js +0 -1
  2186. package/node_modules/lodash/fp/extendAllWith.js +0 -1
  2187. package/node_modules/lodash/fp/extendWith.js +0 -1
  2188. package/node_modules/lodash/fp/fill.js +0 -5
  2189. package/node_modules/lodash/fp/filter.js +0 -5
  2190. package/node_modules/lodash/fp/find.js +0 -5
  2191. package/node_modules/lodash/fp/findFrom.js +0 -5
  2192. package/node_modules/lodash/fp/findIndex.js +0 -5
  2193. package/node_modules/lodash/fp/findIndexFrom.js +0 -5
  2194. package/node_modules/lodash/fp/findKey.js +0 -5
  2195. package/node_modules/lodash/fp/findLast.js +0 -5
  2196. package/node_modules/lodash/fp/findLastFrom.js +0 -5
  2197. package/node_modules/lodash/fp/findLastIndex.js +0 -5
  2198. package/node_modules/lodash/fp/findLastIndexFrom.js +0 -5
  2199. package/node_modules/lodash/fp/findLastKey.js +0 -5
  2200. package/node_modules/lodash/fp/first.js +0 -1
  2201. package/node_modules/lodash/fp/flatMap.js +0 -5
  2202. package/node_modules/lodash/fp/flatMapDeep.js +0 -5
  2203. package/node_modules/lodash/fp/flatMapDepth.js +0 -5
  2204. package/node_modules/lodash/fp/flatten.js +0 -5
  2205. package/node_modules/lodash/fp/flattenDeep.js +0 -5
  2206. package/node_modules/lodash/fp/flattenDepth.js +0 -5
  2207. package/node_modules/lodash/fp/flip.js +0 -5
  2208. package/node_modules/lodash/fp/floor.js +0 -5
  2209. package/node_modules/lodash/fp/flow.js +0 -5
  2210. package/node_modules/lodash/fp/flowRight.js +0 -5
  2211. package/node_modules/lodash/fp/forEach.js +0 -5
  2212. package/node_modules/lodash/fp/forEachRight.js +0 -5
  2213. package/node_modules/lodash/fp/forIn.js +0 -5
  2214. package/node_modules/lodash/fp/forInRight.js +0 -5
  2215. package/node_modules/lodash/fp/forOwn.js +0 -5
  2216. package/node_modules/lodash/fp/forOwnRight.js +0 -5
  2217. package/node_modules/lodash/fp/fromPairs.js +0 -5
  2218. package/node_modules/lodash/fp/function.js +0 -2
  2219. package/node_modules/lodash/fp/functions.js +0 -5
  2220. package/node_modules/lodash/fp/functionsIn.js +0 -5
  2221. package/node_modules/lodash/fp/get.js +0 -5
  2222. package/node_modules/lodash/fp/getOr.js +0 -5
  2223. package/node_modules/lodash/fp/groupBy.js +0 -5
  2224. package/node_modules/lodash/fp/gt.js +0 -5
  2225. package/node_modules/lodash/fp/gte.js +0 -5
  2226. package/node_modules/lodash/fp/has.js +0 -5
  2227. package/node_modules/lodash/fp/hasIn.js +0 -5
  2228. package/node_modules/lodash/fp/head.js +0 -5
  2229. package/node_modules/lodash/fp/identical.js +0 -1
  2230. package/node_modules/lodash/fp/identity.js +0 -5
  2231. package/node_modules/lodash/fp/inRange.js +0 -5
  2232. package/node_modules/lodash/fp/includes.js +0 -5
  2233. package/node_modules/lodash/fp/includesFrom.js +0 -5
  2234. package/node_modules/lodash/fp/indexBy.js +0 -1
  2235. package/node_modules/lodash/fp/indexOf.js +0 -5
  2236. package/node_modules/lodash/fp/indexOfFrom.js +0 -5
  2237. package/node_modules/lodash/fp/init.js +0 -1
  2238. package/node_modules/lodash/fp/initial.js +0 -5
  2239. package/node_modules/lodash/fp/intersection.js +0 -5
  2240. package/node_modules/lodash/fp/intersectionBy.js +0 -5
  2241. package/node_modules/lodash/fp/intersectionWith.js +0 -5
  2242. package/node_modules/lodash/fp/invert.js +0 -5
  2243. package/node_modules/lodash/fp/invertBy.js +0 -5
  2244. package/node_modules/lodash/fp/invertObj.js +0 -1
  2245. package/node_modules/lodash/fp/invoke.js +0 -5
  2246. package/node_modules/lodash/fp/invokeArgs.js +0 -5
  2247. package/node_modules/lodash/fp/invokeArgsMap.js +0 -5
  2248. package/node_modules/lodash/fp/invokeMap.js +0 -5
  2249. package/node_modules/lodash/fp/isArguments.js +0 -5
  2250. package/node_modules/lodash/fp/isArray.js +0 -5
  2251. package/node_modules/lodash/fp/isArrayBuffer.js +0 -5
  2252. package/node_modules/lodash/fp/isArrayLike.js +0 -5
  2253. package/node_modules/lodash/fp/isArrayLikeObject.js +0 -5
  2254. package/node_modules/lodash/fp/isBoolean.js +0 -5
  2255. package/node_modules/lodash/fp/isBuffer.js +0 -5
  2256. package/node_modules/lodash/fp/isDate.js +0 -5
  2257. package/node_modules/lodash/fp/isElement.js +0 -5
  2258. package/node_modules/lodash/fp/isEmpty.js +0 -5
  2259. package/node_modules/lodash/fp/isEqual.js +0 -5
  2260. package/node_modules/lodash/fp/isEqualWith.js +0 -5
  2261. package/node_modules/lodash/fp/isError.js +0 -5
  2262. package/node_modules/lodash/fp/isFinite.js +0 -5
  2263. package/node_modules/lodash/fp/isFunction.js +0 -5
  2264. package/node_modules/lodash/fp/isInteger.js +0 -5
  2265. package/node_modules/lodash/fp/isLength.js +0 -5
  2266. package/node_modules/lodash/fp/isMap.js +0 -5
  2267. package/node_modules/lodash/fp/isMatch.js +0 -5
  2268. package/node_modules/lodash/fp/isMatchWith.js +0 -5
  2269. package/node_modules/lodash/fp/isNaN.js +0 -5
  2270. package/node_modules/lodash/fp/isNative.js +0 -5
  2271. package/node_modules/lodash/fp/isNil.js +0 -5
  2272. package/node_modules/lodash/fp/isNull.js +0 -5
  2273. package/node_modules/lodash/fp/isNumber.js +0 -5
  2274. package/node_modules/lodash/fp/isObject.js +0 -5
  2275. package/node_modules/lodash/fp/isObjectLike.js +0 -5
  2276. package/node_modules/lodash/fp/isPlainObject.js +0 -5
  2277. package/node_modules/lodash/fp/isRegExp.js +0 -5
  2278. package/node_modules/lodash/fp/isSafeInteger.js +0 -5
  2279. package/node_modules/lodash/fp/isSet.js +0 -5
  2280. package/node_modules/lodash/fp/isString.js +0 -5
  2281. package/node_modules/lodash/fp/isSymbol.js +0 -5
  2282. package/node_modules/lodash/fp/isTypedArray.js +0 -5
  2283. package/node_modules/lodash/fp/isUndefined.js +0 -5
  2284. package/node_modules/lodash/fp/isWeakMap.js +0 -5
  2285. package/node_modules/lodash/fp/isWeakSet.js +0 -5
  2286. package/node_modules/lodash/fp/iteratee.js +0 -5
  2287. package/node_modules/lodash/fp/join.js +0 -5
  2288. package/node_modules/lodash/fp/juxt.js +0 -1
  2289. package/node_modules/lodash/fp/kebabCase.js +0 -5
  2290. package/node_modules/lodash/fp/keyBy.js +0 -5
  2291. package/node_modules/lodash/fp/keys.js +0 -5
  2292. package/node_modules/lodash/fp/keysIn.js +0 -5
  2293. package/node_modules/lodash/fp/lang.js +0 -2
  2294. package/node_modules/lodash/fp/last.js +0 -5
  2295. package/node_modules/lodash/fp/lastIndexOf.js +0 -5
  2296. package/node_modules/lodash/fp/lastIndexOfFrom.js +0 -5
  2297. package/node_modules/lodash/fp/lowerCase.js +0 -5
  2298. package/node_modules/lodash/fp/lowerFirst.js +0 -5
  2299. package/node_modules/lodash/fp/lt.js +0 -5
  2300. package/node_modules/lodash/fp/lte.js +0 -5
  2301. package/node_modules/lodash/fp/map.js +0 -5
  2302. package/node_modules/lodash/fp/mapKeys.js +0 -5
  2303. package/node_modules/lodash/fp/mapValues.js +0 -5
  2304. package/node_modules/lodash/fp/matches.js +0 -1
  2305. package/node_modules/lodash/fp/matchesProperty.js +0 -5
  2306. package/node_modules/lodash/fp/math.js +0 -2
  2307. package/node_modules/lodash/fp/max.js +0 -5
  2308. package/node_modules/lodash/fp/maxBy.js +0 -5
  2309. package/node_modules/lodash/fp/mean.js +0 -5
  2310. package/node_modules/lodash/fp/meanBy.js +0 -5
  2311. package/node_modules/lodash/fp/memoize.js +0 -5
  2312. package/node_modules/lodash/fp/merge.js +0 -5
  2313. package/node_modules/lodash/fp/mergeAll.js +0 -5
  2314. package/node_modules/lodash/fp/mergeAllWith.js +0 -5
  2315. package/node_modules/lodash/fp/mergeWith.js +0 -5
  2316. package/node_modules/lodash/fp/method.js +0 -5
  2317. package/node_modules/lodash/fp/methodOf.js +0 -5
  2318. package/node_modules/lodash/fp/min.js +0 -5
  2319. package/node_modules/lodash/fp/minBy.js +0 -5
  2320. package/node_modules/lodash/fp/mixin.js +0 -5
  2321. package/node_modules/lodash/fp/multiply.js +0 -5
  2322. package/node_modules/lodash/fp/nAry.js +0 -1
  2323. package/node_modules/lodash/fp/negate.js +0 -5
  2324. package/node_modules/lodash/fp/next.js +0 -5
  2325. package/node_modules/lodash/fp/noop.js +0 -5
  2326. package/node_modules/lodash/fp/now.js +0 -5
  2327. package/node_modules/lodash/fp/nth.js +0 -5
  2328. package/node_modules/lodash/fp/nthArg.js +0 -5
  2329. package/node_modules/lodash/fp/number.js +0 -2
  2330. package/node_modules/lodash/fp/object.js +0 -2
  2331. package/node_modules/lodash/fp/omit.js +0 -5
  2332. package/node_modules/lodash/fp/omitAll.js +0 -1
  2333. package/node_modules/lodash/fp/omitBy.js +0 -5
  2334. package/node_modules/lodash/fp/once.js +0 -5
  2335. package/node_modules/lodash/fp/orderBy.js +0 -5
  2336. package/node_modules/lodash/fp/over.js +0 -5
  2337. package/node_modules/lodash/fp/overArgs.js +0 -5
  2338. package/node_modules/lodash/fp/overEvery.js +0 -5
  2339. package/node_modules/lodash/fp/overSome.js +0 -5
  2340. package/node_modules/lodash/fp/pad.js +0 -5
  2341. package/node_modules/lodash/fp/padChars.js +0 -5
  2342. package/node_modules/lodash/fp/padCharsEnd.js +0 -5
  2343. package/node_modules/lodash/fp/padCharsStart.js +0 -5
  2344. package/node_modules/lodash/fp/padEnd.js +0 -5
  2345. package/node_modules/lodash/fp/padStart.js +0 -5
  2346. package/node_modules/lodash/fp/parseInt.js +0 -5
  2347. package/node_modules/lodash/fp/partial.js +0 -5
  2348. package/node_modules/lodash/fp/partialRight.js +0 -5
  2349. package/node_modules/lodash/fp/partition.js +0 -5
  2350. package/node_modules/lodash/fp/path.js +0 -1
  2351. package/node_modules/lodash/fp/pathEq.js +0 -1
  2352. package/node_modules/lodash/fp/pathOr.js +0 -1
  2353. package/node_modules/lodash/fp/paths.js +0 -1
  2354. package/node_modules/lodash/fp/pick.js +0 -5
  2355. package/node_modules/lodash/fp/pickAll.js +0 -1
  2356. package/node_modules/lodash/fp/pickBy.js +0 -5
  2357. package/node_modules/lodash/fp/pipe.js +0 -1
  2358. package/node_modules/lodash/fp/placeholder.js +0 -6
  2359. package/node_modules/lodash/fp/plant.js +0 -5
  2360. package/node_modules/lodash/fp/pluck.js +0 -1
  2361. package/node_modules/lodash/fp/prop.js +0 -1
  2362. package/node_modules/lodash/fp/propEq.js +0 -1
  2363. package/node_modules/lodash/fp/propOr.js +0 -1
  2364. package/node_modules/lodash/fp/property.js +0 -1
  2365. package/node_modules/lodash/fp/propertyOf.js +0 -5
  2366. package/node_modules/lodash/fp/props.js +0 -1
  2367. package/node_modules/lodash/fp/pull.js +0 -5
  2368. package/node_modules/lodash/fp/pullAll.js +0 -5
  2369. package/node_modules/lodash/fp/pullAllBy.js +0 -5
  2370. package/node_modules/lodash/fp/pullAllWith.js +0 -5
  2371. package/node_modules/lodash/fp/pullAt.js +0 -5
  2372. package/node_modules/lodash/fp/random.js +0 -5
  2373. package/node_modules/lodash/fp/range.js +0 -5
  2374. package/node_modules/lodash/fp/rangeRight.js +0 -5
  2375. package/node_modules/lodash/fp/rangeStep.js +0 -5
  2376. package/node_modules/lodash/fp/rangeStepRight.js +0 -5
  2377. package/node_modules/lodash/fp/rearg.js +0 -5
  2378. package/node_modules/lodash/fp/reduce.js +0 -5
  2379. package/node_modules/lodash/fp/reduceRight.js +0 -5
  2380. package/node_modules/lodash/fp/reject.js +0 -5
  2381. package/node_modules/lodash/fp/remove.js +0 -5
  2382. package/node_modules/lodash/fp/repeat.js +0 -5
  2383. package/node_modules/lodash/fp/replace.js +0 -5
  2384. package/node_modules/lodash/fp/rest.js +0 -5
  2385. package/node_modules/lodash/fp/restFrom.js +0 -5
  2386. package/node_modules/lodash/fp/result.js +0 -5
  2387. package/node_modules/lodash/fp/reverse.js +0 -5
  2388. package/node_modules/lodash/fp/round.js +0 -5
  2389. package/node_modules/lodash/fp/sample.js +0 -5
  2390. package/node_modules/lodash/fp/sampleSize.js +0 -5
  2391. package/node_modules/lodash/fp/seq.js +0 -2
  2392. package/node_modules/lodash/fp/set.js +0 -5
  2393. package/node_modules/lodash/fp/setWith.js +0 -5
  2394. package/node_modules/lodash/fp/shuffle.js +0 -5
  2395. package/node_modules/lodash/fp/size.js +0 -5
  2396. package/node_modules/lodash/fp/slice.js +0 -5
  2397. package/node_modules/lodash/fp/snakeCase.js +0 -5
  2398. package/node_modules/lodash/fp/some.js +0 -5
  2399. package/node_modules/lodash/fp/sortBy.js +0 -5
  2400. package/node_modules/lodash/fp/sortedIndex.js +0 -5
  2401. package/node_modules/lodash/fp/sortedIndexBy.js +0 -5
  2402. package/node_modules/lodash/fp/sortedIndexOf.js +0 -5
  2403. package/node_modules/lodash/fp/sortedLastIndex.js +0 -5
  2404. package/node_modules/lodash/fp/sortedLastIndexBy.js +0 -5
  2405. package/node_modules/lodash/fp/sortedLastIndexOf.js +0 -5
  2406. package/node_modules/lodash/fp/sortedUniq.js +0 -5
  2407. package/node_modules/lodash/fp/sortedUniqBy.js +0 -5
  2408. package/node_modules/lodash/fp/split.js +0 -5
  2409. package/node_modules/lodash/fp/spread.js +0 -5
  2410. package/node_modules/lodash/fp/spreadFrom.js +0 -5
  2411. package/node_modules/lodash/fp/startCase.js +0 -5
  2412. package/node_modules/lodash/fp/startsWith.js +0 -5
  2413. package/node_modules/lodash/fp/string.js +0 -2
  2414. package/node_modules/lodash/fp/stubArray.js +0 -5
  2415. package/node_modules/lodash/fp/stubFalse.js +0 -5
  2416. package/node_modules/lodash/fp/stubObject.js +0 -5
  2417. package/node_modules/lodash/fp/stubString.js +0 -5
  2418. package/node_modules/lodash/fp/stubTrue.js +0 -5
  2419. package/node_modules/lodash/fp/subtract.js +0 -5
  2420. package/node_modules/lodash/fp/sum.js +0 -5
  2421. package/node_modules/lodash/fp/sumBy.js +0 -5
  2422. package/node_modules/lodash/fp/symmetricDifference.js +0 -1
  2423. package/node_modules/lodash/fp/symmetricDifferenceBy.js +0 -1
  2424. package/node_modules/lodash/fp/symmetricDifferenceWith.js +0 -1
  2425. package/node_modules/lodash/fp/tail.js +0 -5
  2426. package/node_modules/lodash/fp/take.js +0 -5
  2427. package/node_modules/lodash/fp/takeLast.js +0 -1
  2428. package/node_modules/lodash/fp/takeLastWhile.js +0 -1
  2429. package/node_modules/lodash/fp/takeRight.js +0 -5
  2430. package/node_modules/lodash/fp/takeRightWhile.js +0 -5
  2431. package/node_modules/lodash/fp/takeWhile.js +0 -5
  2432. package/node_modules/lodash/fp/tap.js +0 -5
  2433. package/node_modules/lodash/fp/template.js +0 -5
  2434. package/node_modules/lodash/fp/templateSettings.js +0 -5
  2435. package/node_modules/lodash/fp/throttle.js +0 -5
  2436. package/node_modules/lodash/fp/thru.js +0 -5
  2437. package/node_modules/lodash/fp/times.js +0 -5
  2438. package/node_modules/lodash/fp/toArray.js +0 -5
  2439. package/node_modules/lodash/fp/toFinite.js +0 -5
  2440. package/node_modules/lodash/fp/toInteger.js +0 -5
  2441. package/node_modules/lodash/fp/toIterator.js +0 -5
  2442. package/node_modules/lodash/fp/toJSON.js +0 -5
  2443. package/node_modules/lodash/fp/toLength.js +0 -5
  2444. package/node_modules/lodash/fp/toLower.js +0 -5
  2445. package/node_modules/lodash/fp/toNumber.js +0 -5
  2446. package/node_modules/lodash/fp/toPairs.js +0 -5
  2447. package/node_modules/lodash/fp/toPairsIn.js +0 -5
  2448. package/node_modules/lodash/fp/toPath.js +0 -5
  2449. package/node_modules/lodash/fp/toPlainObject.js +0 -5
  2450. package/node_modules/lodash/fp/toSafeInteger.js +0 -5
  2451. package/node_modules/lodash/fp/toString.js +0 -5
  2452. package/node_modules/lodash/fp/toUpper.js +0 -5
  2453. package/node_modules/lodash/fp/transform.js +0 -5
  2454. package/node_modules/lodash/fp/trim.js +0 -5
  2455. package/node_modules/lodash/fp/trimChars.js +0 -5
  2456. package/node_modules/lodash/fp/trimCharsEnd.js +0 -5
  2457. package/node_modules/lodash/fp/trimCharsStart.js +0 -5
  2458. package/node_modules/lodash/fp/trimEnd.js +0 -5
  2459. package/node_modules/lodash/fp/trimStart.js +0 -5
  2460. package/node_modules/lodash/fp/truncate.js +0 -5
  2461. package/node_modules/lodash/fp/unapply.js +0 -1
  2462. package/node_modules/lodash/fp/unary.js +0 -5
  2463. package/node_modules/lodash/fp/unescape.js +0 -5
  2464. package/node_modules/lodash/fp/union.js +0 -5
  2465. package/node_modules/lodash/fp/unionBy.js +0 -5
  2466. package/node_modules/lodash/fp/unionWith.js +0 -5
  2467. package/node_modules/lodash/fp/uniq.js +0 -5
  2468. package/node_modules/lodash/fp/uniqBy.js +0 -5
  2469. package/node_modules/lodash/fp/uniqWith.js +0 -5
  2470. package/node_modules/lodash/fp/uniqueId.js +0 -5
  2471. package/node_modules/lodash/fp/unnest.js +0 -1
  2472. package/node_modules/lodash/fp/unset.js +0 -5
  2473. package/node_modules/lodash/fp/unzip.js +0 -5
  2474. package/node_modules/lodash/fp/unzipWith.js +0 -5
  2475. package/node_modules/lodash/fp/update.js +0 -5
  2476. package/node_modules/lodash/fp/updateWith.js +0 -5
  2477. package/node_modules/lodash/fp/upperCase.js +0 -5
  2478. package/node_modules/lodash/fp/upperFirst.js +0 -5
  2479. package/node_modules/lodash/fp/useWith.js +0 -1
  2480. package/node_modules/lodash/fp/util.js +0 -2
  2481. package/node_modules/lodash/fp/value.js +0 -5
  2482. package/node_modules/lodash/fp/valueOf.js +0 -5
  2483. package/node_modules/lodash/fp/values.js +0 -5
  2484. package/node_modules/lodash/fp/valuesIn.js +0 -5
  2485. package/node_modules/lodash/fp/where.js +0 -1
  2486. package/node_modules/lodash/fp/whereEq.js +0 -1
  2487. package/node_modules/lodash/fp/without.js +0 -5
  2488. package/node_modules/lodash/fp/words.js +0 -5
  2489. package/node_modules/lodash/fp/wrap.js +0 -5
  2490. package/node_modules/lodash/fp/wrapperAt.js +0 -5
  2491. package/node_modules/lodash/fp/wrapperChain.js +0 -5
  2492. package/node_modules/lodash/fp/wrapperLodash.js +0 -5
  2493. package/node_modules/lodash/fp/wrapperReverse.js +0 -5
  2494. package/node_modules/lodash/fp/wrapperValue.js +0 -5
  2495. package/node_modules/lodash/fp/xor.js +0 -5
  2496. package/node_modules/lodash/fp/xorBy.js +0 -5
  2497. package/node_modules/lodash/fp/xorWith.js +0 -5
  2498. package/node_modules/lodash/fp/zip.js +0 -5
  2499. package/node_modules/lodash/fp/zipAll.js +0 -5
  2500. package/node_modules/lodash/fp/zipObj.js +0 -1
  2501. package/node_modules/lodash/fp/zipObject.js +0 -5
  2502. package/node_modules/lodash/fp/zipObjectDeep.js +0 -5
  2503. package/node_modules/lodash/fp/zipWith.js +0 -5
  2504. package/node_modules/lodash/fp.js +0 -2
  2505. package/node_modules/lodash/fromPairs.js +0 -28
  2506. package/node_modules/lodash/function.js +0 -25
  2507. package/node_modules/lodash/functions.js +0 -31
  2508. package/node_modules/lodash/functionsIn.js +0 -31
  2509. package/node_modules/lodash/get.js +0 -33
  2510. package/node_modules/lodash/groupBy.js +0 -41
  2511. package/node_modules/lodash/gt.js +0 -29
  2512. package/node_modules/lodash/gte.js +0 -30
  2513. package/node_modules/lodash/has.js +0 -35
  2514. package/node_modules/lodash/hasIn.js +0 -34
  2515. package/node_modules/lodash/head.js +0 -23
  2516. package/node_modules/lodash/identity.js +0 -21
  2517. package/node_modules/lodash/inRange.js +0 -55
  2518. package/node_modules/lodash/includes.js +0 -53
  2519. package/node_modules/lodash/index.js +0 -1
  2520. package/node_modules/lodash/indexOf.js +0 -42
  2521. package/node_modules/lodash/initial.js +0 -22
  2522. package/node_modules/lodash/intersection.js +0 -30
  2523. package/node_modules/lodash/intersectionBy.js +0 -45
  2524. package/node_modules/lodash/intersectionWith.js +0 -41
  2525. package/node_modules/lodash/invert.js +0 -42
  2526. package/node_modules/lodash/invertBy.js +0 -56
  2527. package/node_modules/lodash/invoke.js +0 -24
  2528. package/node_modules/lodash/invokeMap.js +0 -41
  2529. package/node_modules/lodash/isArguments.js +0 -36
  2530. package/node_modules/lodash/isArray.js +0 -26
  2531. package/node_modules/lodash/isArrayBuffer.js +0 -27
  2532. package/node_modules/lodash/isArrayLike.js +0 -33
  2533. package/node_modules/lodash/isArrayLikeObject.js +0 -33
  2534. package/node_modules/lodash/isBoolean.js +0 -29
  2535. package/node_modules/lodash/isBuffer.js +0 -38
  2536. package/node_modules/lodash/isDate.js +0 -27
  2537. package/node_modules/lodash/isElement.js +0 -25
  2538. package/node_modules/lodash/isEmpty.js +0 -77
  2539. package/node_modules/lodash/isEqual.js +0 -35
  2540. package/node_modules/lodash/isEqualWith.js +0 -41
  2541. package/node_modules/lodash/isError.js +0 -36
  2542. package/node_modules/lodash/isFinite.js +0 -36
  2543. package/node_modules/lodash/isFunction.js +0 -37
  2544. package/node_modules/lodash/isInteger.js +0 -33
  2545. package/node_modules/lodash/isLength.js +0 -35
  2546. package/node_modules/lodash/isMap.js +0 -27
  2547. package/node_modules/lodash/isMatch.js +0 -36
  2548. package/node_modules/lodash/isMatchWith.js +0 -41
  2549. package/node_modules/lodash/isNaN.js +0 -38
  2550. package/node_modules/lodash/isNative.js +0 -40
  2551. package/node_modules/lodash/isNil.js +0 -25
  2552. package/node_modules/lodash/isNull.js +0 -22
  2553. package/node_modules/lodash/isNumber.js +0 -38
  2554. package/node_modules/lodash/isObject.js +0 -31
  2555. package/node_modules/lodash/isObjectLike.js +0 -29
  2556. package/node_modules/lodash/isPlainObject.js +0 -62
  2557. package/node_modules/lodash/isRegExp.js +0 -27
  2558. package/node_modules/lodash/isSafeInteger.js +0 -37
  2559. package/node_modules/lodash/isSet.js +0 -27
  2560. package/node_modules/lodash/isString.js +0 -30
  2561. package/node_modules/lodash/isSymbol.js +0 -29
  2562. package/node_modules/lodash/isTypedArray.js +0 -27
  2563. package/node_modules/lodash/isUndefined.js +0 -22
  2564. package/node_modules/lodash/isWeakMap.js +0 -28
  2565. package/node_modules/lodash/isWeakSet.js +0 -28
  2566. package/node_modules/lodash/iteratee.js +0 -53
  2567. package/node_modules/lodash/join.js +0 -26
  2568. package/node_modules/lodash/kebabCase.js +0 -28
  2569. package/node_modules/lodash/keyBy.js +0 -36
  2570. package/node_modules/lodash/keys.js +0 -37
  2571. package/node_modules/lodash/keysIn.js +0 -32
  2572. package/node_modules/lodash/lang.js +0 -58
  2573. package/node_modules/lodash/last.js +0 -20
  2574. package/node_modules/lodash/lastIndexOf.js +0 -46
  2575. package/node_modules/lodash/lodash.js +0 -17209
  2576. package/node_modules/lodash/lodash.min.js +0 -140
  2577. package/node_modules/lodash/lowerCase.js +0 -27
  2578. package/node_modules/lodash/lowerFirst.js +0 -22
  2579. package/node_modules/lodash/lt.js +0 -29
  2580. package/node_modules/lodash/lte.js +0 -30
  2581. package/node_modules/lodash/map.js +0 -53
  2582. package/node_modules/lodash/mapKeys.js +0 -36
  2583. package/node_modules/lodash/mapValues.js +0 -43
  2584. package/node_modules/lodash/matches.js +0 -46
  2585. package/node_modules/lodash/matchesProperty.js +0 -44
  2586. package/node_modules/lodash/math.js +0 -17
  2587. package/node_modules/lodash/max.js +0 -29
  2588. package/node_modules/lodash/maxBy.js +0 -34
  2589. package/node_modules/lodash/mean.js +0 -22
  2590. package/node_modules/lodash/meanBy.js +0 -31
  2591. package/node_modules/lodash/memoize.js +0 -73
  2592. package/node_modules/lodash/merge.js +0 -39
  2593. package/node_modules/lodash/mergeWith.js +0 -39
  2594. package/node_modules/lodash/method.js +0 -34
  2595. package/node_modules/lodash/methodOf.js +0 -33
  2596. package/node_modules/lodash/min.js +0 -29
  2597. package/node_modules/lodash/minBy.js +0 -34
  2598. package/node_modules/lodash/mixin.js +0 -74
  2599. package/node_modules/lodash/multiply.js +0 -22
  2600. package/node_modules/lodash/negate.js +0 -40
  2601. package/node_modules/lodash/next.js +0 -35
  2602. package/node_modules/lodash/noop.js +0 -17
  2603. package/node_modules/lodash/now.js +0 -23
  2604. package/node_modules/lodash/nth.js +0 -29
  2605. package/node_modules/lodash/nthArg.js +0 -32
  2606. package/node_modules/lodash/number.js +0 -5
  2607. package/node_modules/lodash/object.js +0 -49
  2608. package/node_modules/lodash/omit.js +0 -57
  2609. package/node_modules/lodash/omitBy.js +0 -29
  2610. package/node_modules/lodash/once.js +0 -25
  2611. package/node_modules/lodash/orderBy.js +0 -47
  2612. package/node_modules/lodash/over.js +0 -24
  2613. package/node_modules/lodash/overArgs.js +0 -61
  2614. package/node_modules/lodash/overEvery.js +0 -34
  2615. package/node_modules/lodash/overSome.js +0 -37
  2616. package/node_modules/lodash/package.json +0 -67
  2617. package/node_modules/lodash/pad.js +0 -49
  2618. package/node_modules/lodash/padEnd.js +0 -39
  2619. package/node_modules/lodash/padStart.js +0 -39
  2620. package/node_modules/lodash/parseInt.js +0 -43
  2621. package/node_modules/lodash/partial.js +0 -50
  2622. package/node_modules/lodash/partialRight.js +0 -49
  2623. package/node_modules/lodash/partition.js +0 -43
  2624. package/node_modules/lodash/pick.js +0 -25
  2625. package/node_modules/lodash/pickBy.js +0 -37
  2626. package/node_modules/lodash/plant.js +0 -48
  2627. package/node_modules/lodash/property.js +0 -32
  2628. package/node_modules/lodash/propertyOf.js +0 -30
  2629. package/node_modules/lodash/pull.js +0 -29
  2630. package/node_modules/lodash/pullAll.js +0 -29
  2631. package/node_modules/lodash/pullAllBy.js +0 -33
  2632. package/node_modules/lodash/pullAllWith.js +0 -32
  2633. package/node_modules/lodash/pullAt.js +0 -43
  2634. package/node_modules/lodash/random.js +0 -82
  2635. package/node_modules/lodash/range.js +0 -46
  2636. package/node_modules/lodash/rangeRight.js +0 -41
  2637. package/node_modules/lodash/rearg.js +0 -33
  2638. package/node_modules/lodash/reduce.js +0 -51
  2639. package/node_modules/lodash/reduceRight.js +0 -36
  2640. package/node_modules/lodash/reject.js +0 -46
  2641. package/node_modules/lodash/release.md +0 -48
  2642. package/node_modules/lodash/remove.js +0 -53
  2643. package/node_modules/lodash/repeat.js +0 -37
  2644. package/node_modules/lodash/replace.js +0 -29
  2645. package/node_modules/lodash/rest.js +0 -40
  2646. package/node_modules/lodash/result.js +0 -56
  2647. package/node_modules/lodash/reverse.js +0 -34
  2648. package/node_modules/lodash/round.js +0 -26
  2649. package/node_modules/lodash/sample.js +0 -24
  2650. package/node_modules/lodash/sampleSize.js +0 -37
  2651. package/node_modules/lodash/seq.js +0 -16
  2652. package/node_modules/lodash/set.js +0 -35
  2653. package/node_modules/lodash/setWith.js +0 -32
  2654. package/node_modules/lodash/shuffle.js +0 -25
  2655. package/node_modules/lodash/size.js +0 -46
  2656. package/node_modules/lodash/slice.js +0 -37
  2657. package/node_modules/lodash/snakeCase.js +0 -28
  2658. package/node_modules/lodash/some.js +0 -51
  2659. package/node_modules/lodash/sortBy.js +0 -48
  2660. package/node_modules/lodash/sortedIndex.js +0 -24
  2661. package/node_modules/lodash/sortedIndexBy.js +0 -33
  2662. package/node_modules/lodash/sortedIndexOf.js +0 -31
  2663. package/node_modules/lodash/sortedLastIndex.js +0 -25
  2664. package/node_modules/lodash/sortedLastIndexBy.js +0 -33
  2665. package/node_modules/lodash/sortedLastIndexOf.js +0 -31
  2666. package/node_modules/lodash/sortedUniq.js +0 -24
  2667. package/node_modules/lodash/sortedUniqBy.js +0 -26
  2668. package/node_modules/lodash/split.js +0 -52
  2669. package/node_modules/lodash/spread.js +0 -63
  2670. package/node_modules/lodash/startCase.js +0 -29
  2671. package/node_modules/lodash/startsWith.js +0 -39
  2672. package/node_modules/lodash/string.js +0 -33
  2673. package/node_modules/lodash/stubArray.js +0 -23
  2674. package/node_modules/lodash/stubFalse.js +0 -18
  2675. package/node_modules/lodash/stubObject.js +0 -23
  2676. package/node_modules/lodash/stubString.js +0 -18
  2677. package/node_modules/lodash/stubTrue.js +0 -18
  2678. package/node_modules/lodash/subtract.js +0 -22
  2679. package/node_modules/lodash/sum.js +0 -24
  2680. package/node_modules/lodash/sumBy.js +0 -33
  2681. package/node_modules/lodash/tail.js +0 -22
  2682. package/node_modules/lodash/take.js +0 -37
  2683. package/node_modules/lodash/takeRight.js +0 -39
  2684. package/node_modules/lodash/takeRightWhile.js +0 -45
  2685. package/node_modules/lodash/takeWhile.js +0 -45
  2686. package/node_modules/lodash/tap.js +0 -29
  2687. package/node_modules/lodash/template.js +0 -272
  2688. package/node_modules/lodash/templateSettings.js +0 -67
  2689. package/node_modules/lodash/throttle.js +0 -69
  2690. package/node_modules/lodash/thru.js +0 -28
  2691. package/node_modules/lodash/times.js +0 -51
  2692. package/node_modules/lodash/toArray.js +0 -58
  2693. package/node_modules/lodash/toFinite.js +0 -42
  2694. package/node_modules/lodash/toInteger.js +0 -36
  2695. package/node_modules/lodash/toIterator.js +0 -23
  2696. package/node_modules/lodash/toJSON.js +0 -1
  2697. package/node_modules/lodash/toLength.js +0 -38
  2698. package/node_modules/lodash/toLower.js +0 -28
  2699. package/node_modules/lodash/toNumber.js +0 -64
  2700. package/node_modules/lodash/toPairs.js +0 -30
  2701. package/node_modules/lodash/toPairsIn.js +0 -30
  2702. package/node_modules/lodash/toPath.js +0 -33
  2703. package/node_modules/lodash/toPlainObject.js +0 -32
  2704. package/node_modules/lodash/toSafeInteger.js +0 -37
  2705. package/node_modules/lodash/toString.js +0 -28
  2706. package/node_modules/lodash/toUpper.js +0 -28
  2707. package/node_modules/lodash/transform.js +0 -65
  2708. package/node_modules/lodash/trim.js +0 -47
  2709. package/node_modules/lodash/trimEnd.js +0 -41
  2710. package/node_modules/lodash/trimStart.js +0 -43
  2711. package/node_modules/lodash/truncate.js +0 -111
  2712. package/node_modules/lodash/unary.js +0 -22
  2713. package/node_modules/lodash/unescape.js +0 -34
  2714. package/node_modules/lodash/union.js +0 -26
  2715. package/node_modules/lodash/unionBy.js +0 -39
  2716. package/node_modules/lodash/unionWith.js +0 -34
  2717. package/node_modules/lodash/uniq.js +0 -25
  2718. package/node_modules/lodash/uniqBy.js +0 -31
  2719. package/node_modules/lodash/uniqWith.js +0 -28
  2720. package/node_modules/lodash/uniqueId.js +0 -28
  2721. package/node_modules/lodash/unset.js +0 -34
  2722. package/node_modules/lodash/unzip.js +0 -45
  2723. package/node_modules/lodash/unzipWith.js +0 -39
  2724. package/node_modules/lodash/update.js +0 -35
  2725. package/node_modules/lodash/updateWith.js +0 -33
  2726. package/node_modules/lodash/upperCase.js +0 -27
  2727. package/node_modules/lodash/upperFirst.js +0 -22
  2728. package/node_modules/lodash/util.js +0 -34
  2729. package/node_modules/lodash/value.js +0 -1
  2730. package/node_modules/lodash/valueOf.js +0 -1
  2731. package/node_modules/lodash/values.js +0 -34
  2732. package/node_modules/lodash/valuesIn.js +0 -32
  2733. package/node_modules/lodash/without.js +0 -31
  2734. package/node_modules/lodash/words.js +0 -35
  2735. package/node_modules/lodash/wrap.js +0 -30
  2736. package/node_modules/lodash/wrapperAt.js +0 -48
  2737. package/node_modules/lodash/wrapperChain.js +0 -34
  2738. package/node_modules/lodash/wrapperLodash.js +0 -147
  2739. package/node_modules/lodash/wrapperReverse.js +0 -44
  2740. package/node_modules/lodash/wrapperValue.js +0 -21
  2741. package/node_modules/lodash/xor.js +0 -28
  2742. package/node_modules/lodash/xorBy.js +0 -39
  2743. package/node_modules/lodash/xorWith.js +0 -34
  2744. package/node_modules/lodash/zip.js +0 -22
  2745. package/node_modules/lodash/zipObject.js +0 -24
  2746. package/node_modules/lodash/zipObjectDeep.js +0 -23
  2747. package/node_modules/lodash/zipWith.js +0 -32
  2748. package/node_modules/lodash.get/LICENSE +0 -47
  2749. package/node_modules/lodash.get/README.md +0 -18
  2750. package/node_modules/lodash.get/index.js +0 -931
  2751. package/node_modules/lodash.get/package.json +0 -72
  2752. package/node_modules/make-dir/index.d.ts +0 -66
  2753. package/node_modules/make-dir/index.js +0 -156
  2754. package/node_modules/make-dir/license +0 -9
  2755. package/node_modules/make-dir/node_modules/semver/CHANGELOG.md +0 -70
  2756. package/node_modules/make-dir/node_modules/semver/LICENSE +0 -15
  2757. package/node_modules/make-dir/node_modules/semver/README.md +0 -443
  2758. package/node_modules/make-dir/node_modules/semver/bin/semver.js +0 -174
  2759. package/node_modules/make-dir/node_modules/semver/package.json +0 -63
  2760. package/node_modules/make-dir/node_modules/semver/range.bnf +0 -16
  2761. package/node_modules/make-dir/node_modules/semver/semver.js +0 -1596
  2762. package/node_modules/make-dir/package.json +0 -94
  2763. package/node_modules/make-dir/readme.md +0 -125
  2764. package/node_modules/maplex/README.md +0 -31
  2765. package/node_modules/maplex/maplex.js +0 -116
  2766. package/node_modules/maplex/package-lock.json.2349981881 +0 -2125
  2767. package/node_modules/maplex/package.json +0 -56
  2768. package/node_modules/maplex/test.js +0 -43
  2769. package/node_modules/mimic-response/index.d.ts +0 -17
  2770. package/node_modules/mimic-response/index.js +0 -38
  2771. package/node_modules/mimic-response/license +0 -9
  2772. package/node_modules/mimic-response/package.json +0 -77
  2773. package/node_modules/mimic-response/readme.md +0 -57
  2774. package/node_modules/minipass/LICENSE +0 -15
  2775. package/node_modules/minipass/README.md +0 -728
  2776. package/node_modules/minipass/index.d.ts +0 -149
  2777. package/node_modules/minipass/index.js +0 -649
  2778. package/node_modules/minipass/package.json +0 -93
  2779. package/node_modules/minizlib/LICENSE +0 -26
  2780. package/node_modules/minizlib/README.md +0 -60
  2781. package/node_modules/minizlib/constants.js +0 -115
  2782. package/node_modules/minizlib/index.js +0 -348
  2783. package/node_modules/minizlib/package.json +0 -78
  2784. package/node_modules/mkdirp/CHANGELOG.md +0 -15
  2785. package/node_modules/mkdirp/LICENSE +0 -21
  2786. package/node_modules/mkdirp/bin/cmd.js +0 -68
  2787. package/node_modules/mkdirp/index.js +0 -31
  2788. package/node_modules/mkdirp/lib/find-made.js +0 -29
  2789. package/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  2790. package/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  2791. package/node_modules/mkdirp/lib/opts-arg.js +0 -23
  2792. package/node_modules/mkdirp/lib/path-arg.js +0 -29
  2793. package/node_modules/mkdirp/lib/use-native.js +0 -10
  2794. package/node_modules/mkdirp/package.json +0 -78
  2795. package/node_modules/mkdirp/readme.markdown +0 -266
  2796. package/node_modules/nan/CHANGELOG.md +0 -545
  2797. package/node_modules/nan/LICENSE.md +0 -9
  2798. package/node_modules/nan/README.md +0 -456
  2799. package/node_modules/nan/doc/asyncworker.md +0 -146
  2800. package/node_modules/nan/doc/buffers.md +0 -54
  2801. package/node_modules/nan/doc/callback.md +0 -76
  2802. package/node_modules/nan/doc/converters.md +0 -41
  2803. package/node_modules/nan/doc/errors.md +0 -226
  2804. package/node_modules/nan/doc/json.md +0 -62
  2805. package/node_modules/nan/doc/maybe_types.md +0 -583
  2806. package/node_modules/nan/doc/methods.md +0 -664
  2807. package/node_modules/nan/doc/new.md +0 -147
  2808. package/node_modules/nan/doc/node_misc.md +0 -123
  2809. package/node_modules/nan/doc/object_wrappers.md +0 -263
  2810. package/node_modules/nan/doc/persistent.md +0 -296
  2811. package/node_modules/nan/doc/scopes.md +0 -73
  2812. package/node_modules/nan/doc/script.md +0 -58
  2813. package/node_modules/nan/doc/string_bytes.md +0 -62
  2814. package/node_modules/nan/doc/v8_internals.md +0 -199
  2815. package/node_modules/nan/doc/v8_misc.md +0 -85
  2816. package/node_modules/nan/include_dirs.js +0 -1
  2817. package/node_modules/nan/nan.h +0 -2909
  2818. package/node_modules/nan/nan_callbacks.h +0 -88
  2819. package/node_modules/nan/nan_callbacks_12_inl.h +0 -514
  2820. package/node_modules/nan/nan_callbacks_pre_12_inl.h +0 -520
  2821. package/node_modules/nan/nan_converters.h +0 -72
  2822. package/node_modules/nan/nan_converters_43_inl.h +0 -68
  2823. package/node_modules/nan/nan_converters_pre_43_inl.h +0 -42
  2824. package/node_modules/nan/nan_define_own_property_helper.h +0 -29
  2825. package/node_modules/nan/nan_implementation_12_inl.h +0 -430
  2826. package/node_modules/nan/nan_implementation_pre_12_inl.h +0 -263
  2827. package/node_modules/nan/nan_json.h +0 -166
  2828. package/node_modules/nan/nan_maybe_43_inl.h +0 -356
  2829. package/node_modules/nan/nan_maybe_pre_43_inl.h +0 -268
  2830. package/node_modules/nan/nan_new.h +0 -340
  2831. package/node_modules/nan/nan_object_wrap.h +0 -156
  2832. package/node_modules/nan/nan_persistent_12_inl.h +0 -132
  2833. package/node_modules/nan/nan_persistent_pre_12_inl.h +0 -242
  2834. package/node_modules/nan/nan_private.h +0 -73
  2835. package/node_modules/nan/nan_scriptorigin.h +0 -76
  2836. package/node_modules/nan/nan_string_bytes.h +0 -305
  2837. package/node_modules/nan/nan_typedarray_contents.h +0 -96
  2838. package/node_modules/nan/nan_weak.h +0 -437
  2839. package/node_modules/nan/package.json +0 -101
  2840. package/node_modules/nan/tools/1to2.js +0 -412
  2841. package/node_modules/nan/tools/README.md +0 -14
  2842. package/node_modules/nan/tools/package.json +0 -19
  2843. package/node_modules/node-fetch/LICENSE.md +0 -22
  2844. package/node_modules/node-fetch/README.md +0 -590
  2845. package/node_modules/node-fetch/browser.js +0 -25
  2846. package/node_modules/node-fetch/lib/index.es.js +0 -1688
  2847. package/node_modules/node-fetch/lib/index.js +0 -1697
  2848. package/node_modules/node-fetch/lib/index.mjs +0 -1686
  2849. package/node_modules/node-fetch/package.json +0 -107
  2850. package/node_modules/nopt/CHANGELOG.md +0 -58
  2851. package/node_modules/nopt/LICENSE +0 -15
  2852. package/node_modules/nopt/README.md +0 -213
  2853. package/node_modules/nopt/bin/nopt.js +0 -54
  2854. package/node_modules/nopt/lib/nopt.js +0 -441
  2855. package/node_modules/nopt/package.json +0 -70
  2856. package/node_modules/npmlog/LICENSE +0 -15
  2857. package/node_modules/npmlog/README.md +0 -216
  2858. package/node_modules/npmlog/log.js +0 -403
  2859. package/node_modules/npmlog/package.json +0 -69
  2860. package/node_modules/object-assign/index.js +0 -90
  2861. package/node_modules/object-assign/license +0 -21
  2862. package/node_modules/object-assign/package.json +0 -77
  2863. package/node_modules/object-assign/readme.md +0 -61
  2864. package/node_modules/parse-listing/..gitignore.un~ +0 -0
  2865. package/node_modules/parse-listing/..travis.yml.un~ +0 -0
  2866. package/node_modules/parse-listing/.Makefile.un~ +0 -0
  2867. package/node_modules/parse-listing/.README.md.un~ +0 -0
  2868. package/node_modules/parse-listing/.npmignore +0 -4
  2869. package/node_modules/parse-listing/.package.json.un~ +0 -0
  2870. package/node_modules/parse-listing/.parser.js.un~ +0 -0
  2871. package/node_modules/parse-listing/.parset_test.js.un~ +0 -0
  2872. package/node_modules/parse-listing/.travis.yml +0 -7
  2873. package/node_modules/parse-listing/Makefile +0 -30
  2874. package/node_modules/parse-listing/README.md +0 -115
  2875. package/node_modules/parse-listing/_site/Makefile +0 -30
  2876. package/node_modules/parse-listing/_site/README.md +0 -115
  2877. package/node_modules/parse-listing/_site/package.json +0 -41
  2878. package/node_modules/parse-listing/_site/src/ftp-parser.js +0 -456
  2879. package/node_modules/parse-listing/_site/src/parser.js +0 -338
  2880. package/node_modules/parse-listing/_site/test/parser.test.js +0 -707
  2881. package/node_modules/parse-listing/package.json +0 -74
  2882. package/node_modules/parse-listing/src/.parser.js.un~ +0 -0
  2883. package/node_modules/parse-listing/src/ftp-parser.js +0 -456
  2884. package/node_modules/parse-listing/src/parser.js +0 -339
  2885. package/node_modules/parse-listing/test/.parser.test.js.un~ +0 -0
  2886. package/node_modules/parse-listing/test/.parser_test.js.un~ +0 -0
  2887. package/node_modules/parse-listing/test/parser.test.js +0 -714
  2888. package/node_modules/rimraf/CHANGELOG.md +0 -65
  2889. package/node_modules/rimraf/LICENSE +0 -15
  2890. package/node_modules/rimraf/README.md +0 -101
  2891. package/node_modules/rimraf/bin.js +0 -68
  2892. package/node_modules/rimraf/package.json +0 -74
  2893. package/node_modules/rimraf/rimraf.js +0 -360
  2894. package/node_modules/rw/.eslintrc +0 -5
  2895. package/node_modules/rw/.npmignore +0 -3
  2896. package/node_modules/rw/LICENSE +0 -26
  2897. package/node_modules/rw/README.md +0 -120
  2898. package/node_modules/rw/index.js +0 -5
  2899. package/node_modules/rw/lib/rw/dash.js +0 -14
  2900. package/node_modules/rw/lib/rw/decode.js +0 -23
  2901. package/node_modules/rw/lib/rw/encode.js +0 -7
  2902. package/node_modules/rw/lib/rw/read-file-sync.js +0 -29
  2903. package/node_modules/rw/lib/rw/read-file.js +0 -23
  2904. package/node_modules/rw/lib/rw/write-file-sync.js +0 -32
  2905. package/node_modules/rw/lib/rw/write-file.js +0 -22
  2906. package/node_modules/rw/package.json +0 -63
  2907. package/node_modules/rw/test/cat-async +0 -10
  2908. package/node_modules/rw/test/cat-sync +0 -5
  2909. package/node_modules/rw/test/encode-object-async +0 -7
  2910. package/node_modules/rw/test/encode-object-sync +0 -5
  2911. package/node_modules/rw/test/encode-string-async +0 -7
  2912. package/node_modules/rw/test/encode-string-sync +0 -5
  2913. package/node_modules/rw/test/encoding-async +0 -42
  2914. package/node_modules/rw/test/encoding-sync +0 -20
  2915. package/node_modules/rw/test/run-tests +0 -53
  2916. package/node_modules/rw/test/utf8.txt +0 -1
  2917. package/node_modules/rw/test/wc-async +0 -8
  2918. package/node_modules/rw/test/wc-sync +0 -5
  2919. package/node_modules/rw/test/write-async +0 -7
  2920. package/node_modules/rw/test/write-sync +0 -5
  2921. package/node_modules/safer-buffer/LICENSE +0 -21
  2922. package/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  2923. package/node_modules/safer-buffer/Readme.md +0 -156
  2924. package/node_modules/safer-buffer/dangerous.js +0 -58
  2925. package/node_modules/safer-buffer/package.json +0 -63
  2926. package/node_modules/safer-buffer/safer.js +0 -77
  2927. package/node_modules/safer-buffer/tests.js +0 -406
  2928. package/node_modules/set-blocking/CHANGELOG.md +0 -26
  2929. package/node_modules/set-blocking/LICENSE.txt +0 -14
  2930. package/node_modules/set-blocking/README.md +0 -31
  2931. package/node_modules/set-blocking/index.js +0 -7
  2932. package/node_modules/set-blocking/package.json +0 -73
  2933. package/node_modules/sift/MIT-LICENSE.txt +0 -20
  2934. package/node_modules/sift/README.md +0 -465
  2935. package/node_modules/sift/es/index.js +0 -626
  2936. package/node_modules/sift/es/index.js.map +0 -1
  2937. package/node_modules/sift/es5m/index.js +0 -729
  2938. package/node_modules/sift/es5m/index.js.map +0 -1
  2939. package/node_modules/sift/index.d.ts +0 -4
  2940. package/node_modules/sift/index.js +0 -4
  2941. package/node_modules/sift/lib/core.d.ts +0 -119
  2942. package/node_modules/sift/lib/index.d.ts +0 -6
  2943. package/node_modules/sift/lib/index.js +0 -766
  2944. package/node_modules/sift/lib/index.js.map +0 -1
  2945. package/node_modules/sift/lib/operations.d.ts +0 -88
  2946. package/node_modules/sift/lib/utils.d.ts +0 -9
  2947. package/node_modules/sift/package.json +0 -98
  2948. package/node_modules/sift/sift.csp.min.js +0 -763
  2949. package/node_modules/sift/sift.csp.min.js.map +0 -1
  2950. package/node_modules/sift/sift.min.js +0 -16
  2951. package/node_modules/sift/sift.min.js.map +0 -1
  2952. package/node_modules/sift/src/core.d.ts +0 -123
  2953. package/node_modules/sift/src/core.js +0 -270
  2954. package/node_modules/sift/src/core.js.map +0 -1
  2955. package/node_modules/sift/src/core.ts +0 -479
  2956. package/node_modules/sift/src/index.d.ts +0 -6
  2957. package/node_modules/sift/src/index.js +0 -35
  2958. package/node_modules/sift/src/index.js.map +0 -1
  2959. package/node_modules/sift/src/index.ts +0 -42
  2960. package/node_modules/sift/src/operations.d.ts +0 -85
  2961. package/node_modules/sift/src/operations.js +0 -276
  2962. package/node_modules/sift/src/operations.js.map +0 -1
  2963. package/node_modules/sift/src/operations.ts +0 -411
  2964. package/node_modules/sift/src/utils.d.ts +0 -9
  2965. package/node_modules/sift/src/utils.js +0 -70
  2966. package/node_modules/sift/src/utils.js.map +0 -1
  2967. package/node_modules/sift/src/utils.ts +0 -68
  2968. package/node_modules/signal-exit/LICENSE.txt +0 -16
  2969. package/node_modules/signal-exit/README.md +0 -39
  2970. package/node_modules/signal-exit/index.js +0 -202
  2971. package/node_modules/signal-exit/package.json +0 -71
  2972. package/node_modules/signal-exit/signals.js +0 -53
  2973. package/node_modules/simple-concat/.travis.yml +0 -3
  2974. package/node_modules/simple-concat/LICENSE +0 -20
  2975. package/node_modules/simple-concat/README.md +0 -44
  2976. package/node_modules/simple-concat/index.js +0 -15
  2977. package/node_modules/simple-concat/package.json +0 -75
  2978. package/node_modules/simple-concat/test/basic.js +0 -41
  2979. package/node_modules/simple-get/LICENSE +0 -20
  2980. package/node_modules/simple-get/README.md +0 -319
  2981. package/node_modules/simple-get/index.js +0 -107
  2982. package/node_modules/simple-get/package.json +0 -81
  2983. package/node_modules/simple-swizzle/LICENSE +0 -21
  2984. package/node_modules/simple-swizzle/README.md +0 -39
  2985. package/node_modules/simple-swizzle/index.js +0 -29
  2986. package/node_modules/simple-swizzle/node_modules/is-arrayish/LICENSE +0 -21
  2987. package/node_modules/simple-swizzle/node_modules/is-arrayish/README.md +0 -16
  2988. package/node_modules/simple-swizzle/node_modules/is-arrayish/index.js +0 -9
  2989. package/node_modules/simple-swizzle/node_modules/is-arrayish/package.json +0 -80
  2990. package/node_modules/simple-swizzle/node_modules/is-arrayish/yarn-error.log +0 -1443
  2991. package/node_modules/simple-swizzle/package.json +0 -74
  2992. package/node_modules/strangler/.travis.yml +0 -21
  2993. package/node_modules/strangler/README.md +0 -191
  2994. package/node_modules/strangler/package-lock.json.2408204802 +0 -289
  2995. package/node_modules/strangler/package.json +0 -69
  2996. package/node_modules/strangler/strangler.js +0 -272
  2997. package/node_modules/strangler/test-utils.js +0 -52
  2998. package/node_modules/strangler/test.js +0 -186
  2999. package/node_modules/stream-combiner/.npmignore +0 -3
  3000. package/node_modules/stream-combiner/.travis.yml +0 -4
  3001. package/node_modules/stream-combiner/LICENSE +0 -22
  3002. package/node_modules/stream-combiner/README.md +0 -55
  3003. package/node_modules/stream-combiner/index.js +0 -45
  3004. package/node_modules/stream-combiner/package.json +0 -59
  3005. package/node_modules/stream-combiner/test/index.js +0 -65
  3006. package/node_modules/string-tools/.npmignore +0 -2
  3007. package/node_modules/string-tools/.travis.yml +0 -5
  3008. package/node_modules/string-tools/LICENSE +0 -21
  3009. package/node_modules/string-tools/README.md +0 -101
  3010. package/node_modules/string-tools/jsdoc2md/README.hbs +0 -10
  3011. package/node_modules/string-tools/lib/string-tools.js +0 -119
  3012. package/node_modules/string-tools/package.json +0 -62
  3013. package/node_modules/string-tools/test/test.js +0 -38
  3014. package/node_modules/tar/LICENSE +0 -15
  3015. package/node_modules/tar/README.md +0 -1042
  3016. package/node_modules/tar/index.js +0 -18
  3017. package/node_modules/tar/lib/create.js +0 -104
  3018. package/node_modules/tar/lib/extract.js +0 -107
  3019. package/node_modules/tar/lib/get-write-flag.js +0 -20
  3020. package/node_modules/tar/lib/header.js +0 -288
  3021. package/node_modules/tar/lib/high-level-opt.js +0 -29
  3022. package/node_modules/tar/lib/large-numbers.js +0 -99
  3023. package/node_modules/tar/lib/list.js +0 -132
  3024. package/node_modules/tar/lib/mkdir.js +0 -213
  3025. package/node_modules/tar/lib/mode-fix.js +0 -23
  3026. package/node_modules/tar/lib/normalize-unicode.js +0 -11
  3027. package/node_modules/tar/lib/normalize-windows-path.js +0 -8
  3028. package/node_modules/tar/lib/pack.js +0 -397
  3029. package/node_modules/tar/lib/parse.js +0 -481
  3030. package/node_modules/tar/lib/path-reservations.js +0 -148
  3031. package/node_modules/tar/lib/pax.js +0 -143
  3032. package/node_modules/tar/lib/read-entry.js +0 -100
  3033. package/node_modules/tar/lib/replace.js +0 -223
  3034. package/node_modules/tar/lib/strip-absolute-path.js +0 -24
  3035. package/node_modules/tar/lib/strip-trailing-slashes.js +0 -13
  3036. package/node_modules/tar/lib/types.js +0 -44
  3037. package/node_modules/tar/lib/unpack.js +0 -877
  3038. package/node_modules/tar/lib/update.js +0 -36
  3039. package/node_modules/tar/lib/warn-mixin.js +0 -21
  3040. package/node_modules/tar/lib/winchars.js +0 -23
  3041. package/node_modules/tar/lib/write-entry.js +0 -525
  3042. package/node_modules/tar/package.json +0 -95
  3043. package/node_modules/through/.travis.yml +0 -5
  3044. package/node_modules/through/LICENSE.APACHE2 +0 -15
  3045. package/node_modules/through/LICENSE.MIT +0 -24
  3046. package/node_modules/through/index.js +0 -108
  3047. package/node_modules/through/package.json +0 -73
  3048. package/node_modules/through/readme.markdown +0 -64
  3049. package/node_modules/through/test/async.js +0 -28
  3050. package/node_modules/through/test/auto-destroy.js +0 -30
  3051. package/node_modules/through/test/buffering.js +0 -71
  3052. package/node_modules/through/test/end.js +0 -45
  3053. package/node_modules/through/test/index.js +0 -133
  3054. package/node_modules/tr46/.npmignore +0 -4
  3055. package/node_modules/tr46/index.js +0 -193
  3056. package/node_modules/tr46/lib/.gitkeep +0 -0
  3057. package/node_modules/tr46/lib/mappingTable.json +0 -1
  3058. package/node_modules/tr46/package.json +0 -62
  3059. package/node_modules/unorm/LICENSE.md +0 -42
  3060. package/node_modules/unorm/README.md +0 -118
  3061. package/node_modules/unorm/lib/unorm.js +0 -452
  3062. package/node_modules/unorm/package.json +0 -76
  3063. package/node_modules/webidl-conversions/LICENSE.md +0 -12
  3064. package/node_modules/webidl-conversions/README.md +0 -53
  3065. package/node_modules/webidl-conversions/lib/index.js +0 -189
  3066. package/node_modules/webidl-conversions/package.json +0 -62
  3067. package/node_modules/whatwg-url/LICENSE.txt +0 -21
  3068. package/node_modules/whatwg-url/README.md +0 -67
  3069. package/node_modules/whatwg-url/lib/URL-impl.js +0 -200
  3070. package/node_modules/whatwg-url/lib/URL.js +0 -196
  3071. package/node_modules/whatwg-url/lib/public-api.js +0 -11
  3072. package/node_modules/whatwg-url/lib/url-state-machine.js +0 -1297
  3073. package/node_modules/whatwg-url/lib/utils.js +0 -20
  3074. package/node_modules/whatwg-url/package.json +0 -70
  3075. package/node_modules/wide-align/LICENSE +0 -14
  3076. package/node_modules/wide-align/README.md +0 -47
  3077. package/node_modules/wide-align/align.js +0 -65
  3078. package/node_modules/wide-align/package.json +0 -69
  3079. package/node_modules/wolfy87-eventemitter/CHANGES.md +0 -47
  3080. package/node_modules/wolfy87-eventemitter/EventEmitter.d.ts +0 -507
  3081. package/node_modules/wolfy87-eventemitter/EventEmitter.js +0 -486
  3082. package/node_modules/wolfy87-eventemitter/EventEmitter.min.js +0 -7
  3083. package/node_modules/wolfy87-eventemitter/README.md +0 -80
  3084. package/node_modules/wolfy87-eventemitter/UNLICENSE +0 -24
  3085. package/node_modules/wolfy87-eventemitter/bower.json +0 -22
  3086. package/node_modules/wolfy87-eventemitter/component.json +0 -10
  3087. package/node_modules/wolfy87-eventemitter/docs/api.dust +0 -17
  3088. package/node_modules/wolfy87-eventemitter/docs/api.md +0 -157
  3089. package/node_modules/wolfy87-eventemitter/docs/guide.md +0 -301
  3090. package/node_modules/wolfy87-eventemitter/docs/render.js +0 -48
  3091. package/node_modules/wolfy87-eventemitter/package.json +0 -67
  3092. package/node_modules/wolfy87-eventemitter/tests/index.html +0 -16
  3093. package/node_modules/wolfy87-eventemitter/tests/tests.js +0 -845
  3094. package/node_modules/wolfy87-eventemitter/tools/dist.sh +0 -6
  3095. package/node_modules/wolfy87-eventemitter/tools/doc.sh +0 -4
  3096. package/node_modules/wolfy87-eventemitter/tools/server-python2.sh +0 -2
  3097. package/node_modules/wolfy87-eventemitter/tools/server.sh +0 -2
@@ -1,3097 +0,0 @@
1
- // Copyright (c) 2010 LearnBoost <tj@learnboost.com>
2
-
3
- #include "CanvasRenderingContext2d.h"
4
-
5
- #include <algorithm>
6
- #include "backend/ImageBackend.h"
7
- #include <cairo-pdf.h>
8
- #include "Canvas.h"
9
- #include "CanvasGradient.h"
10
- #include "CanvasPattern.h"
11
- #include <cmath>
12
- #include <cstdlib>
13
- #include "Image.h"
14
- #include "ImageData.h"
15
- #include <limits>
16
- #include <map>
17
- #include "Point.h"
18
- #include <string>
19
- #include "Util.h"
20
- #include <vector>
21
-
22
- using namespace v8;
23
-
24
- Nan::Persistent<FunctionTemplate> Context2d::constructor;
25
-
26
- /*
27
- * Rectangle arg assertions.
28
- */
29
-
30
- #define RECT_ARGS \
31
- double args[4]; \
32
- if(!checkArgs(info, args, 4)) \
33
- return; \
34
- double x = args[0]; \
35
- double y = args[1]; \
36
- double width = args[2]; \
37
- double height = args[3];
38
-
39
- /*
40
- * Text baselines.
41
- */
42
-
43
- enum {
44
- TEXT_BASELINE_ALPHABETIC
45
- , TEXT_BASELINE_TOP
46
- , TEXT_BASELINE_BOTTOM
47
- , TEXT_BASELINE_MIDDLE
48
- , TEXT_BASELINE_IDEOGRAPHIC
49
- , TEXT_BASELINE_HANGING
50
- };
51
-
52
- /*
53
- * Simple helper macro for a rather verbose function call.
54
- */
55
-
56
- #define PANGO_LAYOUT_GET_METRICS(LAYOUT) pango_context_get_metrics( \
57
- pango_layout_get_context(LAYOUT), \
58
- pango_layout_get_font_description(LAYOUT), \
59
- pango_context_get_language(pango_layout_get_context(LAYOUT)))
60
-
61
- inline static bool checkArgs(const Nan::FunctionCallbackInfo<Value> &info, double *args, int argsNum, int offset = 0){
62
- int argsEnd = offset + argsNum;
63
- bool areArgsValid = true;
64
-
65
- for (int i = offset; i < argsEnd; i++) {
66
- double val = Nan::To<double>(info[i]).FromMaybe(0);
67
-
68
- if (areArgsValid) {
69
- if (!std::isfinite(val)) {
70
- // We should continue the loop instead of returning immediately
71
- // See https://html.spec.whatwg.org/multipage/canvas.html
72
-
73
- areArgsValid = false;
74
- continue;
75
- }
76
-
77
- args[i - offset] = val;
78
- }
79
- }
80
-
81
- return areArgsValid;
82
- }
83
-
84
- Nan::Persistent<Function> Context2d::_DOMMatrix;
85
- Nan::Persistent<Function> Context2d::_parseFont;
86
-
87
- /*
88
- * Initialize Context2d.
89
- */
90
-
91
- void
92
- Context2d::Initialize(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target) {
93
- Nan::HandleScope scope;
94
-
95
- // Constructor
96
- Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(Context2d::New);
97
- constructor.Reset(ctor);
98
- ctor->InstanceTemplate()->SetInternalFieldCount(1);
99
- ctor->SetClassName(Nan::New("CanvasRenderingContext2D").ToLocalChecked());
100
-
101
- // Prototype
102
- Local<ObjectTemplate> proto = ctor->PrototypeTemplate();
103
- Nan::SetPrototypeMethod(ctor, "drawImage", DrawImage);
104
- Nan::SetPrototypeMethod(ctor, "putImageData", PutImageData);
105
- Nan::SetPrototypeMethod(ctor, "getImageData", GetImageData);
106
- Nan::SetPrototypeMethod(ctor, "createImageData", CreateImageData);
107
- Nan::SetPrototypeMethod(ctor, "addPage", AddPage);
108
- Nan::SetPrototypeMethod(ctor, "save", Save);
109
- Nan::SetPrototypeMethod(ctor, "restore", Restore);
110
- Nan::SetPrototypeMethod(ctor, "rotate", Rotate);
111
- Nan::SetPrototypeMethod(ctor, "translate", Translate);
112
- Nan::SetPrototypeMethod(ctor, "transform", Transform);
113
- Nan::SetPrototypeMethod(ctor, "getTransform", GetTransform);
114
- Nan::SetPrototypeMethod(ctor, "resetTransform", ResetTransform);
115
- Nan::SetPrototypeMethod(ctor, "setTransform", SetTransform);
116
- Nan::SetPrototypeMethod(ctor, "isPointInPath", IsPointInPath);
117
- Nan::SetPrototypeMethod(ctor, "scale", Scale);
118
- Nan::SetPrototypeMethod(ctor, "clip", Clip);
119
- Nan::SetPrototypeMethod(ctor, "fill", Fill);
120
- Nan::SetPrototypeMethod(ctor, "stroke", Stroke);
121
- Nan::SetPrototypeMethod(ctor, "fillText", FillText);
122
- Nan::SetPrototypeMethod(ctor, "strokeText", StrokeText);
123
- Nan::SetPrototypeMethod(ctor, "fillRect", FillRect);
124
- Nan::SetPrototypeMethod(ctor, "strokeRect", StrokeRect);
125
- Nan::SetPrototypeMethod(ctor, "clearRect", ClearRect);
126
- Nan::SetPrototypeMethod(ctor, "rect", Rect);
127
- Nan::SetPrototypeMethod(ctor, "measureText", MeasureText);
128
- Nan::SetPrototypeMethod(ctor, "moveTo", MoveTo);
129
- Nan::SetPrototypeMethod(ctor, "lineTo", LineTo);
130
- Nan::SetPrototypeMethod(ctor, "bezierCurveTo", BezierCurveTo);
131
- Nan::SetPrototypeMethod(ctor, "quadraticCurveTo", QuadraticCurveTo);
132
- Nan::SetPrototypeMethod(ctor, "beginPath", BeginPath);
133
- Nan::SetPrototypeMethod(ctor, "closePath", ClosePath);
134
- Nan::SetPrototypeMethod(ctor, "arc", Arc);
135
- Nan::SetPrototypeMethod(ctor, "arcTo", ArcTo);
136
- Nan::SetPrototypeMethod(ctor, "ellipse", Ellipse);
137
- Nan::SetPrototypeMethod(ctor, "setLineDash", SetLineDash);
138
- Nan::SetPrototypeMethod(ctor, "getLineDash", GetLineDash);
139
- Nan::SetPrototypeMethod(ctor, "createPattern", CreatePattern);
140
- Nan::SetPrototypeMethod(ctor, "createLinearGradient", CreateLinearGradient);
141
- Nan::SetPrototypeMethod(ctor, "createRadialGradient", CreateRadialGradient);
142
- SetProtoAccessor(proto, Nan::New("pixelFormat").ToLocalChecked(), GetFormat, NULL, ctor);
143
- SetProtoAccessor(proto, Nan::New("patternQuality").ToLocalChecked(), GetPatternQuality, SetPatternQuality, ctor);
144
- SetProtoAccessor(proto, Nan::New("imageSmoothingEnabled").ToLocalChecked(), GetImageSmoothingEnabled, SetImageSmoothingEnabled, ctor);
145
- SetProtoAccessor(proto, Nan::New("globalCompositeOperation").ToLocalChecked(), GetGlobalCompositeOperation, SetGlobalCompositeOperation, ctor);
146
- SetProtoAccessor(proto, Nan::New("globalAlpha").ToLocalChecked(), GetGlobalAlpha, SetGlobalAlpha, ctor);
147
- SetProtoAccessor(proto, Nan::New("shadowColor").ToLocalChecked(), GetShadowColor, SetShadowColor, ctor);
148
- SetProtoAccessor(proto, Nan::New("miterLimit").ToLocalChecked(), GetMiterLimit, SetMiterLimit, ctor);
149
- SetProtoAccessor(proto, Nan::New("lineWidth").ToLocalChecked(), GetLineWidth, SetLineWidth, ctor);
150
- SetProtoAccessor(proto, Nan::New("lineCap").ToLocalChecked(), GetLineCap, SetLineCap, ctor);
151
- SetProtoAccessor(proto, Nan::New("lineJoin").ToLocalChecked(), GetLineJoin, SetLineJoin, ctor);
152
- SetProtoAccessor(proto, Nan::New("lineDashOffset").ToLocalChecked(), GetLineDashOffset, SetLineDashOffset, ctor);
153
- SetProtoAccessor(proto, Nan::New("shadowOffsetX").ToLocalChecked(), GetShadowOffsetX, SetShadowOffsetX, ctor);
154
- SetProtoAccessor(proto, Nan::New("shadowOffsetY").ToLocalChecked(), GetShadowOffsetY, SetShadowOffsetY, ctor);
155
- SetProtoAccessor(proto, Nan::New("shadowBlur").ToLocalChecked(), GetShadowBlur, SetShadowBlur, ctor);
156
- SetProtoAccessor(proto, Nan::New("antialias").ToLocalChecked(), GetAntiAlias, SetAntiAlias, ctor);
157
- SetProtoAccessor(proto, Nan::New("textDrawingMode").ToLocalChecked(), GetTextDrawingMode, SetTextDrawingMode, ctor);
158
- SetProtoAccessor(proto, Nan::New("quality").ToLocalChecked(), GetQuality, SetQuality, ctor);
159
- SetProtoAccessor(proto, Nan::New("currentTransform").ToLocalChecked(), GetCurrentTransform, SetCurrentTransform, ctor);
160
- SetProtoAccessor(proto, Nan::New("fillStyle").ToLocalChecked(), GetFillStyle, SetFillStyle, ctor);
161
- SetProtoAccessor(proto, Nan::New("strokeStyle").ToLocalChecked(), GetStrokeStyle, SetStrokeStyle, ctor);
162
- SetProtoAccessor(proto, Nan::New("font").ToLocalChecked(), GetFont, SetFont, ctor);
163
- SetProtoAccessor(proto, Nan::New("textBaseline").ToLocalChecked(), GetTextBaseline, SetTextBaseline, ctor);
164
- SetProtoAccessor(proto, Nan::New("textAlign").ToLocalChecked(), GetTextAlign, SetTextAlign, ctor);
165
- Local<Context> ctx = Nan::GetCurrentContext();
166
- Nan::Set(target, Nan::New("CanvasRenderingContext2d").ToLocalChecked(), ctor->GetFunction(ctx).ToLocalChecked());
167
- Nan::Set(target, Nan::New("CanvasRenderingContext2dInit").ToLocalChecked(), Nan::New<Function>(SaveExternalModules));
168
- }
169
-
170
- /*
171
- * Create a cairo context.
172
- */
173
-
174
- Context2d::Context2d(Canvas *canvas) {
175
- _canvas = canvas;
176
- _context = canvas->createCairoContext();
177
- _layout = pango_cairo_create_layout(_context);
178
- state = states[stateno = 0] = (canvas_state_t *) malloc(sizeof(canvas_state_t));
179
-
180
- resetState(true);
181
- }
182
-
183
- /*
184
- * Destroy cairo context.
185
- */
186
-
187
- Context2d::~Context2d() {
188
- while(stateno >= 0) {
189
- pango_font_description_free(states[stateno]->fontDescription);
190
- free(states[stateno--]);
191
- }
192
- g_object_unref(_layout);
193
- cairo_destroy(_context);
194
- _resetPersistentHandles();
195
- }
196
-
197
- /*
198
- * Reset canvas state.
199
- */
200
-
201
- void Context2d::resetState(bool init) {
202
- if (!init) {
203
- pango_font_description_free(state->fontDescription);
204
- }
205
-
206
- state->shadowBlur = 0;
207
- state->shadowOffsetX = state->shadowOffsetY = 0;
208
- state->globalAlpha = 1;
209
- state->textAlignment = -1;
210
- state->fillPattern = nullptr;
211
- state->strokePattern = nullptr;
212
- state->fillGradient = nullptr;
213
- state->strokeGradient = nullptr;
214
- state->textBaseline = TEXT_BASELINE_ALPHABETIC;
215
- rgba_t transparent = { 0, 0, 0, 1 };
216
- rgba_t transparent_black = { 0, 0, 0, 0 };
217
- state->fill = transparent;
218
- state->stroke = transparent;
219
- state->shadow = transparent_black;
220
- state->patternQuality = CAIRO_FILTER_GOOD;
221
- state->imageSmoothingEnabled = true;
222
- state->textDrawingMode = TEXT_DRAW_PATHS;
223
- state->fontDescription = pango_font_description_from_string("sans");
224
- pango_font_description_set_absolute_size(state->fontDescription, 10 * PANGO_SCALE);
225
- pango_layout_set_font_description(_layout, state->fontDescription);
226
-
227
- _resetPersistentHandles();
228
- }
229
-
230
- void Context2d::_resetPersistentHandles() {
231
- _fillStyle.Reset();
232
- _strokeStyle.Reset();
233
- _font.Reset();
234
- _textBaseline.Reset();
235
- _textAlign.Reset();
236
- }
237
-
238
- /*
239
- * Save cairo / canvas state.
240
- */
241
-
242
- void
243
- Context2d::save() {
244
- if (stateno < CANVAS_MAX_STATES) {
245
- cairo_save(_context);
246
- states[++stateno] = (canvas_state_t *) malloc(sizeof(canvas_state_t));
247
- memcpy(states[stateno], state, sizeof(canvas_state_t));
248
- states[stateno]->fontDescription = pango_font_description_copy(states[stateno-1]->fontDescription);
249
- state = states[stateno];
250
- }
251
- }
252
-
253
- /*
254
- * Restore cairo / canvas state.
255
- */
256
-
257
- void
258
- Context2d::restore() {
259
- if (stateno > 0) {
260
- cairo_restore(_context);
261
- pango_font_description_free(states[stateno]->fontDescription);
262
- free(states[stateno]);
263
- states[stateno] = NULL;
264
- state = states[--stateno];
265
- pango_layout_set_font_description(_layout, state->fontDescription);
266
- }
267
- }
268
-
269
- /*
270
- * Save flat path.
271
- */
272
-
273
- void
274
- Context2d::savePath() {
275
- _path = cairo_copy_path_flat(_context);
276
- cairo_new_path(_context);
277
- }
278
-
279
- /*
280
- * Restore flat path.
281
- */
282
-
283
- void
284
- Context2d::restorePath() {
285
- cairo_new_path(_context);
286
- cairo_append_path(_context, _path);
287
- cairo_path_destroy(_path);
288
- }
289
-
290
- /*
291
- * Create temporary surface for gradient or pattern transparency
292
- */
293
- cairo_pattern_t*
294
- create_transparent_gradient(cairo_pattern_t *source, float alpha) {
295
- double x0;
296
- double y0;
297
- double x1;
298
- double y1;
299
- double r0;
300
- double r1;
301
- int count;
302
- int i;
303
- double offset;
304
- double r;
305
- double g;
306
- double b;
307
- double a;
308
- cairo_pattern_t *newGradient;
309
- cairo_pattern_type_t type = cairo_pattern_get_type(source);
310
- cairo_pattern_get_color_stop_count(source, &count);
311
- if (type == CAIRO_PATTERN_TYPE_LINEAR) {
312
- cairo_pattern_get_linear_points (source, &x0, &y0, &x1, &y1);
313
- newGradient = cairo_pattern_create_linear(x0, y0, x1, y1);
314
- } else if (type == CAIRO_PATTERN_TYPE_RADIAL) {
315
- cairo_pattern_get_radial_circles(source, &x0, &y0, &r0, &x1, &y1, &r1);
316
- newGradient = cairo_pattern_create_radial(x0, y0, r0, x1, y1, r1);
317
- } else {
318
- Nan::ThrowError("Unexpected gradient type");
319
- return NULL;
320
- }
321
- for ( i = 0; i < count; i++ ) {
322
- cairo_pattern_get_color_stop_rgba(source, i, &offset, &r, &g, &b, &a);
323
- cairo_pattern_add_color_stop_rgba(newGradient, offset, r, g, b, a * alpha);
324
- }
325
- return newGradient;
326
- }
327
-
328
- cairo_pattern_t*
329
- create_transparent_pattern(cairo_pattern_t *source, float alpha) {
330
- cairo_surface_t *surface;
331
- cairo_pattern_get_surface(source, &surface);
332
- int width = cairo_image_surface_get_width(surface);
333
- int height = cairo_image_surface_get_height(surface);
334
- cairo_surface_t *mask_surface = cairo_image_surface_create(
335
- CAIRO_FORMAT_ARGB32,
336
- width,
337
- height);
338
- cairo_t *mask_context = cairo_create(mask_surface);
339
- if (cairo_status(mask_context) != CAIRO_STATUS_SUCCESS) {
340
- Nan::ThrowError("Failed to initialize context");
341
- return NULL;
342
- }
343
- cairo_set_source(mask_context, source);
344
- cairo_paint_with_alpha(mask_context, alpha);
345
- cairo_destroy(mask_context);
346
- cairo_pattern_t* newPattern = cairo_pattern_create_for_surface(mask_surface);
347
- cairo_surface_destroy(mask_surface);
348
- return newPattern;
349
- }
350
-
351
- /*
352
- * Fill and apply shadow.
353
- */
354
-
355
- void
356
- Context2d::setFillRule(v8::Local<v8::Value> value) {
357
- cairo_fill_rule_t rule = CAIRO_FILL_RULE_WINDING;
358
- if (value->IsString()) {
359
- Nan::Utf8String str(value);
360
- if (std::strcmp(*str, "evenodd") == 0) {
361
- rule = CAIRO_FILL_RULE_EVEN_ODD;
362
- }
363
- }
364
- cairo_set_fill_rule(_context, rule);
365
- }
366
-
367
- void
368
- Context2d::fill(bool preserve) {
369
- cairo_pattern_t *new_pattern;
370
- if (state->fillPattern) {
371
- if (state->globalAlpha < 1) {
372
- new_pattern = create_transparent_pattern(state->fillPattern, state->globalAlpha);
373
- if (new_pattern == NULL) {
374
- // failed to allocate; Nan::ThrowError has already been called, so return from this fn.
375
- return;
376
- }
377
- cairo_set_source(_context, new_pattern);
378
- cairo_pattern_destroy(new_pattern);
379
- } else {
380
- cairo_pattern_set_filter(state->fillPattern, state->patternQuality);
381
- cairo_set_source(_context, state->fillPattern);
382
- }
383
- repeat_type_t repeat = Pattern::get_repeat_type_for_cairo_pattern(state->fillPattern);
384
- if (NO_REPEAT == repeat) {
385
- cairo_pattern_set_extend(cairo_get_source(_context), CAIRO_EXTEND_NONE);
386
- } else {
387
- cairo_pattern_set_extend(cairo_get_source(_context), CAIRO_EXTEND_REPEAT);
388
- }
389
- } else if (state->fillGradient) {
390
- if (state->globalAlpha < 1) {
391
- new_pattern = create_transparent_gradient(state->fillGradient, state->globalAlpha);
392
- if (new_pattern == NULL) {
393
- // failed to recognize gradient; Nan::ThrowError has already been called, so return from this fn.
394
- return;
395
- }
396
- cairo_pattern_set_filter(new_pattern, state->patternQuality);
397
- cairo_set_source(_context, new_pattern);
398
- cairo_pattern_destroy(new_pattern);
399
- } else {
400
- cairo_pattern_set_filter(state->fillGradient, state->patternQuality);
401
- cairo_set_source(_context, state->fillGradient);
402
- }
403
- } else {
404
- setSourceRGBA(state->fill);
405
- }
406
- if (preserve) {
407
- hasShadow()
408
- ? shadow(cairo_fill_preserve)
409
- : cairo_fill_preserve(_context);
410
- } else {
411
- hasShadow()
412
- ? shadow(cairo_fill)
413
- : cairo_fill(_context);
414
- }
415
- }
416
-
417
- /*
418
- * Stroke and apply shadow.
419
- */
420
-
421
- void
422
- Context2d::stroke(bool preserve) {
423
- cairo_pattern_t *new_pattern;
424
- if (state->strokePattern) {
425
- if (state->globalAlpha < 1) {
426
- new_pattern = create_transparent_pattern(state->strokePattern, state->globalAlpha);
427
- if (new_pattern == NULL) {
428
- // failed to allocate; Nan::ThrowError has already been called, so return from this fn.
429
- return;
430
- }
431
- cairo_set_source(_context, new_pattern);
432
- cairo_pattern_destroy(new_pattern);
433
- } else {
434
- cairo_pattern_set_filter(state->strokePattern, state->patternQuality);
435
- cairo_set_source(_context, state->strokePattern);
436
- }
437
- repeat_type_t repeat = Pattern::get_repeat_type_for_cairo_pattern(state->strokePattern);
438
- if (NO_REPEAT == repeat) {
439
- cairo_pattern_set_extend(cairo_get_source(_context), CAIRO_EXTEND_NONE);
440
- } else {
441
- cairo_pattern_set_extend(cairo_get_source(_context), CAIRO_EXTEND_REPEAT);
442
- }
443
- } else if (state->strokeGradient) {
444
- if (state->globalAlpha < 1) {
445
- new_pattern = create_transparent_gradient(state->strokeGradient, state->globalAlpha);
446
- if (new_pattern == NULL) {
447
- // failed to recognize gradient; Nan::ThrowError has already been called, so return from this fn.
448
- return;
449
- }
450
- cairo_pattern_set_filter(new_pattern, state->patternQuality);
451
- cairo_set_source(_context, new_pattern);
452
- cairo_pattern_destroy(new_pattern);
453
- } else {
454
- cairo_pattern_set_filter(state->strokeGradient, state->patternQuality);
455
- cairo_set_source(_context, state->strokeGradient);
456
- }
457
- } else {
458
- setSourceRGBA(state->stroke);
459
- }
460
-
461
- if (preserve) {
462
- hasShadow()
463
- ? shadow(cairo_stroke_preserve)
464
- : cairo_stroke_preserve(_context);
465
- } else {
466
- hasShadow()
467
- ? shadow(cairo_stroke)
468
- : cairo_stroke(_context);
469
- }
470
- }
471
-
472
- /*
473
- * Apply shadow with the given draw fn.
474
- */
475
-
476
- void
477
- Context2d::shadow(void (fn)(cairo_t *cr)) {
478
- cairo_path_t *path = cairo_copy_path_flat(_context);
479
- cairo_save(_context);
480
-
481
- // shadowOffset is unaffected by current transform
482
- cairo_matrix_t path_matrix;
483
- cairo_get_matrix(_context, &path_matrix);
484
- cairo_identity_matrix(_context);
485
-
486
- // Apply shadow
487
- cairo_push_group(_context);
488
-
489
- // No need to invoke blur if shadowBlur is 0
490
- if (state->shadowBlur) {
491
- // find out extent of path
492
- double x1, y1, x2, y2;
493
- if (fn == cairo_fill || fn == cairo_fill_preserve) {
494
- cairo_fill_extents(_context, &x1, &y1, &x2, &y2);
495
- } else {
496
- cairo_stroke_extents(_context, &x1, &y1, &x2, &y2);
497
- }
498
-
499
- // create new image surface that size + padding for blurring
500
- double dx = x2-x1, dy = y2-y1;
501
- cairo_user_to_device_distance(_context, &dx, &dy);
502
- int pad = state->shadowBlur * 2;
503
- cairo_surface_t *shadow_surface = cairo_image_surface_create(
504
- CAIRO_FORMAT_ARGB32,
505
- dx + 2 * pad,
506
- dy + 2 * pad);
507
- cairo_t *shadow_context = cairo_create(shadow_surface);
508
-
509
- // transform path to the right place
510
- cairo_translate(shadow_context, pad-x1, pad-y1);
511
- cairo_transform(shadow_context, &path_matrix);
512
-
513
- // set lineCap lineJoin lineDash
514
- cairo_set_line_cap(shadow_context, cairo_get_line_cap(_context));
515
- cairo_set_line_join(shadow_context, cairo_get_line_join(_context));
516
-
517
- double offset;
518
- int dashes = cairo_get_dash_count(_context);
519
- std::vector<double> a(dashes);
520
- cairo_get_dash(_context, a.data(), &offset);
521
- cairo_set_dash(shadow_context, a.data(), dashes, offset);
522
-
523
- // draw the path and blur
524
- cairo_set_line_width(shadow_context, cairo_get_line_width(_context));
525
- cairo_new_path(shadow_context);
526
- cairo_append_path(shadow_context, path);
527
- setSourceRGBA(shadow_context, state->shadow);
528
- fn(shadow_context);
529
- blur(shadow_surface, state->shadowBlur);
530
-
531
- // paint to original context
532
- cairo_set_source_surface(_context, shadow_surface,
533
- x1 - pad + state->shadowOffsetX + 1,
534
- y1 - pad + state->shadowOffsetY + 1);
535
- cairo_paint(_context);
536
- cairo_destroy(shadow_context);
537
- cairo_surface_destroy(shadow_surface);
538
- } else {
539
- // Offset first, then apply path's transform
540
- cairo_translate(
541
- _context
542
- , state->shadowOffsetX
543
- , state->shadowOffsetY);
544
- cairo_transform(_context, &path_matrix);
545
-
546
- // Apply shadow
547
- cairo_new_path(_context);
548
- cairo_append_path(_context, path);
549
- setSourceRGBA(state->shadow);
550
-
551
- fn(_context);
552
- }
553
-
554
- // Paint the shadow
555
- cairo_pop_group_to_source(_context);
556
- cairo_paint(_context);
557
-
558
- // Restore state
559
- cairo_restore(_context);
560
- cairo_new_path(_context);
561
- cairo_append_path(_context, path);
562
- fn(_context);
563
-
564
- cairo_path_destroy(path);
565
- }
566
-
567
- /*
568
- * Set source RGBA for the current context
569
- */
570
-
571
- void
572
- Context2d::setSourceRGBA(rgba_t color) {
573
- setSourceRGBA(_context, color);
574
- }
575
-
576
- /*
577
- * Set source RGBA
578
- */
579
-
580
- void
581
- Context2d::setSourceRGBA(cairo_t *ctx, rgba_t color) {
582
- cairo_set_source_rgba(
583
- ctx
584
- , color.r
585
- , color.g
586
- , color.b
587
- , color.a * state->globalAlpha);
588
- }
589
-
590
- /*
591
- * Check if the context has a drawable shadow.
592
- */
593
-
594
- bool
595
- Context2d::hasShadow() {
596
- return state->shadow.a
597
- && (state->shadowBlur || state->shadowOffsetX || state->shadowOffsetY);
598
- }
599
-
600
- /*
601
- * Blur the given surface with the given radius.
602
- */
603
-
604
- void
605
- Context2d::blur(cairo_surface_t *surface, int radius) {
606
- // Steve Hanov, 2009
607
- // Released into the public domain.
608
- radius = radius * 0.57735f + 0.5f;
609
- // get width, height
610
- int width = cairo_image_surface_get_width( surface );
611
- int height = cairo_image_surface_get_height( surface );
612
- unsigned* precalc =
613
- (unsigned*)malloc(width*height*sizeof(unsigned));
614
- cairo_surface_flush( surface );
615
- unsigned char* src = cairo_image_surface_get_data( surface );
616
- double mul=1.f/((radius*2)*(radius*2));
617
- int channel;
618
-
619
- // The number of times to perform the averaging. According to wikipedia,
620
- // three iterations is good enough to pass for a gaussian.
621
- const int MAX_ITERATIONS = 3;
622
- int iteration;
623
-
624
- for ( iteration = 0; iteration < MAX_ITERATIONS; iteration++ ) {
625
- for( channel = 0; channel < 4; channel++ ) {
626
- int x,y;
627
-
628
- // precomputation step.
629
- unsigned char* pix = src;
630
- unsigned* pre = precalc;
631
-
632
- pix += channel;
633
- for (y=0;y<height;y++) {
634
- for (x=0;x<width;x++) {
635
- int tot=pix[0];
636
- if (x>0) tot+=pre[-1];
637
- if (y>0) tot+=pre[-width];
638
- if (x>0 && y>0) tot-=pre[-width-1];
639
- *pre++=tot;
640
- pix += 4;
641
- }
642
- }
643
-
644
- // blur step.
645
- pix = src + (int)radius * width * 4 + (int)radius * 4 + channel;
646
- for (y=radius;y<height-radius;y++) {
647
- for (x=radius;x<width-radius;x++) {
648
- int l = x < radius ? 0 : x - radius;
649
- int t = y < radius ? 0 : y - radius;
650
- int r = x + radius >= width ? width - 1 : x + radius;
651
- int b = y + radius >= height ? height - 1 : y + radius;
652
- int tot = precalc[r+b*width] + precalc[l+t*width] -
653
- precalc[l+b*width] - precalc[r+t*width];
654
- *pix=(unsigned char)(tot*mul);
655
- pix += 4;
656
- }
657
- pix += (int)radius * 2 * 4;
658
- }
659
- }
660
- }
661
-
662
- cairo_surface_mark_dirty(surface);
663
- free(precalc);
664
- }
665
-
666
- /*
667
- * Initialize a new Context2d with the given canvas.
668
- */
669
-
670
- NAN_METHOD(Context2d::New) {
671
- if (!info.IsConstructCall()) {
672
- return Nan::ThrowTypeError("Class constructors cannot be invoked without 'new'");
673
- }
674
-
675
- if (!info[0]->IsObject())
676
- return Nan::ThrowTypeError("Canvas expected");
677
- Local<Object> obj = Nan::To<Object>(info[0]).ToLocalChecked();
678
- if (!Nan::New(Canvas::constructor)->HasInstance(obj))
679
- return Nan::ThrowTypeError("Canvas expected");
680
- Canvas *canvas = Nan::ObjectWrap::Unwrap<Canvas>(obj);
681
-
682
- bool isImageBackend = canvas->backend()->getName() == "image";
683
- if (isImageBackend) {
684
- cairo_format_t format = ImageBackend::DEFAULT_FORMAT;
685
- if (info[1]->IsObject()) {
686
- Local<Object> ctxAttributes = Nan::To<Object>(info[1]).ToLocalChecked();
687
-
688
- Local<Value> pixelFormat = Nan::Get(ctxAttributes, Nan::New("pixelFormat").ToLocalChecked()).ToLocalChecked();
689
- if (pixelFormat->IsString()) {
690
- Nan::Utf8String utf8PixelFormat(pixelFormat);
691
- if (!strcmp(*utf8PixelFormat, "RGBA32")) format = CAIRO_FORMAT_ARGB32;
692
- else if (!strcmp(*utf8PixelFormat, "RGB24")) format = CAIRO_FORMAT_RGB24;
693
- else if (!strcmp(*utf8PixelFormat, "A8")) format = CAIRO_FORMAT_A8;
694
- else if (!strcmp(*utf8PixelFormat, "RGB16_565")) format = CAIRO_FORMAT_RGB16_565;
695
- else if (!strcmp(*utf8PixelFormat, "A1")) format = CAIRO_FORMAT_A1;
696
- #ifdef CAIRO_FORMAT_RGB30
697
- else if (!strcmp(utf8PixelFormat, "RGB30")) format = CAIRO_FORMAT_RGB30;
698
- #endif
699
- }
700
-
701
- // alpha: false forces use of RGB24
702
- Local<Value> alpha = Nan::Get(ctxAttributes, Nan::New("alpha").ToLocalChecked()).ToLocalChecked();
703
- if (alpha->IsBoolean() && !Nan::To<bool>(alpha).FromMaybe(false)) {
704
- format = CAIRO_FORMAT_RGB24;
705
- }
706
- }
707
- static_cast<ImageBackend*>(canvas->backend())->setFormat(format);
708
- }
709
-
710
- Context2d *context = new Context2d(canvas);
711
-
712
- context->Wrap(info.This());
713
- info.GetReturnValue().Set(info.This());
714
- }
715
-
716
- /*
717
- * Save some external modules as private references.
718
- */
719
-
720
- NAN_METHOD(Context2d::SaveExternalModules) {
721
- _DOMMatrix.Reset(Nan::To<Function>(info[0]).ToLocalChecked());
722
- _parseFont.Reset(Nan::To<Function>(info[1]).ToLocalChecked());
723
- }
724
-
725
- /*
726
- * Get format (string).
727
- */
728
-
729
- NAN_GETTER(Context2d::GetFormat) {
730
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
731
- std::string pixelFormatString;
732
- switch (context->canvas()->backend()->getFormat()) {
733
- case CAIRO_FORMAT_ARGB32: pixelFormatString = "RGBA32"; break;
734
- case CAIRO_FORMAT_RGB24: pixelFormatString = "RGB24"; break;
735
- case CAIRO_FORMAT_A8: pixelFormatString = "A8"; break;
736
- case CAIRO_FORMAT_A1: pixelFormatString = "A1"; break;
737
- case CAIRO_FORMAT_RGB16_565: pixelFormatString = "RGB16_565"; break;
738
- #ifdef CAIRO_FORMAT_RGB30
739
- case CAIRO_FORMAT_RGB30: pixelFormatString = "RGB30"; break;
740
- #endif
741
- default: return info.GetReturnValue().SetNull();
742
- }
743
- info.GetReturnValue().Set(Nan::New<String>(pixelFormatString).ToLocalChecked());
744
- }
745
-
746
- /*
747
- * Create a new page.
748
- */
749
-
750
- NAN_METHOD(Context2d::AddPage) {
751
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
752
- if (context->canvas()->backend()->getName() != "pdf") {
753
- return Nan::ThrowError("only PDF canvases support .addPage()");
754
- }
755
- cairo_show_page(context->context());
756
- int width = Nan::To<int32_t>(info[0]).FromMaybe(0);
757
- int height = Nan::To<int32_t>(info[1]).FromMaybe(0);
758
- if (width < 1) width = context->canvas()->getWidth();
759
- if (height < 1) height = context->canvas()->getHeight();
760
- cairo_pdf_surface_set_size(context->canvas()->surface(), width, height);
761
- return;
762
- }
763
-
764
- /*
765
- * Put image data.
766
- *
767
- * - imageData, dx, dy
768
- * - imageData, dx, dy, sx, sy, sw, sh
769
- *
770
- */
771
-
772
- NAN_METHOD(Context2d::PutImageData) {
773
- if (!info[0]->IsObject())
774
- return Nan::ThrowTypeError("ImageData expected");
775
- Local<Object> obj = Nan::To<Object>(info[0]).ToLocalChecked();
776
- if (!Nan::New(ImageData::constructor)->HasInstance(obj))
777
- return Nan::ThrowTypeError("ImageData expected");
778
-
779
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
780
- ImageData *imageData = Nan::ObjectWrap::Unwrap<ImageData>(obj);
781
-
782
- uint8_t *src = imageData->data();
783
- uint8_t *dst = context->canvas()->data();
784
-
785
- int dstStride = context->canvas()->stride();
786
- int Bpp = dstStride / context->canvas()->getWidth();
787
- int srcStride = Bpp * imageData->width();
788
-
789
- int sx = 0
790
- , sy = 0
791
- , sw = 0
792
- , sh = 0
793
- , dx = Nan::To<int32_t>(info[1]).FromMaybe(0)
794
- , dy = Nan::To<int32_t>(info[2]).FromMaybe(0)
795
- , rows
796
- , cols;
797
-
798
- switch (info.Length()) {
799
- // imageData, dx, dy
800
- case 3:
801
- sw = imageData->width();
802
- sh = imageData->height();
803
- break;
804
- // imageData, dx, dy, sx, sy, sw, sh
805
- case 7:
806
- sx = Nan::To<int32_t>(info[3]).FromMaybe(0);
807
- sy = Nan::To<int32_t>(info[4]).FromMaybe(0);
808
- sw = Nan::To<int32_t>(info[5]).FromMaybe(0);
809
- sh = Nan::To<int32_t>(info[6]).FromMaybe(0);
810
- // fix up negative height, width
811
- if (sw < 0) sx += sw, sw = -sw;
812
- if (sh < 0) sy += sh, sh = -sh;
813
- // clamp the left edge
814
- if (sx < 0) sw += sx, sx = 0;
815
- if (sy < 0) sh += sy, sy = 0;
816
- // clamp the right edge
817
- if (sx + sw > imageData->width()) sw = imageData->width() - sx;
818
- if (sy + sh > imageData->height()) sh = imageData->height() - sy;
819
- // start destination at source offset
820
- dx += sx;
821
- dy += sy;
822
- break;
823
- default:
824
- return Nan::ThrowError("invalid arguments");
825
- }
826
-
827
- // chop off outlying source data
828
- if (dx < 0) sw += dx, sx -= dx, dx = 0;
829
- if (dy < 0) sh += dy, sy -= dy, dy = 0;
830
- // clamp width at canvas size
831
- // Need to wrap std::min calls using parens to prevent macro expansion on
832
- // windows. See http://stackoverflow.com/questions/5004858/stdmin-gives-error
833
- cols = (std::min)(sw, context->canvas()->getWidth() - dx);
834
- rows = (std::min)(sh, context->canvas()->getHeight() - dy);
835
-
836
- if (cols <= 0 || rows <= 0) return;
837
-
838
- switch (context->canvas()->backend()->getFormat()) {
839
- case CAIRO_FORMAT_ARGB32: {
840
- src += sy * srcStride + sx * 4;
841
- dst += dstStride * dy + 4 * dx;
842
- for (int y = 0; y < rows; ++y) {
843
- uint8_t *dstRow = dst;
844
- uint8_t *srcRow = src;
845
- for (int x = 0; x < cols; ++x) {
846
- // rgba
847
- uint8_t r = *srcRow++;
848
- uint8_t g = *srcRow++;
849
- uint8_t b = *srcRow++;
850
- uint8_t a = *srcRow++;
851
-
852
- // argb
853
- // performance optimization: fully transparent/opaque pixels can be
854
- // processed more efficiently.
855
- if (a == 0) {
856
- *dstRow++ = 0;
857
- *dstRow++ = 0;
858
- *dstRow++ = 0;
859
- *dstRow++ = 0;
860
- } else if (a == 255) {
861
- *dstRow++ = b;
862
- *dstRow++ = g;
863
- *dstRow++ = r;
864
- *dstRow++ = a;
865
- } else {
866
- float alpha = (float)a / 255;
867
- *dstRow++ = b * alpha;
868
- *dstRow++ = g * alpha;
869
- *dstRow++ = r * alpha;
870
- *dstRow++ = a;
871
- }
872
- }
873
- dst += dstStride;
874
- src += srcStride;
875
- }
876
- break;
877
- }
878
- case CAIRO_FORMAT_RGB24: {
879
- src += sy * srcStride + sx * 4;
880
- dst += dstStride * dy + 4 * dx;
881
- for (int y = 0; y < rows; ++y) {
882
- uint8_t *dstRow = dst;
883
- uint8_t *srcRow = src;
884
- for (int x = 0; x < cols; ++x) {
885
- // rgba
886
- uint8_t r = *srcRow++;
887
- uint8_t g = *srcRow++;
888
- uint8_t b = *srcRow++;
889
- srcRow++;
890
-
891
- // argb
892
- *dstRow++ = b;
893
- *dstRow++ = g;
894
- *dstRow++ = r;
895
- *dstRow++ = 255;
896
- }
897
- dst += dstStride;
898
- src += srcStride;
899
- }
900
- break;
901
- }
902
- case CAIRO_FORMAT_A8: {
903
- src += sy * srcStride + sx;
904
- dst += dstStride * dy + dx;
905
- if (srcStride == dstStride && cols == dstStride) {
906
- // fast path: strides are the same and doing a full-width put
907
- memcpy(dst, src, cols * rows);
908
- } else {
909
- for (int y = 0; y < rows; ++y) {
910
- memcpy(dst, src, cols);
911
- dst += dstStride;
912
- src += srcStride;
913
- }
914
- }
915
- break;
916
- }
917
- case CAIRO_FORMAT_A1: {
918
- // TODO Should this be totally packed, or maintain a stride divisible by 4?
919
- Nan::ThrowError("putImageData for CANVAS_FORMAT_A1 is not yet implemented");
920
- break;
921
- }
922
- case CAIRO_FORMAT_RGB16_565: {
923
- src += sy * srcStride + sx * 2;
924
- dst += dstStride * dy + 2 * dx;
925
- for (int y = 0; y < rows; ++y) {
926
- memcpy(dst, src, cols * 2);
927
- dst += dstStride;
928
- src += srcStride;
929
- }
930
- break;
931
- }
932
- #ifdef CAIRO_FORMAT_RGB30
933
- case CAIRO_FORMAT_RGB30: {
934
- // TODO
935
- Nan::ThrowError("putImageData for CANVAS_FORMAT_RGB30 is not yet implemented");
936
- break;
937
- }
938
- #endif
939
- default: {
940
- Nan::ThrowError("Invalid pixel format or not an image canvas");
941
- return;
942
- }
943
- }
944
-
945
- cairo_surface_mark_dirty_rectangle(
946
- context->canvas()->surface()
947
- , dx
948
- , dy
949
- , cols
950
- , rows);
951
- }
952
-
953
- /*
954
- * Get image data.
955
- *
956
- * - sx, sy, sw, sh
957
- *
958
- */
959
-
960
- NAN_METHOD(Context2d::GetImageData) {
961
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
962
- Canvas *canvas = context->canvas();
963
-
964
- int sx = Nan::To<int32_t>(info[0]).FromMaybe(0);
965
- int sy = Nan::To<int32_t>(info[1]).FromMaybe(0);
966
- int sw = Nan::To<int32_t>(info[2]).FromMaybe(0);
967
- int sh = Nan::To<int32_t>(info[3]).FromMaybe(0);
968
-
969
- if (!sw)
970
- return Nan::ThrowError("IndexSizeError: The source width is 0.");
971
- if (!sh)
972
- return Nan::ThrowError("IndexSizeError: The source height is 0.");
973
-
974
- int width = canvas->getWidth();
975
- int height = canvas->getHeight();
976
-
977
- if (!width)
978
- return Nan::ThrowTypeError("Canvas width is 0");
979
- if (!height)
980
- return Nan::ThrowTypeError("Canvas height is 0");
981
-
982
- // WebKit and Firefox have this behavior:
983
- // Flip the coordinates so the origin is top/left-most:
984
- if (sw < 0) {
985
- sx += sw;
986
- sw = -sw;
987
- }
988
- if (sh < 0) {
989
- sy += sh;
990
- sh = -sh;
991
- }
992
-
993
- if (sx + sw > width) sw = width - sx;
994
- if (sy + sh > height) sh = height - sy;
995
-
996
- // WebKit/moz functionality. node-canvas used to return in either case.
997
- if (sw <= 0) sw = 1;
998
- if (sh <= 0) sh = 1;
999
-
1000
- // Non-compliant. "Pixels outside the canvas must be returned as transparent
1001
- // black." This instead clips the returned array to the canvas area.
1002
- if (sx < 0) {
1003
- sw += sx;
1004
- sx = 0;
1005
- }
1006
- if (sy < 0) {
1007
- sh += sy;
1008
- sy = 0;
1009
- }
1010
-
1011
- int srcStride = canvas->stride();
1012
- int bpp = srcStride / width;
1013
- int size = sw * sh * bpp;
1014
- int dstStride = sw * bpp;
1015
-
1016
- uint8_t *src = canvas->data();
1017
-
1018
- Local<ArrayBuffer> buffer = ArrayBuffer::New(Isolate::GetCurrent(), size);
1019
- Local<TypedArray> dataArray;
1020
-
1021
- if (canvas->backend()->getFormat() == CAIRO_FORMAT_RGB16_565) {
1022
- dataArray = Uint16Array::New(buffer, 0, size >> 1);
1023
- } else {
1024
- dataArray = Uint8ClampedArray::New(buffer, 0, size);
1025
- }
1026
-
1027
- Nan::TypedArrayContents<uint8_t> typedArrayContents(dataArray);
1028
- uint8_t* dst = *typedArrayContents;
1029
-
1030
- switch (canvas->backend()->getFormat()) {
1031
- case CAIRO_FORMAT_ARGB32: {
1032
- // Rearrange alpha (argb -> rgba), undo alpha pre-multiplication,
1033
- // and store in big-endian format
1034
- for (int y = 0; y < sh; ++y) {
1035
- uint32_t *row = (uint32_t *)(src + srcStride * (y + sy));
1036
- for (int x = 0; x < sw; ++x) {
1037
- int bx = x * 4;
1038
- uint32_t *pixel = row + x + sx;
1039
- uint8_t a = *pixel >> 24;
1040
- uint8_t r = *pixel >> 16;
1041
- uint8_t g = *pixel >> 8;
1042
- uint8_t b = *pixel;
1043
- dst[bx + 3] = a;
1044
-
1045
- // Performance optimization: fully transparent/opaque pixels can be
1046
- // processed more efficiently.
1047
- if (a == 0 || a == 255) {
1048
- dst[bx + 0] = r;
1049
- dst[bx + 1] = g;
1050
- dst[bx + 2] = b;
1051
- } else {
1052
- // Undo alpha pre-multiplication
1053
- float alphaR = (float)255 / a;
1054
- dst[bx + 0] = (int)((float)r * alphaR);
1055
- dst[bx + 1] = (int)((float)g * alphaR);
1056
- dst[bx + 2] = (int)((float)b * alphaR);
1057
- }
1058
-
1059
- }
1060
- dst += dstStride;
1061
- }
1062
- break;
1063
- }
1064
- case CAIRO_FORMAT_RGB24: {
1065
- // Rearrange alpha (argb -> rgba) and store in big-endian format
1066
- for (int y = 0; y < sh; ++y) {
1067
- uint32_t *row = (uint32_t *)(src + srcStride * (y + sy));
1068
- for (int x = 0; x < sw; ++x) {
1069
- int bx = x * 4;
1070
- uint32_t *pixel = row + x + sx;
1071
- uint8_t r = *pixel >> 16;
1072
- uint8_t g = *pixel >> 8;
1073
- uint8_t b = *pixel;
1074
-
1075
- dst[bx + 0] = r;
1076
- dst[bx + 1] = g;
1077
- dst[bx + 2] = b;
1078
- dst[bx + 3] = 255;
1079
- }
1080
- dst += dstStride;
1081
- }
1082
- break;
1083
- }
1084
- case CAIRO_FORMAT_A8: {
1085
- for (int y = 0; y < sh; ++y) {
1086
- uint8_t *row = (uint8_t *)(src + srcStride * (y + sy));
1087
- memcpy(dst, row + sx, dstStride);
1088
- dst += dstStride;
1089
- }
1090
- break;
1091
- }
1092
- case CAIRO_FORMAT_A1: {
1093
- // TODO Should this be totally packed, or maintain a stride divisible by 4?
1094
- Nan::ThrowError("getImageData for CANVAS_FORMAT_A1 is not yet implemented");
1095
- break;
1096
- }
1097
- case CAIRO_FORMAT_RGB16_565: {
1098
- for (int y = 0; y < sh; ++y) {
1099
- uint16_t *row = (uint16_t *)(src + srcStride * (y + sy));
1100
- memcpy(dst, row + sx, dstStride);
1101
- dst += dstStride;
1102
- }
1103
- break;
1104
- }
1105
- #ifdef CAIRO_FORMAT_RGB30
1106
- case CAIRO_FORMAT_RGB30: {
1107
- // TODO
1108
- Nan::ThrowError("getImageData for CANVAS_FORMAT_RGB30 is not yet implemented");
1109
- break;
1110
- }
1111
- #endif
1112
- default: {
1113
- // Unlikely
1114
- Nan::ThrowError("Invalid pixel format or not an image canvas");
1115
- return;
1116
- }
1117
- }
1118
-
1119
- const int argc = 3;
1120
- Local<Int32> swHandle = Nan::New(sw);
1121
- Local<Int32> shHandle = Nan::New(sh);
1122
- Local<Value> argv[argc] = { dataArray, swHandle, shHandle };
1123
-
1124
- Local<Function> ctor = Nan::GetFunction(Nan::New(ImageData::constructor)).ToLocalChecked();
1125
- Local<Object> instance = Nan::NewInstance(ctor, argc, argv).ToLocalChecked();
1126
-
1127
- info.GetReturnValue().Set(instance);
1128
- }
1129
-
1130
- /**
1131
- * Create `ImageData` with the given dimensions or
1132
- * `ImageData` instance for dimensions.
1133
- */
1134
-
1135
- NAN_METHOD(Context2d::CreateImageData){
1136
- Isolate *iso = Isolate::GetCurrent();
1137
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1138
- Canvas *canvas = context->canvas();
1139
- int32_t width, height;
1140
-
1141
- if (info[0]->IsObject()) {
1142
- Local<Object> obj = Nan::To<Object>(info[0]).ToLocalChecked();
1143
- width = Nan::To<int32_t>(Nan::Get(obj, Nan::New("width").ToLocalChecked()).ToLocalChecked()).FromMaybe(0);
1144
- height = Nan::To<int32_t>(Nan::Get(obj, Nan::New("height").ToLocalChecked()).ToLocalChecked()).FromMaybe(0);
1145
- } else {
1146
- width = Nan::To<int32_t>(info[0]).FromMaybe(0);
1147
- height = Nan::To<int32_t>(info[1]).FromMaybe(0);
1148
- }
1149
-
1150
- int stride = canvas->stride();
1151
- double Bpp = static_cast<double>(stride) / canvas->getWidth();
1152
- int nBytes = static_cast<int>(Bpp * width * height + .5);
1153
-
1154
- Local<ArrayBuffer> ab = ArrayBuffer::New(iso, nBytes);
1155
- Local<Object> arr;
1156
-
1157
- if (canvas->backend()->getFormat() == CAIRO_FORMAT_RGB16_565)
1158
- arr = Uint16Array::New(ab, 0, nBytes / 2);
1159
- else
1160
- arr = Uint8ClampedArray::New(ab, 0, nBytes);
1161
-
1162
- const int argc = 3;
1163
- Local<Value> argv[argc] = { arr, Nan::New(width), Nan::New(height) };
1164
-
1165
- Local<Function> ctor = Nan::GetFunction(Nan::New(ImageData::constructor)).ToLocalChecked();
1166
- Local<Object> instance = Nan::NewInstance(ctor, argc, argv).ToLocalChecked();
1167
-
1168
- info.GetReturnValue().Set(instance);
1169
- }
1170
-
1171
- /*
1172
- * Take a transform matrix and return its components
1173
- * 0: angle, 1: scaleX, 2: scaleY, 3: skewX, 4: translateX, 5: translateY
1174
- */
1175
- void decompose_matrix(cairo_matrix_t matrix, double *destination) {
1176
- double denom = pow(matrix.xx, 2) + pow(matrix.yx, 2);
1177
- destination[0] = atan2(matrix.yx, matrix.xx);
1178
- destination[1] = sqrt(denom);
1179
- destination[2] = (matrix.xx * matrix.yy - matrix.xy * matrix.yx) / destination[1];
1180
- destination[3] = atan2(matrix.xx * matrix.xy + matrix.yx * matrix.yy, denom);
1181
- destination[4] = matrix.x0;
1182
- destination[5] = matrix.y0;
1183
- }
1184
-
1185
- /*
1186
- * Draw image src image to the destination (context).
1187
- *
1188
- * - dx, dy
1189
- * - dx, dy, dw, dh
1190
- * - sx, sy, sw, sh, dx, dy, dw, dh
1191
- *
1192
- */
1193
-
1194
- NAN_METHOD(Context2d::DrawImage) {
1195
- int infoLen = info.Length();
1196
- if (infoLen != 3 && infoLen != 5 && infoLen != 9)
1197
- return Nan::ThrowTypeError("Invalid arguments");
1198
-
1199
- if (!info[0]->IsObject())
1200
- return Nan::ThrowTypeError("The first argument must be an object");
1201
-
1202
- double args[8];
1203
- if(!checkArgs(info, args, infoLen - 1, 1))
1204
- return;
1205
-
1206
- double sx = 0
1207
- , sy = 0
1208
- , sw = 0
1209
- , sh = 0
1210
- , dx = 0
1211
- , dy = 0
1212
- , dw = 0
1213
- , dh = 0
1214
- , source_w = 0
1215
- , source_h = 0;
1216
-
1217
- cairo_surface_t *surface;
1218
-
1219
- Local<Object> obj = Nan::To<Object>(info[0]).ToLocalChecked();
1220
-
1221
- // Image
1222
- if (Nan::New(Image::constructor)->HasInstance(obj)) {
1223
- Image *img = Nan::ObjectWrap::Unwrap<Image>(obj);
1224
- if (!img->isComplete()) {
1225
- return Nan::ThrowError("Image given has not completed loading");
1226
- }
1227
- source_w = sw = img->width;
1228
- source_h = sh = img->height;
1229
- surface = img->surface();
1230
-
1231
- // Canvas
1232
- } else if (Nan::New(Canvas::constructor)->HasInstance(obj)) {
1233
- Canvas *canvas = Nan::ObjectWrap::Unwrap<Canvas>(obj);
1234
- source_w = sw = canvas->getWidth();
1235
- source_h = sh = canvas->getHeight();
1236
- surface = canvas->surface();
1237
-
1238
- // Invalid
1239
- } else {
1240
- return Nan::ThrowTypeError("Image or Canvas expected");
1241
- }
1242
-
1243
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1244
- cairo_t *ctx = context->context();
1245
-
1246
- // Arguments
1247
- switch (infoLen) {
1248
- // img, sx, sy, sw, sh, dx, dy, dw, dh
1249
- case 9:
1250
- sx = args[0];
1251
- sy = args[1];
1252
- sw = args[2];
1253
- sh = args[3];
1254
- dx = args[4];
1255
- dy = args[5];
1256
- dw = args[6];
1257
- dh = args[7];
1258
- break;
1259
- // img, dx, dy, dw, dh
1260
- case 5:
1261
- dx = args[0];
1262
- dy = args[1];
1263
- dw = args[2];
1264
- dh = args[3];
1265
- break;
1266
- // img, dx, dy
1267
- case 3:
1268
- dx = args[0];
1269
- dy = args[1];
1270
- dw = sw;
1271
- dh = sh;
1272
- break;
1273
- }
1274
-
1275
- if (!(sw && sh && dw && dh))
1276
- return;
1277
-
1278
- // Start draw
1279
- cairo_save(ctx);
1280
-
1281
- cairo_matrix_t matrix;
1282
- double transforms[6];
1283
- cairo_get_matrix(context->context(), &matrix);
1284
- decompose_matrix(matrix, transforms);
1285
- // extract the scale value from the current transform so that we know how many pixels we
1286
- // need for our extra canvas in the drawImage operation.
1287
- double current_scale_x = std::abs(transforms[1]);
1288
- double current_scale_y = std::abs(transforms[2]);
1289
- double extra_dx = 0;
1290
- double extra_dy = 0;
1291
- double fx = dw / sw * current_scale_x; // transforms[1] is scale on X
1292
- double fy = dh / sh * current_scale_y; // transforms[2] is scale on X
1293
- bool needScale = dw != sw || dh != sh;
1294
- bool needCut = sw != source_w || sh != source_h || sx < 0 || sy < 0;
1295
- bool sameCanvas = surface == context->canvas()->surface();
1296
- bool needsExtraSurface = sameCanvas || needCut || needScale;
1297
- cairo_surface_t *surfTemp = NULL;
1298
- cairo_t *ctxTemp = NULL;
1299
-
1300
- if (needsExtraSurface) {
1301
- // we want to create the extra surface as small as possible.
1302
- // fx and fy are the total scaling we need to apply to sw, sh.
1303
- // from sw and sh we want to remove the part that is outside the source_w and soruce_h
1304
- double real_w = sw;
1305
- double real_h = sh;
1306
- double translate_x = 0;
1307
- double translate_y = 0;
1308
- // if sx or sy are negative, a part of the area represented by sw and sh is empty
1309
- // because there are empty pixels, so we cut it out.
1310
- // On the other hand if sx or sy are positive, but sw and sh extend outside the real
1311
- // source pixels, we cut the area in that case too.
1312
- if (sx < 0) {
1313
- extra_dx = -sx * fx;
1314
- real_w = sw + sx;
1315
- } else if (sx + sw > source_w) {
1316
- real_w = sw - (sx + sw - source_w);
1317
- }
1318
- if (sy < 0) {
1319
- extra_dy = -sy * fy;
1320
- real_h = sh + sy;
1321
- } else if (sy + sh > source_h) {
1322
- real_h = sh - (sy + sh - source_h);
1323
- }
1324
- // if after cutting we are still bigger than source pixels, we restrict again
1325
- if (real_w > source_w) {
1326
- real_w = source_w;
1327
- }
1328
- if (real_h > source_h) {
1329
- real_h = source_h;
1330
- }
1331
- // TODO: find a way to limit the surfTemp to real_w and real_h if fx and fy are bigger than 1.
1332
- // there are no more pixel than the one available in the source, no need to create a bigger surface.
1333
- surfTemp = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, round(real_w * fx), round(real_h * fy));
1334
- ctxTemp = cairo_create(surfTemp);
1335
- cairo_scale(ctxTemp, fx, fy);
1336
- if (sx > 0) {
1337
- translate_x = sx;
1338
- }
1339
- if (sy > 0) {
1340
- translate_y = sy;
1341
- }
1342
- cairo_set_source_surface(ctxTemp, surface, -translate_x, -translate_y);
1343
- cairo_pattern_set_filter(cairo_get_source(ctxTemp), context->state->imageSmoothingEnabled ? context->state->patternQuality : CAIRO_FILTER_NEAREST);
1344
- cairo_pattern_set_extend(cairo_get_source(ctxTemp), CAIRO_EXTEND_REFLECT);
1345
- cairo_paint_with_alpha(ctxTemp, 1);
1346
- surface = surfTemp;
1347
- }
1348
- // apply shadow if there is one
1349
- if (context->hasShadow()) {
1350
- if(context->state->shadowBlur) {
1351
- // we need to create a new surface in order to blur
1352
- int pad = context->state->shadowBlur * 2;
1353
- cairo_surface_t *shadow_surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, dw + 2 * pad, dh + 2 * pad);
1354
- cairo_t *shadow_context = cairo_create(shadow_surface);
1355
-
1356
- // mask and blur
1357
- context->setSourceRGBA(shadow_context, context->state->shadow);
1358
- cairo_mask_surface(shadow_context, surface, pad, pad);
1359
- context->blur(shadow_surface, context->state->shadowBlur);
1360
-
1361
- // paint
1362
- // @note: ShadowBlur looks different in each browser. This implementation matches chrome as close as possible.
1363
- // The 1.4 offset comes from visual tests with Chrome. I have read the spec and part of the shadowBlur
1364
- // implementation, and its not immediately clear why an offset is necessary, but without it, the result
1365
- // in chrome is different.
1366
- cairo_set_source_surface(ctx, shadow_surface,
1367
- dx + context->state->shadowOffsetX - pad + 1.4,
1368
- dy + context->state->shadowOffsetY - pad + 1.4);
1369
- cairo_paint(ctx);
1370
- // cleanup
1371
- cairo_destroy(shadow_context);
1372
- cairo_surface_destroy(shadow_surface);
1373
- } else {
1374
- context->setSourceRGBA(context->state->shadow);
1375
- cairo_mask_surface(ctx, surface,
1376
- dx + (context->state->shadowOffsetX),
1377
- dy + (context->state->shadowOffsetY));
1378
- }
1379
- }
1380
-
1381
- double scaled_dx = dx;
1382
- double scaled_dy = dy;
1383
-
1384
- if (needsExtraSurface && (current_scale_x != 1 || current_scale_y != 1)) {
1385
- // in this case our surface contains already current_scale_x, we need to scale back
1386
- cairo_scale(ctx, 1 / current_scale_x, 1 / current_scale_y);
1387
- scaled_dx *= current_scale_x;
1388
- scaled_dy *= current_scale_y;
1389
- }
1390
- // Paint
1391
- cairo_set_source_surface(ctx, surface, scaled_dx + extra_dx, scaled_dy + extra_dy);
1392
- cairo_pattern_set_filter(cairo_get_source(ctx), context->state->imageSmoothingEnabled ? context->state->patternQuality : CAIRO_FILTER_NEAREST);
1393
- cairo_pattern_set_extend(cairo_get_source(ctx), CAIRO_EXTEND_NONE);
1394
- cairo_paint_with_alpha(ctx, context->state->globalAlpha);
1395
-
1396
- cairo_restore(ctx);
1397
-
1398
- if (needsExtraSurface) {
1399
- cairo_destroy(ctxTemp);
1400
- cairo_surface_destroy(surfTemp);
1401
- }
1402
- }
1403
-
1404
- /*
1405
- * Get global alpha.
1406
- */
1407
-
1408
- NAN_GETTER(Context2d::GetGlobalAlpha) {
1409
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1410
- info.GetReturnValue().Set(Nan::New<Number>(context->state->globalAlpha));
1411
- }
1412
-
1413
- /*
1414
- * Set global alpha.
1415
- */
1416
-
1417
- NAN_SETTER(Context2d::SetGlobalAlpha) {
1418
- double n = Nan::To<double>(value).FromMaybe(0);
1419
- if (n >= 0 && n <= 1) {
1420
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1421
- context->state->globalAlpha = n;
1422
- }
1423
- }
1424
-
1425
- /*
1426
- * Get global composite operation.
1427
- */
1428
-
1429
- NAN_GETTER(Context2d::GetGlobalCompositeOperation) {
1430
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1431
- cairo_t *ctx = context->context();
1432
-
1433
- const char *op = "source-over";
1434
- switch (cairo_get_operator(ctx)) {
1435
- // composite modes:
1436
- case CAIRO_OPERATOR_CLEAR: op = "clear"; break;
1437
- case CAIRO_OPERATOR_SOURCE: op = "copy"; break;
1438
- case CAIRO_OPERATOR_DEST: op = "destination"; break;
1439
- case CAIRO_OPERATOR_OVER: op = "source-over"; break;
1440
- case CAIRO_OPERATOR_DEST_OVER: op = "destination-over"; break;
1441
- case CAIRO_OPERATOR_IN: op = "source-in"; break;
1442
- case CAIRO_OPERATOR_DEST_IN: op = "destination-in"; break;
1443
- case CAIRO_OPERATOR_OUT: op = "source-out"; break;
1444
- case CAIRO_OPERATOR_DEST_OUT: op = "destination-out"; break;
1445
- case CAIRO_OPERATOR_ATOP: op = "source-atop"; break;
1446
- case CAIRO_OPERATOR_DEST_ATOP: op = "destination-atop"; break;
1447
- case CAIRO_OPERATOR_XOR: op = "xor"; break;
1448
- case CAIRO_OPERATOR_ADD: op = "lighter"; break;
1449
- // blend modes:
1450
- // Note: "source-over" and "normal" are synonyms. Chrome and FF both report
1451
- // "source-over" after setting gCO to "normal".
1452
- // case CAIRO_OPERATOR_OVER: op = "normal";
1453
- case CAIRO_OPERATOR_MULTIPLY: op = "multiply"; break;
1454
- case CAIRO_OPERATOR_SCREEN: op = "screen"; break;
1455
- case CAIRO_OPERATOR_OVERLAY: op = "overlay"; break;
1456
- case CAIRO_OPERATOR_DARKEN: op = "darken"; break;
1457
- case CAIRO_OPERATOR_LIGHTEN: op = "lighten"; break;
1458
- case CAIRO_OPERATOR_COLOR_DODGE: op = "color-dodge"; break;
1459
- case CAIRO_OPERATOR_COLOR_BURN: op = "color-burn"; break;
1460
- case CAIRO_OPERATOR_HARD_LIGHT: op = "hard-light"; break;
1461
- case CAIRO_OPERATOR_SOFT_LIGHT: op = "soft-light"; break;
1462
- case CAIRO_OPERATOR_DIFFERENCE: op = "difference"; break;
1463
- case CAIRO_OPERATOR_EXCLUSION: op = "exclusion"; break;
1464
- case CAIRO_OPERATOR_HSL_HUE: op = "hue"; break;
1465
- case CAIRO_OPERATOR_HSL_SATURATION: op = "saturation"; break;
1466
- case CAIRO_OPERATOR_HSL_COLOR: op = "color"; break;
1467
- case CAIRO_OPERATOR_HSL_LUMINOSITY: op = "luminosity"; break;
1468
- // non-standard:
1469
- case CAIRO_OPERATOR_SATURATE: op = "saturate"; break;
1470
- }
1471
-
1472
- info.GetReturnValue().Set(Nan::New(op).ToLocalChecked());
1473
- }
1474
-
1475
- /*
1476
- * Set pattern quality.
1477
- */
1478
-
1479
- NAN_SETTER(Context2d::SetPatternQuality) {
1480
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1481
- Nan::Utf8String quality(Nan::To<String>(value).ToLocalChecked());
1482
- if (0 == strcmp("fast", *quality)) {
1483
- context->state->patternQuality = CAIRO_FILTER_FAST;
1484
- } else if (0 == strcmp("good", *quality)) {
1485
- context->state->patternQuality = CAIRO_FILTER_GOOD;
1486
- } else if (0 == strcmp("best", *quality)) {
1487
- context->state->patternQuality = CAIRO_FILTER_BEST;
1488
- } else if (0 == strcmp("nearest", *quality)) {
1489
- context->state->patternQuality = CAIRO_FILTER_NEAREST;
1490
- } else if (0 == strcmp("bilinear", *quality)) {
1491
- context->state->patternQuality = CAIRO_FILTER_BILINEAR;
1492
- }
1493
- }
1494
-
1495
- /*
1496
- * Get pattern quality.
1497
- */
1498
-
1499
- NAN_GETTER(Context2d::GetPatternQuality) {
1500
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1501
- const char *quality;
1502
- switch (context->state->patternQuality) {
1503
- case CAIRO_FILTER_FAST: quality = "fast"; break;
1504
- case CAIRO_FILTER_BEST: quality = "best"; break;
1505
- case CAIRO_FILTER_NEAREST: quality = "nearest"; break;
1506
- case CAIRO_FILTER_BILINEAR: quality = "bilinear"; break;
1507
- default: quality = "good";
1508
- }
1509
- info.GetReturnValue().Set(Nan::New(quality).ToLocalChecked());
1510
- }
1511
-
1512
- /*
1513
- * Set ImageSmoothingEnabled value.
1514
- */
1515
-
1516
- NAN_SETTER(Context2d::SetImageSmoothingEnabled) {
1517
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1518
- context->state->imageSmoothingEnabled = Nan::To<bool>(value).FromMaybe(false);
1519
- }
1520
-
1521
- /*
1522
- * Get pattern quality.
1523
- */
1524
-
1525
- NAN_GETTER(Context2d::GetImageSmoothingEnabled) {
1526
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1527
- info.GetReturnValue().Set(Nan::New<Boolean>(context->state->imageSmoothingEnabled));
1528
- }
1529
-
1530
- /*
1531
- * Set global composite operation.
1532
- */
1533
-
1534
- NAN_SETTER(Context2d::SetGlobalCompositeOperation) {
1535
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1536
- cairo_t *ctx = context->context();
1537
- Nan::Utf8String opStr(Nan::To<String>(value).ToLocalChecked()); // Unlike CSS colors, this *is* case-sensitive
1538
- const std::map<std::string, cairo_operator_t> blendmodes = {
1539
- // composite modes:
1540
- {"clear", CAIRO_OPERATOR_CLEAR},
1541
- {"copy", CAIRO_OPERATOR_SOURCE},
1542
- {"destination", CAIRO_OPERATOR_DEST}, // this seems to have been omitted from the spec
1543
- {"source-over", CAIRO_OPERATOR_OVER},
1544
- {"destination-over", CAIRO_OPERATOR_DEST_OVER},
1545
- {"source-in", CAIRO_OPERATOR_IN},
1546
- {"destination-in", CAIRO_OPERATOR_DEST_IN},
1547
- {"source-out", CAIRO_OPERATOR_OUT},
1548
- {"destination-out", CAIRO_OPERATOR_DEST_OUT},
1549
- {"source-atop", CAIRO_OPERATOR_ATOP},
1550
- {"destination-atop", CAIRO_OPERATOR_DEST_ATOP},
1551
- {"xor", CAIRO_OPERATOR_XOR},
1552
- {"lighter", CAIRO_OPERATOR_ADD},
1553
- // blend modes:
1554
- {"normal", CAIRO_OPERATOR_OVER},
1555
- {"multiply", CAIRO_OPERATOR_MULTIPLY},
1556
- {"screen", CAIRO_OPERATOR_SCREEN},
1557
- {"overlay", CAIRO_OPERATOR_OVERLAY},
1558
- {"darken", CAIRO_OPERATOR_DARKEN},
1559
- {"lighten", CAIRO_OPERATOR_LIGHTEN},
1560
- {"color-dodge", CAIRO_OPERATOR_COLOR_DODGE},
1561
- {"color-burn", CAIRO_OPERATOR_COLOR_BURN},
1562
- {"hard-light", CAIRO_OPERATOR_HARD_LIGHT},
1563
- {"soft-light", CAIRO_OPERATOR_SOFT_LIGHT},
1564
- {"difference", CAIRO_OPERATOR_DIFFERENCE},
1565
- {"exclusion", CAIRO_OPERATOR_EXCLUSION},
1566
- {"hue", CAIRO_OPERATOR_HSL_HUE},
1567
- {"saturation", CAIRO_OPERATOR_HSL_SATURATION},
1568
- {"color", CAIRO_OPERATOR_HSL_COLOR},
1569
- {"luminosity", CAIRO_OPERATOR_HSL_LUMINOSITY},
1570
- // non-standard:
1571
- {"saturate", CAIRO_OPERATOR_SATURATE}
1572
- };
1573
- auto op = blendmodes.find(*opStr);
1574
- if (op != blendmodes.end()) cairo_set_operator(ctx, op->second);
1575
- }
1576
-
1577
- /*
1578
- * Get shadow offset x.
1579
- */
1580
-
1581
- NAN_GETTER(Context2d::GetShadowOffsetX) {
1582
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1583
- info.GetReturnValue().Set(Nan::New<Number>(context->state->shadowOffsetX));
1584
- }
1585
-
1586
- /*
1587
- * Set shadow offset x.
1588
- */
1589
-
1590
- NAN_SETTER(Context2d::SetShadowOffsetX) {
1591
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1592
- context->state->shadowOffsetX = Nan::To<double>(value).FromMaybe(0);
1593
- }
1594
-
1595
- /*
1596
- * Get shadow offset y.
1597
- */
1598
-
1599
- NAN_GETTER(Context2d::GetShadowOffsetY) {
1600
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1601
- info.GetReturnValue().Set(Nan::New<Number>(context->state->shadowOffsetY));
1602
- }
1603
-
1604
- /*
1605
- * Set shadow offset y.
1606
- */
1607
-
1608
- NAN_SETTER(Context2d::SetShadowOffsetY) {
1609
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1610
- context->state->shadowOffsetY = Nan::To<double>(value).FromMaybe(0);
1611
- }
1612
-
1613
- /*
1614
- * Get shadow blur.
1615
- */
1616
-
1617
- NAN_GETTER(Context2d::GetShadowBlur) {
1618
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1619
- info.GetReturnValue().Set(Nan::New<Number>(context->state->shadowBlur));
1620
- }
1621
-
1622
- /*
1623
- * Set shadow blur.
1624
- */
1625
-
1626
- NAN_SETTER(Context2d::SetShadowBlur) {
1627
- int n = Nan::To<double>(value).FromMaybe(0);
1628
- if (n >= 0) {
1629
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1630
- context->state->shadowBlur = n;
1631
- }
1632
- }
1633
-
1634
- /*
1635
- * Get current antialiasing setting.
1636
- */
1637
-
1638
- NAN_GETTER(Context2d::GetAntiAlias) {
1639
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1640
- const char *aa;
1641
- switch (cairo_get_antialias(context->context())) {
1642
- case CAIRO_ANTIALIAS_NONE: aa = "none"; break;
1643
- case CAIRO_ANTIALIAS_GRAY: aa = "gray"; break;
1644
- case CAIRO_ANTIALIAS_SUBPIXEL: aa = "subpixel"; break;
1645
- default: aa = "default";
1646
- }
1647
- info.GetReturnValue().Set(Nan::New(aa).ToLocalChecked());
1648
- }
1649
-
1650
- /*
1651
- * Set antialiasing.
1652
- */
1653
-
1654
- NAN_SETTER(Context2d::SetAntiAlias) {
1655
- Nan::Utf8String str(Nan::To<String>(value).ToLocalChecked());
1656
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1657
- cairo_t *ctx = context->context();
1658
- cairo_antialias_t a;
1659
- if (0 == strcmp("none", *str)) {
1660
- a = CAIRO_ANTIALIAS_NONE;
1661
- } else if (0 == strcmp("default", *str)) {
1662
- a = CAIRO_ANTIALIAS_DEFAULT;
1663
- } else if (0 == strcmp("gray", *str)) {
1664
- a = CAIRO_ANTIALIAS_GRAY;
1665
- } else if (0 == strcmp("subpixel", *str)) {
1666
- a = CAIRO_ANTIALIAS_SUBPIXEL;
1667
- } else {
1668
- a = cairo_get_antialias(ctx);
1669
- }
1670
- cairo_set_antialias(ctx, a);
1671
- }
1672
-
1673
- /*
1674
- * Get text drawing mode.
1675
- */
1676
-
1677
- NAN_GETTER(Context2d::GetTextDrawingMode) {
1678
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1679
- const char *mode;
1680
- if (context->state->textDrawingMode == TEXT_DRAW_PATHS) {
1681
- mode = "path";
1682
- } else if (context->state->textDrawingMode == TEXT_DRAW_GLYPHS) {
1683
- mode = "glyph";
1684
- } else {
1685
- mode = "unknown";
1686
- }
1687
- info.GetReturnValue().Set(Nan::New(mode).ToLocalChecked());
1688
- }
1689
-
1690
- /*
1691
- * Set text drawing mode.
1692
- */
1693
-
1694
- NAN_SETTER(Context2d::SetTextDrawingMode) {
1695
- Nan::Utf8String str(Nan::To<String>(value).ToLocalChecked());
1696
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1697
- if (0 == strcmp("path", *str)) {
1698
- context->state->textDrawingMode = TEXT_DRAW_PATHS;
1699
- } else if (0 == strcmp("glyph", *str)) {
1700
- context->state->textDrawingMode = TEXT_DRAW_GLYPHS;
1701
- }
1702
- }
1703
-
1704
- /*
1705
- * Get filter.
1706
- */
1707
-
1708
- NAN_GETTER(Context2d::GetQuality) {
1709
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1710
- const char *filter;
1711
- switch (cairo_pattern_get_filter(cairo_get_source(context->context()))) {
1712
- case CAIRO_FILTER_FAST: filter = "fast"; break;
1713
- case CAIRO_FILTER_BEST: filter = "best"; break;
1714
- case CAIRO_FILTER_NEAREST: filter = "nearest"; break;
1715
- case CAIRO_FILTER_BILINEAR: filter = "bilinear"; break;
1716
- default: filter = "good";
1717
- }
1718
- info.GetReturnValue().Set(Nan::New(filter).ToLocalChecked());
1719
- }
1720
-
1721
- /*
1722
- * Set filter.
1723
- */
1724
-
1725
- NAN_SETTER(Context2d::SetQuality) {
1726
- Nan::Utf8String str(Nan::To<String>(value).ToLocalChecked());
1727
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1728
- cairo_filter_t filter;
1729
- if (0 == strcmp("fast", *str)) {
1730
- filter = CAIRO_FILTER_FAST;
1731
- } else if (0 == strcmp("best", *str)) {
1732
- filter = CAIRO_FILTER_BEST;
1733
- } else if (0 == strcmp("nearest", *str)) {
1734
- filter = CAIRO_FILTER_NEAREST;
1735
- } else if (0 == strcmp("bilinear", *str)) {
1736
- filter = CAIRO_FILTER_BILINEAR;
1737
- } else {
1738
- filter = CAIRO_FILTER_GOOD;
1739
- }
1740
- cairo_pattern_set_filter(cairo_get_source(context->context()), filter);
1741
- }
1742
-
1743
- /*
1744
- * Helper for get current transform matrix
1745
- */
1746
-
1747
- Local<Object>
1748
- get_current_transform(Context2d *context) {
1749
- Isolate *iso = Isolate::GetCurrent();
1750
-
1751
- Local<Float64Array> arr = Float64Array::New(ArrayBuffer::New(iso, 48), 0, 6);
1752
- Nan::TypedArrayContents<double> dest(arr);
1753
- cairo_matrix_t matrix;
1754
- cairo_get_matrix(context->context(), &matrix);
1755
- (*dest)[0] = matrix.xx;
1756
- (*dest)[1] = matrix.yx;
1757
- (*dest)[2] = matrix.xy;
1758
- (*dest)[3] = matrix.yy;
1759
- (*dest)[4] = matrix.x0;
1760
- (*dest)[5] = matrix.y0;
1761
-
1762
- const int argc = 1;
1763
- Local<Value> argv[argc] = { arr };
1764
- return Nan::NewInstance(context->_DOMMatrix.Get(iso), argc, argv).ToLocalChecked();
1765
- }
1766
-
1767
- /*
1768
- * Helper for get/set transform.
1769
- */
1770
-
1771
- void parse_matrix_from_object(cairo_matrix_t &matrix, Local<Object> mat) {
1772
- cairo_matrix_init(&matrix,
1773
- Nan::To<double>(Nan::Get(mat, Nan::New("a").ToLocalChecked()).ToLocalChecked()).FromMaybe(0),
1774
- Nan::To<double>(Nan::Get(mat, Nan::New("b").ToLocalChecked()).ToLocalChecked()).FromMaybe(0),
1775
- Nan::To<double>(Nan::Get(mat, Nan::New("c").ToLocalChecked()).ToLocalChecked()).FromMaybe(0),
1776
- Nan::To<double>(Nan::Get(mat, Nan::New("d").ToLocalChecked()).ToLocalChecked()).FromMaybe(0),
1777
- Nan::To<double>(Nan::Get(mat, Nan::New("e").ToLocalChecked()).ToLocalChecked()).FromMaybe(0),
1778
- Nan::To<double>(Nan::Get(mat, Nan::New("f").ToLocalChecked()).ToLocalChecked()).FromMaybe(0)
1779
- );
1780
- }
1781
-
1782
-
1783
- /*
1784
- * Get current transform.
1785
- */
1786
-
1787
- NAN_GETTER(Context2d::GetCurrentTransform) {
1788
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1789
- Local<Object> instance = get_current_transform(context);
1790
-
1791
- info.GetReturnValue().Set(instance);
1792
- }
1793
-
1794
- /*
1795
- * Set current transform.
1796
- */
1797
-
1798
- NAN_SETTER(Context2d::SetCurrentTransform) {
1799
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1800
- Local<Context> ctx = Nan::GetCurrentContext();
1801
- Local<Object> mat = Nan::To<Object>(value).ToLocalChecked();
1802
-
1803
- #if NODE_MAJOR_VERSION >= 8
1804
- if (!mat->InstanceOf(ctx, _DOMMatrix.Get(Isolate::GetCurrent())).ToChecked()) {
1805
- return Nan::ThrowTypeError("Expected DOMMatrix");
1806
- }
1807
- #endif
1808
-
1809
- cairo_matrix_t matrix;
1810
- parse_matrix_from_object(matrix, mat);
1811
-
1812
- cairo_transform(context->context(), &matrix);
1813
- }
1814
-
1815
- /*
1816
- * Get current fill style.
1817
- */
1818
-
1819
- NAN_GETTER(Context2d::GetFillStyle) {
1820
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1821
- Isolate *iso = Isolate::GetCurrent();
1822
- Local<Value> style;
1823
-
1824
- if (context->_fillStyle.IsEmpty())
1825
- style = context->_getFillColor();
1826
- else
1827
- style = context->_fillStyle.Get(iso);
1828
-
1829
- info.GetReturnValue().Set(style);
1830
- }
1831
-
1832
- /*
1833
- * Set current fill style.
1834
- */
1835
-
1836
- NAN_SETTER(Context2d::SetFillStyle) {
1837
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1838
-
1839
- if (value->IsString()) {
1840
- MaybeLocal<String> mstr = Nan::To<String>(value);
1841
- if (mstr.IsEmpty()) return;
1842
- Local<String> str = mstr.ToLocalChecked();
1843
- context->_fillStyle.Reset();
1844
- context->_setFillColor(str);
1845
- } else if (value->IsObject()) {
1846
- Local<Object> obj = Nan::To<Object>(value).ToLocalChecked();
1847
- if (Nan::New(Gradient::constructor)->HasInstance(obj)) {
1848
- context->_fillStyle.Reset(value);
1849
- Gradient *grad = Nan::ObjectWrap::Unwrap<Gradient>(obj);
1850
- context->state->fillGradient = grad->pattern();
1851
- } else if (Nan::New(Pattern::constructor)->HasInstance(obj)) {
1852
- context->_fillStyle.Reset(value);
1853
- Pattern *pattern = Nan::ObjectWrap::Unwrap<Pattern>(obj);
1854
- context->state->fillPattern = pattern->pattern();
1855
- }
1856
- }
1857
- }
1858
-
1859
- /*
1860
- * Get current stroke style.
1861
- */
1862
-
1863
- NAN_GETTER(Context2d::GetStrokeStyle) {
1864
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1865
- Local<Value> style;
1866
-
1867
- if (context->_strokeStyle.IsEmpty())
1868
- style = context->_getStrokeColor();
1869
- else
1870
- style = context->_strokeStyle.Get(Isolate::GetCurrent());
1871
-
1872
- info.GetReturnValue().Set(style);
1873
- }
1874
-
1875
- /*
1876
- * Set current stroke style.
1877
- */
1878
-
1879
- NAN_SETTER(Context2d::SetStrokeStyle) {
1880
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1881
-
1882
- if (value->IsString()) {
1883
- MaybeLocal<String> mstr = Nan::To<String>(value);
1884
- if (mstr.IsEmpty()) return;
1885
- Local<String> str = mstr.ToLocalChecked();
1886
- context->_strokeStyle.Reset();
1887
- context->_setStrokeColor(str);
1888
- } else if (value->IsObject()) {
1889
- Local<Object> obj = Nan::To<Object>(value).ToLocalChecked();
1890
- if (Nan::New(Gradient::constructor)->HasInstance(obj)) {
1891
- context->_strokeStyle.Reset(value);
1892
- Gradient *grad = Nan::ObjectWrap::Unwrap<Gradient>(obj);
1893
- context->state->strokeGradient = grad->pattern();
1894
- } else if (Nan::New(Pattern::constructor)->HasInstance(obj)) {
1895
- context->_strokeStyle.Reset(value);
1896
- Pattern *pattern = Nan::ObjectWrap::Unwrap<Pattern>(obj);
1897
- context->state->strokePattern = pattern->pattern();
1898
- }
1899
- }
1900
- }
1901
-
1902
- /*
1903
- * Get miter limit.
1904
- */
1905
-
1906
- NAN_GETTER(Context2d::GetMiterLimit) {
1907
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1908
- info.GetReturnValue().Set(Nan::New<Number>(cairo_get_miter_limit(context->context())));
1909
- }
1910
-
1911
- /*
1912
- * Set miter limit.
1913
- */
1914
-
1915
- NAN_SETTER(Context2d::SetMiterLimit) {
1916
- double n = Nan::To<double>(value).FromMaybe(0);
1917
- if (n > 0) {
1918
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1919
- cairo_set_miter_limit(context->context(), n);
1920
- }
1921
- }
1922
-
1923
- /*
1924
- * Get line width.
1925
- */
1926
-
1927
- NAN_GETTER(Context2d::GetLineWidth) {
1928
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1929
- info.GetReturnValue().Set(Nan::New<Number>(cairo_get_line_width(context->context())));
1930
- }
1931
-
1932
- /*
1933
- * Set line width.
1934
- */
1935
-
1936
- NAN_SETTER(Context2d::SetLineWidth) {
1937
- double n = Nan::To<double>(value).FromMaybe(0);
1938
- if (n > 0 && n != std::numeric_limits<double>::infinity()) {
1939
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1940
- cairo_set_line_width(context->context(), n);
1941
- }
1942
- }
1943
-
1944
- /*
1945
- * Get line join.
1946
- */
1947
-
1948
- NAN_GETTER(Context2d::GetLineJoin) {
1949
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1950
- const char *join;
1951
- switch (cairo_get_line_join(context->context())) {
1952
- case CAIRO_LINE_JOIN_BEVEL: join = "bevel"; break;
1953
- case CAIRO_LINE_JOIN_ROUND: join = "round"; break;
1954
- default: join = "miter";
1955
- }
1956
- info.GetReturnValue().Set(Nan::New(join).ToLocalChecked());
1957
- }
1958
-
1959
- /*
1960
- * Set line join.
1961
- */
1962
-
1963
- NAN_SETTER(Context2d::SetLineJoin) {
1964
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1965
- cairo_t *ctx = context->context();
1966
- Nan::Utf8String type(Nan::To<String>(value).ToLocalChecked());
1967
- if (0 == strcmp("round", *type)) {
1968
- cairo_set_line_join(ctx, CAIRO_LINE_JOIN_ROUND);
1969
- } else if (0 == strcmp("bevel", *type)) {
1970
- cairo_set_line_join(ctx, CAIRO_LINE_JOIN_BEVEL);
1971
- } else {
1972
- cairo_set_line_join(ctx, CAIRO_LINE_JOIN_MITER);
1973
- }
1974
- }
1975
-
1976
- /*
1977
- * Get line cap.
1978
- */
1979
-
1980
- NAN_GETTER(Context2d::GetLineCap) {
1981
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1982
- const char *cap;
1983
- switch (cairo_get_line_cap(context->context())) {
1984
- case CAIRO_LINE_CAP_ROUND: cap = "round"; break;
1985
- case CAIRO_LINE_CAP_SQUARE: cap = "square"; break;
1986
- default: cap = "butt";
1987
- }
1988
- info.GetReturnValue().Set(Nan::New(cap).ToLocalChecked());
1989
- }
1990
-
1991
- /*
1992
- * Set line cap.
1993
- */
1994
-
1995
- NAN_SETTER(Context2d::SetLineCap) {
1996
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
1997
- cairo_t *ctx = context->context();
1998
- Nan::Utf8String type(Nan::To<String>(value).ToLocalChecked());
1999
- if (0 == strcmp("round", *type)) {
2000
- cairo_set_line_cap(ctx, CAIRO_LINE_CAP_ROUND);
2001
- } else if (0 == strcmp("square", *type)) {
2002
- cairo_set_line_cap(ctx, CAIRO_LINE_CAP_SQUARE);
2003
- } else {
2004
- cairo_set_line_cap(ctx, CAIRO_LINE_CAP_BUTT);
2005
- }
2006
- }
2007
-
2008
- /*
2009
- * Check if the given point is within the current path.
2010
- */
2011
-
2012
- NAN_METHOD(Context2d::IsPointInPath) {
2013
- if (info[0]->IsNumber() && info[1]->IsNumber()) {
2014
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2015
- cairo_t *ctx = context->context();
2016
- double x = Nan::To<double>(info[0]).FromMaybe(0)
2017
- , y = Nan::To<double>(info[1]).FromMaybe(0);
2018
- context->setFillRule(info[2]);
2019
- info.GetReturnValue().Set(Nan::New<Boolean>(cairo_in_fill(ctx, x, y) || cairo_in_stroke(ctx, x, y)));
2020
- return;
2021
- }
2022
- info.GetReturnValue().Set(Nan::False());
2023
- }
2024
-
2025
- /*
2026
- * Set shadow color.
2027
- */
2028
-
2029
- NAN_SETTER(Context2d::SetShadowColor) {
2030
- short ok;
2031
- Nan::Utf8String str(Nan::To<String>(value).ToLocalChecked());
2032
- uint32_t rgba = rgba_from_string(*str, &ok);
2033
- if (ok) {
2034
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2035
- context->state->shadow = rgba_create(rgba);
2036
- }
2037
- }
2038
-
2039
- /*
2040
- * Get shadow color.
2041
- */
2042
-
2043
- NAN_GETTER(Context2d::GetShadowColor) {
2044
- char buf[64];
2045
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2046
- rgba_to_string(context->state->shadow, buf, sizeof(buf));
2047
- info.GetReturnValue().Set(Nan::New<String>(buf).ToLocalChecked());
2048
- }
2049
-
2050
- /*
2051
- * Set fill color, used internally for fillStyle=
2052
- */
2053
-
2054
- void Context2d::_setFillColor(Local<Value> arg) {
2055
- short ok;
2056
- Nan::Utf8String str(arg);
2057
- uint32_t rgba = rgba_from_string(*str, &ok);
2058
- if (!ok) return;
2059
- state->fillPattern = state->fillGradient = NULL;
2060
- state->fill = rgba_create(rgba);
2061
- }
2062
-
2063
- /*
2064
- * Get fill color.
2065
- */
2066
-
2067
- Local<Value> Context2d::_getFillColor() {
2068
- char buf[64];
2069
- rgba_to_string(state->fill, buf, sizeof(buf));
2070
- return Nan::New<String>(buf).ToLocalChecked();
2071
- }
2072
-
2073
- /*
2074
- * Set stroke color, used internally for strokeStyle=
2075
- */
2076
-
2077
- void Context2d::_setStrokeColor(Local<Value> arg) {
2078
- short ok;
2079
- Nan::Utf8String str(arg);
2080
- uint32_t rgba = rgba_from_string(*str, &ok);
2081
- if (!ok) return;
2082
- state->strokePattern = state->strokeGradient = NULL;
2083
- state->stroke = rgba_create(rgba);
2084
- }
2085
-
2086
- /*
2087
- * Get stroke color.
2088
- */
2089
-
2090
- Local<Value> Context2d::_getStrokeColor() {
2091
- char buf[64];
2092
- rgba_to_string(state->stroke, buf, sizeof(buf));
2093
- return Nan::New<String>(buf).ToLocalChecked();
2094
- }
2095
-
2096
- NAN_METHOD(Context2d::CreatePattern) {
2097
- Local<Value> image = info[0];
2098
- Local<Value> repetition = info[1];
2099
-
2100
- if (!Nan::To<bool>(repetition).FromMaybe(false))
2101
- repetition = Nan::New("repeat").ToLocalChecked();
2102
-
2103
- const int argc = 2;
2104
- Local<Value> argv[argc] = { image, repetition };
2105
-
2106
- Local<Function> ctor = Nan::GetFunction(Nan::New(Pattern::constructor)).ToLocalChecked();
2107
- Local<Object> instance = Nan::NewInstance(ctor, argc, argv).ToLocalChecked();
2108
-
2109
- info.GetReturnValue().Set(instance);
2110
- }
2111
-
2112
- NAN_METHOD(Context2d::CreateLinearGradient) {
2113
- const int argc = 4;
2114
- Local<Value> argv[argc] = { info[0], info[1], info[2], info[3] };
2115
-
2116
- Local<Function> ctor = Nan::GetFunction(Nan::New(Gradient::constructor)).ToLocalChecked();
2117
- Local<Object> instance = Nan::NewInstance(ctor, argc, argv).ToLocalChecked();
2118
-
2119
- info.GetReturnValue().Set(instance);
2120
- }
2121
-
2122
- NAN_METHOD(Context2d::CreateRadialGradient) {
2123
- const int argc = 6;
2124
- Local<Value> argv[argc] = { info[0], info[1], info[2], info[3], info[4], info[5] };
2125
-
2126
- Local<Function> ctor = Nan::GetFunction(Nan::New(Gradient::constructor)).ToLocalChecked();
2127
- Local<Object> instance = Nan::NewInstance(ctor, argc, argv).ToLocalChecked();
2128
-
2129
- info.GetReturnValue().Set(instance);
2130
- }
2131
-
2132
- /*
2133
- * Bezier curve.
2134
- */
2135
-
2136
- NAN_METHOD(Context2d::BezierCurveTo) {
2137
- double args[6];
2138
- if(!checkArgs(info, args, 6))
2139
- return;
2140
-
2141
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2142
- cairo_curve_to(context->context()
2143
- , args[0]
2144
- , args[1]
2145
- , args[2]
2146
- , args[3]
2147
- , args[4]
2148
- , args[5]);
2149
- }
2150
-
2151
- /*
2152
- * Quadratic curve approximation from libsvg-cairo.
2153
- */
2154
-
2155
- NAN_METHOD(Context2d::QuadraticCurveTo) {
2156
- double args[4];
2157
- if(!checkArgs(info, args, 4))
2158
- return;
2159
-
2160
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2161
- cairo_t *ctx = context->context();
2162
-
2163
- double x, y
2164
- , x1 = args[0]
2165
- , y1 = args[1]
2166
- , x2 = args[2]
2167
- , y2 = args[3];
2168
-
2169
- cairo_get_current_point(ctx, &x, &y);
2170
-
2171
- if (0 == x && 0 == y) {
2172
- x = x1;
2173
- y = y1;
2174
- }
2175
-
2176
- cairo_curve_to(ctx
2177
- , x + 2.0 / 3.0 * (x1 - x), y + 2.0 / 3.0 * (y1 - y)
2178
- , x2 + 2.0 / 3.0 * (x1 - x2), y2 + 2.0 / 3.0 * (y1 - y2)
2179
- , x2
2180
- , y2);
2181
- }
2182
-
2183
- /*
2184
- * Save state.
2185
- */
2186
-
2187
- NAN_METHOD(Context2d::Save) {
2188
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2189
- context->save();
2190
- }
2191
-
2192
- /*
2193
- * Restore state.
2194
- */
2195
-
2196
- NAN_METHOD(Context2d::Restore) {
2197
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2198
- context->restore();
2199
- }
2200
-
2201
- /*
2202
- * Creates a new subpath.
2203
- */
2204
-
2205
- NAN_METHOD(Context2d::BeginPath) {
2206
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2207
- cairo_new_path(context->context());
2208
- }
2209
-
2210
- /*
2211
- * Marks the subpath as closed.
2212
- */
2213
-
2214
- NAN_METHOD(Context2d::ClosePath) {
2215
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2216
- cairo_close_path(context->context());
2217
- }
2218
-
2219
- /*
2220
- * Rotate transformation.
2221
- */
2222
-
2223
- NAN_METHOD(Context2d::Rotate) {
2224
- double args[1];
2225
- if(!checkArgs(info, args, 1))
2226
- return;
2227
-
2228
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2229
- cairo_rotate(context->context(), args[0]);
2230
- }
2231
-
2232
- /*
2233
- * Modify the CTM.
2234
- */
2235
-
2236
- NAN_METHOD(Context2d::Transform) {
2237
- double args[6];
2238
- if(!checkArgs(info, args, 6))
2239
- return;
2240
-
2241
- cairo_matrix_t matrix;
2242
- cairo_matrix_init(&matrix
2243
- , args[0]
2244
- , args[1]
2245
- , args[2]
2246
- , args[3]
2247
- , args[4]
2248
- , args[5]);
2249
-
2250
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2251
- cairo_transform(context->context(), &matrix);
2252
- }
2253
-
2254
- /*
2255
- * Get the CTM
2256
- */
2257
-
2258
- NAN_METHOD(Context2d::GetTransform) {
2259
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2260
- Local<Object> instance = get_current_transform(context);
2261
-
2262
- info.GetReturnValue().Set(instance);
2263
- }
2264
-
2265
- /*
2266
- * Reset the CTM, used internally by setTransform().
2267
- */
2268
-
2269
- NAN_METHOD(Context2d::ResetTransform) {
2270
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2271
- cairo_identity_matrix(context->context());
2272
- }
2273
-
2274
- /*
2275
- * Reset transform matrix to identity, then apply the given args.
2276
- */
2277
-
2278
- NAN_METHOD(Context2d::SetTransform) {
2279
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2280
- if (info.Length() == 1) {
2281
- Local<Object> mat = Nan::To<Object>(info[0]).ToLocalChecked();
2282
-
2283
- #if NODE_MAJOR_VERSION >= 8
2284
- Local<Context> ctx = Nan::GetCurrentContext();
2285
- if (!mat->InstanceOf(ctx, _DOMMatrix.Get(Isolate::GetCurrent())).ToChecked()) {
2286
- return Nan::ThrowTypeError("Expected DOMMatrix");
2287
- }
2288
- #endif
2289
-
2290
- cairo_matrix_t matrix;
2291
- parse_matrix_from_object(matrix, mat);
2292
-
2293
- cairo_set_matrix(context->context(), &matrix);
2294
- } else {
2295
- cairo_identity_matrix(context->context());
2296
- Context2d::Transform(info);
2297
- }
2298
- }
2299
-
2300
- /*
2301
- * Translate transformation.
2302
- */
2303
-
2304
- NAN_METHOD(Context2d::Translate) {
2305
- double args[2];
2306
- if(!checkArgs(info, args, 2))
2307
- return;
2308
-
2309
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2310
- cairo_translate(context->context(), args[0], args[1]);
2311
- }
2312
-
2313
- /*
2314
- * Scale transformation.
2315
- */
2316
-
2317
- NAN_METHOD(Context2d::Scale) {
2318
- double args[2];
2319
- if(!checkArgs(info, args, 2))
2320
- return;
2321
-
2322
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2323
- cairo_scale(context->context(), args[0], args[1]);
2324
- }
2325
-
2326
- /*
2327
- * Use path as clipping region.
2328
- */
2329
-
2330
- NAN_METHOD(Context2d::Clip) {
2331
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2332
- context->setFillRule(info[0]);
2333
- cairo_t *ctx = context->context();
2334
- cairo_clip_preserve(ctx);
2335
- }
2336
-
2337
- /*
2338
- * Fill the path.
2339
- */
2340
-
2341
- NAN_METHOD(Context2d::Fill) {
2342
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2343
- context->setFillRule(info[0]);
2344
- context->fill(true);
2345
- }
2346
-
2347
- /*
2348
- * Stroke the path.
2349
- */
2350
-
2351
- NAN_METHOD(Context2d::Stroke) {
2352
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2353
- context->stroke(true);
2354
- }
2355
-
2356
- /*
2357
- * Helper for fillText/strokeText
2358
- */
2359
-
2360
- double
2361
- get_text_scale(PangoLayout *layout, double maxWidth) {
2362
-
2363
- PangoRectangle logical_rect;
2364
- pango_layout_get_pixel_extents(layout, NULL, &logical_rect);
2365
-
2366
- if (logical_rect.width > maxWidth) {
2367
- return maxWidth / logical_rect.width;
2368
- } else {
2369
- return 1.0;
2370
- }
2371
- }
2372
-
2373
- void
2374
- paintText(const Nan::FunctionCallbackInfo<Value> &info, bool stroke) {
2375
- int argsNum = info.Length() >= 4 ? 3 : 2;
2376
-
2377
- if (argsNum == 3 && info[3]->IsUndefined())
2378
- argsNum = 2;
2379
-
2380
- double args[3];
2381
- if(!checkArgs(info, args, argsNum, 1))
2382
- return;
2383
-
2384
- Nan::Utf8String str(Nan::To<String>(info[0]).ToLocalChecked());
2385
- double x = args[0];
2386
- double y = args[1];
2387
- double scaled_by = 1;
2388
-
2389
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2390
- PangoLayout *layout = context->layout();
2391
-
2392
- pango_layout_set_text(layout, *str, -1);
2393
- pango_cairo_update_layout(context->context(), layout);
2394
-
2395
- if (argsNum == 3) {
2396
- scaled_by = get_text_scale(layout, args[2]);
2397
- cairo_save(context->context());
2398
- cairo_scale(context->context(), scaled_by, 1);
2399
- }
2400
-
2401
- context->savePath();
2402
- if (context->state->textDrawingMode == TEXT_DRAW_GLYPHS) {
2403
- if (stroke == true) { context->stroke(); } else { context->fill(); }
2404
- context->setTextPath(x / scaled_by, y);
2405
- } else if (context->state->textDrawingMode == TEXT_DRAW_PATHS) {
2406
- context->setTextPath(x / scaled_by, y);
2407
- if (stroke == true) { context->stroke(); } else { context->fill(); }
2408
- }
2409
- context->restorePath();
2410
- if (argsNum == 3) {
2411
- cairo_restore(context->context());
2412
- }
2413
- }
2414
-
2415
- /*
2416
- * Fill text at (x, y).
2417
- */
2418
-
2419
- NAN_METHOD(Context2d::FillText) {
2420
- paintText(info, false);
2421
- }
2422
-
2423
- /*
2424
- * Stroke text at (x ,y).
2425
- */
2426
-
2427
- NAN_METHOD(Context2d::StrokeText) {
2428
- paintText(info, true);
2429
- }
2430
-
2431
- /*
2432
- * Gets the baseline adjustment in device pixels
2433
- */
2434
- inline double getBaselineAdjustment(PangoLayout* layout, short baseline) {
2435
- PangoRectangle logical_rect;
2436
- pango_layout_line_get_extents(pango_layout_get_line(layout, 0), NULL, &logical_rect);
2437
-
2438
- double scale = 1.0 / PANGO_SCALE;
2439
- double ascent = scale * pango_layout_get_baseline(layout);
2440
- double descent = scale * logical_rect.height - ascent;
2441
-
2442
- switch (baseline) {
2443
- case TEXT_BASELINE_ALPHABETIC:
2444
- return ascent;
2445
- case TEXT_BASELINE_MIDDLE:
2446
- return (ascent + descent) / 2.0;
2447
- case TEXT_BASELINE_BOTTOM:
2448
- return ascent + descent;
2449
- default:
2450
- return 0;
2451
- }
2452
- }
2453
-
2454
- /*
2455
- * Set text path for the string in the layout at (x, y).
2456
- * This function is called by paintText and won't behave correctly
2457
- * if is not called from there.
2458
- * it needs pango_layout_set_text and pango_cairo_update_layout to be called before
2459
- */
2460
-
2461
- void
2462
- Context2d::setTextPath(double x, double y) {
2463
- PangoRectangle logical_rect;
2464
-
2465
- switch (state->textAlignment) {
2466
- // center
2467
- case 0:
2468
- pango_layout_get_pixel_extents(_layout, NULL, &logical_rect);
2469
- x -= logical_rect.width / 2;
2470
- break;
2471
- // right
2472
- case 1:
2473
- pango_layout_get_pixel_extents(_layout, NULL, &logical_rect);
2474
- x -= logical_rect.width;
2475
- break;
2476
- }
2477
-
2478
- y -= getBaselineAdjustment(_layout, state->textBaseline);
2479
-
2480
- cairo_move_to(_context, x, y);
2481
- if (state->textDrawingMode == TEXT_DRAW_PATHS) {
2482
- pango_cairo_layout_path(_context, _layout);
2483
- } else if (state->textDrawingMode == TEXT_DRAW_GLYPHS) {
2484
- pango_cairo_show_layout(_context, _layout);
2485
- }
2486
- }
2487
-
2488
- /*
2489
- * Adds a point to the current subpath.
2490
- */
2491
-
2492
- NAN_METHOD(Context2d::LineTo) {
2493
- double args[2];
2494
- if(!checkArgs(info, args, 2))
2495
- return;
2496
-
2497
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2498
- cairo_line_to(context->context(), args[0], args[1]);
2499
- }
2500
-
2501
- /*
2502
- * Creates a new subpath at the given point.
2503
- */
2504
-
2505
- NAN_METHOD(Context2d::MoveTo) {
2506
- double args[2];
2507
- if(!checkArgs(info, args, 2))
2508
- return;
2509
-
2510
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2511
- cairo_move_to(context->context(), args[0], args[1]);
2512
- }
2513
-
2514
- /*
2515
- * Get font.
2516
- */
2517
-
2518
- NAN_GETTER(Context2d::GetFont) {
2519
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2520
- Isolate *iso = Isolate::GetCurrent();
2521
- Local<Value> font;
2522
-
2523
- if (context->_font.IsEmpty())
2524
- font = Nan::New("10px sans-serif").ToLocalChecked();
2525
- else
2526
- font = context->_font.Get(iso);
2527
-
2528
- info.GetReturnValue().Set(font);
2529
- }
2530
-
2531
- /*
2532
- * Set font:
2533
- * - weight
2534
- * - style
2535
- * - size
2536
- * - unit
2537
- * - family
2538
- */
2539
-
2540
- NAN_SETTER(Context2d::SetFont) {
2541
- if (!value->IsString()) return;
2542
-
2543
- Isolate *iso = Isolate::GetCurrent();
2544
- Local<Context> ctx = Nan::GetCurrentContext();
2545
-
2546
- Local<String> str = Nan::To<String>(value).ToLocalChecked();
2547
- if (!str->Length()) return;
2548
-
2549
- const int argc = 1;
2550
- Local<Value> argv[argc] = { value };
2551
-
2552
- Local<Value> mparsed = Nan::Call(_parseFont.Get(iso), ctx->Global(), argc, argv).ToLocalChecked();
2553
- // parseFont returns undefined for invalid CSS font strings
2554
- if (mparsed->IsUndefined()) return;
2555
- Local<Object> font = Nan::To<Object>(mparsed).ToLocalChecked();
2556
-
2557
- Nan::Utf8String weight(Nan::Get(font, Nan::New("weight").ToLocalChecked()).ToLocalChecked());
2558
- Nan::Utf8String style(Nan::Get(font, Nan::New("style").ToLocalChecked()).ToLocalChecked());
2559
- double size = Nan::To<double>(Nan::Get(font, Nan::New("size").ToLocalChecked()).ToLocalChecked()).FromMaybe(0);
2560
- Nan::Utf8String unit(Nan::Get(font, Nan::New("unit").ToLocalChecked()).ToLocalChecked());
2561
- Nan::Utf8String family(Nan::Get(font, Nan::New("family").ToLocalChecked()).ToLocalChecked());
2562
-
2563
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2564
-
2565
- PangoFontDescription *desc = pango_font_description_copy(context->state->fontDescription);
2566
- pango_font_description_free(context->state->fontDescription);
2567
-
2568
- pango_font_description_set_style(desc, Canvas::GetStyleFromCSSString(*style));
2569
- pango_font_description_set_weight(desc, Canvas::GetWeightFromCSSString(*weight));
2570
-
2571
- if (strlen(*family) > 0) {
2572
- // See #1643 - Pango understands "sans" whereas CSS uses "sans-serif"
2573
- std::string s1(*family);
2574
- std::string s2("sans-serif");
2575
- if (streq_casein(s1, s2)) {
2576
- pango_font_description_set_family(desc, "sans");
2577
- } else {
2578
- pango_font_description_set_family(desc, *family);
2579
- }
2580
- }
2581
-
2582
- PangoFontDescription *sys_desc = Canvas::ResolveFontDescription(desc);
2583
- pango_font_description_free(desc);
2584
-
2585
- if (size > 0) pango_font_description_set_absolute_size(sys_desc, size * PANGO_SCALE);
2586
-
2587
- context->state->fontDescription = sys_desc;
2588
- pango_layout_set_font_description(context->_layout, sys_desc);
2589
-
2590
- context->_font.Reset(value);
2591
- }
2592
-
2593
- /*
2594
- * Get text baseline.
2595
- */
2596
-
2597
- NAN_GETTER(Context2d::GetTextBaseline) {
2598
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2599
- Isolate *iso = Isolate::GetCurrent();
2600
- Local<Value> font;
2601
-
2602
- if (context->_textBaseline.IsEmpty())
2603
- font = Nan::New("alphabetic").ToLocalChecked();
2604
- else
2605
- font = context->_textBaseline.Get(iso);
2606
-
2607
- info.GetReturnValue().Set(font);
2608
- }
2609
-
2610
- /*
2611
- * Set text baseline.
2612
- */
2613
-
2614
- NAN_SETTER(Context2d::SetTextBaseline) {
2615
- if (!value->IsString()) return;
2616
-
2617
- Nan::Utf8String opStr(Nan::To<String>(value).ToLocalChecked());
2618
- const std::map<std::string, int32_t> modes = {
2619
- {"alphabetic", 0},
2620
- {"top", 1},
2621
- {"bottom", 2},
2622
- {"middle", 3},
2623
- {"ideographic", 4},
2624
- {"hanging", 5}
2625
- };
2626
- auto op = modes.find(*opStr);
2627
- if (op == modes.end()) return;
2628
-
2629
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2630
- context->state->textBaseline = op->second;
2631
- context->_textBaseline.Reset(value);
2632
- }
2633
-
2634
- /*
2635
- * Get text align.
2636
- */
2637
-
2638
- NAN_GETTER(Context2d::GetTextAlign) {
2639
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2640
- Isolate *iso = Isolate::GetCurrent();
2641
- Local<Value> font;
2642
-
2643
- if (context->_textAlign.IsEmpty())
2644
- font = Nan::New("start").ToLocalChecked();
2645
- else
2646
- font = context->_textAlign.Get(iso);
2647
-
2648
- info.GetReturnValue().Set(font);
2649
- }
2650
-
2651
- /*
2652
- * Set text align.
2653
- */
2654
-
2655
- NAN_SETTER(Context2d::SetTextAlign) {
2656
- if (!value->IsString()) return;
2657
-
2658
- Nan::Utf8String opStr(Nan::To<String>(value).ToLocalChecked());
2659
- const std::map<std::string, int32_t> modes = {
2660
- {"center", 0},
2661
- {"left", -1},
2662
- {"start", -1},
2663
- {"right", 1},
2664
- {"end", 1}
2665
- };
2666
- auto op = modes.find(*opStr);
2667
- if (op == modes.end()) return;
2668
-
2669
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2670
- context->state->textAlignment = op->second;
2671
- context->_textAlign.Reset(value);
2672
- }
2673
-
2674
- /*
2675
- * Return the given text extents.
2676
- * TODO: Support for:
2677
- * hangingBaseline, ideographicBaseline,
2678
- * fontBoundingBoxAscent, fontBoundingBoxDescent
2679
- */
2680
-
2681
- NAN_METHOD(Context2d::MeasureText) {
2682
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2683
- cairo_t *ctx = context->context();
2684
-
2685
- Nan::Utf8String str(Nan::To<String>(info[0]).ToLocalChecked());
2686
- Local<Object> obj = Nan::New<Object>();
2687
-
2688
- PangoRectangle _ink_rect, _logical_rect;
2689
- float_rectangle ink_rect, logical_rect;
2690
- PangoFontMetrics *metrics;
2691
- PangoLayout *layout = context->layout();
2692
-
2693
- pango_layout_set_text(layout, *str, -1);
2694
- pango_cairo_update_layout(ctx, layout);
2695
-
2696
- // Normally you could use pango_layout_get_pixel_extents and be done, or use
2697
- // pango_extents_to_pixels, but both of those round the pixels, so we have to
2698
- // divide by PANGO_SCALE manually
2699
- pango_layout_get_extents(layout, &_ink_rect, &_logical_rect);
2700
-
2701
- float inverse_pango_scale = 1. / PANGO_SCALE;
2702
-
2703
- logical_rect.x = _logical_rect.x * inverse_pango_scale;
2704
- logical_rect.y = _logical_rect.y * inverse_pango_scale;
2705
- logical_rect.width = _logical_rect.width * inverse_pango_scale;
2706
- logical_rect.height = _logical_rect.height * inverse_pango_scale;
2707
-
2708
- ink_rect.x = _ink_rect.x * inverse_pango_scale;
2709
- ink_rect.y = _ink_rect.y * inverse_pango_scale;
2710
- ink_rect.width = _ink_rect.width * inverse_pango_scale;
2711
- ink_rect.height = _ink_rect.height * inverse_pango_scale;
2712
-
2713
- metrics = PANGO_LAYOUT_GET_METRICS(layout);
2714
-
2715
- double x_offset;
2716
- switch (context->state->textAlignment) {
2717
- case 0: // center
2718
- x_offset = logical_rect.width / 2;
2719
- break;
2720
- case 1: // right
2721
- x_offset = logical_rect.width;
2722
- break;
2723
- default: // left
2724
- x_offset = 0.0;
2725
- }
2726
-
2727
- cairo_matrix_t matrix;
2728
- cairo_get_matrix(ctx, &matrix);
2729
- double y_offset = getBaselineAdjustment(layout, context->state->textBaseline);
2730
-
2731
- Nan::Set(obj,
2732
- Nan::New<String>("width").ToLocalChecked(),
2733
- Nan::New<Number>(logical_rect.width)).Check();
2734
- Nan::Set(obj,
2735
- Nan::New<String>("actualBoundingBoxLeft").ToLocalChecked(),
2736
- Nan::New<Number>(x_offset - PANGO_LBEARING(ink_rect))).Check();
2737
- Nan::Set(obj,
2738
- Nan::New<String>("actualBoundingBoxRight").ToLocalChecked(),
2739
- Nan::New<Number>(x_offset + PANGO_RBEARING(ink_rect))).Check();
2740
- Nan::Set(obj,
2741
- Nan::New<String>("actualBoundingBoxAscent").ToLocalChecked(),
2742
- Nan::New<Number>(y_offset + PANGO_ASCENT(ink_rect))).Check();
2743
- Nan::Set(obj,
2744
- Nan::New<String>("actualBoundingBoxDescent").ToLocalChecked(),
2745
- Nan::New<Number>(PANGO_DESCENT(ink_rect) - y_offset)).Check();
2746
- Nan::Set(obj,
2747
- Nan::New<String>("emHeightAscent").ToLocalChecked(),
2748
- Nan::New<Number>(-(PANGO_ASCENT(logical_rect) - y_offset))).Check();
2749
- Nan::Set(obj,
2750
- Nan::New<String>("emHeightDescent").ToLocalChecked(),
2751
- Nan::New<Number>(PANGO_DESCENT(logical_rect) - y_offset)).Check();
2752
- Nan::Set(obj,
2753
- Nan::New<String>("alphabeticBaseline").ToLocalChecked(),
2754
- Nan::New<Number>(-(pango_font_metrics_get_ascent(metrics) * inverse_pango_scale - y_offset))).Check();
2755
-
2756
- pango_font_metrics_unref(metrics);
2757
-
2758
- info.GetReturnValue().Set(obj);
2759
- }
2760
-
2761
- /*
2762
- * Set line dash
2763
- * ref: http://www.w3.org/TR/2dcontext/#dom-context-2d-setlinedash
2764
- */
2765
-
2766
- NAN_METHOD(Context2d::SetLineDash) {
2767
- if (!info[0]->IsArray()) return;
2768
- Local<Array> dash = Local<Array>::Cast(info[0]);
2769
- uint32_t dashes = dash->Length() & 1 ? dash->Length() * 2 : dash->Length();
2770
- uint32_t zero_dashes = 0;
2771
- std::vector<double> a(dashes);
2772
- for (uint32_t i=0; i<dashes; i++) {
2773
- Local<Value> d = Nan::Get(dash, i % dash->Length()).ToLocalChecked();
2774
- if (!d->IsNumber()) return;
2775
- a[i] = Nan::To<double>(d).FromMaybe(0);
2776
- if (a[i] == 0) zero_dashes++;
2777
- if (a[i] < 0 || !std::isfinite(a[i])) return;
2778
- }
2779
-
2780
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2781
- cairo_t *ctx = context->context();
2782
- double offset;
2783
- cairo_get_dash(ctx, NULL, &offset);
2784
- if (zero_dashes == dashes) {
2785
- std::vector<double> b(0);
2786
- cairo_set_dash(ctx, b.data(), 0, offset);
2787
- } else {
2788
- cairo_set_dash(ctx, a.data(), dashes, offset);
2789
- }
2790
- }
2791
-
2792
- /*
2793
- * Get line dash
2794
- * ref: http://www.w3.org/TR/2dcontext/#dom-context-2d-setlinedash
2795
- */
2796
- NAN_METHOD(Context2d::GetLineDash) {
2797
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2798
- cairo_t *ctx = context->context();
2799
- int dashes = cairo_get_dash_count(ctx);
2800
- std::vector<double> a(dashes);
2801
- cairo_get_dash(ctx, a.data(), NULL);
2802
-
2803
- Local<Array> dash = Nan::New<Array>(dashes);
2804
- for (int i=0; i<dashes; i++) {
2805
- Nan::Set(dash, Nan::New<Number>(i), Nan::New<Number>(a[i])).Check();
2806
- }
2807
-
2808
- info.GetReturnValue().Set(dash);
2809
- }
2810
-
2811
- /*
2812
- * Set line dash offset
2813
- * ref: http://www.w3.org/TR/2dcontext/#dom-context-2d-setlinedash
2814
- */
2815
- NAN_SETTER(Context2d::SetLineDashOffset) {
2816
- double offset = Nan::To<double>(value).FromMaybe(0);
2817
- if (!std::isfinite(offset)) return;
2818
-
2819
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2820
- cairo_t *ctx = context->context();
2821
-
2822
- int dashes = cairo_get_dash_count(ctx);
2823
- std::vector<double> a(dashes);
2824
- cairo_get_dash(ctx, a.data(), NULL);
2825
- cairo_set_dash(ctx, a.data(), dashes, offset);
2826
- }
2827
-
2828
- /*
2829
- * Get line dash offset
2830
- * ref: http://www.w3.org/TR/2dcontext/#dom-context-2d-setlinedash
2831
- */
2832
- NAN_GETTER(Context2d::GetLineDashOffset) {
2833
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2834
- cairo_t *ctx = context->context();
2835
- double offset;
2836
- cairo_get_dash(ctx, NULL, &offset);
2837
-
2838
- info.GetReturnValue().Set(Nan::New<Number>(offset));
2839
- }
2840
-
2841
- /*
2842
- * Fill the rectangle defined by x, y, width and height.
2843
- */
2844
-
2845
- NAN_METHOD(Context2d::FillRect) {
2846
- RECT_ARGS;
2847
- if (0 == width || 0 == height) return;
2848
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2849
- cairo_t *ctx = context->context();
2850
- context->savePath();
2851
- cairo_rectangle(ctx, x, y, width, height);
2852
- context->fill();
2853
- context->restorePath();
2854
- }
2855
-
2856
- /*
2857
- * Stroke the rectangle defined by x, y, width and height.
2858
- */
2859
-
2860
- NAN_METHOD(Context2d::StrokeRect) {
2861
- RECT_ARGS;
2862
- if (0 == width && 0 == height) return;
2863
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2864
- cairo_t *ctx = context->context();
2865
- context->savePath();
2866
- cairo_rectangle(ctx, x, y, width, height);
2867
- context->stroke();
2868
- context->restorePath();
2869
- }
2870
-
2871
- /*
2872
- * Clears all pixels defined by x, y, width and height.
2873
- */
2874
-
2875
- NAN_METHOD(Context2d::ClearRect) {
2876
- RECT_ARGS;
2877
- if (0 == width || 0 == height) return;
2878
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2879
- cairo_t *ctx = context->context();
2880
- cairo_save(ctx);
2881
- context->savePath();
2882
- cairo_rectangle(ctx, x, y, width, height);
2883
- cairo_set_operator(ctx, CAIRO_OPERATOR_CLEAR);
2884
- cairo_fill(ctx);
2885
- context->restorePath();
2886
- cairo_restore(ctx);
2887
- }
2888
-
2889
- /*
2890
- * Adds a rectangle subpath.
2891
- */
2892
-
2893
- NAN_METHOD(Context2d::Rect) {
2894
- RECT_ARGS;
2895
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2896
- cairo_t *ctx = context->context();
2897
- if (width == 0) {
2898
- cairo_move_to(ctx, x, y);
2899
- cairo_line_to(ctx, x, y + height);
2900
- } else if (height == 0) {
2901
- cairo_move_to(ctx, x, y);
2902
- cairo_line_to(ctx, x + width, y);
2903
- } else {
2904
- cairo_rectangle(ctx, x, y, width, height);
2905
- }
2906
- }
2907
-
2908
- /*
2909
- * Adds an arc at x, y with the given radis and start/end angles.
2910
- */
2911
-
2912
- NAN_METHOD(Context2d::Arc) {
2913
- if (!info[0]->IsNumber()
2914
- || !info[1]->IsNumber()
2915
- || !info[2]->IsNumber()
2916
- || !info[3]->IsNumber()
2917
- || !info[4]->IsNumber()) return;
2918
-
2919
- bool anticlockwise = Nan::To<bool>(info[5]).FromMaybe(false);
2920
-
2921
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2922
- cairo_t *ctx = context->context();
2923
-
2924
- if (anticlockwise && M_PI * 2 != Nan::To<double>(info[4]).FromMaybe(0)) {
2925
- cairo_arc_negative(ctx
2926
- , Nan::To<double>(info[0]).FromMaybe(0)
2927
- , Nan::To<double>(info[1]).FromMaybe(0)
2928
- , Nan::To<double>(info[2]).FromMaybe(0)
2929
- , Nan::To<double>(info[3]).FromMaybe(0)
2930
- , Nan::To<double>(info[4]).FromMaybe(0));
2931
- } else {
2932
- cairo_arc(ctx
2933
- , Nan::To<double>(info[0]).FromMaybe(0)
2934
- , Nan::To<double>(info[1]).FromMaybe(0)
2935
- , Nan::To<double>(info[2]).FromMaybe(0)
2936
- , Nan::To<double>(info[3]).FromMaybe(0)
2937
- , Nan::To<double>(info[4]).FromMaybe(0));
2938
- }
2939
- }
2940
-
2941
- /*
2942
- * Adds an arcTo point (x0,y0) to (x1,y1) with the given radius.
2943
- *
2944
- * Implementation influenced by WebKit.
2945
- */
2946
-
2947
- NAN_METHOD(Context2d::ArcTo) {
2948
- double args[5];
2949
- if(!checkArgs(info, args, 5))
2950
- return;
2951
-
2952
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
2953
- cairo_t *ctx = context->context();
2954
-
2955
- // Current path point
2956
- double x, y;
2957
- cairo_get_current_point(ctx, &x, &y);
2958
- Point<float> p0(x, y);
2959
-
2960
- // Point (x0,y0)
2961
- Point<float> p1(args[0], args[1]);
2962
-
2963
- // Point (x1,y1)
2964
- Point<float> p2(args[2], args[3]);
2965
-
2966
- float radius = args[4];
2967
-
2968
- if ((p1.x == p0.x && p1.y == p0.y)
2969
- || (p1.x == p2.x && p1.y == p2.y)
2970
- || radius == 0.f) {
2971
- cairo_line_to(ctx, p1.x, p1.y);
2972
- return;
2973
- }
2974
-
2975
- Point<float> p1p0((p0.x - p1.x),(p0.y - p1.y));
2976
- Point<float> p1p2((p2.x - p1.x),(p2.y - p1.y));
2977
- float p1p0_length = sqrtf(p1p0.x * p1p0.x + p1p0.y * p1p0.y);
2978
- float p1p2_length = sqrtf(p1p2.x * p1p2.x + p1p2.y * p1p2.y);
2979
-
2980
- double cos_phi = (p1p0.x * p1p2.x + p1p0.y * p1p2.y) / (p1p0_length * p1p2_length);
2981
- // all points on a line logic
2982
- if (-1 == cos_phi) {
2983
- cairo_line_to(ctx, p1.x, p1.y);
2984
- return;
2985
- }
2986
-
2987
- if (1 == cos_phi) {
2988
- // add infinite far away point
2989
- unsigned int max_length = 65535;
2990
- double factor_max = max_length / p1p0_length;
2991
- Point<float> ep((p0.x + factor_max * p1p0.x), (p0.y + factor_max * p1p0.y));
2992
- cairo_line_to(ctx, ep.x, ep.y);
2993
- return;
2994
- }
2995
-
2996
- float tangent = radius / tan(acos(cos_phi) / 2);
2997
- float factor_p1p0 = tangent / p1p0_length;
2998
- Point<float> t_p1p0((p1.x + factor_p1p0 * p1p0.x), (p1.y + factor_p1p0 * p1p0.y));
2999
-
3000
- Point<float> orth_p1p0(p1p0.y, -p1p0.x);
3001
- float orth_p1p0_length = sqrt(orth_p1p0.x * orth_p1p0.x + orth_p1p0.y * orth_p1p0.y);
3002
- float factor_ra = radius / orth_p1p0_length;
3003
-
3004
- double cos_alpha = (orth_p1p0.x * p1p2.x + orth_p1p0.y * p1p2.y) / (orth_p1p0_length * p1p2_length);
3005
- if (cos_alpha < 0.f)
3006
- orth_p1p0 = Point<float>(-orth_p1p0.x, -orth_p1p0.y);
3007
-
3008
- Point<float> p((t_p1p0.x + factor_ra * orth_p1p0.x), (t_p1p0.y + factor_ra * orth_p1p0.y));
3009
-
3010
- orth_p1p0 = Point<float>(-orth_p1p0.x, -orth_p1p0.y);
3011
- float sa = acos(orth_p1p0.x / orth_p1p0_length);
3012
- if (orth_p1p0.y < 0.f)
3013
- sa = 2 * M_PI - sa;
3014
-
3015
- bool anticlockwise = false;
3016
-
3017
- float factor_p1p2 = tangent / p1p2_length;
3018
- Point<float> t_p1p2((p1.x + factor_p1p2 * p1p2.x), (p1.y + factor_p1p2 * p1p2.y));
3019
- Point<float> orth_p1p2((t_p1p2.x - p.x),(t_p1p2.y - p.y));
3020
- float orth_p1p2_length = sqrtf(orth_p1p2.x * orth_p1p2.x + orth_p1p2.y * orth_p1p2.y);
3021
- float ea = acos(orth_p1p2.x / orth_p1p2_length);
3022
-
3023
- if (orth_p1p2.y < 0) ea = 2 * M_PI - ea;
3024
- if ((sa > ea) && ((sa - ea) < M_PI)) anticlockwise = true;
3025
- if ((sa < ea) && ((ea - sa) > M_PI)) anticlockwise = true;
3026
-
3027
- cairo_line_to(ctx, t_p1p0.x, t_p1p0.y);
3028
-
3029
- if (anticlockwise && M_PI * 2 != radius) {
3030
- cairo_arc_negative(ctx
3031
- , p.x
3032
- , p.y
3033
- , radius
3034
- , sa
3035
- , ea);
3036
- } else {
3037
- cairo_arc(ctx
3038
- , p.x
3039
- , p.y
3040
- , radius
3041
- , sa
3042
- , ea);
3043
- }
3044
- }
3045
-
3046
- /*
3047
- * Adds an ellipse to the path which is centered at (x, y) position with the
3048
- * radii radiusX and radiusY starting at startAngle and ending at endAngle
3049
- * going in the given direction by anticlockwise (defaulting to clockwise).
3050
- */
3051
-
3052
- NAN_METHOD(Context2d::Ellipse) {
3053
- double args[7];
3054
- if(!checkArgs(info, args, 7))
3055
- return;
3056
-
3057
- double radiusX = args[2];
3058
- double radiusY = args[3];
3059
-
3060
- if (radiusX == 0 || radiusY == 0) return;
3061
-
3062
- double x = args[0];
3063
- double y = args[1];
3064
- double rotation = args[4];
3065
- double startAngle = args[5];
3066
- double endAngle = args[6];
3067
- bool anticlockwise = Nan::To<bool>(info[7]).FromMaybe(false);
3068
-
3069
- Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
3070
- cairo_t *ctx = context->context();
3071
-
3072
- // See https://www.cairographics.org/cookbook/ellipses/
3073
- double xRatio = radiusX / radiusY;
3074
-
3075
- cairo_matrix_t save_matrix;
3076
- cairo_get_matrix(ctx, &save_matrix);
3077
- cairo_translate(ctx, x, y);
3078
- cairo_rotate(ctx, rotation);
3079
- cairo_scale(ctx, xRatio, 1.0);
3080
- cairo_translate(ctx, -x, -y);
3081
- if (anticlockwise && M_PI * 2 != args[4]) {
3082
- cairo_arc_negative(ctx,
3083
- x,
3084
- y,
3085
- radiusY,
3086
- startAngle,
3087
- endAngle);
3088
- } else {
3089
- cairo_arc(ctx,
3090
- x,
3091
- y,
3092
- radiusY,
3093
- startAngle,
3094
- endAngle);
3095
- }
3096
- cairo_set_matrix(ctx, &save_matrix);
3097
- }