Closed seungrodotlee closed 1 month ago
이슈레이징 감사합니다!
es-hangul은 리액트와, 종속되어있지 않은 순수자바스크립트/타입스크립트 에서의 도움을 주면 좋겠어요. es-hangul에서 자바스크립트로 표현가능한, 편리한 함수나 기능들을 제공하고, 그것을 다른 라이브러리에서 리액트와 es-hangul을 동시에 사용하여, 위 이슈에서 말씀해주신 기능들을 구현가능할것으로 보여요.
결론적으로 해당 기능은 es-hangul의 범주가 아니라고 생각합니다!
리액트 의존성을 만드는 것은 저도 좋은 방향은 아닌 것 같습니다! 쓰고나니 제가 예시를 좀 잘못 든 것 같네용
구현하고자 하는 바의 핵심은 한글의 자모음 분리 / 조합 특성에 맞는 타이핑 효과를 구현하는 것으로 현재 구현중인 함수의 사용부는 대략 아래와 같습니다.
const block = docuement.querySelector("#block");
/** 제너레이터를 직접 사용 */
/**
* function* typeHangul(target: string, options?: TypingOptions): AsyncGenerator<string, void, unknown>;
*/
const typeGenerator = typeHangul("안녕하세요", { initial: "" });
for await (const value of typeGenerator) {
block.innerHTML = value;
}
/** run 메소드와 핸들러 등록을 통한 사용 */
/**
* getTypewriterHangul(initial?: string): {
* onType: (callback: TypingEventListener) => () => void;
* type: (target: string, options?: Omit<TypingOptions, 'initial'>) => Promise<void>;
* reset: (value?: string) => void;
* }
*/
const { type, onType, reset } = getTypewriterHangul("");
const unsubscribeTyping = onType((value, { from, to }) => {
console.log(`typing: ${from} -> ${to}`);
block.innerHTML = value;
});
await type("안녕하세요");
또한 작업 간 타이핑 효과의 목적 / 제한 역시 좀 더 방향성을 명확히 하였습니다.
목적성을 명확히 하고 타 프레임워크 / 라이브러리와의 의존성을 제거한다면 es-hangul의 범주에 충분히 포함될 수 있는 기능이 아닐까 생각하는데, 다른 분들의 의견이 궁금합니다!
Description
자모음이 분리/조합되며 타이핑 되는 한글의 특성에 따라 이러한 타이핑 효과를 기 구현된
es-hangul
내 유틸리티들을 활용하여 간단하게 구현할 수 있는 함수 / 훅을 구현하고자 하는데, 몇 가지 논의사항이 있어 이슈 올립니다.논의가 필요한 부분
Possible Solution
No response
etc.
No response