0.1.22 • Published 3 months ago

blest-react v0.1.22

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

BLEST React

A React client for BLEST (Batch-able, Lightweight, Encrypted State Transfer), an improved communication protocol for web APIs which leverages JSON, supports request batching and selective returns, and provides a modern alternative to REST.

To learn more about BLEST, please visit the website: https://blest.jhunt.dev

Features

  • Built on JSON - Reduce parsing time and overhead
  • Request Batching - Save bandwidth and reduce load times
  • Compact Payloads - Save more bandwidth
  • Selective Returns - Save even more bandwidth
  • Single Endpoint - Reduce complexity and improve data privacy
  • Fully Encrypted - Improve data privacy

Installation

Install BLEST React from npm

With npm:

npm install --save blest-react

or using yarn:

yarn add blest-react

Usage

Wrap your app (or just part of it) with BlestProvider.

import React from 'react'
import { BlestProvider } from 'blest-react'

const App = () => {
  return (
    <BlestProvider url='http://localhost:8080' options={{ maxBatchSize: 25, bufferDelay: 10, headers: { Authorization: 'Bearer token' } }}>
      {/* Your app here */}
    </BlestProvider>
  )
}

Or use the withBlest HOC to achieve the same effect.

import React from 'react'
import { BlestProvider } from 'blest-react'

const App = () => {
  return (
    // Your app here
  )
}

export default withBlest(App, 'http://localhost:8080', { maxBatchSize: 25, bufferDelay: 10, headers: { Authorization: 'Bearer token' } })

Use the useBlestRequest hook to perform passive requests on mount and when parameters change.

import { useBlestRequest } from 'blest-react'

const MyComponent = () => {
  const { data, loading, error } = useBlestRequest('listItems', { limit: 24 }, ['data', ['pageInfo', ['endCursor', 'hasNextPage']]])

  return (
    // Your component here
  )
}

Use the useBlestLazyRequest hook to generate a request function you can call when needed.

import { useBlestLazyRequest } from 'blest-react'

const MyForm = () => {
  const [submitForm, { data, loading, error }] = useBlestLazyRequest('submitForm')

  const handleSubmit = (values) => {
    submitForm(values)
  }

  return (
    // Your form here
  )
}

License

This project is licensed under the MIT License.

0.1.22

3 months ago

0.1.20

4 months ago

0.1.21

4 months ago

0.1.19

4 months ago

0.1.17

5 months ago

0.1.18

5 months ago

0.1.10

7 months ago

0.1.11

7 months ago

0.1.12

7 months ago

0.1.13

7 months ago

0.1.14

7 months ago

0.1.15

7 months ago

0.1.0

10 months ago

0.1.2

7 months ago

0.1.1

10 months ago

0.1.16

7 months ago

0.1.8

7 months ago

0.1.7

7 months ago

0.1.9

7 months ago

0.1.4

7 months ago

0.1.3

7 months ago

0.1.6

7 months ago

0.1.5

7 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago