24 lines
883 B
TypeScript
24 lines
883 B
TypeScript
/**
|
|
* Internal dependencies
|
|
*/
|
|
import { getActiveFormats } from './get-active-formats';
|
|
import { RichTextFormat, RichTextValue } from './types';
|
|
|
|
/**
|
|
* Gets the format object by type at the start of the selection. This can be
|
|
* used to get e.g. the URL of a link format at the current selection, but also
|
|
* to check if a format is active at the selection. Returns undefined if there
|
|
* is no format at the selection.
|
|
*
|
|
* @param {RichTextValue} value Value to inspect.
|
|
* @param {string} formatTypeName Format type to look for.
|
|
*
|
|
* @return {RichTextFormat|undefined} Active format object of the specified
|
|
* type, or undefined.
|
|
*/
|
|
export function getActiveFormat( value: RichTextValue, formatTypeName: string ): RichTextFormat|undefined {
|
|
return getActiveFormats( value ).find(
|
|
( { type } ) => type === formatTypeName
|
|
);
|
|
}
|