groove-dev 0.26.39 → 0.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (915) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/CLAUDE.md +31 -19
  3. package/node_modules/@groove-dev/cli/package.json +1 -1
  4. package/node_modules/@groove-dev/daemon/integrations-registry.json +548 -0
  5. package/node_modules/@groove-dev/daemon/package.json +1 -1
  6. package/node_modules/@groove-dev/daemon/src/api.js +172 -4
  7. package/node_modules/@groove-dev/daemon/src/classifier.js +20 -1
  8. package/node_modules/@groove-dev/daemon/src/firstrun.js +14 -1
  9. package/node_modules/@groove-dev/daemon/src/gateways/manager.js +2 -2
  10. package/node_modules/@groove-dev/daemon/src/index.js +3 -1
  11. package/node_modules/@groove-dev/daemon/src/introducer.js +56 -5
  12. package/node_modules/@groove-dev/daemon/src/journalist.js +72 -10
  13. package/node_modules/@groove-dev/daemon/src/lockmanager.js +60 -0
  14. package/node_modules/@groove-dev/daemon/src/mcp-manager.js +2 -1
  15. package/node_modules/@groove-dev/daemon/src/memory.js +370 -0
  16. package/node_modules/@groove-dev/daemon/src/pm.js +1 -1
  17. package/node_modules/@groove-dev/daemon/src/process.js +20 -1
  18. package/node_modules/@groove-dev/daemon/src/rotator.js +184 -5
  19. package/node_modules/@groove-dev/daemon/src/router.js +43 -0
  20. package/node_modules/@groove-dev/daemon/src/tokentracker.js +62 -8
  21. package/node_modules/@groove-dev/daemon/src/validate.js +0 -13
  22. package/node_modules/@groove-dev/daemon/test/journalist.test.js +5 -2
  23. package/node_modules/@groove-dev/daemon/test/lockmanager.test.js +64 -0
  24. package/node_modules/@groove-dev/daemon/test/memory.test.js +252 -0
  25. package/node_modules/@groove-dev/daemon/test/rotator.test.js +156 -0
  26. package/node_modules/@groove-dev/daemon/test/router.test.js +64 -0
  27. package/node_modules/@groove-dev/daemon/test/tokentracker.test.js +78 -0
  28. package/node_modules/@groove-dev/gui/dist/assets/index-Bl1_J0sN.js +652 -0
  29. package/node_modules/@groove-dev/gui/dist/assets/index-DjORRpF0.css +1 -0
  30. package/node_modules/@groove-dev/gui/dist/index.html +2 -2
  31. package/node_modules/@groove-dev/gui/package.json +1 -4
  32. package/node_modules/@groove-dev/gui/src/components/agents/spawn-wizard.jsx +18 -0
  33. package/node_modules/@groove-dev/gui/src/components/dashboard/cache-ring.jsx +6 -2
  34. package/node_modules/@groove-dev/gui/src/components/dashboard/intel-panel.jsx +251 -8
  35. package/node_modules/@groove-dev/gui/src/components/dashboard/team-burn-panel.jsx +55 -0
  36. package/node_modules/@groove-dev/gui/src/components/marketplace/marketplace-card.jsx +22 -4
  37. package/node_modules/@groove-dev/gui/src/lib/format.js +0 -6
  38. package/node_modules/@groove-dev/gui/src/lib/hooks/use-dashboard.js +18 -1
  39. package/node_modules/@groove-dev/gui/src/stores/groove.js +41 -16
  40. package/node_modules/@groove-dev/gui/src/views/dashboard.jsx +9 -2
  41. package/node_modules/@groove-dev/gui/src/views/marketplace.jsx +103 -77
  42. package/package.json +2 -8
  43. package/packages/cli/package.json +1 -1
  44. package/packages/daemon/integrations-registry.json +548 -0
  45. package/packages/daemon/package.json +1 -1
  46. package/packages/daemon/src/api.js +172 -4
  47. package/packages/daemon/src/classifier.js +20 -1
  48. package/packages/daemon/src/firstrun.js +14 -1
  49. package/packages/daemon/src/gateways/manager.js +2 -2
  50. package/packages/daemon/src/index.js +3 -1
  51. package/packages/daemon/src/introducer.js +56 -5
  52. package/packages/daemon/src/journalist.js +72 -10
  53. package/packages/daemon/src/lockmanager.js +60 -0
  54. package/packages/daemon/src/mcp-manager.js +2 -1
  55. package/packages/daemon/src/memory.js +370 -0
  56. package/packages/daemon/src/pm.js +1 -1
  57. package/packages/daemon/src/process.js +20 -1
  58. package/packages/daemon/src/rotator.js +184 -5
  59. package/packages/daemon/src/router.js +43 -0
  60. package/packages/daemon/src/tokentracker.js +62 -8
  61. package/packages/daemon/src/validate.js +0 -13
  62. package/packages/gui/dist/assets/index-Bl1_J0sN.js +652 -0
  63. package/packages/gui/dist/assets/index-DjORRpF0.css +1 -0
  64. package/packages/gui/dist/index.html +2 -2
  65. package/packages/gui/package.json +1 -4
  66. package/packages/gui/src/components/agents/spawn-wizard.jsx +18 -0
  67. package/packages/gui/src/components/dashboard/cache-ring.jsx +6 -2
  68. package/packages/gui/src/components/dashboard/intel-panel.jsx +251 -8
  69. package/packages/gui/src/components/dashboard/team-burn-panel.jsx +55 -0
  70. package/packages/gui/src/components/marketplace/marketplace-card.jsx +22 -4
  71. package/packages/gui/src/lib/format.js +0 -6
  72. package/packages/gui/src/lib/hooks/use-dashboard.js +18 -1
  73. package/packages/gui/src/stores/groove.js +41 -16
  74. package/packages/gui/src/views/dashboard.jsx +9 -2
  75. package/packages/gui/src/views/marketplace.jsx +103 -77
  76. package/docs-manager/DOCS-WORKFLOW.md +0 -176
  77. package/node_modules/@groove-dev/gui/dist/assets/index-BkY43sei.css +0 -1
  78. package/node_modules/@groove-dev/gui/dist/assets/index-DmKZLrXU.js +0 -652
  79. package/node_modules/@groove-dev/gui/dist/groove-logo-short.png +0 -0
  80. package/node_modules/@groove-dev/gui/dist/groove-logo.png +0 -0
  81. package/node_modules/@groove-dev/gui/public/groove-logo-short.png +0 -0
  82. package/node_modules/@groove-dev/gui/public/groove-logo.png +0 -0
  83. package/node_modules/@groove-dev/gui/src/components/ui/dropdown-menu.jsx +0 -60
  84. package/node_modules/@groove-dev/gui/src/lib/hooks/use-media-query.js +0 -18
  85. package/node_modules/@radix-ui/react-dropdown-menu/LICENSE +0 -21
  86. package/node_modules/@radix-ui/react-dropdown-menu/README.md +0 -3
  87. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts +0 -97
  88. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.ts +0 -97
  89. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +0 -337
  90. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +0 -7
  91. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs +0 -305
  92. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.map +0 -7
  93. package/node_modules/@radix-ui/react-dropdown-menu/package.json +0 -75
  94. package/node_modules/@radix-ui/react-popover/LICENSE +0 -21
  95. package/node_modules/@radix-ui/react-popover/README.md +0 -3
  96. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +0 -85
  97. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +0 -85
  98. package/node_modules/@radix-ui/react-popover/dist/index.js +0 -352
  99. package/node_modules/@radix-ui/react-popover/dist/index.js.map +0 -7
  100. package/node_modules/@radix-ui/react-popover/dist/index.mjs +0 -320
  101. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +0 -7
  102. package/node_modules/@radix-ui/react-popover/package.json +0 -82
  103. package/node_modules/@radix-ui/react-separator/LICENSE +0 -21
  104. package/node_modules/@radix-ui/react-separator/README.md +0 -3
  105. package/node_modules/@radix-ui/react-separator/dist/index.d.mts +0 -21
  106. package/node_modules/@radix-ui/react-separator/dist/index.d.ts +0 -21
  107. package/node_modules/@radix-ui/react-separator/dist/index.js +0 -65
  108. package/node_modules/@radix-ui/react-separator/dist/index.js.map +0 -7
  109. package/node_modules/@radix-ui/react-separator/dist/index.mjs +0 -32
  110. package/node_modules/@radix-ui/react-separator/dist/index.mjs.map +0 -7
  111. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/LICENSE +0 -21
  112. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/README.md +0 -3
  113. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.mts +0 -52
  114. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.ts +0 -52
  115. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.js +0 -80
  116. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -7
  117. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -47
  118. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -7
  119. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/package.json +0 -69
  120. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/LICENSE +0 -21
  121. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/README.md +0 -3
  122. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.d.mts +0 -22
  123. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.d.ts +0 -22
  124. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.js +0 -152
  125. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.js.map +0 -7
  126. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -119
  127. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -7
  128. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/package.json +0 -64
  129. package/node_modules/@radix-ui/react-separator/package.json +0 -69
  130. package/packages/gui/dist/assets/index-BkY43sei.css +0 -1
  131. package/packages/gui/dist/assets/index-DmKZLrXU.js +0 -652
  132. package/packages/gui/dist/groove-logo-short.png +0 -0
  133. package/packages/gui/dist/groove-logo.png +0 -0
  134. package/packages/gui/public/groove-logo-short.png +0 -0
  135. package/packages/gui/public/groove-logo.png +0 -0
  136. package/packages/gui/src/components/ui/dropdown-menu.jsx +0 -60
  137. package/packages/gui/src/lib/hooks/use-media-query.js +0 -18
  138. package/slides/convert-slides.js +0 -1120
  139. package/slides/deck.pptx +0 -0
  140. package/slides/index.html +0 -825
  141. package/slides/node_modules/.package-lock.json +0 -527
  142. package/slides/node_modules/@types/node/LICENSE +0 -21
  143. package/slides/node_modules/@types/node/README.md +0 -15
  144. package/slides/node_modules/@types/node/assert/strict.d.ts +0 -111
  145. package/slides/node_modules/@types/node/assert.d.ts +0 -1078
  146. package/slides/node_modules/@types/node/async_hooks.d.ts +0 -603
  147. package/slides/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  148. package/slides/node_modules/@types/node/buffer.d.ts +0 -1934
  149. package/slides/node_modules/@types/node/child_process.d.ts +0 -1476
  150. package/slides/node_modules/@types/node/cluster.d.ts +0 -578
  151. package/slides/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  152. package/slides/node_modules/@types/node/compatibility/index.d.ts +0 -9
  153. package/slides/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  154. package/slides/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  155. package/slides/node_modules/@types/node/console.d.ts +0 -452
  156. package/slides/node_modules/@types/node/constants.d.ts +0 -21
  157. package/slides/node_modules/@types/node/crypto.d.ts +0 -4545
  158. package/slides/node_modules/@types/node/dgram.d.ts +0 -600
  159. package/slides/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  160. package/slides/node_modules/@types/node/dns/promises.d.ts +0 -503
  161. package/slides/node_modules/@types/node/dns.d.ts +0 -923
  162. package/slides/node_modules/@types/node/domain.d.ts +0 -170
  163. package/slides/node_modules/@types/node/events.d.ts +0 -976
  164. package/slides/node_modules/@types/node/fs/promises.d.ts +0 -1295
  165. package/slides/node_modules/@types/node/fs.d.ts +0 -4461
  166. package/slides/node_modules/@types/node/globals.d.ts +0 -172
  167. package/slides/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  168. package/slides/node_modules/@types/node/http.d.ts +0 -2089
  169. package/slides/node_modules/@types/node/http2.d.ts +0 -2644
  170. package/slides/node_modules/@types/node/https.d.ts +0 -579
  171. package/slides/node_modules/@types/node/index.d.ts +0 -97
  172. package/slides/node_modules/@types/node/inspector.d.ts +0 -253
  173. package/slides/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  174. package/slides/node_modules/@types/node/module.d.ts +0 -891
  175. package/slides/node_modules/@types/node/net.d.ts +0 -1076
  176. package/slides/node_modules/@types/node/os.d.ts +0 -506
  177. package/slides/node_modules/@types/node/package.json +0 -145
  178. package/slides/node_modules/@types/node/path.d.ts +0 -200
  179. package/slides/node_modules/@types/node/perf_hooks.d.ts +0 -968
  180. package/slides/node_modules/@types/node/process.d.ts +0 -2084
  181. package/slides/node_modules/@types/node/punycode.d.ts +0 -117
  182. package/slides/node_modules/@types/node/querystring.d.ts +0 -152
  183. package/slides/node_modules/@types/node/readline/promises.d.ts +0 -161
  184. package/slides/node_modules/@types/node/readline.d.ts +0 -594
  185. package/slides/node_modules/@types/node/repl.d.ts +0 -428
  186. package/slides/node_modules/@types/node/sea.d.ts +0 -153
  187. package/slides/node_modules/@types/node/sqlite.d.ts +0 -721
  188. package/slides/node_modules/@types/node/stream/consumers.d.ts +0 -38
  189. package/slides/node_modules/@types/node/stream/promises.d.ts +0 -90
  190. package/slides/node_modules/@types/node/stream/web.d.ts +0 -622
  191. package/slides/node_modules/@types/node/stream.d.ts +0 -1687
  192. package/slides/node_modules/@types/node/string_decoder.d.ts +0 -67
  193. package/slides/node_modules/@types/node/test.d.ts +0 -2163
  194. package/slides/node_modules/@types/node/timers/promises.d.ts +0 -108
  195. package/slides/node_modules/@types/node/timers.d.ts +0 -287
  196. package/slides/node_modules/@types/node/tls.d.ts +0 -1319
  197. package/slides/node_modules/@types/node/trace_events.d.ts +0 -197
  198. package/slides/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  199. package/slides/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  200. package/slides/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  201. package/slides/node_modules/@types/node/tty.d.ts +0 -208
  202. package/slides/node_modules/@types/node/url.d.ts +0 -984
  203. package/slides/node_modules/@types/node/util.d.ts +0 -2606
  204. package/slides/node_modules/@types/node/v8.d.ts +0 -920
  205. package/slides/node_modules/@types/node/vm.d.ts +0 -1000
  206. package/slides/node_modules/@types/node/wasi.d.ts +0 -181
  207. package/slides/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  208. package/slides/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  209. package/slides/node_modules/@types/node/web-globals/events.d.ts +0 -97
  210. package/slides/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  211. package/slides/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  212. package/slides/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  213. package/slides/node_modules/@types/node/worker_threads.d.ts +0 -784
  214. package/slides/node_modules/@types/node/zlib.d.ts +0 -747
  215. package/slides/node_modules/base64-js/LICENSE +0 -21
  216. package/slides/node_modules/base64-js/README.md +0 -34
  217. package/slides/node_modules/base64-js/base64js.min.js +0 -1
  218. package/slides/node_modules/base64-js/index.d.ts +0 -3
  219. package/slides/node_modules/base64-js/index.js +0 -150
  220. package/slides/node_modules/base64-js/package.json +0 -47
  221. package/slides/node_modules/bl/.travis.yml +0 -17
  222. package/slides/node_modules/bl/BufferList.js +0 -396
  223. package/slides/node_modules/bl/LICENSE.md +0 -13
  224. package/slides/node_modules/bl/README.md +0 -247
  225. package/slides/node_modules/bl/bl.js +0 -84
  226. package/slides/node_modules/bl/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  227. package/slides/node_modules/bl/node_modules/readable-stream/GOVERNANCE.md +0 -136
  228. package/slides/node_modules/bl/node_modules/readable-stream/LICENSE +0 -47
  229. package/slides/node_modules/bl/node_modules/readable-stream/README.md +0 -106
  230. package/slides/node_modules/bl/node_modules/readable-stream/errors-browser.js +0 -127
  231. package/slides/node_modules/bl/node_modules/readable-stream/errors.js +0 -116
  232. package/slides/node_modules/bl/node_modules/readable-stream/experimentalWarning.js +0 -17
  233. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  234. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  235. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  236. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  237. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  238. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  239. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  240. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  241. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  242. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  243. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  244. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  245. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  246. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  247. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  248. package/slides/node_modules/bl/node_modules/readable-stream/package.json +0 -68
  249. package/slides/node_modules/bl/node_modules/readable-stream/readable-browser.js +0 -9
  250. package/slides/node_modules/bl/node_modules/readable-stream/readable.js +0 -16
  251. package/slides/node_modules/bl/package.json +0 -37
  252. package/slides/node_modules/bl/test/convert.js +0 -21
  253. package/slides/node_modules/bl/test/indexOf.js +0 -492
  254. package/slides/node_modules/bl/test/isBufferList.js +0 -32
  255. package/slides/node_modules/bl/test/test.js +0 -869
  256. package/slides/node_modules/buffer/AUTHORS.md +0 -70
  257. package/slides/node_modules/buffer/LICENSE +0 -21
  258. package/slides/node_modules/buffer/README.md +0 -410
  259. package/slides/node_modules/buffer/index.d.ts +0 -186
  260. package/slides/node_modules/buffer/index.js +0 -1817
  261. package/slides/node_modules/buffer/package.json +0 -96
  262. package/slides/node_modules/canvas/Readme.md +0 -657
  263. package/slides/node_modules/canvas/binding.gyp +0 -229
  264. package/slides/node_modules/canvas/browser.js +0 -31
  265. package/slides/node_modules/canvas/build/Makefile +0 -347
  266. package/slides/node_modules/canvas/build/Release/canvas.node +0 -0
  267. package/slides/node_modules/canvas/build/Release/libX11.6.dylib +0 -0
  268. package/slides/node_modules/canvas/build/Release/libXau.6.dylib +0 -0
  269. package/slides/node_modules/canvas/build/Release/libXdmcp.6.dylib +0 -0
  270. package/slides/node_modules/canvas/build/Release/libXext.6.dylib +0 -0
  271. package/slides/node_modules/canvas/build/Release/libXrender.1.dylib +0 -0
  272. package/slides/node_modules/canvas/build/Release/libcairo-gobject.2.dylib +0 -0
  273. package/slides/node_modules/canvas/build/Release/libcairo.2.dylib +0 -0
  274. package/slides/node_modules/canvas/build/Release/libdatrie.1.dylib +0 -0
  275. package/slides/node_modules/canvas/build/Release/libfontconfig.1.dylib +0 -0
  276. package/slides/node_modules/canvas/build/Release/libfreetype.6.dylib +0 -0
  277. package/slides/node_modules/canvas/build/Release/libfribidi.0.dylib +0 -0
  278. package/slides/node_modules/canvas/build/Release/libgdk_pixbuf-2.0.0.dylib +0 -0
  279. package/slides/node_modules/canvas/build/Release/libgif.7.2.0.dylib +0 -0
  280. package/slides/node_modules/canvas/build/Release/libgio-2.0.0.dylib +0 -0
  281. package/slides/node_modules/canvas/build/Release/libglib-2.0.0.dylib +0 -0
  282. package/slides/node_modules/canvas/build/Release/libgmodule-2.0.0.dylib +0 -0
  283. package/slides/node_modules/canvas/build/Release/libgobject-2.0.0.dylib +0 -0
  284. package/slides/node_modules/canvas/build/Release/libgraphite2.3.2.1.dylib +0 -0
  285. package/slides/node_modules/canvas/build/Release/libharfbuzz.0.dylib +0 -0
  286. package/slides/node_modules/canvas/build/Release/libintl.8.dylib +0 -0
  287. package/slides/node_modules/canvas/build/Release/libjpeg.8.3.2.dylib +0 -0
  288. package/slides/node_modules/canvas/build/Release/libpango-1.0.0.dylib +0 -0
  289. package/slides/node_modules/canvas/build/Release/libpangocairo-1.0.0.dylib +0 -0
  290. package/slides/node_modules/canvas/build/Release/libpangoft2-1.0.0.dylib +0 -0
  291. package/slides/node_modules/canvas/build/Release/libpcre2-8.0.dylib +0 -0
  292. package/slides/node_modules/canvas/build/Release/libpixman-1.0.dylib +0 -0
  293. package/slides/node_modules/canvas/build/Release/libpng16.16.dylib +0 -0
  294. package/slides/node_modules/canvas/build/Release/librsvg-2.2.dylib +0 -0
  295. package/slides/node_modules/canvas/build/Release/libthai.0.dylib +0 -0
  296. package/slides/node_modules/canvas/build/Release/libxcb-render.0.0.0.dylib +0 -0
  297. package/slides/node_modules/canvas/build/Release/libxcb-shm.0.0.0.dylib +0 -0
  298. package/slides/node_modules/canvas/build/Release/libxcb.1.1.0.dylib +0 -0
  299. package/slides/node_modules/canvas/build/binding.Makefile +0 -6
  300. package/slides/node_modules/canvas/build/canvas.target.mk +0 -299
  301. package/slides/node_modules/canvas/build/gyp-mac-tool +0 -766
  302. package/slides/node_modules/canvas/index.d.ts +0 -507
  303. package/slides/node_modules/canvas/index.js +0 -94
  304. package/slides/node_modules/canvas/lib/DOMMatrix.js +0 -678
  305. package/slides/node_modules/canvas/lib/bindings.js +0 -43
  306. package/slides/node_modules/canvas/lib/canvas.js +0 -113
  307. package/slides/node_modules/canvas/lib/context2d.js +0 -11
  308. package/slides/node_modules/canvas/lib/image.js +0 -97
  309. package/slides/node_modules/canvas/lib/jpegstream.js +0 -41
  310. package/slides/node_modules/canvas/lib/pattern.js +0 -15
  311. package/slides/node_modules/canvas/lib/pdfstream.js +0 -35
  312. package/slides/node_modules/canvas/lib/pngstream.js +0 -42
  313. package/slides/node_modules/canvas/package.json +0 -71
  314. package/slides/node_modules/canvas/src/Backends.h +0 -9
  315. package/slides/node_modules/canvas/src/Canvas.cc +0 -1026
  316. package/slides/node_modules/canvas/src/Canvas.h +0 -128
  317. package/slides/node_modules/canvas/src/CanvasError.h +0 -37
  318. package/slides/node_modules/canvas/src/CanvasGradient.cc +0 -113
  319. package/slides/node_modules/canvas/src/CanvasGradient.h +0 -20
  320. package/slides/node_modules/canvas/src/CanvasPattern.cc +0 -129
  321. package/slides/node_modules/canvas/src/CanvasPattern.h +0 -33
  322. package/slides/node_modules/canvas/src/CanvasRenderingContext2d.cc +0 -3527
  323. package/slides/node_modules/canvas/src/CanvasRenderingContext2d.h +0 -238
  324. package/slides/node_modules/canvas/src/CharData.h +0 -233
  325. package/slides/node_modules/canvas/src/FontParser.cc +0 -605
  326. package/slides/node_modules/canvas/src/FontParser.h +0 -115
  327. package/slides/node_modules/canvas/src/Image.cc +0 -1719
  328. package/slides/node_modules/canvas/src/Image.h +0 -146
  329. package/slides/node_modules/canvas/src/ImageData.cc +0 -138
  330. package/slides/node_modules/canvas/src/ImageData.h +0 -26
  331. package/slides/node_modules/canvas/src/InstanceData.h +0 -12
  332. package/slides/node_modules/canvas/src/JPEGStream.h +0 -157
  333. package/slides/node_modules/canvas/src/PNG.h +0 -292
  334. package/slides/node_modules/canvas/src/Point.h +0 -11
  335. package/slides/node_modules/canvas/src/Util.h +0 -9
  336. package/slides/node_modules/canvas/src/bmp/BMPParser.cc +0 -459
  337. package/slides/node_modules/canvas/src/bmp/BMPParser.h +0 -60
  338. package/slides/node_modules/canvas/src/bmp/LICENSE.md +0 -24
  339. package/slides/node_modules/canvas/src/closure.cc +0 -52
  340. package/slides/node_modules/canvas/src/closure.h +0 -98
  341. package/slides/node_modules/canvas/src/color.cc +0 -796
  342. package/slides/node_modules/canvas/src/color.h +0 -30
  343. package/slides/node_modules/canvas/src/dll_visibility.h +0 -20
  344. package/slides/node_modules/canvas/src/init.cc +0 -114
  345. package/slides/node_modules/canvas/src/register_font.cc +0 -352
  346. package/slides/node_modules/canvas/src/register_font.h +0 -7
  347. package/slides/node_modules/canvas/util/has_lib.js +0 -119
  348. package/slides/node_modules/canvas/util/win_jpeg_lookup.js +0 -21
  349. package/slides/node_modules/chownr/LICENSE +0 -15
  350. package/slides/node_modules/chownr/README.md +0 -3
  351. package/slides/node_modules/chownr/chownr.js +0 -167
  352. package/slides/node_modules/chownr/package.json +0 -29
  353. package/slides/node_modules/core-util-is/LICENSE +0 -19
  354. package/slides/node_modules/core-util-is/README.md +0 -3
  355. package/slides/node_modules/core-util-is/lib/util.js +0 -107
  356. package/slides/node_modules/core-util-is/package.json +0 -38
  357. package/slides/node_modules/decompress-response/index.d.ts +0 -22
  358. package/slides/node_modules/decompress-response/index.js +0 -58
  359. package/slides/node_modules/decompress-response/license +0 -9
  360. package/slides/node_modules/decompress-response/package.json +0 -56
  361. package/slides/node_modules/decompress-response/readme.md +0 -48
  362. package/slides/node_modules/deep-extend/CHANGELOG.md +0 -46
  363. package/slides/node_modules/deep-extend/LICENSE +0 -20
  364. package/slides/node_modules/deep-extend/README.md +0 -91
  365. package/slides/node_modules/deep-extend/index.js +0 -1
  366. package/slides/node_modules/deep-extend/lib/deep-extend.js +0 -150
  367. package/slides/node_modules/deep-extend/package.json +0 -62
  368. package/slides/node_modules/detect-libc/LICENSE +0 -201
  369. package/slides/node_modules/detect-libc/README.md +0 -163
  370. package/slides/node_modules/detect-libc/index.d.ts +0 -14
  371. package/slides/node_modules/detect-libc/lib/detect-libc.js +0 -313
  372. package/slides/node_modules/detect-libc/lib/elf.js +0 -39
  373. package/slides/node_modules/detect-libc/lib/filesystem.js +0 -51
  374. package/slides/node_modules/detect-libc/lib/process.js +0 -24
  375. package/slides/node_modules/detect-libc/package.json +0 -44
  376. package/slides/node_modules/end-of-stream/LICENSE +0 -21
  377. package/slides/node_modules/end-of-stream/README.md +0 -54
  378. package/slides/node_modules/end-of-stream/index.js +0 -96
  379. package/slides/node_modules/end-of-stream/package.json +0 -37
  380. package/slides/node_modules/expand-template/.travis.yml +0 -6
  381. package/slides/node_modules/expand-template/LICENSE +0 -21
  382. package/slides/node_modules/expand-template/README.md +0 -43
  383. package/slides/node_modules/expand-template/index.js +0 -26
  384. package/slides/node_modules/expand-template/package.json +0 -29
  385. package/slides/node_modules/expand-template/test.js +0 -67
  386. package/slides/node_modules/fs-constants/LICENSE +0 -21
  387. package/slides/node_modules/fs-constants/README.md +0 -26
  388. package/slides/node_modules/fs-constants/browser.js +0 -1
  389. package/slides/node_modules/fs-constants/index.js +0 -1
  390. package/slides/node_modules/fs-constants/package.json +0 -19
  391. package/slides/node_modules/github-from-package/.travis.yml +0 -4
  392. package/slides/node_modules/github-from-package/LICENSE +0 -18
  393. package/slides/node_modules/github-from-package/example/package.json +0 -8
  394. package/slides/node_modules/github-from-package/example/url.js +0 -3
  395. package/slides/node_modules/github-from-package/index.js +0 -17
  396. package/slides/node_modules/github-from-package/package.json +0 -30
  397. package/slides/node_modules/github-from-package/readme.markdown +0 -53
  398. package/slides/node_modules/github-from-package/test/a.json +0 -8
  399. package/slides/node_modules/github-from-package/test/b.json +0 -5
  400. package/slides/node_modules/github-from-package/test/c.json +0 -5
  401. package/slides/node_modules/github-from-package/test/d.json +0 -7
  402. package/slides/node_modules/github-from-package/test/e.json +0 -5
  403. package/slides/node_modules/github-from-package/test/url.js +0 -19
  404. package/slides/node_modules/https/package.json +0 -15
  405. package/slides/node_modules/ieee754/LICENSE +0 -11
  406. package/slides/node_modules/ieee754/README.md +0 -51
  407. package/slides/node_modules/ieee754/index.d.ts +0 -10
  408. package/slides/node_modules/ieee754/index.js +0 -85
  409. package/slides/node_modules/ieee754/package.json +0 -52
  410. package/slides/node_modules/image-size/LICENSE +0 -9
  411. package/slides/node_modules/image-size/Readme.md +0 -184
  412. package/slides/node_modules/image-size/bin/image-size.js +0 -53
  413. package/slides/node_modules/image-size/dist/detector.d.ts +0 -2
  414. package/slides/node_modules/image-size/dist/detector.js +0 -30
  415. package/slides/node_modules/image-size/dist/index.d.ts +0 -10
  416. package/slides/node_modules/image-size/dist/index.js +0 -129
  417. package/slides/node_modules/image-size/dist/types/bmp.d.ts +0 -2
  418. package/slides/node_modules/image-size/dist/types/bmp.js +0 -11
  419. package/slides/node_modules/image-size/dist/types/cur.d.ts +0 -2
  420. package/slides/node_modules/image-size/dist/types/cur.js +0 -17
  421. package/slides/node_modules/image-size/dist/types/dds.d.ts +0 -2
  422. package/slides/node_modules/image-size/dist/types/dds.js +0 -11
  423. package/slides/node_modules/image-size/dist/types/gif.d.ts +0 -2
  424. package/slides/node_modules/image-size/dist/types/gif.js +0 -12
  425. package/slides/node_modules/image-size/dist/types/heif.d.ts +0 -2
  426. package/slides/node_modules/image-size/dist/types/heif.js +0 -40
  427. package/slides/node_modules/image-size/dist/types/icns.d.ts +0 -2
  428. package/slides/node_modules/image-size/dist/types/icns.js +0 -101
  429. package/slides/node_modules/image-size/dist/types/ico.d.ts +0 -2
  430. package/slides/node_modules/image-size/dist/types/ico.js +0 -68
  431. package/slides/node_modules/image-size/dist/types/index.d.ts +0 -23
  432. package/slides/node_modules/image-size/dist/types/index.js +0 -46
  433. package/slides/node_modules/image-size/dist/types/interface.d.ts +0 -13
  434. package/slides/node_modules/image-size/dist/types/interface.js +0 -2
  435. package/slides/node_modules/image-size/dist/types/j2c.d.ts +0 -2
  436. package/slides/node_modules/image-size/dist/types/j2c.js +0 -12
  437. package/slides/node_modules/image-size/dist/types/jp2.d.ts +0 -2
  438. package/slides/node_modules/image-size/dist/types/jp2.js +0 -27
  439. package/slides/node_modules/image-size/dist/types/jpg.d.ts +0 -2
  440. package/slides/node_modules/image-size/dist/types/jpg.js +0 -123
  441. package/slides/node_modules/image-size/dist/types/jxl-stream.d.ts +0 -2
  442. package/slides/node_modules/image-size/dist/types/jxl-stream.js +0 -45
  443. package/slides/node_modules/image-size/dist/types/jxl.d.ts +0 -2
  444. package/slides/node_modules/image-size/dist/types/jxl.js +0 -59
  445. package/slides/node_modules/image-size/dist/types/ktx.d.ts +0 -2
  446. package/slides/node_modules/image-size/dist/types/ktx.js +0 -19
  447. package/slides/node_modules/image-size/dist/types/png.d.ts +0 -2
  448. package/slides/node_modules/image-size/dist/types/png.js +0 -35
  449. package/slides/node_modules/image-size/dist/types/pnm.d.ts +0 -2
  450. package/slides/node_modules/image-size/dist/types/pnm.js +0 -72
  451. package/slides/node_modules/image-size/dist/types/psd.d.ts +0 -2
  452. package/slides/node_modules/image-size/dist/types/psd.js +0 -11
  453. package/slides/node_modules/image-size/dist/types/svg.d.ts +0 -2
  454. package/slides/node_modules/image-size/dist/types/svg.js +0 -90
  455. package/slides/node_modules/image-size/dist/types/tga.d.ts +0 -2
  456. package/slides/node_modules/image-size/dist/types/tga.js +0 -15
  457. package/slides/node_modules/image-size/dist/types/tiff.d.ts +0 -2
  458. package/slides/node_modules/image-size/dist/types/tiff.js +0 -95
  459. package/slides/node_modules/image-size/dist/types/utils.d.ts +0 -15
  460. package/slides/node_modules/image-size/dist/types/utils.js +0 -75
  461. package/slides/node_modules/image-size/dist/types/webp.d.ts +0 -2
  462. package/slides/node_modules/image-size/dist/types/webp.js +0 -60
  463. package/slides/node_modules/image-size/dist/utils/bit-reader.d.ts +0 -10
  464. package/slides/node_modules/image-size/dist/utils/bit-reader.js +0 -44
  465. package/slides/node_modules/image-size/package.json +0 -81
  466. package/slides/node_modules/immediate/LICENSE.txt +0 -20
  467. package/slides/node_modules/immediate/README.md +0 -93
  468. package/slides/node_modules/immediate/dist/immediate.js +0 -75
  469. package/slides/node_modules/immediate/dist/immediate.min.js +0 -1
  470. package/slides/node_modules/immediate/lib/browser.js +0 -69
  471. package/slides/node_modules/immediate/lib/index.js +0 -73
  472. package/slides/node_modules/immediate/package.json +0 -42
  473. package/slides/node_modules/inherits/LICENSE +0 -16
  474. package/slides/node_modules/inherits/README.md +0 -42
  475. package/slides/node_modules/inherits/inherits.js +0 -9
  476. package/slides/node_modules/inherits/inherits_browser.js +0 -27
  477. package/slides/node_modules/inherits/package.json +0 -29
  478. package/slides/node_modules/ini/LICENSE +0 -15
  479. package/slides/node_modules/ini/README.md +0 -102
  480. package/slides/node_modules/ini/ini.js +0 -206
  481. package/slides/node_modules/ini/package.json +0 -33
  482. package/slides/node_modules/isarray/.travis.yml +0 -4
  483. package/slides/node_modules/isarray/Makefile +0 -6
  484. package/slides/node_modules/isarray/README.md +0 -60
  485. package/slides/node_modules/isarray/component.json +0 -19
  486. package/slides/node_modules/isarray/index.js +0 -5
  487. package/slides/node_modules/isarray/package.json +0 -45
  488. package/slides/node_modules/isarray/test.js +0 -20
  489. package/slides/node_modules/jszip/.codeclimate.yml +0 -16
  490. package/slides/node_modules/jszip/.editorconfig +0 -8
  491. package/slides/node_modules/jszip/.eslintrc.js +0 -43
  492. package/slides/node_modules/jszip/.github/workflows/pr.yaml +0 -58
  493. package/slides/node_modules/jszip/.jekyll-metadata +0 -0
  494. package/slides/node_modules/jszip/.travis.yml +0 -17
  495. package/slides/node_modules/jszip/CHANGES.md +0 -204
  496. package/slides/node_modules/jszip/LICENSE.markdown +0 -651
  497. package/slides/node_modules/jszip/README.markdown +0 -33
  498. package/slides/node_modules/jszip/deps.js +0 -37
  499. package/slides/node_modules/jszip/dist/jszip.js +0 -11577
  500. package/slides/node_modules/jszip/dist/jszip.min.js +0 -13
  501. package/slides/node_modules/jszip/graph.svg +0 -601
  502. package/slides/node_modules/jszip/index.d.ts +0 -330
  503. package/slides/node_modules/jszip/lib/base64.js +0 -106
  504. package/slides/node_modules/jszip/lib/compressedObject.js +0 -74
  505. package/slides/node_modules/jszip/lib/compressions.js +0 -14
  506. package/slides/node_modules/jszip/lib/crc32.js +0 -77
  507. package/slides/node_modules/jszip/lib/defaults.js +0 -11
  508. package/slides/node_modules/jszip/lib/external.js +0 -18
  509. package/slides/node_modules/jszip/lib/flate.js +0 -85
  510. package/slides/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -539
  511. package/slides/node_modules/jszip/lib/generate/index.js +0 -57
  512. package/slides/node_modules/jszip/lib/index.js +0 -55
  513. package/slides/node_modules/jszip/lib/license_header.js +0 -11
  514. package/slides/node_modules/jszip/lib/load.js +0 -88
  515. package/slides/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  516. package/slides/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  517. package/slides/node_modules/jszip/lib/nodejsUtils.js +0 -57
  518. package/slides/node_modules/jszip/lib/object.js +0 -384
  519. package/slides/node_modules/jszip/lib/readable-stream-browser.js +0 -10
  520. package/slides/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  521. package/slides/node_modules/jszip/lib/reader/DataReader.js +0 -116
  522. package/slides/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  523. package/slides/node_modules/jszip/lib/reader/StringReader.js +0 -38
  524. package/slides/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  525. package/slides/node_modules/jszip/lib/reader/readerFor.js +0 -28
  526. package/slides/node_modules/jszip/lib/signature.js +0 -7
  527. package/slides/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  528. package/slides/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  529. package/slides/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  530. package/slides/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  531. package/slides/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  532. package/slides/node_modules/jszip/lib/stream/StreamHelper.js +0 -214
  533. package/slides/node_modules/jszip/lib/support.js +0 -38
  534. package/slides/node_modules/jszip/lib/utf8.js +0 -275
  535. package/slides/node_modules/jszip/lib/utils.js +0 -501
  536. package/slides/node_modules/jszip/lib/zipEntries.js +0 -261
  537. package/slides/node_modules/jszip/lib/zipEntry.js +0 -293
  538. package/slides/node_modules/jszip/lib/zipObject.js +0 -133
  539. package/slides/node_modules/jszip/package.json +0 -67
  540. package/slides/node_modules/jszip/sponsors.md +0 -21
  541. package/slides/node_modules/jszip/tsconfig.json +0 -101
  542. package/slides/node_modules/jszip/vendor/FileSaver.js +0 -247
  543. package/slides/node_modules/lie/README.md +0 -62
  544. package/slides/node_modules/lie/dist/lie.js +0 -350
  545. package/slides/node_modules/lie/dist/lie.min.js +0 -1
  546. package/slides/node_modules/lie/dist/lie.polyfill.js +0 -358
  547. package/slides/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  548. package/slides/node_modules/lie/lib/browser.js +0 -273
  549. package/slides/node_modules/lie/lib/index.js +0 -298
  550. package/slides/node_modules/lie/license.md +0 -7
  551. package/slides/node_modules/lie/lie.d.ts +0 -244
  552. package/slides/node_modules/lie/package.json +0 -69
  553. package/slides/node_modules/lie/polyfill.js +0 -4
  554. package/slides/node_modules/mimic-response/index.d.ts +0 -17
  555. package/slides/node_modules/mimic-response/index.js +0 -77
  556. package/slides/node_modules/mimic-response/license +0 -9
  557. package/slides/node_modules/mimic-response/package.json +0 -42
  558. package/slides/node_modules/mimic-response/readme.md +0 -78
  559. package/slides/node_modules/minimist/.eslintrc +0 -29
  560. package/slides/node_modules/minimist/.github/FUNDING.yml +0 -12
  561. package/slides/node_modules/minimist/.nycrc +0 -14
  562. package/slides/node_modules/minimist/CHANGELOG.md +0 -298
  563. package/slides/node_modules/minimist/LICENSE +0 -18
  564. package/slides/node_modules/minimist/README.md +0 -121
  565. package/slides/node_modules/minimist/example/parse.js +0 -4
  566. package/slides/node_modules/minimist/index.js +0 -263
  567. package/slides/node_modules/minimist/package.json +0 -75
  568. package/slides/node_modules/minimist/test/all_bool.js +0 -34
  569. package/slides/node_modules/minimist/test/bool.js +0 -177
  570. package/slides/node_modules/minimist/test/dash.js +0 -43
  571. package/slides/node_modules/minimist/test/default_bool.js +0 -37
  572. package/slides/node_modules/minimist/test/dotted.js +0 -24
  573. package/slides/node_modules/minimist/test/kv_short.js +0 -32
  574. package/slides/node_modules/minimist/test/long.js +0 -33
  575. package/slides/node_modules/minimist/test/num.js +0 -38
  576. package/slides/node_modules/minimist/test/parse.js +0 -209
  577. package/slides/node_modules/minimist/test/parse_modified.js +0 -11
  578. package/slides/node_modules/minimist/test/proto.js +0 -64
  579. package/slides/node_modules/minimist/test/short.js +0 -69
  580. package/slides/node_modules/minimist/test/stop_early.js +0 -17
  581. package/slides/node_modules/minimist/test/unknown.js +0 -104
  582. package/slides/node_modules/minimist/test/whitespace.js +0 -10
  583. package/slides/node_modules/mkdirp-classic/LICENSE +0 -21
  584. package/slides/node_modules/mkdirp-classic/README.md +0 -18
  585. package/slides/node_modules/mkdirp-classic/index.js +0 -98
  586. package/slides/node_modules/mkdirp-classic/package.json +0 -18
  587. package/slides/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  588. package/slides/node_modules/napi-build-utils/LICENSE +0 -21
  589. package/slides/node_modules/napi-build-utils/README.md +0 -52
  590. package/slides/node_modules/napi-build-utils/index.js +0 -214
  591. package/slides/node_modules/napi-build-utils/index.md +0 -0
  592. package/slides/node_modules/napi-build-utils/package.json +0 -42
  593. package/slides/node_modules/node-abi/LICENSE +0 -21
  594. package/slides/node_modules/node-abi/README.md +0 -54
  595. package/slides/node_modules/node-abi/abi_registry.json +0 -439
  596. package/slides/node_modules/node-abi/index.js +0 -179
  597. package/slides/node_modules/node-abi/package.json +0 -45
  598. package/slides/node_modules/node-addon-api/LICENSE.md +0 -9
  599. package/slides/node_modules/node-addon-api/README.md +0 -319
  600. package/slides/node_modules/node-addon-api/common.gypi +0 -20
  601. package/slides/node_modules/node-addon-api/except.gypi +0 -25
  602. package/slides/node_modules/node-addon-api/index.js +0 -12
  603. package/slides/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  604. package/slides/node_modules/node-addon-api/napi-inl.h +0 -6607
  605. package/slides/node_modules/node-addon-api/napi.h +0 -3201
  606. package/slides/node_modules/node-addon-api/node_addon_api.gyp +0 -32
  607. package/slides/node_modules/node-addon-api/node_api.gyp +0 -9
  608. package/slides/node_modules/node-addon-api/noexcept.gypi +0 -26
  609. package/slides/node_modules/node-addon-api/nothing.c +0 -0
  610. package/slides/node_modules/node-addon-api/package-support.json +0 -21
  611. package/slides/node_modules/node-addon-api/package.json +0 -480
  612. package/slides/node_modules/node-addon-api/tools/README.md +0 -73
  613. package/slides/node_modules/node-addon-api/tools/check-napi.js +0 -99
  614. package/slides/node_modules/node-addon-api/tools/clang-format.js +0 -71
  615. package/slides/node_modules/node-addon-api/tools/conversion.js +0 -301
  616. package/slides/node_modules/node-addon-api/tools/eslint-format.js +0 -79
  617. package/slides/node_modules/once/LICENSE +0 -15
  618. package/slides/node_modules/once/README.md +0 -79
  619. package/slides/node_modules/once/once.js +0 -42
  620. package/slides/node_modules/once/package.json +0 -33
  621. package/slides/node_modules/pako/CHANGELOG.md +0 -164
  622. package/slides/node_modules/pako/LICENSE +0 -21
  623. package/slides/node_modules/pako/README.md +0 -191
  624. package/slides/node_modules/pako/dist/pako.js +0 -6818
  625. package/slides/node_modules/pako/dist/pako.min.js +0 -1
  626. package/slides/node_modules/pako/dist/pako_deflate.js +0 -3997
  627. package/slides/node_modules/pako/dist/pako_deflate.min.js +0 -1
  628. package/slides/node_modules/pako/dist/pako_inflate.js +0 -3300
  629. package/slides/node_modules/pako/dist/pako_inflate.min.js +0 -1
  630. package/slides/node_modules/pako/index.js +0 -14
  631. package/slides/node_modules/pako/lib/deflate.js +0 -400
  632. package/slides/node_modules/pako/lib/inflate.js +0 -423
  633. package/slides/node_modules/pako/lib/utils/common.js +0 -105
  634. package/slides/node_modules/pako/lib/utils/strings.js +0 -187
  635. package/slides/node_modules/pako/lib/zlib/README +0 -59
  636. package/slides/node_modules/pako/lib/zlib/adler32.js +0 -51
  637. package/slides/node_modules/pako/lib/zlib/constants.js +0 -68
  638. package/slides/node_modules/pako/lib/zlib/crc32.js +0 -59
  639. package/slides/node_modules/pako/lib/zlib/deflate.js +0 -1874
  640. package/slides/node_modules/pako/lib/zlib/gzheader.js +0 -58
  641. package/slides/node_modules/pako/lib/zlib/inffast.js +0 -345
  642. package/slides/node_modules/pako/lib/zlib/inflate.js +0 -1556
  643. package/slides/node_modules/pako/lib/zlib/inftrees.js +0 -343
  644. package/slides/node_modules/pako/lib/zlib/messages.js +0 -32
  645. package/slides/node_modules/pako/lib/zlib/trees.js +0 -1222
  646. package/slides/node_modules/pako/lib/zlib/zstream.js +0 -47
  647. package/slides/node_modules/pako/package.json +0 -44
  648. package/slides/node_modules/pptxgenjs/LICENSE +0 -21
  649. package/slides/node_modules/pptxgenjs/README.md +0 -224
  650. package/slides/node_modules/pptxgenjs/dist/pptxgen.bundle.js +0 -96
  651. package/slides/node_modules/pptxgenjs/dist/pptxgen.bundle.js.map +0 -1
  652. package/slides/node_modules/pptxgenjs/dist/pptxgen.cjs.js +0 -7370
  653. package/slides/node_modules/pptxgenjs/dist/pptxgen.es.js +0 -7368
  654. package/slides/node_modules/pptxgenjs/dist/pptxgen.min.js +0 -96
  655. package/slides/node_modules/pptxgenjs/dist/pptxgen.min.js.map +0 -1
  656. package/slides/node_modules/pptxgenjs/package.json +0 -96
  657. package/slides/node_modules/pptxgenjs/types/index.d.ts +0 -2679
  658. package/slides/node_modules/prebuild-install/CHANGELOG.md +0 -131
  659. package/slides/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  660. package/slides/node_modules/prebuild-install/LICENSE +0 -21
  661. package/slides/node_modules/prebuild-install/README.md +0 -163
  662. package/slides/node_modules/prebuild-install/asset.js +0 -44
  663. package/slides/node_modules/prebuild-install/bin.js +0 -78
  664. package/slides/node_modules/prebuild-install/download.js +0 -142
  665. package/slides/node_modules/prebuild-install/error.js +0 -14
  666. package/slides/node_modules/prebuild-install/help.txt +0 -16
  667. package/slides/node_modules/prebuild-install/index.js +0 -1
  668. package/slides/node_modules/prebuild-install/log.js +0 -33
  669. package/slides/node_modules/prebuild-install/package.json +0 -67
  670. package/slides/node_modules/prebuild-install/proxy.js +0 -35
  671. package/slides/node_modules/prebuild-install/rc.js +0 -64
  672. package/slides/node_modules/prebuild-install/util.js +0 -143
  673. package/slides/node_modules/process-nextick-args/index.js +0 -45
  674. package/slides/node_modules/process-nextick-args/license.md +0 -19
  675. package/slides/node_modules/process-nextick-args/package.json +0 -25
  676. package/slides/node_modules/process-nextick-args/readme.md +0 -18
  677. package/slides/node_modules/pump/.github/FUNDING.yml +0 -2
  678. package/slides/node_modules/pump/.travis.yml +0 -5
  679. package/slides/node_modules/pump/LICENSE +0 -21
  680. package/slides/node_modules/pump/README.md +0 -74
  681. package/slides/node_modules/pump/SECURITY.md +0 -5
  682. package/slides/node_modules/pump/empty.js +0 -1
  683. package/slides/node_modules/pump/index.js +0 -86
  684. package/slides/node_modules/pump/package.json +0 -30
  685. package/slides/node_modules/pump/test-browser.js +0 -66
  686. package/slides/node_modules/pump/test-node.js +0 -53
  687. package/slides/node_modules/queue/LICENSE +0 -8
  688. package/slides/node_modules/queue/index.d.ts +0 -173
  689. package/slides/node_modules/queue/index.js +0 -195
  690. package/slides/node_modules/queue/package.json +0 -43
  691. package/slides/node_modules/queue/readme.md +0 -221
  692. package/slides/node_modules/rc/LICENSE.APACHE2 +0 -15
  693. package/slides/node_modules/rc/LICENSE.BSD +0 -26
  694. package/slides/node_modules/rc/LICENSE.MIT +0 -24
  695. package/slides/node_modules/rc/README.md +0 -227
  696. package/slides/node_modules/rc/browser.js +0 -7
  697. package/slides/node_modules/rc/cli.js +0 -4
  698. package/slides/node_modules/rc/index.js +0 -53
  699. package/slides/node_modules/rc/lib/utils.js +0 -104
  700. package/slides/node_modules/rc/package.json +0 -29
  701. package/slides/node_modules/rc/test/ini.js +0 -16
  702. package/slides/node_modules/rc/test/nested-env-vars.js +0 -50
  703. package/slides/node_modules/rc/test/test.js +0 -59
  704. package/slides/node_modules/readable-stream/.travis.yml +0 -34
  705. package/slides/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  706. package/slides/node_modules/readable-stream/GOVERNANCE.md +0 -136
  707. package/slides/node_modules/readable-stream/LICENSE +0 -47
  708. package/slides/node_modules/readable-stream/README.md +0 -58
  709. package/slides/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  710. package/slides/node_modules/readable-stream/duplex-browser.js +0 -1
  711. package/slides/node_modules/readable-stream/duplex.js +0 -1
  712. package/slides/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  713. package/slides/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  714. package/slides/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  715. package/slides/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  716. package/slides/node_modules/readable-stream/lib/_stream_writable.js +0 -685
  717. package/slides/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
  718. package/slides/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
  719. package/slides/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  720. package/slides/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  721. package/slides/node_modules/readable-stream/package.json +0 -52
  722. package/slides/node_modules/readable-stream/passthrough.js +0 -1
  723. package/slides/node_modules/readable-stream/readable-browser.js +0 -7
  724. package/slides/node_modules/readable-stream/readable.js +0 -19
  725. package/slides/node_modules/readable-stream/transform.js +0 -1
  726. package/slides/node_modules/readable-stream/writable-browser.js +0 -1
  727. package/slides/node_modules/readable-stream/writable.js +0 -8
  728. package/slides/node_modules/safe-buffer/LICENSE +0 -21
  729. package/slides/node_modules/safe-buffer/README.md +0 -584
  730. package/slides/node_modules/safe-buffer/index.d.ts +0 -187
  731. package/slides/node_modules/safe-buffer/index.js +0 -62
  732. package/slides/node_modules/safe-buffer/package.json +0 -37
  733. package/slides/node_modules/semver/LICENSE +0 -15
  734. package/slides/node_modules/semver/README.md +0 -665
  735. package/slides/node_modules/semver/bin/semver.js +0 -191
  736. package/slides/node_modules/semver/classes/comparator.js +0 -143
  737. package/slides/node_modules/semver/classes/index.js +0 -7
  738. package/slides/node_modules/semver/classes/range.js +0 -557
  739. package/slides/node_modules/semver/classes/semver.js +0 -333
  740. package/slides/node_modules/semver/functions/clean.js +0 -8
  741. package/slides/node_modules/semver/functions/cmp.js +0 -54
  742. package/slides/node_modules/semver/functions/coerce.js +0 -62
  743. package/slides/node_modules/semver/functions/compare-build.js +0 -9
  744. package/slides/node_modules/semver/functions/compare-loose.js +0 -5
  745. package/slides/node_modules/semver/functions/compare.js +0 -7
  746. package/slides/node_modules/semver/functions/diff.js +0 -60
  747. package/slides/node_modules/semver/functions/eq.js +0 -5
  748. package/slides/node_modules/semver/functions/gt.js +0 -5
  749. package/slides/node_modules/semver/functions/gte.js +0 -5
  750. package/slides/node_modules/semver/functions/inc.js +0 -21
  751. package/slides/node_modules/semver/functions/lt.js +0 -5
  752. package/slides/node_modules/semver/functions/lte.js +0 -5
  753. package/slides/node_modules/semver/functions/major.js +0 -5
  754. package/slides/node_modules/semver/functions/minor.js +0 -5
  755. package/slides/node_modules/semver/functions/neq.js +0 -5
  756. package/slides/node_modules/semver/functions/parse.js +0 -18
  757. package/slides/node_modules/semver/functions/patch.js +0 -5
  758. package/slides/node_modules/semver/functions/prerelease.js +0 -8
  759. package/slides/node_modules/semver/functions/rcompare.js +0 -5
  760. package/slides/node_modules/semver/functions/rsort.js +0 -5
  761. package/slides/node_modules/semver/functions/satisfies.js +0 -12
  762. package/slides/node_modules/semver/functions/sort.js +0 -5
  763. package/slides/node_modules/semver/functions/valid.js +0 -8
  764. package/slides/node_modules/semver/index.js +0 -91
  765. package/slides/node_modules/semver/internal/constants.js +0 -37
  766. package/slides/node_modules/semver/internal/debug.js +0 -11
  767. package/slides/node_modules/semver/internal/identifiers.js +0 -29
  768. package/slides/node_modules/semver/internal/lrucache.js +0 -42
  769. package/slides/node_modules/semver/internal/parse-options.js +0 -17
  770. package/slides/node_modules/semver/internal/re.js +0 -223
  771. package/slides/node_modules/semver/package.json +0 -78
  772. package/slides/node_modules/semver/preload.js +0 -4
  773. package/slides/node_modules/semver/range.bnf +0 -16
  774. package/slides/node_modules/semver/ranges/gtr.js +0 -6
  775. package/slides/node_modules/semver/ranges/intersects.js +0 -9
  776. package/slides/node_modules/semver/ranges/ltr.js +0 -6
  777. package/slides/node_modules/semver/ranges/max-satisfying.js +0 -27
  778. package/slides/node_modules/semver/ranges/min-satisfying.js +0 -26
  779. package/slides/node_modules/semver/ranges/min-version.js +0 -63
  780. package/slides/node_modules/semver/ranges/outside.js +0 -82
  781. package/slides/node_modules/semver/ranges/simplify.js +0 -49
  782. package/slides/node_modules/semver/ranges/subset.js +0 -249
  783. package/slides/node_modules/semver/ranges/to-comparators.js +0 -10
  784. package/slides/node_modules/semver/ranges/valid.js +0 -13
  785. package/slides/node_modules/setimmediate/LICENSE.txt +0 -20
  786. package/slides/node_modules/setimmediate/package.json +0 -30
  787. package/slides/node_modules/setimmediate/setImmediate.js +0 -186
  788. package/slides/node_modules/simple-concat/.travis.yml +0 -3
  789. package/slides/node_modules/simple-concat/LICENSE +0 -20
  790. package/slides/node_modules/simple-concat/README.md +0 -44
  791. package/slides/node_modules/simple-concat/index.js +0 -15
  792. package/slides/node_modules/simple-concat/package.json +0 -47
  793. package/slides/node_modules/simple-concat/test/basic.js +0 -41
  794. package/slides/node_modules/simple-get/.github/dependabot.yml +0 -15
  795. package/slides/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  796. package/slides/node_modules/simple-get/LICENSE +0 -20
  797. package/slides/node_modules/simple-get/README.md +0 -333
  798. package/slides/node_modules/simple-get/index.js +0 -108
  799. package/slides/node_modules/simple-get/package.json +0 -67
  800. package/slides/node_modules/string_decoder/.travis.yml +0 -50
  801. package/slides/node_modules/string_decoder/LICENSE +0 -48
  802. package/slides/node_modules/string_decoder/README.md +0 -47
  803. package/slides/node_modules/string_decoder/lib/string_decoder.js +0 -296
  804. package/slides/node_modules/string_decoder/package.json +0 -31
  805. package/slides/node_modules/strip-json-comments/index.js +0 -70
  806. package/slides/node_modules/strip-json-comments/license +0 -21
  807. package/slides/node_modules/strip-json-comments/package.json +0 -42
  808. package/slides/node_modules/strip-json-comments/readme.md +0 -64
  809. package/slides/node_modules/tar-fs/.travis.yml +0 -6
  810. package/slides/node_modules/tar-fs/LICENSE +0 -21
  811. package/slides/node_modules/tar-fs/README.md +0 -165
  812. package/slides/node_modules/tar-fs/index.js +0 -363
  813. package/slides/node_modules/tar-fs/package.json +0 -41
  814. package/slides/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  815. package/slides/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  816. package/slides/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  817. package/slides/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  818. package/slides/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  819. package/slides/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  820. package/slides/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  821. package/slides/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  822. package/slides/node_modules/tar-fs/test/fixtures/e/file +0 -0
  823. package/slides/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  824. package/slides/node_modules/tar-fs/test/index.js +0 -346
  825. package/slides/node_modules/tar-stream/LICENSE +0 -21
  826. package/slides/node_modules/tar-stream/README.md +0 -168
  827. package/slides/node_modules/tar-stream/extract.js +0 -257
  828. package/slides/node_modules/tar-stream/headers.js +0 -295
  829. package/slides/node_modules/tar-stream/index.js +0 -2
  830. package/slides/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  831. package/slides/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md +0 -136
  832. package/slides/node_modules/tar-stream/node_modules/readable-stream/LICENSE +0 -47
  833. package/slides/node_modules/tar-stream/node_modules/readable-stream/README.md +0 -106
  834. package/slides/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js +0 -127
  835. package/slides/node_modules/tar-stream/node_modules/readable-stream/errors.js +0 -116
  836. package/slides/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js +0 -17
  837. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  838. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  839. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  840. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  841. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  842. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  843. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  844. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  845. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  846. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  847. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  848. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  849. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  850. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  851. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  852. package/slides/node_modules/tar-stream/node_modules/readable-stream/package.json +0 -68
  853. package/slides/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js +0 -9
  854. package/slides/node_modules/tar-stream/node_modules/readable-stream/readable.js +0 -16
  855. package/slides/node_modules/tar-stream/pack.js +0 -255
  856. package/slides/node_modules/tar-stream/package.json +0 -58
  857. package/slides/node_modules/tar-stream/sandbox.js +0 -11
  858. package/slides/node_modules/tunnel-agent/LICENSE +0 -55
  859. package/slides/node_modules/tunnel-agent/README.md +0 -4
  860. package/slides/node_modules/tunnel-agent/index.js +0 -244
  861. package/slides/node_modules/tunnel-agent/package.json +0 -22
  862. package/slides/node_modules/undici-types/LICENSE +0 -21
  863. package/slides/node_modules/undici-types/README.md +0 -6
  864. package/slides/node_modules/undici-types/agent.d.ts +0 -31
  865. package/slides/node_modules/undici-types/api.d.ts +0 -43
  866. package/slides/node_modules/undici-types/balanced-pool.d.ts +0 -29
  867. package/slides/node_modules/undici-types/cache.d.ts +0 -36
  868. package/slides/node_modules/undici-types/client.d.ts +0 -108
  869. package/slides/node_modules/undici-types/connector.d.ts +0 -34
  870. package/slides/node_modules/undici-types/content-type.d.ts +0 -21
  871. package/slides/node_modules/undici-types/cookies.d.ts +0 -28
  872. package/slides/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  873. package/slides/node_modules/undici-types/dispatcher.d.ts +0 -256
  874. package/slides/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  875. package/slides/node_modules/undici-types/errors.d.ts +0 -149
  876. package/slides/node_modules/undici-types/eventsource.d.ts +0 -61
  877. package/slides/node_modules/undici-types/fetch.d.ts +0 -209
  878. package/slides/node_modules/undici-types/file.d.ts +0 -39
  879. package/slides/node_modules/undici-types/filereader.d.ts +0 -54
  880. package/slides/node_modules/undici-types/formdata.d.ts +0 -108
  881. package/slides/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  882. package/slides/node_modules/undici-types/global-origin.d.ts +0 -7
  883. package/slides/node_modules/undici-types/handlers.d.ts +0 -15
  884. package/slides/node_modules/undici-types/header.d.ts +0 -4
  885. package/slides/node_modules/undici-types/index.d.ts +0 -71
  886. package/slides/node_modules/undici-types/interceptors.d.ts +0 -17
  887. package/slides/node_modules/undici-types/mock-agent.d.ts +0 -50
  888. package/slides/node_modules/undici-types/mock-client.d.ts +0 -25
  889. package/slides/node_modules/undici-types/mock-errors.d.ts +0 -12
  890. package/slides/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  891. package/slides/node_modules/undici-types/mock-pool.d.ts +0 -25
  892. package/slides/node_modules/undici-types/package.json +0 -55
  893. package/slides/node_modules/undici-types/patch.d.ts +0 -33
  894. package/slides/node_modules/undici-types/pool-stats.d.ts +0 -19
  895. package/slides/node_modules/undici-types/pool.d.ts +0 -39
  896. package/slides/node_modules/undici-types/proxy-agent.d.ts +0 -28
  897. package/slides/node_modules/undici-types/readable.d.ts +0 -65
  898. package/slides/node_modules/undici-types/retry-agent.d.ts +0 -8
  899. package/slides/node_modules/undici-types/retry-handler.d.ts +0 -116
  900. package/slides/node_modules/undici-types/util.d.ts +0 -18
  901. package/slides/node_modules/undici-types/webidl.d.ts +0 -228
  902. package/slides/node_modules/undici-types/websocket.d.ts +0 -150
  903. package/slides/node_modules/util-deprecate/History.md +0 -16
  904. package/slides/node_modules/util-deprecate/LICENSE +0 -24
  905. package/slides/node_modules/util-deprecate/README.md +0 -53
  906. package/slides/node_modules/util-deprecate/browser.js +0 -67
  907. package/slides/node_modules/util-deprecate/node.js +0 -6
  908. package/slides/node_modules/util-deprecate/package.json +0 -27
  909. package/slides/node_modules/wrappy/LICENSE +0 -15
  910. package/slides/node_modules/wrappy/README.md +0 -36
  911. package/slides/node_modules/wrappy/package.json +0 -29
  912. package/slides/node_modules/wrappy/wrappy.js +0 -33
  913. package/slides/package-lock.json +0 -536
  914. package/slides/package.json +0 -16
  915. package/slides/slides.json +0 -238
@@ -1,605 +0,0 @@
1
- // This is written to exactly parse the `font` shorthand in CSS2:
2
- // https://www.w3.org/TR/CSS22/fonts.html#font-shorthand
3
- // https://www.w3.org/TR/CSS22/syndata.html#tokenization
4
- //
5
- // We may want to update it for CSS 3 (e.g. font-stretch, or updated
6
- // tokenization) but I've only ever seen one or two issues filed in node-canvas
7
- // due to parsing in my 8 years on the project
8
-
9
- #include "FontParser.h"
10
- #include "CharData.h"
11
- #include <cctype>
12
- #include <unordered_map>
13
-
14
- Token::Token(Type type, std::string value) : type_(type), value_(std::move(value)) {}
15
-
16
- Token::Token(Type type, double value) : type_(type), value_(value) {}
17
-
18
- Token::Token(Type type) : type_(type), value_(std::string{}) {}
19
-
20
- const std::string&
21
- Token::getString() const {
22
- static const std::string empty;
23
- auto* str = std::get_if<std::string>(&value_);
24
- return str ? *str : empty;
25
- }
26
-
27
- double
28
- Token::getNumber() const {
29
- auto* num = std::get_if<double>(&value_);
30
- return num ? *num : 0.0f;
31
- }
32
-
33
- Tokenizer::Tokenizer(std::string_view input) : input_(input) {}
34
-
35
- std::string
36
- Tokenizer::utf8Encode(uint32_t codepoint) {
37
- std::string result;
38
-
39
- if (codepoint < 0x80) {
40
- result += static_cast<char>(codepoint);
41
- } else if (codepoint < 0x800) {
42
- result += static_cast<char>((codepoint >> 6) | 0xc0);
43
- result += static_cast<char>((codepoint & 0x3f) | 0x80);
44
- } else if (codepoint < 0x10000) {
45
- result += static_cast<char>((codepoint >> 12) | 0xe0);
46
- result += static_cast<char>(((codepoint >> 6) & 0x3f) | 0x80);
47
- result += static_cast<char>((codepoint & 0x3f) | 0x80);
48
- } else {
49
- result += static_cast<char>((codepoint >> 18) | 0xf0);
50
- result += static_cast<char>(((codepoint >> 12) & 0x3f) | 0x80);
51
- result += static_cast<char>(((codepoint >> 6) & 0x3f) | 0x80);
52
- result += static_cast<char>((codepoint & 0x3f) | 0x80);
53
- }
54
-
55
- return result;
56
- }
57
-
58
- char
59
- Tokenizer::peek() const {
60
- return position_ < input_.length() ? input_[position_] : '\0';
61
- }
62
-
63
- char
64
- Tokenizer::advance() {
65
- return position_ < input_.length() ? input_[position_++] : '\0';
66
- }
67
-
68
- Token
69
- Tokenizer::parseNumber() {
70
- enum class State {
71
- Start,
72
- AfterSign,
73
- Digits,
74
- AfterDecimal,
75
- AfterE,
76
- AfterESign,
77
- ExponentDigits
78
- };
79
-
80
- size_t start = position_;
81
- size_t ePosition = 0;
82
- State state = State::Start;
83
- bool valid = false;
84
-
85
- while (position_ < input_.length()) {
86
- char c = peek();
87
- uint8_t flags = charData[static_cast<uint8_t>(c)];
88
-
89
- switch (state) {
90
- case State::Start:
91
- if (flags & CharData::Sign) {
92
- position_++;
93
- state = State::AfterSign;
94
- } else if (flags & CharData::Digit) {
95
- position_++;
96
- state = State::Digits;
97
- valid = true;
98
- } else if (c == '.') {
99
- position_++;
100
- state = State::AfterDecimal;
101
- } else {
102
- goto done;
103
- }
104
- break;
105
-
106
- case State::AfterSign:
107
- if (flags & CharData::Digit) {
108
- position_++;
109
- state = State::Digits;
110
- valid = true;
111
- } else if (c == '.') {
112
- position_++;
113
- state = State::AfterDecimal;
114
- } else {
115
- goto done;
116
- }
117
- break;
118
-
119
- case State::Digits:
120
- if (flags & CharData::Digit) {
121
- position_++;
122
- } else if (c == '.') {
123
- position_++;
124
- state = State::AfterDecimal;
125
- } else if (c == 'e' || c == 'E') {
126
- ePosition = position_;
127
- position_++;
128
- state = State::AfterE;
129
- valid = false;
130
- } else {
131
- goto done;
132
- }
133
- break;
134
-
135
- case State::AfterDecimal:
136
- if (flags & CharData::Digit) {
137
- position_++;
138
- valid = true;
139
- state = State::Digits;
140
- } else {
141
- goto done;
142
- }
143
- break;
144
-
145
- case State::AfterE:
146
- if (flags & CharData::Sign) {
147
- position_++;
148
- state = State::AfterESign;
149
- } else if (flags & CharData::Digit) {
150
- position_++;
151
- valid = true;
152
- state = State::ExponentDigits;
153
- } else {
154
- position_ = ePosition;
155
- valid = true;
156
- goto done;
157
- }
158
- break;
159
-
160
- case State::AfterESign:
161
- if (flags & CharData::Digit) {
162
- position_++;
163
- valid = true;
164
- state = State::ExponentDigits;
165
- } else {
166
- position_ = ePosition;
167
- valid = true;
168
- goto done;
169
- }
170
- break;
171
-
172
- case State::ExponentDigits:
173
- if (flags & CharData::Digit) {
174
- position_++;
175
- } else {
176
- goto done;
177
- }
178
- break;
179
- }
180
- }
181
-
182
- done:
183
- if (!valid) {
184
- position_ = start;
185
- return Token(Token::Type::Invalid);
186
- }
187
-
188
- std::string number_str(input_.substr(start, position_ - start));
189
- double value = std::stod(number_str);
190
- return Token(Token::Type::Number, value);
191
- }
192
-
193
- // Note that identifiers are always lower-case. This helps us make easier/more
194
- // efficient comparisons, but means that font-families specified as identifiers
195
- // will be lower-cased. Since font selection isn't case sensitive, this
196
- // shouldn't ever be a problem.
197
- Token
198
- Tokenizer::parseIdentifier() {
199
- std::string identifier;
200
- auto flags = CharData::Nmstart;
201
- auto start = position_;
202
-
203
- while (position_ < input_.length()) {
204
- char c = peek();
205
-
206
- if (c == '\\') {
207
- advance();
208
- if (!parseEscape(identifier)) {
209
- position_ = start;
210
- return Token(Token::Type::Invalid);
211
- }
212
- flags = CharData::Nmchar;
213
- } else if (charData[static_cast<uint8_t>(c)] & flags) {
214
- identifier += advance() + (c >= 'A' && c <= 'Z' ? 32 : 0);
215
- flags = CharData::Nmchar;
216
- } else {
217
- break;
218
- }
219
- }
220
-
221
- return Token(Token::Type::Identifier, identifier);
222
- }
223
-
224
- uint32_t
225
- Tokenizer::parseUnicode() {
226
- uint32_t value = 0;
227
- size_t count = 0;
228
-
229
- while (position_ < input_.length() && count < 6) {
230
- char c = peek();
231
- uint32_t digit;
232
-
233
- if (c >= '0' && c <= '9') {
234
- digit = c - '0';
235
- } else if (c >= 'a' && c <= 'f') {
236
- digit = c - 'a' + 10;
237
- } else if (c >= 'A' && c <= 'F') {
238
- digit = c - 'A' + 10;
239
- } else {
240
- break;
241
- }
242
-
243
- value = value * 16 + digit;
244
- advance();
245
- count++;
246
- }
247
-
248
- // Optional whitespace after hex escape
249
- char c = peek();
250
- if (c == '\r') {
251
- advance();
252
- if (peek() == '\n') advance();
253
- } else if (isWhitespace(c)) {
254
- advance();
255
- }
256
-
257
- return value;
258
- }
259
-
260
- bool
261
- Tokenizer::parseEscape(std::string& str) {
262
- char c = peek();
263
- auto flags = charData[static_cast<uint8_t>(c)];
264
-
265
- if (flags & CharData::Hex) {
266
- str += utf8Encode(parseUnicode());
267
- return true;
268
- } else if (!(flags & CharData::Newline) && !(flags & CharData::Hex)) {
269
- str += advance();
270
- return true;
271
- }
272
-
273
- return false;
274
- }
275
-
276
- Token
277
- Tokenizer::parseString(char quote) {
278
- advance();
279
- std::string value;
280
- auto start = position_;
281
-
282
- while (position_ < input_.length()) {
283
- char c = peek();
284
-
285
- if (c == quote) {
286
- advance();
287
- return Token(Token::Type::QuotedString, value);
288
- } else if (c == '\\') {
289
- advance();
290
- c = peek();
291
- if (c == '\r') {
292
- advance();
293
- if (peek() == '\n') advance();
294
- } else if (isNewline(c)) {
295
- advance();
296
- } else {
297
- if (!parseEscape(value)) {
298
- position_ = start;
299
- return Token(Token::Type::Invalid);
300
- }
301
- }
302
- } else {
303
- value += advance();
304
- }
305
- }
306
-
307
- position_ = start;
308
- return Token(Token::Type::Invalid);
309
- }
310
-
311
- Token
312
- Tokenizer::nextToken() {
313
- if (position_ >= input_.length()) {
314
- return Token(Token::Type::EndOfInput);
315
- }
316
-
317
- char c = peek();
318
- auto flags = charData[static_cast<uint8_t>(c)];
319
-
320
- if (isWhitespace(c)) {
321
- std::string whitespace;
322
- while (position_ < input_.length() && isWhitespace(peek())) {
323
- whitespace += advance();
324
- }
325
- return Token(Token::Type::Whitespace, whitespace);
326
- }
327
-
328
- if (flags & CharData::NumStart) {
329
- Token token = parseNumber();
330
- if (token.type() != Token::Type::Invalid) return token;
331
- }
332
-
333
- if (flags & CharData::Nmstart) {
334
- Token token = parseIdentifier();
335
- if (token.type() != Token::Type::Invalid) return token;
336
- }
337
-
338
- if (c == '"') {
339
- Token token = parseString('"');
340
- if (token.type() != Token::Type::Invalid) return token;
341
- }
342
-
343
- if (c == '\'') {
344
- Token token = parseString('\'');
345
- if (token.type() != Token::Type::Invalid) return token;
346
- }
347
-
348
- switch (advance()) {
349
- case '/': return Token(Token::Type::Slash);
350
- case ',': return Token(Token::Type::Comma);
351
- case '%': return Token(Token::Type::Percent);
352
- default: return Token(Token::Type::Invalid);
353
- }
354
- }
355
-
356
- FontParser::FontParser(std::string_view input)
357
- : tokenizer_(input)
358
- , currentToken_(tokenizer_.nextToken())
359
- , nextToken_(tokenizer_.nextToken()) {}
360
-
361
- const std::unordered_map<std::string, uint16_t> FontParser::weightMap = {
362
- {"normal", 400},
363
- {"bold", 700},
364
- {"lighter", 100},
365
- {"bolder", 700}
366
- };
367
-
368
- const std::unordered_map<std::string, double> FontParser::unitMap = {
369
- {"cm", 37.8f},
370
- {"mm", 3.78f},
371
- {"in", 96.0f},
372
- {"pt", 96.0f / 72.0f},
373
- {"pc", 96.0f / 6.0f},
374
- {"em", 16.0f},
375
- {"px", 1.0f}
376
- };
377
-
378
- void
379
- FontParser::advance() {
380
- currentToken_ = nextToken_;
381
- nextToken_ = tokenizer_.nextToken();
382
- }
383
-
384
- void
385
- FontParser::skipWs() {
386
- while (currentToken_.type() == Token::Type::Whitespace) advance();
387
- }
388
-
389
- bool
390
- FontParser::check(Token::Type type) const {
391
- return currentToken_.type() == type;
392
- }
393
-
394
- bool
395
- FontParser::checkWs() const {
396
- return nextToken_.type() == Token::Type::Whitespace
397
- || nextToken_.type() == Token::Type::EndOfInput;
398
- }
399
-
400
- bool
401
- FontParser::parseFontStyle(FontProperties& props) {
402
- if (check(Token::Type::Identifier)) {
403
- const auto& value = currentToken_.getString();
404
- if (value == "italic") {
405
- props.fontStyle = FontStyle::Italic;
406
- advance();
407
- return true;
408
- } else if (value == "oblique") {
409
- props.fontStyle = FontStyle::Oblique;
410
- advance();
411
- return true;
412
- } else if (value == "normal") {
413
- props.fontStyle = FontStyle::Normal;
414
- advance();
415
- return true;
416
- }
417
- }
418
-
419
- return false;
420
- }
421
-
422
- bool
423
- FontParser::parseFontVariant(FontProperties& props) {
424
- if (check(Token::Type::Identifier)) {
425
- const auto& value = currentToken_.getString();
426
- if (value == "small-caps") {
427
- props.fontVariant = FontVariant::SmallCaps;
428
- advance();
429
- return true;
430
- } else if (value == "normal") {
431
- props.fontVariant = FontVariant::Normal;
432
- advance();
433
- return true;
434
- }
435
- }
436
-
437
- return false;
438
- }
439
-
440
- bool
441
- FontParser::parseFontWeight(FontProperties& props) {
442
- if (check(Token::Type::Number)) {
443
- double weightFloat = currentToken_.getNumber();
444
- int weight = static_cast<int>(weightFloat);
445
- if (weight < 1 || weight > 1000) return false;
446
- props.fontWeight = static_cast<uint16_t>(weight);
447
- advance();
448
- return true;
449
- } else if (check(Token::Type::Identifier)) {
450
- const auto& value = currentToken_.getString();
451
-
452
- if (auto it = weightMap.find(value); it != weightMap.end()) {
453
- props.fontWeight = it->second;
454
- advance();
455
- return true;
456
- }
457
- }
458
-
459
- return false;
460
- }
461
-
462
- bool
463
- FontParser::parseFontSize(FontProperties& props) {
464
- if (!check(Token::Type::Number)) return false;
465
-
466
- props.fontSize = currentToken_.getNumber();
467
- advance();
468
-
469
- double multiplier = 1.0f;
470
- if (check(Token::Type::Identifier)) {
471
- const auto& unit = currentToken_.getString();
472
-
473
- if (auto it = unitMap.find(unit); it != unitMap.end()) {
474
- multiplier = it->second;
475
- advance();
476
- } else {
477
- return false;
478
- }
479
- } else if (check(Token::Type::Percent)) {
480
- multiplier = 16.0f / 100.0f;
481
- advance();
482
- } else {
483
- return false;
484
- }
485
-
486
- // Technically if we consumed some tokens but couldn't parse the font-size,
487
- // we should rewind the tokenizer, but I don't think the grammar allows for
488
- // any valid alternates in this specific case
489
-
490
- props.fontSize *= multiplier;
491
- return true;
492
- }
493
-
494
- // line-height is not used by canvas ever, but should still parse
495
- bool
496
- FontParser::parseLineHeight(FontProperties& props) {
497
- if (check(Token::Type::Slash)) {
498
- advance();
499
- skipWs();
500
- if (check(Token::Type::Number)) {
501
- advance();
502
- if (check(Token::Type::Percent)) {
503
- advance();
504
- } else if (check(Token::Type::Identifier)) {
505
- auto identifier = currentToken_.getString();
506
- if (auto it = unitMap.find(identifier); it != unitMap.end()) {
507
- advance();
508
- } else {
509
- return false;
510
- }
511
- } else {
512
- return false;
513
- }
514
- } else if (check(Token::Type::Identifier) && currentToken_.getString() == "normal") {
515
- advance();
516
- } else {
517
- return false;
518
- }
519
- }
520
-
521
- return true;
522
- }
523
-
524
- bool
525
- FontParser::parseFontFamily(FontProperties& props) {
526
- while (!check(Token::Type::EndOfInput)) {
527
- std::string family = "";
528
- std::string trailingWs = "";
529
- bool found = false;
530
-
531
- while (
532
- check(Token::Type::QuotedString) ||
533
- check(Token::Type::Identifier) ||
534
- check(Token::Type::Whitespace)
535
- ) {
536
- if (check(Token::Type::Whitespace)) {
537
- if (found) trailingWs += currentToken_.getString();
538
- } else { // Identifier, QuotedString
539
- if (found) {
540
- family += trailingWs;
541
- trailingWs.clear();
542
- }
543
-
544
- family += currentToken_.getString();
545
- found = true;
546
- }
547
-
548
- advance();
549
- }
550
-
551
- if (!found) return false; // only whitespace or non-id/string found
552
-
553
- props.fontFamily.push_back(family);
554
-
555
- if (check(Token::Type::Comma)) advance();
556
- }
557
-
558
- return true;
559
- }
560
-
561
- FontProperties
562
- FontParser::parse(const std::string& fontString, bool* success) {
563
- FontParser parser(fontString);
564
- auto result = parser.parseFont();
565
- if (success) *success = !parser.hasError_;
566
- return result;
567
- }
568
-
569
- FontProperties
570
- FontParser::parseFont() {
571
- FontProperties props;
572
- uint8_t state = 0b111;
573
-
574
- skipWs();
575
-
576
- for (size_t i = 0; i < 3 && checkWs(); i++) {
577
- if ((state & 0b001) && parseFontStyle(props)) {
578
- state &= 0b110;
579
- goto match;
580
- }
581
-
582
- if ((state & 0b010) && parseFontVariant(props)) {
583
- state &= 0b101;
584
- goto match;
585
- }
586
-
587
- if ((state & 0b100) && parseFontWeight(props)) {
588
- state &= 0b011;
589
- goto match;
590
- }
591
-
592
- break; // all attempts exhausted
593
- match: skipWs(); // success: move to the next non-ws token
594
- }
595
-
596
- if (parseFontSize(props)) {
597
- skipWs();
598
- if (parseLineHeight(props) && parseFontFamily(props)) {
599
- return props;
600
- }
601
- }
602
-
603
- hasError_ = true;
604
- return props;
605
- }
@@ -1,115 +0,0 @@
1
- #pragma once
2
-
3
- #include <string>
4
- #include <vector>
5
- #include <optional>
6
- #include <memory>
7
- #include <variant>
8
- #include <unordered_map>
9
- #include "CharData.h"
10
-
11
- enum class FontStyle {
12
- Normal,
13
- Italic,
14
- Oblique
15
- };
16
-
17
- enum class FontVariant {
18
- Normal,
19
- SmallCaps
20
- };
21
-
22
- struct FontProperties {
23
- double fontSize{16.0f};
24
- std::vector<std::string> fontFamily;
25
- uint16_t fontWeight{400};
26
- FontVariant fontVariant{FontVariant::Normal};
27
- FontStyle fontStyle{FontStyle::Normal};
28
- };
29
-
30
- class Token {
31
- public:
32
- enum class Type {
33
- Invalid,
34
- Number,
35
- Percent,
36
- Identifier,
37
- Slash,
38
- Comma,
39
- QuotedString,
40
- Whitespace,
41
- EndOfInput
42
- };
43
-
44
- Token(Type type, std::string value);
45
- Token(Type type, double value);
46
- Token(Type type);
47
-
48
- Type type() const { return type_; }
49
-
50
- const std::string& getString() const;
51
- double getNumber() const;
52
-
53
- private:
54
- Type type_;
55
- std::variant<std::string, double> value_;
56
- };
57
-
58
- class Tokenizer {
59
- public:
60
- Tokenizer(std::string_view input);
61
- Token nextToken();
62
-
63
- private:
64
- std::string_view input_;
65
- size_t position_{0};
66
-
67
- // Util
68
- std::string utf8Encode(uint32_t codepoint);
69
- inline bool isWhitespace(char c) const {
70
- return charData[static_cast<uint8_t>(c)] & CharData::Whitespace;
71
- }
72
- inline bool isNewline(char c) const {
73
- return charData[static_cast<uint8_t>(c)] & CharData::Newline;
74
- }
75
-
76
- // Moving through the string
77
- char peek() const;
78
- char advance();
79
-
80
- // Tokenize
81
- Token parseNumber();
82
- Token parseIdentifier();
83
- uint32_t parseUnicode();
84
- bool parseEscape(std::string& str);
85
- Token parseString(char quote);
86
- };
87
-
88
- class FontParser {
89
- public:
90
- static FontProperties parse(const std::string& fontString, bool* success = nullptr);
91
-
92
- private:
93
- static const std::unordered_map<std::string, uint16_t> weightMap;
94
- static const std::unordered_map<std::string, double> unitMap;
95
-
96
- FontParser(std::string_view input);
97
-
98
- void advance();
99
- void skipWs();
100
- bool check(Token::Type type) const;
101
- bool checkWs() const;
102
-
103
- bool parseFontStyle(FontProperties& props);
104
- bool parseFontVariant(FontProperties& props);
105
- bool parseFontWeight(FontProperties& props);
106
- bool parseFontSize(FontProperties& props);
107
- bool parseLineHeight(FontProperties& props);
108
- bool parseFontFamily(FontProperties& props);
109
- FontProperties parseFont();
110
-
111
- Tokenizer tokenizer_;
112
- Token currentToken_;
113
- Token nextToken_;
114
- bool hasError_{false};
115
- };