Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kolengri/use-oop-swr

🍩 Make SWR data sweet again! Transform raw data from SWR to class instance
https://github.com/kolengri/use-oop-swr

class class-transformer hooks oop react swr typescript

Last synced: 21 days ago
JSON representation

🍩 Make SWR data sweet again! Transform raw data from SWR to class instance

Awesome Lists containing this project

README

        

# use-oop-swr

## OOP useSWR hook wrapper

[![NPM](https://img.shields.io/npm/v/use-oop-swr.svg)](https://www.npmjs.com/package/use-oop-swr)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
[![Badges](https://badgen.net/npm/license/use-oop-swr)](https://www.npmjs.com/package/use-oop-swr)
[![Badges](https://badgen.net/npm/dependents/use-oop-swr)](https://www.npmjs.com/package/use-oop-swr)
[![Badges](https://badgen.net/npm/types/use-oop-swr)](https://www.npmjs.com/package/use-oop-swr)
[![Badges](https://badgen.net/github/issues/kolengri/use-oop-swr)](https://www.npmjs.com/package/use-oop-swr)
[![Badges](https://badgen.net/bundlephobia/min/use-oop-swr)](https://bundlephobia.com/result?p=use-oop-swr)
[![Badges](https://badgen.net/bundlephobia/minzip/use-oop-swr)](https://bundlephobia.com/result?p=use-oop-swr)

## Install

### 1. Install package

```bash
npm install --save use-oop-swr
```

```bash
yarn add use-oop-swr
```

### 2. Install class-transformer and reflect-metadata

1. `class-transformer` installation

```bash
npm install class-transformer --save
```

```bash
yarn add class-transformer
```

2. `reflect-metadata` shim is required, install it too:

```bash
npm install reflect-metadata --save
```

```bash
yarn add reflect-metadata
```

add to the top of index.tsx

```tsx
import 'reflect-metadata';
```

or add to `` `reflect-metadata` in the head of your `index.html`:

```html
<html>
<head>
<!-- ... -->
<script src="node_modules/reflect-metadata/Reflect.js">