48 lines
1.7 KiB
JavaScript
48 lines
1.7 KiB
JavaScript
import { DEFINITION_LOOKUP_TABLE } from '../constants.esm.js';
|
|
import { debugData } from './store.esm.js';
|
|
import { getDebugClassNames } from './utils.esm.js';
|
|
|
|
function getAtomicDebugSequenceTree(debugSequenceHash, parentNode) {
|
|
const lookupItem = DEFINITION_LOOKUP_TABLE[debugSequenceHash];
|
|
if (lookupItem === undefined) {
|
|
return undefined;
|
|
}
|
|
const parentLookupItem = parentNode ? DEFINITION_LOOKUP_TABLE[parentNode.sequenceHash] : undefined;
|
|
const debugClassNames = getDebugClassNames(lookupItem, parentLookupItem, parentNode === null || parentNode === void 0 ? void 0 : parentNode.debugClassNames, parentNode === null || parentNode === void 0 ? void 0 : parentNode.children);
|
|
const node = {
|
|
sequenceHash: debugSequenceHash,
|
|
direction: lookupItem[1],
|
|
children: [],
|
|
debugClassNames
|
|
};
|
|
const childrenSequences = debugData.getChildrenSequences(node.sequenceHash);
|
|
childrenSequences.reverse() // first process the overriding children that are merged last
|
|
.forEach(sequence => {
|
|
const child = getAtomicDebugSequenceTree(sequence, node);
|
|
if (child) {
|
|
node.children.push(child);
|
|
}
|
|
});
|
|
// if it's leaf (makeStyle node), get css rules
|
|
if (!node.children.length) {
|
|
node.rules = {};
|
|
node.debugClassNames.forEach(({
|
|
className
|
|
}) => {
|
|
const mapData = debugData.getSequenceDetails(debugSequenceHash);
|
|
if (mapData) {
|
|
node.slot = mapData.slotName;
|
|
node.sourceURL = mapData.sourceURL;
|
|
}
|
|
const cssRule = debugData.getCSSRules().find(cssRule => {
|
|
return cssRule.includes(className);
|
|
});
|
|
node.rules[className] = cssRule;
|
|
});
|
|
}
|
|
return node;
|
|
}
|
|
|
|
export { getAtomicDebugSequenceTree };
|
|
//# sourceMappingURL=getAtomicDebugSequenceTree.esm.js.map
|