How to use the @stylable/core.stringifySelector function in @stylable/core

To help you get started, we’ve selected a few @stylable/core examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github wix / stylable / packages / optimizer / src / classname-optimizer.ts View on Github external
const isState = Object.keys(usageMapping).some(namespace => {
                    return node.name.startsWith(
                        '' + namespace + pseudoStates.booleanStateDelimiter
                    );
                });

                if (!isState) {
                    // is not a state
                    if (!this.context.names[node.name]) {
                        this.generateName(node.name);
                    }
                    node.name = this.context.names[node.name];
                }
            }
        });
        return stringifySelector(ast);
    }
    public generateName(name: string) {
github wix / stylable / packages / dom-test-kit / src / stylable-dom-util.ts View on Github external
node.type = 'class';
                        node.name = state;
                    } else {
                        node.type = 'attribute';
                        node.content = state;
                    }
                }
            } else if (
                node.type === 'pseudo-element' ||
                node.type === 'element' ||
                node.type === 'nested-pseudo-class'
            ) {
                throw new Error(`selector with ${node.type} is not supported yet.`);
            }
        });
        return stringifySelector(ast);
    }
github wix / stylable / packages / webpack-extensions / src / stylable-forcestates-plugin.ts View on Github external
ast.walkRules(rule => {
        const selectorAst = parseSelector(rule.selector);

        const overrideSelectors = selectorAst.nodes.reduce((selectors, selector) => {
            if (hasStates(selector, context)) {
                selectors.push(transformStates(cloneDeep(selector), context));
            }
            return selectors;
        }, [] as SelectorAstNode[]);

        if (overrideSelectors.length) {
            selectorAst.nodes.push(...overrideSelectors);
            rule.selector = stringifySelector(selectorAst);
        }
    });
}