"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _rcUtil = require("rc-util"); function getComponentToken(component, token, defaultToken, options) { var customToken = (0, _objectSpread2.default)({}, token[component]); if (options !== null && options !== void 0 && options.deprecatedTokens) { var deprecatedTokens = options.deprecatedTokens; deprecatedTokens.forEach(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), oldTokenKey = _ref2[0], newTokenKey = _ref2[1]; if (process.env.NODE_ENV !== 'production') { (0, _rcUtil.warning)(!(customToken !== null && customToken !== void 0 && customToken[oldTokenKey]), "Component Token `".concat(String(oldTokenKey), "` of ").concat(String(component), " is deprecated. Please use `").concat(String(newTokenKey), "` instead.")); } // Should wrap with `if` clause, or there will be `undefined` in object. if (customToken !== null && customToken !== void 0 && customToken[oldTokenKey] || customToken !== null && customToken !== void 0 && customToken[newTokenKey]) { var _customToken$newToken; (_customToken$newToken = customToken[newTokenKey]) !== null && _customToken$newToken !== void 0 ? _customToken$newToken : customToken[newTokenKey] = customToken === null || customToken === void 0 ? void 0 : customToken[oldTokenKey]; } }); } var mergedToken = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultToken), customToken); // Remove same value as global token to minimize size Object.keys(mergedToken).forEach(function (key) { if (mergedToken[key] === token[key]) { delete mergedToken[key]; } }); return mergedToken; } var _default = exports.default = getComponentToken;