Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/fmvilas/node-topic-parser


https://github.com/fmvilas/node-topic-parser

Last synced: 6 days ago
JSON representation

Awesome Lists containing this project

README

        

# AsyncAPI topic parser

It uses the [AsyncAPI topic structure definition](https://github.com/asyncapi/topic-definition) to manipulate topics.

## Installation

```
npm install --save asyncapi-topic-parser
```

## Documentation

#### #parse

It takes a topic in string format and generates an object which describes the topic.

```js
const parser = require('asyncapi-topic-parser');
console.log(parser.parse('hitch.email.1.0.action.user.welcome.send'));

// { org: 'hitch',
// service: 'email',
// version: '1.0',
// versions: { major: '1', minor: '0' },
// type: 'action',
// resource: 'user.welcome',
// resources: [ 'user', 'welcome' ],
// subresource: 'welcome',
// subresources: [ 'welcome' ],
// operation: 'send',
// status: undefined }
```
#### #stringify

It takes an object which describes the topic and generates a topic in string format.

```js
const parser = require('asyncapi-topic-parser');
const parsed = {
org: 'hitch',
service: 'email',
version: '1.0',
versions: { major: '1', minor: '0' },
type: 'action',
resource: 'user.welcome',
resources: [ 'user', 'welcome' ],
subresource: 'welcome',
subresources: [ 'welcome' ],
operation: 'send',
status: 'done'
};
console.log(parser.stringify(parsed));

// hitch.email.1.0.action.user.welcome.send.done
```

## Author/s

Fran Mendez   [ @fmvilas](https://www.twitter.com/fmvilas)