@iconify/tools 4.1.5 → 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 (526) 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 +7 -9
  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 +9 -0
  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 -79
  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 +4 -6
  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 +126 -227
  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 -30
  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/index.cjs +0 -60
  235. package/lib/download/api/index.d.cts +0 -8
  236. package/lib/download/api/index.d.mts +0 -8
  237. package/lib/download/api/index.mjs +0 -54
  238. package/lib/download/api/queue.cjs +0 -104
  239. package/lib/download/api/queue.d.cts +0 -32
  240. package/lib/download/api/queue.d.mts +0 -32
  241. package/lib/download/api/queue.mjs +0 -101
  242. package/lib/download/api/types.cjs +0 -2
  243. package/lib/download/api/types.d.cts +0 -17
  244. package/lib/download/api/types.d.mts +0 -17
  245. package/lib/download/api/types.mjs +0 -1
  246. package/lib/download/git/branch.cjs +0 -19
  247. package/lib/download/git/branch.d.cts +0 -8
  248. package/lib/download/git/branch.d.mts +0 -8
  249. package/lib/download/git/branch.mjs +0 -17
  250. package/lib/download/git/hash.cjs +0 -14
  251. package/lib/download/git/hash.d.cts +0 -8
  252. package/lib/download/git/hash.d.mts +0 -8
  253. package/lib/download/git/hash.mjs +0 -12
  254. package/lib/download/git/index.cjs +0 -77
  255. package/lib/download/git/index.d.cts +0 -29
  256. package/lib/download/git/index.d.mts +0 -29
  257. package/lib/download/git/index.mjs +0 -75
  258. package/lib/download/git/reset.cjs +0 -37
  259. package/lib/download/git/reset.d.cts +0 -6
  260. package/lib/download/git/reset.d.mts +0 -6
  261. package/lib/download/git/reset.mjs +0 -35
  262. package/lib/download/github/hash.cjs +0 -31
  263. package/lib/download/github/hash.d.cts +0 -8
  264. package/lib/download/github/hash.d.mts +0 -8
  265. package/lib/download/github/hash.mjs +0 -29
  266. package/lib/download/github/index.cjs +0 -105
  267. package/lib/download/github/index.d.cts +0 -31
  268. package/lib/download/github/index.d.mts +0 -31
  269. package/lib/download/github/index.mjs +0 -103
  270. package/lib/download/github/types.cjs +0 -2
  271. package/lib/download/github/types.d.cts +0 -11
  272. package/lib/download/github/types.d.mts +0 -11
  273. package/lib/download/github/types.mjs +0 -1
  274. package/lib/download/gitlab/hash.cjs +0 -33
  275. package/lib/download/gitlab/hash.d.cts +0 -8
  276. package/lib/download/gitlab/hash.d.mts +0 -8
  277. package/lib/download/gitlab/hash.mjs +0 -31
  278. package/lib/download/gitlab/index.cjs +0 -105
  279. package/lib/download/gitlab/index.d.cts +0 -31
  280. package/lib/download/gitlab/index.d.mts +0 -31
  281. package/lib/download/gitlab/index.mjs +0 -103
  282. package/lib/download/gitlab/types.cjs +0 -5
  283. package/lib/download/gitlab/types.d.cts +0 -15
  284. package/lib/download/gitlab/types.d.mts +0 -15
  285. package/lib/download/gitlab/types.mjs +0 -3
  286. package/lib/download/helpers/untar.cjs +0 -12
  287. package/lib/download/helpers/untar.d.cts +0 -6
  288. package/lib/download/helpers/untar.d.mts +0 -6
  289. package/lib/download/helpers/untar.mjs +0 -10
  290. package/lib/download/helpers/unzip.cjs +0 -17
  291. package/lib/download/helpers/unzip.d.cts +0 -6
  292. package/lib/download/helpers/unzip.d.mts +0 -6
  293. package/lib/download/helpers/unzip.mjs +0 -11
  294. package/lib/download/index.cjs +0 -64
  295. package/lib/download/index.d.cts +0 -48
  296. package/lib/download/index.d.mts +0 -48
  297. package/lib/download/index.mjs +0 -62
  298. package/lib/download/npm/index.cjs +0 -85
  299. package/lib/download/npm/index.d.cts +0 -30
  300. package/lib/download/npm/index.d.mts +0 -30
  301. package/lib/download/npm/index.mjs +0 -83
  302. package/lib/download/npm/types.cjs +0 -2
  303. package/lib/download/npm/types.d.cts +0 -9
  304. package/lib/download/npm/types.d.mts +0 -9
  305. package/lib/download/npm/types.mjs +0 -1
  306. package/lib/download/npm/version.cjs +0 -29
  307. package/lib/download/npm/version.d.cts +0 -16
  308. package/lib/download/npm/version.d.mts +0 -16
  309. package/lib/download/npm/version.mjs +0 -26
  310. package/lib/download/types/modified.cjs +0 -2
  311. package/lib/download/types/modified.d.cts +0 -6
  312. package/lib/download/types/modified.d.mts +0 -6
  313. package/lib/download/types/modified.mjs +0 -1
  314. package/lib/download/types/sources.cjs +0 -2
  315. package/lib/download/types/sources.d.cts +0 -12
  316. package/lib/download/types/sources.d.mts +0 -12
  317. package/lib/download/types/sources.mjs +0 -1
  318. package/lib/export/directory.cjs +0 -43
  319. package/lib/export/directory.d.cts +0 -26
  320. package/lib/export/directory.d.mts +0 -26
  321. package/lib/export/directory.mjs +0 -41
  322. package/lib/export/helpers/custom-files.cjs +0 -26
  323. package/lib/export/helpers/custom-files.d.cts +0 -12
  324. package/lib/export/helpers/custom-files.d.mts +0 -12
  325. package/lib/export/helpers/custom-files.mjs +0 -24
  326. package/lib/export/helpers/prepare.cjs +0 -34
  327. package/lib/export/helpers/prepare.d.cts +0 -19
  328. package/lib/export/helpers/prepare.d.mts +0 -19
  329. package/lib/export/helpers/prepare.mjs +0 -31
  330. package/lib/export/helpers/types-version.cjs +0 -12
  331. package/lib/export/helpers/types-version.d.cts +0 -6
  332. package/lib/export/helpers/types-version.d.mts +0 -6
  333. package/lib/export/helpers/types-version.mjs +0 -10
  334. package/lib/export/icon-package.cjs +0 -56
  335. package/lib/export/icon-package.d.cts +0 -26
  336. package/lib/export/icon-package.d.mts +0 -26
  337. package/lib/export/icon-package.mjs +0 -54
  338. package/lib/export/json-package.cjs +0 -144
  339. package/lib/export/json-package.d.cts +0 -25
  340. package/lib/export/json-package.d.mts +0 -25
  341. package/lib/export/json-package.mjs +0 -142
  342. package/lib/icon-set/index.cjs +0 -720
  343. package/lib/icon-set/index.d.cts +0 -162
  344. package/lib/icon-set/index.d.mts +0 -162
  345. package/lib/icon-set/index.mjs +0 -716
  346. package/lib/icon-set/match.cjs +0 -56
  347. package/lib/icon-set/match.d.cts +0 -15
  348. package/lib/icon-set/match.d.mts +0 -15
  349. package/lib/icon-set/match.mjs +0 -54
  350. package/lib/icon-set/merge.cjs +0 -87
  351. package/lib/icon-set/merge.d.cts +0 -14
  352. package/lib/icon-set/merge.d.mts +0 -14
  353. package/lib/icon-set/merge.mjs +0 -85
  354. package/lib/icon-set/modified.cjs +0 -25
  355. package/lib/icon-set/modified.d.cts +0 -16
  356. package/lib/icon-set/modified.d.mts +0 -16
  357. package/lib/icon-set/modified.mjs +0 -23
  358. package/lib/icon-set/props.cjs +0 -16
  359. package/lib/icon-set/props.d.cts +0 -13
  360. package/lib/icon-set/props.d.mts +0 -13
  361. package/lib/icon-set/props.mjs +0 -13
  362. package/lib/icon-set/tags.cjs +0 -95
  363. package/lib/icon-set/tags.d.cts +0 -25
  364. package/lib/icon-set/tags.d.mts +0 -25
  365. package/lib/icon-set/tags.mjs +0 -91
  366. package/lib/icon-set/types.cjs +0 -2
  367. package/lib/icon-set/types.d.cts +0 -75
  368. package/lib/icon-set/types.d.mts +0 -75
  369. package/lib/icon-set/types.mjs +0 -1
  370. package/lib/import/directory.cjs +0 -169
  371. package/lib/import/directory.d.cts +0 -52
  372. package/lib/import/directory.d.mts +0 -52
  373. package/lib/import/directory.mjs +0 -166
  374. package/lib/import/figma/index.cjs +0 -115
  375. package/lib/import/figma/index.d.cts +0 -20
  376. package/lib/import/figma/index.d.mts +0 -20
  377. package/lib/import/figma/index.mjs +0 -113
  378. package/lib/import/figma/nodes.cjs +0 -90
  379. package/lib/import/figma/nodes.d.cts +0 -18
  380. package/lib/import/figma/nodes.d.mts +0 -18
  381. package/lib/import/figma/nodes.mjs +0 -88
  382. package/lib/import/figma/query.cjs +0 -260
  383. package/lib/import/figma/query.d.cts +0 -42
  384. package/lib/import/figma/query.d.mts +0 -42
  385. package/lib/import/figma/query.mjs +0 -256
  386. package/lib/import/figma/types/api.cjs +0 -2
  387. package/lib/import/figma/types/api.d.cts +0 -53
  388. package/lib/import/figma/types/api.d.mts +0 -53
  389. package/lib/import/figma/types/api.mjs +0 -1
  390. package/lib/import/figma/types/nodes.cjs +0 -2
  391. package/lib/import/figma/types/nodes.d.cts +0 -44
  392. package/lib/import/figma/types/nodes.d.mts +0 -44
  393. package/lib/import/figma/types/nodes.mjs +0 -1
  394. package/lib/import/figma/types/options.cjs +0 -2
  395. package/lib/import/figma/types/options.d.cts +0 -59
  396. package/lib/import/figma/types/options.d.mts +0 -59
  397. package/lib/import/figma/types/options.mjs +0 -1
  398. package/lib/import/figma/types/result.cjs +0 -2
  399. package/lib/import/figma/types/result.d.cts +0 -44
  400. package/lib/import/figma/types/result.d.mts +0 -44
  401. package/lib/import/figma/types/result.mjs +0 -1
  402. package/lib/index.cjs +0 -156
  403. package/lib/index.d.cts +0 -79
  404. package/lib/index.d.mts +0 -79
  405. package/lib/index.mjs +0 -91
  406. package/lib/misc/bump-version.cjs +0 -15
  407. package/lib/misc/bump-version.d.cts +0 -6
  408. package/lib/misc/bump-version.d.mts +0 -6
  409. package/lib/misc/bump-version.mjs +0 -13
  410. package/lib/misc/cheerio.cjs +0 -2
  411. package/lib/misc/cheerio.d.cts +0 -10
  412. package/lib/misc/cheerio.d.mts +0 -10
  413. package/lib/misc/cheerio.d.ts +0 -10
  414. package/lib/misc/cheerio.mjs +0 -1
  415. package/lib/misc/compare-dirs.cjs +0 -75
  416. package/lib/misc/compare-dirs.d.cts +0 -11
  417. package/lib/misc/compare-dirs.d.mts +0 -11
  418. package/lib/misc/compare-dirs.mjs +0 -73
  419. package/lib/misc/exec.cjs +0 -27
  420. package/lib/misc/exec.d.cts +0 -12
  421. package/lib/misc/exec.d.mts +0 -12
  422. package/lib/misc/exec.mjs +0 -25
  423. package/lib/misc/keyword.cjs +0 -20
  424. package/lib/misc/keyword.d.cts +0 -6
  425. package/lib/misc/keyword.d.mts +0 -6
  426. package/lib/misc/keyword.mjs +0 -18
  427. package/lib/misc/scan.cjs +0 -114
  428. package/lib/misc/scan.d.cts +0 -33
  429. package/lib/misc/scan.d.mts +0 -33
  430. package/lib/misc/scan.mjs +0 -111
  431. package/lib/misc/write-json.cjs +0 -9
  432. package/lib/misc/write-json.d.cts +0 -6
  433. package/lib/misc/write-json.d.mts +0 -6
  434. package/lib/misc/write-json.mjs +0 -7
  435. package/lib/optimise/figma.cjs +0 -232
  436. package/lib/optimise/figma.d.cts +0 -14
  437. package/lib/optimise/figma.d.mts +0 -14
  438. package/lib/optimise/figma.mjs +0 -230
  439. package/lib/optimise/flags.cjs +0 -256
  440. package/lib/optimise/flags.d.cts +0 -11
  441. package/lib/optimise/flags.d.mts +0 -11
  442. package/lib/optimise/flags.mjs +0 -254
  443. package/lib/optimise/global-style.cjs +0 -158
  444. package/lib/optimise/global-style.d.cts +0 -11
  445. package/lib/optimise/global-style.d.mts +0 -11
  446. package/lib/optimise/global-style.mjs +0 -156
  447. package/lib/optimise/mask.cjs +0 -110
  448. package/lib/optimise/mask.d.cts +0 -24
  449. package/lib/optimise/mask.d.mts +0 -24
  450. package/lib/optimise/mask.mjs +0 -108
  451. package/lib/optimise/origin.cjs +0 -23
  452. package/lib/optimise/origin.d.cts +0 -11
  453. package/lib/optimise/origin.d.mts +0 -11
  454. package/lib/optimise/origin.mjs +0 -21
  455. package/lib/optimise/scale.cjs +0 -27
  456. package/lib/optimise/scale.d.cts +0 -11
  457. package/lib/optimise/scale.d.mts +0 -11
  458. package/lib/optimise/scale.mjs +0 -25
  459. package/lib/optimise/svgo.cjs +0 -107
  460. package/lib/optimise/svgo.d.cts +0 -37
  461. package/lib/optimise/svgo.d.mts +0 -37
  462. package/lib/optimise/svgo.mjs +0 -104
  463. package/lib/optimise/unwrap.cjs +0 -31
  464. package/lib/optimise/unwrap.d.cts +0 -11
  465. package/lib/optimise/unwrap.d.mts +0 -11
  466. package/lib/optimise/unwrap.mjs +0 -29
  467. package/lib/svg/analyse/error.cjs +0 -16
  468. package/lib/svg/analyse/error.d.cts +0 -11
  469. package/lib/svg/analyse/error.d.mts +0 -11
  470. package/lib/svg/analyse/error.mjs +0 -14
  471. package/lib/svg/analyse/types.cjs +0 -2
  472. package/lib/svg/analyse/types.d.cts +0 -93
  473. package/lib/svg/analyse/types.d.mts +0 -93
  474. package/lib/svg/analyse/types.mjs +0 -1
  475. package/lib/svg/analyse.cjs +0 -303
  476. package/lib/svg/analyse.d.cts +0 -16
  477. package/lib/svg/analyse.d.mts +0 -16
  478. package/lib/svg/analyse.mjs +0 -301
  479. package/lib/svg/cleanup/attribs.cjs +0 -39
  480. package/lib/svg/cleanup/attribs.d.cts +0 -11
  481. package/lib/svg/cleanup/attribs.d.mts +0 -11
  482. package/lib/svg/cleanup/attribs.mjs +0 -37
  483. package/lib/svg/cleanup/bad-tags.cjs +0 -69
  484. package/lib/svg/cleanup/bad-tags.d.cts +0 -17
  485. package/lib/svg/cleanup/bad-tags.d.mts +0 -17
  486. package/lib/svg/cleanup/bad-tags.mjs +0 -67
  487. package/lib/svg/cleanup/inline-style.cjs +0 -97
  488. package/lib/svg/cleanup/inline-style.d.cts +0 -11
  489. package/lib/svg/cleanup/inline-style.d.mts +0 -11
  490. package/lib/svg/cleanup/inline-style.mjs +0 -95
  491. package/lib/svg/cleanup/root-style.cjs +0 -34
  492. package/lib/svg/cleanup/root-style.d.cts +0 -17
  493. package/lib/svg/cleanup/root-style.d.mts +0 -17
  494. package/lib/svg/cleanup/root-style.mjs +0 -32
  495. package/lib/svg/cleanup/root-svg.cjs +0 -84
  496. package/lib/svg/cleanup/root-svg.d.cts +0 -11
  497. package/lib/svg/cleanup/root-svg.d.mts +0 -11
  498. package/lib/svg/cleanup/root-svg.mjs +0 -82
  499. package/lib/svg/cleanup/svgo-style.cjs +0 -43
  500. package/lib/svg/cleanup/svgo-style.d.cts +0 -11
  501. package/lib/svg/cleanup/svgo-style.d.mts +0 -11
  502. package/lib/svg/cleanup/svgo-style.mjs +0 -41
  503. package/lib/svg/cleanup.cjs +0 -33
  504. package/lib/svg/cleanup.d.cts +0 -16
  505. package/lib/svg/cleanup.d.mts +0 -16
  506. package/lib/svg/cleanup.mjs +0 -31
  507. package/lib/svg/data/attributes.cjs +0 -373
  508. package/lib/svg/data/attributes.d.cts +0 -77
  509. package/lib/svg/data/attributes.d.mts +0 -77
  510. package/lib/svg/data/attributes.mjs +0 -346
  511. package/lib/svg/data/tags.cjs +0 -141
  512. package/lib/svg/data/tags.d.cts +0 -95
  513. package/lib/svg/data/tags.d.mts +0 -95
  514. package/lib/svg/data/tags.mjs +0 -117
  515. package/lib/svg/index.cjs +0 -178
  516. package/lib/svg/index.d.cts +0 -52
  517. package/lib/svg/index.d.mts +0 -52
  518. package/lib/svg/index.mjs +0 -162
  519. package/lib/svg/parse-style.cjs +0 -243
  520. package/lib/svg/parse-style.d.cts +0 -59
  521. package/lib/svg/parse-style.d.mts +0 -59
  522. package/lib/svg/parse-style.mjs +0 -241
  523. package/lib/svg/parse.cjs +0 -46
  524. package/lib/svg/parse.d.cts +0 -31
  525. package/lib/svg/parse.d.mts +0 -31
  526. 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 { AxiosRequestConfig } from 'axios';
2
- import { APIQueryParams } from './types.cjs';
3
-
4
- /**
5
- * Axios config, customisable
6
- */
7
- declare const axiosConfig: Omit<AxiosRequestConfig, '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 { AxiosRequestConfig } from 'axios';
2
- import { APIQueryParams } from './types.mjs';
3
-
4
- /**
5
- * Axios config, customisable
6
- */
7
- declare const axiosConfig: Omit<AxiosRequestConfig, '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,30 +0,0 @@
1
- 'use strict';
2
-
3
- const axios = require('axios');
4
- const promises = require('fs/promises');
5
- const download_api_config = require('./config.cjs');
6
-
7
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
8
-
9
- const axios__default = /*#__PURE__*/_interopDefaultCompat(axios);
10
-
11
- async function downloadFile(query, target) {
12
- const params = query.params ? query.params.toString() : "";
13
- const url = query.uri + (params ? "?" + params : "");
14
- const headers = query.headers;
15
- download_api_config.fetchCallbacks.onStart?.(url, query);
16
- const response = await axios__default.get(url, {
17
- ...download_api_config.axiosConfig,
18
- headers,
19
- responseType: "arraybuffer"
20
- });
21
- if (response.status !== 200) {
22
- download_api_config.fetchCallbacks.onError?.(url, query, response.status);
23
- throw new Error(`Error downloading ${url}: ${response.status}`);
24
- }
25
- const data = response.data;
26
- download_api_config.fetchCallbacks.onSuccess?.(url, query);
27
- await promises.writeFile(target, Buffer.from(data));
28
- }
29
-
30
- 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 axios from 'axios';
2
- import { writeFile } from 'fs/promises';
3
- import { fetchCallbacks, axiosConfig } from './config.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 response = await axios.get(url, {
11
- ...axiosConfig,
12
- headers,
13
- responseType: "arraybuffer"
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 = response.data;
20
- fetchCallbacks.onSuccess?.(url, query);
21
- await writeFile(target, Buffer.from(data));
22
- }
23
-
24
- export { downloadFile };
@@ -1,60 +0,0 @@
1
- 'use strict';
2
-
3
- const axios = require('axios');
4
- const download_api_cache = require('./cache.cjs');
5
- const download_api_config = require('./config.cjs');
6
- require('fs');
7
- require('crypto');
8
- require('../../misc/scan.cjs');
9
-
10
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
11
-
12
- const axios__default = /*#__PURE__*/_interopDefaultCompat(axios);
13
-
14
- async function sendAPIQuery(query, cache) {
15
- const cacheKey = cache ? download_api_cache.apiCacheKey(query) : "";
16
- if (cache) {
17
- const cached = await download_api_cache.getAPICache(cache.dir, cacheKey);
18
- if (cached) {
19
- return cached;
20
- }
21
- }
22
- const result = await sendQuery(query);
23
- if (cache && typeof result !== "number") {
24
- try {
25
- await download_api_cache.storeAPICache(cache, cacheKey, result);
26
- } catch (err) {
27
- console.error("Error writing API cache");
28
- }
29
- }
30
- return result;
31
- }
32
- async function sendQuery(query) {
33
- const params = query.params ? query.params.toString() : "";
34
- const url = query.uri + (params ? "?" + params : "");
35
- const headers = query.headers;
36
- download_api_config.fetchCallbacks.onStart?.(url, query);
37
- function fail(value) {
38
- download_api_config.fetchCallbacks.onError?.(url, query, value);
39
- return value ?? 404;
40
- }
41
- try {
42
- const response = await axios__default.get(url, {
43
- ...download_api_config.axiosConfig,
44
- headers,
45
- responseType: "text"
46
- });
47
- if (response.status !== 200) {
48
- return fail(response.status);
49
- }
50
- if (typeof response.data !== "string") {
51
- return fail();
52
- }
53
- download_api_config.fetchCallbacks.onSuccess?.(url, query);
54
- return response.data;
55
- } catch (err) {
56
- return fail();
57
- }
58
- }
59
-
60
- 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,54 +0,0 @@
1
- import axios from 'axios';
2
- import { apiCacheKey, getAPICache, storeAPICache } from './cache.mjs';
3
- import { fetchCallbacks, axiosConfig } from './config.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
- try {
36
- const response = await axios.get(url, {
37
- ...axiosConfig,
38
- headers,
39
- responseType: "text"
40
- });
41
- if (response.status !== 200) {
42
- return fail(response.status);
43
- }
44
- if (typeof response.data !== "string") {
45
- return fail();
46
- }
47
- fetchCallbacks.onSuccess?.(url, query);
48
- return response.data;
49
- } catch (err) {
50
- return fail();
51
- }
52
- }
53
-
54
- 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 };
@@ -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 };