sygtools
v0.2.7
Published
A collection of useful enhancements for JavaScript and its lack of handy tools to make your day even more enjoyable.
Downloads
8
Readme
Node.js SygTools
A collection of useful enhancements for JavaScript and its lack of handy tools to make your day even more enjoyable. Crafted by [email protected]
Important
Please note that this is my first node module release ever,
and a lot of functionality is still missing.
This version already comes with a small, useful tool, which I decided to call "List".
Check the Usage section for further information on how to use it and what to do with it.
Installation
npm install sygtools --save
Usage
Require
var toolBox = require('sygtools');
Example: List
var List = toolBox.List;
// Create a new List object that will accept any kind of data.
var myList = new List();
// The Basics: add, get, set and remove data.
myList.add(3);
myList.add([1, 3, 5, 3, 4, 9]);
myList.remove([ 5, 9 ]);
myList.removeFirst();
myList.set(3, 7);
console.log(myList.getAll());
// ...see what I did there? <^-^>
// Let's create a second List for some more action.
// We now also provide a validation type (number),
// meaning this List will only accept data of the JavaScript Type 'number'.
// Any JavaScript Type can be passed here - if you pass null, no validation will occur.
// As the second parameter, we pass some data directly into initialization.
var myOtherList = new List('number', [3, 6, 7]);
// Comparison functions:
var matches = myList.compare(myOtherList); // Will return [ 3, 7 ]
var difference = myList.differ(myOtherList); // Will return [ 1, 6 ]
// Why does JavaScript not natively support a clone() function?
// Nevermind, I made one.
var arraysAreBad = myList.clone();
var useless = arraysAreBad.getAll();
var prettyUseful = List().fromArray(useless);
console.log(prettyUseful.contains(1));
// Object-Oriented functions:
var users = new List();
users.add({ name: 'Derser', hobbies: [ 'Music', 'Mushroom', 'Unicorn' ]});
users.add({ name: 'Dave', food: { favourite: 'Sushi' }});
var derser = users.findOne('name', 'Derser');
console.log(derser.hobbies);
Example: FileWizard
// Read a Json File directly and receive a new object
var myConfig = new FileWizard().parseJson('./config.json');
// ...also works asynchronously for larger files:
var myData = {};
new FileWizard().parseJsonAsync('./data.json', function(e, data)) {
if (e) console.log(e);
myData = data;
}
// ...more Features to come.
This will be expanded for richer documentation in the future.
Release History
* 0.1.0 Initial Release
* 0.2.0 Fixed a few consistency issues
* 0.2.1 Fixed a bug which made the module breathe fire
* 0.2.2 Keep finding bugs synchronously with publishing
* 0.2.3 Added unit tests and enhanced the find() and findeOne() methods of the List class.
* 0.2.4 Added Tests
* 0.2.5 Added a new Tool: The FileWizard. Pretty useless atm, will get enhanced each update.
* 0.2.6 Added an iteration loop function 'List.step(function(element) { })'