fdedcf53bb
Basic checks / Compilation, Unit and Integration Tests (push) Has been cancelled
Basic checks / Hygiene and Layering (push) Has been cancelled
Basic checks / Warm up node modules cache (push) Has been cancelled
Check Format and Lint / lint-and-format (push) Has been cancelled
34 lines
1017 B
TypeScript
34 lines
1017 B
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { SettingsManager } from './settings';
|
|
import type { FromWebviewMessage } from '../types/previewMessaging';
|
|
|
|
export interface MessagePoster {
|
|
/**
|
|
* Post a message to the markdown extension
|
|
*/
|
|
postMessage<T extends FromWebviewMessage.Type>(
|
|
type: T['type'],
|
|
body: Omit<T, 'source' | 'type'>
|
|
): void;
|
|
}
|
|
|
|
export const createPosterForVsCode = (vscode: any, settingsManager: SettingsManager): MessagePoster => {
|
|
return {
|
|
postMessage<T extends FromWebviewMessage.Type>(
|
|
type: T['type'],
|
|
body: Omit<T, 'source' | 'type'>
|
|
): void {
|
|
vscode.postMessage({
|
|
type,
|
|
source: settingsManager.settings!.source,
|
|
...body
|
|
});
|
|
}
|
|
};
|
|
};
|
|
|