UNPKG

dumi

Version:

📖 Documentation Generator of React Component

41 lines (40 loc) • 2.41 kB
import type { IThemeLoadResult } from '../../features/theme/loader'; import { type IMdTransformerOptions, type IMdTransformerResult } from './transformer'; interface IMdLoaderDefaultModeOptions extends Omit<IMdTransformerOptions, 'fileAbsPath'> { mode?: 'markdown'; builtins: IThemeLoadResult['builtins']; onResolveDemos?: (demos: NonNullable<IMdTransformerResult['meta']['demos']>) => void; onResolveAtomMeta?: (atomId: string, meta: IMdTransformerResult['meta']['frontmatter']) => void; demoAssetsFile?: string; disableLiveDemo: boolean; } interface IMdLoaderDemosModeOptions extends Omit<IMdLoaderDefaultModeOptions, 'builtins' | 'mode'> { mode: 'meta'; } interface IMdLoaderDemoModeOptions extends Omit<IMdLoaderDefaultModeOptions, 'builtins' | 'mode'> { mode: 'demo'; } interface IMdLoaderDemoIndexModeOptions extends Omit<IMdLoaderDefaultModeOptions, 'builtins' | 'mode'> { mode: 'demo-index'; } interface IMdLoaderFrontmatterModeOptions extends Omit<IMdLoaderDefaultModeOptions, 'builtins' | 'mode'> { mode: 'frontmatter'; } interface IMdLoaderTextModeOptions extends Omit<IMdLoaderDefaultModeOptions, 'builtins' | 'mode'> { mode: 'text'; } interface IMdLoaderRenderTextModeOptions extends Omit<IMdLoaderDefaultModeOptions, 'builtins' | 'mode'> { mode: 'text-render'; } export type IMdLoaderOptions = IMdLoaderDefaultModeOptions | IMdLoaderDemosModeOptions | IMdLoaderDemoModeOptions | IMdLoaderFrontmatterModeOptions | IMdLoaderTextModeOptions | IMdLoaderRenderTextModeOptions | IMdLoaderDemoIndexModeOptions; type MdLoaderCache = { getSync: (key: string, defaultValue: any) => any; }; export declare function getMdLoaderCacheSync<T>(cache: MdLoaderCache, key: string, defaultValue: T): T; export declare function getDemoSourceFiles(demos?: IMdTransformerResult['meta']['demos']): string[]; export declare function emitDefault(this: any, opts: IMdLoaderDefaultModeOptions, ret: IMdTransformerResult): string; export declare function emitFrontmatter(this: any, opts: IMdLoaderFrontmatterModeOptions, ret: IMdTransformerResult): string; export declare function emitText(this: any, opts: IMdLoaderTextModeOptions, ret: IMdTransformerResult): string; export declare function emitRenderText(this: any, _opts: IMdLoaderRenderTextModeOptions, ret: IMdTransformerResult): string; export default function mdLoader(this: any, content: string): void; export {};