@neo-one/server-plugin-project
Version:
NEO•ONE server plugin for project functionality.
38 lines (36 loc) • 5.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const smart_contract_codegen_1 = require("@neo-one/smart-contract-codegen");
const fs = tslib_1.__importStar(require("fs-extra"));
const path = tslib_1.__importStar(require("path"));
const utils_1 = require("../utils");
const writeFile_1 = require("./writeFile");
exports.generateCode = async (project, contractResult, networksDefinition, browser) => {
const base = path.resolve(project.paths.generated, contractResult.name);
const sourceMapsPath = utils_1.getCommonPaths(project).sourceMapsPath;
const { typesPath, abiPath, createContractPath } = utils_1.getContractPaths(project, contractResult);
const { abi, contract, types } = smart_contract_codegen_1.genFiles({
name: contractResult.name,
networksDefinition,
contractPath: contractResult.filePath,
typesPath,
abiPath,
createContractPath,
abi: contractResult.abi,
sourceMapsPath,
browser,
});
await fs.ensureDir(base);
if (project.codegen.language === 'javascript') {
await Promise.all([writeFile_1.writeFile(abiPath, abi.js), writeFile_1.writeFile(createContractPath, contract.js)]);
}
else {
await Promise.all([
writeFile_1.writeFile(utils_1.getTSPath(abiPath), abi.ts),
writeFile_1.writeFile(utils_1.getTSPath(createContractPath), contract.ts),
writeFile_1.writeFile(utils_1.getTSPath(typesPath), types.ts),
]);
}
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdlbmVyYXRlQ29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw0RUFBMkQ7QUFDM0QscURBQStCO0FBQy9CLG1EQUE2QjtBQUc3QixvQ0FBdUU7QUFDdkUsMkNBQXdDO0FBRTNCLFFBQUEsWUFBWSxHQUFHLEtBQUssRUFDL0IsT0FBc0IsRUFDdEIsY0FLQyxFQUNELGtCQUFtRCxFQUNuRCxPQUFnQixFQUNoQixFQUFFO0lBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEUsTUFBTSxjQUFjLEdBQUcsc0JBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDOUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyx3QkFBZ0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0YsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsaUNBQVEsQ0FBQztRQUN4QyxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7UUFDekIsa0JBQWtCO1FBQ2xCLFlBQVksRUFBRSxjQUFjLENBQUMsUUFBUTtRQUNyQyxTQUFTO1FBQ1QsT0FBTztRQUNQLGtCQUFrQjtRQUNsQixHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUc7UUFDdkIsY0FBYztRQUNkLE9BQU87S0FDUixDQUFDLENBQUM7SUFFSCxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxZQUFZLEVBQUU7UUFDN0MsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLHFCQUFTLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM3RjtTQUFNO1FBQ0wsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ2hCLHFCQUFTLENBQUMsaUJBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JDLHFCQUFTLENBQUMsaUJBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDckQscUJBQVMsQ0FBQyxpQkFBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDMUMsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDLENBQUMiLCJmaWxlIjoibmVvLW9uZS1zZXJ2ZXItcGx1Z2luLXByb2plY3Qvc3JjL2J1aWxkL2dlbmVyYXRlQ29kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCSSwgU21hcnRDb250cmFjdE5ldHdvcmtzRGVmaW5pdGlvbiB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgZ2VuRmlsZXMgfSBmcm9tICdAbmVvLW9uZS9zbWFydC1jb250cmFjdC1jb2RlZ2VuJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBSYXdTb3VyY2VNYXAgfSBmcm9tICdzb3VyY2UtbWFwJztcbmltcG9ydCB7IFByb2plY3RDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRDb21tb25QYXRocywgZ2V0Q29udHJhY3RQYXRocywgZ2V0VFNQYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgd3JpdGVGaWxlIH0gZnJvbSAnLi93cml0ZUZpbGUnO1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVDb2RlID0gYXN5bmMgKFxuICBwcm9qZWN0OiBQcm9qZWN0Q29uZmlnLFxuICBjb250cmFjdFJlc3VsdDoge1xuICAgIHJlYWRvbmx5IGZpbGVQYXRoOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFiaTogQUJJO1xuICAgIHJlYWRvbmx5IHNvdXJjZU1hcDogUmF3U291cmNlTWFwO1xuICB9LFxuICBuZXR3b3Jrc0RlZmluaXRpb246IFNtYXJ0Q29udHJhY3ROZXR3b3Jrc0RlZmluaXRpb24sXG4gIGJyb3dzZXI6IGJvb2xlYW4sXG4pID0+IHtcbiAgY29uc3QgYmFzZSA9IHBhdGgucmVzb2x2ZShwcm9qZWN0LnBhdGhzLmdlbmVyYXRlZCwgY29udHJhY3RSZXN1bHQubmFtZSk7XG4gIGNvbnN0IHNvdXJjZU1hcHNQYXRoID0gZ2V0Q29tbW9uUGF0aHMocHJvamVjdCkuc291cmNlTWFwc1BhdGg7XG4gIGNvbnN0IHsgdHlwZXNQYXRoLCBhYmlQYXRoLCBjcmVhdGVDb250cmFjdFBhdGggfSA9IGdldENvbnRyYWN0UGF0aHMocHJvamVjdCwgY29udHJhY3RSZXN1bHQpO1xuICBjb25zdCB7IGFiaSwgY29udHJhY3QsIHR5cGVzIH0gPSBnZW5GaWxlcyh7XG4gICAgbmFtZTogY29udHJhY3RSZXN1bHQubmFtZSxcbiAgICBuZXR3b3Jrc0RlZmluaXRpb24sXG4gICAgY29udHJhY3RQYXRoOiBjb250cmFjdFJlc3VsdC5maWxlUGF0aCxcbiAgICB0eXBlc1BhdGgsXG4gICAgYWJpUGF0aCxcbiAgICBjcmVhdGVDb250cmFjdFBhdGgsXG4gICAgYWJpOiBjb250cmFjdFJlc3VsdC5hYmksXG4gICAgc291cmNlTWFwc1BhdGgsXG4gICAgYnJvd3NlcixcbiAgfSk7XG5cbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGJhc2UpO1xuICBpZiAocHJvamVjdC5jb2RlZ2VuLmxhbmd1YWdlID09PSAnamF2YXNjcmlwdCcpIHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChbd3JpdGVGaWxlKGFiaVBhdGgsIGFiaS5qcyksIHdyaXRlRmlsZShjcmVhdGVDb250cmFjdFBhdGgsIGNvbnRyYWN0LmpzKV0pO1xuICB9IGVsc2Uge1xuICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIHdyaXRlRmlsZShnZXRUU1BhdGgoYWJpUGF0aCksIGFiaS50cyksXG4gICAgICB3cml0ZUZpbGUoZ2V0VFNQYXRoKGNyZWF0ZUNvbnRyYWN0UGF0aCksIGNvbnRyYWN0LnRzKSxcbiAgICAgIHdyaXRlRmlsZShnZXRUU1BhdGgodHlwZXNQYXRoKSwgdHlwZXMudHMpLFxuICAgIF0pO1xuICB9XG59O1xuIl19