- 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
14 lines
568 B
TypeScript
14 lines
568 B
TypeScript
export type LazyResult<TValue> = PromiseLike<TValue> & {
|
|
value?: TValue;
|
|
};
|
|
export type ResolvedLazyResult<TValue> = PromiseLike<TValue> & {
|
|
value: TValue;
|
|
};
|
|
/**
|
|
* Calls the given function only when the returned promise-like object is
|
|
* awaited. Afterwards, it provides the resolved value synchronously as `value`
|
|
* property.
|
|
*/
|
|
export declare function createLazyResult<TValue>(fn: () => Promise<TValue> | TValue): LazyResult<TValue>;
|
|
export declare function isResolvedLazyResult<TValue>(result: LazyResult<TValue>): result is ResolvedLazyResult<TValue>;
|