Releases

APON.js v1.2.0 출시 노트

이번 릴리스에서는 파싱 엔진을 전면적으로 개편하고 새로운 출력 스타일을 추가하여, apon.js가 최신 APON 사양을 완벽하게 지원하도록 업그레이드되었습니다.

✨ 새로운 기능 및 개선사항

  • 새로운 캐릭터 단위 파서 도입
    • 파싱 엔진이 기존의 라인 단위 처리 방식에서 벗어나, 문자(Character) 단위의 토큰 분석 방식으로 완전히 재구현되었습니다.
    • 이를 통해 복잡한 APON 문서를 더욱 정밀하고 유연하게 파싱할 수 있게 되었습니다.
  • SINGLE_LINE 및 COMPACT 스타일 지원
    • 이제 파서가 항목이 쉼표(,)로 구분된 SINGLE_LINECOMPACT 형식을 기본적으로 지원합니다.
    • JSON처럼 한 줄로 된 APON 텍스트로부터 JavaScript 객체를 직접 파싱할 수 있습니다.
  • 인라인 주석 지원
    • 이제 라인 중간(따옴표 내부 제외)에서도 # 기호를 사용하여 주석을 달 수 있습니다.
    • 파서는 # 이후부터 해당 물리적 라인의 끝까지를 주석으로 처리하여 무시합니다.
  • 유연한 항목 구분자
    • 객체의 항목이나 배열의 요소 구분자로 줄바꿈, 쉼표, 또는 두 가지를 혼용하여 사용할 수 있습니다.
    • 이를 통해 설정을 복사하거나 순서를 바꿀 때 발생할 수 있는 구문 오류를 획기적으로 줄여줍니다.
  • APON.stringify()의 새로운 출력 스타일
    • APON.stringify(obj, { style: '...' })에 스타일 옵션이 추가되었습니다.
    • PRETTY (기본값): 들여쓰기와 멀티라인 텍스트 블록을 사용하는 가독성 중심의 표준 형식입니다.
    • SINGLE_LINE: 쉼표를 사용하여 가독성을 유지하면서 한 줄로 출력하는 형식입니다.
    • COMPACT: 공백을 최소화하여 전송 효율을 극대화한 한 줄 압축 형식입니다.
  • 멀티라인 문자열 자동 처리
    • SINGLE_LINE 또는 COMPACT 스타일을 사용할 때, APON.stringify()는 여러 줄로 된 문자열을 이스케이프 처리된 한 줄 문자열(예: "line1\nline2")로 자동 변환합니다.
    • 이를 통해 데이터 내용에 상관없이 출력 결과가 항상 한 줄임을 보장합니다.
  • 인터랙티브 데모 개선
    • 온라인 데모 페이지에 스타일 선택 메뉴가 추가되어, 출력 스타일에 따른 APON 결과물 차이를 즉시 확인해 볼 수 있습니다.

🧪 테스트 커버리지 확대

  • 새로운 파서와 모든 출력 스타일의 안정성을 검증하기 위해 22개의 전문적인 테스트 케이스를 구축하여 검증을 완료했습니다.

NEWS
Release

Archive