lean-qr
Version:
minimal QR code generation
2 lines (1 loc) • 968 B
JavaScript
;const e=e=>{const r=new Error(`lean-qr error ${e}`);throw r.code=e,r},r=(e,r)=>r.map((r=>e[r])),t=["content","minCorrectionLevel","maxCorrectionLevel","minVersion","maxVersion","mask","trailer","modes"],n=[...t,"on","off","padX","padY","width","height","scale"],s={imageRendering:"pixelated"},o=e=>{try{return e()}catch(e){console.warn(e.message)}};exports.makeAsyncComponent=({createElement:c,useEffect:a,useRef:l}=e(6),i=e(7),m={})=>e=>{const u={...m,...e},d=l(),f=l([0,{}]);return a((()=>{const e=f.current,r=d.current;r.hidden=!o((()=>(((e,r,t)=>t.some((t=>e[t]!==r[t])))(u,e[1],t)&&(e[0]=i(u.content,u)),e[0].toCanvas(r,u),1))),e[1]=u}),r(u,n)),c("canvas",{ref:d,style:s,className:u.className})},exports.makeSyncComponent=({createElement:c,useMemo:a}=e(6),l=e(7),i=e(8),m={})=>e=>{const u={...m,...e},d=a((()=>o((()=>l(u.content,u)))),r(u,t)),f=a((()=>d&&o((()=>i(d,u)))),[d,...r(u,n)]);return f?c("img",{src:f,style:s,className:u.className}):null};