UNPKG

@dataset-viewer/sdk

Version:

Dataset Viewer Plugin SDK - Types, utilities, and tools for plugin development

63 lines (62 loc) 1.89 kB
import { PluginBundle, PluginMetadata, PluginInitializeContext } from '../types'; /** * 插件构建选项 */ export interface CreatePluginOptions { /** 插件元数据 */ metadata: PluginMetadata; /** 插件组件 */ component: React.ComponentType<any>; /** 初始化函数 */ initialize?: (context: PluginInitializeContext) => Promise<void>; /** 清理函数 */ cleanup?: () => Promise<void>; /** 国际化资源 */ i18nResources?: { [language: string]: { translation: Record<string, string>; }; }; } /** * 创建插件包的辅助函数 * @param options 插件配置选项 * @returns 标准的插件包对象 */ export declare function createPlugin(options: CreatePluginOptions): PluginBundle; /** * 验证插件元数据的完整性 * @param metadata 插件元数据 * @returns 验证结果和错误信息 */ export declare function validatePluginMetadata(metadata: PluginMetadata): { valid: boolean; errors: string[]; }; /** * 从包名推导插件ID * @param packageName npm包名 * @returns 插件ID */ export declare function getPluginIdFromPackageName(packageName: string): string; /** * 检查文件是否被插件支持 * @param filename 文件名 * @param supportedExtensions 支持的扩展名列表 * @returns 是否支持 */ export declare function isFileSupported(filename: string, supportedExtensions: string[]): boolean; /** * 格式化文件大小 * @param bytes 字节数 * @returns 格式化的文件大小字符串 */ export declare function formatFileSize(bytes: number): string; /** * 检查是否为大文件 * @param fileSize 文件大小(字节) * @param threshold 阈值(字节),默认10MB * @returns 是否为大文件 */ export declare function isLargeFile(fileSize: number, threshold?: number): boolean; //# sourceMappingURL=index.d.ts.map