BVB Source Codes

prettier Show test_obj.js Source code

Return Download prettier: download test_obj.js Source code - Download prettier Source code - Type:.js
  1. /**
  2.  * Tests for intersections of object types
  3.  *
  4.  * @noflow
  5.  */
  6.  
  7. // TODO we should give explicit errors for incompatibilities
  8. // which make an intersection uninhabitable:
  9. // - shared mutable properties with different types
  10. // - different dictionary types
  11. //
  12. // Currently we give no such errors. Instead, we rely on
  13. // the impossibility of providing a value for such a type
  14. // to produce errors on value inflows. This is clearly
  15. // suboptimal, since eg declared vars require no explicit
  16. // provision of values. This leaves the impossible types
  17. // free to flow downstream and satisfy impossible constraints.
  18.  
  19. // intersection of object types satisfies union of properties
  20. declare var a: A;
  21. var b: B = a;
  22.  
  23. // intersection of dictionary types:
  24. declare var c: C;
  25. var d: D = c; // ok
  26.  
  27. // dict type mismatch
  28. type E = { [key: string]: string };
  29. var e: E = c; // error
  30.  
downloadtest_obj.js Source code - Download prettier Source code
Related Source Codes/Software:
storybook - 2017-06-07
ionicons - The premium icon font for Ionic ... 2017-06-07
AsyncDisplayKit - Smooth asynchronous user interfaces for iOS apps. ... 2017-06-07
lottie-android - Render After Effects animations natively on Androi... 2017-06-07
parse-server - Parse-compatible API server module for Node/Expres... 2017-06-07
inferno - An extremely fast, React-like JavaScript library f... 2017-06-08
guetzli - Perceptual JPEG encoder 2017-06-08
cs-video-courses - List of Computer Science courses with video lectur... 2017-06-08
interviews - Everything you need to know to get the job. 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top