UNPKG

@pierre/diffs

Version:

1 lines 9.93 kB
{"version":3,"file":"types.d.ts","names":["DiffsThemeNames","ExtensionFormatMap","FileContents","FileDiffMetadata","HighlighterTypes","LanguageRegistration","LineDiffTypes","RenderDiffOptions","RenderFileOptions","SupportedLanguages","ThemedDiffResult","ThemedFileResult","ThemeRegistrationResolved","ThemesType","WorkerRequestId","WorkerRenderingOptions","FileRendererInstance","DiffRendererInstance","RenderFileRequest","ResolvedLanguage","RenderDiffRequest","InitializeWorkerRequest","Exclude","SetRenderOptionsWorkerRequest","SubmitRequest","Omit","WorkerRequest","RenderFileSuccessResponse","RenderDiffSuccessResponse","InitializeSuccessResponse","RegisterThemeSuccessResponse","RenderErrorResponse","RenderSuccessResponse","WorkerResponse","WorkerPoolOptions","Worker","WorkerInitializationRenderOptions","Partial","InitializeWorkerTask","Error","SetRenderOptionsWorkerTask","RenderFileTask","Set","RenderDiffTask","AllWorkerTasks","WorkerStats"],"sources":["../../src/worker/types.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ExtensionFormatMap, FileContents, FileDiffMetadata, HighlighterTypes, LanguageRegistration, LineDiffTypes, RenderDiffOptions, RenderFileOptions, SupportedLanguages, ThemedDiffResult, ThemedFileResult, ThemeRegistrationResolved, ThemesType } from '../types';\nexport type WorkerRequestId = string;\nexport interface WorkerRenderingOptions {\n theme: DiffsThemeNames | ThemesType;\n useTokenTransformer: boolean;\n tokenizeMaxLineLength: number;\n lineDiffType: LineDiffTypes;\n maxLineDiffLength: number;\n}\nexport interface FileRendererInstance {\n readonly __id: string;\n onHighlightSuccess(file: FileContents, result: ThemedFileResult, options: RenderFileOptions): unknown;\n onHighlightError(error: unknown): unknown;\n}\nexport interface DiffRendererInstance {\n readonly __id: string;\n onHighlightSuccess(diff: FileDiffMetadata, result: ThemedDiffResult, options: RenderDiffOptions): unknown;\n onHighlightError(error: unknown): unknown;\n}\nexport interface RenderFileRequest {\n type: 'file';\n id: WorkerRequestId;\n file: FileContents;\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface RenderDiffRequest {\n type: 'diff';\n id: WorkerRequestId;\n diff: FileDiffMetadata;\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface InitializeWorkerRequest {\n type: 'initialize';\n id: WorkerRequestId;\n renderOptions: WorkerRenderingOptions;\n preferredHighlighter: HighlighterTypes;\n resolvedThemes: ThemeRegistrationResolved[];\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface ResolvedLanguage {\n name: Exclude<SupportedLanguages, 'text'>;\n data: LanguageRegistration[];\n}\nexport interface SetRenderOptionsWorkerRequest {\n type: 'set-render-options';\n id: WorkerRequestId;\n renderOptions: WorkerRenderingOptions;\n resolvedThemes: ThemeRegistrationResolved[];\n}\nexport type SubmitRequest = Omit<RenderFileRequest, 'id'> | Omit<RenderDiffRequest, 'id'>;\nexport type WorkerRequest = RenderFileRequest | RenderDiffRequest | InitializeWorkerRequest | SetRenderOptionsWorkerRequest;\nexport interface RenderFileSuccessResponse {\n type: 'success';\n requestType: 'file';\n id: WorkerRequestId;\n result: ThemedFileResult;\n options: RenderFileOptions;\n sentAt: number;\n}\nexport interface RenderDiffSuccessResponse {\n type: 'success';\n requestType: 'diff';\n id: WorkerRequestId;\n result: ThemedDiffResult;\n options: RenderDiffOptions;\n sentAt: number;\n}\nexport interface InitializeSuccessResponse {\n type: 'success';\n requestType: 'initialize';\n id: WorkerRequestId;\n sentAt: number;\n}\nexport interface RegisterThemeSuccessResponse {\n type: 'success';\n requestType: 'set-render-options';\n id: WorkerRequestId;\n sentAt: number;\n}\nexport interface RenderErrorResponse {\n type: 'error';\n id: WorkerRequestId;\n error: string;\n stack?: string;\n}\nexport type RenderSuccessResponse = RenderFileSuccessResponse | RenderDiffSuccessResponse;\nexport type WorkerResponse = RenderSuccessResponse | RenderErrorResponse | InitializeSuccessResponse | RegisterThemeSuccessResponse;\nexport interface WorkerPoolOptions {\n /**\n * Factory function that creates a new Web Worker instance for the pool.\n * This is called once per worker in the pool during initialization.\n */\n workerFactory: () => Worker;\n /**\n * Number of workers to create in the pool.\n * @default 8\n */\n poolSize?: number;\n totalASTLRUCacheSize?: number;\n}\nexport interface WorkerInitializationRenderOptions extends Partial<WorkerRenderingOptions> {\n langs?: SupportedLanguages[];\n preferredHighlighter?: HighlighterTypes;\n}\nexport interface InitializeWorkerTask {\n type: 'initialize';\n id: WorkerRequestId;\n request: InitializeWorkerRequest;\n resolve(value?: undefined): void;\n reject(error: Error): void;\n requestStart: number;\n}\nexport interface SetRenderOptionsWorkerTask {\n type: 'set-render-options';\n id: WorkerRequestId;\n request: SetRenderOptionsWorkerRequest;\n resolve(value?: undefined): void;\n reject(error: Error): void;\n requestStart: number;\n}\nexport interface RenderFileTask {\n type: 'file';\n id: WorkerRequestId;\n request: RenderFileRequest;\n instances: Set<FileRendererInstance>;\n primeCache: boolean;\n highlightKey?: string;\n renderOptionsVersion: number;\n requestStart: number;\n}\nexport interface RenderDiffTask {\n type: 'diff';\n id: WorkerRequestId;\n request: RenderDiffRequest;\n instances: Set<DiffRendererInstance>;\n primeCache: boolean;\n highlightKey?: string;\n renderOptionsVersion: number;\n requestStart: number;\n}\nexport type AllWorkerTasks = InitializeWorkerTask | SetRenderOptionsWorkerTask | RenderFileTask | RenderDiffTask;\nexport interface WorkerStats {\n managerState: 'waiting' | 'initializing' | 'initialized';\n workersFailed: boolean;\n totalWorkers: number;\n busyWorkers: number;\n queuedTasks: number;\n activeTasks: number;\n themeSubscribers: number;\n fileCacheSize: number;\n diffCacheSize: number;\n}\n//# sourceMappingURL=types.d.ts.map"],"mappings":"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"}