Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: josa 함수가 받침 유무를 판단할 수 없을 때 보여줄 문자열 옵션 #120

Open
RanolP opened this issue Jun 9, 2024 · 2 comments

Comments

@RanolP
Copy link

RanolP commented Jun 9, 2024

Description

사용자 닉네임이나 사용자가 직접 설정할 수 있는 아이템 이름 등, 문자열이 알파벳이나 숫자 등으로 끝날 수 있는 경우엔 조사를 판단할 수 없으므로 해당 경우에 보여줄 문자열을 설정할 수 있으면 좋을 것 같습니다.

Possible Solution

폴백 문자열을 직접 지정하는 API나

josa('플레이어1', '은/는', { nonHangul: '(은)는' }) // 플레이어1(은)는
josa('냉동참치2', '은/는', { nonHangul: '은' }) // 냉동참치2은

그냥 첫번째로 언제나 선택하는 옵션 (기본 값)

josa('Flame', '은/는', { nonHangul: PICK_FIRST }) // Flame은

과 같이 선택지를 주면 좋을 것 같습니다.

etc.

No response

@okinawaa
Copy link
Member

okinawaa commented Jul 3, 2024

좋은 의견 감사합니다! 이러한 사용 경우가 있을 것 같아 공감이 되네요.
하지만, 메이저한 케이스는 아니라고 생각하는데, 라이브러리에서 처리하지 않고, 사용하는 쪽에서, 컨트롤 할 수 있을 것 같은데 어떻게 생각하시나요?

#32 (comment)

이 이슈의 코맨트를 참고하였어요

const  word = getWordFromServer()
const isPureHangulWord = work.test(...한글인지 테스트하는 정규식)

const 조사가_붙은_단어 = isPureHangulWord ? josa(word, "은/는") : word + "은"

@RanolP
Copy link
Author

RanolP commented Jul 3, 2024

그렇다면 한글인지 테스트하는 정규식을 es-hangul이 제공하는 것도 좋은 방향성일 것 같네요!
오픈소스 프로젝트를 둘러보다보면 간간히 /[ㄱ-힣]/ 같은 요상한 regex를 사용하는 코드를 보는데,
HANGUL_COMPLETE = /[가-힣]/, HANGUL_WITH_PARTS = /[가-힣ㄱ-ㅎㅏ-ㅣ]/ 등등을 es-hangul에서 제공하면 좋을 것 같아요

assertHangul, parseHangul 등이 이미 있군요. last 가져와서 검사하면 되겠네요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants