@uiw/react-shields
Version:
Shields.io for react component, Quality metadata badges for open source projects.
53 lines (52 loc) • 1.92 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Size = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _Base = require("../common/Base");
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["type", "platform", "base", "user", "repo", "path"];
var Size = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var _props$type = props.type,
type = _props$type === void 0 ? 'languages' : _props$type,
_props$platform = props.platform,
platform = _props$platform === void 0 ? 'github' : _props$platform,
_props$base = props.base,
base = _props$base === void 0 ? 'https://img.shields.io' : _props$base,
user = props.user,
repo = props.repo,
path = props.path,
other = (0, _objectWithoutProperties2["default"])(props, _excluded);
var getUrl = function getUrl() {
if (platform !== 'github') return '';
/**
* /github/languages/code-size/:user/:repo
*/
if (type === 'languages') {
return [base, platform, type, 'code-size', user, repo].join('/');
}
/**
* /github/repo-size/:user/:repo
*/
if (type === 'repo-size') {
return [base, platform, type, user, repo].join('/');
}
/**
* /github/size/:user/:repo/:path*
*/
if (type === 'size' && path) {
return [base, platform, type, user, repo, path].join('/');
}
return '';
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Base.Internal, (0, _objectSpread2["default"])({
imgSrc: getUrl(),
ref: ref
}, other));
});
exports.Size = Size;
Size.displayName = 'Size';
;