Skip to main content
Deno 2 is finally here 🎉️
Learn more
Latest
class Input
Re-export
import { Input } from "https://deno.land/x/postcss@8.4.16/lib/postcss.js";

Represents the source CSS.

const root  = postcss.parse(css, { from: file })
const input = root.source.input

Constructors

new
Input(css: string, opts?: ProcessOptions)

Properties

css: string

Input CSS source.

const input = postcss.parse('a{}', { from: file }).input
input.css //=> "a{}"
optional
file: string

The absolute path to the CSS source file defined with the from option.

const root = postcss.parse(css, { from: 'a.css' })
root.source.input.file //=> '/home/ai/a.css'
readonly
from: string

The CSS source identifier. Contains Input#file if the user set the from option, or Input#id if they did not.

const root = postcss.parse(css, { from: 'a.css' })
root.source.input.from //=> "/home/ai/a.css"

const root = postcss.parse(css)
root.source.input.from //=> "<input css 1>"
hasBOM: boolean

The flag to indicate whether or not the source code has Unicode BOM.

optional
id: string

The unique ID of the CSS source. It will be created if from option is not provided (because PostCSS does not know the file path).

const root = postcss.parse(css)
root.source.input.file //=> undefined
root.source.input.id   //=> "<input css 8LZeVF>"
map: PreviousMap

The input source map passed from a compilation step before PostCSS (for example, from Sass compiler).

root.source.input.map.consumer().sources //=> ['a.sass']

Methods

fromOffset(offset: number): { line: number; col: number; } | null

Converts source offset to line and column.

origin(
line: number,
column: number,
endLine?: number,
endColumn?: number,
): FilePosition | false

Reads the input source map and returns a symbol position in the input source (e.g., in a Sass file that was compiled to CSS before being passed to PostCSS). Optionally takes an end position, exclusive.

root.source.input.origin(1, 1) //=> { file: 'a.css', line: 3, column: 1 }
root.source.input.origin(1, 1, 1, 4)
//=> { file: 'a.css', line: 3, column: 1, endLine: 3, endColumn: 4 }