npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@yowza/rrequestor

v0.2.1

Published

A regulated requestor for REST API

Downloads

202

Readme

Regulated Requestor

Regulated Requestor는 REST API를 사용하기 위한 객체를 정의합니다.

  • 요청 데이터와 응답 데이터의 타입을 잘 정의할 수 있습니다.
  • 같은 요청을 여러 코드에서 쉽게 재사용 할 수 있습니다.

interface RRequestHandler

RRequestHandlerRRequestData를 파라미터로 받아 RResponse 객체의 프로미스를 반환합니다. RResponse 객체는 status 프로퍼티를 통해 요청의 성공/실패 여부를 알 수 있습니다.

interface RErrorResponse

RErrorResponse는 요청이 실패했을 때 반환됩니다. 만약 서버로의 요청 자체가 실패했을 경우 statusCode 프로퍼티의 값이 null이 됩니다. 이외에는 서버에서 반환한 HTTP 상태 코드가 statusCode 프로퍼티의 값이 됩니다.

요청 실패 시 서버의 응답 데이터 데이터는 없거나, {reason: string} 형태여야합니다. 서버에서 요청 실패에 대한 이유 보낸다면 RErrorResponse 객체의 reason 프로퍼티를 통해 확인할 수 있습니다.

function defineRequestHandler

export function defineRequestHandler<Req extends RRequestData, Res>({ url, method }: RRequestHandlerOption<Req>): RRequestHandler<Req, Res>

export interface RRequestHandlerOption<Req extends RRequestData> {
    url: string;
    method: Req extends void ? string : "post" | "put" | "delete";
}

defineRequestHandler 함수는 request handler를 잘 정의해줍니다.

  • 이 함수는 2개의 제네릭을 사용합니다(ReqRes). 첫 번째(Req)는 요청 데이터 형식(RRequestData), 두 번째(Res)는 응답 데이터 형식입니다.
  • Reqvoid가 아니면, 요청 메소드는 post, put, delete로 제한됩니다.
  • 만약 요청 이후 추가적인 작업이 필요하다면, 굳이 defineRequestHandler를 사용하여 request handler를 정의하지 않아도 됩니다.