@pitcher/js-api 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # @pitcher/js-api
2
+
3
+ This is the JavaScript API to interact with the data layer of the NG platform.
4
+
5
+ ## Installation
6
+
7
+ ## Usage
8
+
9
+ For more details, please visit the [documentation](https://pitcherag.github.io/canvas-ui).
10
+
@@ -0,0 +1,2 @@
1
+ (function(o,A){typeof exports=="object"&&typeof module<"u"?A(exports):typeof define=="function"&&define.amd?define(["exports"],A):(o=typeof globalThis<"u"?globalThis:o||self,A(o.pitcher={}))})(this,function(o){"use strict";function A(e={}){return this.API.request("open",e)}function Ae(){return this.API.request("get_env")}function he(e){return this.API.request("update_my_user",e)}function Ee(){return this.API.request("get_languages")}function pe(e){return o.highLevelApi.API.request("get_events",e)}function be(e){return o.highLevelApi.API.request("create_event",e)}function Ie(e){return o.highLevelApi.API.request("update_event",e)}function Se(e){return o.highLevelApi.API.request("delete_event",e)}function me(e){return this.API.request("get_canvases",e)}function ve(e){return this.API.request("create_canvas",e)}function ye(e){return this.API.request("delete_canvas",e)}function Pe(e){return this.API.request("update_canvas",e)}function xe(e){return this.API.request("get_canvas",e)}function Te(e){return this.API.request("share_canvas",e)}function Re(e){const t={...e};return t.type&&(t.type=Array.isArray(t.type)?t.type:[t.type]),t.content_type&&(t.content_type=Array.isArray(t.content_type)?t.content_type:[t.content_type]),this.API.request("get_files",t)}function Ue(e){return this.API.request("download_file",e)}function Ce(e){return this.API.request("get_app_config",e)}function Oe(e){return this.API.request("get_file",e)}function we(e){return this.API.request("delete_file",e)}function Me(e){return this.API.request("create_file",e)}function qe(){return this.API.request("select_device_file")}function Le(e){return this.API.request("search",e)}function De(e){return this.API.request("get_users",e)}function $e(e){return this.API.request("getService",e)}function Ne(e){return this.API.request("refresh_service_token",e)}function He(){return this.API.request("get_connections")}function Fe(e){return this.API.request("connection_login",e)}function je(e){return this.API.request("connection_logout",e)}function Ge(e){return this.API.request("fetch_document_info",e)}function ke(e){return this.API.request("render_page_as_image",e)}function Ve(e){return this.API.request("toast",e)}function Ye(e){return o.highLevelApi.API.request("query",e)}function ze(e={id:"root"}){return this.API.request("get_folder",e)}function We(e){return this.API.request("create_folder",e)}function Ze(e){return this.API.request("update_folder",e)}function Qe(e){return this.API.request("delete_folder",e)}function Je(e){return this.API.request("move_folder_items",e)}function Be(e){return this.API.request("get_favorites",e)}function Xe(e){return this.API.request("create_favorite",e)}function Ke(e){return this.API.request("delete_favorite",e)}function et(e){return e.type||(e.type="native"),o.highLevelApi.API.request("notify",e)}function tt(e){return o.highLevelApi.API.request("track",e)}function nt(e){return this.API.request("get_instance_metadata_templates",e)}const rt=Object.freeze(Object.defineProperty({__proto__:null,connectionLogin:Fe,connectionLogout:je,createCanvas:ve,createEvent:be,createFavorite:Xe,createFile:Me,createFolder:We,deleteCanvas:ye,deleteEvent:Se,deleteFavorite:Ke,deleteFile:we,deleteFolder:Qe,downloadFile:Ue,fetchDocumentInfo:Ge,getAppConfig:Ce,getCanvas:xe,getCanvases:me,getConnections:He,getEnv:Ae,getEvents:pe,getFavorites:Be,getFile:Oe,getFiles:Re,getFolder:ze,getInstanceMetadataTemplates:nt,getLanguages:Ee,getService:$e,getUsers:De,moveFolderItems:Je,notify:et,open:A,query:Ye,refreshServiceToken:Ne,renderPageAsImage:ke,search:Le,selectDeviceFile:qe,shareCanvas:Te,toast:Ve,track:tt,updateCanvas:Pe,updateEvent:Ie,updateFolder:Ze,updateMyUser:he},Symbol.toStringTag,{value:"Module"}));class x{listeners={};on(t,n){this.listeners[t]=(this.listeners[t]??[]).concat(n)}off(t,n){this.listeners[t]=(this.listeners[t]??[]).filter(r=>r!==n)}emit(t,n){(this.listeners[t]??[]).forEach(r=>r(n))}}let p;const ut=new Uint8Array(16);function ot(){if(!p&&(p=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!p))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return p(ut)}const i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));function st(e,t=0){return i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]}const T={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function I(e,t,n){if(T.randomUUID&&!t&&!e)return T.randomUUID();e=e||{};const r=e.random||(e.rng||ot)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let u=0;u<16;++u)t[n+u]=r[u];return t}return st(r)}class it extends Error{}function at(e,t){if(!e)throw new it(t)}var ct=typeof global=="object"&&global&&global.Object===Object&&global;const dt=ct;var ft=typeof self=="object"&&self&&self.Object===Object&&self,lt=dt||ft||Function("return this")(),_t=lt.Symbol;const _=_t;var R=Object.prototype,gt=R.hasOwnProperty,At=R.toString,h=_?_.toStringTag:void 0;function ht(e){var t=gt.call(e,h),n=e[h];try{e[h]=void 0;var r=!0}catch{}var u=At.call(e);return r&&(t?e[h]=n:delete e[h]),u}var Et=Object.prototype,pt=Et.toString;function bt(e){return pt.call(e)}var It="[object Null]",St="[object Undefined]",U=_?_.toStringTag:void 0;function mt(e){return e==null?e===void 0?St:It:U&&U in Object(e)?ht(e):bt(e)}function vt(e){return e!=null&&typeof e=="object"}var yt="[object Symbol]";function Pt(e){return typeof e=="symbol"||vt(e)&&mt(e)==yt}function xt(e,t){for(var n=-1,r=e==null?0:e.length,u=Array(r);++n<r;)u[n]=t(e[n],n,e);return u}var Tt=Array.isArray;const Rt=Tt;var Ut=1/0,C=_?_.prototype:void 0,O=C?C.toString:void 0;function w(e){if(typeof e=="string")return e;if(Rt(e))return xt(e,w)+"";if(Pt(e))return O?O.call(e):"";var t=e+"";return t=="0"&&1/e==-Ut?"-0":t}function b(e){return e==null?"":w(e)}function Ct(e,t,n){var r=-1,u=e.length;t<0&&(t=-t>u?0:u+t),n=n>u?u:n,n<0&&(n+=u),u=t>n?0:n-t>>>0,t>>>=0;for(var s=Array(u);++r<u;)s[r]=e[r+t];return s}function Ot(e,t,n){var r=e.length;return n=n===void 0?r:n,!t&&n>=r?e:Ct(e,t,n)}var wt="\\ud800-\\udfff",Mt="\\u0300-\\u036f",qt="\\ufe20-\\ufe2f",Lt="\\u20d0-\\u20ff",Dt=Mt+qt+Lt,$t="\\ufe0e\\ufe0f",Nt="\\u200d",Ht=RegExp("["+Nt+wt+Dt+$t+"]");function M(e){return Ht.test(e)}function Ft(e){return e.split("")}var q="\\ud800-\\udfff",jt="\\u0300-\\u036f",Gt="\\ufe20-\\ufe2f",kt="\\u20d0-\\u20ff",Vt=jt+Gt+kt,Yt="\\ufe0e\\ufe0f",zt="["+q+"]",S="["+Vt+"]",m="\\ud83c[\\udffb-\\udfff]",Wt="(?:"+S+"|"+m+")",L="[^"+q+"]",D="(?:\\ud83c[\\udde6-\\uddff]){2}",$="[\\ud800-\\udbff][\\udc00-\\udfff]",Zt="\\u200d",N=Wt+"?",H="["+Yt+"]?",Qt="(?:"+Zt+"(?:"+[L,D,$].join("|")+")"+H+N+")*",Jt=H+N+Qt,Bt="(?:"+[L+S+"?",S,D,$,zt].join("|")+")",Xt=RegExp(m+"(?="+m+")|"+Bt+Jt,"g");function Kt(e){return e.match(Xt)||[]}function en(e){return M(e)?Kt(e):Ft(e)}function tn(e){return function(t){t=b(t);var n=M(t)?en(t):void 0,r=n?n[0]:t.charAt(0),u=n?Ot(n,1).join(""):t.slice(1);return r[e]()+u}}var nn=tn("toUpperCase");const rn=nn;function un(e){return rn(b(e).toLowerCase())}function on(e,t,n,r){var u=-1,s=e==null?0:e.length;for(r&&s&&(n=e[++u]);++u<s;)n=t(n,e[u],u,e);return n}function sn(e){return function(t){return e?.[t]}}var an={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},cn=sn(an);const dn=cn;var fn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ln="\\u0300-\\u036f",_n="\\ufe20-\\ufe2f",gn="\\u20d0-\\u20ff",An=ln+_n+gn,hn="["+An+"]",En=RegExp(hn,"g");function pn(e){return e=b(e),e&&e.replace(fn,dn).replace(En,"")}var bn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function In(e){return e.match(bn)||[]}var Sn=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function mn(e){return Sn.test(e)}var F="\\ud800-\\udfff",vn="\\u0300-\\u036f",yn="\\ufe20-\\ufe2f",Pn="\\u20d0-\\u20ff",xn=vn+yn+Pn,j="\\u2700-\\u27bf",G="a-z\\xdf-\\xf6\\xf8-\\xff",Tn="\\xac\\xb1\\xd7\\xf7",Rn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Un="\\u2000-\\u206f",Cn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",k="A-Z\\xc0-\\xd6\\xd8-\\xde",On="\\ufe0e\\ufe0f",V=Tn+Rn+Un+Cn,Y="['’]",z="["+V+"]",wn="["+xn+"]",W="\\d+",Mn="["+j+"]",Z="["+G+"]",Q="[^"+F+V+W+j+G+k+"]",qn="\\ud83c[\\udffb-\\udfff]",Ln="(?:"+wn+"|"+qn+")",Dn="[^"+F+"]",J="(?:\\ud83c[\\udde6-\\uddff]){2}",B="[\\ud800-\\udbff][\\udc00-\\udfff]",g="["+k+"]",$n="\\u200d",X="(?:"+Z+"|"+Q+")",Nn="(?:"+g+"|"+Q+")",K="(?:"+Y+"(?:d|ll|m|re|s|t|ve))?",ee="(?:"+Y+"(?:D|LL|M|RE|S|T|VE))?",te=Ln+"?",ne="["+On+"]?",Hn="(?:"+$n+"(?:"+[Dn,J,B].join("|")+")"+ne+te+")*",Fn="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jn="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gn=ne+te+Hn,kn="(?:"+[Mn,J,B].join("|")+")"+Gn,Vn=RegExp([g+"?"+Z+"+"+K+"(?="+[z,g,"$"].join("|")+")",Nn+"+"+ee+"(?="+[z,g+X,"$"].join("|")+")",g+"?"+X+"+"+K,g+"+"+ee,jn,Fn,W,kn].join("|"),"g");function Yn(e){return e.match(Vn)||[]}function zn(e,t,n){return e=b(e),t=n?void 0:t,t===void 0?mn(e)?Yn(e):In(e):e.match(t)||[]}var Wn="['’]",Zn=RegExp(Wn,"g");function re(e){return function(t){return on(zn(pn(t).replace(Zn,"")),e,"")}}var Qn=re(function(e,t,n){return t=t.toLowerCase(),e+(n?un(t):t)});const Jn=Qn;var Bn=re(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});const Xn=Bn,ue=["id__in","modified_at__gtr","created_at__gtr","end_at__lt","start_at__gt","account__id","end_at__gt","end_at__range","start_at__lt","start_at__range","external_objects__connection_id","external_objects__content_type","external_objects__external_content_type","external_objects__external_object_id"],oe=["context"],E=(e,t=ue,n=oe)=>Array.isArray(e)?e.map(r=>E(r,t,n)):e!=null&&e.constructor===Object?Object.keys(e).reduce((r,u)=>{const s=t.includes(u)||n.includes(u)?u:Jn(u),a=n.includes(u)?e[u]:E(e[u],t,n);return{...r,[s]:a}},{}):e,v=(e,t=ue,n=oe)=>Array.isArray(e)?e.map(r=>v(r,t,n)):e!=null&&e.constructor===Object?Object.keys(e).reduce((r,u)=>{const s=t.includes(u)||n.includes(u)?u:Xn(u),a=n.includes(u)?e[u]:v(e[u],t,n);return{...r,[s]:a}},{}):e;class Kn extends x{constructor(t){super(),this.callbacks={},this.options=t??{casing:"snake",logLevel:"off"},typeof window<"u"&&(window.addEventListener("message",n=>{this.options.logLevel==="debug"&&console.log("message received",n),n.data.type==="PITCHER_RESPONSE"?(at(n.data.request.id,"event id is required"),this.handleCallbackMessage(n.data.request.id,n.data)):n.data.type==="PITCHER_EVENT"&&this.handleEventMessage(this.options.casing==="camel"?E(n.data.event):n.data.event)}),this.request("subscribe"))}callbacks;options;handleCallbackMessage(t,n){this.callbacks[t]&&(this.callbacks[t].callback(n),this.options.logLevel&&["info","debug"].includes(this.options.logLevel)&&console.log(`It took ${Date.now()-this.callbacks[t].dispatched_at} ms for the event ${this.callbacks[t].type}`),delete this.callbacks[t])}handleEventMessage(t){this.emit("event",t)}request(t,n=null){return new Promise((r,u)=>{const s=I(),a=l=>{if(this.options.logLevel==="debug"&&console.log(`Callback ${s} response:`,l),l.response.status==="ok")r(this.options.casing==="camel"?E(l.response.body):l.response.body);else if(l.response.status==="error")u(this.options.casing==="camel"?E(l.response.body):l.response.body);else throw new Error("unsupported response status")},c=v(n);this.callbacks[s]={dispatched_at:Date.now(),type:t,payload:c??{},callback:a},typeof window<"u"&&window.top&&window.top.postMessage({type:"PITCHER_REQUEST",request:{type:t,id:s,body:c}},"*")})}}function er(e){const t=new Kn(e),n=new x;return t.on("event",r=>{n.emit(r.type,r.body)}),{API:t,...rt,on:(r,u)=>n.on(r,u),off:(r,u)=>n.off(r,u),quitInstance:()=>t.request("quit_instance"),getRequestTypes:()=>t.request("get_request_types"),broadcast:r=>t.request("broadcast",r),subscribe:()=>t.request("subscribe"),unsubscribe:()=>t.request("unsubscribe")}}const se="UI_MESSAGE",y={UI_REQUEST:"UI_REQUEST",UI_RESPONSE:"UI_RESPONSE"},ie={SFDC_QUERY:"sfdc_query",SFDC_ENTITY:"sfdc_entity"},tr={CANVAS_UPDATED:"canvas_updated",FILE_UPDATED:"file_updated"};function nr(e,t,n={timeout:1e4}){return new Promise((r,u)=>{const s=I(),a=c=>{c.data.type===y.UI_RESPONSE&&c.data.id===s&&(window.removeEventListener("message",a),r(c.data.body))};window.addEventListener("message",a),window.parent.postMessage({type:y.UI_REQUEST,id:s,body:{type:e,data:t}},"*"),n.timeout&&setTimeout(()=>{window.removeEventListener("message",a),u(new Error(`UI did not respond in the timeframe of ${n.timeout}ms. Check the handler on the UI side.`))},n.timeout)})}const d={};function rr(e){if(e.data.type!==se)return;const t=d[e.data.body.type];t&&t.forEach(n=>n(e.data.body.data))}function ur(e,t){d[e]||(d[e]=[]),d[e]?.push(t)}function or(e,t){d[e]&&(d[e]=d[e]?.filter(n=>n!==t))}window.addEventListener("message",rr);function sr(e,t){return nr(ie.SFDC_QUERY,e,t)}const ir=Object.freeze(Object.defineProperty({__proto__:null,sfdc_query:sr},Symbol.toStringTag,{value:"Module"})),ae="ADMIN_MESSAGE",ar={ENV_CHANGED:"env_changed"},P={ADMIN_REQUEST:"ADMIN_REQUEST",ADMIN_RESPONSE:"ADMIN_RESPONSE"},ce={GET_ENV:"get_env"};function cr(e,t,n={timeout:1e4}){return new Promise((r,u)=>{const s=I(),a=c=>{c.data.type===P.ADMIN_RESPONSE&&c.data.id===s&&(window.removeEventListener("message",a),r(c.data.body))};window.addEventListener("message",a),window.parent.postMessage({type:P.ADMIN_REQUEST,id:s,body:{type:e,data:t??{}}},"*"),n.timeout&&setTimeout(()=>{window.removeEventListener("message",a),u(new Error(`Admin did not respond in the timeframe of ${n.timeout}ms. Check the handler on the Admin side.`))},n.timeout)})}const f={};function dr(e,t){f[e]||(f[e]=[]),f[e]?.push(t)}function fr(e,t){f[e]&&(f[e]=f[e]?.filter(n=>n!==t))}window.addEventListener("message",function(t){if(t.data.type!==ae)return;const n=f[t.data.body.type];n&&n.forEach(r=>r(t.data.body.data))});function lr(){return cr(ce.GET_ENV)}const _r=Object.freeze(Object.defineProperty({__proto__:null,get_env:lr},Symbol.toStringTag,{value:"Module"})),gr="PITCHER_EVENT";var de=(e=>(e.REQUEST="PITCHER_REQUEST",e.RESPONSE="PITCHER_RESPONSE",e))(de||{}),fe=(e=>(e.OK="ok",e.ERROR="error",e))(fe||{}),le=(e=>(e.ENV_CHANGED="env_changed",e.PHOTOS_CAPTURED="photos_captured",e.FILE_DOWNLOADED="file_downloaded",e.FILE_UPLOAD_PROGRESS="file_upload_progress",e.UPDATE_LOCATION="update_location",e.CANVAS_UPDATED="canvas_updated",e))(le||{}),_e=(e=>(e.UI_SHOW_MODAL="ui:show-modal",e.UI_HIDE_MODAL="ui:hide-modal",e.FAVORITES_CHANGED="favorites:changed",e.FILE_DOWNLOAD="file:download",e))(_e||{}),ge=(e=>(e.OPEN_CANVAS="open_canvas",e.START_CALL="start_call",e))(ge||{});o.highLevelApi=void 0;function Ar(e){return o.highLevelApi||(o.highLevelApi=er(e)),o.highLevelApi}const hr={...ir,on:ur,off:or};function Er(){return hr}const pr={..._r,on:dr,off:fr};function br(){return pr}o.ADMIN_API_METHOD_TYPES=ce,o.ADMIN_API_TYPES=P,o.ADMIN_MESSAGE=ae,o.ADMIN_MESSAGE_TYPES=ar,o.PITCHER_EVENT=gr,o.PitcherBroadcastedEventName=_e,o.PitcherEventName=le,o.PitcherExternalEventName=ge,o.PitcherMessageType=de,o.PitcherResponseStatus=fe,o.UI_API_METHOD_TYPES=ie,o.UI_API_TYPES=y,o.UI_MESSAGE=se,o.UI_MESSAGE_TYPES=tr,o.useAdmin=br,o.usePitcherApi=Ar,o.useUi=Er,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
2
+ //# sourceMappingURL=js-api.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-api.umd.min.js","sources":["../../src/lib/sdk/api/modules/webview.ts","../../src/lib/sdk/api/modules/env.ts","../../src/lib/sdk/api/modules/languages.ts","../../src/lib/sdk/api/modules/events.ts","../../src/lib/sdk/api/modules/canvas.ts","../../src/lib/sdk/api/modules/files.ts","../../src/lib/sdk/api/modules/search.ts","../../src/lib/sdk/api/modules/users.ts","../../src/lib/sdk/api/modules/connections.ts","../../src/lib/sdk/api/modules/pspdfkit.ts","../../src/lib/sdk/api/modules/toast.ts","../../src/lib/sdk/api/modules/query.ts","../../src/lib/sdk/api/modules/folders.ts","../../src/lib/sdk/api/modules/favorites.ts","../../src/lib/sdk/api/modules/notifications.ts","../../src/lib/sdk/api/modules/track.ts","../../src/lib/sdk/api/modules/metadataTemplates.ts","../../src/lib/sdk/utils/eventEmitter.ts","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../src/lib/sdk/utils/assert.ts","../../node_modules/lodash-es/_freeGlobal.js","../../node_modules/lodash-es/_root.js","../../node_modules/lodash-es/_Symbol.js","../../node_modules/lodash-es/_getRawTag.js","../../node_modules/lodash-es/_objectToString.js","../../node_modules/lodash-es/_baseGetTag.js","../../node_modules/lodash-es/isObjectLike.js","../../node_modules/lodash-es/isSymbol.js","../../node_modules/lodash-es/_arrayMap.js","../../node_modules/lodash-es/isArray.js","../../node_modules/lodash-es/_baseToString.js","../../node_modules/lodash-es/toString.js","../../node_modules/lodash-es/_baseSlice.js","../../node_modules/lodash-es/_castSlice.js","../../node_modules/lodash-es/_hasUnicode.js","../../node_modules/lodash-es/_asciiToArray.js","../../node_modules/lodash-es/_unicodeToArray.js","../../node_modules/lodash-es/_stringToArray.js","../../node_modules/lodash-es/_createCaseFirst.js","../../node_modules/lodash-es/upperFirst.js","../../node_modules/lodash-es/capitalize.js","../../node_modules/lodash-es/_arrayReduce.js","../../node_modules/lodash-es/_basePropertyOf.js","../../node_modules/lodash-es/_deburrLetter.js","../../node_modules/lodash-es/deburr.js","../../node_modules/lodash-es/_asciiWords.js","../../node_modules/lodash-es/_hasUnicodeWord.js","../../node_modules/lodash-es/_unicodeWords.js","../../node_modules/lodash-es/words.js","../../node_modules/lodash-es/_createCompounder.js","../../node_modules/lodash-es/camelCase.js","../../node_modules/lodash-es/snakeCase.js","../../src/lib/util/casing.ts","../../src/lib/sdk/api/LowLevelApi.ts","../../src/lib/sdk/api/HighLevelApi.ts","../../src/lib/sdk/api/modules/ui/types.ui.ts","../../src/lib/sdk/api/UiApi.ts","../../src/lib/sdk/api/modules/ui/sfdc.ui.ts","../../src/lib/sdk/api/modules/admin/types.admin.ts","../../src/lib/sdk/api/AdminApi.ts","../../src/lib/sdk/api/modules/admin/env.admin.ts","../../src/lib/sdk/interfaces.ts","../../src/lib/sdk/main.ts"],"sourcesContent":["import type { OpenWebviewPayload } from '@sdk/payload.types'\n\nexport function open(payload: OpenWebviewPayload = {}): Promise<string> {\n return this.API.request('open', payload)\n}\n","import type { PitcherEnv } from '@sdk/interfaces'\nimport type { User } from '@openapi'\n\nexport function getEnv(): Promise<PitcherEnv> {\n return this.API.request('get_env')\n}\n\ntype UpdateEnvParams = Pick<User, 'language' | 'dark_mode'>\n\nexport function updateMyUser(payload: UpdateEnvParams): Promise<User> {\n return this.API.request('update_my_user', payload)\n}\n","export type Language = [\n string, // key\n string, // name\n]\n\n/**\n * Fetches available languages for the logged-in user\n */\nexport function getLanguages(): Promise<Language[]> {\n return this.API.request('get_languages')\n}\n","import { highLevelApi } from '@sdk/main'\nimport type { PaginatedData } from '@lib/types/paginatedData'\nimport type { Event, EventRequest, PatchedEventRequest } from '@openapi'\n\nexport function getEvents(payload: Partial<EventRequest>): Promise<PaginatedData<Event>> {\n return highLevelApi.API.request('get_events', payload)\n}\n\nexport function createEvent(payload: EventRequest): Promise<Event> {\n return highLevelApi.API.request('create_event', payload)\n}\n\nexport function updateEvent(payload: PatchedEventRequest): Promise<Event> {\n return highLevelApi.API.request('update_event', payload)\n}\n\nexport function deleteEvent(payload: Partial<Event>): Promise<void> {\n return highLevelApi.API.request('delete_event', payload)\n}\n","import type { Canvas, CanvasCreateRequest, PatchedCanvasUpdateRequest, SharedLink } from '@openapi'\nimport type { GetCanvasesParams } from '@lib/types/canvases'\nimport type { PaginatedData } from '@lib/types/paginatedData'\n\nexport function getCanvases(payload: GetCanvasesParams): Promise<PaginatedData<Canvas>> {\n return this.API.request('get_canvases', payload)\n}\n\nexport function createCanvas(payload: CanvasCreateRequest): Promise<Canvas> {\n return this.API.request('create_canvas', payload)\n}\n\nexport function deleteCanvas(payload: { id: Canvas['id'] }): Promise<Canvas> {\n return this.API.request('delete_canvas', payload)\n}\n\nexport function updateCanvas(\n payload: PatchedCanvasUpdateRequest & { id: Canvas['id']; instance_id?: Canvas['instance']['id'] },\n): Promise<Canvas> {\n return this.API.request('update_canvas', payload)\n}\n\nexport function getCanvas(payload: { id: Canvas['id'] }): Promise<Canvas> {\n return this.API.request('get_canvas', payload)\n}\n\nexport function shareCanvas(payload: { id: Canvas['id'] }): Promise<SharedLink> {\n return this.API.request('share_canvas', payload)\n}\n","import type { File, FileRetrieve, PaginatedFileList } from '@openapi'\nimport type { ListFilesPayload } from '@sdk/payload.types'\nimport type { AllFileCreateRequest, DeviceFile } from '@lib/types/files'\n\nexport function getFiles(payload: ListFilesPayload): Promise<PaginatedFileList> {\n const p = { ...payload }\n\n if (p.type) {\n p.type = Array.isArray(p.type) ? p.type : [p.type]\n }\n\n if (p.content_type) {\n p.content_type = Array.isArray(p.content_type) ? p.content_type : [p.content_type]\n }\n\n return this.API.request('get_files', p)\n}\n\nexport function downloadFile(payload: { file_id: File['id'] }): Promise<null> {\n return this.API.request('download_file', payload)\n}\n\nexport function getAppConfig(payload: { app_name: string }): Promise<Record<string, any>> {\n return this.API.request('get_app_config', payload)\n}\n\nexport function getFile(payload: { file_id: FileRetrieve['id'] }): Promise<FileRetrieve> {\n return this.API.request('get_file', payload)\n}\n\nexport function deleteFile(payload: { file_id: File['id'] }): Promise<File['id']> {\n return this.API.request('delete_file', payload)\n}\n\nexport function createFile(payload: Omit<AllFileCreateRequest, 'instance_id'>): Promise<File> {\n return this.API.request('create_file', payload)\n}\n\nexport function selectDeviceFile(): Promise<DeviceFile> {\n return this.API.request('select_device_file')\n}\n","import type { Instance } from '@openapi'\n\nexport function search(payload: { instance_id: Instance['id']; query: string }): Promise<any> {\n return this.API.request('search', payload)\n}\n","import type { GetUsersParams } from '@lib/types/users'\nimport type { User } from '@openapi'\n\nexport function getUsers(payload?: GetUsersParams): Promise<User[]> {\n return this.API.request('get_users', payload)\n}\n","import type { ConnectedService, Connection } from '@openapi'\n\nexport function getService(payload: { name: ConnectedService['name'] }): Promise<ConnectedService> {\n return this.API.request('getService', payload)\n}\n\nexport function refreshServiceToken(payload: {\n name: ConnectedService['name']\n}): Promise<Pick<ConnectedService, 'access_token'>> {\n return this.API.request('refresh_service_token', payload)\n}\n\ntype ConnectionList = (Connection & { is_connected: boolean })[]\n\nexport function getConnections(): Promise<ConnectionList> {\n return this.API.request('get_connections')\n}\n\nexport function connectionLogin(payload: { name: ConnectedService['name'] }): Promise<Connection> {\n return this.API.request('connection_login', payload)\n}\n\nexport function connectionLogout(payload: { name: ConnectedService['name'] }): Promise<Connection> {\n return this.API.request('connection_logout', payload)\n}\n","import type { File } from '@openapi'\n\nexport function fetchDocumentInfo(payload: { fileId: File['id'] }): Promise<{\n pageCount: number\n [key: string]: unknown\n}> {\n return this.API.request('fetch_document_info', payload)\n}\n\nexport function renderPageAsImage(payload: {\n fileId: File['id']\n pageNumber: number\n params: { width: number } | { height: number }\n}): Promise<ArrayBuffer> {\n return this.API.request('render_page_as_image', payload)\n}\n","export function toast(payload: { type: string; message: string }): Promise<void> {\n return this.API.request('toast', payload)\n}\n","import { highLevelApi } from '@sdk/main'\nimport type { QueryPayload } from '@sdk/payload.types'\n\nexport function query(payload: QueryPayload) {\n return highLevelApi.API.request('query', payload)\n}\n","import type { File, Folder, FolderRetrieve, FolderCreateRequest, FolderUpdateRequest } from '@openapi'\n\nexport function getFolder(payload: { id: FolderRetrieve['id'] } = { id: 'root' }): Promise<FolderRetrieve> {\n return this.API.request('get_folder', payload)\n}\n\nexport function createFolder(payload: Omit<FolderCreateRequest, 'instance_id'>): Promise<FolderRetrieve> {\n return this.API.request('create_folder', payload)\n}\n\ntype UpdateFolderPayload = FolderUpdateRequest & { id: Folder['id'] }\n\nexport function updateFolder(payload: UpdateFolderPayload): Promise<FolderRetrieve> {\n return this.API.request('update_folder', payload)\n}\n\nexport function deleteFolder(payload: { folder_id: FolderRetrieve['id'] }): Promise<void> {\n return this.API.request('delete_folder', payload)\n}\n\nexport function moveFolderItems(payload: {\n target_folder_id: Folder['id']\n items: { id: File['id'] | Folder['id']; type: 'folder' | 'file' }[]\n}): Promise<FolderRetrieve> {\n return this.API.request('move_folder_items', payload)\n}\n","import type { Favorite, FavoriteCreateRequest, PaginatedFavoriteList } from '@openapi'\nimport type { GetFavoritesParams } from '@lib/types/favorites'\n\nexport function getFavorites(payload?: GetFavoritesParams): Promise<PaginatedFavoriteList> {\n return this.API.request('get_favorites', payload)\n}\n\nexport function createFavorite(payload: FavoriteCreateRequest): Promise<Favorite> {\n return this.API.request('create_favorite', payload)\n}\n\nexport function deleteFavorite(payload: { favorite_id: Favorite['id'] }): Promise<void> {\n return this.API.request('delete_favorite', payload)\n}\n","import { highLevelApi } from '@sdk/main'\nimport type { NotificationPayload } from '@sdk/payload.types'\n\nexport function notify(payload: NotificationPayload): Promise<void> {\n if (!payload.type) {\n payload.type = 'native'\n }\n\n return highLevelApi.API.request('notify', payload)\n}\n","import { highLevelApi } from '@sdk/main'\n\nexport function track(payload: { event_name: string; payload: any }) {\n return highLevelApi.API.request('track', payload)\n}\n","import type { PaginatedMetadataTemplateList } from '@openapi'\nimport type { GetInstanceMetadataTemplatesPayload } from '@sdk/payload.types'\n\nexport function getInstanceMetadataTemplates(\n payload?: GetInstanceMetadataTemplatesPayload,\n): Promise<PaginatedMetadataTemplateList> {\n return this.API.request('get_instance_metadata_templates', payload)\n}\n","type EventMap = Record<string, any>\n\ntype EventKey<KeyMap extends EventMap> = string & keyof KeyMap\ntype EventReceiver<KeyMap> = (params: KeyMap) => void\n\nexport interface Emitter<KeyMap extends EventMap> {\n on<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void\n off<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void\n emit<Key extends EventKey<KeyMap>>(eventName: Key, params: KeyMap[Key]): void\n}\n\nexport class EventEmitter<KeyMap extends EventMap> implements Emitter<KeyMap> {\n listeners: {\n [Key in keyof EventMap]?: ((p: EventMap[Key]) => void)[]\n } = {}\n on<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void {\n this.listeners[eventName] = (this.listeners[eventName] ?? []).concat(fn)\n }\n off<Key extends EventKey<KeyMap>>(eventName: Key, fn: EventReceiver<KeyMap[Key]>): void {\n this.listeners[eventName] = (this.listeners[eventName] ?? []).filter((f) => f !== fn)\n }\n emit<Key extends EventKey<KeyMap>>(eventName: Key, data?: KeyMap[Key]): void {\n ;(this.listeners[eventName] ?? []).forEach((fn) => fn(data))\n }\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","export class AssertionError extends Error {}\n\nexport function assert(exp: boolean, message: string) {\n if (!exp) {\n throw new AssertionError(message)\n }\n}\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","import baseSlice from './_baseSlice.js';\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nexport default castSlice;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nexport default hasUnicode;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nexport default asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nexport default unicodeToArray;\n","import asciiToArray from './_asciiToArray.js';\nimport hasUnicode from './_hasUnicode.js';\nimport unicodeToArray from './_unicodeToArray.js';\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nexport default stringToArray;\n","import castSlice from './_castSlice.js';\nimport hasUnicode from './_hasUnicode.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nexport default createCaseFirst;\n","import createCaseFirst from './_createCaseFirst.js';\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nexport default upperFirst;\n","import toString from './toString.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nexport default capitalize;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default basePropertyOf;\n","import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nexport default deburrLetter;\n","import deburrLetter from './_deburrLetter.js';\nimport toString from './toString.js';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nexport default deburr;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nexport default asciiWords;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nexport default hasUnicodeWord;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nexport default unicodeWords;\n","import asciiWords from './_asciiWords.js';\nimport hasUnicodeWord from './_hasUnicodeWord.js';\nimport toString from './toString.js';\nimport unicodeWords from './_unicodeWords.js';\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nexport default words;\n","import arrayReduce from './_arrayReduce.js';\nimport deburr from './deburr.js';\nimport words from './words.js';\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nexport default createCompounder;\n","import capitalize from './capitalize.js';\nimport createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nexport default camelCase;\n","import createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\nvar snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n});\n\nexport default snakeCase;\n","import { snakeCase, camelCase, startCase } from 'lodash-es'\n\nconst defaultSkipKeys = [\n 'id__in',\n 'modified_at__gtr',\n 'created_at__gtr',\n 'end_at__lt',\n 'start_at__gt',\n 'account__id',\n 'end_at__gt',\n 'end_at__range',\n 'start_at__lt',\n 'start_at__range',\n 'external_objects__connection_id',\n 'external_objects__content_type',\n 'external_objects__external_content_type',\n 'external_objects__external_object_id',\n]\n\nconst defaultSkipObjectKeys = ['context']\n\nexport const camelCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => camelCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const newKey = skipKeys.includes(key) || skipObjectKeys.includes(key) ? key : camelCase(key)\n const value = skipObjectKeys.includes(key)\n ? (obj as any)[key]\n : camelCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const snakeCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => snakeCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const newKey = skipKeys.includes(key) || skipObjectKeys.includes(key) ? key : snakeCase(key)\n const value = skipObjectKeys.includes(key)\n ? (obj as any)[key]\n : snakeCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const pascalCaseKeys = <T>(obj: T, skipKeys = defaultSkipKeys, skipObjectKeys = defaultSkipObjectKeys): T => {\n if (Array.isArray(obj)) {\n return obj.map((v) => pascalCaseKeys(v, skipKeys, skipObjectKeys)) as T\n } else if (obj != null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const newKey = skipKeys.includes(key) || skipObjectKeys.includes(key) ? key : titleCase(key).replace(/ /g, '')\n const value = skipObjectKeys.includes(key)\n ? (obj as any)[key]\n : pascalCaseKeys((obj as any)[key], skipKeys, skipObjectKeys)\n return { ...result, [newKey]: value }\n }, {}) as T\n }\n\n return obj\n}\n\nexport const titleCase = (s?: string) => startCase(camelCase(s))\n","import { v4 as uuid } from 'uuid'\nimport type { ApiEventMap, PitcherAPI, PitcherEvent, PitcherResponse, ApiOptions } from '../interfaces'\nimport { EventEmitter } from '../utils/eventEmitter'\nimport { assert } from '../utils/assert'\nimport { snakeCaseKeys, camelCaseKeys } from '@lib/util/casing'\n\nexport class LowLevelApi extends EventEmitter<ApiEventMap> implements PitcherAPI {\n constructor(options?: ApiOptions) {\n super()\n this.callbacks = {}\n this.options = options ?? { casing: 'snake', logLevel: 'off' }\n\n if (typeof window !== 'undefined') {\n window.addEventListener('message', (event) => {\n this.options.logLevel === 'debug' && console.log('message received', event)\n if (event.data.type === 'PITCHER_RESPONSE') {\n assert(event.data.request.id, 'event id is required')\n this.handleCallbackMessage(event.data.request.id, event.data)\n } else if (event.data.type === 'PITCHER_EVENT') {\n this.handleEventMessage(this.options.casing === 'camel' ? camelCaseKeys(event.data.event) : event.data.event)\n }\n })\n\n this.request('subscribe') // subscribe to events\n }\n }\n\n callbacks: {\n [k: string]: { callback: (res: PitcherResponse) => void; dispatched_at: number; type: string; payload: object }\n }\n\n private options: ApiOptions\n\n private handleCallbackMessage(id: string, body: PitcherResponse) {\n if (this.callbacks[id]) {\n this.callbacks[id].callback(body)\n // metrics\n this.options.logLevel &&\n ['info', 'debug'].includes(this.options.logLevel) &&\n console.log(\n `It took ${Date.now() - this.callbacks[id].dispatched_at} ms for the event ${this.callbacks[id].type}`,\n )\n // cleanup\n delete this.callbacks[id]\n }\n }\n\n private handleEventMessage(event: PitcherEvent) {\n this.emit('event', event)\n }\n\n public request(type: string, body: object | null = null): Promise<any> {\n return new Promise((resolve, reject) => {\n const id = uuid()\n const callback = (res: PitcherResponse) => {\n this.options.logLevel === 'debug' && console.log(`Callback ${id} response:`, res)\n if (res.response.status === 'ok') {\n resolve(\n (this.options.casing === 'camel' ? camelCaseKeys(res.response.body) : res.response.body) as PitcherResponse,\n )\n } else if (res.response.status === 'error') {\n reject(this.options.casing === 'camel' ? camelCaseKeys(res.response.body) : res.response.body)\n } else {\n throw new Error('unsupported response status')\n }\n }\n const payload = snakeCaseKeys(body) // always snake case for impact\n\n this.callbacks[id] = {\n dispatched_at: Date.now(),\n type,\n payload: payload ?? {},\n callback,\n }\n\n // always post to top ancestor window\n if (typeof window !== 'undefined' && window.top) {\n window.top.postMessage(\n {\n type: 'PITCHER_REQUEST',\n request: {\n type,\n id,\n body: payload,\n },\n },\n '*',\n )\n }\n })\n }\n}\n","import * as modules from '@sdk/api/modules'\nimport { EventEmitter } from '@sdk/utils/eventEmitter'\nimport { LowLevelApi } from '@sdk/api/LowLevelApi'\nimport type { PitcherEvent, ApiOptions } from '@sdk/interfaces'\n\nexport function createHighLevelApi(options?: ApiOptions) {\n const API = new LowLevelApi(options)\n const eventEmitter = new EventEmitter()\n\n API.on('event', (event: PitcherEvent) => {\n eventEmitter.emit(event.type, event.body)\n })\n\n return {\n API,\n ...modules,\n on: (type: string, callback: (payload: PitcherEvent) => void) => eventEmitter.on(type, callback),\n off: (type: string, callback: (payload: PitcherEvent) => void) => eventEmitter.off(type, callback),\n quitInstance: () => API.request('quit_instance'),\n getRequestTypes: () => API.request('get_request_types'),\n broadcast: (event: PitcherEvent) => API.request('broadcast', event),\n subscribe: () => API.request('subscribe'),\n unsubscribe: () => API.request('unsubscribe'),\n }\n}\n","import type { CanvasRetrieve, FileRetrieve } from '@openapi'\n\nexport const UI_MESSAGE = 'UI_MESSAGE' as const\n\nexport const UI_API_TYPES = {\n UI_REQUEST: 'UI_REQUEST',\n UI_RESPONSE: 'UI_RESPONSE',\n} as const\n\nexport const UI_API_METHOD_TYPES = {\n SFDC_QUERY: 'sfdc_query',\n SFDC_ENTITY: 'sfdc_entity',\n} as const\n\nexport const UI_MESSAGE_TYPES = {\n CANVAS_UPDATED: 'canvas_updated',\n FILE_UPDATED: 'file_updated',\n} as const\n\nexport type UiRequest<Payload = any> = {\n id: string\n type: (typeof UI_API_TYPES)['UI_REQUEST']\n body: {\n type: (typeof UI_API_METHOD_TYPES)[keyof typeof UI_API_METHOD_TYPES]\n data: Payload\n }\n}\n\nexport type UiResponse<Response = any> = {\n id: string\n type: (typeof UI_API_TYPES)['UI_RESPONSE']\n body: Response\n}\n\nexport type UiMessage<Payload = any> = {\n id: string\n type: typeof UI_MESSAGE\n body: {\n type: (typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES]\n data: Payload\n }\n}\n\n// Message payloads from the UI iframe\nexport type UiMessagePayloads = {\n [UI_MESSAGE_TYPES.CANVAS_UPDATED]: CanvasRetrieve\n [UI_MESSAGE_TYPES.FILE_UPDATED]: FileRetrieve\n}\n","import { v4 as uuidv4 } from 'uuid'\nimport {\n UI_MESSAGE,\n UI_API_TYPES,\n type UiMessagePayloads,\n type UI_MESSAGE_TYPES,\n type UI_API_METHOD_TYPES,\n type UiResponse,\n type UiMessage,\n} from '@lib/sdk/api/modules/ui/types.ui'\n\n/**\n * @description Request / response api for the UI\n */\nexport interface UiPromiseOptions {\n timeout?: number\n}\n\nexport function uiPromise<Payload = any, ExpectedReturn = any>(\n method: (typeof UI_API_METHOD_TYPES)[keyof typeof UI_API_METHOD_TYPES],\n data: Payload,\n options: UiPromiseOptions = { timeout: 10000 },\n): Promise<ExpectedReturn> {\n return new Promise((resolve, reject) => {\n const id = uuidv4()\n const listener = (event: MessageEvent<UiResponse<ExpectedReturn>>) => {\n if (event.data.type === UI_API_TYPES.UI_RESPONSE && event.data.id === id) {\n window.removeEventListener('message', listener)\n resolve(event.data.body)\n }\n }\n window.addEventListener('message', listener)\n window.parent.postMessage(\n {\n type: UI_API_TYPES.UI_REQUEST,\n id,\n body: {\n type: method,\n data,\n },\n },\n '*',\n )\n\n options.timeout &&\n setTimeout(() => {\n window.removeEventListener('message', listener)\n reject(\n new Error(`UI did not respond in the timeframe of ${options.timeout}ms. Check the handler on the UI side.`),\n )\n }, options.timeout)\n })\n}\n\n/**\n * @description Event bus api for the UI\n */\n\nconst eventHandlers: Partial<\n Record<(typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES], ((data: any) => void)[]>\n> = {}\n\nfunction handleMessage(event: MessageEvent<UiMessage>): void {\n if (event.data.type !== UI_MESSAGE) return\n\n const handlers = eventHandlers[event.data.body.type]\n if (handlers) {\n handlers.forEach((handler) => handler(event.data.body.data))\n }\n}\n\nexport function on(\n eventName: (typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES],\n handler: (data: UiMessagePayloads[(typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES]]) => void,\n) {\n if (!eventHandlers[eventName]) {\n eventHandlers[eventName] = []\n }\n\n eventHandlers[eventName]?.push(handler)\n}\n\nexport function off(\n eventName: (typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES],\n handler: (data: UiMessagePayloads[(typeof UI_MESSAGE_TYPES)[keyof typeof UI_MESSAGE_TYPES]]) => void,\n) {\n if (!eventHandlers[eventName]) {\n return\n }\n eventHandlers[eventName] = eventHandlers[eventName]?.filter((h) => h !== handler)\n}\n\nwindow.addEventListener('message', handleMessage)\n\n// Handler for the parent window\n// window.addEventListener('message', (event) => {\n// if (event.data.type === 'UI_REQUEST' && event.data.body.type === 'SFDC_QUERY') {\n// // Handle the request and post a response\n// // The response should have the same type and id as the request\n// // The body of the response should contain the data returned from the SFDC query\n// event.source.postMessage({\n// type: 'UI_RESPONSE',\n// id: event.data.id,\n// body: { /* response data */ }\n// }, '*')\n// }\n// })\n\n// in umd it would be called like:\n// pitcher.useUi().sfdc_query({ query: 'SELECT Id, Name FROM Account' }, { timeout: 10000 }).then((accountData) => {\n// do something with the account data\n// })\n","import { uiPromise, type UiPromiseOptions } from '@sdk/api/UiApi'\nimport { UI_API_METHOD_TYPES } from '@sdk/api/modules/ui/types.ui'\n\ntype SfdcQueryPayload = {\n query: string\n}\n\ntype SfdcQueryResponse<EntitySchema = any> = {\n records: EntitySchema[]\n}\n\nexport function sfdc_query<EntitySchema>(data: SfdcQueryPayload, options?: UiPromiseOptions) {\n return uiPromise<SfdcQueryPayload, SfdcQueryResponse<EntitySchema>>(UI_API_METHOD_TYPES.SFDC_QUERY, data, options)\n}\n","import type { Instance, User } from '@openapi'\n\nexport const ADMIN_MESSAGE = 'ADMIN_MESSAGE' as const\n\nexport const ADMIN_MESSAGE_TYPES = {\n ENV_CHANGED: 'env_changed',\n} as const\n\nexport const ADMIN_API_TYPES = {\n ADMIN_REQUEST: 'ADMIN_REQUEST',\n ADMIN_RESPONSE: 'ADMIN_RESPONSE',\n} as const\n\nexport const ADMIN_API_METHOD_TYPES = {\n GET_ENV: 'get_env',\n} as const\n\nexport type AdminMessagePayloads = {\n [ADMIN_MESSAGE_TYPES.ENV_CHANGED]: AdminEnv\n}\n\nexport type AdminRequest<Payload = any> = {\n id: string\n type: (typeof ADMIN_API_TYPES)['ADMIN_REQUEST']\n body: {\n type: (typeof ADMIN_API_METHOD_TYPES)[keyof typeof ADMIN_API_METHOD_TYPES]\n data: Payload\n }\n}\n\nexport type AdminResponse<Response = any> = {\n id: string\n type: (typeof ADMIN_API_TYPES)['ADMIN_RESPONSE']\n body: Response\n}\n\nexport type AdminMessage<Payload = any> = {\n id: string\n type: typeof ADMIN_MESSAGE\n body: {\n type: (typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES]\n data: Payload\n }\n}\n\n// TODO: Request / message payloads to the admin iframe\n\n// Responses / message payloads from the admin iframe\nexport type AdminEnv = {\n user: User\n token_claims: Record<string, any>\n instance: Instance\n}\n","import { v4 as uuidv4 } from 'uuid'\n\nimport {\n ADMIN_MESSAGE,\n ADMIN_API_TYPES,\n type AdminMessagePayloads,\n type ADMIN_MESSAGE_TYPES,\n type ADMIN_API_METHOD_TYPES,\n type AdminResponse,\n type AdminMessage,\n} from '@lib/sdk/api/modules/admin/types.admin'\n\n/**\n * @description Request / response api for the Admin\n */\nexport interface AdminPromiseOptions {\n timeout?: number\n}\n\nexport function adminPromise<Payload = any, ExpectedReturn = any>(\n method: (typeof ADMIN_API_METHOD_TYPES)[keyof typeof ADMIN_API_METHOD_TYPES],\n data?: Payload,\n options: AdminPromiseOptions = { timeout: 10000 },\n): Promise<ExpectedReturn> {\n return new Promise((resolve, reject) => {\n const id = uuidv4()\n const listener = (event: MessageEvent<AdminResponse<ExpectedReturn>>) => {\n if (event.data.type === ADMIN_API_TYPES.ADMIN_RESPONSE && event.data.id === id) {\n window.removeEventListener('message', listener)\n resolve(event.data.body)\n }\n }\n window.addEventListener('message', listener)\n window.parent.postMessage(\n {\n type: ADMIN_API_TYPES.ADMIN_REQUEST,\n id,\n body: {\n type: method,\n data: data ?? {},\n },\n },\n '*',\n )\n\n options.timeout &&\n setTimeout(() => {\n window.removeEventListener('message', listener)\n reject(\n new Error(\n `Admin did not respond in the timeframe of ${options.timeout}ms. Check the handler on the Admin side.`,\n ),\n )\n }, options.timeout)\n })\n}\n\n/**\n * @description Event bus api for the Admin\n */\nconst eventHandlers: Partial<\n Record<(typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES], ((data: any) => void)[]>\n> = {}\n\nexport function on(\n eventName: (typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES],\n handler: (data: AdminMessagePayloads[(typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES]]) => void,\n) {\n if (!eventHandlers[eventName]) {\n eventHandlers[eventName] = []\n }\n\n eventHandlers[eventName]?.push(handler)\n}\n\nexport function off(\n eventName: (typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES],\n handler: (data: AdminMessagePayloads[(typeof ADMIN_MESSAGE_TYPES)[keyof typeof ADMIN_MESSAGE_TYPES]]) => void,\n) {\n if (!eventHandlers[eventName]) return\n\n eventHandlers[eventName] = eventHandlers[eventName]?.filter((h) => h !== handler)\n}\n\nwindow.addEventListener('message', function handleMessage(event: MessageEvent<AdminMessage>): void {\n if (event.data.type !== ADMIN_MESSAGE) return\n\n const handlers = eventHandlers[event.data.body.type]\n if (handlers) {\n handlers.forEach((handler) => handler(event.data.body.data))\n }\n})\n\n// Handler for the parent window\n// window.addEventListener('message', (event) => {\n// if (event.data.type === 'ADMIN_REQUEST' && event.data.body.type === 'GET_ENV') {\n// // Handle the request and post a response\n// // The response should have the same type and id as the request\n// // The body of the response should contain the data returned from the GET_ENV query\n// event.source.postMessage({\n// type: 'ADMIN_RESPONSE',\n// id: event.data.id,\n// body: { /* response data */ }\n// }, '*')\n// }\n// })\n\n// in umd it would be called like:\n// pitcher.useAdmin().get_env().then((env) => {\n// do something with the env data\n// })\n","import { adminPromise } from '@sdk/api/AdminApi'\nimport { ADMIN_API_METHOD_TYPES, type AdminEnv } from '@lib/sdk/api/modules/admin/types.admin'\n\nexport function get_env() {\n return adminPromise<void, AdminEnv>(ADMIN_API_METHOD_TYPES.GET_ENV)\n}\n","import type { Emitter } from './utils/eventEmitter'\nimport type { Favorite, File, Instance, User } from '@openapi'\nimport type { PaginatedData } from '@lib/types/paginatedData'\n\nexport const PITCHER_EVENT = 'PITCHER_EVENT' as const\nexport enum PitcherMessageType {\n REQUEST = 'PITCHER_REQUEST',\n RESPONSE = 'PITCHER_RESPONSE',\n}\nexport enum PitcherResponseStatus {\n OK = 'ok',\n ERROR = 'error',\n}\n\nexport interface PitcherMessage {\n type: typeof PITCHER_EVENT\n request: {\n id: string\n type: string\n body?: Record<string, any>\n }\n}\n\nexport interface ApiOptions {\n logLevel?: 'off' | 'info' | 'debug'\n casing?: 'camel' | 'snake'\n}\n\nexport interface PitcherEnv {\n mode: 'WEB' | 'IOS' | 'WINDOWS' | 'ANDROID'\n pitcher: {\n token_claims: Record<string, any>\n instance: Instance\n user: User\n }\n deviceId: string\n}\n\nexport interface PitcherAPI extends Emitter<ApiEventMap> {\n request(type: string, body: any, callback: () => any): Promise<PitcherResponse>\n}\n\nexport interface PitcherInterface extends Emitter<PitcherEventMap> {\n API: PitcherAPI\n}\n\nexport interface PitcherResponse {\n type: PitcherMessageType.RESPONSE\n request: {\n id: string\n type: string\n }\n response: {\n status: PitcherResponseStatus\n body?: Record<string, any>\n }\n}\n\nexport interface OpenCanvasPitcherEvent {\n account_id?: string\n account_name?: string\n canvas_id?: string\n edit_mode?: 'true' | 'false'\n}\n\nexport interface StartCallPitcherEvent {\n account?: { id: string; name: string }\n canvas_id?: string\n edit_mode?: 'true' | 'false'\n post_action?: string\n post_action_path?: string\n}\n\nexport enum PitcherEventName {\n ENV_CHANGED = 'env_changed',\n PHOTOS_CAPTURED = 'photos_captured',\n FILE_DOWNLOADED = 'file_downloaded',\n FILE_UPLOAD_PROGRESS = 'file_upload_progress',\n UPDATE_LOCATION = 'update_location',\n CANVAS_UPDATED = 'canvas_updated',\n}\n\nexport enum PitcherBroadcastedEventName {\n UI_SHOW_MODAL = 'ui:show-modal',\n UI_HIDE_MODAL = 'ui:hide-modal',\n FAVORITES_CHANGED = 'favorites:changed',\n FILE_DOWNLOAD = 'file:download',\n}\n\nexport enum PitcherExternalEventName {\n OPEN_CANVAS = 'open_canvas',\n START_CALL = 'start_call',\n}\n\ninterface UpdateLocation {\n action: string\n}\n\nexport interface LocationRoute {\n path: string\n is_restoring: boolean\n is_mounted: boolean\n}\n\nexport type LocationRoutes = Record<string, LocationRoute>\n\nexport interface UpdateLocationOnRegister extends UpdateLocation {\n action: 'register'\n child_app: string\n parent_app?: string\n}\n\nexport interface UpdateLocationOnUnregister extends UpdateLocation {\n action: 'unregister'\n app: string\n}\n\nexport interface UpdateLocationOnUpdate extends UpdateLocation {\n action: 'update'\n routes: Record<string, Omit<LocationRoute, 'is_restoring' | 'is_mounted'>>\n}\n\nexport interface UpdateLocationOnMounted extends UpdateLocation {\n action: 'mounted'\n app: string\n}\n\nexport interface UpdateLocationOnRestore extends UpdateLocation {\n action: 'restore'\n routes: Record<string, Omit<LocationRoute, 'is_mounted'>>\n}\n\nexport interface UpdateLocationOnRestoreCompleted extends UpdateLocation {\n action: 'restore_completed'\n app: string\n}\n\nexport type UpdateLocationPitcherEvent =\n | UpdateLocationOnUnregister\n | UpdateLocationOnRestore\n | UpdateLocationOnUpdate\n | UpdateLocationOnRegister\n | UpdateLocationOnRestoreCompleted\n | UpdateLocationOnMounted\n\nexport interface PitcherEventMap {\n [PitcherEventName.ENV_CHANGED]: PitcherEnv\n [PitcherEventName.PHOTOS_CAPTURED]: void\n [PitcherEventName.FILE_DOWNLOADED]: File\n [PitcherEventName.FILE_UPLOAD_PROGRESS]: { upload_uid: string; progress: number }\n [PitcherEventName.CANVAS_UPDATED]: Record<string, any>\n [PitcherEventName.UPDATE_LOCATION]: UpdateLocationPitcherEvent\n // broadcasted requests\n [PitcherBroadcastedEventName.UI_SHOW_MODAL]: void\n [PitcherBroadcastedEventName.UI_HIDE_MODAL]: void\n [PitcherBroadcastedEventName.FAVORITES_CHANGED]: { body: PaginatedData<Favorite> }\n [PitcherBroadcastedEventName.FILE_DOWNLOAD]: { body: File['id'] }\n // external link events\n [PitcherExternalEventName.OPEN_CANVAS]: OpenCanvasPitcherEvent\n [PitcherExternalEventName.START_CALL]: StartCallPitcherEvent\n}\n\nexport interface PitcherEvent {\n type: keyof PitcherEventMap\n body: PitcherEventMap[keyof PitcherEventMap]\n}\n\nexport interface ApiEventMap {\n event: PitcherEvent\n}\n","import type { ApiOptions } from './interfaces'\nimport { createHighLevelApi } from '@sdk/api/HighLevelApi'\nimport * as uiMethods from '@sdk/api/modules/ui'\nimport { on as uiOn, off as uiOff } from '@sdk/api/UiApi'\nimport * as adminMethods from '@sdk/api/modules/admin'\nimport { on as adminOn, off as adminOff } from '@sdk/api/AdminApi'\n\nexport * from '@sdk/interfaces'\nexport * from '@sdk/payload.types'\nexport * from '@sdk/api/modules/ui/types.ui'\nexport * from '@sdk/api/modules/admin/types.admin'\n\nexport let highLevelApi: ReturnType<typeof createHighLevelApi>\nexport function usePitcherApi(options?: ApiOptions): ReturnType<typeof createHighLevelApi> {\n if (!highLevelApi) highLevelApi = createHighLevelApi(options)\n\n return highLevelApi\n}\n\nconst ui = { ...uiMethods, on: uiOn, off: uiOff }\nexport function useUi() {\n return ui\n}\n\nconst admin = { ...adminMethods, on: adminOn, off: adminOff }\nexport function useAdmin() {\n return admin\n}\n"],"names":["open","payload","getEnv","updateMyUser","getLanguages","getEvents","highLevelApi","createEvent","updateEvent","deleteEvent","getCanvases","createCanvas","deleteCanvas","updateCanvas","getCanvas","shareCanvas","getFiles","p","downloadFile","getAppConfig","getFile","deleteFile","createFile","selectDeviceFile","search","getUsers","getService","refreshServiceToken","getConnections","connectionLogin","connectionLogout","fetchDocumentInfo","renderPageAsImage","toast","query","getFolder","createFolder","updateFolder","deleteFolder","moveFolderItems","getFavorites","createFavorite","deleteFavorite","notify","track","getInstanceMetadataTemplates","EventEmitter","eventName","fn","f","data","getRandomValues","rnds8","rng","byteToHex","i","unsafeStringify","arr","offset","native","v4","options","buf","rnds","AssertionError","assert","exp","message","freeGlobal","freeGlobal$1","freeSelf","root","Symbol","Symbol$2","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","value","isOwn","tag","unmasked","result","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","arrayMap","array","iteratee","index","length","isArray","isArray$1","INFINITY","symbolProto","symbolToString","baseToString","toString","baseSlice","start","end","castSlice","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsZWJ","reHasUnicode","hasUnicode","string","asciiToArray","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","reUnicode","unicodeToArray","stringToArray","createCaseFirst","methodName","strSymbols","chr","trailing","upperFirst","upperFirst$1","capitalize","arrayReduce","accumulator","initAccum","basePropertyOf","object","key","deburredLetters","deburrLetter","deburrLetter$1","reLatin","reComboMark","deburr","reAsciiWord","asciiWords","reHasUnicodeWord","hasUnicodeWord","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsBreakRange","rsApos","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsOrdLower","rsOrdUpper","rsEmoji","reUnicodeWord","unicodeWords","words","pattern","guard","reApos","createCompounder","callback","camelCase","word","camelCase$1","snakeCase","snakeCase$1","defaultSkipKeys","defaultSkipObjectKeys","camelCaseKeys","obj","skipKeys","skipObjectKeys","v","newKey","snakeCaseKeys","LowLevelApi","event","id","body","type","resolve","reject","uuid","res","createHighLevelApi","API","eventEmitter","modules","UI_MESSAGE","UI_API_TYPES","UI_API_METHOD_TYPES","UI_MESSAGE_TYPES","uiPromise","method","uuidv4","listener","eventHandlers","handleMessage","handlers","handler","on","off","h","sfdc_query","ADMIN_MESSAGE","ADMIN_MESSAGE_TYPES","ADMIN_API_TYPES","ADMIN_API_METHOD_TYPES","adminPromise","get_env","PITCHER_EVENT","PitcherMessageType","PitcherResponseStatus","PitcherEventName","PitcherBroadcastedEventName","PitcherExternalEventName","exports","usePitcherApi","ui","uiMethods","uiOn","uiOff","useUi","admin","adminMethods","adminOn","adminOff","useAdmin"],"mappings":"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,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAC1B,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACtF,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACtF,EAAU,IAAM,EAAU,IAC1B,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACz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","x_google_ignoreList":[18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54]}
package/package.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@pitcher/js-api",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "main": "js-api.umd.min.js",
6
+ "sideEffects": false
7
+ }