UNPKG

@patchworkdev/pdk

Version:

Patchwork Development Kit

41 lines (40 loc) 1.91 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateTrpcHooks = generateTrpcHooks; const promises_1 = __importDefault(require("fs/promises")); const node_path_1 = __importDefault(require("node:path")); const error_1 = require("../../../helpers/error"); const file_1 = require("../../../helpers/file"); const logger_1 = require("../../../helpers/logger"); const text_1 = require("../../../helpers/text"); const analyzeAPI_1 = require("./analyzeAPI"); async function generateTrpcHooks(trpcRouter, hooksDir) { const trpcHooksFile = node_path_1.default.join(hooksDir, 'trpc.ts'); //const wagmiHooksFile = path.join(hooksDir, 'wagmi.ts'); // Check if tRPC router file exists try { await promises_1.default.access(trpcRouter); } catch (error) { logger_1.logger.error(`Error: Unable to access tRPC router file at ${trpcRouter}`); throw new error_1.PDKError(error_1.ErrorCode.FILE_NOT_FOUND, `Error: Unable to access tRPC router file at ${trpcRouter}`); } // Ensure hooks directory exists try { await promises_1.default.mkdir(hooksDir, { recursive: true }); } catch (error) { logger_1.logger.error(`Error creating hooks directory at ${hooksDir}:`, error); throw new error_1.PDKError(error_1.ErrorCode.DIR_NOT_FOUND, `Error creating hooks directory at ${trpcRouter}`); } const apiStructure = (0, analyzeAPI_1.analyzeAPI)(trpcRouter); const hooksFileArray = [`import { trpc } from '../lib/trpc';\n\n`]; for (let key in apiStructure) { hooksFileArray.push(`export const use${(0, text_1.pascalCase)(key)} = trpc.${key}.useQuery; `); } (0, file_1.formatAndSaveFile)(trpcHooksFile, hooksFileArray.join('')); }