js.utils v0.2.11
js.utils
Object
- copy/clone an object
- contains - Validates if an object contains a given value
- empty - Validates is the object empty
NPM
- info - Get information about the list of installed packages
- installed - Check if a package has already been installed
Template
- Load and compile a template with underscore
Task
- Lint, concat and/or minify a set of resources (currently JS file type supported)
Usage
Initial settings
- Set the log on/off (by default set to on)
Object
Copy the 'srcobj' to the 'destobj'
<pre><code>var destobj = {},
srcobj = {foo: 'foo'}; require("js.utils").Object.copy(srcobj, destobj);
Validates if 'foo' exists in a given array
<pre><code>require("js.utils").Object.contains(['foo'], 'foo');
Validates if an object is empty
<pre><code>require("js.utils").Object.empty({});
NPM
get all local packages information
<pre><code>require("js.utils").NPM.info({details: true}, function(err) { var data = this.data; // go over the array data data.forEach(function(item) { if (item) { console.log(" details: ", JSON.stringify(item.get("details"))); } }); });
check if the package 'bower' was installed
<pre><code>require("js.utils").NPM.installed({list: ["bower"]}, function(err) { console.log("Bower was: ", (this.data.bower ? "" : "not"), " installed"); });
Template
- Compile a given template as a file or string value using underscore (Mustache Style).
<pre><code>var out = require("js.utils").Template.template({ content: "Custom content Test was loaded {{status}}.", name: "templateTest", data: { status: "successfully" } });
Task
Prepare your resources for Development (dev api) and/or Production (prod api) with JSHint & UglifyJS
<pre><code> require("js.utils").Task.dev([{ src: ["./test/resources/test1.js","./test/resources/test2.js" ], out: { banner: "This is a test minified content", name: "testx-min.js", path: "./test/out" } }, { src: ["./test/resources/test1.js","./test/resources/test2.js" ], out: { banner: "This is a test minified content", name: "testy-min.js", path: "./test/out" } }]);
Or use separate API minify/jshint/concat
<pre><code> require("js.utils").Task.jshint({ src: ["./test/resources/test1.js"] }); require("js.utils").Task.minify({ src: ["./test/resources/test1.js","./test/resources/test2.js" ] })
Browser Support
Usage
AMD
See jsutilswebRequire-min.js file, as an example of requirejs project style
define([], function() {
var jsutilsOnReady = function(obj, arr, tpl) { // use object, array or template }; return jsutilsOnReady;
});
None AMD
- js.utils global variables for the web:
- jsutilsObject;
- jsutilsArray;
- jsutilsTemplate;
- js.utils global variables for the web:
Download
None AMD
- with NO dependencies: jsutils-min.js
- manually download
- with dependencies: jsutils-min-all.js
- underscore is already inside
- with NO dependencies: jsutils-min.js
AMD
Reference
Object
- copy(srcobj, destobj, override)
- srcobj {Object} The source object
- destobj {Object} The destination object
- override {Object} Override the existing property (deault to false)
- contains(obj, value)
- obj {Object} The referenced object
- value {Object} The value to be searched
- empty(srcobj) + srcobj {Object} The object reference returns {boolean} If the object is null || undefined || has no values {} return true or else false
- resolve(srcobj)
- srcobj {Object} The object reference
NPM
info(config, callback)
- config properties:
- global {Boolean} the packages are global, optional values are true/false (defaults to false)
- details {Boolean} Whether to display the full details or just the basic details. (defaults to false)
- list {Array} specific list of packages names (or else result all)
- depth {string} npm argument for how deep the rabbit hole goes (defaults to 10)
- -1 for unlimited (Not recommended, NPM will might throw an error about "max depth reached")
- callback {Function} callback function for collecting the results. (get the data: this.data)
- err {String} In case an error occurred this variable will contain the error data or else 'undefined'
- this.data {Object} Array object containing the information about the packages that was found. Array item - instance of Package class
- config properties:
installed(config, callback)
- config properties:
- global {Boolean} the packages are global, optional values are true/false
- list {Array} specific list of packages names (or else result all)
- depth {string} npm argument for how deep the rabbit hole goes.
- -1 for unlimited (Not recommended, NPM will might throw an error about "max depth reached")
- callback {Function} callback function for collecting the results. (get the data: this.data)
- err {String} In case an error occurred this variable will contain the error data or else 'undefined'
- this.data {Object} An object containing the packages names with a true/false value indicating if the package installed.
- config properties:
Package class
- getDetails Get the full details if the 'details' flag was set to true
- getName Get the package name
- get(key) Get the property by its key
- opt keys 'name', 'dependencies', 'detail', etc.. (see package.json for more information)
Template
- template(config)
- Config properties:
- name {String} The name of the template e.g. /scraps/test (optional in case content exists)
- path {String} The full path where the templates exists (optional) e.g. /home/../test.tpl
- content {String} The string content instead of the file content (optional in case name exists & overrides the file content)
- data {Object} The data object properties (see underscore template)
- Config properties:
Task
Behavior
- NPM List
For more information see the NPM docs
8 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago