File: stackDepthLimitCastingType.js

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (47 lines) | stat: -rw-r--r-- 1,323 bytes parent folder | download
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);