2 недели назад
История
README.md
Assertions & checkers for variables value
Include
package.json
:
"dependencies": {
"@jzucen/asserts-js": "git+https://gitflic.ru/project/jzucen/asserts-js.git"
}
Import
import { asserts, checks } from '@jzucen/asserts-js';
const someVar = 'test value';
asserts.inspect('inspected variable name', someVar).isString().isEmpty(); // throws AssertError in isEmpty()
console.log(checks.inspect('someVar', 'variable value').not().isInteger()); // output: "true"
Properties & methods of asserts
Property/method |
---|
String name |
Mixed value |
Boolean expected |
Boolean inverted |
Mixed actual |
this self |
ErrorClass ErrorClass |
this setErrorClass(ErrorClass errorClass) |
✱ self constructor (String name, Mixed value, Boolean inverted = false) |
✱ self inspect (String name, Mixed value, Boolean inverted = false) |
✱✱ self expect (Boolean expect) |
✱✱ ✱✱✱ self not () |
this register (String name, Function assert, ?String message) |
self isEqualTo (Mixed expectedValue, ?String message) |
self isEmpty (?String message) |
self hasType (String expectedType, ?String message) |
self hasTypeFromList (String[] typesList, ?String message) |
self isUndefined (?String message) |
self isFunction (?String message) |
self isBoolean (?String message) |
self isString (?String message) |
self isNumber (?String message) |
self isObject (?String message) |
self isArray (?String message) |
self isNull (?String message) |
self isNaN (?String message) |
self isTrue (?String message) |
self isFalse (?String message) |
self hasLength (Number length, ?String message) |
self containsSubString (String subString, ?String message) |
self matchesRegExp (RegExp regexp, ?String message) |
self isZero (?String message) |
self isInteger (?String message) |
self isFloat (?String message) |
self isLessThan (Number value, ?String message) |
self isLessOrEqual (Number value, ?String message) |
self isGreaterOrEqual (Number value, ?String message) |
self isGreaterThan (Number value, ?String message) |
self isPositive (?String message) |
self isNegative (?String message) |
self isNatural (?String message) |
self isInRange (Number minimal, Number maximal, ?Number|Boolean bounds, ?String message) |
self isInstanceOf (Class expectedClass, ?String message) |
self isDate (?String message) |
self isRegExp (?String message) |
self isMap (?String message) |
self isSet (?String message) |
self isWeakMap (?String message) |
self isWeakSet (?String message) |
self hasProperty (String property, ?String message) |
self containsArrayItem (Mixed arrayItem, ?String message) |
self contains (Mixed smth, ?String message) |
self isExistsPath (?String message) |
self hasPathStats (?String message) |
self isExistsFile (?String message) |
self isExistsDirectory (?String message) |
- ✱ – always return a new instance;
- ✱✱ – return either a new instance or the original if property
inverted
remains unchanged; - ✱✱✱ – only applies to the next statement, then returns to the original instance;
- methods that perform assertion checking either throw an exception or return the (original) instance.
Properties & methods of checks
- Is a proxy for the assertion object, meaning it has the same properties and methods.
- Assertion checking methods return
true
orfalse
instead of the original object. - Has an additional property
lastError
containing error information if the last check returnedfalse
.
Register custom asserts
import { asserts, checks } from '@jzucen/asserts-js';
asserts.register(
'newAssertName', // assert name (valid function name)
(asserts, message, ...params) => { // positive (!!!) assert
// asserts – link to this (asserts/cheks)
// message – registered error message
// params – additional parameters to check
const [top] = params;
asserts.isInRange(0, top).not().isEqualTo(top);
// may not return anything - this is not necessary
},
'Assertion of {#name} was fail'
);
console.log(
checks.inspect('myVar', 100).newAssertName(100), // output: "false"
checks.lastError // output: AssertError: Value of "myVar" must not be equal to "100" but "100" is given
);
Описание
Assertions & checkers for variables value
Конвейеры
0 успешных
0 с ошибкой