{"record":{"id":"63749ff9f5781c00","repo":"swc-project/swc","slug":"expected-string-url-or-function-tokens","errorCode":null,"errorMessage":"Expected string, url or function tokens","messagePattern":"Expected string, url or function tokens","errorType":"validation","errorClass":"swc_css_parser::Error","httpStatus":null,"severity":"error","filePath":"crates/swc_css_parser/src/parser/at_rules/mod.rs","lineNumber":306,"sourceCode":"                if is!(self, Ident) {\n                    prefix = match cur!(self) {\n                        tok!(\"ident\") => Some(self.parse()?),\n                        _ => {\n                            unreachable!()\n                        }\n                    };\n\n                    self.input.skip_ws();\n                }\n\n                let uri = match cur!(self) {\n                    tok!(\"string\") => NamespacePreludeUri::Str(self.parse()?),\n                    tok!(\"url\") => NamespacePreludeUri::Url(self.parse()?),\n                    tok!(\"function\") => NamespacePreludeUri::Url(self.parse()?),\n                    _ => {\n                        let span = self.input.cur_span();\n\n                        return Err(Error::new(\n                            span,\n                            ErrorKind::Expected(\"string, url or function tokens\"),\n                        ));\n                    }\n                };\n\n                let prelude = AtRulePrelude::NamespacePrelude(NamespacePrelude {\n                    span: span!(self, span.lo),\n                    prefix,\n                    uri: Box::new(uri),\n                });\n\n                self.input.skip_ws();\n\n                Some(prelude)\n            }\n            \"nest\" => {\n                self.input.skip_ws();","sourceCodeStart":288,"sourceCodeEnd":324,"githubUrl":"https://github.com/swc-project/swc/blob/5176682b65416c6b5de6b47379ae1588ea3ecb3f/crates/swc_css_parser/src/parser/at_rules/mod.rs#L288-L324","documentation":"Fired while parsing an @namespace at-rule prelude: the namespace URI was expected to be a string, a url(...) token, or a url(...) function form, but the current token matched none of them. This guard enforces the CSS Namespaces grammar (<string> | <url>) for the namespace URI; input like `@namespace svg http://www.w3.org/2000/svg;` (unquoted URI) triggers it.","triggerScenarios":"Thrown at crates/swc_css_parser/src/parser/at_rules/mod.rs:306 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a valid string or url() namespace URI","Report the collected error","Remove the malformed @namespace rule"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5176682b65416c6b5de6b47379ae1588ea3ecb3f","analyzedAt":"2026-08-17T16:16:52.067Z","contentChangedAt":"2026-08-17T16:16:52.067Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}