UNPKG

react-if-vz

Version:

React wrapper conditions. Simple wrapper

2 lines (1 loc) 1.36 kB
import n,{isValidElement as r}from"react";function e(n){return null}function t(n){return null}function l(n){return null}function u(n){return Boolean("function"==typeof n?n():n)}function a(a){for(var i=a.children,c=null,o=0,f=Array.isArray(i)?i:[i];o<f.length;o++){var m=f[o];if(r(m)){var v=m,d=v.type,h=v.props,g=u(h.condition);if(d===e&&g)return n.createElement(n.Fragment,null,h.children);if(d===t&&g)return n.createElement(n.Fragment,null,h.children);d!==l||c||(c=h.children)}}return n.createElement(n.Fragment,null,c)}var i=function(r){var e=r.condition,t=r.children;return u(e)?n.createElement(n.Fragment,null,t):null};a.If=e,a.ElseIf=t,a.Else=l;function c(n){return"function"==typeof n?n():n}var o=function(n,r,e){return e?r===c(n):c(n)};function f(r){var e=r.children;return n.createElement(n.Fragment,null,e)}function m(r){var e=r.children;return n.createElement(n.Fragment,null,e)}function v(e){for(var t=e.value,l=e.children,u=Array.isArray(l)?l:[l],a=null,i=!(null==t),v=c(t),d=0,h=u;d<h.length;d++){var g=h[d];if(r(g)){var p=g,E=p.type,y=p.props;if(E===f&&o(y.value,v,i))return n.createElement(n.Fragment,null,y.children);E!==m||a||(a=y.children)}}return n.createElement(n.Fragment,null,a)}v.Case=f,v.Default=m;export{f as Case,m as Default,l as Else,t as ElseIf,e as If,a as Ifz,v as Switch,i as When,u as execIfCondition,c as execSwitchCondition};