@kordar-lib/crud
v2.0.0
Published
CRUD 相关的基础类型定义库,统一描述查询条件、排序、编辑指令以及常用的请求体结构(SearchBody/FormBody/EditorBody/RemoveBody),用于在各模板与组件库中保持接口一致。
Readme
@kordar-lib/crud
CRUD 相关的基础类型定义库,统一描述查询条件、排序、编辑指令以及常用的请求体结构(SearchBody/FormBody/EditorBody/RemoveBody),用于在各模板与组件库中保持接口一致。
导出内容
- query
- ConditionUint / Condition
- SortUint / Sort
- EditorUint / Editor
- body
- SearchBody
- FormBody
- EditorBody
- RemoveBody
常用用法
列表查询(SearchBody)
import type {SearchBody, Condition, Sort} from '@kordar-lib/crud'
const conditions: Condition[] = [
{ key: 'name', type: 'LIKE', value: 'tom' },
{ key: 'enabled', type: 'EQ', value: 1 }
]
const sorts: Sort[] = [{ key: 'createdAt', type: 'DESC' }]
const body: SearchBody = {
page: 1,
pageSize: 20,
conditions,
sorts,
data: { extra: true }
}表单提交(FormBody)
import type {FormBody, Condition} from '@kordar-lib/crud'
type UserForm = { name: string; age: number }
const conditions: Condition[] = [{ key: 'id', type: 'EQ', value: 1 }]
const body: FormBody<UserForm> = {
conditions,
object: { name: 'Tom', age: 18 }
}批量编辑(EditorBody)
import type {EditorBody, Condition, Editor} from '@kordar-lib/crud'
const conditions: Condition[] = [{ key: 'enabled', type: 'EQ', value: 0 }]
const editor: Editor[] = [
{ key: 'enabled', type: 'SETVAL', value: 1 }
]
const body: EditorBody = { conditions, editor }删除(RemoveBody)
import type {RemoveBody, Condition} from '@kordar-lib/crud'
const conditions: Condition[] = [{ key: 'id', type: 'IN', value: [1,2,3] }]
const body: RemoveBody = { conditions }构建与类型(Monorepo:npm)
在仓库根目录执行:
npm install --legacy-peer-deps
npm run -w @kordar-lib/crud build类型检查:
npm exec -w @kordar-lib/crud -- tsc -p tsconfig.json --noEmit