1.1.1 • Published 1 year ago

har-to-api v1.1.1

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago
安装
npm i har-to-api --save
使用
// 配置文件 har-to-api.config.js
module.exports = {
  // 输出的目录
  outPutDir: "./__mocks__/services/",
  template: (option) => {
    const { functionName, method, api, dataName } = option;
    return `import _ from 'lodash';
import { rest } from 'msw';

import ${dataName} from './get.json';

export const ${functionName} = (
  formatResponseData?: (
    responseData: typeof ${dataName}
  ) => typeof ${dataName}
) =>
  rest.${method}('${api}', (req, res, context) => {
    const data = _.isFunction(formatResponseData)
      ? formatResponseData(_.cloneDeep(${dataName}))
      : ${dataName};
    return res(context.json(data));
  });
${functionName}.data = ${dataName};

export default [${functionName}()];
  `;
  },
  // har 文件路径
  harPath: "./*.har",
  prefix: "/api/v1",
};
npx har-to-api

结果 npm.io npm.io

配置详解
名称类型 (默认值)描述
outPutDirstring产物输出目录
template(option: {functionName: string, method: string, api: string, dataName: string})=> string生成产物的函数
apiFileExtensionsstring(.ts)生成 api 文件的后缀名
harPathstringhar 文件地址
supportMethodsstring[]([.get])har 文件中支持的请求类型
coverboolean(false) | { api: boolean, data: boolean }是否覆盖掉已经生成的内容
dynamicApiListstring[]某些接口的路径部分是动态的,对于数字类型的比较好处理,但是对于是字符串类型的就不好处理了,所以提供了这样一个属性。例:dynamicApiList: ["/api/v1/dashboard/scan/:container-name/vulnerabilities"],这样就能方便的提取出其中动态的部分
prefixstring('')匹配的接口前缀,生成的方法名不含该前缀
1.1.1

1 year ago

1.1.0

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago