@neo-one/smart-contract-codegen-esnext-esm
Version:
NEO•ONE TypeScript smart contract codegen.
23 lines (21 loc) • 1.5 kB
JavaScript
import _ from 'lodash';
import { getRelativeImport } from '../utils';
const createExport = (generatedPath, importPath) => `export * from '${getRelativeImport(generatedPath, importPath)}';`;
const createNewLineExport = (generatedPath, importPath) => `\n${createExport(generatedPath, importPath)}`;
export const genGenerated = ({ contractsPaths, contractsPath, reactPath, angularPath, vuePath, clientPath, generatedPath, framework, }) => ({
ts: `
${createExport(generatedPath, contractsPath)}${framework === 'react' ? createNewLineExport(generatedPath, reactPath) : ''}${framework === 'angular' ? createNewLineExport(generatedPath, angularPath) : ''}${framework === 'vue' ? createNewLineExport(generatedPath, vuePath) : ''}
${createExport(generatedPath, clientPath)}
${_.flatMap(contractsPaths, ({ createContractPath, typesPath, abiPath }) => [createContractPath, typesPath, abiPath])
.map((importPath) => createExport(generatedPath, importPath))
.join('\n')}
`,
js: `
${framework === 'react' ? createNewLineExport(generatedPath, reactPath) : ''}${framework === 'angular' ? createNewLineExport(generatedPath, angularPath) : ''}${framework === 'vue' ? createNewLineExport(generatedPath, vuePath) : ''}
${createExport(generatedPath, clientPath)}
${_.flatMap(contractsPaths, ({ createContractPath, abiPath }) => [createContractPath, abiPath])
.map((importPath) => createExport(generatedPath, importPath))
.join('\n')}
`,
});
//# sourceMappingURL=genGenerated.js.map