@uiw/react-shields
Version:
Shields.io for react component, Quality metadata badges for open source projects.
49 lines • 1.49 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["platform", "type", "base", "user", "repo", "branch"];
import React from 'react';
import { Internal } from '../common/Base';
import { jsx as _jsx } from "react/jsx-runtime";
export default /*#__PURE__*/React.forwardRef((props, ref) => {
var {
platform = 'github',
type = 'version-release',
base = 'https://img.shields.io',
user,
repo,
branch
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded);
var getUrl = () => {
var typePath = '';
switch (type) {
case 'version-release':
typePath = 'v/release';
break;
case 'version-tag':
typePath = 'v/tag';
break;
case 'package-json':
typePath = 'package-json/v';
break;
case 'manifest-json':
typePath = 'manifest-json/v';
break;
case 'go-mod':
typePath = 'go-mod/go-version';
break;
default:
break;
}
if (platform !== 'github' || !typePath) return '';
var baseData = [base, platform, typePath, user, repo];
if (/(go-mod|manifest-json|package-json)/.test(type || '') && branch) {
return [...baseData, branch].join('/');
}
return baseData.join('/');
};
return /*#__PURE__*/_jsx(Internal, _extends({
imgSrc: getUrl(),
ref: ref
}, other));
});