`akanjs/fetch`는 typed client/server fetch boundary를 정의합니다. Zone props, generated fetch client type, request-scoped headers/cookies/theme helper, advanced FetchClient 사용에 import합니다.
ClientInit
initialized list page를 위한 Zone return type입니다. list object, insight object, pagination field, query arg, sort state, init timestamp를 포함하며 직접 반환하거나 Promise로 반환할 수 있습니다.
사용 예시
ClientView
single model view를 위한 Zone return type입니다. server view payload를 감싸며 synchronous server component data와 asynchronous client/server fetching을 모두 지원합니다.
사용 예시
SliceMeta
initialized slice data와 함께 전달되는 metadata입니다. UI helper는 list 또는 insight block 뒤의 ref name, slice name, query argument 수를 알기 위해 사용합니다.
사용 예시
FetchInitForm
list initialization을 위한 option shape입니다. page, limit, sort, default form value, invalidation, insight data를 list와 함께 fetch할지 여부를 제어합니다.
사용 예시
Account
server middleware와 service가 공유하는 request account shape입니다. 항상 `appName`과 `environment`를 포함하고 generic parameter로 app-specific account data를 추가할 수 있습니다.
사용 예시
FetchClient
serialized signal metadata를 typed HTTP 및 WebSocket fetch function으로 바꾸는 runtime client입니다. app client는 이 class를 감싼 proxy를 사용하고, advanced test에서는 직접 instantiate하거나 clone할 수 있습니다.
사용 예시
getRequest / headers / cookies
AsyncLocalStorage 또는 request fallback stack으로 동작하는 server-side request helper입니다. client dependency를 끌어오지 않고 current request를 읽기 위해 server component와 fetch internal에서 사용합니다.