UNPKG

decentralized-internet

Version:

An NPM library of programs to create decentralized web and distributed computing projects

1 lines 1.12 kB
"use strict";const Any=require("./any"),Hoek=require("hoek"),internals={};internals.Binary=class extends Any{constructor(){super(),this._type="binary"}_base(e,t,r){const n={value:e};if("string"==typeof e&&r.convert)try{n.value=new Buffer(e,this._flags.encoding)}catch(e){}return n.errors=Buffer.isBuffer(n.value)?null:this.createError("binary.base",null,t,r),n}encoding(e){Hoek.assert(Buffer.isEncoding(e),"Invalid encoding:",e);const t=this.clone();return t._flags.encoding=e,t}min(e){return Hoek.assert(Hoek.isInteger(e)&&e>=0,"limit must be a positive integer"),this._test("min",e,function(t,r,n){return t.length>=e?t:this.createError("binary.min",{limit:e,value:t},r,n)})}max(e){return Hoek.assert(Hoek.isInteger(e)&&e>=0,"limit must be a positive integer"),this._test("max",e,function(t,r,n){return t.length<=e?t:this.createError("binary.max",{limit:e,value:t},r,n)})}length(e){return Hoek.assert(Hoek.isInteger(e)&&e>=0,"limit must be a positive integer"),this._test("length",e,function(t,r,n){return t.length===e?t:this.createError("binary.length",{limit:e,value:t},r,n)})}},module.exports=new internals.Binary;