mirror of https://github.com/BTCPrivate/copay.git
Merge pull request #1257 from eordano/feature/jsdoc1
Improve Copay's documentation: an example
This commit is contained in:
commit
63db84af2a
|
@ -22,7 +22,8 @@
|
||||||
"mousetrap": "1.4.6",
|
"mousetrap": "1.4.6",
|
||||||
"zeroclipboard": "~1.3.5",
|
"zeroclipboard": "~1.3.5",
|
||||||
"ng-idle": "*",
|
"ng-idle": "*",
|
||||||
"underscore": "~1.7.0"
|
"underscore": "~1.7.0",
|
||||||
|
"assert": "~0.1.0"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"angular": "=1.2.19"
|
"angular": "=1.2.19"
|
||||||
|
|
76
js/log.js
76
js/log.js
|
@ -1,5 +1,22 @@
|
||||||
var config = require('../config');
|
var config = require('../config');
|
||||||
|
var _ = require('underscore');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @desc
|
||||||
|
* A simple logger that wraps the <tt>console.log</tt> methods when available.
|
||||||
|
*
|
||||||
|
* Usage:
|
||||||
|
* <pre>
|
||||||
|
* log = new Logger('copay');
|
||||||
|
* log.setLevel('info');
|
||||||
|
* log.debug('Message!'); // won't show
|
||||||
|
* log.setLevel('debug');
|
||||||
|
* log.debug('Message!', 1); // will show '[debug] copay: Message!, 1'
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @param {string} name - a name for the logger. This will show up on every log call
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
var Logger = function(name) {
|
var Logger = function(name) {
|
||||||
this.name = name || 'log';
|
this.name = name || 'log';
|
||||||
this.level = 2;
|
this.level = 2;
|
||||||
|
@ -14,15 +31,15 @@ var levels = {
|
||||||
'fatal': 5
|
'fatal': 5
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.keys(levels).forEach(function(level) {
|
_.each(levels, function(level, levelName) {
|
||||||
Logger.prototype[level] = function() {
|
Logger.prototype[levelName] = function() {
|
||||||
if (levels[level] >= levels[this.level]) {
|
if (level >= levels[this.level]) {
|
||||||
var str = '[' + level + '] ' + this.name + ': ' + arguments[0],
|
var str = '[' + levelName + '] ' + this.name + ': ' + arguments[0],
|
||||||
extraArgs,
|
extraArgs,
|
||||||
extraArgs = [].slice.call(arguments, 1);
|
extraArgs = [].slice.call(arguments, 1);
|
||||||
if (console[level]) {
|
if (console[levelName]) {
|
||||||
extraArgs.unshift(str);
|
extraArgs.unshift(str);
|
||||||
console[level].apply(console, extraArgs);
|
console[levelName].apply(console, extraArgs);
|
||||||
} else {
|
} else {
|
||||||
if (extraArgs.length) {
|
if (extraArgs.length) {
|
||||||
str += JSON.stringify(extraArgs);
|
str += JSON.stringify(extraArgs);
|
||||||
|
@ -33,9 +50,54 @@ Object.keys(levels).forEach(function(level) {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @desc
|
||||||
|
* Sets the level of a logger. A level can be any bewteen: 'debug', 'info', 'log',
|
||||||
|
* 'warn', 'error', and 'fatal'. That order matters: if a logger's level is set to
|
||||||
|
* 'warn', calling <tt>level.debug</tt> won't have any effect.
|
||||||
|
*
|
||||||
|
* @param {number} level - the name of the logging level
|
||||||
|
*/
|
||||||
Logger.prototype.setLevel = function(level) {
|
Logger.prototype.setLevel = function(level) {
|
||||||
this.level = level;
|
this.level = level;
|
||||||
}
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @class Logger
|
||||||
|
* @method debug
|
||||||
|
* @desc Log messages at the debug level.
|
||||||
|
* @param {*} args - the arguments to be logged.
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @class Logger
|
||||||
|
* @method info
|
||||||
|
* @desc Log messages at the info level.
|
||||||
|
* @param {*} args - the arguments to be logged.
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @class Logger
|
||||||
|
* @method log
|
||||||
|
* @desc Log messages at an intermediary level called 'log'.
|
||||||
|
* @param {*} args - the arguments to be logged.
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @class Logger
|
||||||
|
* @method warn
|
||||||
|
* @desc Log messages at the warn level.
|
||||||
|
* @param {*} args - the arguments to be logged.
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @class Logger
|
||||||
|
* @method error
|
||||||
|
* @desc Log messages at the error level.
|
||||||
|
* @param {*} args - the arguments to be logged.
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @class Logger
|
||||||
|
* @method fatal
|
||||||
|
* @desc Log messages at the fatal level.
|
||||||
|
* @param {*} args - the arguments to be logged.
|
||||||
|
*/
|
||||||
|
|
||||||
var logger = new Logger('copay');
|
var logger = new Logger('copay');
|
||||||
logger.setLevel(config.logLevel);
|
logger.setLevel(config.logLevel);
|
||||||
|
|
|
@ -28,6 +28,7 @@ module.exports = function(config) {
|
||||||
'lib/angular-route/angular-route.min.js',
|
'lib/angular-route/angular-route.min.js',
|
||||||
'lib/angular-foundation/mm-foundation.min.js',
|
'lib/angular-foundation/mm-foundation.min.js',
|
||||||
'lib/angular-foundation/mm-foundation-tpls.min.js',
|
'lib/angular-foundation/mm-foundation-tpls.min.js',
|
||||||
|
'lib/assert/assert.js',
|
||||||
'lib/bitcore.js',
|
'lib/bitcore.js',
|
||||||
'lib/underscore/underscore.js',
|
'lib/underscore/underscore.js',
|
||||||
'lib/crypto-js/rollups/sha256.js',
|
'lib/crypto-js/rollups/sha256.js',
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
},
|
},
|
||||||
"version": "0.4.7",
|
"version": "0.4.7",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"assert": "^1.1.2",
|
||||||
"browser-request": "^0.3.2",
|
"browser-request": "^0.3.2",
|
||||||
"mocha": "^1.18.2",
|
"mocha": "^1.18.2",
|
||||||
"mocha-lcov-reporter": "0.0.1",
|
"mocha-lcov-reporter": "0.0.1",
|
||||||
|
|
|
@ -46,11 +46,18 @@ var createBundle = function(opts) {
|
||||||
b.require('underscore', {
|
b.require('underscore', {
|
||||||
expose: 'underscore'
|
expose: 'underscore'
|
||||||
});
|
});
|
||||||
|
b.require('assert', {
|
||||||
|
expose: 'assert'
|
||||||
|
});
|
||||||
|
|
||||||
b.require('./copay', {
|
b.require('./copay', {
|
||||||
expose: 'copay'
|
expose: 'copay'
|
||||||
});
|
});
|
||||||
b.require('./version');
|
b.require('./version');
|
||||||
|
|
||||||
|
b.require('./js/log', {
|
||||||
|
expose: '../js/log'
|
||||||
|
});
|
||||||
// b.external('bitcore');
|
// b.external('bitcore');
|
||||||
b.require('./js/models/core/WalletFactory', {
|
b.require('./js/models/core/WalletFactory', {
|
||||||
expose: '../js/models/core/WalletFactory'
|
expose: '../js/models/core/WalletFactory'
|
||||||
|
|
Loading…
Reference in New Issue