I think the following should compile with no error:
declare module Backbone {
interface RoutesHash {
[routePattern: string]: string | {(...urlParts: string[]): void};
}
class Events { }
class Router extends Events {
routes: RoutesHash;
}
}
declare module Marionette {
class AppRouter extends Backbone.Router {
}
}
module Backbone.Tests {
// Error, routes is not contextually typed
class MyRouter extends Backbone.Router {
routes = {
"some/route": "someMethod",
"some/otherRoute": () => {}
};
}
}
module Marionette.Tests {
// Error, routes is not contextually typed
class MyRouter extends Marionette.AppRouter {
routes = {
"some/route": "someMethod",
"some/otherRoute": () => {}
};
}
}
I think the following should compile with no error: