73 lines
910 B
TypeScript
73 lines
910 B
TypeScript
//// [a.js]
|
|
class A {
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param {object} [foo={}]
|
|
*/
|
|
constructor(foo = {}) {
|
|
const key = "bar";
|
|
|
|
/**
|
|
* @type object
|
|
*/
|
|
this.foo = foo;
|
|
|
|
/**
|
|
* @type object
|
|
*/
|
|
const arguments = this.arguments;
|
|
|
|
/**
|
|
* @type object
|
|
*/
|
|
this.bar = arguments.bar;
|
|
|
|
/**
|
|
* @type object
|
|
*/
|
|
this.baz = arguments[key];
|
|
|
|
/**
|
|
* @type object
|
|
*/
|
|
this.options = arguments;
|
|
}
|
|
|
|
get arguments() {
|
|
return { bar: {} };
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
//// [a.d.ts]
|
|
declare class A {
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param {object} [foo={}]
|
|
*/
|
|
constructor(foo?: object);
|
|
/**
|
|
* @type object
|
|
*/
|
|
foo: object;
|
|
/**
|
|
* @type object
|
|
*/
|
|
bar: object;
|
|
/**
|
|
* @type object
|
|
*/
|
|
baz: object;
|
|
/**
|
|
* @type object
|
|
*/
|
|
options: object;
|
|
get arguments(): {
|
|
bar: {};
|
|
};
|
|
}
|