Detalhes do pacote

ts-declaration-location

RebeccaStevens2.8mBSD-3-Clause1.0.7

Determine where a ts type declaration comes from

readme (leia-me)

# ts-declaration-location npm version jsr Version CI Coverage Status\ code style: prettier GitHub Discussions BSD 3 Clause license Commitizen friendly semantic-release

Donate

Any donations would be much appreciated. 😄

Enterprise Users

ts-declaration-location is available as part of the Tidelift Subscription.

Tidelift is working with the maintainers of ts-declaration-location and a growing network of open source maintainers to ensure your open source software supply chain meets enterprise standards now and into the future. Learn more.

Installation

npm

# Install with npm
npm install ts-declaration-location

# Install with pnpm
pnpm add ts-declaration-location

# Install with yarn
yarn add ts-declaration-location

# Install with bun
`bun add ts-declaration-location

jsr

# Install in a node project
npx jsr add @rebeccastevens/ts-declaration-location

# Install in a deno project
deno add jsr:@rebeccastevens/ts-declaration-location

# Install in a bun project
bunx jsr add @rebeccastevens/ts-declaration-location

Usage Example

import typeMatchesSpecifier from "ts-declaration-location";
import type ts from "typescript";

function isTypeFromSomePackage(program: ts.Program, type: ts.Type) {
  const specifier = {
    from: "package",
    package: "some-package",
  };

  return typeMatchesSpecifier(program, specifier, type);
}

function isTypeFromSomeFile(program: ts.Program, type: ts.Type) {
  const specifier = {
    from: "file",
    path: "src/**/some.ts",
  };

  return typeMatchesSpecifier(program, specifier, type);
}

function isTypeFromTSLib(program: ts.Program, type: ts.Type) {
  const specifier = {
    from: "lib",
  };

  return typeMatchesSpecifier(program, specifier, type);
}