* Commonjs module:create synthetic exports symbol Previously, the `module` identifier in commonjs modules got a synthetic type with a single property `exports`. The exports property reused the file's symbol, which, for a module file, gives the correct exported properties. However, the name of this symbol was still the filename of the file, not `exports`. This PR creates a synthetic symbol for `exports` by copying in a similar way to esModuleInterop's `default` symbol in `resolveESModuleSymbol` (although the intent there is to strip off signatures from the symbol). * correct parent of synthetic symbol
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
=== tests/cases/conformance/jsdoc/declarations/index.js ===
|
|
// @ts-nocheck
|
|
function foo() {
|
|
>foo : () => void
|
|
|
|
module.exports = exports = function (o) {
|
|
>module.exports = exports = function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : { (o: any): any; methods: () => void; }
|
|
>module.exports : { (o: any): any; methods: () => void; }
|
|
>module : { exports: { (o: any): any; methods: () => void; }; }
|
|
>exports : { (o: any): any; methods: () => void; }
|
|
>exports = function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : (o: any) => any
|
|
>exports : any
|
|
>function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : (o: any) => any
|
|
>o : any
|
|
|
|
return (o == null) ? create(base) : defineProperties(Object(o), descriptors);
|
|
>(o == null) ? create(base) : defineProperties(Object(o), descriptors) : any
|
|
>(o == null) : boolean
|
|
>o == null : boolean
|
|
>o : any
|
|
>null : null
|
|
>create(base) : error
|
|
>create : error
|
|
>base : error
|
|
>defineProperties(Object(o), descriptors) : error
|
|
>defineProperties : error
|
|
>Object(o) : any
|
|
>Object : ObjectConstructor
|
|
>o : any
|
|
>descriptors : error
|
|
|
|
};
|
|
const m = function () {
|
|
>m : () => void
|
|
>function () { // I have no idea what to put here } : () => void
|
|
|
|
// I have no idea what to put here
|
|
}
|
|
exports.methods = m;
|
|
>exports.methods = m : () => void
|
|
>exports.methods : any
|
|
>exports : any
|
|
>methods : any
|
|
>m : () => void
|
|
}
|
|
|