1.1.2 • Published 3 years ago

@lancercomet/fetcher v1.1.2

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
3 years ago

Fetcher

Yet another fetcher.

Quick start

import { Fetcher } from '@lancercomet/fetcher'

const fetcher = new Fetcher()

const { data, error } = await fetcher.requestJSON({
  url: '/me',
  method: 'GET'
})

Abort a request

import { Fetcher } from '@lancercomet/fetcher'

const fetcher = new Fetcher()

const sendRequest = async () => {
  const { data, error } = await fetcher.requestJSON({
    url: '/me',
    method: 'GET'
  })
  // ...
}

const abortRequest = () => {
  fetcher.abort()
}

<button onClick={sendRequest}>Send</button>
<button onclick={abortRequest}>Abort</button>

Work with SunTori

@Serializable()
class User {
  @JsonProperty('name')
  readonly username: string = ''

  @JsonProperty('age')
  readonly age: number = 0
}

const fetcher = new Fetcher()
const { data } = await fetcher.requestJSON({
  url: '/me',
  method: 'GET',
  type: User
})

data instanceof User  // true
data.username         // string
data.age              // number

Request Binary

// ArrayBuffer.
const { data: buffer, error } = await fetcher.requestBinary({
  url: '/binary'
}, 'arraybuffer')

// Blob.
const { data: blob, error } = await fetcher.requestBinary({
  url: '/binary'
}, 'blob') 

Request the API

"The API" is a type of data structure which would be like:

{
  "data": ...,
  "code": 0,
  "message": "OK"
}
const { data, error, message, code, status } = await fetcher.requestAPI({
  ...
})

License

Apache-2.0

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago