# react-resolver-csp

> Isomorphic library to lazy-load data for React components with csp

Latest version **0.0.4** (published 2015-06-07) · ISC license · 0 weekly downloads

## Install

```sh
npm install react-resolver-csp
pnpm add react-resolver-csp
yarn add react-resolver-csp
bun add react-resolver-csp
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.4 |
| Published | 2015-06-07 |
| First published | 2015-06-07 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5 |
| Author | Giles Bradshaw |
| Maintainers | giles.bradshaw |
| Keywords | react, lazy, load, resolve |

## Links

- npm: https://www.npmjs.com/package/react-resolver-csp
- Repository: https://github.com/gilesbradshaw/react-resolver-csp
- Issues: https://github.com/gilesbradshaw/react-resolver-csp/issues
- npm.io page: https://npm.io/package/react-resolver-csp

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 0.0.4 (latest) — 2015-06-07

## README

# React Resolver Csp

[![Build Status](https://travis-ci.org/gilesbradshaw/react-resolver-csp.svg?branch=csp)](https://travis-ci.org/gilesbradshaw/react-resolver-csp)

[![Coverage Status](https://coveralls.io/repos/gilesbradshaw/react-resolver-csp/badge.svg?branch=csp)](https://coveralls.io/r/gilesbradshaw/react-resolver-csp)

## Isomorphic library to lazy-load data for React components

Forked and nodified to use CSP channels rather than promises

I've manually included js-csp so the whole lot gets transpiled to ES5

````
describe("Resolver", function() {
  describe(".nested", function() {
    it("should render nested elements", function(done) {
        @dataDependencies({
          user: ()=>
            go(function* (){
              return "Ernie";
            })
        })
        @displayName("TestElement1")
        class Element1 extends Component {
            render(){
                return <span>{this.props.user}</span>;
            }
        };

        @dataDependencies({
          user: ()=>
            go(function* (){
              return "Eric";
            })
        })
        @displayName("TestElement")
        class Element extends Component {
            render(){
                return <span>{this.props.user}<Element1/></span>;
            }
        };
        go(function*(){
            const string = yield Resolver.renderToStaticMarkup(<Element />);
            assert.equal("<span>Eric<span>Ernie</span></span>",string.toString());
            done();
        });
    });
  });
});

describe("Resolver", function() {
  describe(".dom", function() {
    it("should render a channel into dom", function(done) {
        const ch = chan();
        @dataDependencies({
            user: ()=>ch
        }) 
        @displayName("TestElement")
        class Element extends Component {
            render(){
                return <span>{this.props.user}</span>;
            }
        };
        const resolver = new Resolver(); 
        Resolver.render(
            <Element/>
            , document.body, resolver);

         go(function* (){
            yield put(ch,"Ernie");
            yield timeout(0);
            assert.equal(document.querySelector('span').innerHTML, 'Ernie');
            yield put(ch,"Wise");
            yield timeout(0);
            assert.equal(document.querySelector('span').innerHTML, 'Wise');
            done();
         });     
    });
  });
});

````
## Development

If you'd like to contribute to this project, all you need to do is clone
this project and run:

```shell
$ npm install
$ npm test
```

## Credits

[Based on ericclemmons/react-resolver](https://github.com/ericclemmons/react-resolver)  and [iamdustan/react-resolver](https://github.com/iamdustan/react-resolver)

---
_Source: https://npm.io/package/react-resolver-csp · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
