1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
//// [tests/cases/compiler/stackDepthLimitCastingType.ts] ////
//// [index.d.ts]
declare global {
interface JQueryXHR { }
class Model<T = any, E = {}> {
initialize(attributes?: T, options?: CombinedModelConstructorOptions<E, this>): void;
fetch(options?: any): JQueryXHR;
}
interface ModelConstructorOptions<TModel extends Model = Model> {
collection?: Collection<TModel>;
}
class Collection<TModel extends Model = Model> {
without(...values: TModel[]): TModel[];
}
type CombinedModelConstructorOptions<E, M extends Model<any, E> = Model> = ModelConstructorOptions<M> & E;
}
export {
Model
};
export as namespace Backbone;
//// [index.d.ts]
import * as Backbone from "backbone";
declare module "backbone" {
interface ModelWithCache extends Model {
fetch(options?: any): JQueryXHR;
}
}
export {};
export as namespace BackboneFetchCache;
//// [index.ts]
import * as Backbone from "backbone";
import * as BackboneFetchCache from "backbone-fetch-cache";
const hoge = new Backbone.Model() as Backbone.ModelWithCache;
hoge.fetch(null as any);
//// [index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Backbone = require("backbone");
var hoge = new Backbone.Model();
hoge.fetch(null);
|