UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

2 lines 565 B
/*! Copyright 2024 the gnablib contributors MPL-1.1 */ const t="LengthError";export class LengthError extends RangeError{constructor(t,e,n,r=""){let l,s="length";null!=n?(s=""+e,l=n):l=e,super(`Invalid ${s}; need ${r}${t}, have ${l}`),this.need=t,this.key=s,this.available=l}static atMost(t,e,n){return new this(t,e,n,"<=")}static mulOf(t,e,n){return new this(t,e,n,"multiple of ")}static oneOf(t,e,n){let r=t.slice(0,t.length-1).join(",");return r.length>0&&(r="one of "+r+","),new this(t[t.length-1],e,n,r)}get name(){return t}get[Symbol.toStringTag](){return t}}