mirror of
https://github.com/IonicaBizau/git-stats.git
synced 2024-12-22 13:22:11 +01:00
Added the getConfig and initConfig methods
This commit is contained in:
parent
7865ddcbcc
commit
f28e390309
1 changed files with 45 additions and 0 deletions
45
lib/index.js
45
lib/index.js
|
@ -35,6 +35,7 @@ const DATE_FORMAT = "MMM D, YYYY"
|
||||||
*/
|
*/
|
||||||
function GitStats(dataPath) {
|
function GitStats(dataPath) {
|
||||||
this.path = Abs(Deffy(dataPath, DEFAULT_STORE));
|
this.path = Abs(Deffy(dataPath, DEFAULT_STORE));
|
||||||
|
this.config = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Defaults
|
// Defaults
|
||||||
|
@ -66,6 +67,50 @@ GitStats.DEFAULT_CONFIG = {
|
||||||
, global_activity: false
|
, global_activity: false
|
||||||
};
|
};
|
||||||
|
|
||||||
|
GitStats.prototype.getConfig = function (callback) {
|
||||||
|
if (callback) {
|
||||||
|
ReadJson(CONFIG_PATH, function (err, data) {
|
||||||
|
callback(err && err.code !== "ENOENT" ? err : null, data || {});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
return ReadJson(CONFIG_PATH);
|
||||||
|
} catch (err) {
|
||||||
|
if (err.code !== "ENOENT") {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GitStats.prototype.initConfig = function (input, callback) {
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
if (Typpy(input, Function)) {
|
||||||
|
callback = input;
|
||||||
|
input = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
input = input || CONFIG_PATH;
|
||||||
|
|
||||||
|
// Handle object input
|
||||||
|
if (Typpy(input, Object)) {
|
||||||
|
this.config = Ul.deepMerge(this.config, GitStats.DEFAULT_CONFIG);
|
||||||
|
callback && callback(null, this.config);
|
||||||
|
return this.config;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (callback) {
|
||||||
|
this.getConfig(function (err, data) {
|
||||||
|
if (err) { return callback(err); }
|
||||||
|
self.initConfig(data, callback);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.initConfig(this.getConfig());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* record
|
* record
|
||||||
* Records a new commit.
|
* Records a new commit.
|
||||||
|
|
Loading…
Reference in a new issue