Skip to content

Document and/or deprecate Node's getFullStart() vs. pos? #57053

Open
@JoshuaKGoldberg

Description

@JoshuaKGoldberg

Acknowledgement

  • I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.

Comment

Coming over from typescript-eslint/typescript-eslint#8227 -> https://discord.com/channels/508357248330760243/640177429775777792/1194002057858916483: it looks like ts.Node objects have both a pos: number property and a getFullStart(): number method that directly returns this.pos:

public getFullStart(): number {
return this.pos;
}

Doing some quick Find all references from the interfaces' definitions in VS Code:

  • Node's getFullStart() has 25 results
  • ReadonlyTextRanges readonly pos has 407 results

I looked through the GitHub repo and code history but couldn't find anything justifying why both exist. My hunch is maybe that #9529 which added getFullStart() predates TS 2.0's readonly (TS 2.0 release notes > readonly)?

Given that getFullStart() incurs an extra function call, is there any reason beyond backwards compatibility to keep it around? If not, would the team be open to marking it as @deprecated in JSDoc to reduce ambiguity?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Help WantedYou can do thisInfrastructureIssue relates to TypeScript team infrastructure

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions