util.js
1 lines
| 1 | export function pick(t,...e){return Object.assign({},...e.map((e=>({[e]:t[e]}))))}export function deepEqual(t,e){return"object"==typeof t&&Object.keys(t).length>0?Object.keys(t).length===Object.keys(e).length&&Object.keys(t).every((n=>deepEqual(t[n],e[n]))):t===e}export function closestElement(t,e){return function e(n){if(!n||n===document||n===window)return null;return n.closest(t)||e(n.getRootNode().host)}(e)}export function findElements(t,e){return function e(n){if(!n)return null;let o=n.querySelectorAll(t);return o&&(null==o?void 0:o.length)?o:e(null==n?void 0:n.shadowRoot)}(e)}export const capitalize=t=>t&&t[0].toUpperCase()+t.slice(1);export const isValidURL=t=>{let e;try{e=new URL(t)}catch(t){return!1}return"http:"===e.protocol||"https:"===e.protocol}; |