UNPKG

javascriptx

Version:

javascript 基础库扩展

78 lines (63 loc) 2.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _replaceAll = require("./replaceAll"); var _replaceAll2 = _interopRequireDefault(_replaceAll); var _getValue = require("./getValue"); var _getValue2 = _interopRequireDefault(_getValue); var _url = require("./url"); var _url2 = _interopRequireDefault(_url); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var replace = function replace(string) { if (!string || typeof string !== 'string') { return string; } if (string.indexOf('/') === 0) { string = window._baseURL + string; } if (string.indexOf('~/') > -1) { string = (0, _replaceAll2.default)(string, '~/', window._baseURL); } if (string.indexOf('../') > -1) { string = (0, _replaceAll2.default)(string, '\\../', window._baseURL); } return string; }; var humpName = function humpName(name) { var arr = name.split('-'); for (var i = 1; i < arr.length; i++) { var str = arr[i]; var s = str[0] || ''; arr[i] = str.replace(s, s.toUpperCase()); } return arr.join(''); }; var fields = ['src', 'href', 'background', 'background-image', 'backgroundImage', 'border', 'border-image', 'borderImage', 'border-image-source', 'borderImageSource']; exports.default = function (config) { return function (varPath) { var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var value = (0, _getValue2.default)(config, varPath, defaultValue); if (value === undefined || value === null) { return value; } if ((typeof value === "undefined" ? "undefined" : _typeof(value)) === 'object') { value = _extends({}, value); fields.forEach(function (field) { if (value[field]) { value[field] = replace(value[field]); if (field.indexOf('-') > -1) { value[humpName(field)] = value[field]; delete value[field]; } } }); } if (typeof value === 'string') { value = (0, _url2.default)(value, true); } return value; }; };