import { ResponseDirective, ResponseDirectiveOptions } from './ResponseDirective'; import { ResponseDirectiveType } from './ResponseDirectiveType'; export class ViewDirective extends ResponseDirective { options!: ViewDirectiveOptions; constructor(value: T, { template = 'index', ...rest }: Partial = {}) { super(ResponseDirectiveType.View, value, { template, ...rest } as ResponseDirectiveOptions); } } interface ViewDirectiveOptions extends ResponseDirectiveOptions { template: string; } /** * Returns a `ViewDirective` object */ export function view(value: T, options?: Partial) { return new ViewDirective(value, options); }