open-index/open-npm huggingface dataset:
npm package: @ihacks.dev/middleware
Description: [![Codacy Badge](https://app.codacy.com/project/badge/Grade/481bcdd68a64467b9a6915b45f238323)](https://www.codacy.com/gl/ihacks.dev/middleware) &nbsp; [![pipeline status](https://gitlab.com/ihacks.dev/node/ts/module/middleware/badges/master/pipeline.svg)]
Author: James Bradlee
Latest version: 0.1.3

# @ihacks.dev/middleware

[![Codacy Badge](https://app.codacy.com/project/badge/Grade/481bcdd68a64467b9a6915b45f238323)](https://www.codacy.com/gl/ihacks.dev/middleware) &nbsp;
[![pipeline status](https://gitlab.com/ihacks.dev/node/ts/module/middleware/badges/master/pipeline.svg)](https://gitlab.com/ihacks.dev/node/ts/module/middleware/-/commits/master)

> A queue builder for middlewares.

## Installation

```bash
yarn add @ihacks.dev/middleware
# or
npm i -S @ihacks.dev/middleware
```

## Usage

Create a queue object.

```ts
const queue = new Queue<[ string, number, boolean ]>();
```

Add middlewares.

```ts
queue.add(async (next, str, num, bool) => {
	console.log(str, num, bool);
	await next();
	console.log("done");
})
```

Run the queue.

```ts
await queue.runMiddleware("a string", 123, true);
```

## License

See [LICENSE](./LICENSE).
npm package: @ihacks.dev/promisify
Description: Ensures that a function returns a promise.
Author: James Bradlee
Latest version: 2.0.1

# @ihacks.dev/promisify

[![Codacy Badge](https://app.codacy.com/project/badge/Grade/201cbcee696342e28c6fe5844db1d2c1)](https://www.codacy.com/gl/ihacks.dev/promisify) &nbsp;
[![pipeline status](https://gitlab.com/ihacks.dev/node/ts/module/promisify/badges/master/pipeline.svg)](https://gitlab.com/ihacks.dev/node/ts/module/promisify/-/commits/master) &nbsp;
[![coverage report](https://gitlab.com/ihacks.dev/node/ts/module/promisify/badges/master/coverage.svg)](https://gitlab.com/ihacks.dev/node/ts/module/promisify/-/commits/master)

> Ensures that a function returns a promise.

## Installation

```bash
yarn add @ihacks.dev/promisify
# or
npm i -S @ihacks.dev/promisify
```

## Usage

```typescript
import promisify from "@ihacks.dev/promisify";
const fn = promisify(() => "this is a sync function.");
await fn()
// this is a sync function.
```

## License

Copyright (c) 2020 James Bradlee

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @ihacks.dev/test
Description: A test project to test the setup with CI/CD and GitLab.
Author: James Bradlee
Latest version: 1.0.51

# @ihacks.dev/test

[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d7b0ba389b924d119843ea705357efc9)](https://www.codacy.com/gl/ihacks.dev/test) &nbsp;
[![pipeline status](https://gitlab.com/ihacks.dev/node/ts/module/test/badges/master/pipeline.svg)](https://gitlab.com/ihacks.dev/node/ts/module/test/-/commits/master) &nbsp;
[![coverage report](https://gitlab.com/ihacks.dev/node/ts/module/test/badges/master/coverage.svg)](https://gitlab.com/ihacks.dev/node/ts/module/test/-/commits/master)

> A test project to test the setup with CI/CD and GitLab.

## Installation

```bash
yarn add @ihacks.dev/test
# or
npm i -S @ihacks.dev/test
```

## Usage

<!-- :documentation -->

## License

See [LICENSE](./LICENSE).
npm package: @ihadeed/adapter-commons
Description: Shared database adapter utility functions
Author: Feathers contributor
Latest version: 600.0.0

# Feathers Adapter Commons

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/adapter-commons)](https://david-dm.org/feathersjs/feathers?path=packages/adapter-commons)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/adapter-commons.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/adapter-commons)

> Shared utility functions for Feathers adatabase adapters

## About

This is a repository for handling Feathers common database syntax.


## Authors

[Feathers contributors](https://github.com/feathersjs/adapter-commons/graphs/contributors)

## License

Copyright (c) 2018 Feathers contributors

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/authentication
Description: Add Authentication to your FeathersJS app.
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/authentication

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/authentication)](https://david-dm.org/feathersjs/feathers?path=packages/authentication)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/authentication.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/authentication)

> Add Authentication to your FeathersJS app.

`@feathersjs/authentication` adds shared [PassportJS](http://passportjs.org/) authentication for Feathers HTTP REST and WebSocket transports using [JSON Web Tokens](http://jwt.io/).

## Installation

```
npm install @feathersjs/authentication --save
```

## Quick example

```js
const feathers = require('@feathersjs/feathers');
const express = require('@feathersjs/express');
const socketio = require('@feathersjs/socketio');
const auth = require('@feathersjs/authentication');
const local = require('@feathersjs/authentication-local');
const jwt = require('@feathersjs/authentication-jwt');
const memory = require('feathers-memory');

const app = express(feathers());
app.configure(express.rest())
 .configure(socketio())
 .use(express.json())
 .use(express.urlencoded({ extended: true }))
 .configure(auth({ secret: 'supersecret' }))
 .configure(local())
 .configure(jwt())
 .use('/users', memory())
 .use('/', express.static(__dirname + '/public'))
 .use(express.errorHandler());

app.service('users').hooks({
  // Make sure `password` never gets sent to the client
  after: local.hooks.protect('password')
});

app.service('authentication').hooks({
 before: {
  create: [
   // You can chain multiple strategies
   auth.hooks.authenticate(['jwt', 'local'])
  ],
  remove: [
   auth.hooks.authenticate('jwt')
  ]
 }
});

// Add a hook to the user service that automatically replaces
// the password with a hash of the password before saving it.
app.service('users').hooks({
 before: {
  find: [
   auth.hooks.authenticate('jwt')
  ],
  create: [
   local.hooks.hashPassword({ passwordField: 'password' })
  ]
 }
});

const port = 3030;
let server = app.listen(port);
server.on('listening', function() {
 console.log(`Feathers application started on localhost:${port}`);
});
```

## Documentation

Please refer to the [@feathersjs/authentication API documentation](https://docs.feathersjs.com/api/authentication/server.html) for more details.

## License

Copyright (c) 2018

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/authentication-client
Description: The authentication plugin for feathers-client
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/authentication-client

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/authentication-client)](https://david-dm.org/feathersjs/feathers?path=packages/authentication-client)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/authentication-client.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/authentication-client)

> The authentication plugin for feathers-client

## Installation

```
npm install @feathersjs/authentication-client --save
```

## Quick example

```js
const feathers = require('@feathersjs/feathers');
const auth = require('@feathersjs/authentication-client');

const app = feathers();

// Available options are listed in the "Options" section
app.configure(auth({
  storage: window.localStorage
}))
```

## Documentation

Please refer to the [@feathersjs/authentication-client documentation](https://docs.feathersjs.com/api/authentication/client.html) for more details.

## License

Copyright (c) 2018

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/authentication-local
Description: Local authentication strategy for @feathers/authentication
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/authentication-local

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/authentication-local)](https://david-dm.org/feathersjs/feathers?path=packages/authentication-local)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/authentication-local.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/authentication-local)

> Local authentication strategy for feathers-authentication using Passport without all the boilerplate.

## Installation

```
npm install @feathersjs/authentication-local --save
```

## Quick example

```js
const feathers = require('@feathersjs/feathers');
const authentication = require('feathers-authentication');
const local = require('@feathersjs/authentication-local');
const app = feathers();

// Setup authentication
app.configure(authentication(settings));
app.configure(local());

// Setup a hook to only allow valid JWTs or successful 
// local auth to authenticate and get new JWT access tokens
app.service('authentication').hooks({
  before: {
    create: [
      authentication.hooks.authenticate(['local', 'jwt'])
    ]
  }
});
```

## Documentation

Please refer to the [@feathersjs/authentication-local API documentation](https://docs.feathersjs.com/api/authentication/local.html) for more details.

## License

Copyright (c) 2018

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/authentication-oauth
Description: oAuth 1 and 2 authentication for Feathers. Powered by Grant.
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/authentication-oauth

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/authentication-oauth)](https://david-dm.org/feathersjs/feathers?path=packages/authentication-oauth)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/authentication-oauth.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/authentication-oauth)

> OAuth 1 and 2 authentication for Feathers. Powered by Grant.

## Installation

```
npm install @feathersjs/authentication-oauth --save
```
npm package: @ihadeed/client
Description: A module that consolidates Feathers client modules for REST (jQuery, Request, Superagent) and Websocket (Socket.io, Primus) connections
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/client

[![Greenkeeper badge](https://badges.greenkeeper.io/feathersjs/client.svg)](https://greenkeeper.io/)

[![Build Status](https://travis-ci.org/feathersjs/client.png?branch=master)](https://travis-ci.org/feathersjs/client)
[![Dependency Status](https://img.shields.io/david/feathersjs/client.svg?style=flat-square)](https://david-dm.org/feathersjs/client)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/client.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/client)

[![Sauce Test Status](https://saucelabs.com/browser-matrix/feathersjs.svg)](https://saucelabs.com/u/feathersjs)

> A client for Feathers services supporting many different transport libraries.

## About

While Feathers and its modules can be used on the client with an NPM compatible module loader like [Browserify](http://browserify.org/), [Webpack](https://webpack.github.io/) or [StealJS](http://stealjs.com), `@feathersjs/client` consolidates a standard set of client plugins into a single distributable that can be used standalone in the browser or with other module loaders (like [RequireJS](http://requirejs.org/)) that don't support NPM. The following modules are included:

- [@feathersjs/feathers](https://github.com/feathersjs/feathers) as `feathers` (or the default module export)
- [@feathersjs/errors](https://github.com/feathersjs/errors) as `feathers.errors`
- [@feathersjs/rest-client](https://github.com/feathersjs/rest-client) as `feathers.rest`
- [@feathersjs/socketio-client](https://github.com/feathersjs/socketio-client) as `feathers.socketio`
- [@feathers/primus-client](https://github.com/feathersjs/primus-client) as `feathers.primus`
- [@feathersjs/authentication-client](https://github.com/feathersjs/authentication-client) as `feathers.authentication`

In the browser a client that connects to the local server via websockets can be initialized like this:

```html
<script type="text/javascript" src="//unpkg.com/socket.io-client@1.7.3/dist/socket.io.js"></script>
<script type="text/javascript" src="//unpkg.com/@feathersjs/client@^3.0.0/dist/feathers.js"></script>
<script type="text/javascript">
  var socket = io();
  var client = feathers()
    .configure(feathers.socketio(socket));
  var todoService = client.service('todos');
  
  todoService.on('created', function(todo) {
    console.log('Someone created a todo', todo);
  });
  
  todoService.create({
    description: 'Todo from client'
  });
</script>
```

For the full documentation see [the Feathers documentation](http://docs.feathersjs.com/clients/feathers.html).

## License

Copyright (c) 2018 [Feathers contributors](https://github.com/feathersjs/client/graphs/contributors)

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/commons
Description: Shared Feathers utility functions
Author: Feathers contributor
Latest version: 600.0.0

# Feathers Commons

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/commons)](https://david-dm.org/feathersjs/feathers?path=packages/commons)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/commons.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/commons)

> Shared Feathers utility functions

## About

This is a repository for utility functionality that is shared between different Feathers plugin and used by the main repository.


## Authors

[Feathers contributors](https://github.com/feathersjs/commons/graphs/contributors)

## License

Copyright (c) 2018 Feathers contributors

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/configuration
Description: A small configuration module for your Feathers application.
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/configuration

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/configuration)](https://david-dm.org/feathersjs/feathers?path=packages/configuration)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/configuration.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/configuration)

> A small configuration module for your Feathers application.

## About

`@feathersjs/configuration` is a module that wraps [node-config](https://github.com/lorenwest/node-config) to configure your Feathers application.

> npm install @feathersjs/configuration

```js
const feathers = require('@feathersjs/feathers');
const configuration = require('@feathersjs/configuration');

// Use the application root and `config/` as the configuration folder
let app = feathers().configure(configuration())
```

See the [Feathers configuration docs](https://docs.feathersjs.com/api/configuration.html) for the full API usage.

## License

Copyright (c) 2018

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/errors
Description: Common error types for Feathers apps
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/errors

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/errors)](https://david-dm.org/feathersjs/feathers?path=packages/errors)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/errors.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/errors)

> Common error types for feathers apps

## Installation

```
npm install @feathersjs/errors --save
```

Quick usage:

```js
const errors = require('@feathersjs/errors');

// If you were to create an error yourself.
const notFound = new errors.NotFound('User does not exist');

// You can wrap existing errors
const existing = new errors.GeneralError(new Error('I exist'));

// You can also pass additional data
const data = new errors.BadRequest('Invalid email', {
  email: 'sergey@google.com'
});

// You can also pass additional data without a message
const dataWithoutMessage = new errors.BadRequest({
  email: 'sergey@google.com'
});

// If you need to pass multiple errors
const validationErrors = new errors.BadRequest('Invalid Parameters', {
  errors: { email: 'Email already taken' }
});

// You can also omit the error message and we'll put in a default one for you
const validationErrors = new errors.BadRequest({
  errors: {
    email: 'Invalid Email'
  }
});
```

## Documentation

Please refer to the [@feathersjs/errors API documentation](https://docs.feathersjs.com/api/errors.html) for more details.

## License

Copyright (c) 2018 Feathers Contributors

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/express
Description: Feathers Express framework bindings and REST provider
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/express

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/express)](https://david-dm.org/feathersjs/feathers?path=packages/express)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/express.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/express)

> Feathers Express framework bindings and REST provider

This plugin turns a Feathers v3+ application into a drop-in replacement for any Express application.

## Installation

```
npm install @feathersjs/express --save
```

> _Important:_ This plugin only works with `feathers` 3.0 and later

## Documentation

Please refer to the [@feathersjs/express API documentation](https://docs.feathersjs.com/api/express.html) for more details.

## Complete Example

Here's an example of a Feathers server that uses `@feathersjs/express`. 

```js
const feathers = require('@feathersjs/feathers');
const express = require('@feathersjs/express');

const app = express(feathers());

app.configure(express.rest());
app.use('/myservice', {
  get(id) {
    return Promise.resolve({ id });
  }
});

app.use((req, res) => res.json({ message: 'Hello world' }));

app.listen(3030);

console.log('Feathers app started on 127.0.0.1:3030');
```

## License

Copyright (c) 2017

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/hooks-common
Description: Useful hooks for use with Feathersjs services.
Author: John J. Szwaronek
Latest version: 600.0.0

## feathers-hooks-common

[![Greenkeeper badge](https://badges.greenkeeper.io/feathers-plus/feathers-hooks-common.svg)](https://greenkeeper.io/)

[![Build Status](https://travis-ci.org/feathers-plus/feathers-hooks-common.svg?branch=master)](https://travis-ci.org/feathers-plus/feathers-hooks-common)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square)](https://david-dm.org/feathersjs/feathers-hooks-common)
[![Download Status](https://img.shields.io/npm/dm/feathers.svg?style=flat-square)](https://www.npmjs.com/package/feathers-hooks-common)
[![Slack Status](http://slack.feathersjs.com/badge.svg)](http://slack.feathersjs.com)

> Useful hooks for use with Feathers services.

---

> Use feathers-hooks-common v3.10.0 with FeathersJS v2 (Auk).

> Use feathers-hooks-common v4.x.x with FeathersJS v3 (Buzzard).

## Migration to v4 (for FeathersJS v3 Buzzard) from v3 (for FeathersJSv2 Auk).

  - Docs moved to [feathers-plus web site.](https://feathers-plus.github.io/v1/feathers-hooks-common/guide.html)
  
  - v4.x.x now supports FeathersJS v3 (Buzzard). Continue using v3.10.0 for FeathersJS v2 (Auk).
    - Removed:
      - Removed support for the deprecated legacy syntax in `populate`.
      - Removed the deprecated `remove` hook in favor of `discard`.
      
    - Deprecated. These will be removed in FeathersJS v3 (Crow).
      - Deprecated `pluck` in favor of `iff(isProvider('external'),` `keep(...fieldNames))`. **Be careful!**
      - Deprecated the `client` in favor of the `paramsFromClient`.
      
    - Added modules. They work with both FeathersJS v2 and v3.
      - `fastJoin` hook - Very fast alternative to `populate`.
      - `makeCallingParams` utility - Help construct `context.params` when calling services.

## Documentation

Refer to [Feathers-Plus web site.](https://feathers-plus.github.io/v1/feathers-hooks-common/guide.html). 

## Installation

Run `npm install feathers-hooks-common --save` in your project folder (installs the latest v4 release).

## Tests

`npm test` to run tests.

## License

See LICENSE.
npm package: @ihadeed/rest-client
Description: REST client services for different Ajax libraries
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/rest-client

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/rest-client)](https://david-dm.org/feathersjs/feathers?path=packages/rest-client)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/rest-client.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/rest-client)

> REST client services for different Ajax libraries

`@feathersjs/rest-client` supports [REST server](https://docs.feathersjs.com/api/rest.html#server) connectivity using [jQuery](https://jquery.com/), [request](https://github.com/request/request), [Superagent](http://visionmedia.github.io/superagent/), [Axios](https://github.com/mzabriskie/axios), [Fetch](https://facebook.github.io/react-native/docs/network.html) or [Angular HTTP](https://angularjs.org/) as the AJAX library.

## Installation

```
npm install @feathersjs/rest-client --save
```

## Quick example

```js
const feathers = require('@feathersjs/feathers');
const rest = require('@feathersjs/rest-client');

const app = feathers();

// Connect to the same as the browser URL (only in the browser)
const restClient = rest();

// Connect to a different URL
const restClient = rest('http://feathers-api.com')

// Configure an AJAX library (see below) with that client 
app.configure(restClient.fetch(window.fetch));

// Connect to the `http://feathers-api.com/messages` service
const messages = app.service('messages');
```

## Documentation

Please refer to the [@feathersjs/rest-client documentation](https://docs.feathersjs.com/api/client/rest.html) for more details.

## License

Copyright (c) 2018

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/socketio
Description: The Feathers Socket.io real-time API provider
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/socketio

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/socketio)](https://david-dm.org/feathersjs/feathers?path=packages/socketio)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/socketio.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/socketio)

> The Feathers Socket.io real-time API provider

## Installation

```
npm install @feathersjs/socketio --save
```

## Quick example

```js
const feathers = require('@feathersjs/feathers');
const socketio = require('@feathersjs/socketio');

const app = feathers();

app.configure(socketio());

app.listen(3030);
```

## Documentation

Please refer to the [@feathersjs/socketio documentation](https://docs.feathersjs.com/api/socketio.html) for more details.

## License

Copyright (c) 2018

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/socketio-client
Description: The client for Socket.io through feathers-socketio
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/socketio-client

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/socketio-client)](https://david-dm.org/feathersjs/feathers?path=packages/socketio-client)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/socketio-client.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/socketio-client)

> The client for Socket.io Feathers connections

## Installation

```
npm install @feathersjs/socketio-client --save
```

## Quick example

```js
const feathers = require('@feathersjs/feathers');
const socketio = require('@feathersjs/socketio-client');
const io = require('socket.io-client');

const socket = io('http://api.feathersjs.com');
const app = feathers();

// Set up Socket.io client with the socket
app.configure(socketio(socket));

// Receive real-time events through Socket.io
app.service('messages')
  .on('created', message => console.log('New message created', message));

// Call the `messages` service
app.service('messages').create({
  text: 'A message from a REST client'
});
```

## Documentation

Please refer to the [@feathersjs/socketio-client documentation](https://docs.feathersjs.com/api/client/socketio.html) for more details.

## License

Copyright (c) 2018

Licensed under the [MIT license](LICENSE).
npm package: @ihadeed/transport-commons
Description: Shared functionality for websocket providers
Author: Feathers contributors
Latest version: 600.0.0

# @feathersjs/transport-commons

[![Build Status](https://travis-ci.org/feathersjs/feathers.png?branch=master)](https://travis-ci.org/feathersjs/feathers)
[![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/transport-commons)](https://david-dm.org/feathersjs/feathers?path=packages/transport-commons)
[![Download Status](https://img.shields.io/npm/dm/@feathersjs/transport-commons.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/transport-commons)

> Shared functionality for Feathers API transports like `@feathers/socketio` and `@feathersjs/primus`. Only intended to be used internally.

## About

`@feathersjs/transport-commons` contains internal shared functionality for Feathers real-time providers (currently Socket.io and Primus).

## License

Copyright (c) 2018

Licensed under the [MIT license](LICENSE).