1.0.9 • Published 7 years ago

babel-plugin-flow-type-getter v1.0.9

Weekly downloads
2
License
ISC
Repository
github
Last release
7 years ago

Access your Flow types from classes before you instantiate objects.


To use :

npm install --save-dev babel-plugin-flow-type-getter babel-plugin-transform-flow-strip-types

.babelrc

{
  "plugins": ["flow-type-getter", "transform-flow-strip-types"]
}

Example

class Test1 {
  prop1: number;
  prop2: Array<User | string>;
  prop3: Client;
  prop4: boolean;
  prop5: Client | User;
  prop6: ?Array<number>;
  prop7: Array<User>;
  prop8: ?{a: string, b: ?number};

  static getType() {
    return 'cool';
  }

  getTypeTwo() {
    return 'yeah';
  }
}

class Test2 {
  prop1: number;
  prop2: Array<User | ID>;

  static getType() {
    return 'cool';
  }

  getTypeTwo() {
    return 'yeah';
  }
}

const obj_test = {
  t1 : Test1,
  t2 : Test2
}

const test1_str = 't1';
const testing_this_string = 'prop1';

console.log('unary test : ', typeof Test1[testing_this_string]); // number
console.log('binary test : ', typeof obj_test.t1.prop2 == 'User'); // true
console.log('array test : ', Array.isArray(Test1['prop5'])); // false
console.log('array test : ', Array.isArray(obj_test['t2'].prop2)) // true
console.log('undefined test : ', typeof Test1.prop9); // undefined
console.log('binary undefined test : ', typeof Test1.prop9 == 'string'); // false
console.log('array undefined test : ', Array.isArray(Test1.prop9)); // false

Run the example

-Navigate to the example directory of the project -Open the file index.js in a text editor (only do this if you want to expriment) -Enter the command npm run build to start the babel --watch process (keep this shell open) -In a new shell, enter the command npm start to see the values logged out in example/index.js

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago