@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
25 lines • 691 B
JavaScript
import { combineProviders } from '../provider-helpers';
/**
* Allow to run methods from the `ExtensionProvider` interface across all providers seamlessly.
* This handles promise racing and discards rejected promises safely.
*/
export default (extensionProviders => {
const {
invokeSingle,
invokeList
} = combineProviders(extensionProviders);
return {
getExtensions() {
return invokeList('getExtensions');
},
getExtension(type, key) {
return invokeSingle('getExtension', [type, key]);
},
search(keyword) {
return invokeList('search', [keyword]);
},
getAutoConverter() {
return invokeList('getAutoConverter');
}
};
});