Я хочу написать файл определение Машинописи (.d.ts) для этого модуля https://www.npmjs.com/package/canvas
Как написать определение машинописи класса для модуля
Так вот, что я начал с:
declare module Canvas {
class Canvas {
constructor(width: number, height: number);
}
}
declare module "canvas" {
export = Canvas;
}
Это работает, когда я импортировать & вызвать модуль следующим образом:
/// <reference path="./canvas.d.ts" />
import * as Canvas from "canvas";
new Canvas.Canvas(32, 32)
Однако, я хочу, чтобы вызвать класс, как это:
new Canvas(32, 32)
Я также хочу добавить две вещи к классу:
- Он должен вернуть
HTMLCanvasElement
так Он может работать так же, как нормальный Canvas API - Я также хочу добавить .Image свойство к модулю, доступному без построения класса.
Вот пример того, что я жду:
import * as Canvas from "canvas";
var Image = Canvas.Image;
var canvas = new Canvas(32, 32);
var ctx = canvas.getContext('2d');
ctx.drawImage and every regular functions...
[...]
Я также хочу добавить дополнительный параметр обратного вызова canvas.toDataURL()
.
Как я могу это сделать?