UNPKG

@microsoft/teams-js

Version:

Microsoft Client SDK for building app for Microsoft hosts

2 lines (1 loc) 3.92 kB
import{__awaiter as i}from"../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.24.4_tslib@2.6.3_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{sendMessageToParent as e,sendAndHandleStatusAndReason as t,callFunctionInHostAndHandleResponse as n,initializeCommunication as o}from"./communication.js";import{errorLibraryNotInitialized as r,defaultSDKVersionForCompatCheck as s}from"./constants.js";import{GlobalVars as l}from"./globalVars.js";import{registerOnThemeChangeHandler as a,registerOnContextChangeHandler as p,initializeHandlers as u}from"./handlers.js";import{ensureInitializeCalled as m,ensureInitialized as c,processAdditionalValidOrigins as f}from"./internalAPIs.js";import{getLogger as d}from"./telemetry.js";import{isNullOrUndefined as g}from"./typeCheckUtilities.js";import{inServerSideRenderingEnvironment as h,runWithTimeout as S,normalizeAgeGroupValue as j,compareSDKVersions as v}from"./utils.js";import{Messages as w}from"../public/app/app.js";import{FrameContexts as y}from"../public/constants.js";import{initialize as z}from"../public/dialog/dialog.js";import{initialize as b}from"../public/menus.js";import{runtime as P,applyRuntimeConfig as C,generateVersionBasedTeamsRuntimeConfig as x,mapTeamsVersionToSupportedCapabilities as D,versionAndPlatformAgnosticTeamsRuntimeConfig as E}from"../public/runtime.js";import{version as V}from"../public/version.js";import{SimpleTypeResponseHandler as K}from"./responseHandler.js";import{initialize as _}from"../public/pages/config.js";const k=d("app");function A(i,e){if(h()){return k.extend("initialize")("window object undefined at initialization"),Promise.resolve()}return S((()=>function(i,e){return new Promise((t=>{l.initializeCalled||(l.initializeCalled=!0,u(),l.initializePromise=o(e,i).then((({context:i,clientType:e,runtimeConfig:t,clientSupportedSDKVersion:n=s})=>{l.frameContext=i,l.hostClientType=e,l.clientSupportedSDKVersion=n;try{L("Parsing %s",t);let i=JSON.parse(t);if(L("Checking if %o is a valid runtime object",null!=i?i:"null"),!i||!i.apiVersion)throw new Error("Received runtime config is invalid");i=j(i),t&&C(i)}catch(i){if(!(i instanceof SyntaxError))throw i;try{L("Attempting to parse %s as an SDK version",t),isNaN(v(t,s))||(l.clientSupportedSDKVersion=t);let i=JSON.parse(n);if(L("givenRuntimeConfig parsed to %o",null!=i?i:"null"),!i)throw new Error("givenRuntimeConfig string was successfully parsed. However, it parsed to value of null");i=j(i),C(i)}catch(i){if(!(i instanceof SyntaxError))throw i;C(x(l.clientSupportedSDKVersion,E,D))}}l.initializeCompleted=!0})),b(),_(),z()),Array.isArray(e)&&f(e),void 0!==l.initializePromise?t(l.initializePromise):L("GlobalVars.initializePromise is unexpectedly undefined")}))}(i,e)),6e4,new Error("SDK initialization timed out."))}function F(i){e(i,w.AppLoaded,[V])}function N(i,t){e(i,w.ExpectedFailure,[t.reason,t.message])}function R(i,t){e(i,w.Failure,[t.reason,t.message])}function H(e){return i(this,void 0,void 0,(function*(){if(l.initializeCompleted)return J(e);if(!l.initializePromise)throw new Error(r);return l.initializePromise.then((()=>J(e)))}))}function J(t){return i(this,void 0,void 0,(function*(){return c(P)&&(null===(i=P.supports.app)||void 0===i?void 0:i.notifySuccessResponse)?n(w.Success,[V],new K,t).then((()=>({hasFinishedSuccessfully:!0}))):(e(t,w.Success,[V]),{hasFinishedSuccessfully:"unknown"});var i}))}const L=k.extend("initializeHelper");function O(i,e){!g(e)&&m(),a(i,e)}function T(i,e){!g(e)&&m(),p(i,e)}function G(i,e){return new Promise((n=>{c(P,y.content,y.sidePanel,y.settings,y.task,y.stage,y.meetingStage),n(t(i,"executeDeepLink",e))}))}export{A as appInitializeHelper,J as callNotifySuccessInHost,F as notifyAppLoadedHelper,N as notifyExpectedFailureHelper,R as notifyFailureHelper,H as notifySuccessHelper,G as openLinkHelper,T as registerOnContextChangeHandlerHelper,O as registerOnThemeChangeHandlerHelper};