@0y0/type 中文文档教程

发布于 4年前 浏览 30 项目主页 更新于 3年前

@0y0/type · GitHub licensenpmPackage Status Test Status

类型检查实用程序。

Installation

npm install @0y0/type --save

Usage

const t = require('@0y0/type')

const objConstraint = t.object.is({
  num: t.number.gte(0).required,
  str: t.string.match(/\d+/).required
}).required

const result = objConstraint.validate({ num: 1, str: '1' })
// result = { valid: true, errors: [] }

const result = objConstraint.validate({ num: 0, str: '1' })
// result = {
//  valid: false,
//  errors: [{ name: 'num', expected: 'gte(0)', actual: 0 }]
// }

Built-in constraints

  • bool
  • bool.required
  • bool.truthy
  • bool.falsy
  • number
  • number.required
  • number.eq(<number>)
  • number.neq(<number>)
  • number.gt(<number>)
  • number.gte(<number>)
  • number.lt(<number>)
  • number.lte(<number>)
  • decimal
  • decimal.required
  • decimal.eq(<number|string>)
  • decimal.neq(<number|string>)
  • decimal.gt(<number|string>)
  • decimal.gte(<number|string>)
  • decimal.lt(<number|string>)
  • decimal.lte(<number|string>)
  • string
  • string.required
  • string.lenEq(<number>)
  • string.empty
  • string.notEmpty
  • string.match(<regexp>)
  • time
  • time.required
  • time.eq(<number|string|Date>)
  • time.neq(<number|string|Date>)
  • time.gt(<number|string|Date>)
  • time.gte(<number|string|Date>)
  • time.lt(<number|string|Date>)
  • time.lte(<number|string|Date>)
  • array
  • array.required
  • array.lenEq(<number>)
  • array.empty
  • array.notEmpty
  • array.of(<itemConstraint>)
  • array.is([<itemConstraint>, ...])
  • object
  • object.required
  • object.eq(<object>)
  • object.match(<object>)
  • object.is({ key: <constraint>, ... })
  • object.like({ key: <constraint>, ... })
  • nil
  • eq(<any>)
  • eq(<any>).required
  • neq(<any>)
  • neq(<any>).required
  • oneOf([<any>, ...])
  • oneOf([<any>, ...]).required
  • valueOf({ key: <any>, ... })
  • valueOf({ key: <any>, ... }).required

License

麻省理工学院

@0y0/type · GitHub licensenpmPackage Status Test Status

Type checking utils.

Installation

npm install @0y0/type --save

Usage

const t = require('@0y0/type')

const objConstraint = t.object.is({
  num: t.number.gte(0).required,
  str: t.string.match(/\d+/).required
}).required

const result = objConstraint.validate({ num: 1, str: '1' })
// result = { valid: true, errors: [] }

const result = objConstraint.validate({ num: 0, str: '1' })
// result = {
//  valid: false,
//  errors: [{ name: 'num', expected: 'gte(0)', actual: 0 }]
// }

Built-in constraints

  • bool
  • bool.required
  • bool.truthy
  • bool.falsy
  • number
  • number.required
  • number.eq(<number>)
  • number.neq(<number>)
  • number.gt(<number>)
  • number.gte(<number>)
  • number.lt(<number>)
  • number.lte(<number>)
  • decimal
  • decimal.required
  • decimal.eq(<number|string>)
  • decimal.neq(<number|string>)
  • decimal.gt(<number|string>)
  • decimal.gte(<number|string>)
  • decimal.lt(<number|string>)
  • decimal.lte(<number|string>)
  • string
  • string.required
  • string.lenEq(<number>)
  • string.empty
  • string.notEmpty
  • string.match(<regexp>)
  • time
  • time.required
  • time.eq(<number|string|Date>)
  • time.neq(<number|string|Date>)
  • time.gt(<number|string|Date>)
  • time.gte(<number|string|Date>)
  • time.lt(<number|string|Date>)
  • time.lte(<number|string|Date>)
  • array
  • array.required
  • array.lenEq(<number>)
  • array.empty
  • array.notEmpty
  • array.of(<itemConstraint>)
  • array.is([<itemConstraint>, ...])
  • object
  • object.required
  • object.eq(<object>)
  • object.match(<object>)
  • object.is({ key: <constraint>, ... })
  • object.like({ key: <constraint>, ... })
  • nil
  • eq(<any>)
  • eq(<any>).required
  • neq(<any>)
  • neq(<any>).required
  • oneOf([<any>, ...])
  • oneOf([<any>, ...]).required
  • valueOf({ key: <any>, ... })
  • valueOf({ key: <any>, ... }).required

License

MIT

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文