All files types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40                                                                               
import type { Profiler } from "node:inspector";
import { type EncodedSourceMap } from "@jridgewell/trace-mapping";
import { type Node } from "estree";
 
export interface Options<T = Node, Program = T & { type: "Program" }> {
  /** Code of the executed runtime file, not the original source file */
  code: string;
 
  /** Length of the execution wrapper, e.g. wrapper used in node:vm */
  wrapperLength?: number;
 
  /** Source map for the current file */
  sourceMap?: Omit<EncodedSourceMap, "version"> & { version: number };
 
  /** ScriptCoverage for the current file */
  coverage: Pick<Profiler.ScriptCoverage, "functions" | "url">;
 
  /** AST for the transpiled file that matches the coverage results */
  ast: Program | Promise<Program>;
 
  /** Class method names to ignore for coverage, identical to https://github.com/istanbuljs/nyc?tab=readme-ov-file#ignoring-methods */
  ignoreClassMethods?: string[];
 
  /** Filter to ignore code based on AST nodes */
  ignoreNode?: (
    node: T,
    type: "function" | "statement" | "branch",
  ) => boolean | "ignore-this-and-nested-nodes" | void;
 
  /**
   * Filter to ignore code based on source code
   * - Note that this is slower than `ignoreNode` as exclusion happens after remapping
   */
  ignoreSourceCode?: (
    code: string,
    type: "function" | "statement" | "branch",
    location: Record<"start" | "end", { line: number; column: number }>,
  ) => boolean | void;
}