UNPKG

@jay-js/ui

Version:

A library of UI components for Jay JS with Tailwind CSS and daisyUI.

52 lines (51 loc) 1.71 kB
function _object_without_properties(source, excluded) { if (source == null) return {}; var target = _object_without_properties_loose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for(i = 0; i < sourceSymbolKeys.length; i++){ key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _object_without_properties_loose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for(i = 0; i < sourceKeys.length; i++){ key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } export function Fragment(_param) { var { children } = _param, props = _object_without_properties(_param, [ "children" ]); const fragment = document.createDocumentFragment(); props && Object.entries(props).forEach(([key, value])=>{ try { fragment[key] = value; } catch (error) { if (error instanceof TypeError) { console.warn(`JayJS: Cannot set property '${key}' of type '${typeof value}' to '${value}'.`); throw error; } } }); if (Array.isArray(children)) { children.forEach((item)=>{ fragment.append(item); }); } else { children && fragment.append(children); } return fragment; }