UNPKG

@atlaskit/editor-plugin-code-block

Version:

Code block plugin for @atlaskit/editor-core

39 lines (37 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.shouldAutoCloseBracket = exports.getAutoClosingBracketInfo = exports.BRACKET_MAP = void 0; var BRACKET_MAP = exports.BRACKET_MAP = { '{': '}', '[': ']', '(': ')' }; var shouldAutoCloseBracket = exports.shouldAutoCloseBracket = function shouldAutoCloseBracket(before, after) { // when directly before a closing bracket // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp if (/^[}\])]/.test(after)) { return true; } // exclusion: when directly before a non-whitespace character // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp if (/^[^\s]/.test(after)) { return false; } return true; }; var getAutoClosingBracketInfo = exports.getAutoClosingBracketInfo = function getAutoClosingBracketInfo(before, after) { var left = Object.keys(BRACKET_MAP).find(function (item) { return before.endsWith(item); }); var right = left ? BRACKET_MAP[left] : undefined; var hasTrailingMatchingBracket = right ? after.startsWith(right) : false; return { left: left, right: right, hasTrailingMatchingBracket: hasTrailingMatchingBracket }; };