• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2023 The Pigweed Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License"); you may not
4// use this file except in compliance with the License. You may obtain a copy of
5// the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12// License for the specific language governing permissions and limitations under
13// the License.
14
15export interface Field {
16  key: string;
17  value: string | boolean | number | object;
18}
19
20export interface TableColumn {
21  fieldName: string;
22  characterLength: number;
23  manualWidth: number | null;
24  isVisible: boolean;
25}
26
27export interface LogEntry {
28  severity?: Severity;
29  timestamp: Date;
30  fields: Field[];
31  sourceData?: SourceData;
32}
33
34export enum Severity {
35  DEBUG = 'DEBUG',
36  INFO = 'INFO',
37  WARNING = 'WARNING',
38  ERROR = 'ERROR',
39  CRITICAL = 'CRITICAL',
40}
41
42export interface LogEntryEvent {
43  type: 'log-entry';
44  data: LogEntry;
45}
46
47// Union type for all log source event types
48export type LogSourceEvent = LogEntryEvent /* | ... */;
49
50export interface SourceData {
51  id: string;
52  name: string;
53}
54