# koa-resource-builder

> Simple Fluent DSL for building RESTful resources using Koa

Latest version **0.1.1** (published 2015-08-31) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install koa-resource-builder
pnpm add koa-resource-builder
yarn add koa-resource-builder
bun add koa-resource-builder
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.1.1 |
| Published | 2015-08-31 |
| First published | 2015-08-31 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Known vulnerabilities | 0 (+6 in 1 direct dependencies) |
| Install scripts | no |
| Author | lorefnon |
| Maintainers | lorefnon |
| Keywords | koa, resource, rest, http |

## Links

- npm: https://www.npmjs.com/package/koa-resource-builder
- Repository: https://github.com/lorefnon/koa-resource-builder
- Homepage: https://github.com/lorefnon/koa-resource-builder#readme
- Issues: https://github.com/lorefnon/koa-resource-builder/issues
- npm.io page: https://npm.io/package/koa-resource-builder

## Dependencies (5)

- [lodash](https://npm.io/package/lodash.md) ^3.10.1
- [koa-compose](https://npm.io/package/koa-compose.md) ^2.3.0
- [create-error](https://npm.io/package/create-error.md) ^0.3.1
- [babel-runtime](https://npm.io/package/babel-runtime.md) *
- [koa-resource-router](https://npm.io/package/koa-resource-router.md) ^0.4.0

## Alternatives

- [launchdarkly-js-client-sdk](https://npm.io/package/launchdarkly-js-client-sdk.md) — 2.5M weekly downloads
- [@elastic/elasticsearch](https://npm.io/package/@elastic/elasticsearch.md) — 2.1M weekly downloads
- [@c8y/client](https://npm.io/package/@c8y/client.md) — 15.3K weekly downloads
- [@signaldb/maverickjs](https://npm.io/package/@signaldb/maverickjs.md) — 1.7K weekly downloads
- [@bbc/http-transport-cache](https://npm.io/package/@bbc/http-transport-cache.md) — 1.2K weekly downloads

## Recent versions

- 0.1.1 (latest) — 2015-08-31
- 0.1.0 — 2015-08-31

## README

# koa-resource-builder

<!-- [![NPM version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coveralls Status][coveralls-image]][coveralls-url]
[![Dependency Status][depstat-image]][depstat-url]
[![Downloads][download-badge]][npm-url]
 -->

**Status: Alpha**

> Fluent DSL for building RESTful resources using Koa

## Install

```sh
npm i -D koa-resource-builder
```

## Usage

```js

import ResourceBuilder from 'koa-resource-builder'
import koa from 'koa'
import Project from './models/project'
import ProjectDecorator from './decorators/project'

let resource = ResourceBuilder
    .init('tasks')
    .action('update')
        .use(authenticate)
        .use(function* fetchEntity() {
            this.model = Project.forge({ id: this.params.project })
            yield this.model.fetch({ require: true })
        })
        .use(function* decorateEntity() {
            this.entity = new ProjectDecorator(this.model)
            yield this.entity.decorate()
        })
        .use(function* respond() {
            this.body = this.entity.toJSON()
        })
        .end()
    .action('show')
        .use(function* () {
            ...
        })
        .end()
    .end()

app.use(resource.middleware());

```

## License

MIT © [lorefnon](http://github.com/lorefnon)
<!--
[npm-url]: https://npmjs.org/package/koa-resource-builder
[npm-image]: https://img.shields.io/npm/v/koa-resource-builder.svg?style=flat-square

[travis-url]: https://travis-ci.org//koa-resource-builder
[travis-image]: https://img.shields.io/travis//koa-resource-builder.svg?style=flat-square

[coveralls-url]: https://coveralls.io/r//koa-resource-builder
[coveralls-image]: https://img.shields.io/coveralls//koa-resource-builder.svg?style=flat-square

[depstat-url]: https://david-dm.org//koa-resource-builder
[depstat-image]: https://david-dm.org//koa-resource-builder.svg?style=flat-square

[download-badge]: http://img.shields.io/npm/dm/koa-resource-builder.svg?style=flat-square
 -->

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