Skip to content

Releases: jeongbaebang/async-wave

1.8.0

04 Jul 11:47
Compare
Choose a tag to compare

[1.8.0] 기록 로그

  • 메서드 전달 인자 조정
  • 에러 클래스 매개변수 지원
  • 옵션 타입 export
  • 리드미 개선

[1.8.1] 기록 로그

  • package.json 속성 추가

[1.8.2] 기록 로그

  • PromiseCircularityError 커스텀 에러 클래스 속성값 추가

[1.8.3] 기록 로그

  • asyncWave 매개변수명 수정
  • callbackFns 복사본 배열값 생성 로직 추가

[1.8.4] 기록 로그

[1.8.5] 기록 로그

  • 빌드 시스템 추가 (webpack)
  • 의존성 업데이트

[1.8.6] 기록 로그

  • 빌드 구성 변경
  • 테스트 케이스 추가
  • 리드미 업데이트

코멘트

메서드 전달 인자 조정을 통해서 기존에는

asyncWave<string, string>(placeId, [getPlaceDetailResult, createAddress], {
  onError: () => {
    return mapErrorHandler(placeId, 'network');
  },
  onSuccess: (data) => {
    console.log('Place details:', data);
    // Store place details in a cache
  },
});

형태의 코드처럼 첫번째 인자가 이후 두번째 요소의 첫번째 매개변수로 전달되는 형식을 지원했습니다.
하지만 내부 타입 추론의 문제와 직관적이지 않은 코드등의 이유로 이번 1.8.0에서는 해당 옵션을 제거하기로 하였습니다.

asyncWave<string[]>([fetchData, processData], {
  onError: handleError,
  onSuccess: handleSuccess,
});

이번 버전부터는 다음같은 형태로 2개의 인자만 전달이 가능합니다.

What's Changed

Full Changelog: 1.7.0...1.8.0

1.7.0

04 Apr 16:08
Compare
Choose a tag to compare

[1.7.0] 기록 로그
onBefore 핸들러 동기 -> 비동기 구현 변경

코멘트
onBefore 핸들러에서 발생하는 에러를 동일한 프로미스 체인으로 전파하게 구현을 변경했습니다. 이로 인해, 메서드 체이닝이나 onSuccess 함수 대신에 onError 핸들러가 직접 실행되거나, 에러가 외부로 전달됩니다.

What's Changed

Full Changelog: 1.6.0...1.7.0

1.6.0

30 Mar 09:24
Compare
Choose a tag to compare
  • onBefore 핸들러 추가
  • 타입 개선
  • 리드미 개선
// Promises chaining
startLoadingIndicator();
getAvatarUrlfromGithub(USER_NAME)
  .then(showAvatar)
  .then((githubUser) => console.log(`avatar_url: ${githubUser.avatar_url}`))
  .catch((error) => console.error(error))
  .finally(endLoadingIndicator);

// with asyncWave
asyncWave<GithubUser>([USER_NAME, getAvatarUrlfromGithub], {
  onBefore: () => {
    startLoadingIndicator(); 
  },
  onSuccess: async (githubUser) => {
    await showAvatar(githubUser); // 핸들러 내부 에러도 캐치됩니다!
    console.log(`avatar_url: ${githubUser.avatar_url}`);
  },
  onError: (error) => {
    console.error(error);
  },
  onSettled: () => {
    endLoadingIndicator();
  },
});

1.5.0

05 Aug 08:28
Compare
Choose a tag to compare
  • 메소드명 수정
  • 일부 버그 픽스

1.4.0

05 Jul 04:39
Compare
Choose a tag to compare
  • 함수 오버로딩 지원
  • 리드미 예제 업데이트
  • 2E2 테스트 케이스 추가

1.3.0

28 May 15:15
Compare
Choose a tag to compare
  • 일반함수가 프로미스화 되지않는 버그를 수정.
  • 리드미 문서 업데이트.

1.2.1

27 May 09:12
Compare
Choose a tag to compare
  • sucess 메소드의 반환값을 가능하게 수정
  • 테스트 케이스를 수정
  • 리드미 업데이트
  • 버전 업데이트

1.2.0

27 May 07:37
Compare
Choose a tag to compare
  • 기능 업데이트: 첫번째 인수는 이제 항상 프로미스화 하여 다음 인자로 전달합니다
  • 리드미 업데이트
  • 버전 업데이트
  • 테스트 코드 추가

1.1.3

26 May 16:41
Compare
Choose a tag to compare
  • 리드미 수정
  • 주석 업데이트
  • 영문 리드미 추가

1.1.2

26 May 16:17
Compare
Choose a tag to compare
  • 리드미 수정
  • 주석 업데이트
  • 영문 리드미 추가