UNPKG

@atlaskit/editor-plugin-block-menu

Version:

BlockMenu plugin for @atlaskit/editor-core

54 lines (53 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createBlockMenuTransformSourceRegistry = void 0; var _monitoring = require("@atlaskit/editor-common/monitoring"); var createBlockMenuTransformSourceRegistry = exports.createBlockMenuTransformSourceRegistry = function createBlockMenuTransformSourceRegistry() { var transforms = new Map(); return { register: function register(registeredTransforms) { var registered = []; registeredTransforms.forEach(function (transform) { if (transforms.has(transform.key)) { void (0, _monitoring.logException)(new Error("Duplicate Block Menu transform key: ".concat(transform.key)), { location: 'editor-plugin-block-menu' }); return; } transforms.set(transform.key, transform); registered.push(transform); }); if (registered.length === 0) { return function () {}; } return function () { registered.forEach(function (transform) { if (transforms.get(transform.key) === transform) { transforms.delete(transform.key); } }); }; }, resolve: function resolve(context) { var transform = Array.from(transforms.values()).find(function (_ref) { var isSupported = _ref.isSupported; try { return isSupported(context); } catch (error) { void (0, _monitoring.logException)(error instanceof Error ? error : new Error('Block Menu transform support check failed'), { location: 'editor-plugin-block-menu' }); return false; } }); return transform ? { status: 'supported', transform: transform } : { status: 'unsupported' }; } }; };