Private
Public Access
1
0
Files
power-apps-codeapps-blog-part2/node_modules/@griffel/core/devtools/getAtomicDebugSequenceTree.esm.js

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