All files / roosterjs-content-model-dom/lib/domToModel/utils parseFormat.ts

100% Statements 5/5
100% Branches 4/4
100% Functions 2/2
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 271x                           1x           7903x   7903x 51550x      
import { getDefaultStyle } from './getDefaultStyle';
import type {
    ContentModelFormatBase,
    DomToModelContext,
    FormatParser,
} from 'roosterjs-content-model-types';
 
/**
 * Parse formats of the given HTML element using specified format parsers
 * @param element The element to parse format from
 * @param parsers The parses we are using to parse format
 * @param format The format object to hold result format
 * @param context DOM to Content Model context
 */
export function parseFormat<T extends ContentModelFormatBase>(
    element: HTMLElement,
    parsers: (FormatParser<T> | null)[],
    format: T,
    context: DomToModelContext
) {
    const defaultStyle = getDefaultStyle(element);
 
    parsers.forEach(parser => {
        parser?.(format, element, context, defaultStyle);
    });
}