Skip to content

Commit f2696d3

Browse files
committed
Initial commit
0 parents  commit f2696d3

File tree

8 files changed

+248
-0
lines changed

8 files changed

+248
-0
lines changed

.editorconfig

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# editorconfig.org
2+
root = true
3+
4+
[*]
5+
end_of_line = lf
6+
charset = utf-8
7+
trim_trailing_whitespace = true
8+
insert_final_newline = true
9+
indent_style = space
10+
indent_size = 4

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.DS_Store
2+
node_modules

.jscsrc

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"validateIndentation": 4
3+
}

.jshintrc

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
// Enforcing options
3+
"eqeqeq": false,
4+
"forin": true,
5+
"indent": 4,
6+
"noarg": true,
7+
"undef": true,
8+
"unused": true,
9+
"trailing": true,
10+
"evil": true,
11+
"laxcomma": true,
12+
13+
// Relaxing options
14+
"onevar": false,
15+
"asi": false,
16+
"eqnull": true,
17+
"expr": false,
18+
"loopfunc": true,
19+
"sub": true,
20+
"browser": true,
21+
"node": true,
22+
"globals": {
23+
"self": true,
24+
"define": true,
25+
"describe": true,
26+
"context": true,
27+
"it": true
28+
}
29+
}

README.md

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# async.util
2+
3+
![Last version](https://img.shields.io/github/tag/async-js/async.util.svg?style=flat-square)
4+
[![Build Status](http://img.shields.io/travis/async-js/async.util/master.svg?style=flat-square)](https://travis-ci.org/async-js/async.util)
5+
[![Dependency status](http://img.shields.io/david/async-js/async.util.svg?style=flat-square)](https://david-dm.org/async-js/async.util)
6+
[![Dev Dependencies Status](http://img.shields.io/david/dev/async-js/async.util.svg?style=flat-square)](https://david-dm.org/async-js/async.util#info=devDependencies)
7+
[![NPM Status](http://img.shields.io/npm/dm/async.util.svg?style=flat-square)](https://www.npmjs.org/package/async.util)
8+
[![Donate](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square)](https://paypal.me/kikobeats)
9+
10+
> A set of helpers used across async methods
11+
12+
## Install
13+
14+
```bash
15+
npm install async.util --save
16+
```
17+
18+
## Methods
19+
20+
- [`applyeach`]()
21+
- [`arrayeach`]()
22+
- [`asyncify`]()
23+
- [`concat`]()
24+
- [`consolefn`]()
25+
- [`createtester`]()
26+
- [`doparallel`]()
27+
- [`doparallellimit`]()
28+
- [`doseries`]()
29+
- [`eachoflimit`]()
30+
- [`ensureasync`]()
31+
- [`filter`]()
32+
- [`findgetresult`]()
33+
- [`foreachof`]()
34+
- [`identity`]()
35+
- [`indexof`]()
36+
- [`isarray`]()
37+
- [`isarraylike`]()
38+
- [`isobject`]()
39+
- [`keyiterator`]()
40+
- [`keys`]()
41+
- [`map`]()
42+
- [`mapasync`]()
43+
- [`nexttick`]()
44+
- [`noop`]()
45+
- [`notid`]()
46+
- [`once`]()
47+
- [`onlyonce`]()
48+
- [`parallel`]()
49+
- [`queue`]()
50+
- [`range`]()
51+
- [`reduce`]()
52+
- [`reject`]()
53+
- [`restparam`]()
54+
- [`setimmediate`]()
55+
- [`times`]()
56+
- [`tobool`]()
57+
- [`withoutindex`]()

gulpfile.js

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
'use strict';
2+
3+
var fs = require('fs-extra');
4+
var gulp = require('gulp');
5+
var path = require('path');
6+
var modulesPath = './util/';
7+
var pkg = require('./package.json');
8+
var jsonFuture = require('json-future');
9+
10+
function getFolders(dir) {
11+
return fs.readdirSync(dir)
12+
.filter(function(file) {
13+
var isDirectory = fs.statSync(path.join(dir, file)).isDirectory();
14+
return file !== 'node_modules' && isDirectory;
15+
});
16+
}
17+
18+
function generatePackage(name) {
19+
20+
function generateKeywords(name) {
21+
var keywords = [
22+
'async.util'
23+
];
24+
25+
keywords.push(name);
26+
return keywords;
27+
}
28+
29+
function generateDefaultFields(name) {
30+
var ORIGINAL_FIELDS = [
31+
'author',
32+
'version',
33+
'repository',
34+
'license'
35+
];
36+
37+
var structure = {
38+
name: 'async.util.' + name,
39+
main: './index.js',
40+
repository: "async-js/async.util." + name,
41+
homepage: "https://github.com/async-js/async.util." + name,
42+
bugs: {
43+
url: "https://github.com/async-js/async.util." + name + "/issues"
44+
},
45+
};
46+
47+
ORIGINAL_FIELDS.forEach(function(field) {
48+
structure[field] = pkg[field];
49+
});
50+
51+
return structure;
52+
}
53+
54+
var modulePackage = generateDefaultFields(name);
55+
modulePackage.keywords = generateKeywords(name);
56+
return modulePackage;
57+
}
58+
59+
function copyMetaFiles(dist) {
60+
var files = ['.editorconfig', '.jscsrc', '.jshintrc'];
61+
62+
files.forEach(function(file) {
63+
var metafile = path.resolve(file);
64+
var distFile = path.resolve(dist, file);
65+
fs.copySync(metafile, distFile);
66+
});
67+
}
68+
69+
gulp.task('package', function() {
70+
return getFolders(modulesPath).map(function(module) {
71+
var dist = path.resolve(modulesPath, module);
72+
jsonFuture.save(path.resolve(dist, 'package.json'), generatePackage(module));
73+
copyMetaFiles(dist);
74+
});
75+
});

index.js

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
module.exports = {
2+
applyeach: require('./util/applyeach'),
3+
arrayeach: require('./util/arrayeach'),
4+
asyncify: require('./util/asyncify'),
5+
concat: require('./util/concat'),
6+
consolefn: require('./util/consolefn'),
7+
createtester: require('./util/createtester'),
8+
doparallel: require('./util/doparallel'),
9+
doparallellimit: require('./util/doparallellimit'),
10+
doseries: require('./util/doseries'),
11+
eachoflimit: require('./util/eachoflimit'),
12+
ensureasync: require('./util/ensureasync'),
13+
filter: require('./util/filter'),
14+
findgetresult: require('./util/findgetresult'),
15+
foreachof: require('./util/foreachof'),
16+
identity: require('./util/identity'),
17+
indexof: require('./util/indexof'),
18+
isarray: require('./util/isarray'),
19+
isarraylike: require('./util/isarraylike'),
20+
isobject: require('./util/isobject'),
21+
keyiterator: require('./util/keyiterator'),
22+
keys: require('./util/keys'),
23+
map: require('./util/map'),
24+
mapasync: require('./util/mapasync'),
25+
nexttick: require('./util/nexttick'),
26+
noop: require('./util/noop'),
27+
notid: require('./util/notid'),
28+
once: require('./util/once'),
29+
onlyonce: require('./util/onlyonce'),
30+
parallel: require('./util/parallel'),
31+
queue: require('./util/queue'),
32+
range: require('./util/range'),
33+
reduce: require('./util/reduce'),
34+
reject: require('./util/reject'),
35+
restparam: require('./util/restparam'),
36+
setimmediate: require('./util/setimmediate'),
37+
times: require('./util/times'),
38+
tobool: require('./util/tobool'),
39+
withoutindex: require('./util/withoutindex')
40+
};

package.json

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"name": "async.util",
3+
"description": "A set of helpers used across async methods",
4+
"homepage": "https://github.com/async-js/async.util",
5+
"author": {
6+
"email": "josefrancisco.verdu@gmail.com",
7+
"name": "Kiko Beats",
8+
"url": "https://github.com/Kikobeats"
9+
},
10+
"version": "0.0.1",
11+
"main": "./index.js",
12+
"repository": "async-js/async.util",
13+
"bugs": {
14+
"url": "https://github.com/async-js/async.util/issues"
15+
},
16+
"keywords": [
17+
"async-js",
18+
"async.util"
19+
],
20+
"devDependencies": {
21+
"fs-extra": "~0.26.3",
22+
"gulp": "~3.9.0",
23+
"jscs": "^1.13.1",
24+
"jshint": "~2.8.0",
25+
"json-future": "~1.1.2"
26+
},
27+
"scripts": {
28+
"lint": "jshint util && jscs util",
29+
"test": "npm run lint"
30+
},
31+
"license": "MIT"
32+
}

0 commit comments

Comments
 (0)