MCPcopy
hub / github.com/webpack/webpack / markPureFromAtRulePrelude

Method markPureFromAtRulePrelude

lib/css/CssParser.js:3066–3099  ·  view source on GitHub ↗
(
			at,
			isKeyframes,
			isCounterStyle,
			isContainer
		)

Source from the content-addressed store, hash-verified

3064 * @returns {void}
3065 */
3066 const markPureFromAtRulePrelude = (
3067 at,
3068 isKeyframes,
3069 isCounterStyle,
3070 isContainer
3071 ) => {
3072 const acceptIdent = isKeyframes || isCounterStyle || isContainer;
3073 const acceptString = isKeyframes;
3074 for (const cv of A.prelude(at)) {
3075 const cvType = A.type(cv);
3076 if (cvType === NodeType.Whitespace) continue;
3077 if (cvType === NodeType.String) {
3078 if (acceptString) pure.markLocal();
3079 break;
3080 }
3081 if (cvType === NodeType.Ident) {
3082 if (!acceptIdent) break;
3083 if (
3084 isContainer &&
3085 isContainerKeyword(source, A.start(cv), A.end(cv))
3086 ) {
3087 continue;
3088 }
3089 pure.markLocal();
3090 break;
3091 }
3092 if (cvType === NodeType.Function) {
3093 if (equalsLowerCase(A.unescapedName(cv), "local")) {
3094 pure.markLocal();
3095 }
3096 break;
3097 }
3098 }
3099 };
3100
3101 // Drive the walk through SourceProcessor: structural enter / exit map to the `walkAst…Enter` / `…Exit` halves; value visitors handle url / ICSS / local-global.
3102 /** @type {VisitorMap} */

Callers

nothing calls this directly

Calls 5

isContainerKeywordFunction · 0.85
equalsLowerCaseFunction · 0.85
markLocalMethod · 0.80
unescapedNameMethod · 0.80
typeMethod · 0.45

Tested by

no test coverage detected