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;
}
제너릭
| Generic | Description |
|---|---|
T | 요청의 JSON 응답 타입입니다. |
R | 각 체이닝 메서드가 반환할 구체적인 빌더 타입입니다. DenchBuilder<T, R>를 확장해야 합니다. |
프로퍼티
| Property | Type | Required | Description |
|---|---|---|---|
config | DenchBaseConfig | Yes | 현재 빌더의 URL과 요청 설정입니다. |
copy | () => R | Yes | 현재 설정을 복사한 빌더를 반환합니다. |
debug | () => R | Yes | 현재 체인 시점의 빌더 설정을 콘솔에 출력하고 같은 빌더 타입을 반환합니다. |
auth | (token: string, type?: DenchAuthType) => R | Yes | Authorization 헤더를 설정합니다. |
credentials | (credentials: HTTPCredentials) => R | Yes | Fetch credentials 정책을 설정합니다. |
mode | (mode: HTTPMode) => R | Yes | Fetch 요청 mode를 설정합니다. |
cache | (cache: HTTPCache) => R | Yes | Fetch 캐시 정책을 설정합니다. |
redirect | (redirect: HTTPRedirect) => R | Yes | 리다이렉트 처리 정책을 설정합니다. |
referrerPolicy | (policy: HTTPReferrerPolicy) => R | Yes | referrer 정책을 설정합니다. |
abort | (controller: AbortController) => R | Yes | 요청에 AbortController를 연결합니다. |
timeout | (ms: number) => R | Yes | 요청 제한 시간을 밀리초 단위로 설정합니다. |
error | (callback: (error: unknown) => void) => R | Yes | 요청 오류 콜백을 설정합니다. |
params | (params: DenchURLSearchParams) => R | Yes | URL query parameter 입력을 받는 API입니다. 현재 0.1.0-beta.7 구현은 값을 URL에 반영하지 않습니다. |
boundaryNormalize | () => R | Yes | URL 경계 정규화 모드를 설정합니다. |
hardNormalize | () => R | Yes | 엄격한 URL 정규화 모드를 설정합니다. |
URLNormalize | (normalizeMode: DenchURLNormalizeMode) => R | Yes | URL 정규화 모드를 직접 설정합니다. |
사용처
DenchCreateBuilder<T>가DenchBuilder<T, DenchCreateBuilder<T>>형태로 상속합니다.DenchGetBuilder<T>가DenchBuilder<T, DenchGetBuilder<T>>형태로 상속합니다.- POST, PUT, GET, DELETE 요청 빌더의 공통 체이닝 API를 정의합니다.
import type { DenchBuilder } from 'dench-fetch';