All files / utils getAttributesCamelCase.ts

100% Statements 13/13
75% Branches 3/4
100% Functions 2/2
100% Lines 12/12

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 241x   1x 5x 4x 4x   4x 5x 5x 5x 5x 5x 5x                    
import { convertKebabToCamel } from "./convertKebabToCamel";
 
export function getAttributesCamelCase(element: HTMLElement) {
    if (typeof element === "undefined") return {};
    const nodeMap = element.attributes;
    const length = nodeMap.length;
 
    return Object.keys(nodeMap).reduce((props, current) => {
        try {
            const numCurrent = parseInt(current);
            Eif (numCurrent < length) {
                const property = nodeMap[current];
                const camelCaseProp = convertKebabToCamel(property.name);
                return {
                    ...props,
                    [camelCaseProp]: property.value,
                };
            }
        } catch (err) {
            // nothing
        }
    }, {});
}