@minto-ai/type-writer
Version:
流式打字机效果组件,提供逐字符显示文本的打字机效果
52 lines (51 loc) • 1.48 kB
TypeScript
import { PublicCustomEventName, TypeWriterOptions } from './types';
declare class TypeWriter {
private options;
private status;
private wordQueue;
private timer;
private outputText;
private isSendComplete;
private generator;
private $bus;
constructor(options: TypeWriterOptions);
private createTextGenerator;
/**
* 发送文本
* @param text 要发送的文本
* @returns 打字机实例
*/
send(text: string): TypeWriter;
/**
* 手动结束打字机
*/
end(): void;
/**
* 手动销毁打字机
*/
finish(): void;
private execute;
/**
* 获取当前输出的文本
* @returns 当前输出的文本
*/
getText(): string;
private emit;
/**
* 监听事件
* @param eventName 事件名称,支持以下事件:
* - 'change': 文本变化事件,当有新字符输出时触发,回调参数为当前完整文本
* - 'complete': 完成事件,当打字任务完成时触发,无回调参数
* @param callback 回调函数
* @returns 打字机实例
*/
on(eventName: PublicCustomEventName, callback: (data?: any) => void): TypeWriter;
}
/**
* 创建一个打字机实例
* @param options 配置项
* @param options.speed 打字速度,单位为毫秒,默认值为 100
* @returns 打字机实例
*/
export declare function createTypeWriter(options: TypeWriterOptions): TypeWriter;
export {};