@devgrace/utils
Advanced tools
Comparing version 1.0.2 to 1.1.0
@@ -5,2 +5,3 @@ export * from './abRandom'; | ||
export * from './deepEqual'; | ||
export * from './delay'; | ||
export * from './getUniqId'; | ||
@@ -7,0 +8,0 @@ export * from './getUniqTime'; |
@@ -1,2 +0,2 @@ | ||
"use strict";function e(e,t,r,n){return new(r||(r=Promise))((function(o,s){function i(e){try{a(n.next(e))}catch(e){s(e)}}function c(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,c)}a((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r=e=>e instanceof Function,n=e=>{if("object"!=typeof e||null===e)return e;if(Array.isArray(e)){const t=[];for(const r of e)t.push(n(r));return t}if(e instanceof Set){const t=new Set;for(const r of e)t.add(n(r));return t}if(e instanceof Map){const t=new Map;for(const[r,o]of e)t.set(n(r),n(o));return t}const r={};for(const o in e)t(e,o)&&(r[o]=n(e[o]));return r},o=(e,t)=>{const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(const o of r)if(!n.includes(o)||!s(e[o],t[o]))return!1;return!0},s=(e,t)=>{if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;if(e.constructor!==t.constructor)return!1;if(e instanceof Set){if(e.size!==t.size)return!1;const r=[...e],n=[...t];return o(r,n)}if(e instanceof Map){if(e.size!==t.size)return!1;for(const[r,n]of e)if(!t.has(r)||!s(n,t.get(r)))return!1;return!0}return o(e,t)};let i=0,c=0;const a=()=>{const e=(new Date).getTime();return c===e?i+=1:(c=e,i=0),(1e3*e+i)/1e3},u=()=>"undefined"==typeof window&&"undefined"!=typeof global,p=e=>{const t=n(e);return Array.isArray(t)?t:[t]},l=()=>{if(u())return!1;const e=window.navigator.userAgent;return/Android|webOS|iPhone|iPad|iPod|Windows Phone|BlackBerry|IEMobile|Opera Mini/i.test(e)},f=()=>!u(),d=e=>{const r={};for(const n in e)if(t(e,n)){const t=e[n];if(null!=t&&"object"==typeof t){if(!Array.isArray(t)){const e=d(t);Object.keys(e).length&&(r[n]=e);continue}const e=t.reduce(((e,t)=>{if("object"!=typeof t)return e.push(t),e;const r=d(t);return!!Object.keys(r).length&&e.push(r),e}),[]);e.length&&(r[n]=e)}else("number"==typeof t||"boolean"==typeof t||t)&&(r[n]=t)}return r},g=(e,r,n)=>{if("object"!=typeof e||"object"!=typeof r)return e;const o=Object.assign({},e);for(const s in r)n&&n.includes(s)||t(r,s)&&("object"==typeof r[s]?Array.isArray(r[s])?o[s]=[...e[s],...r[s]]:o[s]=g(e[s],r[s]):o[s]=r[s]);return o},h=e=>e.replace(/\D/g,"");exports.abRandom=()=>Math.random()<.5?0:1,exports.asyncNoop=()=>e(void 0,void 0,void 0,(function*(){})),exports.clearStorage=e=>{if(f())try{window[e].clear()}catch(t){console.warn(`Error clearing ${e}`)}else console.warn("Not running in a client environment.")},exports.countSubstringOccurrences=(e,t)=>{const r=new RegExp(t,"g"),n=e.match(r);return n?n.length:0},exports.deepCopy=n,exports.deepEqual=s,exports.deleteFalsyProperties=d,exports.extractNumber=h,exports.formatNumberWithCommas=e=>e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","),exports.formatPhoneNumber=e=>{const t=h(e),r=t.startsWith("02");return 8===t.length?t.replace(/(\d{4})(\d{4})/,"$1-$2"):!r||9!==t.length&&10!==t.length?t.replace(/(\d{3})(\d{3,4})(\d{4})/,"$1-$2-$3"):t.replace(/(\d{2})(\d{3,4})(\d{4})/,"$1-$2-$3")},exports.getOS=()=>{if(u())return"server";if(!!window.navigator.userAgent.match(/ipad|iphone|ipod/i))return"ios";return!!window.navigator.userAgent.match(/Android/i)?"android":l()?"otherMobile":"web"},exports.getStorageItem=(e,t,n=null)=>{const o=r(n)?n():n;if(!f())return console.warn("Not running in a client environment."),o;try{const r=window[e].getItem(t);return r?JSON.parse(r):o}catch(r){return console.warn(`Error reading ${e} key "${t}"`),o}},exports.getUniqId=()=>(1e3*a()).toString(16),exports.getUniqTime=a,exports.getViewportSize=()=>u()?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight},exports.hasProperty=t,exports.hexToRgba=(e,t=1)=>{if(!/^#?[0-9A-Fa-f]{6}$/.test(e))return null;const r=e.replace("#",""),n=parseInt(r.slice(0,2),16),o=parseInt(r.slice(2,4),16),s=parseInt(r.slice(4,6),16);return{r:n,g:o,b:s,a:t,stringifiedValue:`rgba(${n},${o},${s},${t})`}},exports.isClient=f,exports.isFunction=r,exports.isMobile=l,exports.isNotNullish=e=>null!=e,exports.isNullish=e=>null==e,exports.isNumber=e=>"number"==typeof e,exports.isServer=u,exports.isValidEmail=e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),exports.isValidPhoneNumberFormat=e=>/^(\d{2,3}-)?\d{3,4}-\d{4}$/.test(e),exports.mergeProperties=g,exports.noop=()=>{},exports.objectEntries=e=>Object.entries(e),exports.objectKeys=e=>Object.keys(e),exports.objectValues=e=>Object.values(e),exports.omit=(e,t)=>{const r=n(e);return p(t).forEach((e=>{e in r&&delete r[e]})),r},exports.pick=(e,t)=>{const r={},o=n(e);return p(t).forEach((e=>{e in o&&(r[e]=o[e])})),r},exports.removeSpecialCharacters=e=>e.replace(/[!@#$%^&*()_+{}\[\]:;<>,.?~\\/-]/g,""),exports.removeStorageItem=(e,t)=>{if(f())try{window[e].removeItem(t)}catch(r){console.warn(`Error removing ${e} key "${t}"`)}else console.warn("Not running in a client environment.")},exports.repeatCharacters=(e,t)=>{let r="";if(t<=1)return e;for(let n=0;n<e.length;n++)r+=e[n].repeat(t);return r},exports.setStorageItem=(e,t,n)=>{if(f())try{const o=window[e],s=r(n)?n():n;o.setItem(t,JSON.stringify(s))}catch(r){console.warn(`Error setting ${e} key "${t}"`)}else console.warn("Not running in a client environment.")},exports.wrapInArray=p; | ||
"use strict";function e(e,t,r,n){return new(r||(r=Promise))((function(o,s){function i(e){try{a(n.next(e))}catch(e){s(e)}}function c(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,c)}a((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r=e=>e instanceof Function,n=e=>{if("object"!=typeof e||null===e)return e;if(Array.isArray(e)){const t=[];for(const r of e)t.push(n(r));return t}if(e instanceof Set){const t=new Set;for(const r of e)t.add(n(r));return t}if(e instanceof Map){const t=new Map;for(const[r,o]of e)t.set(n(r),n(o));return t}const r={};for(const o in e)t(e,o)&&(r[o]=n(e[o]));return r},o=(e,t)=>{const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(const o of r)if(!n.includes(o)||!s(e[o],t[o]))return!1;return!0},s=(e,t)=>{if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;if(e.constructor!==t.constructor)return!1;if(e instanceof Set){if(e.size!==t.size)return!1;const r=[...e],n=[...t];return o(r,n)}if(e instanceof Map){if(e.size!==t.size)return!1;for(const[r,n]of e)if(!t.has(r)||!s(n,t.get(r)))return!1;return!0}return o(e,t)};let i=0,c=0;const a=()=>{const e=(new Date).getTime();return c===e?i+=1:(c=e,i=0),(1e3*e+i)/1e3},p=()=>"undefined"==typeof window&&"undefined"!=typeof global,u=e=>{const t=n(e);return Array.isArray(t)?t:[t]},l=()=>{if(p())return!1;const e=window.navigator.userAgent;return/Android|webOS|iPhone|iPad|iPod|Windows Phone|BlackBerry|IEMobile|Opera Mini/i.test(e)},f=()=>!p(),d=e=>{const r={};for(const n in e)if(t(e,n)){const t=e[n];if(null!=t&&"object"==typeof t){if(!Array.isArray(t)){const e=d(t);Object.keys(e).length&&(r[n]=e);continue}const e=t.reduce(((e,t)=>{if("object"!=typeof t)return e.push(t),e;const r=d(t);return!!Object.keys(r).length&&e.push(r),e}),[]);e.length&&(r[n]=e)}else("number"==typeof t||"boolean"==typeof t||t)&&(r[n]=t)}return r},g=(e,r,n)=>{if("object"!=typeof e||"object"!=typeof r)return e;const o=Object.assign({},e);for(const s in r)n&&n.includes(s)||t(r,s)&&("object"==typeof r[s]?Array.isArray(r[s])?o[s]=[...e[s],...r[s]]:o[s]=g(e[s],r[s]):o[s]=r[s]);return o},h=e=>e.replace(/\D/g,"");exports.abRandom=()=>Math.random()<.5?0:1,exports.asyncNoop=()=>e(void 0,void 0,void 0,(function*(){})),exports.clearStorage=e=>{if(f())try{window[e].clear()}catch(t){console.warn(`Error clearing ${e}`)}else console.warn("Not running in a client environment.")},exports.countSubstringOccurrences=(e,t)=>{const r=new RegExp(t,"g"),n=e.match(r);return n?n.length:0},exports.deepCopy=n,exports.deepEqual=s,exports.delay=e=>new Promise((t=>{setTimeout((()=>t()),e)})),exports.deleteFalsyProperties=d,exports.extractNumber=h,exports.formatNumberWithCommas=e=>e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","),exports.formatPhoneNumber=e=>{const t=h(e),r=t.startsWith("02");return 8===t.length?t.replace(/(\d{4})(\d{4})/,"$1-$2"):!r||9!==t.length&&10!==t.length?t.replace(/(\d{3})(\d{3,4})(\d{4})/,"$1-$2-$3"):t.replace(/(\d{2})(\d{3,4})(\d{4})/,"$1-$2-$3")},exports.getOS=()=>{if(p())return"server";if(!!window.navigator.userAgent.match(/ipad|iphone|ipod/i))return"ios";return!!window.navigator.userAgent.match(/Android/i)?"android":l()?"otherMobile":"web"},exports.getStorageItem=(e,t,n=null)=>{const o=r(n)?n():n;if(!f())return console.warn("Not running in a client environment."),o;try{const r=window[e].getItem(t);return r?JSON.parse(r):o}catch(r){return console.warn(`Error reading ${e} key "${t}"`),o}},exports.getUniqId=()=>(1e3*a()).toString(16),exports.getUniqTime=a,exports.getViewportSize=()=>p()?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight},exports.hasProperty=t,exports.hexToRgba=(e,t=1)=>{if(!/^#?[0-9A-Fa-f]{6}$/.test(e))return null;const r=e.replace("#",""),n=parseInt(r.slice(0,2),16),o=parseInt(r.slice(2,4),16),s=parseInt(r.slice(4,6),16);return{r:n,g:o,b:s,a:t,stringifiedValue:`rgba(${n},${o},${s},${t})`}},exports.isClient=f,exports.isFunction=r,exports.isMobile=l,exports.isNotNullish=e=>null!=e,exports.isNullish=e=>null==e,exports.isNumber=e=>"number"==typeof e,exports.isPromise=e=>e instanceof Promise,exports.isServer=p,exports.isValidEmail=e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),exports.isValidPhoneNumberFormat=e=>/^(\d{2,3}-)?\d{3,4}-\d{4}$/.test(e),exports.mergeProperties=g,exports.noop=()=>{},exports.objectEntries=e=>Object.entries(e),exports.objectKeys=e=>Object.keys(e),exports.objectValues=e=>Object.values(e),exports.omit=(e,t)=>{const r=n(e);return u(t).forEach((e=>{e in r&&delete r[e]})),r},exports.pick=(e,t)=>{const r={},o=n(e);return u(t).forEach((e=>{e in o&&(r[e]=o[e])})),r},exports.removeSpecialCharacters=e=>e.replace(/[!@#$%^&*()_+{}\[\]:;<>,.?~\\/-]/g,""),exports.removeStorageItem=(e,t)=>{if(f())try{window[e].removeItem(t)}catch(r){console.warn(`Error removing ${e} key "${t}"`)}else console.warn("Not running in a client environment.")},exports.repeatCharacters=(e,t)=>{let r="";if(t<=1)return e;for(let n=0;n<e.length;n++)r+=e[n].repeat(t);return r},exports.setStorageItem=(e,t,n)=>{if(f())try{const o=window[e],s=r(n)?n():n;o.setItem(t,JSON.stringify(s))}catch(r){console.warn(`Error setting ${e} key "${t}"`)}else console.warn("Not running in a client environment.")},exports.wrapInArray=u; | ||
//# sourceMappingURL=index.js.map |
@@ -6,3 +6,4 @@ export * from './hasProperty'; | ||
export * from './isNumber'; | ||
export * from './isPromise'; | ||
export * from './isValidEmail'; | ||
export * from './isValidPhoneNumberFormat'; |
{ | ||
"name": "@devgrace/utils", | ||
"sideEffects": false, | ||
"version": "1.0.2", | ||
"version": "1.1.0", | ||
"description": "devgrace/utils", | ||
@@ -38,3 +38,3 @@ "exports": { | ||
"@vitest/coverage-v8": "^1.5.2", | ||
"esbuild": "^0.20.2", | ||
"esbuild": "^0.21.0", | ||
"jsdom": "^24.0.0", | ||
@@ -41,0 +41,0 @@ "rollup": "^4.14.3", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
102535
55
154