indexize.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. // let fs = require('fs');
  2. // let path = require('path');
  3. // var reactDocs = require('react-docgen');
  4. // // let TEXT = fs.readFileSync('../../node_modules/native-base/src/basic/Button.js');
  5. // // var componentInfo = reactDocs.parse(TEXT);
  6. // // console.log("NativeBaseCI", componentInfo);
  7. // //joining path of directory
  8. // const directoryPath = "../../node_modules/native-base/src/basic/";
  9. // //passsing directoryPath and callback function
  10. // fs.readdir(directoryPath, function (err, files) {
  11. // //handling error
  12. // if (err) {
  13. // return console.log('Unable to scan directory: ' + err);
  14. // }
  15. // let Infos = [];
  16. // //listing all files using forEach
  17. // files.forEach(function (file, index) {
  18. // // Do whatever you want to do with the file
  19. // if(!file.endsWith('.js') || file.includes('.android') || file.includes('.ios')) return;
  20. // console.log("No. " + index +" : ", file);
  21. // let content = fs.readFileSync(directoryPath + file);
  22. // try{
  23. // let info = reactDocs.parse(content);
  24. // info.componentName = file.replace('.js', '');
  25. // Infos.push(info);
  26. // } catch(e) {
  27. // console.log("Error");
  28. // console.log(e);
  29. // }
  30. // });
  31. // let fileText = generateFile(Infos);
  32. // fs.writeFileSync('./index.js', fileText);
  33. // });
  34. // function generateFile(Infos) {
  35. // let headers = `
  36. // import React from 'react';
  37. // import Types from '../../lib/Types';
  38. // import Module from '../../lib/Module';\n`;
  39. // let IM = [],
  40. // EX = [],
  41. // PROPS = [],
  42. // Names = [];
  43. // Infos.forEach((info) => {
  44. // let { im, ex, props} = createClass(info);
  45. // Names.push(info.componentName);
  46. // IM.push(im);
  47. // EX.push(ex);
  48. // PROPS.push(props);
  49. // })
  50. // return headers + "\n\n" +
  51. // IM.join('\n') + "\n\n" +
  52. // EX.join('\n') + "\n\n" +
  53. // PROPS.join('\n')+"\n\n" +
  54. // `export default { \n\t${Names.join(',\n\t')} \n}`;
  55. // }
  56. // function createClass(item) {
  57. // let name = item.componentName;
  58. // let props = generatePropsText(item.props);
  59. // let s = `export class ${name} extends Module {
  60. // constructor(props) {
  61. // super(props);
  62. // }
  63. // display() {
  64. // return <${name+'Ctor'} {...this.props} />
  65. // }
  66. // }`;
  67. // let propsText = `${name}.Inputs = ${props}`;
  68. // return {
  69. // im: `import { ${name} as ${name+'Ctor'} } from 'native-base';`,
  70. // ex: s,
  71. // props: propsText
  72. // }
  73. // }
  74. // function generatePropsText(props) {
  75. // let Props = [];
  76. // for(var name in props) {
  77. // let p = props[name];
  78. // let validator;
  79. // switch(p.type && p.type.name) {
  80. // case 'number':
  81. // validator = "new Types.Real()"
  82. // break;
  83. // case 'string':
  84. // validator = "new Types.Text()"
  85. // break;
  86. // case 'bool':
  87. // validator = "new Types.Bool()"
  88. // break;
  89. // default:
  90. // console.log("Style type for ", name , p.type);
  91. // continue;
  92. // break;
  93. // }
  94. // if(p.required) validator += ".require()"
  95. // if(p.defaultValue) validator += `.default(${p.defaultValue.value})`
  96. // let s = `${name}: ${validator}`;
  97. // Props.push(s);
  98. // }
  99. // return `{
  100. // ${Props.join(',\n\t')}
  101. // }`;
  102. // }