ember.js - Crear archivo de declaración TypeScript para EmberJS
Estoy intentando crear un archivo de declaración para EmberJS. Intento crear solo la declaración necesaria para crear la aplicación starter-kit.
var App = Em.Application.create();
App.MyView = Em.View.extend({
mouseDown: function() {
window.alert("hello world!");
}
});
Intenté varias cosas como crear un módulo llamado Em y crear interfaces dentro de él, pero no logré hacerlo bien.
Respuesta #1
Basado en tu ejemplo, esto agrega tipado alrededor de los elementos que estás utilizando. He hecho suposiciones, como que Application.create() devuelve un Application; puedes ajustar el ejemplo según lo necesites.
declare module Em {
class Application {
static create() : Application;
MyView: View;
}
class View {
static extend(extender: {}) : View;
}
}
var App = Em.Application.create();
App.MyView = Em.View.extend({
mouseDown: function() {
window.alert("hello world!");
}
});
Respuesta #2
Si estás creando un archivo de definición con el propósito de comprender, o si solo estás intentando crear una definición de ember, entonces podrías querer revisar este proyecto de GitHub:
definiciones de TypeScript para un montón de bibliotecas populares
Fue de gran ayuda para mí, ayudándome a comprender la gimnasia de definición de tipos que se requiere para crear una definición de tipo de biblioteca útil (principalmente debido a los estilos de definición/uso de la API de JavaScript tan variados que existen).
Alternativamente, si solo quieres una definición de ember, solo toma el archivo :)
