mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
| .. | ||
| first-mate-tests.ts | ||
| index.d.ts | ||
| README.md | ||
| tsconfig.json | ||
| tslint.json | ||
First Mate Type Definitions
TypeScript type definitions for First Mate, which is published as "first-mate" on NPM.
Usage Notes
Exports
The three classes exported from this module are: Grammar, GrammarRegistry, and ScopeSelector.
import { Grammar, GrammarRegistry, ScopeSelector } from "first-mate";
let selector = new ScopeSelector("a | b");
The FirstMate Namespace
Many of the types used by First Mate can be referenced from the FirstMate namespace.
function example(grammar: FirstMate.Grammar) {}
Exposing Private Methods and Properties
Declaration Merging can be used to augment any of the types used within First Mate. As an example, if we wanted to reveal the private getMaxTokensPerLine method within the Grammar class, then we would create a file with the following contents:
// <<filename>>.d.ts
declare namespace FirstMate {
interface Grammar {
getMaxTokensPerLine(): number;
}
}
Once this file is either referenced or included within your project, then this new member function would be freely usable on instances of the Grammar class without TypeScript reporting errors.