@microsoft/teams-js
Version:
Microsoft Client SDK for building app for Microsoft hosts
108 lines (107 loc) • 3.94 kB
TypeScript
import { MessageRequestWithRequiredProperties } from './messageObjects';
import { ApiVersionNumber } from './telemetry';
export declare const nestedAppAuthTelemetryVersionNumber: ApiVersionNumber;
/**
* @hidden
* Enumeration for nested app authentication message event names.
*
* @internal
* Limited to Microsoft-internal use
*
* @enum {string}
*
* @property {string} Request - Event name for a nested app authentication request.
* @property {string} Response - Event name for a nested app authentication response.
*/
export declare const enum NestedAppAuthMessageEventNames {
Request = "NestedAppAuthRequest",
Response = "NestedAppAuthResponse"
}
/**
* @hidden
* Interface for a nested app authentication request.
*
* @internal
* Limited to Microsoft-internal use
*
* @interface
* @extends {MessageRequest}
*
* @property {string} func - The function name, should always be 'nestedAppAuthRequest'.
* @property {string} data - data associated with the request, represented as a string.
*/
export interface NestedAppAuthRequest extends MessageRequestWithRequiredProperties {
func: 'nestedAppAuth.execute';
data: string;
}
/**
* @hidden
* Interface for parsed data from a nested app authentication message.
*
* @internal
* Limited to Microsoft-internal use
*
* @interface
* @property {NestedAppAuthMessageEventNames} messageType - The type of the nested app authentication message event.
*/
export interface ParsedNestedAppAuthMessageData {
messageType: NestedAppAuthMessageEventNames;
}
/**
* @hidden
* Interface for a nested app authentication bridge.
*
* @internal
* Limited to Microsoft-internal use
*
* @interface
*
* @property {Function} addEventListener - Function to add an event listener to the bridge. Takes an event name and a callback function as parameters.
* @property {Function} postMessage - Function to post a message to the bridge. Takes a message string as a parameter.
* @property {Function} removeEventListener - Function to remove an event listener from the bridge. Takes an event name and a callback function as parameters.
*/
export interface NestedAppAuthBridge {
addEventListener: (eventName: string, callback: (response: string) => void) => void;
postMessage: (message: string) => void;
removeEventListener: (eventName: string, callback: (response: string) => void) => void;
}
/**
* @hidden
* Interface for a Window object extended with a nested app authentication bridge.
*
* @internal
* Limited to Microsoft-internal use
*
* @interface
* @extends {Window}
*
* @property {NestedAppAuthBridge} nestedAppAuthBridge - The nested app authentication bridge associated with the window.
*/
export interface NestedAuthExtendedWindow extends Window {
nestedAppAuthBridge: NestedAppAuthBridge;
}
/**
* @hidden
* Type for handlers in a nested app authentication bridge.
*
* @internal
* Limited to Microsoft-internal use
*
* @typedef {Object} NestedAppAuthBridgeHandlers
*
* @property {Function} onMessage - Function to handle a message event. Takes a MessageEvent object and a callback function as parameters. The callback function is called when a message is received.
* @property {Function} handlePostMessage - Function to handle posting a message. Takes a message string as a parameter.
*/
type NestedAppAuthBridgeHandlers = {
onMessage: (evt: MessageEvent, onMessageReceived: (response: string) => void) => void;
sendPostMessage: (message: string, apiVersionTag: string) => void;
};
/**
* @hidden
* Attempt to polyfill the nestedAppAuthBridge object on the given window
*
* @internal
* Limited to Microsoft-internal use
*/
export declare function tryPolyfillWithNestedAppAuthBridge(clientSupportedSDKVersion: string, window: Window | null, handlers: NestedAppAuthBridgeHandlers): void;
export {};