UNPKG

@kui-shell/core

Version:

An Electron-based shell for cloud-native development

98 lines (96 loc) 3.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.hasDisplayName = hasDisplayName; exports.hasSourceReferences = hasSourceReferences; exports.isAbortableResponse = isAbortableResponse; exports.isMarkdownResponse = isMarkdownResponse; exports.isMessageBearingEntity = isMessageBearingEntity; exports.isMetadataBearing = isMetadataBearing; exports.isMetadataBearingByReference = isMetadataBearingByReference; exports.isMixedResponse = isMixedResponse; exports.isRandomErrorResponse1 = isRandomErrorResponse1; exports.isRandomErrorResponse2 = isRandomErrorResponse2; exports.isRawResponse = isRawResponse; exports.isReactResponse = isReactResponse; exports.isScalarResponse = isScalarResponse; var _types = require("../util/types"); var _capabilities = require("../core/capabilities"); var _table = require("../webapp/models/table"); var _is = _interopRequireDefault(require("./mmr/is")); var _NavResponse = require("./NavResponse"); var _XtermResponse = require("./XtermResponse"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* * Copyright 2019 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. */ function isMessageBearingEntity(entity) { return entity.message !== undefined; } function isMetadataBearing(spec) { const meta = spec; return meta !== undefined && meta.metadata !== undefined && meta.metadata.name !== undefined; } function hasDisplayName(resource) { const res = resource; return isMetadataBearing(resource) && res.spec !== undefined && typeof res.spec.displayName === 'string'; } function isMetadataBearingByReference(spec) { const ref = spec; return ref !== undefined && ref.resource !== undefined && isMetadataBearing(ref.resource); } function isMarkdownResponse(entity) { const md = entity; return md && typeof md.content === 'string' && md.contentType === 'text/markdown'; } function isReactResponse(entity) { if ((0, _capabilities.isHeadless)()) { return false; } else { const { isValidElement } = require('react'); const response = entity; return response && response.react && isValidElement(response.react); } } function isMixedResponse(response) { return Array.isArray(response) && response.length > 0 && (typeof response[0] === 'string' || typeof response[0] === 'number' || typeof response[0] === 'boolean' || (0, _table.isTable)(response[0]) || (0, _types.isHTML)(response[0]) || (0, _XtermResponse.isXtermResponse)(response[0])); } function isRawResponse(entity) { const raw = entity; return raw.mode === 'raw' && raw.content !== undefined; } function isRandomErrorResponse1(response) { const code = response.code; return typeof code === 'string' || typeof code === 'number'; } function isRandomErrorResponse2(response) { const { errno } = response; return typeof errno === 'string' && typeof errno === 'number'; } function isScalarResponse(response) { return !(0, _is.default)(response) && !(0, _NavResponse.isNavResponse)(response); } function hasSourceReferences(response) { const trait = response; return trait && trait.kuiSourceRef !== undefined; } function isAbortableResponse(entity) { return typeof entity.abort === 'function'; }