UNPKG

tspace-spear

Version:

tspace-spear is a lightweight, high-performance API framework for Node.js that leverages the native HTTP server and supports uWebSockets.js (C++) for maximum speed and efficiency.

57 lines (51 loc) • 1.48 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDto = createDto; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const shared_1 = require("../shared"); function createDto(root, name) { if (!name) { console.log("Missing dto path, try spear g dto dog"); process.exit(1); } const resolvedPath = path_1.default.resolve(process.cwd(), root, 'modules', (0, shared_1.toPlural)(name)); const fileName = `${(0, shared_1.toSingular)(name)}.dto.ts`; const target = path_1.default.join(resolvedPath, fileName); fs_1.default.mkdirSync(resolvedPath, { recursive: true }); const className = (0, shared_1.capitalize)((0, shared_1.toSingular)(name)) + "Dto"; fs_1.default.writeFileSync(target, ` import { IsString, Min, IsNotEmpty, IsNumber, IsOptional } from "class-validator"; export class Create${className} { @IsString() @IsNotEmpty() name!: string; @IsNumber() @Min(0.1) age!: number; } export class Update${className} { @IsOptional() @IsString() name?: string; @IsOptional() @IsNumber() @Min(0.1) age?: number; } `); console.log(` CREATE ${target} āœ” Successfully generated dto "${name}" `); } //# sourceMappingURL=index.js.map