UNPKG

react-deck-link

Version:

React SDK for integrating Deck Link

2 lines (1 loc) 1.07 kB
(function(t,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t["react-deck-link"]={},t.React))})(this,function(t,e){"use strict";const f=(r,{onerror:c,onload:i})=>e.useEffect(()=>{const n=document.createElement("script");return n.src=r,n.async=!0,n.onload=i||null,n.onerror=c||null,document.body.appendChild(n),()=>{document.body.removeChild(n)}},[r,c,i]),d=()=>{},a="https://link.deck.co/link-initialize.js",m=r=>{var p,k;const{linkSdkUrl:c=a,...i}=r,[n,u]=e.useState(!1),[s,l]=e.useState(),y=e.useMemo(()=>({onload:()=>l(window.Deck),onerror:()=>{u(!0),console.error("react-deck-link: Error loading Deck SDK")}}),[u,l]);f(c,y);const o=e.useRef(void 0);return o.current=s==null?void 0:s.create(i),{exit:((p=o.current)==null?void 0:p.exit.bind(o.current))||d,open:((k=o.current)==null?void 0:k.open.bind(o.current))||d,isError:n,isReady:!!o.current}};t.useDeckLink=m,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});