tool.io icons Source Code

Browse the implementation files for tool.io icons.
document.ts typescript
import gallery from '$icons/gallery.json';
import { parseIconListDocument } from '$lib/components/data/icon-list';

const sourceModules = import.meta.glob<string>(
	['$icons/*.svg', '$icons/skills/color/*.svg'],
	{
		eager: true,
		import: 'default',
		query: '?url'
	}
);

const sourcesByRelativePath = new Map(
	Object.entries(sourceModules).map(([path, source]) => {
		const relativePath = path.match(
			/(?:^|\/)(skills\/color\/[^/]+|[^/]+)$/u
		)?.[1];
		return [relativePath, source];
	})
);

export const iconGalleryDocument = parseIconListDocument(
	gallery,
	(source) => {
		const relativePath = source.replace(/^\.\//u, '');
		const resolved = sourcesByRelativePath.get(relativePath);
		if (!resolved)
			throw new Error(
				`Icon source is not available: ${source}.`
			);
		return resolved;
	}
);

Description

Browse the implementation files for tool.io icons.

References

  1. Tool.io on GitHub
  2. Tool.io TypeScript tools library

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies