@syfxlin/reks
Version:
Keystatic extensions library.
44 lines (40 loc) • 1.29 kB
TypeScript
import { fields as fields$1, DocumentElement } from '@keystatic/core';
type Fields = typeof fields$1;
type ModifyFields = Omit<Fields, "date" | "datetime"> & {
date: (config: Parameters<Fields["date"]>[0] & {
updatingValue?: string | {
kind: "now";
};
}) => ReturnType<Fields["date"]>;
datetime: (config: Parameters<Fields["datetime"]>[0] & {
updatingValue?: string | {
kind: "now";
};
}) => ReturnType<Fields["datetime"]>;
};
declare const fields: ModifyFields;
interface TocData {
name: string;
slug: string;
link: string;
step: number;
level: number;
children: ReadonlyArray<TocData>;
}
interface DocumentData {
document: ReadonlyArray<DocumentElement>;
headings: ReadonlyArray<TocData>;
contents: string;
excerpts: string;
}
interface PaginationData<T> {
page: (index: number) => ReadonlyArray<T>;
items: ReadonlyArray<ReadonlyArray<T>>;
pages: number;
total: number;
}
declare const utils: {
document(body: ReadonlyArray<DocumentElement>): DocumentData;
pagination<T = any>(size: number, items: readonly T[]): PaginationData<T>;
};
export { type DocumentData, type Fields, type ModifyFields, type PaginationData, type TocData, fields, utils };