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.23 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-os-RnHQq.js.map
;