// @ts-nocheck import { RequseBuildParmeter } from './help/requseBuildParmeter.ts' // eslint-disable-next-line complexity const buildParameter = (parameter = { limit: 8, offset: 0 }, sort?: object = {}, groupBy?: string) => { // 参数的实例 let instance = new RequseBuildParmeter() // 加载分页 if (parameter.limit || parameter.offset || groupBy) { instance.Pageable(parameter.limit, parameter.offset, groupBy) } // 把对象转成 map 然后取 key value let obj = Object.entries(parameter) for (let [key, value] of obj) { if (key && value !== '' && key !== 'limit' && key !== 'offset') { // 判断 类型 if (Object.prototype.toString.call(value) === '[object Object]') { const { model = '', oper = 'EQUAL', andOr = 'AND', realField = key, still = false // true不过滤空值仍然添加 } = value if (model || still) { instance.AndFields(realField, model, oper, andOr) } } else { instance.AndFields(key, value) } } } // 是否有 排序 for (const [key, value] of Object.entries(sort)) { instance.Sort(key, value) } return instance.parameter } export { buildParameter }