소스코드 테스트.
<br>
<br>
import toasts from "~/src/utils/toasts";
type Filter = (result: any|null) => boolean;
const exists = (data: any|null|undefined) => data != undefined && data != null;
const defaultMessage: string = '알수없는 오류입니다.\n잠시 후 다시 시도해주세요.'export function passBy(filter: Filter): ((result: any) => Promise<any>) {
return (result: any) => result && filter(result) ? Promise.resolve(result) : Promise.reject(result || {});
}
export function passByCode(code: string[], needData: boolean = false): ((result: any) => Promise<any>) {
return passBy((r) => r?.code && code.indexOf(r.code) != -1 && (!needData || exists(r.data)));
}
export function ok(needData: boolean = false): ((result: any) => Promise<any>) {
return passByCode(['ok'], needData);
}
export const okData = (result: any) => (ok(true))(result).then(r => r.data);
export const onError = (result: any, then: any = null) => {
toasts.error(result?.message || defaultMessage);
return exists(then) ? then : Promise.reject(result);
};
<br>
하이라이팅도 찾아봐야겠네...