fiftyone.pipeline.engines
Version:
Shared base functionality for implementing engines for the 51Degrees Pipeline API
55 lines (34 loc) • 2.51 kB
Markdown
 **51Degrees Pipeline Engines**
[Developer Documentation](https://51degrees.com/pipeline-node/index.html?utm_source=github&utm_medium=repository&utm_content=documentation&utm_campaign=node-open-source "developer documentation")
## Introduction
The 51Degrees Pipeline API is a generic web request intelligence and data processing solution with the ability to add a range of 51Degrees and/or custom plug ins (Engines)
## This package - fiftyone.pipeline.engines
This package extends the `flow element` class created by the [`fiftyone.pipeline.core`](/fiftyone.pipeline.core#readme.md) pacakge into a specialized type of flow element called an engine. This allows for additional features including:
* An auto-updating data file for properties
* A service called when a requested property
* A caching system and implementation of an LRU (least recently used) cache
Engines created by 51Degrees:
- [**fiftyone.devicedetection**](https://github.com/51Degrees/device-detection-node#readme) - A device detection engine
- [**fiftyone.geolocation**](https://github.com/51Degrees/location-node#readme) - A geolocation lookup engine
Make use of this package along with the following additional packages:
- [**fiftyone.pipeline.engines.fiftyone**](/fiftyone.pipeline.engines.fiftyone#readme.md) - Functionality specific to 51Degrees engines.
- [**fiftyone.pipeline.cloudrequestengine**](/fiftyone.pipeline.cloudrequestengine#readme.md) - An engine used to make requests to the 51Degrees cloud service.
## Installation
```
npm install fiftyone.pipeline.engines
```
## Examples
Examples can be found in the `examples/` folder. See below for a list of examples.
| Example | Description |
|----------------------------------------|-------------|
| [onPremiseFlowElement.js](/fiftyone.pipeline.engines/examples/onPremiseFlowElement.js) | Demonstrates the creation of an engine that uses an auto-updating datafile to populate properties. |
| [caching.js](/fiftyone.pipeline.engines/examples/caching.js) | Demonstrates a custom cache that makes use of the result caching feature that engines provide. |
## Tests
To run tests you will need to install the `jest` library.
```
npm install jest --global
```
Then, navigate to the module directory and execute:
```
npm test
```