util: start using path module. remove some functions.

This commit is contained in:
Christopher Jeffrey 2017-06-27 01:23:27 -07:00
parent 8358fa59c6
commit b26b82ab97
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD
6 changed files with 33 additions and 65 deletions

View File

@ -9,6 +9,7 @@
'use strict';
var assert = require('assert');
var path = require('path');
var EventEmitter = require('events').EventEmitter;
var util = require('../utils/util');
var co = require('../utils/co');
@ -691,7 +692,7 @@ AuthDB.prototype.readKnown = async function readKnown() {
if (!this.prefix)
return;
file = this.prefix + '/known-peers';
file = path.join(this.prefix, 'known-peers');
try {
text = await fs.readFile(file, 'utf8');
@ -769,7 +770,7 @@ AuthDB.prototype.readAuth = async function readAuth() {
if (!this.prefix)
return;
file = this.prefix + '/authorized-peers';
file = path.join(this.prefix, 'authorized-peers');
try {
text = await fs.readFile(file, 'utf8');

View File

@ -7,6 +7,7 @@
'use strict';
var assert = require('assert');
var path = require('path');
var util = require('../utils/util');
var IP = require('../utils/ip');
var co = require('../utils/co');
@ -1634,7 +1635,7 @@ HostListOptions.prototype.fromOptions = function fromOptions(options) {
if (options.prefix != null) {
assert(typeof options.prefix === 'string');
this.prefix = options.prefix;
this.filename = this.prefix + '/hosts.json';
this.filename = path.join(this.prefix, 'hosts.json');
}
if (options.filename != null) {

View File

@ -7,9 +7,10 @@
'use strict';
var assert = require('assert');
var path = require('path');
var os = require('os');
var fs = require('../utils/fs');
var util = require('../utils/util');
var os = require('os');
var HOME = os.homedir();
/**
@ -24,10 +25,11 @@ function Config(module) {
return new Config(module);
assert(typeof module === 'string');
assert(module.length > 0);
this.module = module;
this.network = 'main';
this.prefix = HOME + '/.' + module;
this.prefix = path.join(HOME, '.' + module);
this.options = Object.create(null);
this.data = Object.create(null);
@ -522,7 +524,7 @@ Config.prototype.func = function func(key, fallback) {
* @returns {String|null}
*/
Config.prototype.path = function path(key, fallback) {
Config.prototype.path = function _path(key, fallback) {
var value = this.str(key);
if (fallback === undefined)
@ -533,16 +535,16 @@ Config.prototype.path = function path(key, fallback) {
switch (value[0]) {
case '~': // home dir
value = HOME + value.substring(1);
value = path.join(HOME, value.substring(1));
break;
case '@': // prefix
value = this.prefix + value.substring(1);
value = path.join(this.prefix, value.substring(1));
break;
default: // cwd
break;
}
return util.normalize(value);
return path.normalize(value);
};
/**
@ -593,20 +595,20 @@ Config.prototype.getPrefix = function getPrefix() {
if (prefix) {
if (prefix[0] === '~')
prefix = HOME + prefix.substring(1);
prefix = path.join(HOME, prefix.substring(1));
return prefix;
}
prefix = HOME + '/.' + this.module;
prefix = path.join(HOME, '.' + this.module);
network = this.str('network');
if (network) {
assert(isAlpha(network), 'Bad network.');
if (network !== 'main')
prefix += '/' + network;
prefix = path.join(prefix, network);
}
return util.normalize(prefix);
return path.normalize(prefix);
};
/**
@ -617,12 +619,12 @@ Config.prototype.getPrefix = function getPrefix() {
*/
Config.prototype.getFile = function getFile(file) {
var path = this.str('config');
var name = this.str('config');
if (path)
return path;
if (name)
return name;
return this.prefix + '/' + file;
return path.join(this.prefix, file);
};
/**
@ -644,7 +646,7 @@ Config.prototype.ensure = function ensure() {
*/
Config.prototype.location = function location(file) {
return this.prefix + '/' + file;
return path.join(this.prefix, file);
};
/**

View File

@ -12,6 +12,7 @@
*/
var BN = require('bn.js');
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;
var encoding = exports;
/**
@ -352,7 +353,7 @@ encoding._write64 = function _write64(dst, num, off, be) {
num -= 1;
}
enforce(num <= Number.MAX_SAFE_INTEGER, off, 'Number exceeds 2^53-1');
enforce(num <= MAX_SAFE_INTEGER, off, 'Number exceeds 2^53-1');
lo = num % 0x100000000;
hi = (num - lo) / 0x100000000;

View File

@ -7,6 +7,7 @@
'use strict';
var fs = require('fs');
var path = require('path');
var co = require('./co');
exports.access = co.promisify(fs.access);
@ -87,11 +88,11 @@ exports.writeFileSync = fs.writeFileSync;
exports.mkdirpSync = function mkdirpSync(dir, mode) {
var data = getParts(dir);
var parts = data.parts;
var path = data.path;
var path = data.root;
var i, stat;
if (mode == null)
mode = 488; // 0755
mode = 0o750;
for (i = 0; i < parts.length; i++) {
path += parts[i];
@ -114,11 +115,11 @@ exports.mkdirpSync = function mkdirpSync(dir, mode) {
exports.mkdirp = async function mkdirp(dir, mode) {
var data = getParts(dir);
var parts = data.parts;
var path = data.path;
var path = data.root;
var i, stat;
if (mode == null)
mode = 488; // 0755
mode = 0o750;
for (i = 0; i < parts.length; i++) {
path += parts[i];
@ -139,28 +140,28 @@ exports.mkdirp = async function mkdirp(dir, mode) {
};
function getParts(path) {
var root = '';
var parts;
path = path.replace(/\\/g, '/');
path = path.replace(/(^|\/)\.\//, '$1');
path = path.replace(/\/+\.?$/, '');
parts = path.split(/\/+/);
path = '';
if (process.platform === 'win32') {
if (parts[0].indexOf(':') !== -1)
path = parts.shift() + '/';
root = parts.shift() + '/';
}
if (parts.length > 0) {
if (parts[0].length === 0) {
parts.shift();
path = '/';
root = '/';
}
}
return {
path: path,
root: root,
parts: parts
};
}

View File

@ -792,26 +792,6 @@ util.binaryRemove = function binaryRemove(items, item, compare) {
return true;
};
/**
* Normalize a path.
* @param {String} path
* @param {Boolean?} dirname
*/
util.normalize = function normalize(path, dirname) {
var parts;
path = path.replace(/\\/g, '/');
path = path.replace(/(^|\/)\.\//, '$1');
path = path.replace(/\/+\.?$/, '');
parts = path.split(/\/+/);
if (dirname)
parts.pop();
return parts.join('/');
};
/**
* Ensure hidden-class mode for object.
* @param {Object} obj
@ -850,24 +830,6 @@ if (!''.startsWith) {
};
}
/**
* Promisify a function.
* @param {Function} func
* @returns {Function}
*/
util.promisify = function promisify(func) {
return function() {
var result;
try {
result = func.apply(this, arguments);
} catch (e) {
return Promise.reject(e);
}
return Promise.resolve(result);
};
};
/**
* Get memory usage info.
* @returns {Object}