0.4.1 • Published 5 years ago

sukurapa v0.4.1

Weekly downloads
15
License
MIT
Repository
github
Last release
5 years ago

Synopsis

A simple project to fetch data from a reader and push it to a writer

Code Example

To use you need to implement a reader:

class MyReader {
    constructor() {
        this.data = [ "foo", "bar" ];
    }

    // Setup your reader and return a promise that resolves when everything is ready
    prepare() {
        return new Promise(resolve => resolve());
    }

    // This method will be called every time the library needs more data.
    next() {
        return new Promise(resolve => {
            let entry = this.data.pop();
    
            // Your object needs to have an id property. That will be used as the couchdb id (for example)
            resolve({
                id: entry,
                value: entry
            });
        });
    }

    // This method is called before each iteration to know if there's more data to read
    hasNext() {
        return this.data.length !== 0;
    }
    
    // At the end this method is called to finish up anything you need on your reader
    finish() {
        return new Promise(resolve => resolve());
    }
}

// And then pass it to the library along with an instance of a Writer:

const Sukurapa = require('sukurapa');
const CouchWriter = require('@sukurapa/writer-couch');

// Build a new instance of the library
const instance = new Sukurapa({
    reader: new MyReader(),
    writer: new CouchWriter({
        connection: "http://127.0.0.1:5984",
        storeName: 'my_store'
    })
});

// And run it
instance.run().then(
    stats => console.log(stats),
    err => console.error(err.message, err)
);

Installation

Install using NPM:

npm install sukurapa

Available Writers

License

Licensed under the MIT license

0.4.1

5 years ago

0.4.0

5 years ago

0.3.2

6 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago