TypeScript/tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassStatic.ts
Nathan Shively-Sanders eac073894b
Fix serialisation of static class members in JS (#37780)
* Fix serialisation of static class members in JS

Previously static class members would be treated the same way as expando
namespace assignments to a class:

```ts
class C {
  static get x() { return 1 }
}
C.y = 12
```

This PR adds a syntactic check to the static/namespace filter that
treats symbols whose valueDeclaration.parent is a class as statics.

Fixes #37289

* fix messed-up indent

* Extract function
2020-04-03 20:06:05 -07:00

29 lines
487 B
TypeScript

// @allowJs: true
// @checkJs: true
// @target: es5
// @outDir: ./out
// @declaration: true
// @filename: source.js
class Handler {
static get OPTIONS() {
return 1;
}
process() {
}
}
Handler.statische = function() { }
const Strings = {
a: "A",
b: "B"
}
module.exports = Handler;
module.exports.Strings = Strings
/**
* @typedef {Object} HandlerOptions
* @property {String} name
* Should be able to export a type alias at the same time.
*/