UNPKG

tprompter

Version:
53 lines (50 loc) 2.85 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { Service } from 'typedi'; import { StdinDataReader } from '../utils/StdinDataReader.js'; import { TextDataEnricher } from '../textDataEnricher/TextDataEnricher.js'; let CodeReviewPrompt = class CodeReviewPrompt { constructor(stdinReader, enricher) { this.stdinReader = stdinReader; this.enricher = enricher; this.name = 'code_review'; } generate() { return __awaiter(this, void 0, void 0, function* () { const inputCodeRaw = yield this.stdinReader.readData('Enter the source code files'); const inputCode = yield this.enricher.enrichRawInput(inputCodeRaw.trim()); return ` You are a senior developer at a software company. You are provided with the following code: \`\`\` ${inputCode} \`\`\` Your task is to make a code review. Please, consider the code maintanibility, security and logical concerns, and any improvements you can suggest. Your task is very important to the team, and your feedback will help to improve the overall code quality and maintainability of the project. Don't write the abstract feedback, be specific and provide examples. Don't share a lot of positive feedback, focus on the improvements. `.trim(); }); } }; CodeReviewPrompt = __decorate([ Service(), __metadata("design:paramtypes", [StdinDataReader, TextDataEnricher]) ], CodeReviewPrompt); export { CodeReviewPrompt };