react-say
Version:
[](https://badge.fury.io/js/react-say) [](https://travis-ci.org/compulim/react-say)
65 lines (49 loc) • 6.19 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = migrateDeprecatedProps;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _Say = _interopRequireDefault(require("./Say"));
var _SayButton = _interopRequireDefault(require("./SayButton"));
var _excluded = ["ponyfill", "speak", "speechSynthesis", "speechSynthesisUtterance", "text"];
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var warnings = {
ponyfill: true,
saySpeak: true
};
function migrateDeprecatedProps(_ref, componentType) {
var ponyfill = _ref.ponyfill,
speak = _ref.speak,
speechSynthesis = _ref.speechSynthesis,
speechSynthesisUtterance = _ref.speechSynthesisUtterance,
text = _ref.text,
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
if (!ponyfill && (speechSynthesis || speechSynthesisUtterance)) {
if (warnings.ponyfill) {
console.warn('react-say: "speechSynthesis" and "speechSynthesisUtterance" props has been renamed to "ponyfill". Please update your code. The deprecated props will be removed in version >= 3.0.0.');
warnings.ponyfill = false;
}
ponyfill = {
speechSynthesis: speechSynthesis,
SpeechSynthesisUtterance: speechSynthesisUtterance
};
}
if (componentType === _Say["default"] || componentType === _SayButton["default"]) {
if (speak && !text) {
if (warnings.saySpeak) {
console.warn('react-say: "speak" prop has been renamed to "text". Please update your code. The deprecated props will be removed in version >= 3.0.0.');
warnings.saySpeak = false;
}
text = speak;
}
}
return _objectSpread({
ponyfill: ponyfill,
text: text
}, otherProps);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRGVwcmVjYXRlZFByb3BzLmpzIl0sIm5hbWVzIjpbIndhcm5pbmdzIiwicG9ueWZpbGwiLCJzYXlTcGVhayIsIm1pZ3JhdGVEZXByZWNhdGVkUHJvcHMiLCJjb21wb25lbnRUeXBlIiwic3BlYWsiLCJzcGVlY2hTeW50aGVzaXMiLCJzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UiLCJ0ZXh0Iiwib3RoZXJQcm9wcyIsImNvbnNvbGUiLCJ3YXJuIiwiU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIiwiU2F5IiwiU2F5QnV0dG9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7Ozs7O0FBRUEsSUFBTUEsUUFBUSxHQUFHO0FBQ2ZDLEVBQUFBLFFBQVEsRUFBRSxJQURLO0FBRWZDLEVBQUFBLFFBQVEsRUFBRTtBQUZLLENBQWpCOztBQUtlLFNBQVNDLHNCQUFULE9BU2JDLGFBVGEsRUFVYjtBQUFBLE1BUkVILFFBUUYsUUFSRUEsUUFRRjtBQUFBLE1BUEVJLEtBT0YsUUFQRUEsS0FPRjtBQUFBLE1BTkVDLGVBTUYsUUFORUEsZUFNRjtBQUFBLE1BTEVDLHdCQUtGLFFBTEVBLHdCQUtGO0FBQUEsTUFKRUMsSUFJRixRQUpFQSxJQUlGO0FBQUEsTUFIS0MsVUFHTDs7QUFDQSxNQUNFLENBQUNSLFFBQUQsS0FDSUssZUFBZSxJQUFJQyx3QkFEdkIsQ0FERixFQUdFO0FBQ0EsUUFBSVAsUUFBUSxDQUFDQyxRQUFiLEVBQXVCO0FBQ3JCUyxNQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FBYSxzTEFBYjtBQUVBWCxNQUFBQSxRQUFRLENBQUNDLFFBQVQsR0FBb0IsS0FBcEI7QUFDRDs7QUFFREEsSUFBQUEsUUFBUSxHQUFHO0FBQ1RLLE1BQUFBLGVBQWUsRUFBZkEsZUFEUztBQUVUTSxNQUFBQSx3QkFBd0IsRUFBRUw7QUFGakIsS0FBWDtBQUlEOztBQUVELE1BQUlILGFBQWEsS0FBS1MsZUFBbEIsSUFBeUJULGFBQWEsS0FBS1UscUJBQS9DLEVBQTBEO0FBQ3hELFFBQUlULEtBQUssSUFBSSxDQUFDRyxJQUFkLEVBQW9CO0FBQ2xCLFVBQUlSLFFBQVEsQ0FBQ0UsUUFBYixFQUF1QjtBQUNyQlEsUUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWEsd0lBQWI7QUFFQVgsUUFBQUEsUUFBUSxDQUFDRSxRQUFULEdBQW9CLEtBQXBCO0FBQ0Q7O0FBRURNLE1BQUFBLElBQUksR0FBR0gsS0FBUDtBQUNEO0FBQ0Y7O0FBRUQ7QUFDRUosSUFBQUEsUUFBUSxFQUFSQSxRQURGO0FBRUVPLElBQUFBLElBQUksRUFBSkE7QUFGRixLQUdLQyxVQUhMO0FBS0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU2F5IGZyb20gJy4vU2F5JztcbmltcG9ydCBTYXlCdXR0b24gZnJvbSAnLi9TYXlCdXR0b24nO1xuXG5jb25zdCB3YXJuaW5ncyA9IHtcbiAgcG9ueWZpbGw6IHRydWUsXG4gIHNheVNwZWFrOiB0cnVlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtaWdyYXRlRGVwcmVjYXRlZFByb3BzKFxuICB7XG4gICAgcG9ueWZpbGwsXG4gICAgc3BlYWssXG4gICAgc3BlZWNoU3ludGhlc2lzLFxuICAgIHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSxcbiAgICB0ZXh0LFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfSxcbiAgY29tcG9uZW50VHlwZVxuKSB7XG4gIGlmIChcbiAgICAhcG9ueWZpbGxcbiAgICAmJiAoc3BlZWNoU3ludGhlc2lzIHx8IHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSlcbiAgKSB7XG4gICAgaWYgKHdhcm5pbmdzLnBvbnlmaWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3JlYWN0LXNheTogXCJzcGVlY2hTeW50aGVzaXNcIiBhbmQgXCJzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2VcIiBwcm9wcyBoYXMgYmVlbiByZW5hbWVkIHRvIFwicG9ueWZpbGxcIi4gUGxlYXNlIHVwZGF0ZSB5b3VyIGNvZGUuIFRoZSBkZXByZWNhdGVkIHByb3BzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uID49IDMuMC4wLicpO1xuXG4gICAgICB3YXJuaW5ncy5wb255ZmlsbCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHBvbnlmaWxsID0ge1xuICAgICAgc3BlZWNoU3ludGhlc2lzLFxuICAgICAgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlOiBzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2VcbiAgICB9O1xuICB9XG5cbiAgaWYgKGNvbXBvbmVudFR5cGUgPT09IFNheSB8fCBjb21wb25lbnRUeXBlID09PSBTYXlCdXR0b24pIHtcbiAgICBpZiAoc3BlYWsgJiYgIXRleHQpIHtcbiAgICAgIGlmICh3YXJuaW5ncy5zYXlTcGVhaykge1xuICAgICAgICBjb25zb2xlLndhcm4oJ3JlYWN0LXNheTogXCJzcGVha1wiIHByb3AgaGFzIGJlZW4gcmVuYW1lZCB0byBcInRleHRcIi4gUGxlYXNlIHVwZGF0ZSB5b3VyIGNvZGUuIFRoZSBkZXByZWNhdGVkIHByb3BzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uID49IDMuMC4wLicpO1xuXG4gICAgICAgIHdhcm5pbmdzLnNheVNwZWFrID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHRleHQgPSBzcGVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBvbnlmaWxsLFxuICAgIHRleHQsXG4gICAgLi4ub3RoZXJQcm9wc1xuICB9O1xufVxuIl19