gcl
Version:
码农村nodejs类库,完成解决回调陷阱,配置框架,IOC框架,统一多DB访问框架,可扩展日志框架和io/db/net/thread/pool 克隆表达式,加解密算法等等一系列基础类库和算法的实现
1,036 lines (890 loc) • 46.6 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Configs = exports.getApplicationConfigManagerFromDirSync = exports.getApplicationConfigManagerFromFileSync = exports.getApplicationConfigManagerSync = exports.getBaseConfigManagerSync = exports.getApplicationConfigManagerFromDir = exports.getApplicationConfigManagerFromFile = exports.getApplicationConfigManagerFromObj = exports.getApplicationConfigManagerFromJS = exports.getApplicationConfigManager = exports.getBaseConfigManager = exports.getConfigManagerFromDirSync = exports.getConfigManagerFromDir = exports.getConfigManagerFromFileSync = exports.getConfigManagerFromFile = exports.getConfigManagerFromJS = exports.getConfigManagerFromObj = exports.ConfigAdapter = exports.ConfigManager = exports.ProxyConfig = exports.AppSettings = exports.AppSettingsConfigConvert = exports.ConfigConvert = exports.Config = undefined;
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _tool = require('../common/tool');
var _tool2 = _interopRequireDefault(_tool);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _tool3 = require('./tool');
var _tool4 = _interopRequireDefault(_tool3);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* todo
* Config基础存储类 拥有getValue(k),setValue(k,v),merge(config)等方法
* @param
*/
var Config = exports.Config = function () {
function Config() {
(0, _classCallCheck3.default)(this, Config);
var _ = this;
_.data = {};
}
(0, _createClass3.default)(Config, [{
key: 'getValue',
value: function getValue(key) {
return this.data[key];
}
}, {
key: 'setValue',
value: function setValue(key, value) {
this.data[key] = value;
}
}, {
key: 'merge',
value: function merge(config) {
this.data = _tool2.default.merge(this.data, config.data);
}
}]);
return Config;
}();
/**
* ConfigConvert的基础类模型说明 基本上只有接口定义 未实现任何功能
*
*/
var ConfigConvert = exports.ConfigConvert = function () {
function ConfigConvert() {
(0, _classCallCheck3.default)(this, ConfigConvert);
this.needConfig = false;
}
(0, _createClass3.default)(ConfigConvert, [{
key: 'toConfig',
value: function toConfig() {
return null;
}
}, {
key: 'toStrings',
value: function toStrings(config) {
return "";
}
}]);
return ConfigConvert;
}();
/**
* ConfigConvert的基本定义负责将一个KeyValueMap转换成真实的config
*/
var AppSettingsConfigConvert = exports.AppSettingsConfigConvert = function (_ConfigConvert) {
(0, _inherits3.default)(AppSettingsConfigConvert, _ConfigConvert);
function AppSettingsConfigConvert() {
(0, _classCallCheck3.default)(this, AppSettingsConfigConvert);
return (0, _possibleConstructorReturn3.default)(this, (AppSettingsConfigConvert.__proto__ || (0, _getPrototypeOf2.default)(AppSettingsConfigConvert)).call(this));
}
(0, _createClass3.default)(AppSettingsConfigConvert, [{
key: 'toConfig',
value: function toConfig(val) {
var config = new Config();
val = _tool2.default.getValue(val, {});
for (var k in val) {
var v = val[k];
config.data[k] = v;
}
return config;
}
}]);
return AppSettingsConfigConvert;
}(ConfigConvert);
var AppSettings = exports.AppSettings = function AppSettings(cm, key) {
return cm.getConfigValue('AppSettings', key);
};
/**
* Config的代理,用于调用configmanger完成config的获取与赋值操作,保护ConfigManager的调用完整逻辑
*/
var ProxyConfig = exports.ProxyConfig = function (_Config) {
(0, _inherits3.default)(ProxyConfig, _Config);
function ProxyConfig(config, confkey) {
(0, _classCallCheck3.default)(this, ProxyConfig);
var _this2 = (0, _possibleConstructorReturn3.default)(this, (ProxyConfig.__proto__ || (0, _getPrototypeOf2.default)(ProxyConfig)).call(this));
var _pri = pri(_this2, { config: config, confkey: confkey }),
_ = _pri._,
__ = _pri.__;
return _this2;
}
(0, _createClass3.default)(ProxyConfig, [{
key: 'getValue',
value: function getValue(key) {
var _pri2 = pri(this),
_ = _pri2._,
__ = _pri2.__;
return __.config.getConfigValue(__.confkey, key);
}
}, {
key: 'setValue',
value: function setValue(key, value) {
var _pri3 = pri(this),
_ = _pri3._,
__ = _pri3.__;
return __.config.setConfigValue(__.confkey, key, value);
}
}, {
key: 'merge',
value: function merge(config) {
_tool2.default.shoeException("不支持的功能merge");
}
}]);
return ProxyConfig;
}(Config);
/**
* ConfigManager Config类库的核心类,负责完成链式连接,提供统一的接口供ConfigManager 获取值,并监控配置的变更
*/
var ConfigManager = exports.ConfigManager = function (_Config2) {
(0, _inherits3.default)(ConfigManager, _Config2);
function ConfigManager(parent, resource) {
(0, _classCallCheck3.default)(this, ConfigManager);
var _this3 = (0, _possibleConstructorReturn3.default)(this, (ConfigManager.__proto__ || (0, _getPrototypeOf2.default)(ConfigManager)).call(this));
var _pri4 = pri(_this3, { dic: {}, data: {}, hasUpdate: false, parent: parent, resource: resource }),
_ = _pri4._,
__ = _pri4.__;
if (!parent) {
__.dic['ConfigConverts'] = new ___.ConfigConvert();
}
_.adapter = ___.getConfigAdapter();
_.adapter.fill(_, __.dic, __.resource);
return _this3;
}
(0, _createClass3.default)(ConfigManager, [{
key: 'getConfig',
value: function getConfig(key) {
var _pri5 = pri(this),
_ = _pri5._,
__ = _pri5.__;
__.data[key] = __.data[key] || new ProxyConfig(_, key);
return __.data[key];
}
}, {
key: 'getConfigValue',
value: function getConfigValue(config, key) {
var _pri6 = pri(this),
_ = _pri6._,
__ = _pri6.__;
if (!__.dic[config]) return ___.getValue(__.parent, config, key);else {
return __.dic[config].getValue(key);
}
}
}, {
key: 'setConfigValue',
value: function setConfigValue(config, key, value) {
var _pri7 = pri(this),
_ = _pri7._,
__ = _pri7.__;
__.hasUpdate = true;
if (!__.dic[config]) ___.setValue(__.parent, config, key, value);else __.dic[config].setValue(key, value);
}
}, {
key: 'update',
value: function update() {
var _pri8 = pri(this),
_ = _pri8._,
__ = _pri8.__;
if (__.hasUpdate) _.adapter.update(_, __.dic, __.resource);
}
}, {
key: 'refill',
value: function refill() {
var _pri9 = pri(this),
_ = _pri9._,
__ = _pri9.__;
__.dic = {};
_.adapter.fill(_, __.dic, __.resource);
}
}]);
return ConfigManager;
}(Config);
var ConfigAdapter = exports.ConfigAdapter = function () {
function ConfigAdapter() {
(0, _classCallCheck3.default)(this, ConfigAdapter);
}
(0, _createClass3.default)(ConfigAdapter, [{
key: 'fill',
value: function fill(cm, dic, resource) {
resource = resource.load();
if (typeof resource == 'string') {
//拿到配置的JSON数据 比JSON不要求严格格式
resource = eval('(' + resource + ')');
}
for (var i in resource) {
if (i == 'base') continue; //放置base属性被误读
var convert = cm.getConfigValue('ConfigConverts', i);
if (!convert) {
_tool2.default.showException('ConfigConverts 没有找到对应的解析器' + i);
} else {
var val = convert.toConfig(resource[i], convert.needConfig ? cm : null);
if (!val) {
console.log('ConfigConverts 解析失败' + i + ':');
console.log(resource[i]);
} else {
if (dic[i]) {
dic[i].merge(val);
} else {
dic[i] = val;
}
}
}
}
}
}, {
key: 'update',
value: function update(cm, dic, resource) {
var data = {};
for (var i in dic) {
var convert = cm.getConfigValue('ConfigConverts', i);
if (!convert) {
_tool2.default.showException('ConfigConverts 没有找到对应的解析器' + i);
} else {
var val = convert.toString(dic[i]);
if (!val) {
console.log('ConfigConverts 解析失败' + i + ':');
console.log(dic[i]);
} else {
data[i] = val;
}
}
}
resource.save(_tool2.default.toJsonString(data));
}
}]);
return ConfigAdapter;
}();
var getConfigManagerFromObj = exports.getConfigManagerFromObj = function getConfigManagerFromObj(cm, obj) {
if (!obj) return cm;
return new ConfigManager(cm, function () {
return new (function () {
function _class() {
(0, _classCallCheck3.default)(this, _class);
var _pri10 = pri(this),
__ = _pri10.__;
if (typeof obj === 'string') {
obj = eval('(' + obj + ')');
}
}
(0, _createClass3.default)(_class, [{
key: 'load',
value: function load() {
return obj;
}
}, {
key: 'save',
value: function save() {
_tool2.default.showException('getConfigManagerFromObj不支持此方式');
}
}]);
return _class;
}())();
}());
};
var getConfigManagerFromJS = exports.getConfigManagerFromJS = function getConfigManagerFromJS(cm, path) {
if (!path) return cm;
return new ConfigManager(cm, function () {
return new (function () {
function _class2() {
(0, _classCallCheck3.default)(this, _class2);
if (typeof path === 'string') {
path = _tool2.default.include(path);
}
}
(0, _createClass3.default)(_class2, [{
key: 'load',
value: function load() {
return path;
}
}, {
key: 'save',
value: function save() {
_tool2.default.showException('getConfigManagerFromJS不支持此方式');
}
}]);
return _class2;
}())();
}());
};
/**
* 异步获取配置文件
* @param {*} cm
* @param {*} path
*/
var getConfigManagerFromFile = exports.getConfigManagerFromFile = function () {
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(cm, path) {
var _this4 = this;
var config, cm2, fill;
return _regenerator2.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
if (path) {
_context3.next = 2;
break;
}
return _context3.abrupt('return', cm);
case 2:
config = {};
cm2 = null;
fill = function () {
var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
var paths;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
paths = _tool2.default.isArray(path) ? path : path.split(';');
_context2.next = 3;
return _tool2.default.each(paths, function () {
var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(v) {
var _v, cont;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_v = v;
if (!(v.startWith('/') || v.startWith('\\'))) v = _tool4.default.execDir() + _tool2.default.environment.splitChar + v.trim('/').trim('\\');else v = _tool4.default.formatPath(v);
_context.next = 5;
return _tool2.default.callback(_fs2.default.readFile, _fs2.default, v);
case 5:
_context.t0 = _context.sent;
if (_context.t0) {
_context.next = 8;
break;
}
_context.t0 = '{}';
case 8:
cont = _context.t0;
cont = eval('(' + cont.toString('utf-8').replace(/(\s+\/\/[^\r\n]*[\r\n]*)+|[\r\n\s]+/g, ' ') + ')');
_tool2.default.merge(config, cont, true);
_fs2.default.watchFile(_v, fill);
return _context.abrupt('return', false);
case 15:
_context.prev = 15;
_context.t1 = _context['catch'](0);
console.log('\u8BFB\u53D6\u6587\u4EF6' + v + '\u9519\u8BEF:' + _context.t1.message);
throw new Error('\u8BFB\u53D6\u6587\u4EF6' + (path + '\\' + v) + '\u9519\u8BEF:' + _context.t1.message);
case 19:
case 'end':
return _context.stop();
}
}
}, _callee, _this4, [[0, 15]]);
}));
return function (_x3) {
return _ref3.apply(this, arguments);
};
}(), true).then(function () {
if (cm2) cm2.refill();else cm2 = new ConfigManager(cm, new (function () {
function _class3() {
(0, _classCallCheck3.default)(this, _class3);
}
(0, _createClass3.default)(_class3, [{
key: 'load',
value: function load() {
return config;
}
}, {
key: 'save',
value: function save() {
_tool2.default.showException('getConfigManagerFromFile不支持此方式');
}
}]);
return _class3;
}())());
});
case 3:
return _context2.abrupt('return', cm2);
case 4:
case 'end':
return _context2.stop();
}
}
}, _callee2, _this4);
}));
return function fill() {
return _ref2.apply(this, arguments);
};
}();
_context3.next = 7;
return fill();
case 7:
return _context3.abrupt('return', cm2);
case 8:
case 'end':
return _context3.stop();
}
}
}, _callee3, this);
}));
return function getConfigManagerFromFile(_x, _x2) {
return _ref.apply(this, arguments);
};
}();
/**
* 同步获取配置文件
* @param {*} cm
* @param {*} path
*/
var getConfigManagerFromFileSync = exports.getConfigManagerFromFileSync = function getConfigManagerFromFileSync(cm, path) {
if (!path) return cm;
var config = {};
var cm2 = null;
var fill = function fill() {
var paths = _tool2.default.isArray(path) ? path : path.split(';');
paths.forEach(function (v) {
try {
var _v = v;
if (!(v.startWith('/') || v.startWith('\\'))) v = _tool4.default.execDir() + _tool2.default.environment.splitChar + v.trim('/').trim('\\');else v = _tool4.default.formatPath(v);
var cont = _fs2.default.readFileSync(v) || '{}';
cont = eval('(' + cont.toString('utf-8').replace(/(\s+\/\/[^\r\n]*[\r\n]*)+|[\r\n\s]+/g, ' ') + ')');
_tool2.default.merge(config, cont, true);
_fs2.default.watchFile(_v, fill);
return;
} catch (e) {
console.log('\u8BFB\u53D6\u6587\u4EF6' + v + '\u9519\u8BEF:' + e.message);
throw new Error('\u8BFB\u53D6\u6587\u4EF6' + (path + '\\' + v) + '\u9519\u8BEF:' + e.message);
}
});
if (cm2) cm2.refill();else cm2 = new ConfigManager(cm, new (function () {
function _class4() {
(0, _classCallCheck3.default)(this, _class4);
}
(0, _createClass3.default)(_class4, [{
key: 'load',
value: function load() {
return config;
}
}, {
key: 'save',
value: function save() {
_tool2.default.showException('getConfigManagerFromFileSync不支持此方式');
}
}]);
return _class4;
}())());
return cm2;
};
fill();
return cm2;
};
var getConfigManagerFromDir = exports.getConfigManagerFromDir = function () {
var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(cm, path) {
var _this5 = this;
var regex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '^\\S+\\.npcf$';
var config, cm2, fill;
return _regenerator2.default.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
if (path) {
_context6.next = 2;
break;
}
return _context6.abrupt('return', cm);
case 2:
if (path.startWith('/') || path.startWith('\\')) path = _path2.default.parse(_path2.default.resolve(_path2.default.normalize(process.mainModule.filename))).dir + _tool2.default.environment.splitChar + path.trim('/').trim('\\');else path = _tool4.default.formatPath(path);
config = {};
cm2 = null;
fill = function () {
var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() {
var data, reg;
return _regenerator2.default.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return _tool2.default.callback(_fs2.default.readdir, _fs2.default, path);
case 2:
_context5.t0 = _context5.sent;
if (_context5.t0) {
_context5.next = 5;
break;
}
_context5.t0 = [];
case 5:
data = _context5.t0;
reg = new RegExp(regex);
_context5.next = 9;
return _tool2.default.each(data, function () {
var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(v) {
var cont;
return _regenerator2.default.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.prev = 0;
if (reg.test(v)) {
_context4.next = 3;
break;
}
return _context4.abrupt('return', false);
case 3:
_context4.next = 5;
return _tool2.default.callback(_fs2.default.readFile, _fs2.default, path + _tool2.default.environment.splitChar + v);
case 5:
_context4.t0 = _context4.sent;
if (_context4.t0) {
_context4.next = 8;
break;
}
_context4.t0 = '{}';
case 8:
cont = _context4.t0;
cont = eval('(' + cont.toString('utf-8').replace(/(\s+\/\/[^\r\n]*[\r\n]*)+|[\r\n\s]+/g, ' ') + ')');
_tool2.default.merge(config, cont, true);
return _context4.abrupt('return', false);
case 14:
_context4.prev = 14;
_context4.t1 = _context4['catch'](0);
console.log('\u8BFB\u53D6\u6587\u4EF6' + (path + _tool2.default.environment.splitChar + v) + '\u9519\u8BEF:' + _context4.t1.message);
throw new Error('\u8BFB\u53D6\u6587\u4EF6' + (path + _tool2.default.environment.splitChar + v) + '\u9519\u8BEF:' + _context4.t1.message);
case 18:
case 'end':
return _context4.stop();
}
}
}, _callee4, _this5, [[0, 14]]);
}));
return function (_x7) {
return _ref6.apply(this, arguments);
};
}(), true).then(function () {
if (cm2) cm2.refill();else cm2 = new ConfigManager(cm, new (function () {
function _class5() {
(0, _classCallCheck3.default)(this, _class5);
}
(0, _createClass3.default)(_class5, [{
key: 'load',
value: function load() {
return config;
}
}, {
key: 'save',
value: function save() {
_tool2.default.showException('getConfigManagerFromFileSync不支持此方式');
}
}]);
return _class5;
}())());
});
case 9:
return _context5.abrupt('return', cm2);
case 10:
case 'end':
return _context5.stop();
}
}
}, _callee5, _this5);
}));
return function fill() {
return _ref5.apply(this, arguments);
};
}();
_fs2.default.watchFile(path, fill);
_context6.next = 9;
return fill();
case 9:
return _context6.abrupt('return', cm2);
case 10:
case 'end':
return _context6.stop();
}
}
}, _callee6, this);
}));
return function getConfigManagerFromDir(_x4, _x5) {
return _ref4.apply(this, arguments);
};
}();
var getConfigManagerFromDirSync = exports.getConfigManagerFromDirSync = function getConfigManagerFromDirSync(cm, path) {
var regex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '^\\S+\\.npcf$';
if (!path) return cm;
if (path.startWith('/') || path.startWith('\\')) path = _path2.default.parse(_path2.default.resolve(_path2.default.normalize(process.mainModule.filename))).dir + _tool2.default.environment.splitChar + path.trim('/').trim('\\');else path = _tool4.default.formatPath(path);
var config = {};
var cm2 = null;
var fill = function fill() {
var data = _fs2.default.readdirSync(path) || [];
var reg = new RegExp(regex);
data.forEach(function (v) {
try {
if (!reg.test(v)) return;
var cont = _fs2.default.readFileSync(path + _tool2.default.environment.splitChar + v) || '{}';
cont = eval('(' + cont.toString('utf-8').replace(/(\s+\/\/[^\r\n]*[\r\n]*)+|[\r\n\s]+/g, ' ') + ')');
_tool2.default.merge(config, cont, true);
return;
} catch (e) {
console.log('\u8BFB\u53D6\u6587\u4EF6' + (path + _tool2.default.environment.splitChar + v) + '\u9519\u8BEF:' + e.message);
throw new Error('\u8BFB\u53D6\u6587\u4EF6' + (path + '\\' + v) + '\u9519\u8BEF:' + e.message);
}
});
if (cm2) cm2.refill();else cm2 = new ConfigManager(cm, new (function () {
function _class6() {
(0, _classCallCheck3.default)(this, _class6);
}
(0, _createClass3.default)(_class6, [{
key: 'load',
value: function load() {
return config;
}
}, {
key: 'save',
value: function save() {
_tool2.default.showException('getConfigManagerFromFileSync不支持此方式');
}
}]);
return _class6;
}())());
return cm2;
};
_fs2.default.watchFile(path, fill);
fill();
return cm2;
};
var getBaseConfigManager = exports.getBaseConfigManager = function () {
var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7() {
return _regenerator2.default.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
if (!___.baseConfig) {
_context7.next = 3;
break;
}
_context7.next = 6;
break;
case 3:
_context7.next = 5;
return getConfigManagerFromFile(null, 'base.npcf');
case 5:
___.baseConfig = _context7.sent;
case 6:
return _context7.abrupt('return', ___.baseConfig);
case 7:
case 'end':
return _context7.stop();
}
}
}, _callee7, undefined);
}));
return function getBaseConfigManager() {
return _ref7.apply(this, arguments);
};
}();
var getApplicationConfigManager = exports.getApplicationConfigManager = function () {
var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8() {
return _regenerator2.default.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
if (!___.appConfig) {
_context8.next = 3;
break;
}
_context8.next = 6;
break;
case 3:
_context8.next = 5;
return getApplicationConfigManagerFromFile(_path2.default.parse(process.mainModule.filename).name + '.npcf');
case 5:
___.appConfig = _context8.sent;
case 6:
return _context8.abrupt('return', ___.appConfig);
case 7:
case 'end':
return _context8.stop();
}
}
}, _callee8, undefined);
}));
return function getApplicationConfigManager() {
return _ref8.apply(this, arguments);
};
}();
var getApplicationConfigManagerFromJS = exports.getApplicationConfigManagerFromJS = function () {
var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(path) {
return _regenerator2.default.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
_context9.t0 = getConfigManagerFromJS;
_context9.next = 3;
return getBaseConfigManager();
case 3:
_context9.t1 = _context9.sent;
_context9.t2 = path;
return _context9.abrupt('return', (0, _context9.t0)(_context9.t1, _context9.t2));
case 6:
case 'end':
return _context9.stop();
}
}
}, _callee9, undefined);
}));
return function getApplicationConfigManagerFromJS(_x9) {
return _ref9.apply(this, arguments);
};
}();
var getApplicationConfigManagerFromObj = exports.getApplicationConfigManagerFromObj = function () {
var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(obj) {
return _regenerator2.default.wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
_context10.t0 = getConfigManagerFromObj;
_context10.next = 3;
return getBaseConfigManager();
case 3:
_context10.t1 = _context10.sent;
_context10.t2 = obj;
return _context10.abrupt('return', (0, _context10.t0)(_context10.t1, _context10.t2));
case 6:
case 'end':
return _context10.stop();
}
}
}, _callee10, undefined);
}));
return function getApplicationConfigManagerFromObj(_x10) {
return _ref10.apply(this, arguments);
};
}();
var getApplicationConfigManagerFromFile = exports.getApplicationConfigManagerFromFile = function () {
var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(path) {
return _regenerator2.default.wrap(function _callee11$(_context11) {
while (1) {
switch (_context11.prev = _context11.next) {
case 0:
_context11.t0 = getConfigManagerFromFile;
_context11.next = 3;
return getBaseConfigManager();
case 3:
_context11.t1 = _context11.sent;
_context11.t2 = path;
return _context11.abrupt('return', (0, _context11.t0)(_context11.t1, _context11.t2));
case 6:
case 'end':
return _context11.stop();
}
}
}, _callee11, undefined);
}));
return function getApplicationConfigManagerFromFile(_x11) {
return _ref11.apply(this, arguments);
};
}();
var getApplicationConfigManagerFromDir = exports.getApplicationConfigManagerFromDir = function () {
var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(path) {
return _regenerator2.default.wrap(function _callee12$(_context12) {
while (1) {
switch (_context12.prev = _context12.next) {
case 0:
_context12.t0 = getConfigManagerFromDir;
_context12.next = 3;
return getBaseConfigManager();
case 3:
_context12.t1 = _context12.sent;
_context12.t2 = path;
return _context12.abrupt('return', (0, _context12.t0)(_context12.t1, _context12.t2));
case 6:
case 'end':
return _context12.stop();
}
}
}, _callee12, undefined);
}));
return function getApplicationConfigManagerFromDir(_x12) {
return _ref12.apply(this, arguments);
};
}();
var getBaseConfigManagerSync = exports.getBaseConfigManagerSync = function getBaseConfigManagerSync() {
if (___.baseConfig) {} else ___.baseConfig = getConfigManagerFromFileSync(null, 'base.npcf');
return ___.baseConfig;
};
var getApplicationConfigManagerSync = exports.getApplicationConfigManagerSync = function getApplicationConfigManagerSync() {
if (___.appConfig) {} else ___.appConfig = getApplicationConfigManagerFromFileSync(_path2.default.parse(process.mainModule.filename).name + '.npcf');
return ___.appConfig;
};
var getApplicationConfigManagerFromFileSync = exports.getApplicationConfigManagerFromFileSync = function getApplicationConfigManagerFromFileSync(path) {
return getConfigManagerFromFileSync(getBaseConfigManagerSync(), path);
};
var getApplicationConfigManagerFromDirSync = exports.getApplicationConfigManagerFromDirSync = function getApplicationConfigManagerFromDirSync(path) {
return getConfigManagerFromDirSync(getBaseConfigManagerSync(), path);
};
var ___ = {
Configs: {
ConfigConverts: {
AppSettings: { type: 'AppSettingsConfigConvert', path: '/com/coooders/io/config' }
}
},
getValue: function getValue(parent, config, key) {
return parent ? parent.getConfigValue(config, key) : null;
},
setValue: function setValue(parent, config, key, value) {
return parent ? parent.setConfigValue(config, key, value) : null;
},
ConfigConvert: function (_Config3) {
(0, _inherits3.default)(ConfigConvert, _Config3);
function ConfigConvert() {
(0, _classCallCheck3.default)(this, ConfigConvert);
var _this6 = (0, _possibleConstructorReturn3.default)(this, (ConfigConvert.__proto__ || (0, _getPrototypeOf2.default)(ConfigConvert)).call(this));
_this6.data['ConfigConverts'] = _this6;
return _this6;
}
(0, _createClass3.default)(ConfigConvert, [{
key: 'toConfig',
value: function toConfig(val) {
return new (function (_Config4) {
(0, _inherits3.default)(_class7, _Config4);
function _class7() {
(0, _classCallCheck3.default)(this, _class7);
var _this7 = (0, _possibleConstructorReturn3.default)(this, (_class7.__proto__ || (0, _getPrototypeOf2.default)(_class7)).call(this));
var _ = _this7;
for (var i in val) {
if (i == 'base') {
_.basepath = val.base ? val.base : null;
___.Configs.base = _.basepath;
continue;
}
_.data[i] = function () {
var conf = val[i];
//create要求是类定义 不能是 类名!!
//require 如何获取全局的参数或者npm后的参数 全文件地址可以不带盘符 或者相对路径查找文件
//注意使用了地址的类方法
var cls = _tool2.default.include(conf.path, _.basepath);
if (conf.type && cls[conf.type]) return _tool2.default.create2(cls[conf.type], []);else return _tool2.default.create2(cls, []);
}();
}
return _this7;
}
return _class7;
}(Config))();
}
}, {
key: 'toStrings',
value: function toStrings(config) {
_tool2.default.showException('基础解析器不支持此功能');
}
}]);
return ConfigConvert;
}(Config),
getConfigAdapter: function getConfigAdapter() {
if (!ConfigAdapter.instance) {
ConfigAdapter.instance = new ConfigAdapter();
}
return ConfigAdapter.instance;
}
};
var Configs = exports.Configs = ___.Configs;
exports.default = { Configs: Configs, Config: Config, ConfigConvert: ConfigConvert, AppSettingsConfigConvert: AppSettingsConfigConvert, ProxyConfig: ProxyConfig, AppSettings: AppSettings, ConfigManager: ConfigManager, ConfigAdapter: ConfigAdapter, getConfigManagerFromJS: getConfigManagerFromJS, getConfigManagerFromObj: getConfigManagerFromObj, getConfigManagerFromFile: getConfigManagerFromFile, getConfigManagerFromDir: getConfigManagerFromDir, getBaseConfigManager: getBaseConfigManager, getApplicationConfigManager: getApplicationConfigManager, getApplicationConfigManagerFromDir: getApplicationConfigManagerFromDir, getApplicationConfigManagerFromFile: getApplicationConfigManagerFromFile, getApplicationConfigManagerFromJS: getApplicationConfigManagerFromJS, getApplicationConfigManagerFromObj: getApplicationConfigManagerFromObj, getBaseConfigManagerSync: getBaseConfigManagerSync, getApplicationConfigManagerSync: getApplicationConfigManagerSync, getConfigManagerFromFileSync: getConfigManagerFromFileSync, getConfigManagerFromDirSync: getConfigManagerFromDirSync };
var pri = _tool2.default.pris();
//# sourceMappingURL=config.js.map