@ballistix. digital/odata-query-buildinger (中文(简体) )
OData v4 查询字符串的打入流畅的构建器
@ballistix.digital/typeorm-extensions 服务.
它建立了一个 查询字符串它不获取,它不知道
_embedded 编号 : _page 反应信封。 它已经 零运行时间依赖关系。 。 。 .
完整的文献资料 docs/(单位:千美元)
指南 用于使用软件包的开发者,以及
维护者页面 对于一个改变它的开发者.
安装
npm i @ballistix.digital/odata-query-builder
它需要节点20或更新,以及TypeScript 5.9, 6.0或 7.0.
示例
import { odataQuery } from '@ballistix.digital/odata-query-builder';
enum ProjectStatusEnum {
DRAFT = 'draft',
ACTIVE = 'active',
ARCHIVED = 'archived',
}
// ProjectDto is your own DTO type. Getting started shows its shape.
const query = odataQuery<ProjectDto>()
.filter((v, o) =>
o.and(
v.archived.isFalse(),
v.status.in([ProjectStatusEnum.DRAFT, ProjectStatusEnum.ACTIVE]),
v.children.any((a) => a.priority.ge(2)),
),
)
.select('id', 'name', 'status')
.expand.parent((p) => p.select('name').expand.owner((u) => u.select('fullName')))
.orderBy('name', 'desc')
.top(25)
.count()
.toQueryString();
// $filter=archived eq false and status in ('draft','active') and children/any(a:a/priority ge 2)&$select=id,name,status&$expand=parent($select=name;$expand=owner($select=fullName))&$orderby=name desc&$top=25&$count=true
开始
打印 ProjectDto 形状.
是什么使它输入
范围a filter() 接收的回调仅取自 DTO 类型 :
- 自己的平面柱成为由柱子本身类型所打入的表达式,所以 a. enum 列取 enum 成员,而数字列拒绝字符串;
- (单位:千美元)
_embedded至一关系成为嵌入范围,与/· ; - (单位:千美元)
_embedded和很多关系成为了羊肉的命名空间,所以any财务报告和审定财务报表all唯一能够达到的东西——这是服务器接受的; - 原始数组列( e)
text[]变成一个羊肉的命名空间 键.
expand.<relation> 确切列出关系 _embedded 声明 有一个
没有代码生成, 没有 $metadata 文档,没有配置: DTO
公约是 _embedded,图书馆也假设.
属性读取从来不是一种方法
v.year 运行时模糊: year() 函数,或称列
year因此,读取一个属性永远不会解决一个函数。 更多信息
从它开始,它是一个路径段, 它叫它,它是一个函数。 两个角色
在一个表达式中工作:
v.year.eq(v.date.asDate().year());
// year eq year(date)
逃跑
toQueryString() 已经是 URL 安全 . 别 运行 encodeURIComponent 结束
转弯 %25 输入 %2525。 。 。 .
逃跑规则 列出什么
每个字面字符都变成.
使用 toParams() 当呼叫者有自己的序列器时(URLSearchParams, (中文(简体) ),
ky:它把原始值拿回去 这样连载器自己的编码是唯一的
一个申请.
文档
- 开始 - 安装、安装
_embedded假设,第一个查询. - 查询 每一个动词
expand命名空间、 过滤扩展和odataItem。 。 。 . - 过滤 - 操作员、功能、羊肉、日期、,
cast以及配器. - 发送查询 —— 说
toQueryString()或者说toParams()和逃跑规则. - 错误 ——建设者抛出什么来,如何抓住.
- 烹饪本 - 十二个调用形状与他们的弦.