add hw2
This commit is contained in:
		
							
								
								
									
										28
									
								
								node_modules/@iconify/utils/lib/loader/loader.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								node_modules/@iconify/utils/lib/loader/loader.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| import { getCustomIcon } from "./custom.js"; | ||||
| import { searchForIcon } from "./modern.js"; | ||||
|  | ||||
| const loadIcon = async (collection, icon, options) => { | ||||
| 	const custom = options?.customCollections?.[collection]; | ||||
| 	if (custom) if (typeof custom === "function") { | ||||
| 		let result; | ||||
| 		try { | ||||
| 			result = await custom(icon); | ||||
| 		} catch (err) { | ||||
| 			console.warn(`Failed to load custom icon "${icon}" in "${collection}":`, err); | ||||
| 			return; | ||||
| 		} | ||||
| 		if (result) { | ||||
| 			if (typeof result === "string") return await getCustomIcon(() => result, collection, icon, options); | ||||
| 			if ("icons" in result) { | ||||
| 				const ids = [ | ||||
| 					icon, | ||||
| 					icon.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(), | ||||
| 					icon.replace(/([a-z])(\d+)/g, "$1-$2") | ||||
| 				]; | ||||
| 				return await searchForIcon(result, collection, ids, options); | ||||
| 			} | ||||
| 		} | ||||
| 	} else return await getCustomIcon(custom, collection, icon, options); | ||||
| }; | ||||
|  | ||||
| export { loadIcon }; | ||||
		Reference in New Issue
	
	Block a user
	 nik
					nik