export class AmUtil{ /** * 获取typscript 类型 * @param type 传入类型 * @returns typescript类型 */ public static getTsType(type){ if(['int','double','float','number','numeric'].includes(type)){ return 'number'; } return type; } /** * reg转换器 * @param str * @param side 1左侧限定 2右侧限定 3两侧限定 * @returns */ public static toReg(str: string, side?: number): RegExp { //替换/为\/ str = str.replace(/\//g, '\\/'); //替换.为\. str = str.replace(/\./g, '\\.'); //替换*为.* str = str.replace(/\*/g, '.*'); if (side !== undefined) { switch (side) { case 1: str = '^' + str; break; case 2: str = str + '$'; break; case 3: str = '^' + str + '$'; } } return new RegExp(str); } /** * 格式化html串 * @param str * @returns */ public static formatHtml(templateStr):string{ templateStr = require('prettier').format(templateStr,{tabWidth: 4, bracketSameLine: true, bracketSpacing:true, parser: "html"}); templateStr = templateStr.replace(/"{{/g,'{{'); templateStr = templateStr.replace(/}}"/g,'}}'); return templateStr; } /** * 格式化ts串 * @param str 字符串 * @returns */ public static formatTs(str):string{ return require('prettier').format(str,{tabWidth: 4, parser: "typescript",trailingComma:'none'}); } /** * 格式化js串 * @param str 字符串 * @returns */ public static formatJs(str):string{ return require('prettier').format(str,{tabWidth: 4, parser: "javascript",trailingComma:'none'}); } /** * 格式化json串 * @param str 字符串 * @returns */ public static formatJson(str):string{ return require('prettier').format(str,{tabWidth: 4, parser: "json",trailingComma:'none'}); } /** * 复制目录 * @param src 源目录 * @param dst 目标目录 */ public static copyDir(src:string,dst:string){ const fsMdl = require('fs'); const pathMdl = require('path'); //建目标目录 if(!fsMdl.existsSync(dst)){ fsMdl.mkdirSync(dst,{recursive:true}) } //读源目录 const dirArr = fsMdl.readdirSync(src,{withFileTypes:true}); for (const dirent of dirArr) { const sp = pathMdl.resolve(src,dirent.name); const dp = pathMdl.resolve(dst,dirent.name); //递归处理 if(dirent.isDirectory()){ this.copyDir(sp,dp); }else{ //复制文件 fsMdl.copyFileSync(sp,dp); } } } /** * 删除目录 * @param path 路径 */ public static removeFolder(path){ const fs = require('fs'); const pathMdl = require('path'); if(!fs.existsSync(path)){ return; } fs.rmSync(path,{ recursive: true, force: true }); } }