import { parse, Rule } from 'postcss';
const css = parse('a { one: X }');
const a = css.first as Rule;
const { start: a_invalid_1, end: a_invalid_2 } = a.rangeBy({});
const a_invalid_3 = a.positionBy({ index: 1 });
const a_invalid_4 = a.positionInside(0);
console.log(a_invalid_1);
console.log(a_invalid_2);
console.log(a_invalid_3);
console.log(a_invalid_4);
const a_valid_1 = a.source?.start;
const a_valid_2 = a.source?.end;
const a_valid_3 = a.positionBy({});
console.log(a_valid_1);
console.log(a_valid_2);
console.log(a_valid_3);
$ npm start
> start
> ts-node index.ts
{ column: 1, line: 1 }
{ column: 15, line: 1 }
{ column: 2, line: 1 }
{ column: 1, line: 1 }
{ column: 1, line: 1, offset: 0 }
{ column: 14, line: 1, offset: 14 }
{ column: 1, line: 1, offset: 0 }
Summary
In f09e296,
offsetproperty is added toNode.Position. But, the property is missing in some cases.Reproduction
Expected Behavior
As the
Node.Positiontype definition indicates, theoffsetproperty is always included.Additional Information
CssSyntaxError.offsetandCssSyntaxError.endOffset#2022.