UNPKG

@uiw/react-shields

Version:

Shields.io for react component, Quality metadata badges for open source projects.

115 lines (114 loc) 4.3 kB
"use strict"; 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;