util: start using path module. remove some functions.
This commit is contained in:
parent
8358fa59c6
commit
b26b82ab97
@ -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');
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
};
|
||||
}
|
||||
|
||||
@ -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}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user