@git-temporal/git-temporal-react
Version:
<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
35 lines (34 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const commits_1 = require("app/actions/commits");
const diff_1 = require("app/actions/diff");
const logger_1 = require("app/utilities/logger");
exports.isVscode = window && window.IS_VSCODE_WEBVIEW;
exports.vscode = exports.isVscode ? acquireVsCodeApi() : null;
if (exports.isVscode) {
logger_1.debug('running in VSCode.');
}
function handleVscodeMessages(dispatch) {
if (!window || !window.IS_VSCODE_WEBVIEW) {
return;
}
window.addEventListener('message', event => {
const { data } = event;
logger_1.debug(`actions/vscode received window message`, Object.assign({}, data, { commits: data.commits ? `object[${data.commits.length}]` : undefined, leftFileContents: redactArray(data.leftFileContents), rightFileContents: redactArray(data.rightFileContents), modifiedFiles: redactArray(data.modifiedFiles) }));
switch (data.type) {
case 'commitRange':
dispatch(commits_1.receiveCommitRange(data.path, data));
break;
case 'history':
dispatch(commits_1.receiveCommits(data.path, data));
break;
case 'diff':
dispatch(diff_1.receiveDiff(data.path, data));
break;
}
});
}
exports.handleVscodeMessages = handleVscodeMessages;
function redactArray(array) {
return array ? `[..] length=${array.length}` : undefined;
}