문서
migration
v2로 마이그레이션하기

v2로 마이그레이션하기

새로운 기능

hasBatchim 함수에 옵션이 추가되었어요.

hasBatchim 함수에 only 옵션을 추가하여 단일 받침만 있는지, 복수 받침만 있는지, 받침이 있는지 없는지를 확인할 수 있어요.

// 단일 받침만 있는지 확인
hasBatchim('감', { only: 'single' });
 
// 복수 받침만 있는지 확인
hasBatchim('감', { only: 'double' });
 
// 받침이 있는지 확인
hasBatchim('감');

BREAKING CHANGES 처리하기

acronymizeHangul 함수가 삭제되었어요.

한글 도메인과 크게 관련이 없어서 제거되었어요.
두음을 추출해야하는 경우가 있으면 아래와 같이 사용하면 되어요.

string.split(' ').map(word => word.charAt(0));

assembleHangul의 함수명이 바뀌었어요.

CONTRIBUTING.md (opens in a new tab)에 적혀있는 대로 함수명에서 hangul을 제거하였어요.

// ASIS
assembleHangul('ㄱ', 'ㅏ', 'ㅁ')
 
// TOBE
assemble('ㄱ', 'ㅏ', 'ㅁ')

choseongIncludes, chosungIncludes 함수가 삭제되었어요.

초성화하는 과정은 es-hangul에서 제공하고, 문자열의 포함 여부는 자바스크립트 기본 메서드로 충분하다고 판단하여 제거하였어요. getChoseong (opens in a new tab) 함수를 사용하여 초성화한 후, includes 메서드를 사용하면 됩니다.

// ASIS
chosungIncludes('바나나', 'ㅂㄴㄴ');
choseongIncludes('바나나', 'ㅂㄴㄴ');
 
// TOBE
 
const choseonged = getChoseong('바나나');
chosunged.includes('ㅂㄴㄴ');

curriedCombineHangulCharacter 함수가 삭제되었어요.

curriedCombineHangulCharacter함수는 사용자가 직접 사용할 일이 없어서 제거되었어요.
사용이 필요하다면 아래와 같이 사용하면 됩니다.

 
export const curriedCombineHangulCharacter=
  (firstCharacter: string) =>
  (middleCharacter: string) =>
  (lastCharacter = '') =>
    combineCharacter(firstCharacter, middleCharacter, lastCharacter);

combineHangulCharacter의 함수명이 변경되었어요.

CONTRIBUTING.md (opens in a new tab)에 적혀있는 대로 함수명에서 hangul을 제거하였어요.

// ASIS
combineHangulCharacter('ㄱ', 'ㅏ', 'ㅁ')
 
// TOBE
combineCharacter('ㄱ', 'ㅏ', 'ㅁ')

convertQwertyToHangulAlphabet의 함수명이 변경되었어요.

CONTRIBUTING.md (opens in a new tab)에 적혀있는 대로 함수명에서 hangul을 제거하였어요.

// ASIS
convertQwertyToHangulAlphabet('r')
 
// TOBE
convertQwertyToAlphabet('r')

disassembleHangul, disassembleHangulToGroups, disassembleCompleteHangulCharacter의 함수명이 변경되었어요.

CONTRIBUTING.md (opens in a new tab)에 적혀있는 대로 함수명에서 hangul을 제거하였어요.

// ASIS
disassembleHangul('감');
disassembleHangulToGroups('감');
disassembleCompleteHangulCharacter('감');
 
// TOBE
disassemble('감');
disassembleToGroups('감');
disassembleCompleteCharacter('감');

extractHangul 함수가 삭제되었어요.

한글 도메인과 크게 관련이 없어서 제거되었어요.

hangulIncludes 함수가 삭제되었어요.

한글 도메인과 크게 관련이 없어서 제거되었어요.

필요하다면 다음과 같이 사용해주세요.

function hangulIncludes(x: string, y: string) {
  const disassembledX = disassembleHangul(x);
  const disassembledY = disassembleHangul(y);
 
  return disassembledX.includes(disassembledY);
}

removeLastHangulCharacter의 함수명이 변경되었어요.

CONTRIBUTING.md (opens in a new tab)에 적혀있는 대로 함수명에서 hangul을 제거하였어요.

// ASIS
removeLastHangulCharacter('감');
 
// TOBE
removeLastCharacter('감');

hasProperty, hasValueInReadOnlyStringList 함수가 삭제되었어요.

한글 도메인과 크게 관련이 없어서 제거되었어요.

필요하다면 다음과 같이 사용해주세요.

export function hasValueInReadOnlyStringList<T extends string>(list: readonly T[], value: string): value is T {
  return list.some(item => item === value);
}
 
export function hasProperty<T extends object, K extends PropertyKey>(obj: T, key: K): key is K & keyof T {
  return Object.prototype.hasOwnProperty.call(obj, key);
}
 

hasSingleBatchim함수가 삭제되었어요.

hasBatchim에 옵션을 주어 사용이 가능해요.

// ASIS
hasSingleBatchim('감');
 
// TOBE
hasBatchim('감', { only: "single" });