Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dragonteros/Eomi.js
한국어 용언(동사, 형용사) 활용을 편리하게 구현하는 자바스크립트 라이브러리입니다.
https://github.com/dragonteros/Eomi.js
Last synced: about 1 month ago
JSON representation
한국어 용언(동사, 형용사) 활용을 편리하게 구현하는 자바스크립트 라이브러리입니다.
- Host: GitHub
- URL: https://github.com/dragonteros/Eomi.js
- Owner: dragonteros
- License: mit
- Created: 2020-08-23T12:21:21.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-23T11:56:18.000Z (11 months ago)
- Last Synced: 2024-05-14T15:45:07.780Z (7 months ago)
- Language: JavaScript
- Size: 143 KB
- Stars: 15
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hangul - Eomi.js - 한국어 용언(동사, 형용사) 활용을 편리하게 구현하는 자바스크립트 라이브러리. (Programming Languages / JavaScript)
README
# Eomi.js
한국어 용언(동사, 형용사) 활용을 편리하게 구현하는 자바스크립트 라이브러리입니다.
## 설치
```shell
npm install eomi-js
```## 사용법
### 불러오기
```javascript
const { Yongeon, Eomi } = require("eomi-js"); // 용언 및 어미 클래스
const { V, E } = require("eomi-js"); // 위와 동일함const { Analyzer } = require("eomi-js"); // 활용형 분석기
```### 용언
용언을 만들 때 첫번째 인수는 기본형 '-다', 두번째 인수는 '-아/어', 세번째 인수는 '-으니' 꼴을 적어줍니다.
여기서 세번째 인수인 '-으니' 꼴은 "밥을 먹으니 졸리다"에서 '먹으니'와 같은 형태를 말합니다.
세번째 인수는 생략할 수 있습니다.이에 더하여, 규칙 용언이면 두번째 인수도 생략할 수 있습니다.
```javascript
const colors = [
new Yongeon("푸르다", "푸르러", "푸르니"),
new Yongeon("붉다", "붉어", "붉으니"),
new Yongeon("노랗다", "노래" /* 세번째 인수는 생략 가능 */),
new Yongeon("하얗다", "하얘"),
new Yongeon("검다" /* 두번째 인수도 생략 가능 */),
];
```### 어미
어미를 만들 때 첫번째 인수는 용언의 받침이 없을 때, 두번째 인수는 용언의 받침이 있을 때의 꼴입니다.
첫번째 인수가 두 경우를 모두 포괄하는 경우 두번째 인수는 생략할 수 있습니다.
```javascript
const polite = [
new Eomi('-ㅂ니다', '-습니다'), // 차례로 받침이 없을 때, 받침이 있을 때
new Eomi('-(으)ㅂ시다'), // 두 경우를 모두 포괄
new Eomi('-(아/어)요'),
]
const intimate = [
new Eomi('ㄴ다', '는다'),
new Eomi('자'),
new Eomi('어'),
]
```### 활용
용언의 메소드 `_`에 어미를 인수로 넣으면 활용형을 문자열로 얻습니다.
```javascript
polite.map((e) => new V("뵙다", "뵈어", "뵈니")._(e));
// ['뵙습니다', '뵙시다', '뵈어요']
intimate.map((e) => new V("보다")._(e));
// ['본다', '보자', '보아']
```인수로 문자열을 바로 넣는 경우 해당 인수를 사용해 어미를 생성합니다.
```javascript
console.log(`${colors[0]._('-었던')} 하늘이 어느새 ${colors[1]._('-ㅂ니다', '-습니다')}.`)
console.log(`${colors[2]._('고')} ${colors[3]._('-ㄴ')} 꽃들이 장관을 이루던 언덕도 ${colors[4]._('-은')} 그림자가 드리웁니다.`)
// 푸르렀던 하늘이 어느새 붉습니다.
// 노랗고 하얀 꽃들이 장관을 이루던 언덕도 검은 그림자가 드리웁니다.
```### 활용형 분석
용언의 배열과 어미의 배열로 활용형 분석기를 생성합니다.
`analyze` 메소드는 문자열을 어간과 어미로 분석하여 해당하는 용언과 어미를 담은 배열들을 내놓습니다.
```javascript
const analyzer = new Analyzer(colors, polite);analyzer.analyze("푸르러요"); // [ [푸르다, (아/어)요], ]
analyzer.analyze("붉습니다"); // [ [붉다, ㅂ니다/습니다], ]
```## 라이센스
Eomi.js는 MIT 라이센스 아래 자유롭게 배포 가능합니다.