<commit_before># ZeroMQ.js Next Generation

[![Greenkeeper monitoring](https://img.shields.io/badge/dependencies-monitored-brightgreen.svg)](https://greenkeeper.io/) [![Travis build status](https://img.shields.io/travis/rolftimmermans/zeromq-ng.svg)](https://travis-ci.org/rolftimmermans/zeromq-ng) [![AppVeyor build status](https://img.shields.io/appveyor/ci/rolftimmermans/zeromq-ng.svg)](https://ci.appveyor.com/project/RolfTimmermans/zeromq-ng)

## ⚠️⚠️⚠️ This is work in progress and published only as a beta version ⚠️⚠️⚠️
Next generation [ØMQ](http://zeromq.org) bindings for Node.js. The goals of this library are:
* Semantically as similar as possible to the [native](https://github.com/zeromq/libzmq) ØMQ library.
* High performance.
* Use modern JavaScript and Node.js features: promises for consumption with `async`/`await`, async iterators (if available at runtime).

**The eventual goal of this library is to be merged back into [ZeroMQ.js](https://github.com/zeromq/zeromq.js).**

# Table of contents

* [Installation](#installation)
* [Examples](#examples)
   * [Push/Pull](#pushpull)
   * [Pub/Sub](#pubsub)
* [Contribution](#contribution)
* [API Documentation](#api-documentation)
   * [Compatibility layer for ZeroMQ.js 4](#compatibility-layer-for-zeromqjs-4)
   * [Class: zmq.Socket](#class-zmqsocket)
   * [Class: zmq.Context](#class-zmqcontext)
   * [Class: zmq.Observer](#class-zmqobserver)
   * [Class: zmq.Proxy](#class-zmqproxy)
   * [Function: zmq.curveKeyPair()](#function-zmqcurvekeypair)
   * [Property: zmq.capability](#property-zmqcapability)
   * [Property: zmq.global](#property-zmqglobal)
   * [Property: zmq.version](#property-zmqversion)


# Installation

Install ZeroMQ.js NG with prebuilt binaries:

```sh
npm install zeromq-ng
```

Requirements for prebuilt binaries:

* Node.js 8.6+
* Linux or macOS (10.9+)

To link against a shared library on your system:

```sh
npm install zeromq-ng --zmq-shared
```

Make sure you have the following installed before attempting to build against a shared library:

* A working C/C++ compiler toolchain with make
* Python 2
* ZeroMQ 4.0+ with development headers
* Node.js 8.6+

Support for previous Node.js versions is pending on stabilisation of N-API.<commit_msg>Update details of supported platforms [ci skip].<commit_after># ZeroMQ.js Next Generation

[![Greenkeeper monitoring](https://img.shields.io/badge/dependencies-monitored-brightgreen.svg)](https://greenkeeper.io/) [![Travis build status](https://img.shields.io/travis/rolftimmermans/zeromq-ng.svg)](https://travis-ci.org/rolftimmermans/zeromq-ng) [![AppVeyor build status](https://img.shields.io/appveyor/ci/rolftimmermans/zeromq-ng.svg)](https://ci.appveyor.com/project/RolfTimmermans/zeromq-ng)

## ⚠️⚠️⚠️ This is work in progress and published only as a beta version ⚠️⚠️⚠️
Next generation [ØMQ](http://zeromq.org) bindings for Node.js. The goals of this library are:
* Semantically as similar as possible to the [native](https://github.com/zeromq/libzmq) ØMQ library.
* High performance.
* Use modern JavaScript and Node.js features: promises for consumption with `async`/`await`, async iterators (if available at runtime).

**The eventual goal of this library is to be merged back into [ZeroMQ.js](https://github.com/zeromq/zeromq.js).**

# Table of contents

* [Installation](#installation)
* [Examples](#examples)
   * [Push/Pull](#pushpull)
   * [Pub/Sub](#pubsub)
* [Contribution](#contribution)
* [API Documentation](#api-documentation)
   * [Compatibility layer for ZeroMQ.js 4](#compatibility-layer-for-zeromqjs-4)
   * [Class: zmq.Socket](#class-zmqsocket)
   * [Class: zmq.Context](#class-zmqcontext)
   * [Class: zmq.Observer](#class-zmqobserver)
   * [Class: zmq.Proxy](#class-zmqproxy)
   * [Function: zmq.curveKeyPair()](#function-zmqcurvekeypair)
   * [Property: zmq.capability](#property-zmqcapability)
   * [Property: zmq.global](#property-zmqglobal)
   * [Property: zmq.version](#property-zmqversion)


# Installation

Install ZeroMQ.js NG with prebuilt binaries:

```sh
npm install zeromq-ng
```

Requirements for prebuilt binaries:

* Node.js 8.6+ (requires [N-API](https://nodejs.org/api/n-api.html))

To link against a shared library on your system:

```sh
npm install zeromq-ng --zmq-shared
```

Make sure you have the following installed before attempting to build against a shared library:

* A working C/C++ compiler toolchain with make
* Python 2
* ZeroMQ 4.0+ with development headers
* Node.js 8.6+
{'fraction_non_alphanumeric': 0.14755197853789404, 'fraction_numerical': 0.004694835680751174, 'mean_word_length': 4.973297730307076, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 17, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '550786', 'n_tokens_mistral': 1589, 'n_tokens_neox': 1525, 'n_words': 368}