|
…
|
||
|---|---|---|
| .. | ||
| index.d.ts | ||
| README.md | ||
| text-buffer-tests.ts | ||
| tsconfig.json | ||
| tslint.json | ||
TextBuffer Type Definitions
TypeScript type definitions for TextBuffer, which is published as "text-buffer" on NPM.
Usage Notes
Exports
This module has a single entity as its export: the TextBuffer class. The require syntax is typically used to import modules like this.
import TextBuffer = require("text-buffer");
Point and Range
Both the Point class and the Range class are anchored onto the TextBuffer class as static properties, allowing construction of both despite TextBuffer being the singular export.
import TextBuffer = require("text-buffer");
let point = new TextBuffer.Point(0, 0);
let range = new TextBuffer.Range([0, 0], [1, 4]);
The TextBuffer Namespace
The three primary classes of TextBuffer are Point, Range, and TextBuffer, yet there are many other types passed around and used by it. Many of the types used by TextBuffer can be referenced from the TextBuffer namespace.
function example(marker: TextBuffer.Marker) {}
Exposing Private Methods and Properties
Declaration Merging can be used to augment any of the types used within Text Buffer. As an example, if we wanted to reveal the private emitDidStopChangingEvent method within the TextBuffer class, then we would create a file with the following contents:
// <<filename>>.d.ts
declare namespace TextBuffer {
interface TextBuffer {
emitDidStopChangingEvent(): void;
}
}
Once this file is either referenced or included within your project, then this new member function would be freely usable on instances of the TextBuffer class without TypeScript reporting errors.