@voiceflow/base-types
Version:
Voiceflow base project types
23 lines • 1.02 kB
TypeScript
import type { EmptyObject } from '@voiceflow/common';
import type { DEFAULT_LOG_LEVEL, Iso8601Timestamp } from '../utils/index.js';
import type { GlobalLogKind, StepLogKind } from './kinds.js';
import type { LogLevel } from './levels.js';
/** The base log interface. This should not be used directly, use one of the subtypes instead. */
interface BaseLog {
kind: string;
timestamp: Iso8601Timestamp;
message: EmptyObject;
level: Exclude<LogLevel, LogLevel.OFF>;
}
export interface BaseGlobalLog<Kind extends GlobalLogKind, Message extends EmptyObject, Level extends Exclude<LogLevel, LogLevel.OFF> = typeof DEFAULT_LOG_LEVEL> extends BaseLog {
kind: `global.${Kind}`;
level: Level;
message: Message;
}
export interface BaseStepLog<Kind extends StepLogKind, Message extends EmptyObject, Level extends Exclude<LogLevel, LogLevel.OFF> = typeof DEFAULT_LOG_LEVEL> extends BaseLog {
kind: `step.${Kind}`;
level: Level;
message: Message;
}
export {};
//# sourceMappingURL=base.d.ts.map