lean-qr
Version:
minimal QR code generation
2 lines (1 loc) • 1 kB
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){return void console.warn(e.message)}};exports.makeAsyncComponent=({createElement:a,useEffect:c,useRef:l}=e(6),i=e(7),m={})=>e=>{const u={...m,...e},d=l(null),f=l([null,{}]);return c((()=>{d.current.hidden=!o((()=>(((e,r,t)=>t.some((t=>e[t]!==r[t])))(u,f.current[1],t)&&(f.current[0]=i(u.content,u)),f.current[0].toCanvas(d.current,u),1))),f.current[1]=u}),r(u,n)),a("canvas",{ref:d,style:s,className:u.className})},exports.makeSyncComponent=({createElement:a,useMemo:c}=e(6),l=e(7),i=e(8),m={})=>e=>{const u={...m,...e},d=c((()=>o((()=>l(u.content,u)))),r(u,t)),f=c((()=>d&&o((()=>i(d,u)))),[d,...r(u,n)]);return f?a("img",{src:f,style:s,className:u.className}):null};