UNPKG

@kui-shell/core

Version:

An Electron-based shell for cloud-native development

76 lines (75 loc) 2.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TableStyle = exports.Table = exports.Row = exports.Icon = exports.Cell = void 0; exports.isTable = isTable; exports.isTableWithCount = isTableWithCount; exports.isTableWithTimestamp = isTableWithTimestamp; exports.sameRow = sameRow; /* * 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. */ class Row { constructor(row) { Object.assign(this, row); } } exports.Row = Row; class Cell { constructor(cell) { Object.assign(this, cell); } } exports.Cell = Cell; var TableStyle; exports.TableStyle = TableStyle; (function (TableStyle) { TableStyle[TableStyle["Light"] = 0] = "Light"; TableStyle[TableStyle["Medium"] = 1] = "Medium"; TableStyle[TableStyle["Heavy"] = 2] = "Heavy"; })(TableStyle || (exports.TableStyle = TableStyle = {})); class Table { constructor(table) { Object.assign(this, table); } } exports.Table = Table; function isTableWithTimestamp(table) { return table.startColumnIdx >= 0 && table.completeColumnIdx >= 0; } function isTableWithCount(table) { return table.body.length >= 1 && table.body.findIndex(row => row.attributes && row.attributes.findIndex(_ => _.key && /^count$/i.test(_.key)) !== -1) !== -1; } function isTable(model) { return model !== undefined && (model instanceof Table || model.body !== undefined && Array.isArray(model.body)); } /** Are the two Rows the same? */ function sameRow(A, B) { if (!A || !B) { // if either one or the other is not defined, then they are different return false; } return A.key === B.key && A.rowKey === B.rowKey && A.name === B.name && A.attributes.length === B.attributes.length && A.attributes.every((a, cidx) => { const b = B.attributes[cidx]; return a.key === b.key && a.value === b.value && a.css === b.css && a.outerCSS === b.outerCSS && a.tag === b.tag; }); } class Icon { constructor(icon) { Object.assign(this, icon); } } exports.Icon = Icon;