@iconify/tools 4.2.0 → 5.0.0-beta.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 (530) hide show
  1. package/lib/colors/attribs.d.ts +2 -4
  2. package/lib/colors/attribs.js +33 -0
  3. package/lib/colors/detect.d.ts +2 -10
  4. package/lib/colors/detect.js +36 -0
  5. package/lib/colors/parse.d.ts +12 -19
  6. package/lib/colors/parse.js +241 -0
  7. package/lib/colors/validate.d.ts +3 -13
  8. package/lib/colors/validate.js +31 -0
  9. package/lib/css/parse.d.ts +1 -2
  10. package/lib/css/parse.js +18 -0
  11. package/lib/css/parser/error.d.ts +6 -7
  12. package/lib/css/parser/error.js +24 -0
  13. package/lib/css/parser/export.d.ts +2 -4
  14. package/lib/css/parser/export.js +34 -0
  15. package/lib/css/parser/strings.d.ts +2 -4
  16. package/lib/css/parser/strings.js +66 -0
  17. package/lib/css/parser/text.d.ts +2 -4
  18. package/lib/css/parser/text.js +103 -0
  19. package/lib/css/parser/tokens.d.ts +3 -5
  20. package/lib/css/parser/tokens.js +169 -0
  21. package/lib/css/parser/tree.d.ts +2 -4
  22. package/lib/css/parser/tree.js +35 -0
  23. package/lib/css/parser/types.d.ts +21 -22
  24. package/lib/css/parser/types.js +1 -0
  25. package/lib/download/api/cache.d.ts +2 -4
  26. package/lib/download/api/cache.js +84 -0
  27. package/lib/download/api/config.d.ts +6 -8
  28. package/lib/download/api/config.js +10 -0
  29. package/lib/download/api/download.d.ts +2 -4
  30. package/lib/download/api/download.js +26 -0
  31. package/lib/download/api/fetch.d.ts +1 -2
  32. package/lib/download/api/fetch.js +15 -0
  33. package/lib/download/api/index.d.ts +2 -4
  34. package/lib/download/api/index.js +50 -0
  35. package/lib/download/api/queue.d.ts +9 -10
  36. package/lib/download/api/queue.js +94 -0
  37. package/lib/download/api/types.d.ts +6 -7
  38. package/lib/download/api/types.js +1 -0
  39. package/lib/download/git/branch.d.ts +2 -4
  40. package/lib/download/git/branch.js +15 -0
  41. package/lib/download/git/hash.d.ts +2 -4
  42. package/lib/download/git/hash.js +10 -0
  43. package/lib/download/git/index.d.ts +10 -12
  44. package/lib/download/git/index.js +39 -0
  45. package/lib/download/git/reset.d.ts +1 -2
  46. package/lib/download/git/reset.js +12 -0
  47. package/lib/download/github/hash.d.ts +2 -4
  48. package/lib/download/github/hash.js +20 -0
  49. package/lib/download/github/index.d.ts +12 -14
  50. package/lib/download/github/index.js +66 -0
  51. package/lib/download/github/types.d.ts +5 -6
  52. package/lib/download/github/types.js +1 -0
  53. package/lib/download/gitlab/hash.d.ts +2 -4
  54. package/lib/download/gitlab/hash.js +19 -0
  55. package/lib/download/gitlab/index.d.ts +12 -14
  56. package/lib/download/gitlab/index.js +64 -0
  57. package/lib/download/gitlab/types.d.ts +5 -6
  58. package/lib/download/gitlab/types.js +6 -0
  59. package/lib/download/helpers/untar.d.ts +1 -2
  60. package/lib/download/helpers/untar.js +13 -0
  61. package/lib/download/helpers/unzip.d.ts +1 -2
  62. package/lib/download/helpers/unzip.js +39 -0
  63. package/lib/download/index.d.ts +15 -20
  64. package/lib/download/index.js +19 -0
  65. package/lib/download/npm/index.d.ts +11 -13
  66. package/lib/download/npm/index.js +51 -0
  67. package/lib/download/npm/types.d.ts +3 -4
  68. package/lib/download/npm/types.js +1 -0
  69. package/lib/download/npm/version.d.ts +4 -6
  70. package/lib/download/npm/version.js +23 -0
  71. package/lib/download/types/modified.d.ts +1 -2
  72. package/lib/download/types/modified.js +1 -0
  73. package/lib/download/types/sources.d.ts +2 -3
  74. package/lib/download/types/sources.js +1 -0
  75. package/lib/export/directory.d.ts +7 -15
  76. package/lib/export/directory.js +37 -0
  77. package/lib/export/helpers/custom-files.d.ts +2 -3
  78. package/lib/export/helpers/custom-files.js +23 -0
  79. package/lib/export/helpers/prepare.d.ts +3 -4
  80. package/lib/export/helpers/prepare.js +31 -0
  81. package/lib/export/helpers/types-version.d.ts +1 -2
  82. package/lib/export/helpers/types-version.js +19 -0
  83. package/lib/export/icon-package.d.ts +8 -15
  84. package/lib/export/icon-package.js +55 -0
  85. package/lib/export/json-package.d.ts +7 -14
  86. package/lib/export/json-package.js +129 -0
  87. package/lib/icon-set/index.d.ts +144 -147
  88. package/lib/icon-set/index.js +595 -0
  89. package/lib/icon-set/match.d.ts +3 -11
  90. package/lib/icon-set/match.js +45 -0
  91. package/lib/icon-set/merge.d.ts +2 -10
  92. package/lib/icon-set/merge.js +68 -0
  93. package/lib/icon-set/modified.d.ts +2 -10
  94. package/lib/icon-set/modified.js +20 -0
  95. package/lib/icon-set/props.d.ts +2 -5
  96. package/lib/icon-set/props.js +19 -0
  97. package/lib/icon-set/tags.d.ts +7 -15
  98. package/lib/icon-set/tags.js +53 -0
  99. package/lib/icon-set/types.d.ts +16 -21
  100. package/lib/icon-set/types.js +1 -0
  101. package/lib/import/directory.d.ts +11 -20
  102. package/lib/import/directory.js +101 -0
  103. package/lib/import/figma/index.d.ts +4 -15
  104. package/lib/import/figma/index.js +61 -0
  105. package/lib/import/figma/nodes.d.ts +4 -14
  106. package/lib/import/figma/nodes.js +80 -0
  107. package/lib/import/figma/query.d.ts +9 -19
  108. package/lib/import/figma/query.js +183 -0
  109. package/lib/import/figma/types/api.d.ts +23 -35
  110. package/lib/import/figma/types/nodes.d.ts +12 -21
  111. package/lib/import/figma/types/options.d.ts +23 -32
  112. package/lib/import/figma/types/result.d.ts +16 -24
  113. package/lib/index.d.ts +55 -80
  114. package/lib/index.js +56 -0
  115. package/lib/misc/bump-version.d.ts +1 -2
  116. package/lib/misc/bump-version.js +13 -0
  117. package/lib/misc/compare-dirs.d.ts +4 -5
  118. package/lib/misc/compare-dirs.js +65 -0
  119. package/lib/misc/exec.d.ts +4 -6
  120. package/lib/misc/exec.js +23 -0
  121. package/lib/misc/keyword.d.ts +1 -2
  122. package/lib/misc/keyword.js +12 -0
  123. package/lib/misc/scan.d.ts +2 -4
  124. package/lib/misc/scan.js +87 -0
  125. package/lib/misc/write-json.d.ts +1 -2
  126. package/lib/misc/write-json.js +10 -0
  127. package/lib/optimise/figma.d.ts +2 -7
  128. package/lib/optimise/figma.js +189 -0
  129. package/lib/optimise/flags.d.ts +2 -7
  130. package/lib/optimise/flags.js +231 -0
  131. package/lib/optimise/global-style.d.ts +2 -7
  132. package/lib/optimise/global-style.js +114 -0
  133. package/lib/optimise/mask.d.ts +9 -14
  134. package/lib/optimise/mask.js +83 -0
  135. package/lib/optimise/origin.d.ts +2 -7
  136. package/lib/optimise/origin.js +22 -0
  137. package/lib/optimise/scale.d.ts +2 -7
  138. package/lib/optimise/scale.js +24 -0
  139. package/lib/optimise/svgo.d.ts +10 -15
  140. package/lib/optimise/svgo.js +90 -0
  141. package/lib/optimise/unwrap.d.ts +2 -7
  142. package/lib/optimise/unwrap.js +25 -0
  143. package/lib/svg/analyse/error.d.ts +2 -7
  144. package/lib/svg/analyse/error.js +12 -0
  145. package/lib/svg/analyse/types.d.ts +31 -35
  146. package/lib/svg/analyse/types.js +1 -0
  147. package/lib/svg/analyse.d.ts +3 -10
  148. package/lib/svg/analyse.js +256 -0
  149. package/lib/svg/cleanup/attribs.d.ts +2 -7
  150. package/lib/svg/cleanup/attribs.js +37 -0
  151. package/lib/svg/cleanup/bad-tags.d.ts +3 -8
  152. package/lib/svg/cleanup/bad-tags.js +57 -0
  153. package/lib/svg/cleanup/inline-style.d.ts +2 -7
  154. package/lib/svg/cleanup/inline-style.js +80 -0
  155. package/lib/svg/cleanup/root-style.d.ts +4 -9
  156. package/lib/svg/cleanup/root-style.js +27 -0
  157. package/lib/svg/cleanup/root-svg.d.ts +2 -7
  158. package/lib/svg/cleanup/root-svg.js +73 -0
  159. package/lib/svg/cleanup/svgo-style.d.ts +2 -7
  160. package/lib/svg/cleanup/svgo-style.js +24 -0
  161. package/lib/svg/cleanup.d.ts +3 -8
  162. package/lib/svg/cleanup.js +20 -0
  163. package/lib/svg/data/attributes.d.ts +1 -2
  164. package/lib/svg/data/attributes.js +451 -0
  165. package/lib/svg/data/tags.d.ts +1 -2
  166. package/lib/svg/data/tags.js +182 -0
  167. package/lib/svg/index.d.ts +38 -47
  168. package/lib/svg/index.js +117 -0
  169. package/lib/svg/parse-style.d.ts +21 -28
  170. package/lib/svg/parse-style.js +199 -0
  171. package/lib/svg/parse.d.ts +8 -16
  172. package/lib/svg/parse.js +32 -0
  173. package/package.json +116 -222
  174. package/lib/colors/attribs.cjs +0 -33
  175. package/lib/colors/attribs.d.cts +0 -27
  176. package/lib/colors/attribs.d.mts +0 -27
  177. package/lib/colors/attribs.mjs +0 -26
  178. package/lib/colors/detect.cjs +0 -66
  179. package/lib/colors/detect.d.cts +0 -16
  180. package/lib/colors/detect.d.mts +0 -16
  181. package/lib/colors/detect.mjs +0 -64
  182. package/lib/colors/parse.cjs +0 -300
  183. package/lib/colors/parse.d.cts +0 -61
  184. package/lib/colors/parse.d.mts +0 -61
  185. package/lib/colors/parse.mjs +0 -297
  186. package/lib/colors/validate.cjs +0 -56
  187. package/lib/colors/validate.d.cts +0 -21
  188. package/lib/colors/validate.d.mts +0 -21
  189. package/lib/colors/validate.mjs +0 -54
  190. package/lib/css/parse.cjs +0 -24
  191. package/lib/css/parse.d.cts +0 -6
  192. package/lib/css/parse.d.mts +0 -6
  193. package/lib/css/parse.mjs +0 -22
  194. package/lib/css/parser/error.cjs +0 -23
  195. package/lib/css/parser/error.d.cts +0 -13
  196. package/lib/css/parser/error.d.mts +0 -13
  197. package/lib/css/parser/error.mjs +0 -21
  198. package/lib/css/parser/export.cjs +0 -37
  199. package/lib/css/parser/export.d.cts +0 -8
  200. package/lib/css/parser/export.d.mts +0 -8
  201. package/lib/css/parser/export.mjs +0 -35
  202. package/lib/css/parser/strings.cjs +0 -83
  203. package/lib/css/parser/strings.d.cts +0 -16
  204. package/lib/css/parser/strings.d.mts +0 -16
  205. package/lib/css/parser/strings.mjs +0 -80
  206. package/lib/css/parser/text.cjs +0 -114
  207. package/lib/css/parser/text.d.cts +0 -20
  208. package/lib/css/parser/text.d.mts +0 -20
  209. package/lib/css/parser/text.mjs +0 -109
  210. package/lib/css/parser/tokens.cjs +0 -206
  211. package/lib/css/parser/tokens.d.cts +0 -9
  212. package/lib/css/parser/tokens.d.mts +0 -9
  213. package/lib/css/parser/tokens.mjs +0 -204
  214. package/lib/css/parser/tree.cjs +0 -40
  215. package/lib/css/parser/tree.d.cts +0 -8
  216. package/lib/css/parser/tree.d.mts +0 -8
  217. package/lib/css/parser/tree.mjs +0 -38
  218. package/lib/css/parser/types.cjs +0 -2
  219. package/lib/css/parser/types.d.cts +0 -52
  220. package/lib/css/parser/types.d.mts +0 -52
  221. package/lib/css/parser/types.mjs +0 -1
  222. package/lib/download/api/cache.cjs +0 -91
  223. package/lib/download/api/cache.d.cts +0 -20
  224. package/lib/download/api/cache.d.mts +0 -20
  225. package/lib/download/api/cache.mjs +0 -86
  226. package/lib/download/api/config.cjs +0 -11
  227. package/lib/download/api/config.d.cts +0 -18
  228. package/lib/download/api/config.d.mts +0 -18
  229. package/lib/download/api/config.mjs +0 -8
  230. package/lib/download/api/download.cjs +0 -26
  231. package/lib/download/api/download.d.cts +0 -8
  232. package/lib/download/api/download.d.mts +0 -8
  233. package/lib/download/api/download.mjs +0 -24
  234. package/lib/download/api/fetch.cjs +0 -12
  235. package/lib/download/api/fetch.d.cts +0 -10
  236. package/lib/download/api/fetch.d.mts +0 -10
  237. package/lib/download/api/fetch.mjs +0 -9
  238. package/lib/download/api/index.cjs +0 -57
  239. package/lib/download/api/index.d.cts +0 -8
  240. package/lib/download/api/index.d.mts +0 -8
  241. package/lib/download/api/index.mjs +0 -55
  242. package/lib/download/api/queue.cjs +0 -104
  243. package/lib/download/api/queue.d.cts +0 -32
  244. package/lib/download/api/queue.d.mts +0 -32
  245. package/lib/download/api/queue.mjs +0 -101
  246. package/lib/download/api/types.cjs +0 -2
  247. package/lib/download/api/types.d.cts +0 -17
  248. package/lib/download/api/types.d.mts +0 -17
  249. package/lib/download/api/types.mjs +0 -1
  250. package/lib/download/git/branch.cjs +0 -19
  251. package/lib/download/git/branch.d.cts +0 -8
  252. package/lib/download/git/branch.d.mts +0 -8
  253. package/lib/download/git/branch.mjs +0 -17
  254. package/lib/download/git/hash.cjs +0 -14
  255. package/lib/download/git/hash.d.cts +0 -8
  256. package/lib/download/git/hash.d.mts +0 -8
  257. package/lib/download/git/hash.mjs +0 -12
  258. package/lib/download/git/index.cjs +0 -76
  259. package/lib/download/git/index.d.cts +0 -29
  260. package/lib/download/git/index.d.mts +0 -29
  261. package/lib/download/git/index.mjs +0 -74
  262. package/lib/download/git/reset.cjs +0 -36
  263. package/lib/download/git/reset.d.cts +0 -6
  264. package/lib/download/git/reset.d.mts +0 -6
  265. package/lib/download/git/reset.mjs +0 -34
  266. package/lib/download/github/hash.cjs +0 -31
  267. package/lib/download/github/hash.d.cts +0 -8
  268. package/lib/download/github/hash.d.mts +0 -8
  269. package/lib/download/github/hash.mjs +0 -29
  270. package/lib/download/github/index.cjs +0 -105
  271. package/lib/download/github/index.d.cts +0 -31
  272. package/lib/download/github/index.d.mts +0 -31
  273. package/lib/download/github/index.mjs +0 -103
  274. package/lib/download/github/types.cjs +0 -2
  275. package/lib/download/github/types.d.cts +0 -11
  276. package/lib/download/github/types.d.mts +0 -11
  277. package/lib/download/github/types.mjs +0 -1
  278. package/lib/download/gitlab/hash.cjs +0 -33
  279. package/lib/download/gitlab/hash.d.cts +0 -8
  280. package/lib/download/gitlab/hash.d.mts +0 -8
  281. package/lib/download/gitlab/hash.mjs +0 -31
  282. package/lib/download/gitlab/index.cjs +0 -105
  283. package/lib/download/gitlab/index.d.cts +0 -31
  284. package/lib/download/gitlab/index.d.mts +0 -31
  285. package/lib/download/gitlab/index.mjs +0 -103
  286. package/lib/download/gitlab/types.cjs +0 -5
  287. package/lib/download/gitlab/types.d.cts +0 -15
  288. package/lib/download/gitlab/types.d.mts +0 -15
  289. package/lib/download/gitlab/types.mjs +0 -3
  290. package/lib/download/helpers/untar.cjs +0 -12
  291. package/lib/download/helpers/untar.d.cts +0 -6
  292. package/lib/download/helpers/untar.d.mts +0 -6
  293. package/lib/download/helpers/untar.mjs +0 -10
  294. package/lib/download/helpers/unzip.cjs +0 -17
  295. package/lib/download/helpers/unzip.d.cts +0 -6
  296. package/lib/download/helpers/unzip.d.mts +0 -6
  297. package/lib/download/helpers/unzip.mjs +0 -11
  298. package/lib/download/index.cjs +0 -64
  299. package/lib/download/index.d.cts +0 -48
  300. package/lib/download/index.d.mts +0 -48
  301. package/lib/download/index.mjs +0 -62
  302. package/lib/download/npm/index.cjs +0 -85
  303. package/lib/download/npm/index.d.cts +0 -30
  304. package/lib/download/npm/index.d.mts +0 -30
  305. package/lib/download/npm/index.mjs +0 -83
  306. package/lib/download/npm/types.cjs +0 -2
  307. package/lib/download/npm/types.d.cts +0 -9
  308. package/lib/download/npm/types.d.mts +0 -9
  309. package/lib/download/npm/types.mjs +0 -1
  310. package/lib/download/npm/version.cjs +0 -29
  311. package/lib/download/npm/version.d.cts +0 -16
  312. package/lib/download/npm/version.d.mts +0 -16
  313. package/lib/download/npm/version.mjs +0 -26
  314. package/lib/download/types/modified.cjs +0 -2
  315. package/lib/download/types/modified.d.cts +0 -6
  316. package/lib/download/types/modified.d.mts +0 -6
  317. package/lib/download/types/modified.mjs +0 -1
  318. package/lib/download/types/sources.cjs +0 -2
  319. package/lib/download/types/sources.d.cts +0 -12
  320. package/lib/download/types/sources.d.mts +0 -12
  321. package/lib/download/types/sources.mjs +0 -1
  322. package/lib/export/directory.cjs +0 -43
  323. package/lib/export/directory.d.cts +0 -26
  324. package/lib/export/directory.d.mts +0 -26
  325. package/lib/export/directory.mjs +0 -41
  326. package/lib/export/helpers/custom-files.cjs +0 -26
  327. package/lib/export/helpers/custom-files.d.cts +0 -12
  328. package/lib/export/helpers/custom-files.d.mts +0 -12
  329. package/lib/export/helpers/custom-files.mjs +0 -24
  330. package/lib/export/helpers/prepare.cjs +0 -34
  331. package/lib/export/helpers/prepare.d.cts +0 -19
  332. package/lib/export/helpers/prepare.d.mts +0 -19
  333. package/lib/export/helpers/prepare.mjs +0 -31
  334. package/lib/export/helpers/types-version.cjs +0 -12
  335. package/lib/export/helpers/types-version.d.cts +0 -6
  336. package/lib/export/helpers/types-version.d.mts +0 -6
  337. package/lib/export/helpers/types-version.mjs +0 -10
  338. package/lib/export/icon-package.cjs +0 -56
  339. package/lib/export/icon-package.d.cts +0 -26
  340. package/lib/export/icon-package.d.mts +0 -26
  341. package/lib/export/icon-package.mjs +0 -54
  342. package/lib/export/json-package.cjs +0 -144
  343. package/lib/export/json-package.d.cts +0 -25
  344. package/lib/export/json-package.d.mts +0 -25
  345. package/lib/export/json-package.mjs +0 -142
  346. package/lib/icon-set/index.cjs +0 -720
  347. package/lib/icon-set/index.d.cts +0 -162
  348. package/lib/icon-set/index.d.mts +0 -162
  349. package/lib/icon-set/index.mjs +0 -716
  350. package/lib/icon-set/match.cjs +0 -56
  351. package/lib/icon-set/match.d.cts +0 -15
  352. package/lib/icon-set/match.d.mts +0 -15
  353. package/lib/icon-set/match.mjs +0 -54
  354. package/lib/icon-set/merge.cjs +0 -87
  355. package/lib/icon-set/merge.d.cts +0 -14
  356. package/lib/icon-set/merge.d.mts +0 -14
  357. package/lib/icon-set/merge.mjs +0 -85
  358. package/lib/icon-set/modified.cjs +0 -25
  359. package/lib/icon-set/modified.d.cts +0 -16
  360. package/lib/icon-set/modified.d.mts +0 -16
  361. package/lib/icon-set/modified.mjs +0 -23
  362. package/lib/icon-set/props.cjs +0 -16
  363. package/lib/icon-set/props.d.cts +0 -13
  364. package/lib/icon-set/props.d.mts +0 -13
  365. package/lib/icon-set/props.mjs +0 -13
  366. package/lib/icon-set/tags.cjs +0 -95
  367. package/lib/icon-set/tags.d.cts +0 -25
  368. package/lib/icon-set/tags.d.mts +0 -25
  369. package/lib/icon-set/tags.mjs +0 -91
  370. package/lib/icon-set/types.cjs +0 -2
  371. package/lib/icon-set/types.d.cts +0 -75
  372. package/lib/icon-set/types.d.mts +0 -75
  373. package/lib/icon-set/types.mjs +0 -1
  374. package/lib/import/directory.cjs +0 -169
  375. package/lib/import/directory.d.cts +0 -52
  376. package/lib/import/directory.d.mts +0 -52
  377. package/lib/import/directory.mjs +0 -166
  378. package/lib/import/figma/index.cjs +0 -115
  379. package/lib/import/figma/index.d.cts +0 -20
  380. package/lib/import/figma/index.d.mts +0 -20
  381. package/lib/import/figma/index.mjs +0 -113
  382. package/lib/import/figma/nodes.cjs +0 -90
  383. package/lib/import/figma/nodes.d.cts +0 -18
  384. package/lib/import/figma/nodes.d.mts +0 -18
  385. package/lib/import/figma/nodes.mjs +0 -88
  386. package/lib/import/figma/query.cjs +0 -260
  387. package/lib/import/figma/query.d.cts +0 -42
  388. package/lib/import/figma/query.d.mts +0 -42
  389. package/lib/import/figma/query.mjs +0 -256
  390. package/lib/import/figma/types/api.cjs +0 -2
  391. package/lib/import/figma/types/api.d.cts +0 -53
  392. package/lib/import/figma/types/api.d.mts +0 -53
  393. package/lib/import/figma/types/api.mjs +0 -1
  394. package/lib/import/figma/types/nodes.cjs +0 -2
  395. package/lib/import/figma/types/nodes.d.cts +0 -44
  396. package/lib/import/figma/types/nodes.d.mts +0 -44
  397. package/lib/import/figma/types/nodes.mjs +0 -1
  398. package/lib/import/figma/types/options.cjs +0 -2
  399. package/lib/import/figma/types/options.d.cts +0 -59
  400. package/lib/import/figma/types/options.d.mts +0 -59
  401. package/lib/import/figma/types/options.mjs +0 -1
  402. package/lib/import/figma/types/result.cjs +0 -2
  403. package/lib/import/figma/types/result.d.cts +0 -44
  404. package/lib/import/figma/types/result.d.mts +0 -44
  405. package/lib/import/figma/types/result.mjs +0 -1
  406. package/lib/index.cjs +0 -157
  407. package/lib/index.d.cts +0 -80
  408. package/lib/index.d.mts +0 -80
  409. package/lib/index.mjs +0 -91
  410. package/lib/misc/bump-version.cjs +0 -15
  411. package/lib/misc/bump-version.d.cts +0 -6
  412. package/lib/misc/bump-version.d.mts +0 -6
  413. package/lib/misc/bump-version.mjs +0 -13
  414. package/lib/misc/cheerio.cjs +0 -2
  415. package/lib/misc/cheerio.d.cts +0 -10
  416. package/lib/misc/cheerio.d.mts +0 -10
  417. package/lib/misc/cheerio.d.ts +0 -10
  418. package/lib/misc/cheerio.mjs +0 -1
  419. package/lib/misc/compare-dirs.cjs +0 -75
  420. package/lib/misc/compare-dirs.d.cts +0 -11
  421. package/lib/misc/compare-dirs.d.mts +0 -11
  422. package/lib/misc/compare-dirs.mjs +0 -73
  423. package/lib/misc/exec.cjs +0 -27
  424. package/lib/misc/exec.d.cts +0 -12
  425. package/lib/misc/exec.d.mts +0 -12
  426. package/lib/misc/exec.mjs +0 -25
  427. package/lib/misc/keyword.cjs +0 -20
  428. package/lib/misc/keyword.d.cts +0 -6
  429. package/lib/misc/keyword.d.mts +0 -6
  430. package/lib/misc/keyword.mjs +0 -18
  431. package/lib/misc/scan.cjs +0 -114
  432. package/lib/misc/scan.d.cts +0 -33
  433. package/lib/misc/scan.d.mts +0 -33
  434. package/lib/misc/scan.mjs +0 -111
  435. package/lib/misc/write-json.cjs +0 -9
  436. package/lib/misc/write-json.d.cts +0 -6
  437. package/lib/misc/write-json.d.mts +0 -6
  438. package/lib/misc/write-json.mjs +0 -7
  439. package/lib/optimise/figma.cjs +0 -232
  440. package/lib/optimise/figma.d.cts +0 -14
  441. package/lib/optimise/figma.d.mts +0 -14
  442. package/lib/optimise/figma.mjs +0 -230
  443. package/lib/optimise/flags.cjs +0 -256
  444. package/lib/optimise/flags.d.cts +0 -11
  445. package/lib/optimise/flags.d.mts +0 -11
  446. package/lib/optimise/flags.mjs +0 -254
  447. package/lib/optimise/global-style.cjs +0 -158
  448. package/lib/optimise/global-style.d.cts +0 -11
  449. package/lib/optimise/global-style.d.mts +0 -11
  450. package/lib/optimise/global-style.mjs +0 -156
  451. package/lib/optimise/mask.cjs +0 -110
  452. package/lib/optimise/mask.d.cts +0 -24
  453. package/lib/optimise/mask.d.mts +0 -24
  454. package/lib/optimise/mask.mjs +0 -108
  455. package/lib/optimise/origin.cjs +0 -23
  456. package/lib/optimise/origin.d.cts +0 -11
  457. package/lib/optimise/origin.d.mts +0 -11
  458. package/lib/optimise/origin.mjs +0 -21
  459. package/lib/optimise/scale.cjs +0 -27
  460. package/lib/optimise/scale.d.cts +0 -11
  461. package/lib/optimise/scale.d.mts +0 -11
  462. package/lib/optimise/scale.mjs +0 -25
  463. package/lib/optimise/svgo.cjs +0 -107
  464. package/lib/optimise/svgo.d.cts +0 -37
  465. package/lib/optimise/svgo.d.mts +0 -37
  466. package/lib/optimise/svgo.mjs +0 -104
  467. package/lib/optimise/unwrap.cjs +0 -31
  468. package/lib/optimise/unwrap.d.cts +0 -11
  469. package/lib/optimise/unwrap.d.mts +0 -11
  470. package/lib/optimise/unwrap.mjs +0 -29
  471. package/lib/svg/analyse/error.cjs +0 -16
  472. package/lib/svg/analyse/error.d.cts +0 -11
  473. package/lib/svg/analyse/error.d.mts +0 -11
  474. package/lib/svg/analyse/error.mjs +0 -14
  475. package/lib/svg/analyse/types.cjs +0 -2
  476. package/lib/svg/analyse/types.d.cts +0 -93
  477. package/lib/svg/analyse/types.d.mts +0 -93
  478. package/lib/svg/analyse/types.mjs +0 -1
  479. package/lib/svg/analyse.cjs +0 -303
  480. package/lib/svg/analyse.d.cts +0 -16
  481. package/lib/svg/analyse.d.mts +0 -16
  482. package/lib/svg/analyse.mjs +0 -301
  483. package/lib/svg/cleanup/attribs.cjs +0 -39
  484. package/lib/svg/cleanup/attribs.d.cts +0 -11
  485. package/lib/svg/cleanup/attribs.d.mts +0 -11
  486. package/lib/svg/cleanup/attribs.mjs +0 -37
  487. package/lib/svg/cleanup/bad-tags.cjs +0 -69
  488. package/lib/svg/cleanup/bad-tags.d.cts +0 -17
  489. package/lib/svg/cleanup/bad-tags.d.mts +0 -17
  490. package/lib/svg/cleanup/bad-tags.mjs +0 -67
  491. package/lib/svg/cleanup/inline-style.cjs +0 -97
  492. package/lib/svg/cleanup/inline-style.d.cts +0 -11
  493. package/lib/svg/cleanup/inline-style.d.mts +0 -11
  494. package/lib/svg/cleanup/inline-style.mjs +0 -95
  495. package/lib/svg/cleanup/root-style.cjs +0 -34
  496. package/lib/svg/cleanup/root-style.d.cts +0 -17
  497. package/lib/svg/cleanup/root-style.d.mts +0 -17
  498. package/lib/svg/cleanup/root-style.mjs +0 -32
  499. package/lib/svg/cleanup/root-svg.cjs +0 -84
  500. package/lib/svg/cleanup/root-svg.d.cts +0 -11
  501. package/lib/svg/cleanup/root-svg.d.mts +0 -11
  502. package/lib/svg/cleanup/root-svg.mjs +0 -82
  503. package/lib/svg/cleanup/svgo-style.cjs +0 -43
  504. package/lib/svg/cleanup/svgo-style.d.cts +0 -11
  505. package/lib/svg/cleanup/svgo-style.d.mts +0 -11
  506. package/lib/svg/cleanup/svgo-style.mjs +0 -41
  507. package/lib/svg/cleanup.cjs +0 -33
  508. package/lib/svg/cleanup.d.cts +0 -16
  509. package/lib/svg/cleanup.d.mts +0 -16
  510. package/lib/svg/cleanup.mjs +0 -31
  511. package/lib/svg/data/attributes.cjs +0 -373
  512. package/lib/svg/data/attributes.d.cts +0 -77
  513. package/lib/svg/data/attributes.d.mts +0 -77
  514. package/lib/svg/data/attributes.mjs +0 -346
  515. package/lib/svg/data/tags.cjs +0 -141
  516. package/lib/svg/data/tags.d.cts +0 -95
  517. package/lib/svg/data/tags.d.mts +0 -95
  518. package/lib/svg/data/tags.mjs +0 -117
  519. package/lib/svg/index.cjs +0 -178
  520. package/lib/svg/index.d.cts +0 -52
  521. package/lib/svg/index.d.mts +0 -52
  522. package/lib/svg/index.mjs +0 -162
  523. package/lib/svg/parse-style.cjs +0 -243
  524. package/lib/svg/parse-style.d.cts +0 -59
  525. package/lib/svg/parse-style.d.mts +0 -59
  526. package/lib/svg/parse-style.mjs +0 -241
  527. package/lib/svg/parse.cjs +0 -46
  528. package/lib/svg/parse.d.cts +0 -31
  529. package/lib/svg/parse.d.mts +0 -31
  530. package/lib/svg/parse.mjs +0 -44
@@ -1,91 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const crypto = require('crypto');
5
- const misc_scan = require('../../misc/scan.cjs');
6
-
7
- const cacheVersion = 1;
8
- const storedFiles = /* @__PURE__ */ Object.create(null);
9
- function apiCacheKey(query) {
10
- const item = JSON.stringify({
11
- uri: query.uri,
12
- params: query.params?.toString(),
13
- headers: query.headers
14
- });
15
- return crypto.createHash("md5").update(item).digest("hex");
16
- }
17
- async function storeAPICache(options, key, data) {
18
- const expires = Date.now() + options.ttl * 1e3;
19
- const filename = options.dir + "/" + key + "." + expires.toString() + ".json";
20
- if (!storedFiles[options.dir]) {
21
- await getStoredFiles(options.dir);
22
- }
23
- const content = {
24
- version: cacheVersion,
25
- expires,
26
- data
27
- };
28
- await fs.promises.writeFile(filename, JSON.stringify(content, null, 4), "utf8");
29
- storedFiles[options.dir][key] = {
30
- filename,
31
- expires
32
- };
33
- }
34
- async function getAPICache(dir, key) {
35
- if (!storedFiles[dir]) {
36
- await getStoredFiles(dir);
37
- }
38
- const item = storedFiles[dir][key];
39
- if (!item) {
40
- return null;
41
- }
42
- const time = Date.now();
43
- try {
44
- const content = JSON.parse(
45
- await fs.promises.readFile(item.filename, "utf8")
46
- );
47
- return content.version === cacheVersion && content.expires > time ? content.data : null;
48
- } catch (err) {
49
- return null;
50
- }
51
- }
52
- function clearAPICache(dir) {
53
- return getStoredFiles(dir, true);
54
- }
55
- async function getStoredFiles(dir, clear = false) {
56
- const storage = !clear && storedFiles[dir] || /* @__PURE__ */ Object.create(null);
57
- const time = Date.now();
58
- storedFiles[dir] = storage;
59
- try {
60
- await fs.promises.mkdir(dir, {
61
- recursive: true
62
- });
63
- } catch (err) {
64
- }
65
- await misc_scan.scanDirectory(
66
- dir,
67
- async (ext, file, subdir, path) => {
68
- if (ext !== ".json") {
69
- return false;
70
- }
71
- const filename = path + subdir + file + ext;
72
- const parts = file.split(".");
73
- const expires = parseInt(parts.pop());
74
- if (clear || expires < time || parts.length !== 1) {
75
- await fs.promises.unlink(filename);
76
- return false;
77
- }
78
- const cacheKey = parts[0];
79
- storage[cacheKey] = {
80
- filename,
81
- expires
82
- };
83
- },
84
- false
85
- );
86
- }
87
-
88
- exports.apiCacheKey = apiCacheKey;
89
- exports.clearAPICache = clearAPICache;
90
- exports.getAPICache = getAPICache;
91
- exports.storeAPICache = storeAPICache;
@@ -1,20 +0,0 @@
1
- import { APIQueryParams, APICacheOptions } from './types.cjs';
2
-
3
- /**
4
- * Unique key
5
- */
6
- declare function apiCacheKey(query: APIQueryParams): string;
7
- /**
8
- * Store cache
9
- */
10
- declare function storeAPICache(options: APICacheOptions, key: string, data: string): Promise<void>;
11
- /**
12
- * Get item from cache
13
- */
14
- declare function getAPICache(dir: string, key: string): Promise<string | null>;
15
- /**
16
- * Clear cache
17
- */
18
- declare function clearAPICache(dir: string): Promise<void>;
19
-
20
- export { apiCacheKey, clearAPICache, getAPICache, storeAPICache };
@@ -1,20 +0,0 @@
1
- import { APIQueryParams, APICacheOptions } from './types.mjs';
2
-
3
- /**
4
- * Unique key
5
- */
6
- declare function apiCacheKey(query: APIQueryParams): string;
7
- /**
8
- * Store cache
9
- */
10
- declare function storeAPICache(options: APICacheOptions, key: string, data: string): Promise<void>;
11
- /**
12
- * Get item from cache
13
- */
14
- declare function getAPICache(dir: string, key: string): Promise<string | null>;
15
- /**
16
- * Clear cache
17
- */
18
- declare function clearAPICache(dir: string): Promise<void>;
19
-
20
- export { apiCacheKey, clearAPICache, getAPICache, storeAPICache };
@@ -1,86 +0,0 @@
1
- import { promises } from 'fs';
2
- import { createHash } from 'crypto';
3
- import { scanDirectory } from '../../misc/scan.mjs';
4
-
5
- const cacheVersion = 1;
6
- const storedFiles = /* @__PURE__ */ Object.create(null);
7
- function apiCacheKey(query) {
8
- const item = JSON.stringify({
9
- uri: query.uri,
10
- params: query.params?.toString(),
11
- headers: query.headers
12
- });
13
- return createHash("md5").update(item).digest("hex");
14
- }
15
- async function storeAPICache(options, key, data) {
16
- const expires = Date.now() + options.ttl * 1e3;
17
- const filename = options.dir + "/" + key + "." + expires.toString() + ".json";
18
- if (!storedFiles[options.dir]) {
19
- await getStoredFiles(options.dir);
20
- }
21
- const content = {
22
- version: cacheVersion,
23
- expires,
24
- data
25
- };
26
- await promises.writeFile(filename, JSON.stringify(content, null, 4), "utf8");
27
- storedFiles[options.dir][key] = {
28
- filename,
29
- expires
30
- };
31
- }
32
- async function getAPICache(dir, key) {
33
- if (!storedFiles[dir]) {
34
- await getStoredFiles(dir);
35
- }
36
- const item = storedFiles[dir][key];
37
- if (!item) {
38
- return null;
39
- }
40
- const time = Date.now();
41
- try {
42
- const content = JSON.parse(
43
- await promises.readFile(item.filename, "utf8")
44
- );
45
- return content.version === cacheVersion && content.expires > time ? content.data : null;
46
- } catch (err) {
47
- return null;
48
- }
49
- }
50
- function clearAPICache(dir) {
51
- return getStoredFiles(dir, true);
52
- }
53
- async function getStoredFiles(dir, clear = false) {
54
- const storage = !clear && storedFiles[dir] || /* @__PURE__ */ Object.create(null);
55
- const time = Date.now();
56
- storedFiles[dir] = storage;
57
- try {
58
- await promises.mkdir(dir, {
59
- recursive: true
60
- });
61
- } catch (err) {
62
- }
63
- await scanDirectory(
64
- dir,
65
- async (ext, file, subdir, path) => {
66
- if (ext !== ".json") {
67
- return false;
68
- }
69
- const filename = path + subdir + file + ext;
70
- const parts = file.split(".");
71
- const expires = parseInt(parts.pop());
72
- if (clear || expires < time || parts.length !== 1) {
73
- await promises.unlink(filename);
74
- return false;
75
- }
76
- const cacheKey = parts[0];
77
- storage[cacheKey] = {
78
- filename,
79
- expires
80
- };
81
- },
82
- false
83
- );
84
- }
85
-
86
- export { apiCacheKey, clearAPICache, getAPICache, storeAPICache };
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- const axiosConfig = {
4
- // Empty by default. Add properties
5
- };
6
- const fetchCallbacks = {
7
- onStart: (url) => console.log("Fetching:", url)
8
- };
9
-
10
- exports.axiosConfig = axiosConfig;
11
- exports.fetchCallbacks = fetchCallbacks;
@@ -1,18 +0,0 @@
1
- import { RequestOptions } from 'node:http';
2
- import { APIQueryParams } from './types.cjs';
3
-
4
- /**
5
- * Axios config, customisable
6
- */
7
- declare const axiosConfig: Omit<RequestOptions, 'headers' | 'responseType' | 'url' | 'method' | 'data'>;
8
- interface AxiosCallbacks {
9
- onStart?: (url: string, params: APIQueryParams) => void;
10
- onSuccess?: (url: string, params: APIQueryParams) => void;
11
- onError?: (url: string, params: APIQueryParams, errorCode?: number) => void;
12
- }
13
- /**
14
- * Customisable callbacks, used for logging
15
- */
16
- declare const fetchCallbacks: AxiosCallbacks;
17
-
18
- export { axiosConfig, fetchCallbacks };
@@ -1,18 +0,0 @@
1
- import { RequestOptions } from 'node:http';
2
- import { APIQueryParams } from './types.mjs';
3
-
4
- /**
5
- * Axios config, customisable
6
- */
7
- declare const axiosConfig: Omit<RequestOptions, 'headers' | 'responseType' | 'url' | 'method' | 'data'>;
8
- interface AxiosCallbacks {
9
- onStart?: (url: string, params: APIQueryParams) => void;
10
- onSuccess?: (url: string, params: APIQueryParams) => void;
11
- onError?: (url: string, params: APIQueryParams, errorCode?: number) => void;
12
- }
13
- /**
14
- * Customisable callbacks, used for logging
15
- */
16
- declare const fetchCallbacks: AxiosCallbacks;
17
-
18
- export { axiosConfig, fetchCallbacks };
@@ -1,8 +0,0 @@
1
- const axiosConfig = {
2
- // Empty by default. Add properties
3
- };
4
- const fetchCallbacks = {
5
- onStart: (url) => console.log("Fetching:", url)
6
- };
7
-
8
- export { axiosConfig, fetchCallbacks };
@@ -1,26 +0,0 @@
1
- 'use strict';
2
-
3
- const promises = require('fs/promises');
4
- const download_api_config = require('./config.cjs');
5
- const download_api_fetch = require('./fetch.cjs');
6
-
7
- async function downloadFile(query, target) {
8
- const params = query.params ? query.params.toString() : "";
9
- const url = query.uri + (params ? "?" + params : "");
10
- const headers = query.headers;
11
- download_api_config.fetchCallbacks.onStart?.(url, query);
12
- const fetch = download_api_fetch.getFetch();
13
- const response = await fetch(url, {
14
- ...download_api_config.axiosConfig,
15
- headers
16
- });
17
- if (response.status !== 200) {
18
- download_api_config.fetchCallbacks.onError?.(url, query, response.status);
19
- throw new Error(`Error downloading ${url}: ${response.status}`);
20
- }
21
- const data = await response.arrayBuffer();
22
- download_api_config.fetchCallbacks.onSuccess?.(url, query);
23
- await promises.writeFile(target, Buffer.from(data));
24
- }
25
-
26
- exports.downloadFile = downloadFile;
@@ -1,8 +0,0 @@
1
- import { APIQueryParams } from './types.cjs';
2
-
3
- /**
4
- * Download file
5
- */
6
- declare function downloadFile(query: APIQueryParams, target: string): Promise<void>;
7
-
8
- export { downloadFile };
@@ -1,8 +0,0 @@
1
- import { APIQueryParams } from './types.mjs';
2
-
3
- /**
4
- * Download file
5
- */
6
- declare function downloadFile(query: APIQueryParams, target: string): Promise<void>;
7
-
8
- export { downloadFile };
@@ -1,24 +0,0 @@
1
- import { writeFile } from 'fs/promises';
2
- import { fetchCallbacks, axiosConfig } from './config.mjs';
3
- import { getFetch } from './fetch.mjs';
4
-
5
- async function downloadFile(query, target) {
6
- const params = query.params ? query.params.toString() : "";
7
- const url = query.uri + (params ? "?" + params : "");
8
- const headers = query.headers;
9
- fetchCallbacks.onStart?.(url, query);
10
- const fetch = getFetch();
11
- const response = await fetch(url, {
12
- ...axiosConfig,
13
- headers
14
- });
15
- if (response.status !== 200) {
16
- fetchCallbacks.onError?.(url, query, response.status);
17
- throw new Error(`Error downloading ${url}: ${response.status}`);
18
- }
19
- const data = await response.arrayBuffer();
20
- fetchCallbacks.onSuccess?.(url, query);
21
- await writeFile(target, Buffer.from(data));
22
- }
23
-
24
- export { downloadFile };
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- let customFetch = fetch;
4
- function setFetch(fetchFunction) {
5
- customFetch = fetchFunction;
6
- }
7
- function getFetch() {
8
- return customFetch;
9
- }
10
-
11
- exports.getFetch = getFetch;
12
- exports.setFetch = setFetch;
@@ -1,10 +0,0 @@
1
- /**
2
- * Set custom fetch function
3
- */
4
- declare function setFetch(fetchFunction: typeof fetch): void;
5
- /**
6
- * Get fetch function
7
- */
8
- declare function getFetch(): typeof fetch;
9
-
10
- export { getFetch, setFetch };
@@ -1,10 +0,0 @@
1
- /**
2
- * Set custom fetch function
3
- */
4
- declare function setFetch(fetchFunction: typeof fetch): void;
5
- /**
6
- * Get fetch function
7
- */
8
- declare function getFetch(): typeof fetch;
9
-
10
- export { getFetch, setFetch };
@@ -1,9 +0,0 @@
1
- let customFetch = fetch;
2
- function setFetch(fetchFunction) {
3
- customFetch = fetchFunction;
4
- }
5
- function getFetch() {
6
- return customFetch;
7
- }
8
-
9
- export { getFetch, setFetch };
@@ -1,57 +0,0 @@
1
- 'use strict';
2
-
3
- const download_api_cache = require('./cache.cjs');
4
- const download_api_config = require('./config.cjs');
5
- const download_api_fetch = require('./fetch.cjs');
6
- require('fs');
7
- require('crypto');
8
- require('../../misc/scan.cjs');
9
-
10
- async function sendAPIQuery(query, cache) {
11
- const cacheKey = cache ? download_api_cache.apiCacheKey(query) : "";
12
- if (cache) {
13
- const cached = await download_api_cache.getAPICache(cache.dir, cacheKey);
14
- if (cached) {
15
- return cached;
16
- }
17
- }
18
- const result = await sendQuery(query);
19
- if (cache && typeof result !== "number") {
20
- try {
21
- await download_api_cache.storeAPICache(cache, cacheKey, result);
22
- } catch (err) {
23
- console.error("Error writing API cache");
24
- }
25
- }
26
- return result;
27
- }
28
- async function sendQuery(query) {
29
- const params = query.params ? query.params.toString() : "";
30
- const url = query.uri + (params ? "?" + params : "");
31
- const headers = query.headers;
32
- download_api_config.fetchCallbacks.onStart?.(url, query);
33
- function fail(value) {
34
- download_api_config.fetchCallbacks.onError?.(url, query, value);
35
- return value ?? 404;
36
- }
37
- const fetch = download_api_fetch.getFetch();
38
- try {
39
- const response = await fetch(url, {
40
- ...download_api_config.axiosConfig,
41
- headers
42
- });
43
- if (response.status !== 200) {
44
- return fail(response.status);
45
- }
46
- const data = await response.text();
47
- if (typeof data !== "string") {
48
- return fail();
49
- }
50
- download_api_config.fetchCallbacks.onSuccess?.(url, query);
51
- return data;
52
- } catch (err) {
53
- return fail();
54
- }
55
- }
56
-
57
- exports.sendAPIQuery = sendAPIQuery;
@@ -1,8 +0,0 @@
1
- import { APIQueryParams, APICacheOptions } from './types.cjs';
2
-
3
- /**
4
- * Send API query
5
- */
6
- declare function sendAPIQuery(query: APIQueryParams, cache?: APICacheOptions): Promise<number | string>;
7
-
8
- export { sendAPIQuery };
@@ -1,8 +0,0 @@
1
- import { APIQueryParams, APICacheOptions } from './types.mjs';
2
-
3
- /**
4
- * Send API query
5
- */
6
- declare function sendAPIQuery(query: APIQueryParams, cache?: APICacheOptions): Promise<number | string>;
7
-
8
- export { sendAPIQuery };
@@ -1,55 +0,0 @@
1
- import { apiCacheKey, getAPICache, storeAPICache } from './cache.mjs';
2
- import { fetchCallbacks, axiosConfig } from './config.mjs';
3
- import { getFetch } from './fetch.mjs';
4
- import 'fs';
5
- import 'crypto';
6
- import '../../misc/scan.mjs';
7
-
8
- async function sendAPIQuery(query, cache) {
9
- const cacheKey = cache ? apiCacheKey(query) : "";
10
- if (cache) {
11
- const cached = await getAPICache(cache.dir, cacheKey);
12
- if (cached) {
13
- return cached;
14
- }
15
- }
16
- const result = await sendQuery(query);
17
- if (cache && typeof result !== "number") {
18
- try {
19
- await storeAPICache(cache, cacheKey, result);
20
- } catch (err) {
21
- console.error("Error writing API cache");
22
- }
23
- }
24
- return result;
25
- }
26
- async function sendQuery(query) {
27
- const params = query.params ? query.params.toString() : "";
28
- const url = query.uri + (params ? "?" + params : "");
29
- const headers = query.headers;
30
- fetchCallbacks.onStart?.(url, query);
31
- function fail(value) {
32
- fetchCallbacks.onError?.(url, query, value);
33
- return value ?? 404;
34
- }
35
- const fetch = getFetch();
36
- try {
37
- const response = await fetch(url, {
38
- ...axiosConfig,
39
- headers
40
- });
41
- if (response.status !== 200) {
42
- return fail(response.status);
43
- }
44
- const data = await response.text();
45
- if (typeof data !== "string") {
46
- return fail();
47
- }
48
- fetchCallbacks.onSuccess?.(url, query);
49
- return data;
50
- } catch (err) {
51
- return fail();
52
- }
53
- }
54
-
55
- export { sendAPIQuery };
@@ -1,104 +0,0 @@
1
- 'use strict';
2
-
3
- const defaultQueueParams = {
4
- limit: 5,
5
- retries: 3
6
- };
7
- function runConcurrentQueries(params) {
8
- const allParams = {
9
- ...defaultQueueParams,
10
- ...params
11
- };
12
- const paramsWithCount = allParams;
13
- const paramsWithPromises = allParams;
14
- const isCallback = typeof paramsWithCount.total === "number";
15
- const count = isCallback ? paramsWithCount.total : paramsWithPromises.promises.length;
16
- const limit = Math.max(1, Math.min(allParams.limit || 1, count));
17
- const retries = Math.max(1, allParams.retries || 1);
18
- const results = Array(count).fill(void 0);
19
- let nextIndex = 0;
20
- const resolving = /* @__PURE__ */ new Set();
21
- let rejected = false;
22
- let resolved = false;
23
- return new Promise((resolve, reject) => {
24
- function resolvedItem() {
25
- if (rejected || resolved) {
26
- return;
27
- }
28
- if (!resolving.size && nextIndex > count) {
29
- resolved = true;
30
- resolve(results);
31
- return;
32
- }
33
- if (resolving.size < limit && nextIndex <= count) {
34
- startNext();
35
- }
36
- }
37
- function fail(index, err) {
38
- function done(failed) {
39
- resolving.delete(index);
40
- if (failed) {
41
- rejected = true;
42
- reject(err);
43
- } else {
44
- resolvedItem();
45
- }
46
- }
47
- if (allParams.onError) {
48
- let retry;
49
- try {
50
- retry = allParams.onError(index, err, params);
51
- } catch (err2) {
52
- err = err2;
53
- done(true);
54
- return;
55
- }
56
- if (retry instanceof Promise) {
57
- retry.then(() => {
58
- done(false);
59
- }).catch((err2) => {
60
- err = err2;
61
- done(true);
62
- });
63
- return;
64
- }
65
- done(false);
66
- } else {
67
- done(true);
68
- }
69
- }
70
- function run(index, retry) {
71
- resolving.add(index);
72
- const p = isCallback ? paramsWithCount.callback(index) : paramsWithPromises.promises[index];
73
- allParams.onStart?.(index, params);
74
- p.then((value) => {
75
- resolving.delete(index);
76
- results[index] = value;
77
- allParams.onSuccess?.(index, params, value);
78
- resolvedItem();
79
- }).catch((err) => {
80
- if (retry < retries) {
81
- setTimeout(() => {
82
- run(index, retry + 1);
83
- });
84
- } else if (!rejected) {
85
- fail(index, err);
86
- }
87
- });
88
- }
89
- function startNext() {
90
- const index = nextIndex++;
91
- if (index >= count) {
92
- resolvedItem();
93
- return;
94
- }
95
- run(index, 0);
96
- }
97
- for (let i = 0; i < limit; i++) {
98
- startNext();
99
- }
100
- });
101
- }
102
-
103
- exports.defaultQueueParams = defaultQueueParams;
104
- exports.runConcurrentQueries = runConcurrentQueries;
@@ -1,32 +0,0 @@
1
- /**
2
- * Default parameters
3
- */
4
- declare const defaultQueueParams: ConcurrentQueriesCommonParams<unknown>;
5
- /**
6
- * Callback to get query
7
- */
8
- type GetConcurrentQueryCallback<T> = (index: number) => Promise<T>;
9
- /**
10
- * Parameters
11
- */
12
- interface ConcurrentQueriesCommonParams<T> {
13
- limit?: number;
14
- retries?: number;
15
- onError?: (index: number, error: unknown, params: ConcurrentQueriesParams<T>) => void | Promise<void>;
16
- onSuccess?: (index: number, params: ConcurrentQueriesParams<T>, result: T) => void;
17
- onStart?: (index: number, params: ConcurrentQueriesParams<T>) => void;
18
- }
19
- interface ConcurrentQueriesParamsWithCount<T> extends ConcurrentQueriesCommonParams<T> {
20
- total: number;
21
- callback: (index: number) => Promise<T>;
22
- }
23
- interface ConcurrentQueriesParamsWithPromises<T> extends ConcurrentQueriesCommonParams<T> {
24
- promises: Promise<T>[];
25
- }
26
- type ConcurrentQueriesParams<T> = ConcurrentQueriesParamsWithCount<T> | ConcurrentQueriesParamsWithPromises<T>;
27
- /**
28
- * Runs concurrent async operations
29
- */
30
- declare function runConcurrentQueries<T>(params: ConcurrentQueriesParams<T>): Promise<T[]>;
31
-
32
- export { type ConcurrentQueriesCommonParams, type ConcurrentQueriesParams, type ConcurrentQueriesParamsWithCount, type ConcurrentQueriesParamsWithPromises, type GetConcurrentQueryCallback, defaultQueueParams, runConcurrentQueries };