simple-helpers.js
Version:
简洁高效的现代JavaScript函数库
2 lines (1 loc) • 1.93 kB
JavaScript
function e(e){return!1!==(null!=e&&e)}var t=Object.freeze({__proto__:null,inRange:function(e,t,n){void 0===n&&(n=[!0,!0]);var r=n[0],c=n[1],o=t[0],f=t[1],u="return ".concat(e," ").concat(r?">=":">"," ").concat(o," && ").concat(e," ").concat(c?"<=":"<"," ").concat(f);return new Function(u)()},exist:e,notExist:function(t){return!e.call(null,t)}});function n(e){return"object"==typeof e&&!!e||"function"==typeof e}var r=Object.freeze({__proto__:null,picker:function(e,t){void 0===t&&(t=!1);for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var c=t?Object.create(null):{};return n.length&&n.forEach((function(t){e.hasOwnProperty(t)&&void 0!==Reflect.get(e,t)&&Reflect.set(c,t,e[t])})),c},useful:function(t){return Reflect.ownKeys(t).filter((function(n){return e(Reflect.get(t,n))})).reduce((function(e,n){return Reflect.set(e,n,Reflect.get(t,n)),e}),{})},cloneDeep:function e(t,r){if(void 0===r&&(r=new WeakMap),!n(t))return t;if([Date,RegExp].includes(Reflect.get(t,"constructor")))return new(Reflect.get(t,"constructor"))(t);if("function"==typeof t)return new Function("return ".concat(t.toString()))();var c=r.get(t);if(c)return c;if(t instanceof Map){var o=new Map;return r.set(t,o),t.forEach((function(t,c){n(t)?o.set(c,e(t,r)):o.set(c,t)})),o}if(t instanceof Set){var f=new Set;r.set(t,f),f.forEach((function(t){n(t)?f.add(e(t,r)):f.add(t)}))}var u=Reflect.ownKeys(t),i=Object.getOwnPropertyDescriptors(t),a=Object.create(Object.getPrototypeOf(t),i);return r.set(t,a),u.forEach((function(c){var o=Reflect.get(t,c);n(o)?a[c]=e(o,r):a[c]=o})),a}});var c=Object.freeze({__proto__:null,head:function(e){if(Array.isArray(e))return e[0]},last:function(e){if(Array.isArray(e)&&e.length)return e[e.length-1]},getIndex:function(e,t){return e.findIndex((function(e){return e===t}))},getIndexBy:function(e,t,n){return e.findIndex((function(e){return Reflect.get(e,t)===n}))}});export{c as HArray,t as HBasics,r as HObject};