From 8809deabeed5860e7a1a7f9ae7db6544369100bf Mon Sep 17 00:00:00 2001 From: dimaslanjaka Date: Wed, 4 Oct 2023 13:45:48 +0700 Subject: [PATCH] chore(Hexo): add event emitter descriptor --- lib/hexo/index.ts | 82 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/lib/hexo/index.ts b/lib/hexo/index.ts index 21c14183fb..bc76dfa402 100644 --- a/lib/hexo/index.ts +++ b/lib/hexo/index.ts @@ -144,6 +144,88 @@ declare module 'module' { _cache: any; } +interface Hexo { + + /** + * Emitted before deployment begins. + * @param event + * @param listener + * @link https://hexo.io/api/events.html#deployBefore + */ + on(event: 'deployBefore', listener: (...args: any[]) => any): this; + + /** + * Emitted after deployment begins. + * @param event + * @param listener + * @link https://hexo.io/api/events.html#deployAfter + */ + on(event: 'deployAfter', listener: (...args: any[]) => any): this; + + /** + * Emitted before Hexo exits. + * @param event + * @param listener + * @link https://hexo.io/api/events.html#exit + */ + on(event: 'exit', listener: (...args: any[]) => any): this; + + /** + * Emitted before generation begins. + * @param event + * @param listener + * @link https://hexo.io/api/events.html#generateBefore + */ + on(event: 'generateBefore', listener: (...args: any[]) => any): this; + + /** + * Emitted after generation finishes. + * @param event + * @param listener + * @link https://hexo.io/api/events.html#generateAfter + */ + on(event: 'generateAfter', listener: (...args: any[]) => any): this; + + /** + * Emitted after a new post has been created. This event returns the post data: + * @param event + * @param listener + * @link https://hexo.io/api/events.html#new + */ + on(event: 'new', listener: (post: { path: string; content: string; }) => any): this; + + /** + * Emitted before processing begins. This event returns a path representing the root directory of the box. + * @param event + * @param listener + * @link https://hexo.io/api/events.html#processBefore + */ + on(event: 'processBefore', listener: (...args: any[]) => any): this; + + /** + * Emitted after processing finishes. This event returns a path representing the root directory of the box. + * @param event + * @param listener + * @link https://hexo.io/api/events.html#processAfter + */ + on(event: 'processAfter', listener: (...args: any[]) => any): this; + + /** + * Emitted after initialization finishes. + * @param event + * @param listener + */ + on(event: 'ready', listener: (...args: any[]) => any): this; + + /** + * undescripted on emit + * @param event + * @param listener + */ + on(event: string, listener: (...args: any[]) => any): any; + emit(event: string, ...args: any[]): any; +} + class Hexo extends EventEmitter { public base_dir: string; public public_dir: string;