UNPKG

couch-elastic-stream

Version:

data streaming from couchdb to elastic via kafka.

55 lines (43 loc) 1.58 kB
"use strict"; const CouchSourceConfig = require('./lib/CouchSourceConfig'); const ElasticSinkConfig = require('./lib/ElasticSinkConfig'); const CouchSourceConnector = require('./lib/source/CouchSourceConnector'); const ElasticSinkConnector = require('./lib/sink/ElasticSinkConnector'); const CouchSourceTask = require('./lib/source/CouchSourceTask'); const ElasticSinkTask = require('./lib/sink/ElasticSinkTask'); const JsonConverter = require("./lib/utils/JsonConverter.js"); const ConverterFactory = require("./lib/utils/ConverterFactory.js"); const Promise = require('bluebird'); const runSourceConnector = (properties, converters = [], onError = null) => { const config = new CouchSourceConfig(properties, CouchSourceConnector, CouchSourceTask, [JsonConverter].concat(converters)); if (onError) { config.on("error", onError); } return config.run().then(() => { return config; }) .catch((err)=> { return Promise.reject(err); }); }; const runSinkConnector = (properties, converters = [], onError = null) => { const config = new ElasticSinkConfig(properties, ElasticSinkConnector, ElasticSinkTask, [JsonConverter].concat(converters)); if (onError) { config.on("error", onError); } return config.run().then(() => { return config; }) .catch((error) => { return Promise.reject(error); }); }; module.exports = { runSourceConnector, runSinkConnector, ConverterFactory }