@@ -21,18 +21,13 @@ import { visitorKeys } from "./css-visitor-keys.js";
2121// Types
2222//-----------------------------------------------------------------------------
2323
24- /** @typedef {import("@eslint/css-tree").CssNode } CssNode */
25- /** @typedef {import("@eslint/css-tree").CssNodePlain } CssNodePlain */
26- /** @typedef {import("@eslint/css-tree").StyleSheet } StyleSheet */
27- /** @typedef {import("@eslint/css-tree").Comment } Comment */
28- /** @typedef {import("@eslint/css-tree").Lexer } Lexer */
29- /** @typedef {import("@eslint/css-tree").SyntaxConfig } SyntaxConfig */
30- /** @typedef {import("@eslint/core").Language } Language */
31- /** @typedef {import("@eslint/core").OkParseResult<CssNodePlain> & { comments: Comment[], lexer: Lexer } } OkParseResult */
32- /** @typedef {import("@eslint/core").ParseResult<CssNodePlain> } ParseResult */
33- /** @typedef {import("@eslint/core").File } File */
34- /** @typedef {import("@eslint/core").FileError } FileError */
24+ /**
25+ * @import { CssNodePlain, Comment, Lexer, StyleSheetPlain, SyntaxConfig } from "@eslint/css-tree"
26+ * @import { Language, OkParseResult, ParseResult, File, FileError } from "@eslint/core";
27+ */
3528
29+ /** @typedef {OkParseResult<StyleSheetPlain> & { comments: Comment[], lexer: Lexer } } CSSOkParseResult */
30+ /** @typedef {ParseResult<StyleSheetPlain> } CSSParseResult */
3631/**
3732 * @typedef {Object } CSSLanguageOptions
3833 * @property {boolean } [tolerant] Whether to be tolerant of recoverable parsing errors.
@@ -62,7 +57,7 @@ const blockCloserTokenTypes = new Map([
6257
6358/**
6459 * CSS Language Object
65- * @implements {Language}
60+ * @implements {Language<{ LangOptions: CSSLanguageOptions; Code: CSSSourceCode; RootNode: StyleSheetPlain; Node: CssNodePlain} > }
6661 */
6762export class CSSLanguage {
6863 /**
@@ -135,7 +130,7 @@ export class CSSLanguage {
135130 * @param {File } file The virtual file to parse.
136131 * @param {Object } [context] The parsing context.
137132 * @param {CSSLanguageOptions } [context.languageOptions] The language options to use for parsing.
138- * @returns {ParseResult } The result of parsing.
133+ * @returns {CSSParseResult } The result of parsing.
139134 */
140135 parse ( file , { languageOptions = { } } = { } ) {
141136 // Note: BOM already removed
@@ -242,7 +237,7 @@ export class CSSLanguage {
242237
243238 return {
244239 ok : true ,
245- ast : root ,
240+ ast : /** @type { StyleSheetPlain } */ ( root ) ,
246241 comments,
247242 lexer,
248243 } ;
@@ -257,7 +252,7 @@ export class CSSLanguage {
257252 /**
258253 * Creates a new `CSSSourceCode` object from the given information.
259254 * @param {File } file The virtual file to create a `CSSSourceCode` object from.
260- * @param {OkParseResult } parseResult The result returned from `parse()`.
255+ * @param {CSSOkParseResult } parseResult The result returned from `parse()`.
261256 * @returns {CSSSourceCode } The new `CSSSourceCode` object.
262257 */
263258 createSourceCode ( file , parseResult ) {
0 commit comments