🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@nsea/util

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nsea/util - npm Package Compare versions

Comparing version
1.0.0
to
1.0.1
+3
.babelrc
{
"presets": ["env","es2015"]
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Color = exports.Object = exports.Date = exports.String = exports.Array = undefined;
var _Array = require('./moudles/Array');
var _Array2 = _interopRequireDefault(_Array);
var _String = require('./moudles/String');
var _String2 = _interopRequireDefault(_String);
var _Date = require('./moudles/Date');
var _Date2 = _interopRequireDefault(_Date);
var _Object = require('./moudles/Object');
var _Object2 = _interopRequireDefault(_Object);
var _Color = require('./moudles/Color');
var _Color2 = _interopRequireDefault(_Color);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// module.exports.Array = ArrayUtils;
// module.exports.String = StringUtils;
// module.exports.Date = DateUtils;
// module.exports.Object = ObjectUtils;
// //获取色阶
// module.exports.Color = ColorUtils;
exports.Array = _Array2.default;
exports.String = _String2.default;
exports.Date = _Date2.default;
exports.Object = _Object2.default;
exports.Color = _Color2.default;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
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 _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _util = require('./common/util');
var _util2 = _interopRequireDefault(_util);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* @description 数组操作类
*/
var utilsArray = function () {
function utilsArray() {
_classCallCheck(this, utilsArray);
}
_createClass(utilsArray, null, [{
key: 'test',
value: function test() {
console.log('hahahahaha');
}
/**
* @description 数组排序
* @example utils.Array.order([{value:10},{value:20}],'desc','value')
* @example utils.Array.order([10,20],'desc')
* @param {Array} array 要操作的数组
* @param {String} type 排序 asc/desc default asc
* @param {String} column 如果array是对象数组传字段名
* @returns {Array} 返回排序后的数组
*/
}, {
key: 'order',
value: function order(array, type, column) {
var n1 = type == 'desc' ? -1 : 1,
n2 = n1 == 1 ? -1 : 1;
return array.sort(function (a, b) {
var _a = -Number.NEGATIVE_INFINITY,
_b = -Number.NEGATIVE_INFINITY,
av = _util2.default.isObject(a) ? a[column] : a,
bv = _util2.default.isObject(b) ? b[column] : b;
if (_util2.default.isNumeric(av)) _a = parseFloat(av);
if (_util2.default.isNumeric(bv)) _b = parseFloat(bv);
return _a > _b ? n1 : n2;
});
}
/**
* @description 数组去重
* @example utils.Array.unique([{name:'zs'},{name:'zs'}],'name')
* @example utils.Array.unique([10,10])
* @param {Array} array 要操作的数组
* @param {String} column 如果array是对象数组传字段名
* @returns {Array} 返回去重后的数组
*/
}, {
key: 'unique',
value: function unique(array, column) {
var result = [],
hash = {};
for (var i = 0; i < array.length; i++) {
var elem = _typeof(array[i]) == 'object' ? array[i][column] : array[i];
if (!hash[elem]) {
hash[elem] = true;
result.push(array[i]);
}
}
return result;
}
}]);
return utilsArray;
}();
exports.default = utilsArray;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* @description 渐变色
*/
var Intensity = function () {
/**
* @constructor Intensity
* description 获取渐变色阶/size
* @param {Object} options
* @param {Object} options.gradient 色阶 {0.1:red,0.5:'#fff'}
* @param {Number} options.maxSize 最大size
* @param {Number} options.minSize 最小size
* @param {Number} options.max 最大值
* @param {String} options.colorType 返回颜色类型 'binary'||'rgb'
* @returns {Object} 当前对象实例
*/
function Intensity(options) {
_classCallCheck(this, Intensity);
options = options || {};
this.gradient = options.gradient || {
0.25: "rgba(0, 0, 255, 1)",
0.55: "rgba(0, 255, 0, 1)",
0.85: "rgba(255, 255, 0, 1)",
1.0: "rgba(255, 0, 0, 1)"
};
this.maxSize = options.maxSize || 35;
this.minSize = options.minSize || 0;
this.max = options.max || 100;
this.colorType = options.colorType || 'rgb';
this.initPalette();
}
_createClass(Intensity, [{
key: "initPalette",
value: function initPalette() {
var gradient = this.gradient;
if (typeof document === 'undefined') {
// var Canvas = require('canvas');
// var paletteCanvas = new Canvas(256, 1);
} else {
var paletteCanvas = document.createElement('canvas');
}
paletteCanvas.width = 256;
paletteCanvas.height = 1;
var paletteCtx = this.paletteCtx = paletteCanvas.getContext('2d');
var lineGradient = paletteCtx.createLinearGradient(0, 0, 256, 1);
for (var key in gradient) {
lineGradient.addColorStop(parseFloat(key), gradient[key]);
}
paletteCtx.fillStyle = lineGradient;
paletteCtx.fillRect(0, 0, 256, 1);
}
/**
* 根据value获取色阶颜色
* @param {Number} value
* @returns {String}
*/
}, {
key: "getColor",
value: function getColor(value) {
var max = this.max;
if (value > max) {
value = max;
}
var index = Math.floor(value / max * (256 - 1)) * 4;
var imageData = this.paletteCtx.getImageData(0, 0, 256, 1).data;
var color = "rgba(" + imageData[index] + ", " + imageData[index + 1] + ", " + imageData[index + 2] + ", " + imageData[index + 3] / 256 + ")";
return this.colorType == 'binary' ? utilsColor.rgb2binary(color) : color;
}
/**
* 根据value获取size
* @param {Number} value
*/
}, {
key: "getSize",
value: function getSize(value) {
var size = 0;
var max = this.max;
var maxSize = this.maxSize;
var minSize = this.minSize;
if (value > max) {
value = max;
}
size = minSize + value / max * (maxSize - minSize);
return size;
}
}]);
return Intensity;
}();
/**
* @description 颜色转换
*/
var utilsColor = function () {
function utilsColor() {
_classCallCheck(this, utilsColor);
}
_createClass(utilsColor, null, [{
key: "rgb2binary",
/**
* 根据rbg颜色转换成二进制网页色
* @param {String} color rgb颜色
* @returns {String} 二进制网页色
*/
value: function rgb2binary(color) {
color = color.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
return color && color.length === 4 ? '#' + ('0' + parseInt(color[1], 10).toString(16)).slice(-2) + ('0' + parseInt(color[2], 10).toString(16)).slice(-2) + ('0' + parseInt(color[3], 10).toString(16)).slice(-2) : '';
}
/**
*
* @param {Object} options
* @param {Object} options.gradient 色阶 {0.1:red,0.5:'#fff'}
* @param {Number} options.maxSize 最大size
* @param {Number} options.minSize 最小size
* @param {Number} options.max 最大值
* @param {String} options.colorType 返回颜色类型 'binary'||'rgb'
* @returns {Object} 当前对象实例
*/
}, {
key: "intensity",
value: function intensity(options) {
return new Intensity(options);
}
}]);
return utilsColor;
}();
exports.default = utilsColor;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
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 _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var u = function () {
function u() {
_classCallCheck(this, u);
}
_createClass(u, null, [{
key: 'isNumeric',
value: function isNumeric(obj) {
return !isNaN(parseFloat(obj)) && isFinite(obj);
}
}, {
key: 'type',
value: function type(obj) {
return typeof obj === 'undefined' ? 'undefined' : _typeof(obj);
}
}, {
key: 'isObject',
value: function isObject(obj) {
return u.type(obj) == 'object';
}
}, {
key: 'isBoolean',
value: function isBoolean(obj) {
return u.type(obj) == 'boolean';
}
}]);
return u;
}();
exports.default = u;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* @description Date操作类
*/
var utilsDate = function () {
function utilsDate() {
_classCallCheck(this, utilsDate);
}
_createClass(utilsDate, null, [{
key: "format",
/**
* 日期格式化制定格式字符串
* @param {Date} date 日期
* @param {String} fmt 转换的格式 如 yyyy-MM-dd
*/
value: function format(date, fmt) {
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}return fmt;
}
/**
* @param {any} date 结束时间2019-01-08 00:00:00
* @returns
*
* @memberOf utilsDate
*/
}, {
key: "Countdown",
value: function Countdown(date) {
var now = new Date();
var to = new Date(date);
var second = to.getTime() - now.getTime();
if (second <= 0) return '已结束';
var selfSecond = second;
var day = Number.parseInt(selfSecond / (1000 * 3600 * 24), 10);
selfSecond %= 1000 * 3600 * 24; //除去整天之后剩余的时间
var hour = Number.parseInt(selfSecond / (1000 * 3600), 10);
selfSecond %= 1000 * 3600; //除去整小时之后剩余的时间
var minute = Number.parseInt(selfSecond / (1000 * 60), 10);
selfSecond %= 1000 * 60; //除去整分钟之后剩余的时间
return day + "days" + hour + "hours" + minute + "minutes" + Number.parseInt(selfSecond / 1000, 10) + "seconds";
}
}]);
return utilsDate;
}();
exports.default = utilsDate;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
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 _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* @description 对象操作类
*/
var utilsObject = function () {
function utilsObject() {
_classCallCheck(this, utilsObject);
}
_createClass(utilsObject, null, [{
key: "extend",
/**
* 数组/对象 拷贝
*/
value: function extend() {
var src,
copyIsArray,
copy,
name,
options,
clone,
target = arguments[0] || {},
i = 1,
length = arguments.length,
deep = false;
// Handle a deep copy situation
if (typeof target === "boolean") {
deep = target;
target = arguments[1] || {};
// skip the boolean and the target
i = 2;
}
if ((typeof target === "undefined" ? "undefined" : _typeof(target)) !== "object") {
target = {};
}
if (length === i) {
target = this;
--i;
}
for (; i < length; i++) {
// Only deal with non-null/undefined values
if ((options = arguments[i]) != null) {
// Extend the base object
for (name in options) {
src = target[name];
copy = options[name];
// Prevent never-ending loop
if (target === copy) {
continue;
}
// Recurse if we're merging plain objects or arrays
if (deep && copy && (typeof copy === "undefined" ? "undefined" : _typeof(copy)) == 'object') {
copyIsArray = Array.isArray(copy);
if (copyIsArray) {
copyIsArray = false;
clone = src && Array.isArray(src) ? copy : [];
} else {
clone = src && (typeof src === "undefined" ? "undefined" : _typeof(src)) == 'object' ? src : {};
}
// Never move original objects, clone them
target[name] = utilsObject.extend(deep, clone, copy);
// Don't bring in undefined values
} else if (copy !== undefined) {
target[name] = copy;
}
}
}
}
// Return the modified object
return target;
}
}]);
return utilsObject;
}();
exports.default = utilsObject;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _util = require('./common/util');
var _util2 = _interopRequireDefault(_util);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* @description 字符串操作类
*/
var utilsString = function () {
function utilsString() {
_classCallCheck(this, utilsString);
}
_createClass(utilsString, null, [{
key: 'removeHTML',
/**
* 剔除html标签
* @param {String} html 要剔除的html字符串
*/
value: function removeHTML(html) {
return html.replace(/<\/?[^>]*>/g, '').replace(/[ | ]*\n/g, '\n').replace(/&nbsp;/ig, '');
}
/**
* 字符串截断并加指定字符串 subString(`sadfsdafsd`,2,'...')
* @param {String} val 要截断的字符串
* @param {Number} len 长度
* @param {String} suffix 需要补齐的字符串
* @returns {String} sa...
*/
}, {
key: 'subString',
value: function subString(val, len, suffix) {
return (val || '').length > len ? val = val.substr(0, len) + (suffix == undefined ? '' : suffix) : val;
}
/**
* 字符串转换parseFloat并保留指定小数位
* @param {String} val 要操作的字符串
* @param {Number} len 保留小数位长度
* @param {Boolean} fill 如果小数位长度不足是否需要补齐 default =true
* @returns {String} 转换后的值
*/
}, {
key: 'toFixed',
value: function toFixed(val, len, fill) {
fill = !_util2.default.isBoolean(fill) ? true : fill;
var v = val;
if (val && _util2.default.isNumeric(val)) {
if (fill) {
v = parseFloat(val).toFixed(len);
} else {
v = parseFloat(val);
if (val.toString().indexOf('.') > 0) {
var arr = val.toString().split('.');
v = arr[1].length > len ? v.toFixed(len) : v;
}
}
}
return v;
}
/**
* 删除前后空格
* @param {String} val 要操作的字符串
* @returns {String} 删除前后空格后的字符串
*/
}, {
key: 'trim',
value: function trim(val) {
return val.replace(/(^\s*)|(\s*$)/g, '');
}
/**
* 替换所有
* @param {String} val 要操作的字符串
* @param {String} replacestr 被替换字符串
* @param {String} newstr 用来替换的字符串
* @returns {String} 替换后的字符串
*/
}, {
key: 'replaceAll',
value: function replaceAll(val, replacestr, newstr) {
return val.replace(new RegExp(replacestr, 'gm'), newstr);
}
/**
* 字符转换日期
* @param {String} val 要操作的日期字符串
* @param {String} split 日期字符串的连接方式,例'-'或'/'
* @returns {Date} 转换后日期对象
*/
}, {
key: 'toDate',
value: function toDate(val, split) {
split = split || '-';
var arr = val.split(split);
if (arr.length == 3) {
var date = new Date();
date.setUTCFullYear(arr[0], arr[1] - 1, arr[2]);
date.setUTCHours(0, 0, 0, 0);
return date;
}
}
}]);
return utilsString;
}();
exports.default = utilsString;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},createClass=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),u=function(){function t(){classCallCheck(this,t)}return createClass(t,null,[{key:"isNumeric",value:function(e){return!isNaN(parseFloat(e))&&isFinite(e)}},{key:"type",value:function(e){return void 0===e?"undefined":_typeof(e)}},{key:"isObject",value:function(e){return"object"==t.type(e)}},{key:"isBoolean",value:function(e){return"boolean"==t.type(e)}}]),t}(),utilsArray=function(){function e(){classCallCheck(this,e)}return createClass(e,null,[{key:"test",value:function(){console.log("hahahahaha")}},{key:"order",value:function(e,t,o){var l="desc"==t?-1:1,s=1==l?-1:1;return e.sort(function(e,t){var n=-Number.NEGATIVE_INFINITY,r=-Number.NEGATIVE_INFINITY,a=u.isObject(e)?e[o]:e,i=u.isObject(t)?t[o]:t;return u.isNumeric(a)&&(n=parseFloat(a)),u.isNumeric(i)&&(r=parseFloat(i)),r<n?l:s})}},{key:"unique",value:function(e,t){for(var n=[],r={},a=0;a<e.length;a++){var i="object"==_typeof(e[a])?e[a][t]:e[a];r[i]||(r[i]=!0,n.push(e[a]))}return n}}]),e}(),utilsString=function(){function e(){classCallCheck(this,e)}return createClass(e,null,[{key:"removeHTML",value:function(e){return e.replace(/<\/?[^>]*>/g,"").replace(/[ | ]*\n/g,"\n").replace(/&nbsp;/gi,"")}},{key:"subString",value:function(e,t,n){return(e||"").length>t?e=e.substr(0,t)+(null==n?"":n):e}},{key:"toFixed",value:function(e,t,n){n=!u.isBoolean(n)||n;var r=e;e&&u.isNumeric(e)&&(n?r=parseFloat(e).toFixed(t):(r=parseFloat(e),0<e.toString().indexOf(".")&&(r=e.toString().split(".")[1].length>t?r.toFixed(t):r)));return r}},{key:"trim",value:function(e){return e.replace(/(^\s*)|(\s*$)/g,"")}},{key:"replaceAll",value:function(e,t,n){return e.replace(new RegExp(t,"gm"),n)}},{key:"toDate",value:function(e,t){t=t||"-";var n=e.split(t);if(3==n.length){var r=new Date;return r.setUTCFullYear(n[0],n[1]-1,n[2]),r.setUTCHours(0,0,0,0),r}}}]),e}(),utilsDate=function(){function e(){classCallCheck(this,e)}return createClass(e,null,[{key:"format",value:function(e,t){var n={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(var r in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),n)new RegExp("("+r+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?n[r]:("00"+n[r]).substr((""+n[r]).length)));return t}},{key:"Countdown",value:function(e){var t=new Date,n=new Date(e).getTime()-t.getTime();if(n<=0)return"已结束";var r=n,a=Number.parseInt(r/864e5,10);r%=864e5;var i=Number.parseInt(r/36e5,10);r%=36e5;var o=Number.parseInt(r/6e4,10);return r%=6e4,a+"days"+i+"hours"+o+"minutes"+Number.parseInt(r/1e3,10)+"seconds"}}]),e}(),utilsObject=function(){function f(){classCallCheck(this,f)}return createClass(f,null,[{key:"extend",value:function(e,t){var n,r,a,i,o,u=e||{},l=1,s=arguments.length,c=!1;for("boolean"==typeof u&&(c=u,u=t||{},l=2),"object"!==(void 0===u?"undefined":_typeof(u))&&(u={}),s===l&&(u=this,--l);l<s;l++)if(null!=(i=arguments[l]))for(a in i)n=u[a],u!==(r=i[a])&&(c&&r&&"object"==(void 0===r?"undefined":_typeof(r))?(o=Array.isArray(r)?(!1,n&&Array.isArray(n)?r:[]):n&&"object"==(void 0===n?"undefined":_typeof(n))?n:{},u[a]=f.extend(c,o,r)):void 0!==r&&(u[a]=r));return u}}]),f}(),Intensity=function(){function t(e){classCallCheck(this,t),e=e||{},this.gradient=e.gradient||{.25:"rgba(0, 0, 255, 1)",.55:"rgba(0, 255, 0, 1)",.85:"rgba(255, 255, 0, 1)",1:"rgba(255, 0, 0, 1)"},this.maxSize=e.maxSize||35,this.minSize=e.minSize||0,this.max=e.max||100,this.colorType=e.colorType||"rgb",this.initPalette()}return createClass(t,[{key:"initPalette",value:function(){var e=this.gradient;if("undefined"==typeof document);else var t=document.createElement("canvas");t.width=256,t.height=1;var n=this.paletteCtx=t.getContext("2d"),r=n.createLinearGradient(0,0,256,1);for(var a in e)r.addColorStop(parseFloat(a),e[a]);n.fillStyle=r,n.fillRect(0,0,256,1)}},{key:"getColor",value:function(e){var t=this.max;t<e&&(e=t);var n=4*Math.floor(e/t*255),r=this.paletteCtx.getImageData(0,0,256,1).data,a="rgba("+r[n]+", "+r[1+n]+", "+r[2+n]+", "+r[3+n]/256+")";return"binary"==this.colorType?utilsColor.rgb2binary(a):a}},{key:"getSize",value:function(e){var t=this.max,n=this.maxSize,r=this.minSize;return t<e&&(e=t),r+e/t*(n-r)}}]),t}(),utilsColor=function(){function e(){classCallCheck(this,e)}return createClass(e,null,[{key:"rgb2binary",value:function(e){return(e=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===e.length?"#"+("0"+parseInt(e[1],10).toString(16)).slice(-2)+("0"+parseInt(e[2],10).toString(16)).slice(-2)+("0"+parseInt(e[3],10).toString(16)).slice(-2):""}},{key:"intensity",value:function(e){return new Intensity(e)}}]),e}();exports.Array=utilsArray,exports.String=utilsString,exports.Date=utilsDate,exports.Object=utilsObject,exports.Color=utilsColor;
# Usage
Install with npm
```
npm i nscutils
```
```javascript
const Utils = require("nscutils");
```
## the utils for Array
### sort
```javascript
const Utils = require("nscutils");
/**
* @example utils.Array.order([{value:10},{value:20}],'desc','value')
* @example utils.Array.order([10,20],'desc')
* @param {Array} array source
* @param {String} type sort type asc/desc default asc
* @param {String} column
* @returns {Array} sorted Array
*/
const res = Utils.Array.order(array, type, column);
```
### de-duplication
```javascript
const Utils = require("nscutils");
/**
* @example utils.Array.unique([{name:'zs'},{name:'zs'}],'name')
* @example utils.Array.unique([10,10])
* @param {Array} array
* @param {String} column
* @returns {Array}
*/
const res = Utils.Array.unique(array, column);
```
## the utils for String
### removeHTML
```javascript
const Utils = require("nscutils");
/**
* @param {String} html
* @returns {String}
* @example 'string'=Utils.String.removeHTML(`<span class="gray7 mr20">string</span>`)
*/
const res = Utils.String.removeHTML(html);
```
### cut off string and append in the end
```javascript
const Utils = require("nscutils");
/**
* subString(`sadfsdafsd`,2,'...')
* @param {String} val
* @param {Number} len
* @param {String} suffix
* @example 'sa...'=Utils.String.subString(`sadfsdafsd`,2,'...')
* @returns {String}
*/
const res = Utils.String.subString(val, len, suffix);
```
### String->Float
```javascript
const Utils = require("nscutils");
/**
* @param {String} val
* @param {Number} len decimal length
* @param {Boolean} fill default =true
* @returns {String}
* @example '1.20'=Utils.String.toFixed('1.2',2)
* @example '1.2'=Utils.String.toFixed('1.2',2,false)
*/
const res = Utils.String.toFixed(val, len, fill);
```
### delete f&p space
```javascript
const Utils = require("nscutils");
/**
* @param {String} val
* @returns {String}
* @example "das das"=nscutils.String.trim(` das das `)
*/
const res = Utils.String.trim(val);
```
### replaceAll
```javascript
const Utils = require("nscutils");
/**
* @param {String} val
* @param {String} replacestr
* @param {String} newstr
* @returns {String}
* @example "a|aa|aa"=nscutils.String.replaceAll(`asaasaa`,'s','|')
*/
const res = Utils.String.replaceAll(val, replacestr, newstr);
```
### String->Date
```javascript
const Utils = require("nscutils");
/**
* @param {String} val
* @param {String} split '-'|'/'|... required default '-'
* @returns {Date}
* @example nscutils.String.toDate(`2015-01-01`,'-')
*/
const res = Utils.String.toDate(val, split);
```
## the utils for Date
### format
```javascript
const Utils = require("nscutils");
/**
* @param {Date} date
* @param {String} fmt yyyy-MM-dd
* "y+":year
* "M+":month
* "q+":quarter
* "d+": day
* "h+": hour
* "m+": minute
* "s+":second
* "S": Millisecond
* @returns {String}
* @example "2018-11-14"=nscutils.Date.format(new Date(),'yyyy-MM-dd')
*/
const res = Utils.Date.format(date, fmt);
```
### countdown now -> date
```javascript
const Utils = require("nscutils");
/**
* @param {Date} date 2019-01-08 00:00:00
* @returns {String}
* @example "2018-11-14"=nscutils.Date.format(2019-01-08 00:00:00)
*/
const res = Utils.Date.Countdown(date);
```
## the utils for Object/Array
### copy
```javascript
const Utils = require('nscutils');
/**
* @param {Boolean} isDeep
* @param {Object/Array} target
* @param {Object/Array} src one or more Object
* @returns {Object/Array}
* @example {a:1,b:2,d:4,f:5}=nscutils.Object.extend(true,{},{a:1,b:2},{d:4},{f:5})
* also worked in Array
* @example [4,1,5,4]nscutils.Object.extend(true,[],[1,2,3,4],[4,1,5])
* @example [1,2,3,4]nscutils.Object.extend(true,[],[1,2,3,4])
*/
const res = Utils.Object.extend(isDeep,target,src...);
```
## the utils for color
### rgb->binary
```javascript
const Utils = require("nscutils");
/**
* @param {String} color
* @returns {String}
*/
const res = Utils.Color.rgb2binary(color);
```
import babel from 'rollup-plugin-babel';
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
// import scss from 'rollup-plugin-scss';
// import vue from 'rollup-plugin-vue';
import {uglify} from 'rollup-plugin-uglify';
export default {
input: 'src/index.js',
output: {
file: 'lib/utils.min.js',
format: 'cjs',
name: 'nscUtils'
},
plugins: [
// vue({
// autoStyles: false,
// styleToImports: true
// }),
// scss({
// output: 'dist/base-ui.css',
// outputStyle: 'compressed'
// }),
babel({
presets: [['env', {modules: false}], 'stage-3'],
exclude: 'node_modules/**',
plugins: ['external-helpers'],
babelrc: false
}),
commonjs(),
resolve({
extensions: ['.js', '.json'],
jsnext: true,
main: true,
browser: true
}),
uglify()
]
};
+24
-4
{
"name": "@nsea/util",
"version": "1.0.0",
"version": "1.0.1",
"description": "utils",
"main": "src/index.js",
"main": "lib/utils.min.js",
"scripts": {
"test": "test",
"pub":"npm publish --access=public"
"pub": "npm publish --access=public",
"server": "node app.babel.js",
"compile": "babel -d lib/ src/",
"build": "rollup -c",
"prepublish": "npm run build"
},

@@ -22,3 +26,19 @@ "repository": {

},
"homepage": "https://github.com/NorthSeacoder/nsea#readme"
"homepage": "https://github.com/NorthSeacoder/nsea#readme",
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-env": "1.7.0",
"babel-preset-stage-3": "6.24.1",
"rollup": "0.64.1",
"rollup-plugin-babel": "3.0.7",
"rollup-plugin-collect-sass": "1.0.9",
"rollup-plugin-commonjs": "9.1.5",
"rollup-plugin-node-resolve": "3.3.0",
"rollup-plugin-postcss": "1.6.2",
"rollup-plugin-scss": "0.4.0",
"rollup-plugin-uglify": "4.0.0",
"rollup-plugin-vue": "5.0.0",
"babel-plugin-external-helpers": "6.22.0"
}
}
-1
console.log('hello world')