Path: blob/main/extensions/markdown-language-features/preview-src/messaging.ts
3292 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { SettingsManager } from './settings';6import type { FromWebviewMessage } from '../types/previewMessaging';78export interface MessagePoster {9/**10* Post a message to the markdown extension11*/12postMessage<T extends FromWebviewMessage.Type>(13type: T['type'],14body: Omit<T, 'source' | 'type'>15): void;16}1718export const createPosterForVsCode = (vscode: any, settingsManager: SettingsManager): MessagePoster => {19return {20postMessage<T extends FromWebviewMessage.Type>(21type: T['type'],22body: Omit<T, 'source' | 'type'>23): void {24vscode.postMessage({25type,26source: settingsManager.settings!.source,27...body28});29}30};31};32333435