jquery-assert
v1.0.2
Published
Assert number of elements in a jQuery selector in a Fail Fast manner
Downloads
3
Readme
jQuery Assert
Assert number of elements returned by jQuery selector and throw an exception if it's different than expected.
With this library you can have safer selectors as the library will guarantee that they are what you expect.
Install
$ npm install jquery-assert --save
Usage
Modern
import jquery from 'jquery';
import jqueryAssert from 'jquery-assert';
jquery.fn.extend(jqueryAssert);
$('body').assertOne().doSomething();
UMD build
<script src="//code.jquery.com/jquery.min.js" />
<script src="/dist/jquery-assert.umd.min.js" />
<script>
$('body').assertOne().doSomething();
</script>
Why Fail Fast
Essentially, fail fast (a.k.a. fail early) is to code your software such that, when there is a problem, the software fails as soon as and as visibly as possible, rather than trying to proceed in a possibly unstable state.
Error tracking
With this approach, as well as any other you might really want to track your front-end application errors, including the one thrown by this library.
If you are not tracking your errors yet have a look at some services like: sentry.io, trackjs.com, rollbar.com or others.
jQuery not fail fast pitfalls
TBD
API
$.fn.assert(input)
input
Type: number|function
Assert exact number of elements:
Providing number:
$('.two-of-us').assert(2);
Providing condition function which argument is the number of elements:
$('.two-of-us').assert(n => n === 2 || n === 0);
$.fn.assertOne()
Equivalent to:
$('#unique').assert(1);
$.fn.assertAtLeast(number)
Assert minimum number of elements.
$.fn.assertMany()
Assert minimum one element.
Equivalent to:
$('#unique').assertAtLeast(1);
Support
Should work with any jQuery version.
Babel compiled for IE8+.