@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 606 B
JavaScript
import{loadBlob as e}from"./loadBlob";import{isSvgBlob as u,svgToPngBlob as i}from"./rasterize-svg";export async function loadLayerImages(a){const t=new Map,r=n=>{let l=t.get(n);return l||(l=s(n),t.set(n,l)),l};return(await Promise.all(a.map(async n=>{const l=n.getAttribute("xlink:href")??n.getAttribute("href"),o=l?await r(l):null;return o?{bounds:{x:n.x.animVal.value,y:n.y.animVal.value,width:n.width.animVal.value,height:n.height.animVal.value,angle:n.transform?.animVal[0]?.angle??0},source:o,booth:null}:null}))).filter(n=>n!==null)}async function s(a){const t=await e(a);return t?u(t)?i(t):t:null}