commonly-used-utils
Advanced tools
Comparing version 1.0.0-beat16 to 1.0.0-beat17
@@ -1,1 +0,1 @@ | ||
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)("object"==typeof exports?exports:t)[n]=r[n]}}(self,(()=>(()=>{"use strict";var t={d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{NotRepeatedArray:()=>E,addItem:()=>w,deleteRecursively:()=>h,deleteRecursivelyReverse:()=>p,findArrayAttr:()=>g,isArray:()=>l,isFunction:()=>c,isNil:()=>u,isNumber:()=>a,isObject:()=>i,oneDimensional:()=>v,removeItem:()=>O,setTreeAttr:()=>d,setTreeAttr_copy:()=>b,sleep:()=>A,treeFindParents:()=>s});var r,n=new Map([["[object Boolean]","boolean"],["[object Number]","number"],["[object String]","string"],["[object Function]","function"],["[object Array]","array"],["[object Date]","date"],["[object RegExp]","regExp"],["[object Object]","object"],["[object Error]","error"]]),o=function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?n.get(Object.prototype.toString.call(t))||"object":typeof t},i=function(t){return"object"===o(t)},c=function(t){return"function"===o(t)},l=function(t){return"array"===o(t)},u=function(t){return null==t},a=function(t){return null!==t&&""!==t&&void 0!==t&&!isNaN(Number(t))},f=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},v=function(t,e){return void 0===t&&(t=[]),void 0===e&&(e="children"),t&&t.length?t.reduce((function(t,r){var n;return t.concat(r,(null===(n=null==r?void 0:r[e])||void 0===n?void 0:n.length)?v(r[e],e):[])}),[]):[]},s=function(t,e,r,n,o,c,l){var u;if(void 0===t&&(t=[]),void 0===r&&(r="id"),void 0===n&&(n="children"),void 0===o&&(o=!0),void 0===c&&(c=!0),void 0===l&&(l=!0),!t.length)return[];for(var a=0,f=t.length;a<f;a++){var v=t[a];if(v[r]===e)return c?[v]:l?[]:v;var d=(null===(u=null==v?void 0:v[n])||void 0===u?void 0:u.length)&&s(v[n],e,r,n,o,c,!1);if(i(d))return[v];if(null==d?void 0:d.length)return o?[v].concat(d):d.concat(v)}},d=function(t,e,r,n){var o;void 0===t&&(t=[]),void 0===r&&(r="children"),void 0===n&&(n=[]);for(var i=0,c=t.length;i<c;i++){var l=t[i];e(l,n,i,t),(null===(o=null==l?void 0:l[r])||void 0===o?void 0:o.length)&&d(l[r],e,r,f(f([],n,!0),[l],!1))}},h=function(t,e,r){var n;void 0===t&&(t=[]),void 0===r&&(r="children");for(var i=0,c=t.length;i<c;i++){var l=t[i],u=e(l);if("boolean"!==o(u)){new Error("callback返回值:".concat(u,"(返回值只能是布尔值)"));break}u?(null===(n=null==l?void 0:l[r])||void 0===n?void 0:n.length)&&h(l[r],e,r):(t.splice(i,1),c--,i--)}},p=function(t,e,r){var n;void 0===t&&(t=[]),void 0===r&&(r="children");for(var i=t.length-1;i>=0;i--){var c=t[i],l=e(c);if("boolean"!==o(l)){new Error("callback返回值:".concat(l,"(返回值只能是布尔值)"));break}l?(null===(n=null==c?void 0:c[r])||void 0===n?void 0:n.length)&&h(c[r],e,r):t.splice(i,1)}},b=function(t,e,r,n){return void 0===r&&(r="children"),void 0===n&&(n=[]),t.length?t.reduce((function(t,o){var c=e(o,n);if(!i(c))throw new Error("函数返回值必须为对象");return c[r]&&(c[r]=b(c[r],e,r,f(f([],n,!0),[o],!1))),0===Object.keys(c).length?t:t.concat(c)}),[]):[]},y=(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),g=function(t,e,r,n,o){if(void 0===o&&(o=!1),!l(t)||!r||u(e)||o&&!t.length||"boolean"!=typeof o)throw new Error("请检查参数");var c=t.find((function(t){return!!i(t)&&(o?t[r]===e:""+t[r]==""+e)}));if("{}"===n||"string"==typeof n&&"object"===n.toLowerCase()||i(n)){if(o&&!i(c))throw new Error("严格模式(对象)未找到, value: ".concat(e,", attr:").concat(r,", url: ").concat(location.href));return c}if(o&&(!i(c)||!(n in c)||u(c[n])))throw new Error("严格模式(属性)未找到, value: ".concat(e,", attr:").concat(r,", url: ").concat(location.href));return null==c?void 0:c[n]};function j(t){if("number"!==o(t)&&"string"!==o(t))throw new Error("只支持string、number类型的数据");!l(this)||this.includes(t)?this instanceof Set&&this.add(t):this.push(t)}function m(t){if("number"!==o(t)&&"string"!==o(t))throw new Error("只支持string、number类型的数据");if(l(this)){var e=this.indexOf(t);-1!==e&&this.splice(e,1)}else this instanceof Set&&this.delete(t)}var w=function(){for(var t=this,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];for(var n in e){var o=e[n];l(o)?o.forEach((function(e){j.call(t,e)})):j.call(this,o)}return this},O=function(){for(var t=this,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];for(var n in e){var o=e[n];l(o)?o.forEach((function(e){m.call(t,e)})):m.call(this,o)}return this},E=function(t){function e(e){return(null==e?void 0:e.length)?t.apply(this,e)||this:t.call(this)||this}return y(e,t),e.prototype.addItem=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return w.call(this,t),this},e.prototype.removeItem=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return O.call(this,t),this},e}(Array),A=function(t){return new Promise((function(e){return setTimeout(e,t)}))};return e})())); | ||
!function(t,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var e=r();for(var n in e)("object"==typeof exports?exports:t)[n]=e[n]}}(self,(()=>(()=>{"use strict";var t={d:(r,e)=>{for(var n in e)t.o(e,n)&&!t.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:e[n]})},o:(t,r)=>Object.prototype.hasOwnProperty.call(t,r),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},r={};t.r(r),t.d(r,{NotRepeatedArray:()=>A,addItem:()=>O,deleteRecursively:()=>h,deleteRecursivelyReverse:()=>p,findArrayAttr:()=>j,isArray:()=>l,isFunction:()=>c,isNil:()=>u,isNumber:()=>a,isObject:()=>i,oneDimensional:()=>v,removeItem:()=>E,setTreeAttr:()=>s,setTreeAttr_copy:()=>b,sleep:()=>_,treeFind:()=>y,treeFindParents:()=>d});var e,n=new Map([["[object Boolean]","boolean"],["[object Number]","number"],["[object String]","string"],["[object Function]","function"],["[object Array]","array"],["[object Date]","date"],["[object RegExp]","regExp"],["[object Object]","object"],["[object Error]","error"]]),o=function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?n.get(Object.prototype.toString.call(t))||"object":typeof t},i=function(t){return"object"===o(t)},c=function(t){return"function"===o(t)},l=function(t){return"array"===o(t)},u=function(t){return null==t},a=function(t){return null!==t&&""!==t&&void 0!==t&&!isNaN(Number(t))},f=function(t,r,e){if(e||2===arguments.length)for(var n,o=0,i=r.length;o<i;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return t.concat(n||Array.prototype.slice.call(r))},v=function(t,r){return void 0===t&&(t=[]),void 0===r&&(r="children"),t&&t.length?t.reduce((function(t,e){var n;return t.concat(e,(null===(n=null==e?void 0:e[r])||void 0===n?void 0:n.length)?v(e[r],r):[])}),[]):[]},d=function(t,r,e,n,o,c,l){var u;if(void 0===t&&(t=[]),void 0===e&&(e="id"),void 0===n&&(n="children"),void 0===o&&(o=!0),void 0===c&&(c=!0),void 0===l&&(l=!0),!t.length)return[];for(var a=0,f=t.length;a<f;a++){var v=t[a];if(v[e]===r)return c?[v]:l?[]:v;var s=(null===(u=null==v?void 0:v[n])||void 0===u?void 0:u.length)&&d(v[n],r,e,n,o,c,!1);if(i(s))return[v];if(null==s?void 0:s.length)return o?[v].concat(s):s.concat(v)}},s=function(t,r,e,n){var o;void 0===t&&(t=[]),void 0===e&&(e="children"),void 0===n&&(n=[]);for(var i=0,c=t.length;i<c;i++){var l=t[i];r(l,n,i,t),(null===(o=null==l?void 0:l[e])||void 0===o?void 0:o.length)&&s(l[e],r,e,f(f([],n,!0),[l],!1))}},h=function(t,r,e){var n;void 0===t&&(t=[]),void 0===e&&(e="children");for(var i=0,c=t.length;i<c;i++){var l=t[i],u=r(l);if("boolean"!==o(u)){new Error("callback返回值:".concat(u,"(返回值只能是布尔值)"));break}u?(null===(n=null==l?void 0:l[e])||void 0===n?void 0:n.length)&&h(l[e],r,e):(t.splice(i,1),c--,i--)}},p=function(t,r,e){var n;void 0===t&&(t=[]),void 0===e&&(e="children");for(var i=t.length-1;i>=0;i--){var c=t[i],l=r(c);if("boolean"!==o(l)){new Error("callback返回值:".concat(l,"(返回值只能是布尔值)"));break}l?(null===(n=null==c?void 0:c[e])||void 0===n?void 0:n.length)&&h(c[e],r,e):t.splice(i,1)}},b=function(t,r,e,n){return void 0===e&&(e="children"),void 0===n&&(n=[]),t.length?t.reduce((function(t,o){var c=r(o,n);if(!i(c))throw new Error("函数返回值必须为对象");return c[e]&&(c[e]=b(c[e],r,e,f(f([],n,!0),[o],!1))),0===Object.keys(c).length?t:t.concat(c)}),[]):[]},y=function(t,r,e,n){void 0===e&&(e="{}"),void 0===n&&(n="children");for(var o=0,c=t.length;o<c;o++){var l=t[o];if(r(l))return"{}"===e||"Object"===e||i(e)?l:l[e];var u=l[n]&&y(l[n],r,e,n);if(u)return u}},g=(e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])},e(t,r)},function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}),j=function(t,r,e,n,o){if(void 0===o&&(o=!1),!l(t)||!e||u(r)||o&&!t.length||"boolean"!=typeof o)throw new Error("请检查参数");var c=t.find((function(t){return!!i(t)&&(o?t[e]===r:""+t[e]==""+r)}));if("{}"===n||"string"==typeof n&&"object"===n.toLowerCase()||i(n)){if(o&&!i(c))throw new Error("严格模式(对象)未找到, value: ".concat(r,", attr:").concat(e,", url: ").concat(location.href));return c}if(o&&(!i(c)||!(n in c)||u(c[n])))throw new Error("严格模式(属性)未找到, value: ".concat(r,", attr:").concat(e,", url: ").concat(location.href));return null==c?void 0:c[n]};function m(t){if("number"!==o(t)&&"string"!==o(t))throw new Error("只支持string、number类型的数据");!l(this)||this.includes(t)?this instanceof Set&&this.add(t):this.push(t)}function w(t){if("number"!==o(t)&&"string"!==o(t))throw new Error("只支持string、number类型的数据");if(l(this)){var r=this.indexOf(t);-1!==r&&this.splice(r,1)}else this instanceof Set&&this.delete(t)}var O=function(){for(var t=this,r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];for(var n in r){var o=r[n];l(o)?o.forEach((function(r){m.call(t,r)})):m.call(this,o)}return this},E=function(){for(var t=this,r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];for(var n in r){var o=r[n];l(o)?o.forEach((function(r){w.call(t,r)})):w.call(this,o)}return this},A=function(t){function r(r){return(null==r?void 0:r.length)?t.apply(this,r)||this:t.call(this)||this}return g(r,t),r.prototype.addItem=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return O.call(this,t),this},r.prototype.removeItem=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return E.call(this,t),this},r}(Array),_=function(t){return new Promise((function(r){return setTimeout(r,t)}))};return r})())); |
{ | ||
"name": "commonly-used-utils", | ||
"version": "1.0.0-beat16", | ||
"version": "1.0.0-beat17", | ||
"description": "", | ||
@@ -16,2 +16,3 @@ "main": "dist/index.js", | ||
"devDependencies": { | ||
"@types/web": "0.0.117", | ||
"clean-webpack-plugin": "^4.0.0", | ||
@@ -18,0 +19,0 @@ "html-webpack-plugin": "^5.5.0", |
@@ -16,2 +16,6 @@ ### 1.0.0-beat11 | ||
1. setTreeAttr TS 声明调整 | ||
2. setTreeAttr 增加回调函数第四参数(当前循环的数组) | ||
2. setTreeAttr 增加回调函数第四参数(当前循环的数组) | ||
### 1.0.0-beat17 | ||
#### 2023/10/13 | ||
1. 新增 treeFind 方法 |
@@ -17,3 +17,4 @@ // 常用工具 | ||
deleteRecursivelyReverse, | ||
setTreeAttr_copy | ||
setTreeAttr_copy, | ||
treeFind | ||
} from './recursion' | ||
@@ -20,0 +21,0 @@ |
@@ -213,2 +213,35 @@ import { isObject, type } from './utils/basics' | ||
}, []) | ||
} | ||
/** | ||
* 查找首个符合要求的数据 | ||
* @param array treeData | ||
* @param callback 每个对象执行的方法 | ||
* @param returnType 返回类型 (对象或对象的某个属性) | ||
* @param children 数组子类字段(默认值'children') | ||
* @example | ||
* treeFind( | ||
* treeData, | ||
* (item) => { | ||
* return item['id'] === '111' | ||
* }, | ||
* 'children', | ||
* {} | ||
* ) | ||
*/ | ||
export const treeFind = ( | ||
array, | ||
callback: (item: any) => boolean, | ||
returnType = '{}', | ||
children = 'children', | ||
) => { | ||
for (let i = 0, len = array.length; i < len; i++) { | ||
const item = array[i] | ||
if (callback(item)) { | ||
return returnType === '{}' || returnType === 'Object' || isObject(returnType) ? item : item[returnType] | ||
} | ||
const result = item[children] && treeFind(item[children], callback, returnType, children) | ||
if (result) { return result } | ||
} | ||
} |
@@ -26,3 +26,12 @@ const class2type = new Map([ | ||
export const isArray = (param) => type(param) === 'array' | ||
// 是否为 NULL | ||
/** | ||
* 是否为 null 或 undefined | ||
* @param any | ||
* @returns boolean | ||
* isNil(null) // true | ||
* isNil(undefined) // true | ||
* isNil('') // false | ||
* isNil(0) // false | ||
*/ | ||
export const isNil = (param) => param == null | ||
@@ -29,0 +38,0 @@ |
@@ -10,3 +10,11 @@ // 是否为对象 | ||
// 是否为 NULL | ||
/** | ||
* 是否为 null 或 undefined | ||
* @param any | ||
* @returns boolean | ||
* isNil(null) // true | ||
* isNil(undefined) // true | ||
* isNil('') // false | ||
* isNil(0) // false | ||
*/ | ||
export function isNil (param: any): param is boolean | ||
@@ -35,3 +43,3 @@ | ||
* @param attr 属性值(默认值'id') | ||
* @param children 数组子类字段(默认值'children') | ||
* @param children 数组子类字段(默认值children') | ||
* @param descend 返回数组是否为正序 | ||
@@ -154,2 +162,21 @@ * @param self 返回数组是否包含自身 | ||
*/ | ||
export function deleteRecursively(array, callback, children?: 'children' | string): void | ||
export function deleteRecursively(array, callback, children?: 'children' | string): void | ||
/** | ||
* 查找首个符合要求的数据 | ||
* @param array treeData | ||
* @param callback 每个对象执行的方法 | ||
* @param returnType 返回类型 (对象或对象的某个属性) | ||
* @param children 数组子类字段(默认值'children') | ||
* @example | ||
* treeFind( | ||
* treeData, | ||
* (item) => { | ||
* return item['id'] === '111' | ||
* }, | ||
* {}, | ||
* 'children', | ||
* ) | ||
*/ | ||
export function treeFind(array, callback, returnType?: '{}' | 'Object' | {} | string, children?: 'children' | string): object | undefined | string |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
27104
685
20
8