UNPKG

draft-js-markdown-shortcuts-plugin

Version:
42 lines (33 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _changeCurrentInlineStyle = _interopRequireDefault(require("./changeCurrentInlineStyle")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var inlineMatchers = { BOLD: /(?:^|\s|\n|[^A-z0-9_*~`])(\*{2}|_{2})((?!\1).*?)(\1)($|\s|\n|[^A-z0-9_*~`])/g, ITALIC: /(?:^|\s|\n|[^A-z0-9_*~`])(\*{1}|_{1})((?!\1).*?)(\1)($|\s|\n|[^A-z0-9_*~`])/g, CODE: /(?:^|\s|\n|[^A-z0-9_*~`])(`)((?!\1).*?)(\1)($|\s|\n|[^A-z0-9_*~`])/g, STRIKETHROUGH: /(?:^|\s|\n|[^A-z0-9_*~`])(~{2})((?!\1).*?)(\1)($|\s|\n|[^A-z0-9_*~`])/g }; var handleInlineStyle = function handleInlineStyle(editorState, character) { var key = editorState.getSelection().getStartKey(); var text = editorState.getCurrentContent().getBlockForKey(key).getText(); var line = "".concat(text).concat(character); var newEditorState = editorState; Object.keys(inlineMatchers).some(function (k) { var re = inlineMatchers[k]; var matchArr; do { matchArr = re.exec(line); if (matchArr) { newEditorState = (0, _changeCurrentInlineStyle.default)(newEditorState, matchArr, k); } } while (matchArr); return newEditorState !== editorState; }); return newEditorState; }; var _default = handleInlineStyle; exports.default = _default;