UNPKG

react-say-fork

Version:

# Goal and TODOs * Add Typescript support * Make compononents style-customizable

68 lines (67 loc) 2.65 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.jestFnWithPromises = void 0; var events_1 = require("events"); var createDeferred_1 = require("./createDeferred"); function jestFnWithPromises(implementation) { var fn = jest.fn(function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } fn.deferreds[fn.deferreds.length - 1].resolve(args); fn.deferreds = __spreadArray(__spreadArray([], fn.deferreds, true), [(0, createDeferred_1.default)()], false); fn.promises = fn.deferreds.map(function (_a) { var promise = _a.promise; return promise; }); implementation && implementation.apply(void 0, args); }); var firstDeferred = (0, createDeferred_1.default)(); fn.deferreds = [firstDeferred]; fn.promises = [firstDeferred.promise]; return fn; } exports.jestFnWithPromises = jestFnWithPromises; function createMockSpeechSynthesisPonyfill() { var SpeechSynthesisUtterance = /** @class */ (function () { function SpeechSynthesisUtterance(text) { this._events = new events_1.default(); this.text = text; } SpeechSynthesisUtterance.prototype.addEventListener = function (name, handler) { var _a; (_a = this._events) === null || _a === void 0 ? void 0 : _a.addListener(name, handler); }; SpeechSynthesisUtterance.prototype.dispatchEvent = function (event) { this._events.emit(event.type, event); }; SpeechSynthesisUtterance.prototype.removeEventListener = function (name, handler) { this._events.removeListener(name, handler); }; return SpeechSynthesisUtterance; }()); return { speechSynthesis: { cancel: jestFnWithPromises(), getVoices: function () { return [ { name: 'Cantonese', voiceURI: 'http://localhost/voice/zh-YUE', }, ]; }, speak: jestFnWithPromises(), }, SpeechSynthesisUtterance: SpeechSynthesisUtterance, }; } exports.default = createMockSpeechSynthesisPonyfill;