- Introduced blog routing using Next.js App Router - Implemented dynamic [slug] pages for blog posts - Added MDX-based content loading via lib/posts - Integrated shared TopBar layout with navigation - Established clear content, lib and component separation
9 lines
263 B
TypeScript
9 lines
263 B
TypeScript
type Handler = (...evts: any[]) => void;
|
|
export type MittEmitter<T> = {
|
|
on(type: T, handler: Handler): void;
|
|
off(type: T, handler: Handler): void;
|
|
emit(type: T, ...evts: any[]): void;
|
|
};
|
|
export default function mitt(): MittEmitter<string>;
|
|
export {};
|