BVB Source Codes

prettier Show keys.js Source code

Return Download prettier: download keys.js Source code - Download prettier Source code - Type:.js
  1. /* @flow */
  2.  
  3. function testKeysOfObject(str: string, lit: 'hi') {
  4.   (str: $Keys<Object>); // Any string should be fine
  5.   if (str) {
  6.     (str: $Keys<Object>); // No error, truthy string should be fine
  7.   }
  8.   ('hi': $Keys<Object>); // String literal should be fine
  9.  
  10.   (123: $Keys<Object>); // Error: number -> keys of Object
  11. }
  12.  
  13. type StrDict = {[key: string]: mixed};
  14. function testKeysOfStrDict(str: string, lit: 'hi') {
  15.   (str: $Keys<StrDict>); // Any string should be fine
  16.   if (str) {
  17.     (str: $Keys<StrDict>); // No error, truthy string should be fine
  18.   }
  19.   ('hi': $Keys<StrDict>); // String literal should be fine
  20.  
  21.   (123: $Keys<StrDict>); // Error: number -> keys of StrDict
  22. }
  23.  
  24. type StrLitDict = {[key: 'hi']: mixed};
  25. function testKeysOfStrLitDict(str: string, lit: 'hi') {
  26.   (str: $Keys<StrLitDict>); // Error: Not all strings are allowed
  27.   if (str) {
  28.     (str: $Keys<StrLitDict>); // Error: Not all truthy strings are allowed
  29.   }
  30.   ('hi': $Keys<StrLitDict>); // The right string literal is allowed
  31.   ('bye': $Keys<StrLitDict>); // Error: The wrong string literal is not allowed
  32.  
  33.   (123: $Keys<StrLitDict>); // Error: number -> keys of StrLitDict
  34. }
  35.  
  36. type ObjLit = {hi: mixed};
  37. function testKeysOfOtherObj(str: string, lit: 'hi') {
  38.   (str: $Keys<ObjLit>); // Error: string -> keys of ObjLit
  39.   if (str) {
  40.     (str: $Keys<ObjLit>); // Error: truthy string -> keys of ObjLit
  41.   }
  42.   ('hi': $Keys<ObjLit>); // String literal should be fine
  43.  
  44.   (123: $Keys<ObjLit>); // Error: number -> keys of ObjLit
  45. }
  46.  
downloadkeys.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