new-signature.ts 1001 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. interface FooConstructor {
  2. new (
  3. a: number,
  4. b: number,
  5. c: number,
  6. d: number,
  7. e: number,
  8. f: number,
  9. g: number,
  10. h: number
  11. ): Foo;
  12. }
  13. interface BarConstructor {
  14. new <A, B, C>(
  15. a: number,
  16. b: number,
  17. c: number,
  18. d: number,
  19. e: number,
  20. f: number,
  21. g: number,
  22. h: number
  23. ): Foo;
  24. }
  25. type BazConstructor = {
  26. new (
  27. a: number,
  28. b: number,
  29. c: number,
  30. d: number,
  31. e: number,
  32. f: number,
  33. g: number,
  34. h: number
  35. ): Foo;
  36. }
  37. interface ConstructorBigGenerics {
  38. // comment
  39. new <AAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAA>(
  40. a: number,
  41. b: number,
  42. c: number,
  43. d: number,
  44. e: number,
  45. f: number,
  46. g: number,
  47. h: number
  48. ): Foo;
  49. }
  50. interface ConstructorInline {
  51. // https://github.com/prettier/prettier/issues/2163
  52. (i): any;
  53. }
  54. interface TimerConstructor {
  55. // Line-splitting comment
  56. new (interval: number, callback: (handler: Timer) => void): Timer;
  57. }