@kronos-integration/service-swarm
Version:
manage a set of remote services
133 lines (84 loc) • 5.33 kB
Markdown
[](https://spdx.org/licenses/0BSD.html)
[](https://github.com/Kronos-Integration/service-swarm/issues)
[](https://actions-badge.atrox.dev/Kronos-Integration/service-swarm/goto)
[](https://github.com/prettier/prettier)
[](http://commitizen.github.io/cz-cli/)
[](https://snyk.io/test/github/Kronos-Integration/service-swarm)
[](https://coveralls.io/github/Kronos-Integration/service-swarm)
# @kronos-integration/service-swarm
Manage a set of remote services
# API
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
### Table of Contents
* [PEERS\_NAME\_PREFIX](#peers_name_prefix)
* [PeersEndpoint](#peersendpoint)
* [Parameters](#parameters)
* [Properties](#properties)
* [ServiceSwarm](#serviceswarm)
* [endpointFactoryFromConfig](#endpointfactoryfromconfig)
* [Parameters](#parameters-1)
* [name](#name)
* [TOPIC\_NAME\_PREFIX](#topic_name_prefix)
* [TopicEndpoint](#topicendpoint)
* [Parameters](#parameters-2)
* [Properties](#properties-1)
* [Topic](#topic)
* [Parameters](#parameters-3)
* [Properties](#properties-2)
## PEERS\_NAME\_PREFIX
Endpoint name prefix for peers endpoints.
Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
## PeersEndpoint
**Extends MultiSendEndpoint**
Endpoint to link against a swarm topic.
### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** endpoint name
* `owner` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** owner of the endpoint
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 
* `options.topic` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** defaults to endpoint name (without @see PEERS\_NAME\_PREFIX)
### Properties
* `topic` **[Topic](#topic)** 
## ServiceSwarm
**Extends Service**
Swarm detecting sync service.
### endpointFactoryFromConfig
On demand create topic endpoints.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
* `definition` **([Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object) | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** 
* `ic`  
Returns **Class** TopicEndpoint if name starts with 'topic.'
### name
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'swarm'
## TOPIC\_NAME\_PREFIX
Endpoint name prefix for topic endpoints.
Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
## TopicEndpoint
**Extends MultiSendEndpoint**
Endpoint to link against a swarm topic.
### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** endpoint name
* `owner` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** owner of the endpoint
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 
* `options.topic` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** defaults to endpoint name (without @see TOPIC\_NAME\_PREFIX)
### Properties
* `topic` **[Topic](#topic)** 
## Topic
### Parameters
* `service` **[ServiceSwarm](#serviceswarm)** 
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 
### Properties
* `service` **[ServiceSwarm](#serviceswarm)** 
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 
* `key` **[Buffer](https://nodejs.org/api/buffer.html)** 
* `topicEndpoints` **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)\<TopicEndppoint>** 
* `peerEndpoints` **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)\<PeerEndpoint>** 
# install
With [npm](http://npmjs.org) do:
```shell
npm install @kronos-integration/service-swarm
```
# license
BSD-2-Clause