UNPKG

control-flow-react

Version:
26 lines 1.21 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; exports.Case = exports.Switch = void 0; var react_1 = __importDefault(require("react")); var Switch = function (props) { var when = props.when, children = props.children, _a = props.fallBack, fallBack = _a === void 0 ? null : _a; var cases = react_1["default"].Children.toArray(children).filter(function (child) { return react_1["default"].isValidElement(child) && child.type === exports.Case; }); var successCase = cases.find(function (child) { if (!react_1["default"].isValidElement(child)) return false; if (child.props.values) return child.props.values.includes(when); return child.props.value === when; }); return react_1["default"].createElement(react_1["default"].Fragment, null, successCase ? successCase : fallBack); }; exports.Switch = Switch; var Case = function (_a) { var children = _a.children; return (react_1["default"].createElement(react_1["default"].Fragment, null, children)); }; exports.Case = Case; //# sourceMappingURL=switch.js.map