본문으로 건너뛰기

DenchBuilder

간략한 설명

모든 요청 빌더가 공유하는 인증, Fetch 옵션, 중단, 오류 처리 및 URL 정규화 API를 정의하는 제너릭 인터페이스입니다.

타입 정의

interface DenchBuilder<T, R extends DenchBuilder<T, R>> {
config: DenchBaseConfig;
copy: () => R;
debug: () => R;
auth: (token: string, type?: DenchAuthType) => R;
credentials: (credentials: HTTPCredentials) => R;
mode: (mode: HTTPMode) => R;
cache: (cache: HTTPCache) => R;
redirect: (redirect: HTTPRedirect) => R;
referrerPolicy: (policy: HTTPReferrerPolicy) => R;
abort: (controller: AbortController) => R;
timeout: (ms: number) => R;
error: (callback: (error: unknown) => void) => R;
params: (params: DenchURLSearchParams) => R;
boundaryNormalize: () => R;
hardNormalize: () => R;
URLNormalize: (normalizeMode: DenchURLNormalizeMode) => R;
}

제너릭

GenericDescription
T요청의 JSON 응답 타입입니다.
R각 체이닝 메서드가 반환할 구체적인 빌더 타입입니다. DenchBuilder<T, R>를 확장해야 합니다.

프로퍼티

PropertyTypeRequiredDescription
configDenchBaseConfigYes현재 빌더의 URL과 요청 설정입니다.
copy() => RYes현재 설정을 복사한 빌더를 반환합니다.
debug() => RYes현재 체인 시점의 빌더 설정을 콘솔에 출력하고 같은 빌더 타입을 반환합니다.
auth(token: string, type?: DenchAuthType) => RYesAuthorization 헤더를 설정합니다.
credentials(credentials: HTTPCredentials) => RYesFetch credentials 정책을 설정합니다.
mode(mode: HTTPMode) => RYesFetch 요청 mode를 설정합니다.
cache(cache: HTTPCache) => RYesFetch 캐시 정책을 설정합니다.
redirect(redirect: HTTPRedirect) => RYes리다이렉트 처리 정책을 설정합니다.
referrerPolicy(policy: HTTPReferrerPolicy) => RYesreferrer 정책을 설정합니다.
abort(controller: AbortController) => RYes요청에 AbortController를 연결합니다.
timeout(ms: number) => RYes요청 제한 시간을 밀리초 단위로 설정합니다.
error(callback: (error: unknown) => void) => RYes요청 오류 콜백을 설정합니다.
params(params: DenchURLSearchParams) => RYesURL query parameter 입력을 받는 API입니다. 현재 0.1.0-beta.7 구현은 값을 URL에 반영하지 않습니다.
boundaryNormalize() => RYesURL 경계 정규화 모드를 설정합니다.
hardNormalize() => RYes엄격한 URL 정규화 모드를 설정합니다.
URLNormalize(normalizeMode: DenchURLNormalizeMode) => RYesURL 정규화 모드를 직접 설정합니다.

사용처

  • DenchCreateBuilder<T>DenchBuilder<T, DenchCreateBuilder<T>> 형태로 상속합니다.
  • DenchGetBuilder<T>DenchBuilder<T, DenchGetBuilder<T>> 형태로 상속합니다.
  • POST, PUT, GET, DELETE 요청 빌더의 공통 체이닝 API를 정의합니다.
import type { DenchBuilder } from 'dench-fetch';