UNPKG

react-generate-comp

Version:

Generate React components in current execute directory by typing with CLI.

55 lines (51 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.genUseState = exports.genComponents = void 0; const bigSmallLetter_1 = require("./bigSmallLetter"); function generateReact(inputName = '', lang = 'Typescript') { const [compNameUpper, _] = (0, bigSmallLetter_1.strToSmallAndBig)(inputName); const demoCode = `${lang === 'Typescript' ? `type ${compNameUpper}Props = {\n data?: any;\n}\n` : ``} function ${compNameUpper}({ data }${lang === 'Typescript' ? `: ${compNameUpper}Props` : ''}){ return ( <> <h1>Hello ${compNameUpper}</h1> </> ) } export default ${compNameUpper} `; return demoCode; } function generateReactNative(inputName = '', lang = 'Typescript') { const [compNameUpper, _] = (0, bigSmallLetter_1.strToSmallAndBig)(inputName); const demoCode = `import React from 'react'; import { Text } from 'react-native'; ${lang === 'Typescript' ? `type ${compNameUpper}Props = {\n data?: any;\n}\n` : ``} function ${compNameUpper}({ data }${lang === 'Typescript' ? `: ${compNameUpper}Props` : ''}){ return ( <> <Text>Hello ${compNameUpper}</Text> </> ) } export default ${compNameUpper} `; return demoCode; } function genComponents(inputName = '', lang = 'Typescript', isNative = false) { return isNative ? generateReactNative(inputName, lang) : generateReact(inputName, lang); } exports.genComponents = genComponents; function genUseState(inputName = '', lang = 'Typescript') { const [bigLetterStr, lowLetterStr] = (0, bigSmallLetter_1.strToSmallAndBig)(inputName); const demoCode = ` const [ ${lowLetterStr}, set${bigLetterStr} ] = useState${lang === 'Typescript' ? '<any>' : ''}(""); useEffect( () => { console.log(${lowLetterStr}); },[${lowLetterStr}]); `; return demoCode; } exports.genUseState = genUseState;