@uiw/react-shields
Version:
Shields.io for react component, Quality metadata badges for open source projects.
115 lines (114 loc) • 4.3 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = 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 = ["base", "platform", "type", "scope", "packageName", "dependency", "dependencyScope", "version", "registryUri"];
/**
* NPM Version
*
* `/npm/v/:packageName`
* npm: npm badge
*
* `/npm/v/:scope/:packageName`
* npm (scoped): npm (scoped) badge
*
* `/npm/v/:packageName/:tag`
* npm (tag): npm (tag) badge
*
* `/npm/v/:packageName/:tag?registry_uri=https%3A%2F%2Fregistry.npmjs.com`
* npm (custom registry): npm (custom registry) badge
*
* `/npm/v/:scope/:packageName/:tag`
* npm (scoped with tag): npm (scoped with tag) badge
*
* `/npm/dependency-version/:packageName/peer/:dependency`
* npm peer dependency version: npm peer dependency version badge
*
* `/npm/dependency-version/:scope?/:packageName/dev/:dependencyScope?/:dependency`
* npm peer dependency version (scoped): npm peer dependency version (scoped) badge
*
* `/npm/dependency-version/:packageName/dev/:dependency`
* npm dev dependency version: npm dev dependency version badge
*
* `/npm/dependency-version/:scope?/:packageName/dev/:dependencyScope?/:dependency`
* npm dev dependency version (scoped): npm dev dependency version (scoped) badge
*
* `/npm/dependency-version/:packageName/:dependency`
* npm (prod) dependency version: npm (prod) dependency version badge
*
* `/npm/dependency-version/:scope?/:packageName/:dependencyScope?/:dependency`
* npm (prod) dependency version (scoped): npm (prod) dependency version (scoped) badge
*
* `/npm/types/:packageName`
* npm type definitions: npm type definitions badge
*/
var Version = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var _props$base = props.base,
base = _props$base === void 0 ? 'https://img.shields.io' : _props$base,
_props$platform = props.platform,
platform = _props$platform === void 0 ? 'npm' : _props$platform,
_props$type = props.type,
type = _props$type === void 0 ? 'version' : _props$type,
scope = props.scope,
packageName = props.packageName,
dependency = props.dependency,
dependencyScope = props.dependencyScope,
version = props.version,
registryUri = props.registryUri,
other = (0, _objectWithoutProperties2["default"])(props, _excluded);
var getUrl = function getUrl() {
if (platform !== 'npm' || !packageName) return '';
var url = '';
var baseData = [base, platform];
if (type === 'version' && packageName) {
baseData.push('v');
if (scope) {
baseData.push(scope);
}
baseData.push(packageName);
if (version) {
baseData.push(version);
}
url = baseData.join('/');
if (registryUri) {
url = "".concat(url, "?registry_uri=").concat(registryUri);
}
} else if (type === 'peer-dependency' && packageName && dependency) {
baseData.push('dependency-version');
if (scope) {
baseData.push(scope);
}
url = [].concat(baseData, [packageName, 'peer', dependency]).join('/');
} else if (type === 'dev-dependency' && packageName && dependency) {
baseData.push('dependency-version');
if (scope) {
baseData.push(scope);
}
baseData.concat([packageName, 'dev']);
if (dependencyScope) {
baseData.push(dependencyScope);
}
baseData.push(dependency);
url = baseData.join('/');
} else if (packageName && dependency) {
baseData.concat([packageName, dependency]);
url = baseData.join('/');
}
return url;
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Base.Internal, (0, _objectSpread2["default"])({
imgSrc: getUrl(),
ref: ref
}, other));
});
Version.displayName = 'Version';
var _default = Version;
exports["default"] = _default;
module.exports = exports.default;
;