diff --git a/lib/navigation/column.ts b/lib/navigation/column.ts index 55f052a7e..1ae245e34 100644 --- a/lib/navigation/column.ts +++ b/lib/navigation/column.ts @@ -8,7 +8,7 @@ import type { IView } from './view.ts' import { checkOptionalProperty } from '../utils/objectValidation.ts' -interface ColumnData { +export interface IColumn { /** Unique column ID */ id: string /** Translated column title */ @@ -24,11 +24,11 @@ interface ColumnData { summary?: (node: INode[], view: IView) => string } -export class Column implements ColumnData { +export class Column implements IColumn { - private _column: ColumnData + private _column: IColumn - constructor(column: ColumnData) { + constructor(column: IColumn) { validateColumn(column) this._column = column } @@ -61,7 +61,7 @@ export class Column implements ColumnData { * @param column - the column to check * @throws {Error} if the column is not valid */ -export function validateColumn(column: ColumnData): void { +export function validateColumn(column: IColumn): void { if (typeof column !== 'object' || column === null) { throw new Error('View column must be an object') } diff --git a/lib/navigation/view.ts b/lib/navigation/view.ts index 116dead64..5bd9d7f8f 100644 --- a/lib/navigation/view.ts +++ b/lib/navigation/view.ts @@ -4,9 +4,10 @@ */ import type { IFolder, INode } from '../node/index.ts' +import type { IColumn } from './column.ts' import isSvg from 'is-svg' -import { Column, validateColumn } from './column.ts' +import { validateColumn } from './column.ts' import { checkOptionalProperty } from '../utils/objectValidation.ts' export type ContentsWithRoot = { @@ -82,7 +83,7 @@ export interface IView { * This view column(s). Name and actions are * by default always included */ - columns?: Column[] + columns?: IColumn[] /** The parent unique ID */ parent?: string