From a4519332b87471bbd807cd43f18bc2de5ab78020 Mon Sep 17 00:00:00 2001 From: Gili Tzabari Date: Tue, 5 Nov 2024 18:28:44 +0000 Subject: [PATCH] Released version 4.0.7 --- 4.0.7/docs/api/.nojekyll | 1 + 4.0.7/docs/api/assets/highlight.css | 99 ++ 4.0.7/docs/api/assets/icons.js | 18 + 4.0.7/docs/api/assets/icons.svg | 1 + 4.0.7/docs/api/assets/main.js | 60 + 4.0.7/docs/api/assets/navigation.js | 1 + 4.0.7/docs/api/assets/search.js | 1 + 4.0.7/docs/api/assets/style.css | 1493 +++++++++++++++++ ...lidators._internal_.AbstractValidator.html | 187 +++ ...idators._internal_.AbstractValidators.html | 70 + ...lidators._internal_.IllegalStateError.html | 5 + ...s._internal_.JavascriptValidatorsImpl.html | 291 ++++ ...ascriptValidators._internal_.Terminal.html | 16 + ...alidators._internal_.ValidationTarget.html | 64 + ...scriptValidators.JavascriptValidators.html | 283 ++++ ...leFailuresError.MultipleFailuresError.html | 10 + 4.0.7/docs/api/classes/Type.Type.html | 58 + ...ValidationFailures.ValidationFailures.html | 36 + .../api/classes/index.AssertionError.html | 6 + .../docs/api/classes/index.Configuration.html | 43 + ...index._internal_.MutableStringMappers.html | 25 + .../index._internal_.StringMappers.html | 16 + .../TerminalEncoding.TerminalEncoding.html | 10 + 4.0.7/docs/api/enums/Type.TypeCategory.html | 11 + ...efaultJavascriptValidators.assertThat.html | 10 + ...tJavascriptValidators.assertThatArray.html | 11 + ...avascriptValidators.assertThatBoolean.html | 10 + ...ultJavascriptValidators.assertThatMap.html | 12 + ...JavascriptValidators.assertThatNumber.html | 10 + ...ultJavascriptValidators.assertThatSet.html | 11 + ...JavascriptValidators.assertThatString.html | 10 + .../DefaultJavascriptValidators.checkIf.html | 9 + ...aultJavascriptValidators.checkIfArray.html | 10 + ...ltJavascriptValidators.checkIfBoolean.html | 9 + ...efaultJavascriptValidators.checkIfMap.html | 11 + ...ultJavascriptValidators.checkIfNumber.html | 9 + ...efaultJavascriptValidators.checkIfSet.html | 10 + ...ultJavascriptValidators.checkIfString.html | 9 + ...efaultJavascriptValidators.getContext.html | 10 + ...ascriptValidators.globalConfiguration.html | 4 + ...ultJavascriptValidators.removeContext.html | 7 + ...faultJavascriptValidators.requireThat.html | 10 + ...JavascriptValidators.requireThatArray.html | 11 + ...vascriptValidators.requireThatBoolean.html | 9 + ...ltJavascriptValidators.requireThatMap.html | 12 + ...avascriptValidators.requireThatNumber.html | 9 + ...ltJavascriptValidators.requireThatSet.html | 11 + ...avascriptValidators.requireThatString.html | 10 + ...ascriptValidators.updateConfiguration.html | 5 + ...faultJavascriptValidators.withContext.html | 9 + ...TerminalEncoding.sortByDecreasingRank.html | 8 + ...ValidationFailure.isValidationFailure.html | 3 + 4.0.7/docs/api/hierarchy.html | 1 + 4.0.7/docs/api/index.html | 90 + ...alidators._internal_.ApplicationScope.html | 8 + ...iptValidators._internal_.ProcessScope.html | 6 + ...idators._internal_.ValidatorComponent.html | 157 ++ ...obalConfiguration.GlobalConfiguration.html | 13 + ...scriptAssertThat.JavascriptAssertThat.html | 76 + .../JavascriptCheckIf.JavascriptCheckIf.html | 84 + ...riptRequireThat.JavascriptRequireThat.html | 69 + .../ValidationFailure.ValidationFailure.html | 11 + .../api/interfaces/Validators.Validators.html | 56 + .../api/interfaces/index.ArrayValidator.html | 476 ++++++ .../interfaces/index.BooleanValidator.html | 167 ++ .../index.ConfigurationUpdater.html | 34 + .../api/interfaces/index.MapValidator.html | 186 ++ .../api/interfaces/index.NumberValidator.html | 328 ++++ .../api/interfaces/index.SetValidator.html | 463 +++++ .../api/interfaces/index.StringValidator.html | 223 +++ .../index.UnsignedNumberValidator.html | 313 ++++ .../index._internal_.CollectionComponent.html | 309 ++++ ...ex._internal_.NegativeNumberComponent.html | 16 + .../index._internal_.NumberComponent.html | 136 ++ ...ex._internal_.PositiveNumberComponent.html | 16 + .../index._internal_.ZeroNumberComponent.html | 16 + 4.0.7/docs/api/modules.html | 14 + ...efaultJavascriptValidators._internal_.html | 12 + .../modules/DefaultJavascriptValidators.html | 28 + .../docs/api/modules/GlobalConfiguration.html | 2 + .../api/modules/JavascriptAssertThat.html | 2 + 4.0.7/docs/api/modules/JavascriptCheckIf.html | 2 + .../api/modules/JavascriptRequireThat.html | 2 + .../api/modules/JavascriptValidators.html | 2 + .../api/modules/MultipleFailuresError.html | 2 + 4.0.7/docs/api/modules/TerminalEncoding.html | 3 + 4.0.7/docs/api/modules/Type.html | 3 + 4.0.7/docs/api/modules/ValidationFailure.html | 3 + .../docs/api/modules/ValidationFailures.html | 2 + 4.0.7/docs/api/modules/Validators.html | 2 + 4.0.7/docs/api/modules/index._internal_.html | 8 + 4.0.7/docs/api/modules/index.html | 49 + ...iptValidators._internal_.ErrorBuilder.html | 4 + ...tValidators._internal_.NonUndefinable.html | 1 + .../api/types/index.ClassConstructor.html | 1 + 4.0.7/docs/api/types/index.ElementOf.html | 1 + 4.0.7/docs/api/types/index.MapKey.html | 1 + 4.0.7/docs/api/types/index.MapValue.html | 1 + 4.0.7/docs/api/types/index.StringMapper.html | 5 + .../api/types/index.UnknownValidator.html | 3 + 100 files changed, 6471 insertions(+) create mode 100644 4.0.7/docs/api/.nojekyll create mode 100644 4.0.7/docs/api/assets/highlight.css create mode 100644 4.0.7/docs/api/assets/icons.js create mode 100644 4.0.7/docs/api/assets/icons.svg create mode 100644 4.0.7/docs/api/assets/main.js create mode 100644 4.0.7/docs/api/assets/navigation.js create mode 100644 4.0.7/docs/api/assets/search.js create mode 100644 4.0.7/docs/api/assets/style.css create mode 100644 4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.AbstractValidator.html create mode 100644 4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.AbstractValidators.html create mode 100644 4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.IllegalStateError.html create mode 100644 4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.JavascriptValidatorsImpl.html create mode 100644 4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.Terminal.html create mode 100644 4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.ValidationTarget.html create mode 100644 4.0.7/docs/api/classes/JavascriptValidators.JavascriptValidators.html create mode 100644 4.0.7/docs/api/classes/MultipleFailuresError.MultipleFailuresError.html create mode 100644 4.0.7/docs/api/classes/Type.Type.html create mode 100644 4.0.7/docs/api/classes/ValidationFailures.ValidationFailures.html create mode 100644 4.0.7/docs/api/classes/index.AssertionError.html create mode 100644 4.0.7/docs/api/classes/index.Configuration.html create mode 100644 4.0.7/docs/api/classes/index._internal_.MutableStringMappers.html create mode 100644 4.0.7/docs/api/classes/index._internal_.StringMappers.html create mode 100644 4.0.7/docs/api/enums/TerminalEncoding.TerminalEncoding.html create mode 100644 4.0.7/docs/api/enums/Type.TypeCategory.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThat.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatArray.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatBoolean.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatMap.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatNumber.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatSet.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatString.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIf.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfArray.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfBoolean.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfMap.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfNumber.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfSet.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfString.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.getContext.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.globalConfiguration.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.removeContext.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThat.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatArray.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatBoolean.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatMap.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatNumber.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatSet.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatString.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.updateConfiguration.html create mode 100644 4.0.7/docs/api/functions/DefaultJavascriptValidators.withContext.html create mode 100644 4.0.7/docs/api/functions/TerminalEncoding.sortByDecreasingRank.html create mode 100644 4.0.7/docs/api/functions/ValidationFailure.isValidationFailure.html create mode 100644 4.0.7/docs/api/hierarchy.html create mode 100644 4.0.7/docs/api/index.html create mode 100644 4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ApplicationScope.html create mode 100644 4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ProcessScope.html create mode 100644 4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ValidatorComponent.html create mode 100644 4.0.7/docs/api/interfaces/GlobalConfiguration.GlobalConfiguration.html create mode 100644 4.0.7/docs/api/interfaces/JavascriptAssertThat.JavascriptAssertThat.html create mode 100644 4.0.7/docs/api/interfaces/JavascriptCheckIf.JavascriptCheckIf.html create mode 100644 4.0.7/docs/api/interfaces/JavascriptRequireThat.JavascriptRequireThat.html create mode 100644 4.0.7/docs/api/interfaces/ValidationFailure.ValidationFailure.html create mode 100644 4.0.7/docs/api/interfaces/Validators.Validators.html create mode 100644 4.0.7/docs/api/interfaces/index.ArrayValidator.html create mode 100644 4.0.7/docs/api/interfaces/index.BooleanValidator.html create mode 100644 4.0.7/docs/api/interfaces/index.ConfigurationUpdater.html create mode 100644 4.0.7/docs/api/interfaces/index.MapValidator.html create mode 100644 4.0.7/docs/api/interfaces/index.NumberValidator.html create mode 100644 4.0.7/docs/api/interfaces/index.SetValidator.html create mode 100644 4.0.7/docs/api/interfaces/index.StringValidator.html create mode 100644 4.0.7/docs/api/interfaces/index.UnsignedNumberValidator.html create mode 100644 4.0.7/docs/api/interfaces/index._internal_.CollectionComponent.html create mode 100644 4.0.7/docs/api/interfaces/index._internal_.NegativeNumberComponent.html create mode 100644 4.0.7/docs/api/interfaces/index._internal_.NumberComponent.html create mode 100644 4.0.7/docs/api/interfaces/index._internal_.PositiveNumberComponent.html create mode 100644 4.0.7/docs/api/interfaces/index._internal_.ZeroNumberComponent.html create mode 100644 4.0.7/docs/api/modules.html create mode 100644 4.0.7/docs/api/modules/DefaultJavascriptValidators._internal_.html create mode 100644 4.0.7/docs/api/modules/DefaultJavascriptValidators.html create mode 100644 4.0.7/docs/api/modules/GlobalConfiguration.html create mode 100644 4.0.7/docs/api/modules/JavascriptAssertThat.html create mode 100644 4.0.7/docs/api/modules/JavascriptCheckIf.html create mode 100644 4.0.7/docs/api/modules/JavascriptRequireThat.html create mode 100644 4.0.7/docs/api/modules/JavascriptValidators.html create mode 100644 4.0.7/docs/api/modules/MultipleFailuresError.html create mode 100644 4.0.7/docs/api/modules/TerminalEncoding.html create mode 100644 4.0.7/docs/api/modules/Type.html create mode 100644 4.0.7/docs/api/modules/ValidationFailure.html create mode 100644 4.0.7/docs/api/modules/ValidationFailures.html create mode 100644 4.0.7/docs/api/modules/Validators.html create mode 100644 4.0.7/docs/api/modules/index._internal_.html create mode 100644 4.0.7/docs/api/modules/index.html create mode 100644 4.0.7/docs/api/types/DefaultJavascriptValidators._internal_.ErrorBuilder.html create mode 100644 4.0.7/docs/api/types/DefaultJavascriptValidators._internal_.NonUndefinable.html create mode 100644 4.0.7/docs/api/types/index.ClassConstructor.html create mode 100644 4.0.7/docs/api/types/index.ElementOf.html create mode 100644 4.0.7/docs/api/types/index.MapKey.html create mode 100644 4.0.7/docs/api/types/index.MapValue.html create mode 100644 4.0.7/docs/api/types/index.StringMapper.html create mode 100644 4.0.7/docs/api/types/index.UnknownValidator.html diff --git a/4.0.7/docs/api/.nojekyll b/4.0.7/docs/api/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/4.0.7/docs/api/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/4.0.7/docs/api/assets/highlight.css b/4.0.7/docs/api/assets/highlight.css new file mode 100644 index 0000000..d7e46e6 --- /dev/null +++ b/4.0.7/docs/api/assets/highlight.css @@ -0,0 +1,99 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-hl-4: #AF00DB; + --dark-hl-4: #C586C0; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #267F99; + --dark-hl-6: #4EC9B0; + --light-hl-7: #098658; + --dark-hl-7: #B5CEA8; + --light-hl-8: #0070C1; + --dark-hl-8: #4FC1FF; + --light-hl-9: #000000; + --dark-hl-9: #C8C8C8; + --light-hl-10: #EE0000; + --dark-hl-10: #D7BA7D; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +pre, code { background: var(--code-background); } diff --git a/4.0.7/docs/api/assets/icons.js b/4.0.7/docs/api/assets/icons.js new file mode 100644 index 0000000..3dfbd32 --- /dev/null +++ b/4.0.7/docs/api/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/4.0.7/docs/api/assets/icons.svg b/4.0.7/docs/api/assets/icons.svg new file mode 100644 index 0000000..a19417d --- /dev/null +++ b/4.0.7/docs/api/assets/icons.svg @@ -0,0 +1 @@ +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/4.0.7/docs/api/assets/main.js b/4.0.7/docs/api/assets/main.js new file mode 100644 index 0000000..99097a0 --- /dev/null +++ b/4.0.7/docs/api/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; +"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/4.0.7/docs/api/assets/navigation.js b/4.0.7/docs/api/assets/navigation.js new file mode 100644 index 0000000..63e9305 --- /dev/null +++ b/4.0.7/docs/api/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA62abW/bNhDHv4v2NtjaLMnWYBiQuNmQDc6KJumLFUXByLRNhCY1ikobFPvugyU74sPxeKL3Msn/fn+ddDw+5eO3yvKvtjqv3vIl66T9gz2xtjaisR+YFAtmtWmro6phdl2dVxu96CRvf0DE36/tRlZH1aNQi+r8+Kiq10IuDFfV+ccXs1+EstwoJn+dxv68j/tMsrl4aK1h9UgY3WrJ2pbuFpF8/9fHP/97lLZt/z/fFjO+lpKvmLy1zPIrYw7INyJhthDsetPIYvcUEHuIO242QrFy0z0AM9lFCq3umFlxW2wWgtByahop6l58W+uGj6Y9b8nqCfUUsIJhdHrm+L4zuuZte7Cny8H8XqJnetNoxZU9xDWmYd59jV92Qi64M2jsc0M3dBGB1as3P70+PXbsbrS6Vwu+FIo9SF5o6ENgy0+O6bZAjb1bM+e9LjtVb4sBNx0jfZezExB/YQx7Lvfow0lGl1pLzlS51Q5AMpuzptxozhqSyU23eXArcKrPEE+yuuUH1MFt2LJSJtYItTrAp49HrOo1rx+vl1MddmF5cFEtu7F5i8Iq9qPzNgX1O0bm8WWV6wXnTQpqdowk4Iuq1QtGTFbczrTqf5joMEZieKkfmJxptRSrzvRT/GSfGIEYGr7RT7wwJS8YNfmnE4aXzFpOKM2gaKyH8TSrwjEfE2h2BWPfj6bZlPWACEAzK+gFfjTRpqgnRADErGsWzPKDBi6AQAy/CLsuHLZOaGTgrjV/x5rRfqcPiEjbehTu7BQgft7z9MzLRKgF/xo/e/9r0tNCy+6Y8p0nG4Anr9+c/PiKtMZGgXttnhq1JZQ7qvNkrwOh1EGZJ4bNBoW+iPNcr6+g0EFJIAYtBIfuxSlutOIFcKMmQ8mXUSDM8CgFFEkzzFzpeLIMi1A0oTJDzJWLJ8ux8oUSKlNEaLEJ4DxZikVq5g4U1qfotBNnB58ISPETy1QAHCrTRGBNCvJcHYGWH42AmMCljEpQTmDnRmckJTAJoxRSE8i50RpJKcz8qIXUKfL+HPpK1XqRAwPiJPfZPcaFWIMAi58xy1fa4DUaCFM8dNkLYGF9ik7sJaQOAq6XAZivS9Gwu68BNvGWa97Z7QHwUFhz1jQcunCK0FAYdg0xlU8Gz7SUvN974Af/kQMQiJ3x3/AVs+KJD/1iolciGPUr8qHz3+lWFOeTCMb8/uZGF3kBgfie66JfDQutEpeYg4OvwisMbDI+DtkTBvdx24kXuFKOXoEvxF7tbsalQEMphvVSuu/7J4aG5Bh+zhrKE7uy/HihEAMlBr3l0O1/RHRlKK5vaiSir8Sg96oVK8UX9BeQiEBrYVvsM61aa7raow+XjrsSCFS5i8wryTdc2b+WMO7lzznOnDV/8mcYMvyNQPjAZBddpro12CVuSeFJDia5ihztXj0q/QUa1i4xVOVvcscd0AVyuASpSAsKHO8UI+hAsA3a/RgxS51tRJKJiURgMIs9O+eWfP732M4QlE3MAzQAc3E9KM7JnLCVdPE/gOH4/cQM4vOe2+nazWXeSSsayX9jQnaGt8GqYp8MKCOuwFGDfTqwAcE2TCi/RQwVpDTSWK66DQDFXdw1U6uNvXx+y2vDWSvU6j1Tj9DdQ0SEAtGbB3ibu/0t7R2Au9xd/luIK0jn6z/FvgBeAPjnHf85bFcTcT6RhJQcAnZ6SMzOuXkLDdEiNuOXjplAIPqlIzXQoGJN2YsCmhOAzrklPjTYWic2VAgVf9MtLQnuZ4BP/wEBBSuYEiwAAA==" \ No newline at end of file diff --git a/4.0.7/docs/api/assets/search.js b/4.0.7/docs/api/assets/search.js new file mode 100644 index 0000000..b792707 --- /dev/null +++ b/4.0.7/docs/api/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/4.0.7/docs/api/assets/style.css b/4.0.7/docs/api/assets/style.css new file mode 100644 index 0000000..178bfb0 --- /dev/null +++ b/4.0.7/docs/api/assets/style.css @@ -0,0 +1,1493 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + + --light-color-icon-background: var(--light-color-background); + --light-color-icon-text: var(--light-color-text); + + --light-color-comment-tag-text: var(--light-color-text); + --light-color-comment-tag: var(--light-color-background); + + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: #4d7fff; + --light-color-ts-property: #ff984d; + --light-color-ts-method: #ff4db8; + --light-color-ts-reference: #ff4d82; + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: #ff4d4d; + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-icon-text: var(--dark-color-text); + + --dark-color-comment-tag-text: var(--dark-color-text); + --dark-color-comment-tag: var(--dark-color-background); + + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: #4d7fff; + --dark-color-ts-property: #ff984d; + --dark-color-ts-method: #ff4db8; + --dark-color-ts-reference: #ff4d82; + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: #ff4d4d; + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + + --color-icon-background: var(--light-color-icon-background); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + + --color-icon-background: var(--dark-color-icon-background); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +*:focus-visible, +.tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +footer > p { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} +a.tsd-anchor-link { + color: var(--color-text); +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; +} + +.tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; +} + +.tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-navigation .tsd-nav-link { + display: none; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation-section { + margin-left: 10px; +} +.tsd-page-navigation-section > summary { + padding: 0.25rem; +} +.tsd-page-navigation-section > div { + margin-left: 20px; +} +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; + vertical-align: text-top; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} +.tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; +} +.tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-reference { + color: var(--color-ts-reference); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + #tsd-toolbar-links { + display: none; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.AbstractValidator.html b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.AbstractValidator.html new file mode 100644 index 0000000..d91b678 --- /dev/null +++ b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.AbstractValidator.html @@ -0,0 +1,187 @@ +AbstractValidator | @cowwoc/requirements - v4.0.7

Validates the state of a value, recording failures without throwing an error.

+

Type Parameters

  • T

    the type of the value

    +

Implements

Constructors

  • Type Parameters

    • T

    Parameters

    • scope: ApplicationScope

      the application configuration

      +
    • configuration: Configuration

      the validator configuration

      +
    • name: string

      the name of the value

      +
    • value: ValidationTarget<T>

      the value being validated

      +
    • context: Map<string, unknown>

      the contextual information set by a parent validator or the user

      +
    • failures: ValidationFailure[]

      the list of validation failures

      +

    Returns AbstractValidator<T>

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace, or is empty

    +

    AssertionError if scope, configuration, value, context or failures are null

    +

Properties

_configuration: Configuration

The validator configuration.

+
context: Map<string, unknown>

The contextual information of this validator.

+
failures: ValidationFailure[]

The list of validation failures.

+
name: string

The name of the value.

+

The application configuration.

+

The value being validated.

+

Methods

  • Adds a validation failure and throws an error if the validator is configured to throw an error on +failure.

    +

    Parameters

    • message: string

      a message that explains what went wrong

      +
    • errorBuilder: ErrorBuilder

      creates the error associated with this failure

      +

    Returns void

  • Adds a RangeError validation failure and throws an error if the validator is configured +to throw an error on failure.

    +

    Parameters

    • message: string

      a message that explains what went wrong

      +

    Returns void

  • Adds a TypeError validation failure and throws an error if the validator is +configured to throw an error on failure.

    +

    Parameters

    • message: string

      a message that explains what went wrong

      +

    Returns void

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Parameters

    • namePrefix: string

      the string to prepend to the name if the name is null

      +
    • name: null | string

      the name of the value

      +
    • valuePrefix: string

      the string to prepend to the value if the name is null

      +
    • value: unknown

      a value

      +

    Returns string

    the prefixed name if it is defined; otherwise, the prefixed string representation of the value

    +
  • Ensures that a name does not conflict with other variable names already in use by the validator.

    +

    Parameters

    • name: string

      the name of the parameter

      +
    • checkContext: boolean = true

      false to allow the name to be used even if it conflicts with an +existing name in the validator context

      +

    Returns JavascriptValidatorsImpl

    the internal validator of the name

    +

    RangeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator context
    • +

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.AbstractValidators.html b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.AbstractValidators.html new file mode 100644 index 0000000..25d5382 --- /dev/null +++ b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.AbstractValidators.html @@ -0,0 +1,70 @@ +AbstractValidators | @cowwoc/requirements - v4.0.7

Type Parameters

  • S

    the type of the validator factory

    +

Hierarchy (view full)

Implements

Constructors

Properties

context: Map<string, unknown> = ...

Methods

  • Returns a new factory instance with an independent configuration. This method is commonly used to inherit +and update contextual information from the original factory before passing it into a nested operation. +For example,

    +
    JavascriptValidators copy = validators.copy();
    copy.getContext().put(json.toString(), "json");
    nestedOperation(copy); +
    + +

    Returns S

    a copy of this factory

    +
  • Returns the contextual information inherited by validators created out by this factory. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +
  • Removes the contextual information of validators created by this factory.

    +

    Parameters

    • name: string

      the parameter name

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +

    +
  • Sets the contextual information for validators created by this factory.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method may be overridden by +ValidatorComponent.withContext.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +

    +
diff --git a/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.IllegalStateError.html b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.IllegalStateError.html new file mode 100644 index 0000000..c85b003 --- /dev/null +++ b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.IllegalStateError.html @@ -0,0 +1,5 @@ +IllegalStateError | @cowwoc/requirements - v4.0.7

Thrown when a method is invoked at an illegal or inappropriate time.

+

Hierarchy

Constructors

Constructors

diff --git a/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.JavascriptValidatorsImpl.html b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.JavascriptValidatorsImpl.html new file mode 100644 index 0000000..6f0b484 --- /dev/null +++ b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.JavascriptValidatorsImpl.html @@ -0,0 +1,291 @@ +JavascriptValidatorsImpl | @cowwoc/requirements - v4.0.7

The default implementation of JavascriptValidators.

+

Hierarchy (view full)

Implements

Constructors

Properties

context: Map<string, unknown> = ...
INTERNAL: JavascriptValidatorsImpl = ...

A validator factory that creates validators to check the arguments of validation methods.

+

Methods

  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator captures exceptions on validation failure rather than throwing them immediately. +The exceptions are converted into an AssertionError and can be retrieved or thrown once the +validation completes. Exceptions unrelated to validation failures are thrown immediately.

    Type Parameters

    • T

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns UnknownValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
  • Validates the state of an array.

    +

    +The returned validator captures exceptions on validation failure rather than throwing them immediately. +The exceptions are converted into an AssertionError and can be retrieved or thrown once the +validation completes. Exceptions unrelated to validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | E[]

      the type the value

      +
    • E

      the type elements in the array

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
  • Validates the state of a boolean.

    +

    +The returned validator captures exceptions on validation failure rather than throwing them immediately. +The exceptions are converted into an AssertionError and can be retrieved or thrown once the +validation completes. Exceptions unrelated to validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | boolean

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns BooleanValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
  • Validates the state of a map.

    +

    +The returned validator captures exceptions on validation failure rather than throwing them immediately. +The exceptions are converted into an AssertionError and can be retrieved or thrown once the +validation completes. Exceptions unrelated to validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
  • Validates the state of a number.

    +

    +The returned validator captures exceptions on validation failure rather than throwing them immediately. +The exceptions are converted into an AssertionError and can be retrieved or thrown once the +validation completes. Exceptions unrelated to validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | number

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns NumberValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
  • Validates the state of a set.

    +

    +The returned validator captures exceptions on validation failure rather than throwing them immediately. +The exceptions are converted into an AssertionError and can be retrieved or thrown once the +validation completes. Exceptions unrelated to validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type the value

      +
    • E

      the type elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns SetValidator<T, E>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
  • Validates the state of a string.

    +

    +The returned validator captures exceptions on validation failure rather than throwing them immediately. +The exceptions are converted into an AssertionError and can be retrieved or thrown once the +validation completes. Exceptions unrelated to validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | string

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns StringValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
  • Validates the state of a map.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
  • Returns the contextual information inherited by validators created out by this factory. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +
diff --git a/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.Terminal.html b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.Terminal.html new file mode 100644 index 0000000..9c5120d --- /dev/null +++ b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.Terminal.html @@ -0,0 +1,16 @@ +Terminal | @cowwoc/requirements - v4.0.7

The terminal associated with the process.

+

Constructors

Methods

  • Indicates the type of encoding that the terminal should use.

    +

    +This feature can be used to force the use of colors even when their support is not detected.

    Parameters

    Returns void

    TypeError if encoding is not a TerminalEncoding

    +

    Terminal.useBestEncoding

    +
  • Indicates that verifiers should output the best encoding supported by the terminal.

    +

    Returns void

    Terminal.setEncoding

    +
diff --git a/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.ValidationTarget.html b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.ValidationTarget.html new file mode 100644 index 0000000..31df9aa --- /dev/null +++ b/4.0.7/docs/api/classes/DefaultJavascriptValidators._internal_.ValidationTarget.html @@ -0,0 +1,64 @@ +ValidationTarget | @cowwoc/requirements - v4.0.7

Represents a value that is being validated.

+

This class is not intended to replace undefined or null references but to record additional +information alongside them.

+

Instead of throwing an error when an undefined or null value is accessed, the system +marks it as invalid and continues to record validation failures.

+

Type Parameters

  • T

    the type of the value

    +

Constructors

Methods

  • Consumes the value if it is valid. If the value is invalid, no action is taken.

    +

    Parameters

    • consumer: ((value: T) => void)

      consumes the value if it is valid

      +
        • (value): void
        • Parameters

          • value: T

          Returns void

    Returns void

  • Applies a function to the value if it is valid. If the value is invalid, no action is taken.

    +

    Type Parameters

    • U

      the type of value returned by the mapper

      +

    Parameters

    • mapper: ((value: T) => U)

      the function to apply to the value if it is valid

      +
        • (value): U
        • Parameters

          • value: T

          Returns U

    Returns ValidationTarget<U>

    this if the value is invalid; otherwise, a MaybeInvalid instance wrapping the +result of applying the mapper to the value

    +
  • Returns the valid value, or a default value if invalid. A value of null does not hold any +special significance. It does not imply that the value is invalid.

    +

    Parameters

    • defaultValue: T

      a value

      +

    Returns T

    the valid value, or defaultValue if the value is invalid

    +
  • Parameters

    • defaultValue: null | T

    Returns null | T

  • Returns the valid value, or a default value if invalid. A value of null does not hold any +special significance. It does not imply that the value is invalid.

    +

    Parameters

    • defaultValue: (() => T)

      a supplier that returns the default value

      +
        • (): T
        • Returns T

    Returns T

    the valid value, or defaultValue if the value is invalid

    +
  • Returns the value or throws an error if invalid.

    +

    Parameters

    • errorSupplier: (() => Error)

      returns the error to throw if the value is invalid

      +

    Returns T

    the value

    +

    U if the value is invalid

    +
diff --git a/4.0.7/docs/api/classes/JavascriptValidators.JavascriptValidators.html b/4.0.7/docs/api/classes/JavascriptValidators.JavascriptValidators.html new file mode 100644 index 0000000..800b394 --- /dev/null +++ b/4.0.7/docs/api/classes/JavascriptValidators.JavascriptValidators.html @@ -0,0 +1,283 @@ +JavascriptValidators | @cowwoc/requirements - v4.0.7

Creates validators for the Javascript API with an independent configuration.

+

+A factory that creates different types of validators. +

+There are three kinds of validators: +

    +
  • `requireThat` for method preconditions.
  • +
  • `assertThat` for class invariants, and method postconditions.
  • +
  • `checkIf` for returning multiple validation failures.
  • +

Implements

Implemented by

Constructors

Methods

  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns UnknownValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of an array.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | E[]

      the type of the value

      +
    • E

      the type of elements in the collection

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a boolean.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | boolean

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns BooleanValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Map.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type of the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a number.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | number

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns NumberValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Set.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type of the value

      +
    • E

      the type of elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns SetValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a string.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | string

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns StringValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns UnknownValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of an array.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | E[]

      the type of the value

      +
    • E

      the type of elements in the collection

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a boolean.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | boolean

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns BooleanValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Map.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type of the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a number.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | number

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns NumberValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Set.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type of the value

      +
    • E

      the type of elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns SetValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a string.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | string

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns StringValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Returns a new factory instance with an independent configuration. This method is commonly used to inherit +and update contextual information from the original factory before passing it into a nested operation. +For example,

    +
    JavascriptValidators copy = validators.copy();
    copy.getContext().put(json.toString(), "json");
    nestedOperation(copy); +
    + +

    Returns JavascriptValidators

    a copy of this factory

    +
  • Returns the contextual information inherited by validators created out by this factory. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +
  • Removes the contextual information of validators created by this factory.

    +

    Parameters

    • name: string

      the parameter name

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +

    +
  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns UnknownValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of an array.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | E[]

      the type of the value

      +
    • E

      the type of elements in the collection

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a boolean.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | boolean

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns BooleanValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Map.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type of the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a number.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | number

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns NumberValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Set.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type of the value

      +
    • E

      the type of elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns SetValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a string.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | string

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns StringValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Sets the contextual information for validators created by this factory.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method may be overridden by +ValidatorComponent.withContext.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +

    +
diff --git a/4.0.7/docs/api/classes/MultipleFailuresError.MultipleFailuresError.html b/4.0.7/docs/api/classes/MultipleFailuresError.MultipleFailuresError.html new file mode 100644 index 0000000..7501c55 --- /dev/null +++ b/4.0.7/docs/api/classes/MultipleFailuresError.MultipleFailuresError.html @@ -0,0 +1,10 @@ +MultipleFailuresError | @cowwoc/requirements - v4.0.7

Thrown if multiple validations have failed.

+

Hierarchy

  • Error
    • MultipleFailuresError

Constructors

Methods

Constructors

Methods

diff --git a/4.0.7/docs/api/classes/Type.Type.html b/4.0.7/docs/api/classes/Type.Type.html new file mode 100644 index 0000000..8eb1360 --- /dev/null +++ b/4.0.7/docs/api/classes/Type.Type.html @@ -0,0 +1,58 @@ +Type | @cowwoc/requirements - v4.0.7

Describes the type of a value.

+

Properties

category: TypeCategory
name: null | string
typeGuard?: ((value: unknown) => boolean)
ANONYMOUS_FUNCTION: Type = ...

An anonymous or arrow function.

+
ARRAY: Type = ...
BIGINT: Type = ...
BOOLEAN: Type = ...
NULL: Type = ...
NUMBER: Type = ...
STRING: Type = ...
SYMBOL: Type = ...
UNDEFINED: Type = ...

Methods

  • Indicates if this type is equal to another type.

    +

    Parameters

    • other: Type

      another type

      +

    Returns boolean

    true if this type matches other

    +
  • Returns the type of this type.

    +

    Returns Type

    the type of this type

    +
  • Returns boolean

    true if the type is an undefined, null, boolean, number, bigint, string or +symbol value

    +
  • Indicates whether this type is a subtype of another type. Note that types are considered subtypes of +themselves.

    +

    Parameters

    • parent: Type

      the parent type

      +

    Returns boolean

      +
    • `true` if `child` extends `parent`
    • +
    • `false` if `parent` or `child` are `undefined`, `null` or an object
    • +
    • `false` if `child` does not extend `parent`
    • +
  • Returns string

    the string representation of this object

    +
  • Returns the type of an undefined, null, boolean, number, bigint, string or symbol +value.

    +

    Parameters

    • value: unknown

      a value

      +

    Returns null | Type

    null if the value is not a primitive value

    +
  • Returns the type of a named class.

    +

    Parameters

    • name: null | string

      the name of the class, or null to represent any class.

      +
    • OptionaltypeGuard: ((value: unknown) => boolean)

      (optional) for certain types, such as Typescript interfaces, runtime validation is +not possible. In such a case, use a type guard to check if the value satisfies the type condition.

      +
        • (value): boolean
        • Parameters

          • value: unknown

          Returns boolean

    Returns Type

    the type

    +
  • Returns the type of a named function.

    +

    Parameters

    • name: null | string

      (optional) the name of the function. name represents any named function.

      +

    Returns Type

    the type

    +
diff --git a/4.0.7/docs/api/classes/ValidationFailures.ValidationFailures.html b/4.0.7/docs/api/classes/ValidationFailures.ValidationFailures.html new file mode 100644 index 0000000..20945bb --- /dev/null +++ b/4.0.7/docs/api/classes/ValidationFailures.ValidationFailures.html @@ -0,0 +1,36 @@ +ValidationFailures | @cowwoc/requirements - v4.0.7

A collection of validation failures.

+

Constructors

Properties

EMPTY: ValidationFailures = ...

A collection that does not contain any failures.

+

Methods

  • Returns the error for the validation failures, if any.

    +
      +
    1. Returns `null` if no validation has failed.
    2. +
    3. Returns `MultipleFailuresError` if there were multiple failures.
    4. +
    5. Returns `Throwable` if there was one failure.
    6. +

    Returns null | Error

    the error or null if no validation has failed

    +
  • Returns the validation failure messages.

    +

    Returns string[]

    an empty list if the validation was successful

    +
  • Checks if any validation has failed.

    +

    Returns boolean

    false if at least one validation has failed

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition was violated

    +

    AssertionError if a class invariant or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains a list of the +failures

    +
diff --git a/4.0.7/docs/api/classes/index.AssertionError.html b/4.0.7/docs/api/classes/index.AssertionError.html new file mode 100644 index 0000000..fb9403e --- /dev/null +++ b/4.0.7/docs/api/classes/index.AssertionError.html @@ -0,0 +1,6 @@ +AssertionError | @cowwoc/requirements - v4.0.7

Thrown when assertion has failed or a condition thought to be impossible has occurred.

+

Hierarchy

Constructors

Constructors

  • Creates a new error.

    +

    Parameters

    • Optionalmessage: string

      an explanation of what went wrong

      +
    • Optionaloptions: {
          cause: unknown;
      }

      configuration options

      +
      • cause: unknown

    Returns AssertionError

diff --git a/4.0.7/docs/api/classes/index.Configuration.html b/4.0.7/docs/api/classes/index.Configuration.html new file mode 100644 index 0000000..72321c2 --- /dev/null +++ b/4.0.7/docs/api/classes/index.Configuration.html @@ -0,0 +1,43 @@ +Configuration | @cowwoc/requirements - v4.0.7

Determines the behavior of a validator.

+

Constructors

  • Creates a new configuration that:

    +
      +
    • Has an empty context.
    • +
    • Throws an error on failure.
    • +
    • Records the error stack trace when a validation failure occurs.
    • +
    • May include a diff that compares the actual and expected values.
    • +

    Parameters

    • allowDiff: boolean = true

      true if error messages may include a diff that compares actual and expected values

      +
    • stringMappers: StringMappers = StringMappers.DEFAULT

      the configuration used to map contextual values to a string

      +
    • recordStacktrace: boolean = true

      true if the error stack trace must be recorded when a validation failure +occurs. If false, the error type remains the same, but the stack trace points to the invocation +of elseGetError(). Users who only plan to +list of failure messages instead of retrieving an error +may see a performance improvement if this value is set to false.

      +
    • throwOnFailure: boolean = true

      true if an error is thrown on validation failure

      +
    • errorTransformer: ((error: Error) => Error) = ...

      a function that transforms the validation error before it is thrown or +returned

      +

    Returns Configuration

    TypeError if any of the arguments are undefined or null

    +

Properties

DEFAULT: Configuration = ...

The default configuration.

+

Methods

  • Returns true if error messages may include a diff that compares actual and expected values.

    +

    Returns boolean

    true by default

    +
  • Returns true if the error stack trace must be recorded when a validation failure occurs. If false, +the error type remains the same, but the stack trace points to the invocation of +elseGetError(). Users who only plan to +list of failure messages instead of retrieving an error +may see a performance improvement if this value is set to false.

    +

    Returns boolean

    true if error stack traces must be recorded when a validation failure occurs

    +
  • Returns the configuration used to map contextual values to a String. Supports common types such as +arrays, numbers, collections, maps, paths and errors.

    +

    Returns StringMappers

    a function that takes an object and returns the string representation of the object

    +
  • Returns true if an error is thrown on validation failure.

    +

    Returns boolean

    true if an error is thrown on validation failure

    +
diff --git a/4.0.7/docs/api/classes/index._internal_.MutableStringMappers.html b/4.0.7/docs/api/classes/index._internal_.MutableStringMappers.html new file mode 100644 index 0000000..1153813 --- /dev/null +++ b/4.0.7/docs/api/classes/index._internal_.MutableStringMappers.html @@ -0,0 +1,25 @@ +MutableStringMappers | @cowwoc/requirements - v4.0.7

Returns the String representation of

+

Constructors

Methods

Constructors

Methods

diff --git a/4.0.7/docs/api/classes/index._internal_.StringMappers.html b/4.0.7/docs/api/classes/index._internal_.StringMappers.html new file mode 100644 index 0000000..51b4b73 --- /dev/null +++ b/4.0.7/docs/api/classes/index._internal_.StringMappers.html @@ -0,0 +1,16 @@ +StringMappers | @cowwoc/requirements - v4.0.7

Returns the String representation of an object.

+

Constructors

Properties

Methods

Constructors

  • Creates a new instance. If typeToMapper is undefined the new instance uses the +default mappings. Otherwise, it contains a copy of the typeToMapper mappings.

    +

    Parameters

    • OptionaltypeToMapper: Map<Type, StringMapper>

      a mapping from the name of a type to the string representation of its values

      +

    Returns StringMappers

    TypeError if typeToMapper is undefined or null

    +

Properties

typeToMapper: Map<Type, StringMapper>
DEFAULT: StringMappers = ...

The default mapper configuration.

+

Methods

  • Returns the string representation of the mappers.

    +

    Returns string

    the string representation of the mappers

    +
  • Returns the string representation of a value using the mappers.

    +

    Parameters

    • value: unknown

      a value

      +

    Returns string

    the string representation of the value

    +
diff --git a/4.0.7/docs/api/enums/TerminalEncoding.TerminalEncoding.html b/4.0.7/docs/api/enums/TerminalEncoding.TerminalEncoding.html new file mode 100644 index 0000000..4793b66 --- /dev/null +++ b/4.0.7/docs/api/enums/TerminalEncoding.TerminalEncoding.html @@ -0,0 +1,10 @@ +TerminalEncoding | @cowwoc/requirements - v4.0.7

The encodings supported by the terminal.

+

Enumeration Members

NODE_16_COLORS

Node terminal supports a 16-color palette.

+
NODE_16MILLION_COLORS

Node terminal supports a 24-bit color palette.

+
NODE_256_COLORS

Node terminal supports a 256-color palette.

+
NONE

A terminal that does not support any colors.

+
diff --git a/4.0.7/docs/api/enums/Type.TypeCategory.html b/4.0.7/docs/api/enums/Type.TypeCategory.html new file mode 100644 index 0000000..4309f4b --- /dev/null +++ b/4.0.7/docs/api/enums/Type.TypeCategory.html @@ -0,0 +1,11 @@ +TypeCategory | @cowwoc/requirements - v4.0.7

Enumeration TypeCategory

Enumeration Members

ARRAY
BIGINT
BOOLEAN
CLASS
FUNCTION
NULL
NUMBER
STRING
SYMBOL
UNDEFINED
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThat.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThat.html new file mode 100644 index 0000000..aedac76 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThat.html @@ -0,0 +1,10 @@ +assertThat | @cowwoc/requirements - v4.0.7
  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns UnknownValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatArray.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatArray.html new file mode 100644 index 0000000..8423b2f --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatArray.html @@ -0,0 +1,11 @@ +assertThatArray | @cowwoc/requirements - v4.0.7
  • Validates the state of an array.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | E[]

      the type the value

      +
    • E

      the type elements in the array

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatBoolean.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatBoolean.html new file mode 100644 index 0000000..013bf0a --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatBoolean.html @@ -0,0 +1,10 @@ +assertThatBoolean | @cowwoc/requirements - v4.0.7
  • Validates the state of a boolean.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | boolean

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns BooleanValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatMap.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatMap.html new file mode 100644 index 0000000..5dea432 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatMap.html @@ -0,0 +1,12 @@ +assertThatMap | @cowwoc/requirements - v4.0.7
  • Validates the state of a map.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatNumber.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatNumber.html new file mode 100644 index 0000000..d7d49b3 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatNumber.html @@ -0,0 +1,10 @@ +assertThatNumber | @cowwoc/requirements - v4.0.7
  • Validates the state of a number.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | number

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns NumberValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatSet.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatSet.html new file mode 100644 index 0000000..fcec284 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatSet.html @@ -0,0 +1,11 @@ +assertThatSet | @cowwoc/requirements - v4.0.7
  • Validates the state of a set.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type the value

      +
    • E

      the type elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns SetValidator<T, E>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatString.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatString.html new file mode 100644 index 0000000..61e44e7 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.assertThatString.html @@ -0,0 +1,10 @@ +assertThatString | @cowwoc/requirements - v4.0.7
  • Validates the state of a string.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | string

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns StringValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIf.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIf.html new file mode 100644 index 0000000..94b4ab6 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIf.html @@ -0,0 +1,9 @@ +checkIf | @cowwoc/requirements - v4.0.7
  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns UnknownValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfArray.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfArray.html new file mode 100644 index 0000000..6653ae8 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfArray.html @@ -0,0 +1,10 @@ +checkIfArray | @cowwoc/requirements - v4.0.7
  • Validates the state of an array.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | E[]

      the type the value

      +
    • E

      the type elements in the array

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfBoolean.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfBoolean.html new file mode 100644 index 0000000..b626027 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfBoolean.html @@ -0,0 +1,9 @@ +checkIfBoolean | @cowwoc/requirements - v4.0.7
  • Validates the state of a boolean.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | boolean

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns BooleanValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfMap.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfMap.html new file mode 100644 index 0000000..13277a2 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfMap.html @@ -0,0 +1,11 @@ +checkIfMap | @cowwoc/requirements - v4.0.7
  • Validates the state of a map.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends Map<K, V>

      the type the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfNumber.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfNumber.html new file mode 100644 index 0000000..10b13da --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfNumber.html @@ -0,0 +1,9 @@ +checkIfNumber | @cowwoc/requirements - v4.0.7
  • Validates the state of a number.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | number

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns NumberValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfSet.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfSet.html new file mode 100644 index 0000000..31b3e9b --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfSet.html @@ -0,0 +1,10 @@ +checkIfSet | @cowwoc/requirements - v4.0.7
  • Validates the state of a set.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type the value

      +
    • E

      the type elements in the array or set

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns SetValidator<T, E>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfString.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfString.html new file mode 100644 index 0000000..2b9b169 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.checkIfString.html @@ -0,0 +1,9 @@ +checkIfString | @cowwoc/requirements - v4.0.7
  • Validates the state of a string.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | string

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns StringValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.getContext.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.getContext.html new file mode 100644 index 0000000..48d3abb --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.getContext.html @@ -0,0 +1,10 @@ +getContext | @cowwoc/requirements - v4.0.7
  • Returns the contextual information for validators created out by this factory. The contextual information +is a map of key-value pairs that can provide more details about validation failures. For example, if the +message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +

    +```console +Password may not be empty +username: john.smith +```

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.globalConfiguration.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.globalConfiguration.html new file mode 100644 index 0000000..1c57900 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.globalConfiguration.html @@ -0,0 +1,4 @@ +globalConfiguration | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.removeContext.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.removeContext.html new file mode 100644 index 0000000..322e44e --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.removeContext.html @@ -0,0 +1,7 @@ +removeContext | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThat.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThat.html new file mode 100644 index 0000000..d91ffdd --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThat.html @@ -0,0 +1,10 @@ +requireThat | @cowwoc/requirements - v4.0.7
  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns UnknownValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatArray.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatArray.html new file mode 100644 index 0000000..e346a72 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatArray.html @@ -0,0 +1,11 @@ +requireThatArray | @cowwoc/requirements - v4.0.7
  • Validates the state of an array.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | E[]

      the type the value

      +
    • E

      the type elements in the array

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatBoolean.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatBoolean.html new file mode 100644 index 0000000..8cb727f --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatBoolean.html @@ -0,0 +1,9 @@ +requireThatBoolean | @cowwoc/requirements - v4.0.7
  • Validates the state of a boolean.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | boolean

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns BooleanValidator<T>

    a verifier

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatMap.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatMap.html new file mode 100644 index 0000000..61ee7ca --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatMap.html @@ -0,0 +1,12 @@ +requireThatMap | @cowwoc/requirements - v4.0.7
  • Validates the state of a map.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatNumber.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatNumber.html new file mode 100644 index 0000000..e2f4645 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatNumber.html @@ -0,0 +1,9 @@ +requireThatNumber | @cowwoc/requirements - v4.0.7
  • Validates the state of a number.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | number

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns NumberValidator<T>

    a verifier

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatSet.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatSet.html new file mode 100644 index 0000000..1d82f70 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatSet.html @@ -0,0 +1,11 @@ +requireThatSet | @cowwoc/requirements - v4.0.7
  • Validates the state of a set.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type the value

      +
    • E

      the type elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns SetValidator<T, E>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatString.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatString.html new file mode 100644 index 0000000..d6cbe48 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.requireThatString.html @@ -0,0 +1,10 @@ +requireThatString | @cowwoc/requirements - v4.0.7
  • Validates the state of a string.

    +

    +The returned validator throws an exception immediately if a validation fails. This exception is then +converted into an AssertionError. Exceptions unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | string

      the type the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns StringValidator<T>

    validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name is empty

    +
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.updateConfiguration.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.updateConfiguration.html new file mode 100644 index 0000000..29a80e3 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.updateConfiguration.html @@ -0,0 +1,5 @@ +updateConfiguration | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/functions/DefaultJavascriptValidators.withContext.html b/4.0.7/docs/api/functions/DefaultJavascriptValidators.withContext.html new file mode 100644 index 0000000..8bcdbb0 --- /dev/null +++ b/4.0.7/docs/api/functions/DefaultJavascriptValidators.withContext.html @@ -0,0 +1,9 @@ +withContext | @cowwoc/requirements - v4.0.7
  • Sets the contextual information for validators created by this factory.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method may be overridden by +ValidatorComponent.withContext.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns JavascriptValidatorsImpl

    the underlying validator factory

    +

    NullPointerError if name is not a string

    +
diff --git a/4.0.7/docs/api/functions/TerminalEncoding.sortByDecreasingRank.html b/4.0.7/docs/api/functions/TerminalEncoding.sortByDecreasingRank.html new file mode 100644 index 0000000..39d41bd --- /dev/null +++ b/4.0.7/docs/api/functions/TerminalEncoding.sortByDecreasingRank.html @@ -0,0 +1,8 @@ +sortByDecreasingRank | @cowwoc/requirements - v4.0.7

Returns a comparator that sorts encodings based on the number of colors that they support, from the most +to the least number of colors.

+
  • Parameters

    Returns number

    a negative number if first supports more colors than second. +0 if the encodings support the same number of colors. A positive number if +first supports fewer colors than second.

    +
diff --git a/4.0.7/docs/api/functions/ValidationFailure.isValidationFailure.html b/4.0.7/docs/api/functions/ValidationFailure.isValidationFailure.html new file mode 100644 index 0000000..f3cfa4a --- /dev/null +++ b/4.0.7/docs/api/functions/ValidationFailure.isValidationFailure.html @@ -0,0 +1,3 @@ +isValidationFailure | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/hierarchy.html b/4.0.7/docs/api/hierarchy.html new file mode 100644 index 0000000..3c48d38 --- /dev/null +++ b/4.0.7/docs/api/hierarchy.html @@ -0,0 +1 @@ +@cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/index.html b/4.0.7/docs/api/index.html new file mode 100644 index 0000000..5ba7d3e --- /dev/null +++ b/4.0.7/docs/api/index.html @@ -0,0 +1,90 @@ +@cowwoc/requirements - v4.0.7

@cowwoc/requirements - v4.0.7

npm version +build-status

+

checklist Requirements API

API +Changelog +java

+

A fluent API for enforcing +design contracts with +automatic message generation:

+

✔️ Easy to use
+✔️ Fast
+✔️ Production-ready

+

To get started, add this dependency:

+
npm install --save @cowwoc/requirements@4.0.7
+
+ +

or pnpm:

+
pnpm add @cowwoc/requirements@4.0.7
+
+ +
import {requireThatString} from "@cowwoc/requirements";

class Cake
{
private bitesTaken = 0;
private piecesLeft;

public constructor(piecesLeft: number)
{
requireThat(piecesLeft, "piecesLeft").isPositive();
this.piecesLeft = piecesLeft;
}

public eat(): number
{
++bitesTaken;
assertThat(bitesTaken, "bitesTaken").isNotNegative().elseThrow();

piecesLeft -= ThreadLocalRandom.current().nextInt(5);

assertThat(piecesLeft, "piecesLeft").isNotNegative().elseThrow();
return piecesLeft;
}

public getFailures(): String[]
{
return checkIf(bitesTaken, "bitesTaken").isNotNegative().
and(checkIf(piecesLeft, "piecesLeft").isGreaterThan(3)).
elseGetMessages();
}
} +
+ +

If you violate a precondition:

+
const cake = new Cake(-1000);
+
+ +

You'll get:

+
RangeError: "piecesLeft" must be positive.
actual: -1000 +
+ +

If you violate a class invariant:

+
const cake = new Cake(1_000_000);
while (true)
cake.eat(); +
+ +

You'll get:

+
lang.AssertionError: "bitesTaken" may not be negative.
actual: -128 +
+ +

If you violate a postcondition:

+
const cake = new Cake(100);
while (true)
cake.eat(); +
+ +

You'll get:

+
AssertionError: "piecesLeft" may not be negative.
actual: -4 +
+ +

If you violate multiple conditions at once:

+
const cake = new Cake(1);
cake.bitesTaken = -1;
cake.piecesLeft = 2;
const failures = [];
for (const failure of cake.getFailures())
failures.add(failure);
console.log(failures.join("\n\n")); +
+ +

You'll get:

+
"bitesTaken" may not be negative.
actual: -1

"piecesLeft" must be greater than 3.
actual: 2 +
+ +

This library offers the following features:

+ +

Designed for discovery using your favorite IDE's auto-complete feature. +The main entry points are:

+ +

See the API documentation for more details.

+
    +
  • Use checkIf().elseGetMessages() to return failure messages without throwing an exception. +This is the fastest validation approach, ideal for web services.
  • +
  • To enhance the clarity of failure messages, you should provide parameter names, even when they are optional. +In other words, favor assert that(value, name) over assert that(value).
  • +
+ +

Code licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

+

Icons made by Flat Icons from www.flaticon.com is licensed by CC 3.0 BY

+
diff --git a/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ApplicationScope.html b/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ApplicationScope.html new file mode 100644 index 0000000..630889a --- /dev/null +++ b/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ApplicationScope.html @@ -0,0 +1,8 @@ +ApplicationScope | @cowwoc/requirements - v4.0.7

The configuration of an application. A process may contain multiple applications.

+
interface ApplicationScope {
    close(): void;
    getGlobalConfiguration(): GlobalConfiguration;
    getTerminal(): Terminal;
}

Hierarchy (view full)

Methods

diff --git a/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ProcessScope.html b/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ProcessScope.html new file mode 100644 index 0000000..ed85e5f --- /dev/null +++ b/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ProcessScope.html @@ -0,0 +1,6 @@ +ProcessScope | @cowwoc/requirements - v4.0.7

The process configuration.

+
interface ProcessScope {
    close(): void;
    getTerminal(): Terminal;
}

Hierarchy (view full)

Methods

Methods

diff --git a/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ValidatorComponent.html b/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ValidatorComponent.html new file mode 100644 index 0000000..217950a --- /dev/null +++ b/4.0.7/docs/api/interfaces/DefaultJavascriptValidators._internal_.ValidatorComponent.html @@ -0,0 +1,157 @@ +ValidatorComponent | @cowwoc/requirements - v4.0.7

Methods that all validators must contain.

+
interface ValidatorComponent<T> {
    and(validation: ((validator: this) => void)): this;
    elseGetFailures(): ValidationFailures;
    elseThrow(): boolean;
    getContext(): Map<string, unknown>;
    getContextAsString(): string;
    getName(): string;
    getValue(): T;
    getValueOrDefault(defaultValue: T): T;
    getValueOrDefault(defaultValue: null | T): null | T;
    isEqualTo(expected: unknown): this;
    isEqualTo(expected: unknown, name: string): this;
    isInstanceOf<U>(expected: ClassConstructor<U>): UnknownValidator<U>;
    isNotEqualTo(unwanted: unknown): this;
    isNotEqualTo(unwanted: unknown, name: string): this;
    isNotInstanceOf<U>(unwanted: ClassConstructor<U>): this;
    isNotNull(): UnknownValidator<NonNullable<T>>;
    isNotUndefined(): UnknownValidator<NonUndefinable<T>>;
    isNull(): UnknownValidator<null>;
    isType(expected: Type): this;
    isUndefined(): UnknownValidator<undefined>;
    validationFailed(): boolean;
    withContext(value: unknown, name: string): this;
}

Type Parameters

  • T

    the type of the value

    +

Hierarchy (view full)

Implemented by

Methods

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Returns the value that is being validated.

    +

    Parameters

    • defaultValue: T

      the fallback value to use if the value is invalid

      +

    Returns T

    the validated value, or defaultValue if the value is invalid (e.g. due to dereferencing a +property of a null object)

    +
  • Parameters

    • defaultValue: null | T

    Returns null | T

  • Ensures that the object is not an instance of a class.

    +

    Type Parameters

    • U extends object

    Parameters

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the value is an instance of the unwanted class

    +
  • Ensures that the value has the specified type.

    +

    Parameters

    • expected: Type

      the expected type of the value

      +

    Returns this

    this

    +

    TypeError if the value is not an instance of the specified type

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/GlobalConfiguration.GlobalConfiguration.html b/4.0.7/docs/api/interfaces/GlobalConfiguration.GlobalConfiguration.html new file mode 100644 index 0000000..22fdbd9 --- /dev/null +++ b/4.0.7/docs/api/interfaces/GlobalConfiguration.GlobalConfiguration.html @@ -0,0 +1,13 @@ +GlobalConfiguration | @cowwoc/requirements - v4.0.7

The configuration shared by all validators. Changes apply to existing or new validators.

+

Methods

diff --git a/4.0.7/docs/api/interfaces/JavascriptAssertThat.JavascriptAssertThat.html b/4.0.7/docs/api/interfaces/JavascriptAssertThat.JavascriptAssertThat.html new file mode 100644 index 0000000..26afb60 --- /dev/null +++ b/4.0.7/docs/api/interfaces/JavascriptAssertThat.JavascriptAssertThat.html @@ -0,0 +1,76 @@ +JavascriptAssertThat | @cowwoc/requirements - v4.0.7

Creates validators for the Javascript API that throw AssertionError immediately on validation failure.

+
interface JavascriptAssertThat {
    assertThat<T>(value: T, name?: string): UnknownValidator<T>;
    assertThatArray<T, E>(value: T, name?: string): ArrayValidator<T, E>;
    assertThatBoolean<T>(value: T, name?: string): BooleanValidator<T>;
    assertThatMap<T, K, V>(value: T, name?: string): MapValidator<T, K, V>;
    assertThatNumber<T>(value: T, name?: string): NumberValidator<T>;
    assertThatSet<T, E>(value: T, name?: string): SetValidator<T, E>;
    assertThatString<T>(value: T, name?: string): StringValidator<T>;
}

Implemented by

Methods

  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns UnknownValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of an array.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | E[]

      the type of the value

      +
    • E

      the type of elements in the collection

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a boolean.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | boolean

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns BooleanValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Map.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type of the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a number.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | number

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns NumberValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Set.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type of the value

      +
    • E

      the type of elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns SetValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a string.

    +

    +The returned validator throws an error immediately if a validation fails. This error is then +converted into an AssertionError. Errors unrelated to validation failures are not converted.

    Type Parameters

    • T extends undefined | null | string

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • Optionalname: string

      the name of the value

      +

    Returns StringValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
diff --git a/4.0.7/docs/api/interfaces/JavascriptCheckIf.JavascriptCheckIf.html b/4.0.7/docs/api/interfaces/JavascriptCheckIf.JavascriptCheckIf.html new file mode 100644 index 0000000..c610fa9 --- /dev/null +++ b/4.0.7/docs/api/interfaces/JavascriptCheckIf.JavascriptCheckIf.html @@ -0,0 +1,84 @@ +JavascriptCheckIf | @cowwoc/requirements - v4.0.7

Creates validators for the Javascript API that capture errors on validation failure rather than throwing +them immediately.

+
interface JavascriptCheckIf {
    checkIf<T>(value: T, name: string): UnknownValidator<T>;
    checkIfArray<T, E>(value: T, name: string): ArrayValidator<T, E>;
    checkIfBoolean<T>(value: T, name: string): BooleanValidator<T>;
    checkIfMap<T, K, V>(value: T, name: string): MapValidator<T, K, V>;
    checkIfNumber<T>(value: T, name: string): NumberValidator<T>;
    checkIfSet<T, E>(value: T, name: string): SetValidator<T, E>;
    checkIfString<T>(value: T, name: string): StringValidator<T>;
}

Implemented by

Methods

  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns UnknownValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of an array.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | E[]

      the type of the value

      +
    • E

      the type of elements in the collection

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a boolean.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | boolean

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns BooleanValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Map.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type of the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a number.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | number

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns NumberValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Set.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type of the value

      +
    • E

      the type of elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns SetValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a string.

    +

    +The returned validator captures errors on validation failure rather than throwing them immediately. +These errors can be retrieved or thrown once the validation completes. Errors unrelated to +validation failures are thrown immediately.

    Type Parameters

    • T extends undefined | null | string

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns StringValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
diff --git a/4.0.7/docs/api/interfaces/JavascriptRequireThat.JavascriptRequireThat.html b/4.0.7/docs/api/interfaces/JavascriptRequireThat.JavascriptRequireThat.html new file mode 100644 index 0000000..5d36ba9 --- /dev/null +++ b/4.0.7/docs/api/interfaces/JavascriptRequireThat.JavascriptRequireThat.html @@ -0,0 +1,69 @@ +JavascriptRequireThat | @cowwoc/requirements - v4.0.7

Creates validators for the Javascript API that throw errors immediately on validation failure.

+
interface JavascriptRequireThat {
    requireThat<T>(value: T, name: string): UnknownValidator<T>;
    requireThatArray<T, E>(value: T, name: string): ArrayValidator<T, E>;
    requireThatBoolean<T>(value: T, name: string): BooleanValidator<T>;
    requireThatMap<T, K, V>(value: T, name: string): MapValidator<T, K, V>;
    requireThatNumber<T>(value: T, name: string): NumberValidator<T>;
    requireThatSet<T, E>(value: T, name: string): SetValidator<T, E>;
    requireThatString<T>(value: T, name: string): StringValidator<T>;
}

Implemented by

Methods

  • Validates the state of an unknown value or a value that does not have a specialized validator.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns UnknownValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of an array.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | E[]

      the type of the value

      +
    • E

      the type of elements in the collection

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns ArrayValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a boolean.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | boolean

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns BooleanValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Map.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | Map<K, V>

      the type of the value

      +
    • K

      the type of keys in the map

      +
    • V

      the type of values in the map

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns MapValidator<T, K, V>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a number.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | number

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns NumberValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a Set.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | Set<E>

      the type of the value

      +
    • E

      the type of elements in the set

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns SetValidator<T, E>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
  • Validates the state of a string.

    +

    +The returned validator throws an error immediately if a validation fails.

    Type Parameters

    • T extends undefined | null | string

      the type of the value

      +

    Parameters

    • value: T

      the value

      +
    • name: string

      the name of the value

      +

    Returns StringValidator<T>

    a validator for the value

    +

    TypeError if name is undefined or null

    +

    RangeError if name contains whitespace or is empty

    +
diff --git a/4.0.7/docs/api/interfaces/ValidationFailure.ValidationFailure.html b/4.0.7/docs/api/interfaces/ValidationFailure.ValidationFailure.html new file mode 100644 index 0000000..25c237f --- /dev/null +++ b/4.0.7/docs/api/interfaces/ValidationFailure.ValidationFailure.html @@ -0,0 +1,11 @@ +ValidationFailure | @cowwoc/requirements - v4.0.7

A failed validation.

+
interface ValidationFailure {
    getError(): Error;
    getMessage(): string;
    getType(): string;
}

Methods

  • Returns the error corresponding to the validation failure.

    +

    Returns Error

    the error corresponding to the validation failure

    +
  • Returns the message corresponding to the validation failure.

    +

    Returns string

    the message corresponding to the validation failure

    +
  • Returns the type of error that is associated with this failure.

    +

    Returns string

    the type of error that is associated with this failure

    +
diff --git a/4.0.7/docs/api/interfaces/Validators.Validators.html b/4.0.7/docs/api/interfaces/Validators.Validators.html new file mode 100644 index 0000000..5a3f576 --- /dev/null +++ b/4.0.7/docs/api/interfaces/Validators.Validators.html @@ -0,0 +1,56 @@ +Validators | @cowwoc/requirements - v4.0.7

A factory that creates different types of validators.

+

+There are three kinds of validators: +

    +
  • `requireThat()` for method preconditions.
  • +
  • `assertThat()` for class invariants, and method postconditions.
  • +
  • `checkIf()` for returning multiple validation failures.
  • +
interface Validators<S> {
    copy(): S;
    getContext(): Map<string, unknown>;
    getGlobalConfiguration(): GlobalConfiguration;
    removeContext(name: string): this;
    withContext(value: unknown, name: string): this;
}

Type Parameters

  • S

    the type of the validator factory

    +

Implemented by

Methods

  • Returns a new factory instance with an independent configuration. This method is commonly used to inherit +and update contextual information from the original factory before passing it into a nested operation. +For example,

    +
    JavascriptValidators copy = validators.copy();
    copy.getContext().put(json.toString(), "json");
    nestedOperation(copy); +
    + +

    Returns S

    a copy of this factory

    +
  • Returns the contextual information inherited by validators created out by this factory. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +
  • Removes the contextual information of validators created by this factory.

    +

    Parameters

    • name: string

      the parameter name

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +

    +
  • Sets the contextual information for validators created by this factory.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method may be overridden by +ValidatorComponent.withContext.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index.ArrayValidator.html b/4.0.7/docs/api/interfaces/index.ArrayValidator.html new file mode 100644 index 0000000..23a2654 --- /dev/null +++ b/4.0.7/docs/api/interfaces/index.ArrayValidator.html @@ -0,0 +1,476 @@ +ArrayValidator | @cowwoc/requirements - v4.0.7

Interface ArrayValidator<T, E>

Validates the state of an array.

+
interface ArrayValidator<T, E> {
    and(validation: ((validator: this) => void)): this;
    contains(expected: E): this;
    contains(expected: E, name: string): this;
    containsAll(expected: Set<E>): this;
    containsAll(expected: E[]): this;
    containsAll(expected: Set<E>, name: string): this;
    containsAll(expected: E[], name: string): this;
    containsAny(expected: Set<E>): this;
    containsAny(expected: E[]): this;
    containsAny(expected: Set<E>, name: string): this;
    containsAny(expected: E[], name: string): this;
    containsExactly(expected: Set<E>): this;
    containsExactly(expected: E[]): this;
    containsExactly(expected: Set<E>, name: string): this;
    containsExactly(expected: E[], name: string): this;
    doesNotContain(unwanted: E): this;
    doesNotContain(unwanted: E, name: string): this;
    doesNotContainAll(unwanted: Set<E>): this;
    doesNotContainAll(unwanted: E[]): this;
    doesNotContainAll(unwanted: Set<E>, name: string): this;
    doesNotContainAll(unwanted: E[], name: string): this;
    doesNotContainAny(unwanted: Set<E>): this;
    doesNotContainAny(unwanted: E[]): this;
    doesNotContainAny(unwanted: Set<E>, name: string): this;
    doesNotContainAny(unwanted: E[], name: string): this;
    doesNotContainDuplicates(): this;
    doesNotContainExactly(unwanted: Set<E>): this;
    doesNotContainExactly(unwanted: E[]): this;
    doesNotContainExactly(unwanted: Set<E>, name: string): this;
    doesNotContainExactly(unwanted: E[], name: string): this;
    elseGetFailures(): ValidationFailures;
    elseThrow(): boolean;
    getContext(): Map<string, unknown>;
    getContextAsString(): string;
    getName(): string;
    getValue(): T;
    getValueOrDefault(defaultValue: T): T;
    getValueOrDefault(defaultValue: null | T): null | T;
    isEmpty(): this;
    isEqualTo(expected: unknown): this;
    isEqualTo(expected: unknown, name: string): this;
    isInstanceOf<U>(expected: ClassConstructor<U>): UnknownValidator<U>;
    isNotEmpty(): this;
    isNotEqualTo(unwanted: unknown): this;
    isNotEqualTo(unwanted: unknown, name: string): this;
    isNotInstanceOf<U>(unwanted: ClassConstructor<U>): this;
    isNotNull(): UnknownValidator<NonNullable<T>>;
    isNotUndefined(): UnknownValidator<Exclude<T, undefined>>;
    isNull(): UnknownValidator<null>;
    isSorted(comparator: ((first: unknown, second: unknown) => number)): this;
    isType(expected: Type): this;
    isUndefined(): UnknownValidator<undefined>;
    length(): UnsignedNumberValidator;
    size(): UnsignedNumberValidator;
    validationFailed(): boolean;
    withContext(value: unknown, name: string): this;
}

Type Parameters

  • T extends E[] | undefined | null

    the type of the value

    +
  • E

    the type of elements in the collection

    +

Hierarchy (view full)

Methods

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Ensures that the collection contains an element.

    +

    Parameters

    • expected: E

      the element

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain expected

    +
  • Ensures that the collection contains an element.

    +

    Parameters

    • expected: E

      the element

      +
    • name: string

      the name of the element

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain expected
    • +

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain all the elements in expected

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain all the elements in expected

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain all elements in expected
    • +

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain all elements in expected
    • +

    +
  • Ensures that the collection contains any elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain any element in expected

    +
  • Ensures that the collection contains any elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain any element in expected

    +
  • Ensures that the collection contains at least one element in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain any element in expected
    • +

    +
  • Ensures that the collection contains at least one element in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain any element in expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of their +order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if: +

      +
    • the collection is missing any element in expected
    • +
    • the collection contains any element that is not in expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of +their order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if: +

      +
    • the collection is missing any element in expected
    • +
    • the collection contains any element that is not in +expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of their +order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection and expected contain different elements, +irrespective of their order
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of +their order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection and expected contain different elements, +irrespective of their order
    • +

    +
  • Ensures that the collection does not contain unwanted.

    +

    Parameters

    • unwanted: E

      the unwanted element

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains unwanted

    +
  • Ensures that the collection does not contain unwanted.

    +

    Parameters

    • unwanted: E

      the unwanted element

      +
    • name: string

      the name of the element

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains unwanted
    • +

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains all the elements of unwanted

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains all the elements of unwanted

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains all the elements in unwanted
    • +

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains all the elements in unwanted
    • +

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains any of the elements in unwanted

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains any of the elements in unwanted

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains any of the elements in unwanted
    • +

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains any of the elements in unwanted
    • +

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection consists of the same elements as unwanted, +irrespective of their order

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection consists of the same elements as unwanted, +irrespective of their order

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of +their order.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection consists of the same elements as unwanted, +irrespective of their order
    • +

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection consists of the same elements as unwanted, +irrespective of their order
    • +

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Ensures that the array is sorted.

    +

    Parameters

    • comparator: ((first: unknown, second: unknown) => number)

      a function that returns a negative number if first should come +before second, zero or NaN if the two values are equal, or a positive number +if first should come after second.

      +
        • (first, second): number
        • Parameters

          • first: unknown
          • second: unknown

          Returns number

    Returns this

    this

    +

    TypeError if the value or comparator are undefined or null

    +

    RangeError if the collection is not sorted

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index.BooleanValidator.html b/4.0.7/docs/api/interfaces/index.BooleanValidator.html new file mode 100644 index 0000000..f9f69fe --- /dev/null +++ b/4.0.7/docs/api/interfaces/index.BooleanValidator.html @@ -0,0 +1,167 @@ +BooleanValidator | @cowwoc/requirements - v4.0.7

Interface BooleanValidator<T>

Validates the state of a boolean.

+
interface BooleanValidator<T> {
    and(validation: ((validator: this) => void)): this;
    elseGetFailures(): ValidationFailures;
    elseThrow(): boolean;
    getContext(): Map<string, unknown>;
    getContextAsString(): string;
    getName(): string;
    getValue(): T;
    getValueOrDefault(defaultValue: T): T;
    getValueOrDefault(defaultValue: null | T): null | T;
    isEqualTo(expected: unknown): this;
    isEqualTo(expected: unknown, name: string): this;
    isFalse(): this;
    isInstanceOf<U>(expected: ClassConstructor<U>): UnknownValidator<U>;
    isNotEqualTo(unwanted: unknown): this;
    isNotEqualTo(unwanted: unknown, name: string): this;
    isNotInstanceOf<U>(unwanted: ClassConstructor<U>): this;
    isNotNull(): UnknownValidator<NonNullable<T>>;
    isNotUndefined(): UnknownValidator<Exclude<T, undefined>>;
    isNull(): UnknownValidator<null>;
    isTrue(): this;
    isType(expected: Type): this;
    isUndefined(): UnknownValidator<undefined>;
    validationFailed(): boolean;
    withContext(value: unknown, name: string): this;
}

Type Parameters

  • T extends boolean | undefined | null

    the type of the value

    +

Hierarchy (view full)

Methods

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Ensures that the value is false.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is true

    +
  • Ensures that the value is true.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is false

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index.ConfigurationUpdater.html b/4.0.7/docs/api/interfaces/index.ConfigurationUpdater.html new file mode 100644 index 0000000..0099c6e --- /dev/null +++ b/4.0.7/docs/api/interfaces/index.ConfigurationUpdater.html @@ -0,0 +1,34 @@ +ConfigurationUpdater | @cowwoc/requirements - v4.0.7

Interface ConfigurationUpdater

Updates the configuration used by new validators.

+
interface ConfigurationUpdater {
    allowDiff(): boolean;
    allowDiff(allowDiff: boolean): ConfigurationUpdater;
    allowDiff(mayDiff?: boolean): boolean | ConfigurationUpdater;
    close(): void;
    errorTransformer(): ((error: Error) => Error);
    errorTransformer(errorTransformer: ((error: Error) => Error)): ConfigurationUpdater;
    errorTransformer(errorTransformer?: ((error: Error) => Error)): ConfigurationUpdater | ((error: Error) => Error);
    recordStacktrace(): boolean;
    recordStacktrace(recordStacktrace: boolean): ConfigurationUpdater;
    recordStacktrace(recordStacktrace?: boolean): boolean | ConfigurationUpdater;
    stringMappers(): MutableStringMappers;
}

Methods

  • Returns true if error stack traces should reference the code that triggers a validation +failure. When set to false, the error type remains unchanged, but the stack trace location is +undefined. Users who only plan to list of failure messages +instead of errors may experience a performance improvement if this value is set to false.

    +

    Returns boolean

    true if errors must be recorded when a validation failure occurs

    +
  • Specifies whether error stack traces should reference the code that triggers a validation failure. +When set to false, the error type remains unchanged, but the stack trace location is +undefined. Users who only plan to list of failure messages +instead of errors may experience a performance improvement if this value is set to false.

    +

    Parameters

    • recordStacktrace: boolean

      true if errors must be recorded when a validation failure occurs

      +

    Returns ConfigurationUpdater

    this

    +
  • Parameters

    • OptionalrecordStacktrace: boolean

    Returns boolean | ConfigurationUpdater

diff --git a/4.0.7/docs/api/interfaces/index.MapValidator.html b/4.0.7/docs/api/interfaces/index.MapValidator.html new file mode 100644 index 0000000..8225cd4 --- /dev/null +++ b/4.0.7/docs/api/interfaces/index.MapValidator.html @@ -0,0 +1,186 @@ +MapValidator | @cowwoc/requirements - v4.0.7

Interface MapValidator<T, K, V>

Validates the state of a Map.

+
interface MapValidator<T, K, V> {
    and(validation: ((validator: this) => void)): this;
    elseGetFailures(): ValidationFailures;
    elseThrow(): boolean;
    entries(): ArrayValidator<[K, V][], [K, V]>;
    getContext(): Map<string, unknown>;
    getContextAsString(): string;
    getName(): string;
    getValue(): T;
    getValueOrDefault(defaultValue: T): T;
    getValueOrDefault(defaultValue: null | T): null | T;
    isEmpty(): this;
    isEqualTo(expected: unknown): this;
    isEqualTo(expected: unknown, name: string): this;
    isInstanceOf<U>(expected: ClassConstructor<U>): UnknownValidator<U>;
    isNotEmpty(): this;
    isNotEqualTo(unwanted: unknown): this;
    isNotEqualTo(unwanted: unknown, name: string): this;
    isNotInstanceOf<U>(unwanted: ClassConstructor<U>): this;
    isNotNull(): UnknownValidator<NonNullable<T>>;
    isNotUndefined(): UnknownValidator<Exclude<T, undefined>>;
    isNull(): UnknownValidator<null>;
    isType(expected: Type): this;
    isUndefined(): UnknownValidator<undefined>;
    keys(): ArrayValidator<K[], K>;
    size(): UnsignedNumberValidator;
    validationFailed(): boolean;
    values(): ArrayValidator<V[], V>;
    withContext(value: unknown, name: string): this;
}

Type Parameters

  • T extends Map<K, V> | undefined | null

    the type of the value

    +
  • K

    the type of keys in the map

    +
  • V

    the type of values in the map

    +

Hierarchy (view full)

Methods

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Ensures that the value is empty.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if value is not empty

    +
  • Ensures that the value is not empty.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if value is empty

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index.NumberValidator.html b/4.0.7/docs/api/interfaces/index.NumberValidator.html new file mode 100644 index 0000000..9fd2a29 --- /dev/null +++ b/4.0.7/docs/api/interfaces/index.NumberValidator.html @@ -0,0 +1,328 @@ +NumberValidator | @cowwoc/requirements - v4.0.7

Interface NumberValidator<T>

Validates the state of a number.

+
interface NumberValidator<T> {
    and(validation: ((validator: this) => void)): this;
    elseGetFailures(): ValidationFailures;
    elseThrow(): boolean;
    getContext(): Map<string, unknown>;
    getContextAsString(): string;
    getName(): string;
    getValue(): T;
    getValueOrDefault(defaultValue: T): T;
    getValueOrDefault(defaultValue: null | T): null | T;
    isBetween(minimumInclusive: number, maximumExclusive: number): this;
    isBetween(minimum: number, minimumInclusive: boolean, maximum: number, maximumInclusive: boolean): this;
    isEqualTo(expected: unknown): this;
    isEqualTo(expected: unknown, name: string): this;
    isFinite(): this;
    isGreaterThan(minimumExclusive: number): this;
    isGreaterThan(minimumExclusive: number, name: string): this;
    isGreaterThanOrEqualTo(minimumInclusive: number): this;
    isGreaterThanOrEqualTo(minimumInclusive: number, name: string): this;
    isInfinite(): this;
    isInstanceOf<U>(expected: ClassConstructor<U>): UnknownValidator<U>;
    isLessThan(maximumExclusive: number): this;
    isLessThan(maximumExclusive: number, name: string): this;
    isLessThanOrEqualTo(maximumInclusive: number): this;
    isLessThanOrEqualTo(maximumInclusive: number, name: string): this;
    isMultipleOf(factor: number): this;
    isMultipleOf(factor: number, name: string): this;
    isNegative(): this;
    isNotEqualTo(unwanted: unknown): this;
    isNotEqualTo(unwanted: unknown, name: string): this;
    isNotInstanceOf<U>(unwanted: ClassConstructor<U>): this;
    isNotMultipleOf(factor: number): this;
    isNotMultipleOf(factor: number, name: string): this;
    isNotNegative(): this;
    isNotNull(): UnknownValidator<NonNullable<T>>;
    isNotNumber(): this;
    isNotPositive(): this;
    isNotUndefined(): UnknownValidator<Exclude<T, undefined>>;
    isNotZero(): this;
    isNull(): UnknownValidator<null>;
    isNumber(): this;
    isPositive(): this;
    isType(expected: Type): this;
    isUndefined(): UnknownValidator<undefined>;
    isZero(): this;
    validationFailed(): boolean;
    withContext(value: unknown, name: string): this;
}

Type Parameters

  • T extends number | undefined | null

    the type of the value

    +

Hierarchy (view full)

Methods

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Ensures that the value is within a range.

    +

    Parameters

    • minimumInclusive: number

      the lower bound of the range (inclusive)

      +
    • maximumExclusive: number

      the upper bound of the range (exclusive)

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if minimumInclusive is greater than maximumExclusive. If the value is less than +minimumInclusive. If the value is greater than or equal to maximumExclusive.

    +
  • Ensures that the value is within a range.

    +

    Parameters

    • minimum: number

      the lower bound of the range

      +
    • minimumInclusive: boolean

      true if the lower bound of the range is inclusive

      +
    • maximum: number

      the upper bound of the range

      +
    • maximumInclusive: boolean

      true if the upper bound of the range is inclusive

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if minimum is greater than maximum. If +minimumInclusive is true, and the value is less than minimum. +If minimumInclusive is false, and the value is less than or equal to +minimum. If maximumInclusive is true and the value is greater +than maximum. If maximumInclusive is false, and the value is +greater than or equal to maximum.

    +
  • Ensures that the value is greater than a lower bound.

    +

    Parameters

    • minimumExclusive: number

      the exclusive lower bound

      +

    Returns this

    this

    +

    TypeError if the value or minimumExclusive are undefined or null

    +

    RangeError if the value is less than minimumExclusive

    +
  • Ensures that the value is greater than a lower bound.

    +

    Parameters

    • minimumExclusive: number

      the exclusive lower bound

      +
    • name: string

      the name of the lower bound

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is less than minimumExclusive.

    +
  • Ensures that the value is greater than or equal to a minimum value.

    +

    Parameters

    • minimumInclusive: number

      the minimum value

      +

    Returns this

    this

    +

    TypeError if the value or minimumInclusive are undefined or null

    +

    RangeError if the value is less than minimumInclusive

    +
  • Ensures that the value is greater than or equal a minimum value.

    +

    Parameters

    • minimumInclusive: number

      the minimum value

      +
    • name: string

      the name of the minimum value

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is less than minimumInclusive.

    +
  • Ensures that the value is less than an upper bound.

    +

    Parameters

    • maximumExclusive: number

      the exclusive upper bound

      +

    Returns this

    this

    +

    TypeError if the value or maximumExclusive are undefined or null

    +

    RangeError if the value is greater than or equal to maximumExclusive

    +
  • Ensures that the value is less than an upper bound.

    +

    Parameters

    • maximumExclusive: number

      the exclusive upper bound

      +
    • name: string

      the name of the upper bound

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains a leading, trailing whitespace or is empty. If +the value is greater than or equal to maximumExclusive.

    +
  • Ensures that the value is less than or equal to a maximum value.

    +

    Parameters

    • maximumInclusive: number

      the inclusive upper value

      +

    Returns this

    this

    +

    TypeError if the value or maximumInclusive are undefined or null

    +

    RangeError if the value is greater than maximumInclusive

    +
  • Ensures that the value is less than or equal to a maximum value.

    +

    Parameters

    • maximumInclusive: number

      the maximum value

      +
    • name: string

      the name of the maximum value

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is greater than maximumInclusive.

    +
  • Ensures that the value is a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +

    Returns this

    this

    +

    TypeError if the value or factor are undefined or null

    +

    RangeError if the value is not a multiple of factor

    +
  • Ensures that the value is a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +
    • name: string

      the name of the factor

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is not a multiple of factor.

    +
  • Ensures that the value is not a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +

    Returns this

    this

    +

    TypeError if the value or factor are undefined or null

    +

    RangeError if the value is a multiple of factor

    +
  • Ensures that the value is not a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +
    • name: string

      the name of the factor

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is a multiple of factor.

    +
  • Ensures that the value is the result of a mathematically undefined numerical operation (such as division +by zero) or don't have a representation in real numbers (such as the square-root of -1).

    +

    Returns this

    this

    +

    NullPointerError if the value is undefined or null

    +

    RangeError if value is a well-defined number

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index.SetValidator.html b/4.0.7/docs/api/interfaces/index.SetValidator.html new file mode 100644 index 0000000..6555341 --- /dev/null +++ b/4.0.7/docs/api/interfaces/index.SetValidator.html @@ -0,0 +1,463 @@ +SetValidator | @cowwoc/requirements - v4.0.7

Interface SetValidator<T, E>

Validates the state of a Set.

+
interface SetValidator<T, E> {
    and(validation: ((validator: this) => void)): this;
    contains(expected: E): this;
    contains(expected: E, name: string): this;
    containsAll(expected: Set<E>): this;
    containsAll(expected: E[]): this;
    containsAll(expected: Set<E>, name: string): this;
    containsAll(expected: E[], name: string): this;
    containsAny(expected: Set<E>): this;
    containsAny(expected: E[]): this;
    containsAny(expected: Set<E>, name: string): this;
    containsAny(expected: E[], name: string): this;
    containsExactly(expected: Set<E>): this;
    containsExactly(expected: E[]): this;
    containsExactly(expected: Set<E>, name: string): this;
    containsExactly(expected: E[], name: string): this;
    doesNotContain(unwanted: E): this;
    doesNotContain(unwanted: E, name: string): this;
    doesNotContainAll(unwanted: Set<E>): this;
    doesNotContainAll(unwanted: E[]): this;
    doesNotContainAll(unwanted: Set<E>, name: string): this;
    doesNotContainAll(unwanted: E[], name: string): this;
    doesNotContainAny(unwanted: Set<E>): this;
    doesNotContainAny(unwanted: E[]): this;
    doesNotContainAny(unwanted: Set<E>, name: string): this;
    doesNotContainAny(unwanted: E[], name: string): this;
    doesNotContainDuplicates(): this;
    doesNotContainExactly(unwanted: Set<E>): this;
    doesNotContainExactly(unwanted: E[]): this;
    doesNotContainExactly(unwanted: Set<E>, name: string): this;
    doesNotContainExactly(unwanted: E[], name: string): this;
    elseGetFailures(): ValidationFailures;
    elseThrow(): boolean;
    getContext(): Map<string, unknown>;
    getContextAsString(): string;
    getName(): string;
    getValue(): T;
    getValueOrDefault(defaultValue: T): T;
    getValueOrDefault(defaultValue: null | T): null | T;
    isEmpty(): this;
    isEqualTo(expected: unknown): this;
    isEqualTo(expected: unknown, name: string): this;
    isInstanceOf<U>(expected: ClassConstructor<U>): UnknownValidator<U>;
    isNotEmpty(): this;
    isNotEqualTo(unwanted: unknown): this;
    isNotEqualTo(unwanted: unknown, name: string): this;
    isNotInstanceOf<U>(unwanted: ClassConstructor<U>): this;
    isNotNull(): UnknownValidator<NonNullable<T>>;
    isNotUndefined(): UnknownValidator<Exclude<T, undefined>>;
    isNull(): UnknownValidator<null>;
    isType(expected: Type): this;
    isUndefined(): UnknownValidator<undefined>;
    size(): UnsignedNumberValidator;
    validationFailed(): boolean;
    withContext(value: unknown, name: string): this;
}

Type Parameters

  • T extends Set<E> | undefined | null
  • E

    the type of elements in the set

    +

Hierarchy (view full)

Methods

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Ensures that the collection contains an element.

    +

    Parameters

    • expected: E

      the element

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain expected

    +
  • Ensures that the collection contains an element.

    +

    Parameters

    • expected: E

      the element

      +
    • name: string

      the name of the element

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain expected
    • +

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain all the elements in expected

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain all the elements in expected

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain all elements in expected
    • +

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain all elements in expected
    • +

    +
  • Ensures that the collection contains any elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain any element in expected

    +
  • Ensures that the collection contains any elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain any element in expected

    +
  • Ensures that the collection contains at least one element in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain any element in expected
    • +

    +
  • Ensures that the collection contains at least one element in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain any element in expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of their +order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if: +

      +
    • the collection is missing any element in expected
    • +
    • the collection contains any element that is not in expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of +their order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if: +

      +
    • the collection is missing any element in expected
    • +
    • the collection contains any element that is not in +expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of their +order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection and expected contain different elements, +irrespective of their order
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of +their order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection and expected contain different elements, +irrespective of their order
    • +

    +
  • Ensures that the collection does not contain unwanted.

    +

    Parameters

    • unwanted: E

      the unwanted element

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains unwanted

    +
  • Ensures that the collection does not contain unwanted.

    +

    Parameters

    • unwanted: E

      the unwanted element

      +
    • name: string

      the name of the element

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains unwanted
    • +

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains all the elements of unwanted

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains all the elements of unwanted

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains all the elements in unwanted
    • +

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains all the elements in unwanted
    • +

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains any of the elements in unwanted

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains any of the elements in unwanted

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains any of the elements in unwanted
    • +

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains any of the elements in unwanted
    • +

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection consists of the same elements as unwanted, +irrespective of their order

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection consists of the same elements as unwanted, +irrespective of their order

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of +their order.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection consists of the same elements as unwanted, +irrespective of their order
    • +

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection consists of the same elements as unwanted, +irrespective of their order
    • +

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index.StringValidator.html b/4.0.7/docs/api/interfaces/index.StringValidator.html new file mode 100644 index 0000000..8c8ed0c --- /dev/null +++ b/4.0.7/docs/api/interfaces/index.StringValidator.html @@ -0,0 +1,223 @@ +StringValidator | @cowwoc/requirements - v4.0.7

Interface StringValidator<T>

Validates the state of a string.

+
interface StringValidator<T> {
    and(validation: ((validator: this) => void)): this;
    contains(expected: string): this;
    doesNotContain(unwanted: string): this;
    doesNotContainWhitespace(): this;
    doesNotEndWith(suffix: string): this;
    doesNotStartWith(prefix: string): this;
    elseGetFailures(): ValidationFailures;
    elseThrow(): boolean;
    endsWith(suffix: string): this;
    getContext(): Map<string, unknown>;
    getContextAsString(): string;
    getName(): string;
    getValue(): T;
    getValueOrDefault(defaultValue: T): T;
    getValueOrDefault(defaultValue: null | T): null | T;
    isEmpty(): this;
    isEqualTo(expected: unknown): this;
    isEqualTo(expected: unknown, name: string): this;
    isInstanceOf<U>(expected: ClassConstructor<U>): UnknownValidator<U>;
    isNotEmpty(): this;
    isNotEqualTo(unwanted: unknown): this;
    isNotEqualTo(unwanted: unknown, name: string): this;
    isNotInstanceOf<U>(unwanted: ClassConstructor<U>): this;
    isNotNull(): UnknownValidator<NonNullable<T>>;
    isNotUndefined(): UnknownValidator<Exclude<T, undefined>>;
    isNull(): UnknownValidator<null>;
    isTrimmed(): this;
    isType(expected: Type): this;
    isUndefined(): UnknownValidator<undefined>;
    length(): UnsignedNumberValidator;
    matches(regex: RegExp): this;
    startsWith(prefix: string): this;
    validationFailed(): boolean;
    withContext(value: unknown, name: string): this;
}

Type Parameters

  • T extends string | undefined | null

Hierarchy (view full)

Methods

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Ensures that the value contains some substring.

    +

    Parameters

    • expected: string

      the string that the value must contain

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the value does not contain expected

    +
  • Ensures that the value does not contain some substring.

    +

    Parameters

    • unwanted: string

      the string that the value may not contain

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the value contains unwanted

    +
  • Ensures that the value does not contain whitespace characters.

    +

    Returns this

    this

    +

    NullPointerException if the value is undefined or null

    +

    IllegalArgumentException if the value contains whitespace characters

    +
  • Ensures that the value does not end with some suffix.

    +

    Parameters

    • suffix: string

      the value that the string may not end with

      +

    Returns this

    this

    +

    TypeError if the value or suffix are undefined or null

    +

    RangeError if the value ends with suffix

    +
  • Ensures that the value does not start with some prefix.

    +

    Parameters

    • prefix: string

      the value that the string may not start with

      +

    Returns this

    this

    +

    TypeError if the value or prefix are undefined or null

    +

    RangeError if the value starts with prefix

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Ensures that the value ends with some suffix.

    +

    Parameters

    • suffix: string

      the value that the string must end with

      +

    Returns this

    this

    +

    TypeError if the value or suffix are undefined or null

    +

    RangeError if the value does not end with suffix

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Ensures that the value is empty.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is not empty

    +
  • Ensures that the value is not empty.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is empty

    +
  • Ensures that the value does not contain leading or trailing whitespace.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value contains leading or trailing whitespace

    +

    isEmpty

    +
  • Ensures that the value matches a regular expression.

    +

    Parameters

    • regex: RegExp

      the regular expression

      +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value does not match regex

    +
  • Ensures that the value starts with some prefix.

    +

    Parameters

    • prefix: string

      the value that the string must start with

      +

    Returns this

    this

    +

    TypeError if the value or prefix are undefined or null

    +

    RangeError if the value does not start with prefix

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index.UnsignedNumberValidator.html b/4.0.7/docs/api/interfaces/index.UnsignedNumberValidator.html new file mode 100644 index 0000000..860a38c --- /dev/null +++ b/4.0.7/docs/api/interfaces/index.UnsignedNumberValidator.html @@ -0,0 +1,313 @@ +UnsignedNumberValidator | @cowwoc/requirements - v4.0.7

Interface UnsignedNumberValidator

Validates the state of an unsigned number.

+
interface UnsignedNumberValidator {
    and(validation: ((validator: this) => void)): this;
    elseGetFailures(): ValidationFailures;
    elseThrow(): boolean;
    getContext(): Map<string, unknown>;
    getContextAsString(): string;
    getName(): string;
    getValue(): number;
    getValueOrDefault(defaultValue: number): number;
    getValueOrDefault(defaultValue: null | number): null | number;
    isBetween(minimumInclusive: number, maximumExclusive: number): this;
    isBetween(minimum: number, minimumInclusive: boolean, maximum: number, maximumInclusive: boolean): this;
    isEqualTo(expected: unknown): this;
    isEqualTo(expected: unknown, name: string): this;
    isFinite(): this;
    isGreaterThan(minimumExclusive: number): this;
    isGreaterThan(minimumExclusive: number, name: string): this;
    isGreaterThanOrEqualTo(minimumInclusive: number): this;
    isGreaterThanOrEqualTo(minimumInclusive: number, name: string): this;
    isInfinite(): this;
    isInstanceOf<U>(expected: ClassConstructor<U>): UnknownValidator<U>;
    isLessThan(maximumExclusive: number): this;
    isLessThan(maximumExclusive: number, name: string): this;
    isLessThanOrEqualTo(maximumInclusive: number): this;
    isLessThanOrEqualTo(maximumInclusive: number, name: string): this;
    isMultipleOf(factor: number): this;
    isMultipleOf(factor: number, name: string): this;
    isNotEqualTo(unwanted: unknown): this;
    isNotEqualTo(unwanted: unknown, name: string): this;
    isNotInstanceOf<U>(unwanted: ClassConstructor<U>): this;
    isNotMultipleOf(factor: number): this;
    isNotMultipleOf(factor: number, name: string): this;
    isNotNull(): UnknownValidator<number>;
    isNotNumber(): this;
    isNotPositive(): this;
    isNotUndefined(): UnknownValidator<number>;
    isNotZero(): this;
    isNull(): UnknownValidator<null>;
    isNumber(): this;
    isPositive(): this;
    isType(expected: Type): this;
    isUndefined(): UnknownValidator<undefined>;
    isZero(): this;
    validationFailed(): boolean;
    withContext(value: unknown, name: string): this;
}

Hierarchy (view full)

Methods

  • Facilitates the validation of related properties. For example,

    +

    +```ts +requireThat(nameToFrequency, "nameToFrequency"). + and(m => m.size().isPositive()). + and(m => m.keySet().contains("John")); +``` +

    +Any changes made during the validation process will impact this validator.

    Parameters

    • validation: ((validator: this) => void)

      the nested validation

      +
        • (validator): void
        • Parameters

          • validator: this

          Returns void

    Returns this

    this

    +

    TypeError if validation is undefined or null

    +
  • Throws an error if a validation failed; otherwise, returns true.

    +

    Returns boolean

    true if the validation passed

    +

    RangeError if a method precondition, class invariant, or method postcondition was violated

    +

    MultipleFailuresError if more than one validation failed. This error contains an array of +the failures.

    +
  • Returns the contextual information for upcoming validations carried out by this validator. The contextual +information is a map of key-value pairs that can provide more details about validation failures. For +example, if the message is "Password may not be empty" and the map contains the key-value pair +{"username": "john.smith"}, the error message would be:

    +
    Password may not be empty
    username: john.smith +
    + +

    Returns Map<string, unknown>

    an unmodifiable map from each entry's name to its value

    +

    Validators.getContext

    +
  • Ensures that the value is within a range.

    +

    Parameters

    • minimumInclusive: number

      the lower bound of the range (inclusive)

      +
    • maximumExclusive: number

      the upper bound of the range (exclusive)

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if minimumInclusive is greater than maximumExclusive. If the value is less than +minimumInclusive. If the value is greater than or equal to maximumExclusive.

    +
  • Ensures that the value is within a range.

    +

    Parameters

    • minimum: number

      the lower bound of the range

      +
    • minimumInclusive: boolean

      true if the lower bound of the range is inclusive

      +
    • maximum: number

      the upper bound of the range

      +
    • maximumInclusive: boolean

      true if the upper bound of the range is inclusive

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if minimum is greater than maximum. If +minimumInclusive is true, and the value is less than minimum. +If minimumInclusive is false, and the value is less than or equal to +minimum. If maximumInclusive is true and the value is greater +than maximum. If maximumInclusive is false, and the value is +greater than or equal to maximum.

    +
  • Ensures that the value is greater than a lower bound.

    +

    Parameters

    • minimumExclusive: number

      the exclusive lower bound

      +

    Returns this

    this

    +

    TypeError if the value or minimumExclusive are undefined or null

    +

    RangeError if the value is less than minimumExclusive

    +
  • Ensures that the value is greater than a lower bound.

    +

    Parameters

    • minimumExclusive: number

      the exclusive lower bound

      +
    • name: string

      the name of the lower bound

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is less than minimumExclusive.

    +
  • Ensures that the value is greater than or equal to a minimum value.

    +

    Parameters

    • minimumInclusive: number

      the minimum value

      +

    Returns this

    this

    +

    TypeError if the value or minimumInclusive are undefined or null

    +

    RangeError if the value is less than minimumInclusive

    +
  • Ensures that the value is greater than or equal a minimum value.

    +

    Parameters

    • minimumInclusive: number

      the minimum value

      +
    • name: string

      the name of the minimum value

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is less than minimumInclusive.

    +
  • Ensures that the value is less than an upper bound.

    +

    Parameters

    • maximumExclusive: number

      the exclusive upper bound

      +

    Returns this

    this

    +

    TypeError if the value or maximumExclusive are undefined or null

    +

    RangeError if the value is greater than or equal to maximumExclusive

    +
  • Ensures that the value is less than an upper bound.

    +

    Parameters

    • maximumExclusive: number

      the exclusive upper bound

      +
    • name: string

      the name of the upper bound

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains a leading, trailing whitespace or is empty. If +the value is greater than or equal to maximumExclusive.

    +
  • Ensures that the value is less than or equal to a maximum value.

    +

    Parameters

    • maximumInclusive: number

      the inclusive upper value

      +

    Returns this

    this

    +

    TypeError if the value or maximumInclusive are undefined or null

    +

    RangeError if the value is greater than maximumInclusive

    +
  • Ensures that the value is less than or equal to a maximum value.

    +

    Parameters

    • maximumInclusive: number

      the maximum value

      +
    • name: string

      the name of the maximum value

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is greater than maximumInclusive.

    +
  • Ensures that the value is a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +

    Returns this

    this

    +

    TypeError if the value or factor are undefined or null

    +

    RangeError if the value is not a multiple of factor

    +
  • Ensures that the value is a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +
    • name: string

      the name of the factor

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is not a multiple of factor.

    +
  • Ensures that the value is not a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +

    Returns this

    this

    +

    TypeError if the value or factor are undefined or null

    +

    RangeError if the value is a multiple of factor

    +
  • Ensures that the value is not a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +
    • name: string

      the name of the factor

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is a multiple of factor.

    +
  • Ensures that the value is the result of a mathematically undefined numerical operation (such as division +by zero) or don't have a representation in real numbers (such as the square-root of -1).

    +

    Returns this

    this

    +

    NullPointerError if the value is undefined or null

    +

    RangeError if value is a well-defined number

    +
  • Sets the contextual information for upcoming validations.

    +

    +This method adds contextual information to error messages. The contextual information is stored as +key-value pairs in a map. Values set by this method override any values that are set using +Validators.withContext. +

    +There is no way to remove contextual information from a validator. Thread-level contextual information is +removed automatically.

    Parameters

    • value: unknown

      the value of the entry

      +
    • name: string

      the name of an entry

      +

    Returns this

    this

    +

    TypeError if name is undefined or null

    +

    RangeError if name: +

      +
    • contains whitespace
    • +
    • is empty
    • +
    • is already in use by the value being validated or the validator +context
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index._internal_.CollectionComponent.html b/4.0.7/docs/api/interfaces/index._internal_.CollectionComponent.html new file mode 100644 index 0000000..13abe7d --- /dev/null +++ b/4.0.7/docs/api/interfaces/index._internal_.CollectionComponent.html @@ -0,0 +1,309 @@ +CollectionComponent | @cowwoc/requirements - v4.0.7

Methods that all collection validators must contain.

+
interface CollectionComponent<E> {
    contains(expected: E): this;
    contains(expected: E, name: string): this;
    containsAll(expected: Set<E>): this;
    containsAll(expected: E[]): this;
    containsAll(expected: Set<E>, name: string): this;
    containsAll(expected: E[], name: string): this;
    containsAny(expected: Set<E>): this;
    containsAny(expected: E[]): this;
    containsAny(expected: Set<E>, name: string): this;
    containsAny(expected: E[], name: string): this;
    containsExactly(expected: Set<E>): this;
    containsExactly(expected: E[]): this;
    containsExactly(expected: Set<E>, name: string): this;
    containsExactly(expected: E[], name: string): this;
    doesNotContain(unwanted: E): this;
    doesNotContain(unwanted: E, name: string): this;
    doesNotContainAll(unwanted: Set<E>): this;
    doesNotContainAll(unwanted: E[]): this;
    doesNotContainAll(unwanted: Set<E>, name: string): this;
    doesNotContainAll(unwanted: E[], name: string): this;
    doesNotContainAny(unwanted: Set<E>): this;
    doesNotContainAny(unwanted: E[]): this;
    doesNotContainAny(unwanted: Set<E>, name: string): this;
    doesNotContainAny(unwanted: E[], name: string): this;
    doesNotContainDuplicates(): this;
    doesNotContainExactly(unwanted: Set<E>): this;
    doesNotContainExactly(unwanted: E[]): this;
    doesNotContainExactly(unwanted: Set<E>, name: string): this;
    doesNotContainExactly(unwanted: E[], name: string): this;
    isEmpty(): this;
    isNotEmpty(): this;
    size(): UnsignedNumberValidator;
}

Type Parameters

  • E

    the type of elements in the collection

    +

Hierarchy (view full)

Methods

  • Ensures that the collection contains an element.

    +

    Parameters

    • expected: E

      the element

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain expected

    +
  • Ensures that the collection contains an element.

    +

    Parameters

    • expected: E

      the element

      +
    • name: string

      the name of the element

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain expected
    • +

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain all the elements in expected

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain all the elements in expected

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain all elements in expected
    • +

    +
  • Ensures that the collection contains all the elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain all elements in expected
    • +

    +
  • Ensures that the collection contains any elements in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain any element in expected

    +
  • Ensures that the collection contains any elements in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if the collection does not contain any element in expected

    +
  • Ensures that the collection contains at least one element in expected.

    +

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain any element in expected
    • +

    +
  • Ensures that the collection contains at least one element in expected.

    +

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection does not contain any element in expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of their +order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: Set<E>

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if: +

      +
    • the collection is missing any element in expected
    • +
    • the collection contains any element that is not in expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of +their order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: E[]

      the desired elements

      +

    Returns this

    this

    +

    TypeError if the value or expected are undefined or null

    +

    RangeError if: +

      +
    • the collection is missing any element in expected
    • +
    • the collection contains any element that is not in +expected
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of their +order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: Set<E>

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection and expected contain different elements, +irrespective of their order
    • +

    +
  • Ensures that the collection consists of the same elements as expected, irrespective of +their order.

    +

    +In contrast, isEqualTo() requires the same element ordering.

    Parameters

    • expected: E[]

      the desired elements

      +
    • name: string

      the name of the expected collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection and expected contain different elements, +irrespective of their order
    • +

    +
  • Ensures that the collection does not contain unwanted.

    +

    Parameters

    • unwanted: E

      the unwanted element

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains unwanted

    +
  • Ensures that the collection does not contain unwanted.

    +

    Parameters

    • unwanted: E

      the unwanted element

      +
    • name: string

      the name of the element

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains unwanted
    • +

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains all the elements of unwanted

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains all the elements of unwanted

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains all the elements in unwanted
    • +

    +
  • Allows the collection to contain some, but not all, elements from a collection.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains all the elements in unwanted
    • +

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains any of the elements in unwanted

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection contains any of the elements in unwanted

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains any of the elements in unwanted
    • +

    +
  • Ensures that the collection does not contain any of the elements in unwanted.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection contains any of the elements in unwanted
    • +

    +
  • Ensures that the collection does not contain any duplicate elements.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the collection contains any duplicate elements

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection consists of the same elements as unwanted, +irrespective of their order

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +

    Returns this

    this

    +

    TypeError if the value or unwanted are undefined or null

    +

    RangeError if the collection consists of the same elements as unwanted, +irrespective of their order

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of +their order.

    +

    Parameters

    • unwanted: Set<E>

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection consists of the same elements as unwanted, +irrespective of their order
    • +

    +
  • Ensures that the collection and unwanted consist of different elements, irrespective of their +order.

    +

    Parameters

    • unwanted: E[]

      the unwanted elements

      +
    • name: string

      the name of the unwanted collection

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if: +

      +
    • name is empty
    • +
    • name contains whitespace
    • +
    • name is already in use by the value being validated or +the validator context
    • +
    • the collection consists of the same elements as unwanted, +irrespective of their order
    • +

    +
  • Ensures that the collection is not empty.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the collection is empty

    +
diff --git a/4.0.7/docs/api/interfaces/index._internal_.NegativeNumberComponent.html b/4.0.7/docs/api/interfaces/index._internal_.NegativeNumberComponent.html new file mode 100644 index 0000000..897f627 --- /dev/null +++ b/4.0.7/docs/api/interfaces/index._internal_.NegativeNumberComponent.html @@ -0,0 +1,16 @@ +NegativeNumberComponent | @cowwoc/requirements - v4.0.7

Methods that validators for numbers that may be negative must contain.

+
interface NegativeNumberComponent {
    isNegative(): this;
    isNotNegative(): this;
}

Hierarchy (view full)

Methods

  • Ensures that the value is negative. -0.0 is considered to be zero and negative.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is: +

      +
    • not negative
    • +
    • not a number
    • +

    +
  • Ensures that the value is not a negative number. -0.0 is considered to be zero and negative.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is a negative number

    +
diff --git a/4.0.7/docs/api/interfaces/index._internal_.NumberComponent.html b/4.0.7/docs/api/interfaces/index._internal_.NumberComponent.html new file mode 100644 index 0000000..00381cf --- /dev/null +++ b/4.0.7/docs/api/interfaces/index._internal_.NumberComponent.html @@ -0,0 +1,136 @@ +NumberComponent | @cowwoc/requirements - v4.0.7

Methods that all number validators must contain.

+
interface NumberComponent<T> {
    getValue(): T;
    isBetween(minimumInclusive: number, maximumExclusive: number): this;
    isBetween(minimum: number, minimumInclusive: boolean, maximum: number, maximumInclusive: boolean): this;
    isFinite(): this;
    isGreaterThan(minimumExclusive: number): this;
    isGreaterThan(minimumExclusive: number, name: string): this;
    isGreaterThanOrEqualTo(minimumInclusive: number): this;
    isGreaterThanOrEqualTo(minimumInclusive: number, name: string): this;
    isInfinite(): this;
    isLessThan(maximumExclusive: number): this;
    isLessThan(maximumExclusive: number, name: string): this;
    isLessThanOrEqualTo(maximumInclusive: number): this;
    isLessThanOrEqualTo(maximumInclusive: number, name: string): this;
    isMultipleOf(factor: number): this;
    isMultipleOf(factor: number, name: string): this;
    isNotMultipleOf(factor: number): this;
    isNotMultipleOf(factor: number, name: string): this;
    isNotNumber(): this;
    isNumber(): this;
}

Type Parameters

  • T extends number | undefined | null

    the type of the value

    +

Hierarchy (view full)

Methods

  • Ensures that the value is within a range.

    +

    Parameters

    • minimumInclusive: number

      the lower bound of the range (inclusive)

      +
    • maximumExclusive: number

      the upper bound of the range (exclusive)

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if minimumInclusive is greater than maximumExclusive. If the value is less than +minimumInclusive. If the value is greater than or equal to maximumExclusive.

    +
  • Ensures that the value is within a range.

    +

    Parameters

    • minimum: number

      the lower bound of the range

      +
    • minimumInclusive: boolean

      true if the lower bound of the range is inclusive

      +
    • maximum: number

      the upper bound of the range

      +
    • maximumInclusive: boolean

      true if the upper bound of the range is inclusive

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if minimum is greater than maximum. If +minimumInclusive is true, and the value is less than minimum. +If minimumInclusive is false, and the value is less than or equal to +minimum. If maximumInclusive is true and the value is greater +than maximum. If maximumInclusive is false, and the value is +greater than or equal to maximum.

    +
  • Ensures that the value is a finite number.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if value is not a number or is an infinite number

    +
      +
    • isNumber
    • +
    • Number.isFinite
    • +
    +
  • Ensures that the value is greater than a lower bound.

    +

    Parameters

    • minimumExclusive: number

      the exclusive lower bound

      +

    Returns this

    this

    +

    TypeError if the value or minimumExclusive are undefined or null

    +

    RangeError if the value is less than minimumExclusive

    +
  • Ensures that the value is greater than a lower bound.

    +

    Parameters

    • minimumExclusive: number

      the exclusive lower bound

      +
    • name: string

      the name of the lower bound

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is less than minimumExclusive.

    +
  • Ensures that the value is greater than or equal to a minimum value.

    +

    Parameters

    • minimumInclusive: number

      the minimum value

      +

    Returns this

    this

    +

    TypeError if the value or minimumInclusive are undefined or null

    +

    RangeError if the value is less than minimumInclusive

    +
  • Ensures that the value is greater than or equal a minimum value.

    +

    Parameters

    • minimumInclusive: number

      the minimum value

      +
    • name: string

      the name of the minimum value

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is less than minimumInclusive.

    +
  • Ensures that the value is an infinite number.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if value is not a number or is a finite number

    +
      +
    • isNumber
    • +
    • Number.isFinite
    • +
    +
  • Ensures that the value is less than an upper bound.

    +

    Parameters

    • maximumExclusive: number

      the exclusive upper bound

      +

    Returns this

    this

    +

    TypeError if the value or maximumExclusive are undefined or null

    +

    RangeError if the value is greater than or equal to maximumExclusive

    +
  • Ensures that the value is less than an upper bound.

    +

    Parameters

    • maximumExclusive: number

      the exclusive upper bound

      +
    • name: string

      the name of the upper bound

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains a leading, trailing whitespace or is empty. If +the value is greater than or equal to maximumExclusive.

    +
  • Ensures that the value is less than or equal to a maximum value.

    +

    Parameters

    • maximumInclusive: number

      the inclusive upper value

      +

    Returns this

    this

    +

    TypeError if the value or maximumInclusive are undefined or null

    +

    RangeError if the value is greater than maximumInclusive

    +
  • Ensures that the value is less than or equal to a maximum value.

    +

    Parameters

    • maximumInclusive: number

      the maximum value

      +
    • name: string

      the name of the maximum value

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is greater than maximumInclusive.

    +
  • Ensures that the value is a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +

    Returns this

    this

    +

    TypeError if the value or factor are undefined or null

    +

    RangeError if the value is not a multiple of factor

    +
  • Ensures that the value is a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +
    • name: string

      the name of the factor

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is not a multiple of factor.

    +
  • Ensures that the value is not a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +

    Returns this

    this

    +

    TypeError if the value or factor are undefined or null

    +

    RangeError if the value is a multiple of factor

    +
  • Ensures that the value is not a multiple of factor.

    +

    Parameters

    • factor: number

      the number being multiplied

      +
    • name: string

      the name of the factor

      +

    Returns this

    this

    +

    TypeError if the value or any of the arguments are undefined or null

    +

    RangeError if name contains whitespace or is empty. If +the value is a multiple of factor.

    +
  • Ensures that the value is the result of a mathematically undefined numerical operation (such as division +by zero) or don't have a representation in real numbers (such as the square-root of -1).

    +

    Returns this

    this

    +

    NullPointerError if the value is undefined or null

    +

    RangeError if value is a well-defined number

    +
  • Ensures that the value is a well-defined number.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if value is not a well-defined number

    +

    isNotNumber

    +
diff --git a/4.0.7/docs/api/interfaces/index._internal_.PositiveNumberComponent.html b/4.0.7/docs/api/interfaces/index._internal_.PositiveNumberComponent.html new file mode 100644 index 0000000..2453e9c --- /dev/null +++ b/4.0.7/docs/api/interfaces/index._internal_.PositiveNumberComponent.html @@ -0,0 +1,16 @@ +PositiveNumberComponent | @cowwoc/requirements - v4.0.7

Methods that validators for numbers that may be positive must contain.

+
interface PositiveNumberComponent {
    isNotPositive(): this;
    isPositive(): this;
}

Hierarchy (view full)

Methods

  • Ensures that the value is not a positive number.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is a positive number

    +
  • Ensures that the value is positive.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is: +

      +
    • not positive
    • +
    • not a number
    • +

    +
diff --git a/4.0.7/docs/api/interfaces/index._internal_.ZeroNumberComponent.html b/4.0.7/docs/api/interfaces/index._internal_.ZeroNumberComponent.html new file mode 100644 index 0000000..b0779ea --- /dev/null +++ b/4.0.7/docs/api/interfaces/index._internal_.ZeroNumberComponent.html @@ -0,0 +1,16 @@ +ZeroNumberComponent | @cowwoc/requirements - v4.0.7

Methods that validators for numbers that may be zero must contain.

+
interface ZeroNumberComponent {
    isNotZero(): this;
    isZero(): this;
}

Hierarchy (view full)

Methods

Methods

  • Ensures that the value is not zero. -0.0 is considered to be zero and negative.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is zero

    +
  • Ensures that the value is zero. -0.0 is considered to be zero and negative.

    +

    Returns this

    this

    +

    TypeError if the value is undefined or null

    +

    RangeError if the value is: +

      +
    • not zero
    • +
    • not a number
    • +

    +
diff --git a/4.0.7/docs/api/modules.html b/4.0.7/docs/api/modules.html new file mode 100644 index 0000000..c20cd47 --- /dev/null +++ b/4.0.7/docs/api/modules.html @@ -0,0 +1,14 @@ +@cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/DefaultJavascriptValidators._internal_.html b/4.0.7/docs/api/modules/DefaultJavascriptValidators._internal_.html new file mode 100644 index 0000000..eb13c0b --- /dev/null +++ b/4.0.7/docs/api/modules/DefaultJavascriptValidators._internal_.html @@ -0,0 +1,12 @@ +<internal> | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/DefaultJavascriptValidators.html b/4.0.7/docs/api/modules/DefaultJavascriptValidators.html new file mode 100644 index 0000000..de87e00 --- /dev/null +++ b/4.0.7/docs/api/modules/DefaultJavascriptValidators.html @@ -0,0 +1,28 @@ +DefaultJavascriptValidators | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/GlobalConfiguration.html b/4.0.7/docs/api/modules/GlobalConfiguration.html new file mode 100644 index 0000000..24c492e --- /dev/null +++ b/4.0.7/docs/api/modules/GlobalConfiguration.html @@ -0,0 +1,2 @@ +GlobalConfiguration | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/JavascriptAssertThat.html b/4.0.7/docs/api/modules/JavascriptAssertThat.html new file mode 100644 index 0000000..70c52b5 --- /dev/null +++ b/4.0.7/docs/api/modules/JavascriptAssertThat.html @@ -0,0 +1,2 @@ +JavascriptAssertThat | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/JavascriptCheckIf.html b/4.0.7/docs/api/modules/JavascriptCheckIf.html new file mode 100644 index 0000000..5be9f57 --- /dev/null +++ b/4.0.7/docs/api/modules/JavascriptCheckIf.html @@ -0,0 +1,2 @@ +JavascriptCheckIf | @cowwoc/requirements - v4.0.7

Index

Interfaces

diff --git a/4.0.7/docs/api/modules/JavascriptRequireThat.html b/4.0.7/docs/api/modules/JavascriptRequireThat.html new file mode 100644 index 0000000..189a117 --- /dev/null +++ b/4.0.7/docs/api/modules/JavascriptRequireThat.html @@ -0,0 +1,2 @@ +JavascriptRequireThat | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/JavascriptValidators.html b/4.0.7/docs/api/modules/JavascriptValidators.html new file mode 100644 index 0000000..0b6c74b --- /dev/null +++ b/4.0.7/docs/api/modules/JavascriptValidators.html @@ -0,0 +1,2 @@ +JavascriptValidators | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/MultipleFailuresError.html b/4.0.7/docs/api/modules/MultipleFailuresError.html new file mode 100644 index 0000000..1091c3b --- /dev/null +++ b/4.0.7/docs/api/modules/MultipleFailuresError.html @@ -0,0 +1,2 @@ +MultipleFailuresError | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/TerminalEncoding.html b/4.0.7/docs/api/modules/TerminalEncoding.html new file mode 100644 index 0000000..9a274dc --- /dev/null +++ b/4.0.7/docs/api/modules/TerminalEncoding.html @@ -0,0 +1,3 @@ +TerminalEncoding | @cowwoc/requirements - v4.0.7

Index

Enumerations

Functions

diff --git a/4.0.7/docs/api/modules/Type.html b/4.0.7/docs/api/modules/Type.html new file mode 100644 index 0000000..3bc3457 --- /dev/null +++ b/4.0.7/docs/api/modules/Type.html @@ -0,0 +1,3 @@ +Type | @cowwoc/requirements - v4.0.7

Index

Enumerations

Classes

diff --git a/4.0.7/docs/api/modules/ValidationFailure.html b/4.0.7/docs/api/modules/ValidationFailure.html new file mode 100644 index 0000000..0a11b2b --- /dev/null +++ b/4.0.7/docs/api/modules/ValidationFailure.html @@ -0,0 +1,3 @@ +ValidationFailure | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/ValidationFailures.html b/4.0.7/docs/api/modules/ValidationFailures.html new file mode 100644 index 0000000..710cb94 --- /dev/null +++ b/4.0.7/docs/api/modules/ValidationFailures.html @@ -0,0 +1,2 @@ +ValidationFailures | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/Validators.html b/4.0.7/docs/api/modules/Validators.html new file mode 100644 index 0000000..386388c --- /dev/null +++ b/4.0.7/docs/api/modules/Validators.html @@ -0,0 +1,2 @@ +Validators | @cowwoc/requirements - v4.0.7

Index

Interfaces

diff --git a/4.0.7/docs/api/modules/index._internal_.html b/4.0.7/docs/api/modules/index._internal_.html new file mode 100644 index 0000000..deec8fb --- /dev/null +++ b/4.0.7/docs/api/modules/index._internal_.html @@ -0,0 +1,8 @@ +<internal> | @cowwoc/requirements - v4.0.7
diff --git a/4.0.7/docs/api/modules/index.html b/4.0.7/docs/api/modules/index.html new file mode 100644 index 0000000..b425ac9 --- /dev/null +++ b/4.0.7/docs/api/modules/index.html @@ -0,0 +1,49 @@ +index | @cowwoc/requirements - v4.0.7

References

Re-exports assertThat
Re-exports assertThatArray
Re-exports assertThatBoolean
Re-exports assertThatMap
Re-exports assertThatNumber
Re-exports assertThatSet
Re-exports assertThatString
Re-exports checkIf
Re-exports checkIfArray
Re-exports checkIfBoolean
Re-exports checkIfMap
Re-exports checkIfNumber
Re-exports checkIfSet
Re-exports checkIfString
Re-exports getContext
Re-exports GlobalConfiguration
Re-exports JavascriptValidators
Re-exports removeContext
Re-exports requireThat
Re-exports requireThatArray
Re-exports requireThatBoolean
Re-exports requireThatMap
Re-exports requireThatNumber
Re-exports requireThatSet
Re-exports requireThatString
Re-exports TerminalEncoding
Re-exports Type
Re-exports TypeCategory
Re-exports updateConfiguration
Re-exports Validators
Re-exports withContext
diff --git a/4.0.7/docs/api/types/DefaultJavascriptValidators._internal_.ErrorBuilder.html b/4.0.7/docs/api/types/DefaultJavascriptValidators._internal_.ErrorBuilder.html new file mode 100644 index 0000000..9831361 --- /dev/null +++ b/4.0.7/docs/api/types/DefaultJavascriptValidators._internal_.ErrorBuilder.html @@ -0,0 +1,4 @@ +ErrorBuilder | @cowwoc/requirements - v4.0.7
ErrorBuilder: ((message: string) => Error)

Creates a new error.

+

Type declaration

    • (message): Error
    • Parameters

      • message: string

        a message that explains what went wrong

        +

      Returns Error

      a new error

      +
diff --git a/4.0.7/docs/api/types/DefaultJavascriptValidators._internal_.NonUndefinable.html b/4.0.7/docs/api/types/DefaultJavascriptValidators._internal_.NonUndefinable.html new file mode 100644 index 0000000..662854b --- /dev/null +++ b/4.0.7/docs/api/types/DefaultJavascriptValidators._internal_.NonUndefinable.html @@ -0,0 +1 @@ +NonUndefinable | @cowwoc/requirements - v4.0.7
NonUndefinable<T>: Exclude<T, undefined>

Type Parameters

  • T
diff --git a/4.0.7/docs/api/types/index.ClassConstructor.html b/4.0.7/docs/api/types/index.ClassConstructor.html new file mode 100644 index 0000000..dd450fe --- /dev/null +++ b/4.0.7/docs/api/types/index.ClassConstructor.html @@ -0,0 +1 @@ +ClassConstructor | @cowwoc/requirements - v4.0.7

Type Alias ClassConstructor<T>

ClassConstructor<T>: (abstract new (...args: any[]) => NonNullable<T>)

Type Parameters

  • T
diff --git a/4.0.7/docs/api/types/index.ElementOf.html b/4.0.7/docs/api/types/index.ElementOf.html new file mode 100644 index 0000000..29a2377 --- /dev/null +++ b/4.0.7/docs/api/types/index.ElementOf.html @@ -0,0 +1 @@ +ElementOf | @cowwoc/requirements - v4.0.7

Type Alias ElementOf<T>

ElementOf<T>: T extends readonly (infer E)[]
    ? E
    : T extends Set<infer E>
        ? E
        : never

Type Parameters

  • T
diff --git a/4.0.7/docs/api/types/index.MapKey.html b/4.0.7/docs/api/types/index.MapKey.html new file mode 100644 index 0000000..89f71e6 --- /dev/null +++ b/4.0.7/docs/api/types/index.MapKey.html @@ -0,0 +1 @@ +MapKey | @cowwoc/requirements - v4.0.7
MapKey<T>: T extends Map<infer K, any>
    ? K
    : never

Type Parameters

  • T
diff --git a/4.0.7/docs/api/types/index.MapValue.html b/4.0.7/docs/api/types/index.MapValue.html new file mode 100644 index 0000000..820be17 --- /dev/null +++ b/4.0.7/docs/api/types/index.MapValue.html @@ -0,0 +1 @@ +MapValue | @cowwoc/requirements - v4.0.7

Type Alias MapValue<T>

MapValue<T>: T extends Map<any, infer V>
    ? V
    : never

Type Parameters

  • T
diff --git a/4.0.7/docs/api/types/index.StringMapper.html b/4.0.7/docs/api/types/index.StringMapper.html new file mode 100644 index 0000000..3a7594a --- /dev/null +++ b/4.0.7/docs/api/types/index.StringMapper.html @@ -0,0 +1,5 @@ +StringMapper | @cowwoc/requirements - v4.0.7
StringMapper: ((value: unknown, seen?: Set<unknown>) => string)

Returns the string representation of a value.

+

Type declaration

    • (value, seen?): string
    • Parameters

      • value: unknown

        a value

        +
      • Optionalseen: Set<unknown>

        the objects that we've seen before

        +

      Returns string

      the string representation of the value

      +
diff --git a/4.0.7/docs/api/types/index.UnknownValidator.html b/4.0.7/docs/api/types/index.UnknownValidator.html new file mode 100644 index 0000000..d7f14cb --- /dev/null +++ b/4.0.7/docs/api/types/index.UnknownValidator.html @@ -0,0 +1,3 @@ +UnknownValidator | @cowwoc/requirements - v4.0.7

Type Alias UnknownValidator<T>

UnknownValidator<T>: ValidatorComponent<T>

Validates the state of an unknown value or a value that does not have a specialized validator.

+

Type Parameters

  • T

    the type of the value that is being validated

    +