All files / roosterjs-content-model-dom/lib/domUtils getSafeIdSelector.ts

100% Statements 7/7
100% Branches 4/4
100% Functions 1/1
100% Lines 7/7

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 211x                 1x 236x 18x     218x 19x   199x      
const StartsWithUnsupportedCharacter = /^[.|\-|_|\d]/;
 
/**
 * Returns a safe Id to use in Native APIs.
 * IDs that start with number or hyphen can throw errors if used.
 * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
 * @param id
 * @returns
 */
export function getSafeIdSelector(id: string) {
    if (!id) {
        return id;
    }
 
    if (id.match(StartsWithUnsupportedCharacter)) {
        return `[id="${id}"]`;
    } else {
        return `#${id}`;
    }
}