TX Reflector
TypeScript transformer for code generation.
See also Interface-based instructions.
Install
npm i --save-dev tx-reflector
API
getInterfaces(target: Function | object): string[]
getInterfaces<T>(target: T): string[]
getRawInterfaces<T>(target: T): Interface[]
getComponentInterfaces(XClass: Function): string[]
Usage
; ;; // OR getInterfaces<IData>(anything); // After compilation:// var interfaces = ["IData", "IAbstractData"];
React and like
; ; // After compilation:// var interfaces = ["IBtnProps", "IComponent", "IClickable"];
Webpack
Use awesome-typescript-loader or ts-loader 2.3+.
// webpack.config.jsconst default:txReflector = ; moduleexports = // ... module: // ... test: /\.tsx?$/ loader: 'awesome-typescript-loader' // or ts-loader options: { return before: txReflector after: ; } // ...;
Jest (only with TS 2.4+)
// .jest/tsPreprocessor.jsconst tsc = ;const tsConfig = ;const default:txReflector = ; moduleexports = { if path || path const result = tsc; return resultoutputText; return src; };
Development
npm i
npm test
, code coverage