Skip to content

Commit 87796ef

Browse files
author
Andres Alarcon
committed
fix(types): export additional types and remove duplicates
- Export , , and types from the main entry point. - Centralize and types into the module to avoid duplication. - Update internal imports to reflect the new type locations.
1 parent ec7d5c7 commit 87796ef

3 files changed

Lines changed: 29 additions & 32 deletions

File tree

packages/waveform-renderer/src/index.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
export { default as WaveformRenderer } from "@/renderer";
22

3-
export type { ProgressLineOptions, RenderMode, WaveformEvents, WaveformOptions } from "@/types";
4-
5-
export type { CustomRenderer, RenderHook } from "@/rendering-engine";
3+
export type {
4+
ProgressLineOptions,
5+
RenderMode,
6+
WaveformEvents,
7+
WaveformOptions,
8+
CustomRenderer,
9+
RenderHook,
10+
RenderCache,
11+
CachedBarData,
12+
DebugInfo,
13+
} from "@/types";
614

715
export { getPeaksFromAudioBuffer } from "@/utils/peaks";
816

packages/waveform-renderer/src/renderer.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
import type { DirtyFlags, ProgressLineOptions, WaveformEvents, WaveformOptions } from "@/types";
1+
import type {
2+
CustomRenderer,
3+
DirtyFlags,
4+
ProgressLineOptions,
5+
RenderHook,
6+
WaveformEvents,
7+
WaveformOptions,
8+
} from "@/types";
29

310
import { DEFAULT_OPTIONS } from "@/constants";
411
import { EventEmitter } from "@/events";
@@ -7,7 +14,7 @@ import { normalizePeaks, normalizeProgress, resizeCanvas, setupCanvasContext } f
714
import { CacheManager } from "./cache-manager";
815
import { DebugSystem } from "./debug-system";
916
import { EventHandlerManager } from "./event-handler";
10-
import { RenderingEngine, type CustomRenderer, type RenderHook } from "./rendering-engine";
17+
import { RenderingEngine } from "./rendering-engine";
1118

1219
export default class WaveformRenderer extends EventEmitter<WaveformEvents> {
1320
private readonly canvas!: HTMLCanvasElement;

packages/waveform-renderer/src/rendering-engine.ts

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,14 @@
11
import { drawProgressLine } from "@/utils";
22

3-
import type { CachedBarData, ProgressLineOptions, RenderCache, WaveformOptions } from "@/types";
4-
5-
export interface RenderingCallbacks {
6-
onRenderStart: () => void;
7-
onRenderComplete: () => void;
8-
}
9-
10-
export interface CustomRenderer {
11-
render(
12-
ctx: CanvasRenderingContext2D,
13-
cache: RenderCache,
14-
options: Required<WaveformOptions>,
15-
staticPath?: Path2D,
16-
): boolean; // Return true if custom rendering handled everything
17-
}
18-
19-
export interface RenderHook {
20-
beforeRender?: (ctx: CanvasRenderingContext2D, cache: RenderCache, options: Required<WaveformOptions>) => void;
21-
afterBackground?: (ctx: CanvasRenderingContext2D, cache: RenderCache, options: Required<WaveformOptions>) => void;
22-
afterProgress?: (
23-
ctx: CanvasRenderingContext2D,
24-
cache: RenderCache,
25-
options: Required<WaveformOptions>,
26-
progress: number,
27-
) => void;
28-
afterComplete?: (ctx: CanvasRenderingContext2D, cache: RenderCache, options: Required<WaveformOptions>) => void;
29-
}
3+
import type {
4+
CachedBarData,
5+
CustomRenderer,
6+
ProgressLineOptions,
7+
RenderCache,
8+
RenderHook,
9+
RenderingCallbacks,
10+
WaveformOptions,
11+
} from "@/types";
3012

3113
export class RenderingEngine {
3214
private ctx: CanvasRenderingContext2D;

0 commit comments

Comments
 (0)