123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import Container, { ContainerProps } from './container.js'
- import Document from './document.js'
- import { ProcessOptions } from './postcss.js'
- import Result from './result.js'
-
- declare namespace Root {
- export interface RootRaws extends Record<string, any> {
- /**
- * The space symbols after the last child to the end of file.
- */
- after?: string
-
- /**
- * Non-CSS code after `Root`, when `Root` is inside `Document`.
- *
- * **Experimental:** some aspects of this node could change within minor
- * or patch version releases.
- */
- codeAfter?: string
-
- /**
- * Non-CSS code before `Root`, when `Root` is inside `Document`.
- *
- * **Experimental:** some aspects of this node could change within minor
- * or patch version releases.
- */
- codeBefore?: string
-
- /**
- * Is the last child has an (optional) semicolon.
- */
- semicolon?: boolean
- }
-
- export interface RootProps extends ContainerProps {
- /**
- * Information used to generate byte-to-byte equal node string
- * as it was in the origin input.
- * */
- raws?: RootRaws
- }
-
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
- export { Root_ as default }
- }
-
- /**
- * Represents a CSS file and contains all its parsed nodes.
- *
- * ```js
- * const root = postcss.parse('a{color:black} b{z-index:2}')
- * root.type //=> 'root'
- * root.nodes.length //=> 2
- * ```
- */
- declare class Root_ extends Container {
- nodes: NonNullable<Container['nodes']>
- parent: Document | undefined
- raws: Root.RootRaws
- type: 'root'
-
- constructor(defaults?: Root.RootProps)
-
- assign(overrides: object | Root.RootProps): this
- clone(overrides?: Partial<Root.RootProps>): this
- cloneAfter(overrides?: Partial<Root.RootProps>): this
- cloneBefore(overrides?: Partial<Root.RootProps>): this
-
- /**
- * Returns a `Result` instance representing the root’s CSS.
- *
- * ```js
- * const root1 = postcss.parse(css1, { from: 'a.css' })
- * const root2 = postcss.parse(css2, { from: 'b.css' })
- * root1.append(root2)
- * const result = root1.toResult({ to: 'all.css', map: true })
- * ```
- *
- * @param opts Options.
- * @return Result with current root’s CSS.
- */
- toResult(options?: ProcessOptions): Result
- }
-
- declare class Root extends Root_ {}
-
- export = Root
|