@kui-shell/core
Version:
An Electron-based shell for cloud-native development
54 lines (52 loc) • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = doCancel;
var _events = require("../core/events");
var _command = require("../models/command");
var _pipeStages = require("../repl/pipe-stages");
/*
* Copyright 2017 The Kubernetes Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* User has requested that we "cancel" whatever is currently happening.
*
* If there is nothing happening, then terminate the current prompt
* and start a new one
*
*/
function doCancel(tab, block, valueTypedSoFar) {
block.isCancelled = true;
const execUUID = block.getAttribute('data-uuid');
const endEvent = {
tab,
execType: _command.ExecType.TopLevel,
completeTime: Date.now(),
cancelled: true,
execUUID,
historyIdx: -1,
command: valueTypedSoFar,
argvNoOptions: undefined,
execOptions: undefined,
parsedOptions: undefined,
pipeStages: (0, _pipeStages.splitIntoPipeStages)(valueTypedSoFar),
echo: true,
evaluatorOptions: undefined,
response: undefined,
responseType: 'Incomplete'
};
_events.eventBus.emitCommandComplete(endEvent);
}