import * as sfw from 'sfw'; const { I } = sfw.element.native; const icons = [ 'settings', 'shuffle', 'calendar', 'search', 'close', 'home', 'add', 'edit', 'check', 'next', ]; const target = { icons: await Promise.all( icons.map(async v => [v, await import(`./${v}.js`)]) ).then(r => r.reduce((obj, [v, m]) => (obj[v] = m, obj), {})), }; const handler = { get(target, prop, receiver) { return I.new({ innerHTML: target.icons[prop]?.default ?? '?', className: 'icon', }); } }; export default new Proxy(target, handler);