使用AI将JavaScript逆向工程为TypeScript
来自 Wikiprompt,自由的提示词百科全书
使用AI将JavaScript逆向工程为TypeScript 将混淆的JavaScript代码转换为带有注释的类型良好的TypeScript,重点在于提示构建和请求处理。
提示词内容收藏
🌐
/**
* 根据用户操作拼接 Prompt 并发送请求的 TypeScript 代码
* 注意:以下代码中引用的外部方法(如 fetch、getUserInput 等)仅作注释说明,不在此处实现
*/
// 定义用户操作的类型
type UserAction = 'create' | 'edit' | 'delete' | 'query';
// 定义请求参数的类型
interface RequestParams {
action: UserAction;
targetId?: string; // 目标 ID,可选
content?: string; // 内容,可选
metadata?: Record<string, unknown>; // 元数据,使用 unknown 而非 any
}
// 定义 API 响应的类型
interface ApiResponse {
success: boolean;
data?: unknown; // 返回数据,使用 unknown 而非 any
error?: string;
}
// 定义 Prompt 拼接函数的类型
type PromptBuilder = (params: RequestParams) => string;
/**
* 拼接 Prompt 的函数
* @param params 请求参数
* @returns 拼接后的 Prompt 字符串
*/
const buildPrompt: PromptBuilder = (params) => {
// 根据操作类型拼接不同的 Prompt
const actionPrompt: Record<UserAction, string> = {
create: '创建新条目',
edit: '编辑现有条目',
delete: '删除条目',
query: '查询条目'
};
// 基础 Prompt 结构
let prompt = `操作类型:${actionPrompt[params.action]}`;
// 添加可选参数
if (params.targetId) {
prompt += `,目标 ID:${params.targetId}`;
}
if (params.content) {
prompt += `,内容:${params.content}`;
}
if (params.metadata) {
// 将元数据转换为 JSON 字符串
prompt += `,元数据:${JSON.stringify(params.metadata)}`;
}
return prompt;
};
/**
* 发送请求并处理返回结果的函数
* @param prompt 拼接好的 Prompt
* @returns Promise<ApiResponse> 处理后的响应
*/
async function sendRequest(prompt: string): Promise<ApiResponse> {
// 外部方法:fetch 用于发送 HTTP 请求(此处不实现)
// 假设有一个 API 端点接收 prompt 并返回结果
const response = await fetch('/api/process-prompt', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ prompt })
});
// 检查响应状态
if (!response.ok) {
return {
success: false,
error: `HTTP 错误:${response.status}`
};
}
// 解析响应数据
const rawData: unknown = await response.json();
// 类型守卫:检查数据是否符合 ApiResponse 结构
if (typeof rawData === 'object' && rawData !== null) {
const data = rawData as ApiResponse;
return data;
}
// 如果数据格式不正确,返回错误
return {
success: false,
error: '响应数据格式不正确'
};
}
/**
* 主处理函数:根据用户操作拼接 Prompt 并发送请求
* @param params 请求参数
* @returns Promise<ApiResponse> 处理结果
*/
export async function processUserAction(params: RequestParams): Promise<ApiResponse> {
// 1. 拼接 Prompt
const prompt = buildPrompt(params);
// 2. 发送请求并处理结果
const result = await sendRequest(prompt);
// 3. 返回结果
return result;
}
// 使用示例(注释说明)
/*
const exampleParams: RequestParams = {
action: 'create',
content: '示例内容',
metadata: { priority: 'high' }
};
processUserAction(exampleParams)
.then(result => console.log(result))
.catch(error => console.error(error));
*/
用法
此提示词专为 coding 设计。复制上方内容并粘贴到你常用的 AI 工具中。
为获得最佳效果,可将占位符(方括号或大写字母标示)替换为你的具体需求。
讨论
0 条评论