Collection of Node.js / ECMAScript Gists
npm install jinang# jinang
__Collection of Node.js / ECMAScript Mini Modules__






> Other Languages / 敬请等待 / 敬請等待
> If links in this document not avaiable, please access README on GitHub directly.
__jinang__ is a collection of Node.js / ECMAScript mini modules.
The name jinang is abbreviation of "Jin-Nang", which in Chinese means a magic box. The modules in __jinang__ are independent for each other, and are for different usage.
__jinang__ is an incubator. Successful sub modules may be encouraged to be published as independent NPM packages.
Here is its pedigree.
!jinang.pedigree
* Get Started
* API
Why jinang*
* The Incubated
## Get Started
``javascript
// Modules are independent for each other and are suggested to be required independently.
const defineError = require('jinang/defineError');
const MyError = defineError('MyError', Error, function(message) {
this.code = 'SOMETHING_IS_WRONG';
this.message = message;
});
// ...
throw new MyError('Helo word!');
`
## API
All sub-modules in __jinang__ are independent from each other. Use require('jinang/ to require the sub-modules.
For your convenience, avaiable modules included in jinang are listed here (alphabetically sorted):
* absorb :
Concatenate following array(s) to the firt one.
* cloneObject :
Copy some / all properties from object and return a new one.
* co :
A wrapper of generator function.
* currying :
Make function curried.
* bufferReplace:
Return a new buffer with all matches replaced.
* defineError :
Create customised Error class.
* Directory :
Make it easier to manage a directory.
* forInObject :
The combination of For...In and For...Of.
* isGenerator :
Judge whether it is a Generator.
* isGeneratorFunction :
Judge whether it is a Generator Function.
* jointString :
Concatenate strings with specified joint.
* JsonFile :
Wrapper of a JSON file.
* modifyUrl :
Modify URLs.
* open :
Open URI with matched application.
* ordinal :
Acquire the ordinal form of a natural number.
* ott :
Wrap a function to allow it invoked only once, twice or thrice.
* readable2buffer :
Read a stream and callback with a buffer.
* papply :
Partial application of a function.
* parseOptions :
Intelligently parse an option object.
* PoC :
Promise or Callback.
* Progress :
Progress simulator.
* promiseRejectionAutoHandle :
Avoid console warning when no cather defined.
* promisible :
Something like util.promisify()` but the common error-first callback mode still available.
* safeClone :
A deep and partial clone method.
* sleep :
Make current process to "sleep" for a while.
* sogo :
To set something into object, or get something from object.
* sort :
Sort an array.
* split :
Split string in different ways.
* table :
Create a printable table or print a table directly in console.
* trim :
Trim everything.
* TxtFile :
Wrapper of a .txt file.
* unescaping :
A tiny and flexible template render.
* uniq :
Compare sibling items in an array and ignore the replications.
* write :
Write into a file. If file not exists, create it.
__jinang__ is an incubator for creatives which will make programming with Node.js much easier.
Only mini modules without any dependencies may be put into __jinang__. Although every module is small enough, they all will be maintained carefully and seriously.
* piui
from table
* undertake
from co, isGenerator and isGeneratorFunction