rn-iconify 1.0.0 → 2.0.0
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.
- package/README.md +47 -235
- package/babel.js +14 -0
- package/lib/commonjs/IconRenderer.js +91 -4
- package/lib/commonjs/IconRenderer.js.map +1 -1
- package/lib/commonjs/accessibility/AccessibilityProvider.js +189 -0
- package/lib/commonjs/accessibility/AccessibilityProvider.js.map +1 -0
- package/lib/commonjs/accessibility/index.js +87 -0
- package/lib/commonjs/accessibility/index.js.map +1 -0
- package/lib/commonjs/accessibility/types.js +6 -0
- package/lib/commonjs/accessibility/types.js.map +1 -0
- package/lib/commonjs/accessibility/useAccessibleIcon.js +119 -0
- package/lib/commonjs/accessibility/useAccessibleIcon.js.map +1 -0
- package/lib/commonjs/accessibility/utils.js +231 -0
- package/lib/commonjs/accessibility/utils.js.map +1 -0
- package/lib/commonjs/alias/Icon.js +113 -0
- package/lib/commonjs/alias/Icon.js.map +1 -0
- package/lib/commonjs/alias/IconAliasContext.js +177 -0
- package/lib/commonjs/alias/IconAliasContext.js.map +1 -0
- package/lib/commonjs/alias/createIconAliases.js +222 -0
- package/lib/commonjs/alias/createIconAliases.js.map +1 -0
- package/lib/commonjs/alias/index.js +57 -0
- package/lib/commonjs/alias/index.js.map +1 -0
- package/lib/commonjs/alias/types.js +6 -0
- package/lib/commonjs/alias/types.js.map +1 -0
- package/lib/commonjs/animated/AnimatedIcon.js +116 -0
- package/lib/commonjs/animated/AnimatedIcon.js.map +1 -0
- package/lib/commonjs/animated/index.js +76 -0
- package/lib/commonjs/animated/index.js.map +1 -0
- package/lib/commonjs/animated/presets.js +220 -0
- package/lib/commonjs/animated/presets.js.map +1 -0
- package/lib/commonjs/animated/types.js +71 -0
- package/lib/commonjs/animated/types.js.map +1 -0
- package/lib/commonjs/animated/useIconAnimation.js +313 -0
- package/lib/commonjs/animated/useIconAnimation.js.map +1 -0
- package/lib/commonjs/babel/ast-utils.js +214 -0
- package/lib/commonjs/babel/ast-utils.js.map +1 -0
- package/lib/commonjs/babel/cache-writer.js +281 -0
- package/lib/commonjs/babel/cache-writer.js.map +1 -0
- package/lib/commonjs/babel/collector.js +219 -0
- package/lib/commonjs/babel/collector.js.map +1 -0
- package/lib/commonjs/babel/index.js +104 -0
- package/lib/commonjs/babel/index.js.map +1 -0
- package/lib/commonjs/babel/plugin.js +226 -0
- package/lib/commonjs/babel/plugin.js.map +1 -0
- package/lib/commonjs/babel/types.js +485 -0
- package/lib/commonjs/babel/types.js.map +1 -0
- package/lib/commonjs/bundle/index.js +213 -0
- package/lib/commonjs/bundle/index.js.map +1 -0
- package/lib/commonjs/cache/CacheManager.js +105 -6
- package/lib/commonjs/cache/CacheManager.js.map +1 -1
- package/lib/commonjs/cli/commands/analyze.js +171 -0
- package/lib/commonjs/cli/commands/analyze.js.map +1 -0
- package/lib/commonjs/cli/commands/bundle.js +214 -0
- package/lib/commonjs/cli/commands/bundle.js.map +1 -0
- package/lib/commonjs/cli/index.js +142 -0
- package/lib/commonjs/cli/index.js.map +1 -0
- package/lib/commonjs/cli/parser.js +260 -0
- package/lib/commonjs/cli/parser.js.map +1 -0
- package/lib/commonjs/cli/types.js +42 -0
- package/lib/commonjs/cli/types.js.map +1 -0
- package/lib/commonjs/config/ConfigManager.js +182 -0
- package/lib/commonjs/config/ConfigManager.js.map +1 -0
- package/lib/commonjs/config/index.js +44 -0
- package/lib/commonjs/config/index.js.map +1 -0
- package/lib/commonjs/config/types.js +55 -0
- package/lib/commonjs/config/types.js.map +1 -0
- package/lib/commonjs/createIconSet.js +49 -11
- package/lib/commonjs/createIconSet.js.map +1 -1
- package/lib/commonjs/explorer/IconExplorer.js +827 -0
- package/lib/commonjs/explorer/IconExplorer.js.map +1 -0
- package/lib/commonjs/explorer/iconSets.js +303 -0
- package/lib/commonjs/explorer/iconSets.js.map +1 -0
- package/lib/commonjs/explorer/index.js +93 -0
- package/lib/commonjs/explorer/index.js.map +1 -0
- package/lib/commonjs/explorer/types.js +6 -0
- package/lib/commonjs/explorer/types.js.map +1 -0
- package/lib/commonjs/explorer/useExplorer.js +359 -0
- package/lib/commonjs/explorer/useExplorer.js.map +1 -0
- package/lib/commonjs/index.js +618 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigation/createDrawerIcon.js +129 -0
- package/lib/commonjs/navigation/createDrawerIcon.js.map +1 -0
- package/lib/commonjs/navigation/createHeaderIcon.js +185 -0
- package/lib/commonjs/navigation/createHeaderIcon.js.map +1 -0
- package/lib/commonjs/navigation/createTabBarIcon.js +178 -0
- package/lib/commonjs/navigation/createTabBarIcon.js.map +1 -0
- package/lib/commonjs/navigation/index.js +83 -0
- package/lib/commonjs/navigation/index.js.map +1 -0
- package/lib/commonjs/navigation/types.js +94 -0
- package/lib/commonjs/navigation/types.js.map +1 -0
- package/lib/commonjs/navigation/useNavigationIcon.js +128 -0
- package/lib/commonjs/navigation/useNavigationIcon.js.map +1 -0
- package/lib/commonjs/network/IconifyAPI.js +154 -14
- package/lib/commonjs/network/IconifyAPI.js.map +1 -1
- package/lib/commonjs/network/index.js +18 -0
- package/lib/commonjs/network/index.js.map +1 -1
- package/lib/commonjs/performance/PerformanceMonitor.js +327 -0
- package/lib/commonjs/performance/PerformanceMonitor.js.map +1 -0
- package/lib/commonjs/performance/index.js +43 -0
- package/lib/commonjs/performance/index.js.map +1 -0
- package/lib/commonjs/performance/types.js +2 -0
- package/lib/commonjs/performance/types.js.map +1 -0
- package/lib/commonjs/placeholder/PlaceholderFactory.js +111 -0
- package/lib/commonjs/placeholder/PlaceholderFactory.js.map +1 -0
- package/lib/commonjs/placeholder/Pulse.js +77 -0
- package/lib/commonjs/placeholder/Pulse.js.map +1 -0
- package/lib/commonjs/placeholder/Shimmer.js +95 -0
- package/lib/commonjs/placeholder/Shimmer.js.map +1 -0
- package/lib/commonjs/placeholder/Skeleton.js +52 -0
- package/lib/commonjs/placeholder/Skeleton.js.map +1 -0
- package/lib/commonjs/placeholder/index.js +41 -0
- package/lib/commonjs/placeholder/index.js.map +1 -0
- package/lib/commonjs/placeholder/types.js +40 -0
- package/lib/commonjs/placeholder/types.js.map +1 -0
- package/lib/commonjs/theme/IconThemeProvider.js +96 -0
- package/lib/commonjs/theme/IconThemeProvider.js.map +1 -0
- package/lib/commonjs/theme/context.js +53 -0
- package/lib/commonjs/theme/context.js.map +1 -0
- package/lib/commonjs/theme/index.js +52 -0
- package/lib/commonjs/theme/index.js.map +1 -0
- package/lib/commonjs/theme/types.js +39 -0
- package/lib/commonjs/theme/types.js.map +1 -0
- package/lib/commonjs/theme/useIconTheme.js +121 -0
- package/lib/commonjs/theme/useIconTheme.js.map +1 -0
- package/lib/module/IconRenderer.js +92 -5
- package/lib/module/IconRenderer.js.map +1 -1
- package/lib/module/accessibility/AccessibilityProvider.js +179 -0
- package/lib/module/accessibility/AccessibilityProvider.js.map +1 -0
- package/lib/module/accessibility/index.js +42 -0
- package/lib/module/accessibility/index.js.map +1 -0
- package/lib/module/accessibility/types.js +2 -0
- package/lib/module/accessibility/types.js.map +1 -0
- package/lib/module/accessibility/useAccessibleIcon.js +112 -0
- package/lib/module/accessibility/useAccessibleIcon.js.map +1 -0
- package/lib/module/accessibility/utils.js +221 -0
- package/lib/module/accessibility/utils.js.map +1 -0
- package/lib/module/alias/Icon.js +105 -0
- package/lib/module/alias/Icon.js.map +1 -0
- package/lib/module/alias/IconAliasContext.js +166 -0
- package/lib/module/alias/IconAliasContext.js.map +1 -0
- package/lib/module/alias/createIconAliases.js +213 -0
- package/lib/module/alias/createIconAliases.js.map +1 -0
- package/lib/module/alias/index.js +45 -0
- package/lib/module/alias/index.js.map +1 -0
- package/lib/module/alias/types.js +2 -0
- package/lib/module/alias/types.js.map +1 -0
- package/lib/module/animated/AnimatedIcon.js +109 -0
- package/lib/module/animated/AnimatedIcon.js.map +1 -0
- package/lib/module/animated/index.js +80 -0
- package/lib/module/animated/index.js.map +1 -0
- package/lib/module/animated/presets.js +209 -0
- package/lib/module/animated/presets.js.map +1 -0
- package/lib/module/animated/types.js +65 -0
- package/lib/module/animated/types.js.map +1 -0
- package/lib/module/animated/useIconAnimation.js +306 -0
- package/lib/module/animated/useIconAnimation.js.map +1 -0
- package/lib/module/babel/ast-utils.js +201 -0
- package/lib/module/babel/ast-utils.js.map +1 -0
- package/lib/module/babel/cache-writer.js +269 -0
- package/lib/module/babel/cache-writer.js.map +1 -0
- package/lib/module/babel/collector.js +214 -0
- package/lib/module/babel/collector.js.map +1 -0
- package/lib/module/babel/index.js +51 -0
- package/lib/module/babel/index.js.map +1 -0
- package/lib/module/babel/plugin.js +220 -0
- package/lib/module/babel/plugin.js.map +1 -0
- package/lib/module/babel/types.js +476 -0
- package/lib/module/babel/types.js.map +1 -0
- package/lib/module/bundle/index.js +205 -0
- package/lib/module/bundle/index.js.map +1 -0
- package/lib/module/cache/CacheManager.js +106 -6
- package/lib/module/cache/CacheManager.js.map +1 -1
- package/lib/module/cli/commands/analyze.js +166 -0
- package/lib/module/cli/commands/analyze.js.map +1 -0
- package/lib/module/cli/commands/bundle.js +208 -0
- package/lib/module/cli/commands/bundle.js.map +1 -0
- package/lib/module/cli/index.js +140 -0
- package/lib/module/cli/index.js.map +1 -0
- package/lib/module/cli/parser.js +251 -0
- package/lib/module/cli/parser.js.map +1 -0
- package/lib/module/cli/types.js +36 -0
- package/lib/module/cli/types.js.map +1 -0
- package/lib/module/components/index.js +27 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/config/ConfigManager.js +173 -0
- package/lib/module/config/ConfigManager.js.map +1 -0
- package/lib/module/config/index.js +28 -0
- package/lib/module/config/index.js.map +1 -0
- package/lib/module/config/types.js +49 -0
- package/lib/module/config/types.js.map +1 -0
- package/lib/module/createIconSet.js +49 -11
- package/lib/module/createIconSet.js.map +1 -1
- package/lib/module/explorer/IconExplorer.js +817 -0
- package/lib/module/explorer/IconExplorer.js.map +1 -0
- package/lib/module/explorer/iconSets.js +291 -0
- package/lib/module/explorer/iconSets.js.map +1 -0
- package/lib/module/explorer/index.js +42 -0
- package/lib/module/explorer/index.js.map +1 -0
- package/lib/module/explorer/types.js +2 -0
- package/lib/module/explorer/types.js.map +1 -0
- package/lib/module/explorer/useExplorer.js +353 -0
- package/lib/module/explorer/useExplorer.js.map +1 -0
- package/lib/module/index.js +26 -11
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigation/createDrawerIcon.js +121 -0
- package/lib/module/navigation/createDrawerIcon.js.map +1 -0
- package/lib/module/navigation/createHeaderIcon.js +175 -0
- package/lib/module/navigation/createHeaderIcon.js.map +1 -0
- package/lib/module/navigation/createTabBarIcon.js +168 -0
- package/lib/module/navigation/createTabBarIcon.js.map +1 -0
- package/lib/module/navigation/index.js +59 -0
- package/lib/module/navigation/index.js.map +1 -0
- package/lib/module/navigation/types.js +88 -0
- package/lib/module/navigation/types.js.map +1 -0
- package/lib/module/navigation/useNavigationIcon.js +121 -0
- package/lib/module/navigation/useNavigationIcon.js.map +1 -0
- package/lib/module/network/IconifyAPI.js +152 -14
- package/lib/module/network/IconifyAPI.js.map +1 -1
- package/lib/module/network/index.js +1 -1
- package/lib/module/network/index.js.map +1 -1
- package/lib/module/performance/PerformanceMonitor.js +317 -0
- package/lib/module/performance/PerformanceMonitor.js.map +1 -0
- package/lib/module/performance/index.js +26 -0
- package/lib/module/performance/index.js.map +1 -0
- package/lib/module/performance/types.js +2 -0
- package/lib/module/performance/types.js.map +1 -0
- package/lib/module/placeholder/PlaceholderFactory.js +105 -0
- package/lib/module/placeholder/PlaceholderFactory.js.map +1 -0
- package/lib/module/placeholder/Pulse.js +70 -0
- package/lib/module/placeholder/Pulse.js.map +1 -0
- package/lib/module/placeholder/Shimmer.js +88 -0
- package/lib/module/placeholder/Shimmer.js.map +1 -0
- package/lib/module/placeholder/Skeleton.js +45 -0
- package/lib/module/placeholder/Skeleton.js.map +1 -0
- package/lib/module/placeholder/index.js +15 -0
- package/lib/module/placeholder/index.js.map +1 -0
- package/lib/module/placeholder/types.js +34 -0
- package/lib/module/placeholder/types.js.map +1 -0
- package/lib/module/theme/IconThemeProvider.js +89 -0
- package/lib/module/theme/IconThemeProvider.js.map +1 -0
- package/lib/module/theme/context.js +47 -0
- package/lib/module/theme/context.js.map +1 -0
- package/lib/module/theme/index.js +19 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/types.js +33 -0
- package/lib/module/theme/types.js.map +1 -0
- package/lib/module/theme/useIconTheme.js +114 -0
- package/lib/module/theme/useIconTheme.js.map +1 -0
- package/lib/typescript/IconRenderer.d.ts +1 -1
- package/lib/typescript/IconRenderer.d.ts.map +1 -1
- package/lib/typescript/accessibility/AccessibilityProvider.d.ts +57 -0
- package/lib/typescript/accessibility/AccessibilityProvider.d.ts.map +1 -0
- package/lib/typescript/accessibility/index.d.ts +37 -0
- package/lib/typescript/accessibility/index.d.ts.map +1 -0
- package/lib/typescript/accessibility/types.d.ts +130 -0
- package/lib/typescript/accessibility/types.d.ts.map +1 -0
- package/lib/typescript/accessibility/useAccessibleIcon.d.ts +111 -0
- package/lib/typescript/accessibility/useAccessibleIcon.d.ts.map +1 -0
- package/lib/typescript/accessibility/utils.d.ts +29 -0
- package/lib/typescript/accessibility/utils.d.ts.map +1 -0
- package/lib/typescript/alias/Icon.d.ts +38 -0
- package/lib/typescript/alias/Icon.d.ts.map +1 -0
- package/lib/typescript/alias/IconAliasContext.d.ts +52 -0
- package/lib/typescript/alias/IconAliasContext.d.ts.map +1 -0
- package/lib/typescript/alias/createIconAliases.d.ts +77 -0
- package/lib/typescript/alias/createIconAliases.d.ts.map +1 -0
- package/lib/typescript/alias/index.d.ts +36 -0
- package/lib/typescript/alias/index.d.ts.map +1 -0
- package/lib/typescript/alias/types.d.ts +115 -0
- package/lib/typescript/alias/types.d.ts.map +1 -0
- package/lib/typescript/animated/AnimatedIcon.d.ts +45 -0
- package/lib/typescript/animated/AnimatedIcon.d.ts.map +1 -0
- package/lib/typescript/animated/index.d.ts +70 -0
- package/lib/typescript/animated/index.d.ts.map +1 -0
- package/lib/typescript/animated/presets.d.ts +35 -0
- package/lib/typescript/animated/presets.d.ts.map +1 -0
- package/lib/typescript/animated/types.d.ts +196 -0
- package/lib/typescript/animated/types.d.ts.map +1 -0
- package/lib/typescript/animated/useIconAnimation.d.ts +64 -0
- package/lib/typescript/animated/useIconAnimation.d.ts.map +1 -0
- package/lib/typescript/babel/ast-utils.d.ts +52 -0
- package/lib/typescript/babel/ast-utils.d.ts.map +1 -0
- package/lib/typescript/babel/cache-writer.d.ts +56 -0
- package/lib/typescript/babel/cache-writer.d.ts.map +1 -0
- package/lib/typescript/babel/collector.d.ts +107 -0
- package/lib/typescript/babel/collector.d.ts.map +1 -0
- package/lib/typescript/babel/index.d.ts +47 -0
- package/lib/typescript/babel/index.d.ts.map +1 -0
- package/lib/typescript/babel/plugin.d.ts +17 -0
- package/lib/typescript/babel/plugin.d.ts.map +1 -0
- package/lib/typescript/babel/types.d.ts +129 -0
- package/lib/typescript/babel/types.d.ts.map +1 -0
- package/lib/typescript/bundle/index.d.ts +161 -0
- package/lib/typescript/bundle/index.d.ts.map +1 -0
- package/lib/typescript/cache/CacheManager.d.ts +52 -4
- package/lib/typescript/cache/CacheManager.d.ts.map +1 -1
- package/lib/typescript/cli/commands/analyze.d.ts +10 -0
- package/lib/typescript/cli/commands/analyze.d.ts.map +1 -0
- package/lib/typescript/cli/commands/bundle.d.ts +10 -0
- package/lib/typescript/cli/commands/bundle.d.ts.map +1 -0
- package/lib/typescript/cli/index.d.ts +7 -0
- package/lib/typescript/cli/index.d.ts.map +1 -0
- package/lib/typescript/cli/parser.d.ts +18 -0
- package/lib/typescript/cli/parser.d.ts.map +1 -0
- package/lib/typescript/cli/types.d.ts +157 -0
- package/lib/typescript/cli/types.d.ts.map +1 -0
- package/lib/typescript/components/Academicons.d.ts +1 -1
- package/lib/typescript/components/AkarIcons.d.ts +1 -1
- package/lib/typescript/components/AntDesign.d.ts +1 -1
- package/lib/typescript/components/Arcticons.d.ts +1 -1
- package/lib/typescript/components/Basil.d.ts +1 -1
- package/lib/typescript/components/Bi.d.ts +1 -1
- package/lib/typescript/components/BitcoinIcons.d.ts +1 -1
- package/lib/typescript/components/Bpmn.d.ts +1 -1
- package/lib/typescript/components/Brandico.d.ts +1 -1
- package/lib/typescript/components/Bx.d.ts +1 -1
- package/lib/typescript/components/Bxl.d.ts +1 -1
- package/lib/typescript/components/Bxs.d.ts +1 -1
- package/lib/typescript/components/Bytesize.d.ts +1 -1
- package/lib/typescript/components/Carbon.d.ts +1 -1
- package/lib/typescript/components/Catppuccin.d.ts +1 -1
- package/lib/typescript/components/Cbi.d.ts +1 -1
- package/lib/typescript/components/Charm.d.ts +1 -1
- package/lib/typescript/components/Ci.d.ts +1 -1
- package/lib/typescript/components/Cib.d.ts +1 -1
- package/lib/typescript/components/Cif.d.ts +1 -1
- package/lib/typescript/components/Cil.d.ts +1 -1
- package/lib/typescript/components/CircleFlags.d.ts +1 -1
- package/lib/typescript/components/Circum.d.ts +1 -1
- package/lib/typescript/components/Clarity.d.ts +1 -1
- package/lib/typescript/components/Codex.d.ts +1 -1
- package/lib/typescript/components/Codicon.d.ts +1 -1
- package/lib/typescript/components/Covid.d.ts +1 -1
- package/lib/typescript/components/Cryptocurrency.d.ts +1 -1
- package/lib/typescript/components/CryptocurrencyColor.d.ts +1 -1
- package/lib/typescript/components/Cuida.d.ts +1 -1
- package/lib/typescript/components/Dashicons.d.ts +1 -1
- package/lib/typescript/components/Devicon.d.ts +1 -1
- package/lib/typescript/components/DeviconPlain.d.ts +1 -1
- package/lib/typescript/components/DinkieIcons.d.ts +1 -1
- package/lib/typescript/components/DuoIcons.d.ts +1 -1
- package/lib/typescript/components/Ei.d.ts +1 -1
- package/lib/typescript/components/El.d.ts +1 -1
- package/lib/typescript/components/EmojioneMonotone.d.ts +1 -1
- package/lib/typescript/components/Entypo.d.ts +1 -1
- package/lib/typescript/components/EntypoSocial.d.ts +1 -1
- package/lib/typescript/components/EosIcons.d.ts +1 -1
- package/lib/typescript/components/Ep.d.ts +1 -1
- package/lib/typescript/components/Et.d.ts +1 -1
- package/lib/typescript/components/Eva.d.ts +1 -1
- package/lib/typescript/components/F7.d.ts +1 -1
- package/lib/typescript/components/Fa.d.ts +1 -1
- package/lib/typescript/components/Fa6Brands.d.ts +1 -1
- package/lib/typescript/components/Fa6Regular.d.ts +1 -1
- package/lib/typescript/components/Fa6Solid.d.ts +1 -1
- package/lib/typescript/components/Fa7Brands.d.ts +1 -1
- package/lib/typescript/components/Fa7Regular.d.ts +1 -1
- package/lib/typescript/components/Fa7Solid.d.ts +1 -1
- package/lib/typescript/components/FaBrands.d.ts +1 -1
- package/lib/typescript/components/FaRegular.d.ts +1 -1
- package/lib/typescript/components/FaSolid.d.ts +1 -1
- package/lib/typescript/components/Fad.d.ts +1 -1
- package/lib/typescript/components/Famicons.d.ts +1 -1
- package/lib/typescript/components/Fe.d.ts +1 -1
- package/lib/typescript/components/Feather.d.ts +1 -1
- package/lib/typescript/components/FileIcons.d.ts +1 -1
- package/lib/typescript/components/Flag.d.ts +1 -1
- package/lib/typescript/components/Flagpack.d.ts +1 -1
- package/lib/typescript/components/FlatUi.d.ts +1 -1
- package/lib/typescript/components/Flowbite.d.ts +1 -1
- package/lib/typescript/components/Fluent.d.ts +1 -1
- package/lib/typescript/components/FluentColor.d.ts +1 -1
- package/lib/typescript/components/FluentEmoji.d.ts +1 -1
- package/lib/typescript/components/FluentEmojiFlat.d.ts +1 -1
- package/lib/typescript/components/FluentEmojiHighContrast.d.ts +1 -1
- package/lib/typescript/components/FluentMdl2.d.ts +1 -1
- package/lib/typescript/components/Fontelico.d.ts +1 -1
- package/lib/typescript/components/Fontisto.d.ts +1 -1
- package/lib/typescript/components/Formkit.d.ts +1 -1
- package/lib/typescript/components/Foundation.d.ts +1 -1
- package/lib/typescript/components/Gala.d.ts +1 -1
- package/lib/typescript/components/GameIcons.d.ts +1 -1
- package/lib/typescript/components/Garden.d.ts +1 -1
- package/lib/typescript/components/Geo.d.ts +1 -1
- package/lib/typescript/components/Gg.d.ts +1 -1
- package/lib/typescript/components/Gis.d.ts +1 -1
- package/lib/typescript/components/GravityUi.d.ts +1 -1
- package/lib/typescript/components/Gridicons.d.ts +1 -1
- package/lib/typescript/components/GrommetIcons.d.ts +1 -1
- package/lib/typescript/components/Guidance.d.ts +1 -1
- package/lib/typescript/components/Healthicons.d.ts +1 -1
- package/lib/typescript/components/Heroicons.d.ts +1 -1
- package/lib/typescript/components/HeroiconsOutline.d.ts +1 -1
- package/lib/typescript/components/HeroiconsSolid.d.ts +1 -1
- package/lib/typescript/components/Hugeicons.d.ts +1 -1
- package/lib/typescript/components/Humbleicons.d.ts +1 -1
- package/lib/typescript/components/Ic.d.ts +1 -1
- package/lib/typescript/components/IcomoonFree.d.ts +1 -1
- package/lib/typescript/components/IconPark.d.ts +1 -1
- package/lib/typescript/components/IconParkOutline.d.ts +1 -1
- package/lib/typescript/components/IconParkSolid.d.ts +1 -1
- package/lib/typescript/components/IconParkTwotone.d.ts +1 -1
- package/lib/typescript/components/Iconamoon.d.ts +1 -1
- package/lib/typescript/components/Iconoir.d.ts +1 -1
- package/lib/typescript/components/Icons8.d.ts +1 -1
- package/lib/typescript/components/Il.d.ts +1 -1
- package/lib/typescript/components/Ion.d.ts +1 -1
- package/lib/typescript/components/Iwwa.d.ts +1 -1
- package/lib/typescript/components/Ix.d.ts +1 -1
- package/lib/typescript/components/Jam.d.ts +1 -1
- package/lib/typescript/components/La.d.ts +1 -1
- package/lib/typescript/components/LetsIcons.d.ts +1 -1
- package/lib/typescript/components/LineMd.d.ts +1 -1
- package/lib/typescript/components/Lineicons.d.ts +1 -1
- package/lib/typescript/components/Logos.d.ts +1 -1
- package/lib/typescript/components/Ls.d.ts +1 -1
- package/lib/typescript/components/Lsicon.d.ts +1 -1
- package/lib/typescript/components/Lucide.d.ts +1 -1
- package/lib/typescript/components/LucideLab.d.ts +1 -1
- package/lib/typescript/components/Mage.d.ts +1 -1
- package/lib/typescript/components/Majesticons.d.ts +1 -1
- package/lib/typescript/components/Maki.d.ts +1 -1
- package/lib/typescript/components/Map.d.ts +1 -1
- package/lib/typescript/components/Marketeq.d.ts +1 -1
- package/lib/typescript/components/MaterialIconTheme.d.ts +1 -1
- package/lib/typescript/components/MaterialSymbols.d.ts +1 -1
- package/lib/typescript/components/MaterialSymbolsLight.d.ts +1 -1
- package/lib/typescript/components/Mdi.d.ts +1 -1
- package/lib/typescript/components/MdiLight.d.ts +1 -1
- package/lib/typescript/components/MedicalIcon.d.ts +1 -1
- package/lib/typescript/components/Memory.d.ts +1 -1
- package/lib/typescript/components/Meteocons.d.ts +1 -1
- package/lib/typescript/components/MeteorIcons.d.ts +1 -1
- package/lib/typescript/components/Mi.d.ts +1 -1
- package/lib/typescript/components/Mingcute.d.ts +1 -1
- package/lib/typescript/components/MonoIcons.d.ts +1 -1
- package/lib/typescript/components/Mynaui.d.ts +1 -1
- package/lib/typescript/components/Nimbus.d.ts +1 -1
- package/lib/typescript/components/Nonicons.d.ts +1 -1
- package/lib/typescript/components/Nrk.d.ts +1 -1
- package/lib/typescript/components/Octicon.d.ts +1 -1
- package/lib/typescript/components/Oi.d.ts +1 -1
- package/lib/typescript/components/Ooui.d.ts +1 -1
- package/lib/typescript/components/Oui.d.ts +1 -1
- package/lib/typescript/components/Pajamas.d.ts +1 -1
- package/lib/typescript/components/Pepicons.d.ts +1 -1
- package/lib/typescript/components/PepiconsPencil.d.ts +1 -1
- package/lib/typescript/components/PepiconsPop.d.ts +1 -1
- package/lib/typescript/components/PepiconsPrint.d.ts +1 -1
- package/lib/typescript/components/Ph.d.ts +1 -1
- package/lib/typescript/components/Picon.d.ts +1 -1
- package/lib/typescript/components/Pixel.d.ts +1 -1
- package/lib/typescript/components/Pixelarticons.d.ts +1 -1
- package/lib/typescript/components/Prime.d.ts +1 -1
- package/lib/typescript/components/Proicons.d.ts +1 -1
- package/lib/typescript/components/Ps.d.ts +1 -1
- package/lib/typescript/components/QlementineIcons.d.ts +1 -1
- package/lib/typescript/components/Quill.d.ts +1 -1
- package/lib/typescript/components/RadixIcons.d.ts +1 -1
- package/lib/typescript/components/Raphael.d.ts +1 -1
- package/lib/typescript/components/Ri.d.ts +1 -1
- package/lib/typescript/components/RivetIcons.d.ts +1 -1
- package/lib/typescript/components/Roentgen.d.ts +1 -1
- package/lib/typescript/components/Si.d.ts +1 -1
- package/lib/typescript/components/SiGlyph.d.ts +1 -1
- package/lib/typescript/components/Sidekickicons.d.ts +1 -1
- package/lib/typescript/components/SimpleIcons.d.ts +1 -1
- package/lib/typescript/components/SimpleLineIcons.d.ts +1 -1
- package/lib/typescript/components/SkillIcons.d.ts +1 -1
- package/lib/typescript/components/Solar.d.ts +1 -1
- package/lib/typescript/components/Stash.d.ts +1 -1
- package/lib/typescript/components/Streamline.d.ts +1 -1
- package/lib/typescript/components/StreamlineBlock.d.ts +1 -1
- package/lib/typescript/components/StreamlineColor.d.ts +1 -1
- package/lib/typescript/components/StreamlineCyber.d.ts +1 -1
- package/lib/typescript/components/StreamlineCyberColor.d.ts +1 -1
- package/lib/typescript/components/StreamlineEmojis.d.ts +1 -1
- package/lib/typescript/components/StreamlineFlex.d.ts +1 -1
- package/lib/typescript/components/StreamlineFlexColor.d.ts +1 -1
- package/lib/typescript/components/StreamlineFreehand.d.ts +1 -1
- package/lib/typescript/components/StreamlineFreehandColor.d.ts +1 -1
- package/lib/typescript/components/StreamlineKameleonColor.d.ts +1 -1
- package/lib/typescript/components/StreamlineLogos.d.ts +1 -1
- package/lib/typescript/components/StreamlinePixel.d.ts +1 -1
- package/lib/typescript/components/StreamlinePlump.d.ts +1 -1
- package/lib/typescript/components/StreamlinePlumpColor.d.ts +1 -1
- package/lib/typescript/components/StreamlineSharp.d.ts +1 -1
- package/lib/typescript/components/StreamlineSharpColor.d.ts +1 -1
- package/lib/typescript/components/StreamlineStickiesColor.d.ts +1 -1
- package/lib/typescript/components/StreamlineUltimate.d.ts +1 -1
- package/lib/typescript/components/StreamlineUltimateColor.d.ts +1 -1
- package/lib/typescript/components/Subway.d.ts +1 -1
- package/lib/typescript/components/SvgSpinners.d.ts +1 -1
- package/lib/typescript/components/SystemUicons.d.ts +1 -1
- package/lib/typescript/components/Tabler.d.ts +1 -1
- package/lib/typescript/components/Tdesign.d.ts +1 -1
- package/lib/typescript/components/Teenyicons.d.ts +1 -1
- package/lib/typescript/components/Temaki.d.ts +1 -1
- package/lib/typescript/components/Token.d.ts +1 -1
- package/lib/typescript/components/TokenBranded.d.ts +1 -1
- package/lib/typescript/components/Topcoat.d.ts +1 -1
- package/lib/typescript/components/Typcn.d.ts +1 -1
- package/lib/typescript/components/Uil.d.ts +1 -1
- package/lib/typescript/components/Uim.d.ts +1 -1
- package/lib/typescript/components/Uis.d.ts +1 -1
- package/lib/typescript/components/Uit.d.ts +1 -1
- package/lib/typescript/components/Uiw.d.ts +1 -1
- package/lib/typescript/components/Unjs.d.ts +1 -1
- package/lib/typescript/components/Vaadin.d.ts +1 -1
- package/lib/typescript/components/Vs.d.ts +1 -1
- package/lib/typescript/components/VscodeIcons.d.ts +1 -1
- package/lib/typescript/components/Websymbol.d.ts +1 -1
- package/lib/typescript/components/Weui.d.ts +1 -1
- package/lib/typescript/components/Whh.d.ts +1 -1
- package/lib/typescript/components/Wi.d.ts +1 -1
- package/lib/typescript/components/Wpf.d.ts +1 -1
- package/lib/typescript/components/Zmdi.d.ts +1 -1
- package/lib/typescript/components/Zondicons.d.ts +1 -1
- package/lib/typescript/components/index.d.ts +38 -1
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/config/ConfigManager.d.ts +102 -0
- package/lib/typescript/config/ConfigManager.d.ts.map +1 -0
- package/lib/typescript/config/index.d.ts +22 -0
- package/lib/typescript/config/index.d.ts.map +1 -0
- package/lib/typescript/config/types.d.ts +112 -0
- package/lib/typescript/config/types.d.ts.map +1 -0
- package/lib/typescript/createIconSet.d.ts +1 -1
- package/lib/typescript/createIconSet.d.ts.map +1 -1
- package/lib/typescript/explorer/IconExplorer.d.ts +54 -0
- package/lib/typescript/explorer/IconExplorer.d.ts.map +1 -0
- package/lib/typescript/explorer/iconSets.d.ts +35 -0
- package/lib/typescript/explorer/iconSets.d.ts.map +1 -0
- package/lib/typescript/explorer/index.d.ts +33 -0
- package/lib/typescript/explorer/index.d.ts.map +1 -0
- package/lib/typescript/explorer/types.d.ts +329 -0
- package/lib/typescript/explorer/types.d.ts.map +1 -0
- package/lib/typescript/explorer/useExplorer.d.ts +18 -0
- package/lib/typescript/explorer/useExplorer.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +25 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/navigation/createDrawerIcon.d.ts +74 -0
- package/lib/typescript/navigation/createDrawerIcon.d.ts.map +1 -0
- package/lib/typescript/navigation/createHeaderIcon.d.ts +145 -0
- package/lib/typescript/navigation/createHeaderIcon.d.ts.map +1 -0
- package/lib/typescript/navigation/createTabBarIcon.d.ts +99 -0
- package/lib/typescript/navigation/createTabBarIcon.d.ts.map +1 -0
- package/lib/typescript/navigation/index.d.ts +51 -0
- package/lib/typescript/navigation/index.d.ts.map +1 -0
- package/lib/typescript/navigation/types.d.ts +149 -0
- package/lib/typescript/navigation/types.d.ts.map +1 -0
- package/lib/typescript/navigation/useNavigationIcon.d.ts +91 -0
- package/lib/typescript/navigation/useNavigationIcon.d.ts.map +1 -0
- package/lib/typescript/network/IconifyAPI.d.ts +32 -0
- package/lib/typescript/network/IconifyAPI.d.ts.map +1 -1
- package/lib/typescript/network/index.d.ts +2 -1
- package/lib/typescript/network/index.d.ts.map +1 -1
- package/lib/typescript/performance/PerformanceMonitor.d.ts +76 -0
- package/lib/typescript/performance/PerformanceMonitor.d.ts.map +1 -0
- package/lib/typescript/performance/index.d.ts +21 -0
- package/lib/typescript/performance/index.d.ts.map +1 -0
- package/lib/typescript/performance/types.d.ts +156 -0
- package/lib/typescript/performance/types.d.ts.map +1 -0
- package/lib/typescript/placeholder/PlaceholderFactory.d.ts +44 -0
- package/lib/typescript/placeholder/PlaceholderFactory.d.ts.map +1 -0
- package/lib/typescript/placeholder/Pulse.d.ts +18 -0
- package/lib/typescript/placeholder/Pulse.d.ts.map +1 -0
- package/lib/typescript/placeholder/Shimmer.d.ts +19 -0
- package/lib/typescript/placeholder/Shimmer.d.ts.map +1 -0
- package/lib/typescript/placeholder/Skeleton.d.ts +18 -0
- package/lib/typescript/placeholder/Skeleton.d.ts.map +1 -0
- package/lib/typescript/placeholder/index.d.ts +12 -0
- package/lib/typescript/placeholder/index.d.ts.map +1 -0
- package/lib/typescript/placeholder/types.d.ts +63 -0
- package/lib/typescript/placeholder/types.d.ts.map +1 -0
- package/lib/typescript/theme/IconThemeProvider.d.ts +64 -0
- package/lib/typescript/theme/IconThemeProvider.d.ts.map +1 -0
- package/lib/typescript/theme/context.d.ts +24 -0
- package/lib/typescript/theme/context.d.ts.map +1 -0
- package/lib/typescript/theme/index.d.ts +10 -0
- package/lib/typescript/theme/index.d.ts.map +1 -0
- package/lib/typescript/theme/types.d.ts +85 -0
- package/lib/typescript/theme/types.d.ts.map +1 -0
- package/lib/typescript/theme/useIconTheme.d.ts +78 -0
- package/lib/typescript/theme/useIconTheme.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +58 -1
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/package.json +41 -3
- package/src/IconRenderer.tsx +91 -4
- package/src/accessibility/AccessibilityProvider.tsx +220 -0
- package/src/accessibility/index.ts +63 -0
- package/src/accessibility/types.ts +152 -0
- package/src/accessibility/useAccessibleIcon.ts +220 -0
- package/src/accessibility/utils.ts +180 -0
- package/src/alias/Icon.tsx +113 -0
- package/src/alias/IconAliasContext.tsx +180 -0
- package/src/alias/createIconAliases.tsx +233 -0
- package/src/alias/index.ts +59 -0
- package/src/alias/types.ts +132 -0
- package/src/animated/AnimatedIcon.tsx +116 -0
- package/src/animated/index.ts +97 -0
- package/src/animated/presets.ts +211 -0
- package/src/animated/types.ts +239 -0
- package/src/animated/useIconAnimation.ts +383 -0
- package/src/babel/ast-utils.ts +219 -0
- package/src/babel/cache-writer.ts +323 -0
- package/src/babel/collector.ts +224 -0
- package/src/babel/index.ts +60 -0
- package/src/babel/plugin.ts +254 -0
- package/src/babel/types.ts +717 -0
- package/src/bundle/index.ts +313 -0
- package/src/cache/CacheManager.ts +123 -6
- package/src/cli/commands/analyze.ts +195 -0
- package/src/cli/commands/bundle.ts +231 -0
- package/src/cli/index.ts +153 -0
- package/src/cli/parser.ts +275 -0
- package/src/cli/types.ts +187 -0
- package/src/components/index.ts +52 -1
- package/src/config/ConfigManager.ts +196 -0
- package/src/config/index.ts +34 -0
- package/src/config/types.ts +149 -0
- package/src/createIconSet.tsx +48 -9
- package/src/explorer/IconExplorer.tsx +844 -0
- package/src/explorer/iconSets.ts +334 -0
- package/src/explorer/index.ts +64 -0
- package/src/explorer/types.ts +392 -0
- package/src/explorer/useExplorer.ts +390 -0
- package/src/index.ts +218 -9
- package/src/navigation/createDrawerIcon.tsx +113 -0
- package/src/navigation/createHeaderIcon.tsx +213 -0
- package/src/navigation/createTabBarIcon.tsx +180 -0
- package/src/navigation/index.ts +80 -0
- package/src/navigation/types.ts +155 -0
- package/src/navigation/useNavigationIcon.tsx +156 -0
- package/src/network/IconifyAPI.ts +182 -14
- package/src/network/index.ts +11 -1
- package/src/performance/PerformanceMonitor.ts +367 -0
- package/src/performance/index.ts +39 -0
- package/src/performance/types.ts +185 -0
- package/src/placeholder/PlaceholderFactory.tsx +133 -0
- package/src/placeholder/Pulse.tsx +86 -0
- package/src/placeholder/Shimmer.tsx +104 -0
- package/src/placeholder/Skeleton.tsx +52 -0
- package/src/placeholder/index.ts +21 -0
- package/src/placeholder/types.ts +78 -0
- package/src/theme/IconThemeProvider.tsx +94 -0
- package/src/theme/context.ts +51 -0
- package/src/theme/index.ts +19 -0
- package/src/theme/types.ts +108 -0
- package/src/theme/useIconTheme.ts +119 -0
- package/src/types/index.ts +78 -1
- package/lib/commonjs/components/Phosphor.js +0 -493
- package/lib/commonjs/components/Phosphor.js.map +0 -1
- package/lib/module/components/Phosphor.js +0 -488
- package/lib/module/components/Phosphor.js.map +0 -1
- package/lib/typescript/components/Phosphor.d.ts +0 -472
- package/lib/typescript/components/Phosphor.d.ts.map +0 -1
- package/src/components/Phosphor.tsx +0 -506
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Iconify API Client
|
|
3
3
|
* Handles fetching icon data from Iconify API
|
|
4
|
+
* Supports custom API servers via ConfigManager
|
|
4
5
|
*/
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
import { ConfigManager } from '../config';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Get current API configuration
|
|
11
|
+
*/
|
|
12
|
+
function getAPISettings() {
|
|
13
|
+
const config = ConfigManager.getAPIConfig();
|
|
14
|
+
return {
|
|
15
|
+
baseUrl: config.apiUrl,
|
|
16
|
+
timeout: config.timeout,
|
|
17
|
+
retries: config.retries,
|
|
18
|
+
retryDelay: config.retryDelay,
|
|
19
|
+
headers: config.headers,
|
|
20
|
+
logging: config.logging
|
|
21
|
+
};
|
|
22
|
+
}
|
|
10
23
|
|
|
11
24
|
/**
|
|
12
25
|
* Request deduplication map
|
|
@@ -17,15 +30,24 @@ const pendingRequests = new Map();
|
|
|
17
30
|
/**
|
|
18
31
|
* Fetch with timeout support
|
|
19
32
|
*/
|
|
20
|
-
async function fetchWithTimeout(url, options = {}, timeoutMs
|
|
33
|
+
async function fetchWithTimeout(url, options = {}, timeoutMs) {
|
|
34
|
+
const settings = getAPISettings();
|
|
35
|
+
const effectiveTimeout = timeoutMs ?? settings.timeout;
|
|
21
36
|
const controller = new AbortController();
|
|
22
|
-
const timeoutId = setTimeout(() => controller.abort(),
|
|
37
|
+
const timeoutId = setTimeout(() => controller.abort(), effectiveTimeout);
|
|
23
38
|
|
|
24
39
|
// Merge abort signals if one is provided
|
|
25
40
|
const signal = options.signal ? anySignal([options.signal, controller.signal]) : controller.signal;
|
|
41
|
+
|
|
42
|
+
// Merge headers from config
|
|
43
|
+
const headers = {
|
|
44
|
+
...settings.headers,
|
|
45
|
+
...options.headers
|
|
46
|
+
};
|
|
26
47
|
try {
|
|
27
48
|
const response = await fetch(url, {
|
|
28
49
|
...options,
|
|
50
|
+
headers,
|
|
29
51
|
signal
|
|
30
52
|
});
|
|
31
53
|
return response;
|
|
@@ -141,14 +163,18 @@ export async function fetchIcon(iconName, signal) {
|
|
|
141
163
|
|
|
142
164
|
// Create and store the request promise
|
|
143
165
|
const requestPromise = (async () => {
|
|
166
|
+
const settings = getAPISettings();
|
|
144
167
|
let lastError = null;
|
|
145
|
-
for (let attempt = 0; attempt <=
|
|
168
|
+
for (let attempt = 0; attempt <= settings.retries; attempt++) {
|
|
146
169
|
try {
|
|
147
170
|
// Check if already aborted
|
|
148
171
|
if (signal?.aborted) {
|
|
149
172
|
throw new DOMException('Aborted', 'AbortError');
|
|
150
173
|
}
|
|
151
|
-
const url = `${
|
|
174
|
+
const url = `${settings.baseUrl}/${prefix}.json?icons=${name}`;
|
|
175
|
+
if (settings.logging) {
|
|
176
|
+
console.log(`[rn-iconify] Fetching: ${url} (attempt ${attempt + 1})`);
|
|
177
|
+
}
|
|
152
178
|
const response = await fetchWithTimeout(url, {
|
|
153
179
|
signal
|
|
154
180
|
});
|
|
@@ -190,14 +216,18 @@ export async function fetchIcon(iconName, signal) {
|
|
|
190
216
|
lastError = error instanceof Error ? error : new Error(String(error));
|
|
191
217
|
|
|
192
218
|
// Wait before retrying (except on last attempt)
|
|
193
|
-
if (attempt <
|
|
194
|
-
|
|
219
|
+
if (attempt < settings.retries) {
|
|
220
|
+
const delay = settings.retryDelay * (attempt + 1);
|
|
221
|
+
if (settings.logging) {
|
|
222
|
+
console.log(`[rn-iconify] Retry ${attempt + 1} in ${delay}ms...`);
|
|
223
|
+
}
|
|
224
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
195
225
|
}
|
|
196
226
|
}
|
|
197
227
|
}
|
|
198
228
|
|
|
199
229
|
// All retries exhausted
|
|
200
|
-
throw lastError ?? new Error(`Failed to fetch icon "${iconName}" after ${
|
|
230
|
+
throw lastError ?? new Error(`Failed to fetch icon "${iconName}" after ${settings.retries + 1} attempts`);
|
|
201
231
|
})();
|
|
202
232
|
pendingRequests.set(iconName, requestPromise);
|
|
203
233
|
try {
|
|
@@ -239,6 +269,7 @@ export async function fetchIconsBatch(iconNames, signal) {
|
|
|
239
269
|
}
|
|
240
270
|
|
|
241
271
|
// Fetch each prefix group with error handling per group
|
|
272
|
+
const settings = getAPISettings();
|
|
242
273
|
const fetchPromises = Array.from(byPrefix.entries()).map(async ([prefix, names]) => {
|
|
243
274
|
try {
|
|
244
275
|
// Check if aborted
|
|
@@ -252,7 +283,10 @@ export async function fetchIconsBatch(iconNames, signal) {
|
|
|
252
283
|
|
|
253
284
|
// Sort icon names alphabetically for consistent caching (Iconify best practice)
|
|
254
285
|
const sortedNames = [...names].sort();
|
|
255
|
-
const url = `${
|
|
286
|
+
const url = `${settings.baseUrl}/${prefix}.json?icons=${sortedNames.join(',')}`;
|
|
287
|
+
if (settings.logging) {
|
|
288
|
+
console.log(`[rn-iconify] Batch fetching: ${url}`);
|
|
289
|
+
}
|
|
256
290
|
const response = await fetchWithTimeout(url, {
|
|
257
291
|
signal
|
|
258
292
|
});
|
|
@@ -315,13 +349,117 @@ export async function fetchIconsBatch(iconNames, signal) {
|
|
|
315
349
|
* Check if Iconify API is reachable
|
|
316
350
|
*/
|
|
317
351
|
export async function checkAPIHealth() {
|
|
352
|
+
const settings = getAPISettings();
|
|
318
353
|
try {
|
|
319
|
-
const response = await fetch(`${
|
|
320
|
-
method: 'HEAD'
|
|
354
|
+
const response = await fetch(`${settings.baseUrl}/collections`, {
|
|
355
|
+
method: 'HEAD',
|
|
356
|
+
headers: settings.headers
|
|
321
357
|
});
|
|
322
358
|
return response.ok;
|
|
323
359
|
} catch {
|
|
324
360
|
return false;
|
|
325
361
|
}
|
|
326
362
|
}
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Get the current API base URL
|
|
366
|
+
*/
|
|
367
|
+
export function getAPIBaseUrl() {
|
|
368
|
+
return getAPISettings().baseUrl;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Icon collection info from Iconify API
|
|
373
|
+
*/
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Fetch all icons for a specific icon set from Iconify API
|
|
377
|
+
* @param prefix Icon set prefix (e.g., "mdi", "heroicons")
|
|
378
|
+
* @param signal Optional AbortSignal for cancellation
|
|
379
|
+
* @returns Collection info including all icon names
|
|
380
|
+
*/
|
|
381
|
+
export async function fetchCollection(prefix, signal) {
|
|
382
|
+
// Validate prefix
|
|
383
|
+
if (!SAFE_NAME_PATTERN.test(prefix)) {
|
|
384
|
+
throw new Error(`Invalid icon set prefix: "${prefix}"`);
|
|
385
|
+
}
|
|
386
|
+
const settings = getAPISettings();
|
|
387
|
+
const url = `${settings.baseUrl}/collection?prefix=${prefix}`;
|
|
388
|
+
if (settings.logging) {
|
|
389
|
+
console.log(`[rn-iconify] Fetching collection: ${url}`);
|
|
390
|
+
}
|
|
391
|
+
const response = await fetchWithTimeout(url, {
|
|
392
|
+
signal
|
|
393
|
+
});
|
|
394
|
+
if (!response.ok) {
|
|
395
|
+
throw new Error(`HTTP ${response.status}: Failed to fetch collection "${prefix}"`);
|
|
396
|
+
}
|
|
397
|
+
const data = await response.json();
|
|
398
|
+
|
|
399
|
+
// Validate response structure
|
|
400
|
+
if (!data || typeof data !== 'object') {
|
|
401
|
+
throw new Error(`Invalid API response for collection "${prefix}"`);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
// Build icons list from uncategorized or categories
|
|
405
|
+
let icons = [];
|
|
406
|
+
if (data.uncategorized && Array.isArray(data.uncategorized)) {
|
|
407
|
+
icons = [...data.uncategorized];
|
|
408
|
+
}
|
|
409
|
+
if (data.categories && typeof data.categories === 'object') {
|
|
410
|
+
for (const category of Object.values(data.categories)) {
|
|
411
|
+
if (Array.isArray(category)) {
|
|
412
|
+
icons.push(...category);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// Remove duplicates
|
|
418
|
+
icons = [...new Set(icons)];
|
|
419
|
+
return {
|
|
420
|
+
prefix,
|
|
421
|
+
total: data.total || icons.length,
|
|
422
|
+
title: data.title,
|
|
423
|
+
icons,
|
|
424
|
+
aliases: data.aliases,
|
|
425
|
+
categories: data.categories
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Search icons using Iconify API
|
|
431
|
+
* @param query Search query
|
|
432
|
+
* @param prefixes Optional array of icon set prefixes to search
|
|
433
|
+
* @param limit Maximum number of results
|
|
434
|
+
* @param signal Optional AbortSignal for cancellation
|
|
435
|
+
* @returns Array of icon names
|
|
436
|
+
*/
|
|
437
|
+
export async function searchIconsAPI(query, prefixes, limit = 100, signal) {
|
|
438
|
+
const settings = getAPISettings();
|
|
439
|
+
|
|
440
|
+
// Build URL with query parameters
|
|
441
|
+
const params = new URLSearchParams();
|
|
442
|
+
params.set('query', query);
|
|
443
|
+
params.set('limit', String(limit));
|
|
444
|
+
if (prefixes && prefixes.length > 0) {
|
|
445
|
+
params.set('prefixes', prefixes.join(','));
|
|
446
|
+
}
|
|
447
|
+
const url = `${settings.baseUrl}/search?${params.toString()}`;
|
|
448
|
+
if (settings.logging) {
|
|
449
|
+
console.log(`[rn-iconify] Searching icons: ${url}`);
|
|
450
|
+
}
|
|
451
|
+
const response = await fetchWithTimeout(url, {
|
|
452
|
+
signal
|
|
453
|
+
});
|
|
454
|
+
if (!response.ok) {
|
|
455
|
+
throw new Error(`HTTP ${response.status}: Search failed`);
|
|
456
|
+
}
|
|
457
|
+
const data = await response.json();
|
|
458
|
+
|
|
459
|
+
// Response is an array of icon names
|
|
460
|
+
if (Array.isArray(data.icons)) {
|
|
461
|
+
return data.icons;
|
|
462
|
+
}
|
|
463
|
+
return [];
|
|
464
|
+
}
|
|
327
465
|
//# sourceMappingURL=IconifyAPI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ICONIFY_API_BASE","DEFAULT_TIMEOUT_MS","MAX_RETRIES","RETRY_DELAY_MS","pendingRequests","Map","fetchWithTimeout","url","options","timeoutMs","controller","AbortController","timeoutId","setTimeout","abort","signal","anySignal","response","fetch","clearTimeout","signals","aborted","addEventListener","once","isValidSvg","content","trim","startsWith","includes","SAFE_NAME_PATTERN","parseIconName","iconName","parts","split","length","prefix","name","test","buildSvg","data","defaultWidth","defaultHeight","width","height","left","top","viewBox","transform","transforms","rotate","rotation","push","hFlip","vFlip","scaleX","scaleY","translateX","translateY","join","body","fetchIcon","pending","get","parsed","Error","requestPromise","lastError","attempt","DOMException","ok","status","json","icons","iconData","svg","error","message","String","Promise","resolve","set","delete","fetchIconsBatch","iconNames","success","failed","byPrefix","names","fetchPromises","Array","from","entries","map","forEach","sortedNames","sort","errorMessage","all","checkAPIHealth","method"],"sourceRoot":"../../../src","sources":["network/IconifyAPI.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ConfigManager","getAPISettings","config","getAPIConfig","baseUrl","apiUrl","timeout","retries","retryDelay","headers","logging","pendingRequests","Map","fetchWithTimeout","url","options","timeoutMs","settings","effectiveTimeout","controller","AbortController","timeoutId","setTimeout","abort","signal","anySignal","response","fetch","clearTimeout","signals","aborted","addEventListener","once","isValidSvg","content","trim","startsWith","includes","SAFE_NAME_PATTERN","parseIconName","iconName","parts","split","length","prefix","name","test","buildSvg","data","defaultWidth","defaultHeight","width","height","left","top","viewBox","transform","transforms","rotate","rotation","push","hFlip","vFlip","scaleX","scaleY","translateX","translateY","join","body","fetchIcon","pending","get","parsed","Error","requestPromise","lastError","attempt","DOMException","console","log","ok","status","json","icons","iconData","svg","error","message","String","delay","Promise","resolve","set","delete","fetchIconsBatch","iconNames","success","failed","byPrefix","names","fetchPromises","Array","from","entries","map","forEach","sortedNames","sort","errorMessage","all","checkAPIHealth","method","getAPIBaseUrl","fetchCollection","uncategorized","isArray","categories","category","Object","values","Set","total","title","aliases","searchIconsAPI","query","prefixes","limit","params","URLSearchParams","toString"],"sourceRoot":"../../../src","sources":["network/IconifyAPI.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { fetchIcon, fetchIconsBatch, parseIconName, checkAPIHealth } from './IconifyAPI';
|
|
1
|
+
export { fetchIcon, fetchIconsBatch, parseIconName, checkAPIHealth, getAPIBaseUrl, fetchCollection, searchIconsAPI } from './IconifyAPI';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fetchIcon","fetchIconsBatch","parseIconName","checkAPIHealth"],"sourceRoot":"../../../src","sources":["network/index.ts"],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"names":["fetchIcon","fetchIconsBatch","parseIconName","checkAPIHealth","getAPIBaseUrl","fetchCollection","searchIconsAPI"],"sourceRoot":"../../../src","sources":["network/index.ts"],"mappings":"AAAA,SACEA,SAAS,EACTC,eAAe,EACfC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,eAAe,EACfC,cAAc,QACT,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PerformanceMonitor - Tracks icon loading performance
|
|
3
|
+
* Provides metrics, statistics, and insights for optimization
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { ConfigManager } from '../config';
|
|
7
|
+
/**
|
|
8
|
+
* Performance monitoring state
|
|
9
|
+
*/
|
|
10
|
+
let isEnabled = false;
|
|
11
|
+
let startTime = Date.now();
|
|
12
|
+
const events = [];
|
|
13
|
+
const listeners = [];
|
|
14
|
+
const iconLoadCounts = new Map();
|
|
15
|
+
const iconLoadTimes = new Map();
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Counter statistics
|
|
19
|
+
*/
|
|
20
|
+
let stats = {
|
|
21
|
+
memoryHits: 0,
|
|
22
|
+
bundledHits: 0,
|
|
23
|
+
diskHits: 0,
|
|
24
|
+
networkFetches: 0,
|
|
25
|
+
errors: 0
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Get max history size from config
|
|
30
|
+
*/
|
|
31
|
+
function getMaxHistorySize() {
|
|
32
|
+
return ConfigManager.getPerformanceConfig().maxHistorySize;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Calculate percentile from sorted array
|
|
37
|
+
*/
|
|
38
|
+
function percentile(sortedArr, p) {
|
|
39
|
+
if (sortedArr.length === 0) return 0;
|
|
40
|
+
const index = Math.ceil(p / 100 * sortedArr.length) - 1;
|
|
41
|
+
return sortedArr[Math.max(0, index)];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Performance Monitor API
|
|
46
|
+
*/
|
|
47
|
+
export const PerformanceMonitor = {
|
|
48
|
+
/**
|
|
49
|
+
* Enable performance monitoring
|
|
50
|
+
*/
|
|
51
|
+
enable() {
|
|
52
|
+
isEnabled = true;
|
|
53
|
+
startTime = Date.now();
|
|
54
|
+
ConfigManager.setConfig({
|
|
55
|
+
performance: {
|
|
56
|
+
enabled: true
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
/**
|
|
61
|
+
* Disable performance monitoring
|
|
62
|
+
*/
|
|
63
|
+
disable() {
|
|
64
|
+
isEnabled = false;
|
|
65
|
+
ConfigManager.setConfig({
|
|
66
|
+
performance: {
|
|
67
|
+
enabled: false
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
/**
|
|
72
|
+
* Check if monitoring is enabled
|
|
73
|
+
*/
|
|
74
|
+
isEnabled() {
|
|
75
|
+
return isEnabled || ConfigManager.getPerformanceConfig().enabled;
|
|
76
|
+
},
|
|
77
|
+
/**
|
|
78
|
+
* Record an icon load event
|
|
79
|
+
*/
|
|
80
|
+
recordEvent(iconName, type, duration, error) {
|
|
81
|
+
if (!PerformanceMonitor.isEnabled()) return;
|
|
82
|
+
const event = {
|
|
83
|
+
iconName,
|
|
84
|
+
type,
|
|
85
|
+
duration,
|
|
86
|
+
timestamp: Date.now(),
|
|
87
|
+
error
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// Update statistics
|
|
91
|
+
switch (type) {
|
|
92
|
+
case 'memory_hit':
|
|
93
|
+
stats.memoryHits++;
|
|
94
|
+
break;
|
|
95
|
+
case 'bundled_hit':
|
|
96
|
+
stats.bundledHits++;
|
|
97
|
+
break;
|
|
98
|
+
case 'disk_hit':
|
|
99
|
+
stats.diskHits++;
|
|
100
|
+
break;
|
|
101
|
+
case 'network_fetch':
|
|
102
|
+
stats.networkFetches++;
|
|
103
|
+
break;
|
|
104
|
+
case 'error':
|
|
105
|
+
stats.errors++;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Track per-icon stats
|
|
110
|
+
const count = (iconLoadCounts.get(iconName) ?? 0) + 1;
|
|
111
|
+
iconLoadCounts.set(iconName, count);
|
|
112
|
+
const times = iconLoadTimes.get(iconName) ?? [];
|
|
113
|
+
times.push(duration);
|
|
114
|
+
iconLoadTimes.set(iconName, times);
|
|
115
|
+
|
|
116
|
+
// Add to events history
|
|
117
|
+
events.push(event);
|
|
118
|
+
|
|
119
|
+
// Trim history if needed
|
|
120
|
+
const maxSize = getMaxHistorySize();
|
|
121
|
+
while (events.length > maxSize) {
|
|
122
|
+
events.shift();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Notify listeners
|
|
126
|
+
listeners.forEach(listener => {
|
|
127
|
+
try {
|
|
128
|
+
listener(event);
|
|
129
|
+
} catch (e) {
|
|
130
|
+
// Ignore listener errors
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* Subscribe to performance events
|
|
136
|
+
* Returns unsubscribe function
|
|
137
|
+
*/
|
|
138
|
+
subscribe(listener) {
|
|
139
|
+
listeners.push(listener);
|
|
140
|
+
return () => {
|
|
141
|
+
const index = listeners.indexOf(listener);
|
|
142
|
+
if (index > -1) {
|
|
143
|
+
listeners.splice(index, 1);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
},
|
|
147
|
+
/**
|
|
148
|
+
* Get cache statistics
|
|
149
|
+
*/
|
|
150
|
+
getCacheStats() {
|
|
151
|
+
const totalRequests = stats.memoryHits + stats.bundledHits + stats.diskHits + stats.networkFetches + stats.errors;
|
|
152
|
+
const hits = stats.memoryHits + stats.bundledHits + stats.diskHits;
|
|
153
|
+
return {
|
|
154
|
+
memoryHits: stats.memoryHits,
|
|
155
|
+
bundledHits: stats.bundledHits,
|
|
156
|
+
diskHits: stats.diskHits,
|
|
157
|
+
networkFetches: stats.networkFetches,
|
|
158
|
+
errors: stats.errors,
|
|
159
|
+
totalRequests,
|
|
160
|
+
hitRate: totalRequests > 0 ? hits / totalRequests : 0
|
|
161
|
+
};
|
|
162
|
+
},
|
|
163
|
+
/**
|
|
164
|
+
* Get performance summary
|
|
165
|
+
*/
|
|
166
|
+
getSummary() {
|
|
167
|
+
const durations = events.filter(e => e.type !== 'error').map(e => e.duration).sort((a, b) => a - b);
|
|
168
|
+
const totalLoads = durations.length;
|
|
169
|
+
const totalErrors = events.filter(e => e.type === 'error').length;
|
|
170
|
+
if (totalLoads === 0) {
|
|
171
|
+
return {
|
|
172
|
+
avgLoadTime: 0,
|
|
173
|
+
minLoadTime: 0,
|
|
174
|
+
maxLoadTime: 0,
|
|
175
|
+
p50LoadTime: 0,
|
|
176
|
+
p90LoadTime: 0,
|
|
177
|
+
p99LoadTime: 0,
|
|
178
|
+
totalLoads: 0,
|
|
179
|
+
totalErrors,
|
|
180
|
+
uptime: Date.now() - startTime
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
const sum = durations.reduce((a, b) => a + b, 0);
|
|
184
|
+
return {
|
|
185
|
+
avgLoadTime: sum / totalLoads,
|
|
186
|
+
minLoadTime: durations[0],
|
|
187
|
+
maxLoadTime: durations[durations.length - 1],
|
|
188
|
+
p50LoadTime: percentile(durations, 50),
|
|
189
|
+
p90LoadTime: percentile(durations, 90),
|
|
190
|
+
p99LoadTime: percentile(durations, 99),
|
|
191
|
+
totalLoads,
|
|
192
|
+
totalErrors,
|
|
193
|
+
uptime: Date.now() - startTime
|
|
194
|
+
};
|
|
195
|
+
},
|
|
196
|
+
/**
|
|
197
|
+
* Get full performance report
|
|
198
|
+
*/
|
|
199
|
+
getReport() {
|
|
200
|
+
const summary = PerformanceMonitor.getSummary();
|
|
201
|
+
const cacheStats = PerformanceMonitor.getCacheStats();
|
|
202
|
+
|
|
203
|
+
// Calculate avg load times by type
|
|
204
|
+
const byType = {
|
|
205
|
+
memory: [],
|
|
206
|
+
bundled: [],
|
|
207
|
+
disk: [],
|
|
208
|
+
network: []
|
|
209
|
+
};
|
|
210
|
+
events.forEach(e => {
|
|
211
|
+
if (e.type === 'memory_hit') byType.memory.push(e.duration);else if (e.type === 'bundled_hit') byType.bundled.push(e.duration);else if (e.type === 'disk_hit') byType.disk.push(e.duration);else if (e.type === 'network_fetch') byType.network.push(e.duration);
|
|
212
|
+
});
|
|
213
|
+
const avg = arr => arr.length ? arr.reduce((a, b) => a + b, 0) / arr.length : 0;
|
|
214
|
+
|
|
215
|
+
// Get slowest icons
|
|
216
|
+
const slowestIcons = Array.from(iconLoadTimes.entries()).map(([iconName, times]) => ({
|
|
217
|
+
iconName,
|
|
218
|
+
avgDuration: avg(times),
|
|
219
|
+
count: times.length
|
|
220
|
+
})).sort((a, b) => b.avgDuration - a.avgDuration).slice(0, 10);
|
|
221
|
+
|
|
222
|
+
// Get most used icons
|
|
223
|
+
const mostUsedIcons = Array.from(iconLoadCounts.entries()).map(([iconName, count]) => ({
|
|
224
|
+
iconName,
|
|
225
|
+
count
|
|
226
|
+
})).sort((a, b) => b.count - a.count).slice(0, 10);
|
|
227
|
+
return {
|
|
228
|
+
summary,
|
|
229
|
+
cacheStats,
|
|
230
|
+
loadTimesByType: {
|
|
231
|
+
memory: avg(byType.memory),
|
|
232
|
+
bundled: avg(byType.bundled),
|
|
233
|
+
disk: avg(byType.disk),
|
|
234
|
+
network: avg(byType.network)
|
|
235
|
+
},
|
|
236
|
+
slowestIcons,
|
|
237
|
+
mostUsedIcons,
|
|
238
|
+
recentEvents: events.slice(-100),
|
|
239
|
+
generatedAt: Date.now()
|
|
240
|
+
};
|
|
241
|
+
},
|
|
242
|
+
/**
|
|
243
|
+
* Reset all performance data
|
|
244
|
+
*/
|
|
245
|
+
reset() {
|
|
246
|
+
events.length = 0;
|
|
247
|
+
iconLoadCounts.clear();
|
|
248
|
+
iconLoadTimes.clear();
|
|
249
|
+
stats = {
|
|
250
|
+
memoryHits: 0,
|
|
251
|
+
bundledHits: 0,
|
|
252
|
+
diskHits: 0,
|
|
253
|
+
networkFetches: 0,
|
|
254
|
+
errors: 0
|
|
255
|
+
};
|
|
256
|
+
startTime = Date.now();
|
|
257
|
+
},
|
|
258
|
+
/**
|
|
259
|
+
* Get raw events (for debugging)
|
|
260
|
+
*/
|
|
261
|
+
getEvents() {
|
|
262
|
+
return [...events];
|
|
263
|
+
},
|
|
264
|
+
/**
|
|
265
|
+
* Format report as string (for console output)
|
|
266
|
+
*/
|
|
267
|
+
formatReport() {
|
|
268
|
+
const report = PerformanceMonitor.getReport();
|
|
269
|
+
const {
|
|
270
|
+
summary,
|
|
271
|
+
cacheStats,
|
|
272
|
+
loadTimesByType
|
|
273
|
+
} = report;
|
|
274
|
+
const lines = ['┌─────────────────────────────────────────────────────┐', '│ rn-iconify Performance Report │', '├─────────────────────────────────────────────────────┤', `│ Total Loads: ${summary.totalLoads.toString().padEnd(10)} │ Errors: ${summary.totalErrors.toString().padEnd(8)} │`, `│ Cache Hit Rate: ${(cacheStats.hitRate * 100).toFixed(1)}% │`, '├─────────────────────────────────────────────────────┤', '│ Load Times │', `│ Average: ${summary.avgLoadTime.toFixed(2)}ms │`, `│ Min: ${summary.minLoadTime.toFixed(2)}ms │ Max: ${summary.maxLoadTime.toFixed(2)}ms │`, `│ P50: ${summary.p50LoadTime.toFixed(2)}ms │ P90: ${summary.p90LoadTime.toFixed(2)}ms │ P99: ${summary.p99LoadTime.toFixed(2)}ms │`, '├─────────────────────────────────────────────────────┤', '│ By Source │', `│ Memory: ${loadTimesByType.memory.toFixed(2)}ms (${cacheStats.memoryHits} hits) │`, `│ Bundled: ${loadTimesByType.bundled.toFixed(2)}ms (${cacheStats.bundledHits} hits) │`, `│ Disk: ${loadTimesByType.disk.toFixed(2)}ms (${cacheStats.diskHits} hits) │`, `│ Network: ${loadTimesByType.network.toFixed(2)}ms (${cacheStats.networkFetches} fetches) │`, '└─────────────────────────────────────────────────────┘'];
|
|
275
|
+
if (report.slowestIcons.length > 0) {
|
|
276
|
+
lines.push('');
|
|
277
|
+
lines.push('🐌 Slowest Icons:');
|
|
278
|
+
report.slowestIcons.slice(0, 5).forEach((icon, i) => {
|
|
279
|
+
lines.push(` ${i + 1}. ${icon.iconName} (${icon.avgDuration.toFixed(2)}ms avg, ${icon.count}x)`);
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
return lines.join('\n');
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* Enable performance monitoring
|
|
288
|
+
* Alias for PerformanceMonitor.enable()
|
|
289
|
+
*/
|
|
290
|
+
export function enablePerformanceMonitoring() {
|
|
291
|
+
PerformanceMonitor.enable();
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Disable performance monitoring
|
|
296
|
+
* Alias for PerformanceMonitor.disable()
|
|
297
|
+
*/
|
|
298
|
+
export function disablePerformanceMonitoring() {
|
|
299
|
+
PerformanceMonitor.disable();
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Get performance report
|
|
304
|
+
* Alias for PerformanceMonitor.getReport()
|
|
305
|
+
*/
|
|
306
|
+
export function getPerformanceReport() {
|
|
307
|
+
return PerformanceMonitor.getReport();
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Print formatted performance report to console
|
|
312
|
+
*/
|
|
313
|
+
export function printPerformanceReport() {
|
|
314
|
+
console.log(PerformanceMonitor.formatReport());
|
|
315
|
+
}
|
|
316
|
+
export default PerformanceMonitor;
|
|
317
|
+
//# sourceMappingURL=PerformanceMonitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ConfigManager","isEnabled","startTime","Date","now","events","listeners","iconLoadCounts","Map","iconLoadTimes","stats","memoryHits","bundledHits","diskHits","networkFetches","errors","getMaxHistorySize","getPerformanceConfig","maxHistorySize","percentile","sortedArr","p","length","index","Math","ceil","max","PerformanceMonitor","enable","setConfig","performance","enabled","disable","recordEvent","iconName","type","duration","error","event","timestamp","count","get","set","times","push","maxSize","shift","forEach","listener","e","subscribe","indexOf","splice","getCacheStats","totalRequests","hits","hitRate","getSummary","durations","filter","map","sort","a","b","totalLoads","totalErrors","avgLoadTime","minLoadTime","maxLoadTime","p50LoadTime","p90LoadTime","p99LoadTime","uptime","sum","reduce","getReport","summary","cacheStats","byType","memory","bundled","disk","network","avg","arr","slowestIcons","Array","from","entries","avgDuration","slice","mostUsedIcons","loadTimesByType","recentEvents","generatedAt","reset","clear","getEvents","formatReport","report","lines","toString","padEnd","toFixed","icon","i","join","enablePerformanceMonitoring","disablePerformanceMonitoring","getPerformanceReport","printPerformanceReport","console","log"],"sourceRoot":"../../../src","sources":["performance/PerformanceMonitor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Monitoring Module
|
|
3
|
+
* Track and analyze icon loading performance
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* import { enablePerformanceMonitoring, getPerformanceReport } from 'rn-iconify';
|
|
8
|
+
*
|
|
9
|
+
* // Enable monitoring
|
|
10
|
+
* enablePerformanceMonitoring();
|
|
11
|
+
*
|
|
12
|
+
* // Later, get the report
|
|
13
|
+
* const report = getPerformanceReport();
|
|
14
|
+
* console.log(`Cache hit rate: ${report.cacheStats.hitRate * 100}%`);
|
|
15
|
+
* console.log(`Avg load time: ${report.summary.avgLoadTime}ms`);
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
// Types
|
|
20
|
+
|
|
21
|
+
// PerformanceMonitor
|
|
22
|
+
export { PerformanceMonitor, enablePerformanceMonitoring, disablePerformanceMonitoring, getPerformanceReport, printPerformanceReport } from './PerformanceMonitor';
|
|
23
|
+
|
|
24
|
+
// Default export
|
|
25
|
+
export { PerformanceMonitor as default } from './PerformanceMonitor';
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PerformanceMonitor","enablePerformanceMonitoring","disablePerformanceMonitoring","getPerformanceReport","printPerformanceReport","default"],"sourceRoot":"../../../src","sources":["performance/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAUA;AACA,SACEA,kBAAkB,EAClBC,2BAA2B,EAC3BC,4BAA4B,EAC5BC,oBAAoB,EACpBC,sBAAsB,QACjB,sBAAsB;;AAE7B;AACA,SAASJ,kBAAkB,IAAIK,OAAO,QAAQ,sBAAsB","ignoreList":[]}
|