Skip to content

Commit

Permalink
Updated dev dependencies and cleaned up repo
Browse files Browse the repository at this point in the history
  • Loading branch information
zewish committed Dec 22, 2016
1 parent fa5ec83 commit b17039a
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 76 deletions.
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"name": "prottle",
"version": "1.0.2",
"version": "1.0.3",
"description": "Promise.all() throttle",
"main": "src/index.js",
"main": "prottle.js",
"scripts": {
"test": "mocha ./test/*.test.js"
"test": "mocha ./*.test.js"
},
"author": "Iskren Slavov <iskren.s@gmail.com>",
"license": "BSD-2-Clause",
"devDependencies": {
"chai": "^3.5.0",
"chai-as-promised": "^6.0.0",
"mocha": "^3.1.0"
"mocha": "^3.2.0"
},
"keywords": [
"promise",
Expand Down
13 changes: 11 additions & 2 deletions src/execute.js → prottle.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,18 @@
let EventEmitter = require('events');

module.exports = (limit, arr) => {
let promises = [].concat(arr);
limit = parseInt(limit);

let results = []
if (isNaN(limit) || limit <= 0) {
return Promise.reject(Error('Limit must be at least 1'));
}

if (!Array.isArray(arr)) {
return Promise.reject(Error('Array of promises required'));
}

let promises = [].concat(arr)
, results = []
, emitter = new EventEmitter();

let run = (batch, id) => {
Expand Down
42 changes: 35 additions & 7 deletions test/execute.test.js → prottle.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,43 @@ require('chai')
.use(require('chai-as-promised'))
.should();

describe('execute.js', () => {
let execute;
describe('prottle.js', () => {
let prottle;

beforeEach(() => {
execute = require('../src/execute.js');
prottle = require('./prottle.js');
});

it('exports a fn', () => {
execute.should.be.a('function');
prottle.should.be.a('function');
});

it('rejects with limit error', () => {
return prottle()
.catch((err) => {
err.message.should.equal('Limit must be at least 1');
});
});

it('rejects with limit error', () => {
return prottle(0)
.catch((err) => {
err.message.should.equal('Limit must be at least 1');
});
});

it('rejects with limit error', () => {
return prottle('dsad')
.catch((err) => {
err.message.should.equal('Limit must be at least 1');
});
});

it('rejects with array error', () => {
return prottle(1, 'boo')
.catch((err) => {
err.message.should.equal('Array of promises required');
});
});

it('does not modify given array', () => {
Expand All @@ -24,14 +52,14 @@ describe('execute.js', () => {

let length = arr.length;

return execute(1, arr)
return prottle(1, arr)
.then(() => {
arr.length.should.equal(length);
});
});

it('resolves', () => {
return execute(3, [
return prottle(3, [
() => Promise.resolve(1)
, () => Promise.resolve(2)
, () => Promise.resolve(3)
Expand All @@ -42,7 +70,7 @@ describe('execute.js', () => {
});

it('rejects', () => {
return execute(2, [
return prottle(2, [
() => Promise.resolve(1)
, () => Promise.resolve(2)
, () => Promise.resolve(3)
Expand Down
17 changes: 0 additions & 17 deletions src/index.js

This file was deleted.

46 changes: 0 additions & 46 deletions test/index.test.js

This file was deleted.

0 comments on commit b17039a

Please sign in to comment.