@buka/ class- transfer-extra
@buka/class-transformer-extra 包含不包含在 class-transformer 软件包.
安装
npm install @buka/class-transformer-extra class-transformer
# OR
yarn install @buka/class-transformer-extra class-transformer
# OR
pnpm install @buka/class-transformer-extra class-transformer
使用量
字符串
| 方法 | 在变压器之前 | 变压器之后 |
|---|---|---|
@Split(",") | "a,b,c" | ["a", "b", "c"] |
@Trim() | " abc " | "abc" |
@ToString({ optional: true }) | 123 | "123" |
@ToLowerCase() | "ABC" | "abc" |
@ToUpperCase() | "abc" | "ABC" |
@Replace("-", "_") | "a-b-c" | "a_b_c" |
@Split, (中文(简体) ),@Trim, (中文(简体) ),@ToLowerCase, (中文(简体) ),@ToUpperCase财务报告和审定财务报表@Replace如果值不是字符串,则不会做任何事情. 设定时optional: true, (中文(简体) ),undefined将不会改变.
日期
| 方法 | 在变压器之前 | 变压器之后 |
|---|---|---|
@ToDate({ optional: true }) | "2024-01-01" | new Date("2024-01-01") |
@FormatDate("YYYY/MM/DD", { optional: true }) | "2024-01-01" | "2024/01/01" |
数目
| 方法 | 在变压器之前 | 变压器之后 |
|---|---|---|
@ToNumber({ optional: true }) | "123" | 123 |
@ToBigInt({ optional: true }) | "123" | 123n |
ToNumber()财务报告和审定财务报表@ToBigInt()如果数值不是数字, 将会返回 NaN
布尔
| 方法 | 在变压器之前 | 变压器之后 |
|---|---|---|
@ToBoolean() | 1 | true |
ToBoolean()有多个参数来适应不同的需要,例如:
ToBoolean(v => Boolean(v)), { optional: true })数字 : 如果值是undefined什么都别做 否则,v => Boolean(v)将用来转换值.
ToBoolean(['0', 'false', false], { optional: true })数字 :如果值是
'0'或者说'false'或者说false,转换为false,如果值为undefined,不做任何事情,否则价值将转换为true。 。 。 .
阵列
| 方法 | 在变压器之前 | 变压器之后 |
|---|---|---|
@Filter((num: number) => num > 3) | [1,2,3.4,5] | [4,5] |
@Flatten() | [1, [2, [3, 4, [5]]]] | [1,2,3,4,5] |
@Uniq() | [1,1,2,3,4,4,5] | [1,2,3,4,5] |
@UniqBy(Math.abs) | [-1, 1, 2, 3, -3] | [-1, 2, 3] |
@Filter, (中文(简体) ),@Flatten, (中文(简体) ),@Uniq财务报告和审定财务报表@UniqBy如果值不是数组,则将不采取任何行动.
贡献
如果您想要报告错误或添加新的装饰器, 请提交问题或拉请求 .
Q&A
-
为什么不能用它与
@IsOptional装饰师?最新版本为
class-validator@^0.14.1没有设置可以识别的元数据@IsOptional。 。 。 . 如果在以后的版本中添加识别资料,我也将采取后续行动。 在开发分支中添加了标识符class-validator。 。 。 .