1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.keyboard = keyboard;
- exports.keyboardImplementationWrapper = keyboardImplementationWrapper;
- Object.defineProperty(exports, "specialCharMap", {
- enumerable: true,
- get: function () {
- return _specialCharMap.specialCharMap;
- }
- });
- var _dom = require("@testing-library/dom");
- var _keyboardImplementation = require("./keyboardImplementation");
- var _keyMap = require("./keyMap");
- var _specialCharMap = require("./specialCharMap");
- function keyboard(text, options) {
- var _options$delay;
- const {
- promise,
- state
- } = keyboardImplementationWrapper(text, options);
- if (((_options$delay = options == null ? void 0 : options.delay) != null ? _options$delay : 0) > 0) {
- return (0, _dom.getConfig)().asyncWrapper(() => promise.then(() => state));
- } else {
- // prevent users from dealing with UnhandledPromiseRejectionWarning in sync call
- promise.catch(console.error);
- return state;
- }
- }
- function keyboardImplementationWrapper(text, config = {}) {
- const {
- keyboardState: state = createKeyboardState(),
- delay = 0,
- document: doc = document,
- autoModify = false,
- keyboardMap = _keyMap.defaultKeyMap
- } = config;
- const options = {
- delay,
- document: doc,
- autoModify,
- keyboardMap
- };
- return {
- promise: (0, _keyboardImplementation.keyboardImplementation)(text, options, state),
- state,
- releaseAllKeys: () => (0, _keyboardImplementation.releaseAllKeys)(options, state)
- };
- }
- function createKeyboardState() {
- return {
- activeElement: null,
- pressed: [],
- carryChar: '',
- modifiers: {
- alt: false,
- caps: false,
- ctrl: false,
- meta: false,
- shift: false
- }
- };
- }
|