Skip to content

Add Joi Translator #17

@mvcds

Description

@mvcds

The first library Translator will allow who uses joi to create ubiquitous source files.

Any

  • any.allow(value)
  • any.valid(value) - aliases: only, equal
  • any.invalid(value) - aliases: disallow, not
  • any.required() - aliases: exist
  • any.optional()
  • any.forbidden()
  • any.strip()
  • any.description(desc)
  • any.notes(notes)
  • any.tags(tags)
  • any.meta(meta)
  • any.example(value)
  • any.unit(name)
  • any.options(options)
  • any.strict(isStrict)
  • any.default([value, [description]])
  • any.concat(schema)
  • any.when(condition, options)
  • any.label(name)
  • any.raw(isRaw)
  • any.empty(schema)
  • any.error(err)

Array

  • array.sparse([enabled])
  • array.single([enabled])
  • array.items(type)
  • array.ordered(type)
  • array.min(limit)
  • array.max(limit)
  • array.length(limit)
  • array.unique([comparator])

Boolean

  • boolean.truthy(value)
  • boolean.falsy(value)
  • boolean.insensitive([enabled])

Binay

  • binary.encoding(encoding)
  • binary.min(limit)
  • binary.max(limit)
  • binary.length(limit)

Date

  • date.min(date)
  • date.max(date)
  • date.iso()
  • date.timestamp([type])

Func

  • func.arity(n)
  • func.minArity(n)
  • func.maxArity(n)
  • func.class()
  • func.ref()

Number

  • number.min(limit)
  • number.max(limit)
  • number.greater(limit)
  • number.less(limit)
  • number.integer()
  • number.precision(limit)
  • number.multiple(base)
  • number.positive()
  • number.negative()

Object

  • object.keys([schema])
  • Joi.object([schema]) notation
  • Joi.object().keys([schema]) notation
  • object.min(limit)
  • object.max(limit)
  • object.length(limit)
  • object.pattern(regex, schema)
  • object.and(peers)
  • object.nand(peers)
  • object.or(peers)
  • object.xor(peers)
  • object.with(key, peers)
  • object.without(key, peers)
  • object.rename(from, to, [options])
  • object.assert(ref, schema, [message])
  • object.unknown([allow])
  • object.type(constructor, [name])
  • object.schema()
  • object.requiredKeys(children)
  • object.optionalKeys(children)
  • object.forbiddenKeys(children)

String

  • string.insensitive()
  • string.min(limit, [encoding])
  • string.max(limit, [encoding])
  • string.truncate([enabled])
  • string.creditCard()
  • string.length(limit, [encoding])
  • string.regex(pattern, [name | options])
  • string.replace(pattern, replacement)
  • string.alphanum()
  • string.token()
  • string.email([options])
  • string.ip([options])
  • string.uri([options])
  • string.guid() - aliases: uuid
  • string.hex()
  • string.base64([options])
  • string.hostname()
  • string.normalize([form])
  • string.lowercase()
  • string.uppercase()
  • string.trim()
  • string.isoDate()

Alternatives

  • alternatives.try(schemas)
  • alternatives.when(condition, options)

Lazy

  • lazy(fn) - inherits from Any

Metadata

Metadata

Assignees

Labels

releaseSomething to the next "product release"roadmapAt the moment, contributors think it will be eventually done

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions