92 lines
No EOL
1.4 KiB
TypeScript
92 lines
No EOL
1.4 KiB
TypeScript
// @allowJs: true
|
|
// @checkJs: true
|
|
// @noEmit: true
|
|
// @module: commonjs
|
|
// @filename: node.d.ts
|
|
declare function require(id: string): any;
|
|
declare var module: any, exports: any;
|
|
|
|
// @filename: a-ext.js
|
|
exports.A = function () {
|
|
this.x = 1;
|
|
};
|
|
|
|
// @filename: a.js
|
|
const { A } = require("./a-ext");
|
|
|
|
/** @param {A} p */
|
|
function a(p) { p.x; }
|
|
|
|
// @filename: b-ext.js
|
|
exports.B = class {
|
|
constructor() {
|
|
this.x = 1;
|
|
}
|
|
};
|
|
|
|
// @filename: b.js
|
|
const { B } = require("./b-ext");
|
|
|
|
/** @param {B} p */
|
|
function b(p) { p.x; }
|
|
|
|
// @filename: c-ext.js
|
|
export function C() {
|
|
this.x = 1;
|
|
}
|
|
|
|
// @filename: c.js
|
|
const { C } = require("./c-ext");
|
|
|
|
/** @param {C} p */
|
|
function c(p) { p.x; }
|
|
|
|
// @filename: d-ext.js
|
|
export var D = function() {
|
|
this.x = 1;
|
|
};
|
|
|
|
// @filename: d.js
|
|
const { D } = require("./d-ext");
|
|
|
|
/** @param {D} p */
|
|
function d(p) { p.x; }
|
|
|
|
// @filename: e-ext.js
|
|
export class E {
|
|
constructor() {
|
|
this.x = 1;
|
|
}
|
|
}
|
|
|
|
// @filename: e.js
|
|
const { E } = require("./e-ext");
|
|
|
|
/** @param {E} p */
|
|
function e(p) { p.x; }
|
|
|
|
// @filename: f.js
|
|
var F = function () {
|
|
this.x = 1;
|
|
};
|
|
|
|
/** @param {F} p */
|
|
function f(p) { p.x; }
|
|
|
|
// @filename: g.js
|
|
function G() {
|
|
this.x = 1;
|
|
}
|
|
|
|
/** @param {G} p */
|
|
function g(p) { p.x; }
|
|
|
|
// @filename: h.js
|
|
class H {
|
|
constructor() {
|
|
this.x = 1;
|
|
}
|
|
}
|
|
|
|
/** @param {H} p */
|
|
function h(p) { p.x; } |