bootstrap-vue-next
Version:
BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.
3 lines (2 loc) • 1.22 kB
JavaScript
const t=(e,r)=>{if(e===r)return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;const n=Object.keys(e),o=Object.keys(r);if(n.length!==o.length)return!1;for(const u of n)if(!o.includes(u)||!t(e[u],r[u]))return!1;return!0};exports.deepEqual=t,exports.get=(t,e,r)=>{const n=e.split(/[.[\]]/g);let o=t;for(const u of n){if(null===o)return r;if(void 0===o)return r;""!==u.trim()&&(o=o[u])}return void 0===o?r:o},exports.omit=(t,e)=>Object.keys(t).filter(t=>!e.map(t=>t.toString()).includes(t)).reduce((e,r)=>({...e,[r]:t[r]}),{}),exports.pick=(t,e)=>[...e].reduce((e,r)=>(e[r]=t[r],e),{}),exports.set=(t,e,r)=>{if(!t)return{};if(!e||void 0===r)return t;const n=e.split(/[.[\]]/g).filter(t=>!!t.trim()),o=t=>{if(n.length>1){const e=n.shift(),r=null!==((t,e)=>{const r=e;if(null==t)return r;const n=Number.parseInt(t);return Number.isNaN(n)?r:n})(n[0],null);t[e]=void 0===t[e]?r?[]:{}:t[e],o(t[e])}else t[n[0]]=r},u=(t=>{if(null==(e=t)||"object"!=typeof e&&"function"!=typeof e)return t;var e;if("function"==typeof t)return t.bind({});const r=new t.constructor;return Object.getOwnPropertyNames(t).forEach(e=>{r[e]=t[e]}),r})(t);return o(u),u};
//# sourceMappingURL=object-BvjuW1R8.js.map
;