@rogolev/value 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +319 -1
- package/docs/classes/Expect/toBe.md +61 -0
- package/docs/classes/Expect/toBeArray.md +52 -0
- package/docs/classes/Expect/toBeAssoc.md +53 -0
- package/docs/classes/Expect/toBeBigInt.md +52 -0
- package/docs/classes/Expect/toBeBool.md +53 -0
- package/docs/classes/Expect/toBeBoolean.md +53 -0
- package/docs/classes/Expect/toBeChar.md +53 -0
- package/docs/classes/Expect/toBeClass.md +53 -0
- package/docs/classes/Expect/toBeFloat.md +53 -0
- package/docs/classes/Expect/toBeFunction.md +52 -0
- package/docs/classes/Expect/toBeInfinity.md +53 -0
- package/docs/classes/Expect/toBeInt.md +53 -0
- package/docs/classes/Expect/toBeInteger.md +53 -0
- package/docs/classes/Expect/toBeList.md +53 -0
- package/docs/classes/Expect/toBeNaN.md +53 -0
- package/docs/classes/Expect/toBeNull.md +51 -0
- package/docs/classes/Expect/toBeNumber.md +52 -0
- package/docs/classes/Expect/toBeNumeric.md +53 -0
- package/docs/classes/Expect/toBeObject.md +52 -0
- package/docs/classes/Expect/toBeScalar.md +53 -0
- package/docs/classes/Expect/toBeString.md +52 -0
- package/docs/classes/Expect/toBeSymbol.md +53 -0
- package/docs/classes/Expect/toBeUndefined.md +54 -0
- package/docs/classes/Expect/toEqual.md +69 -0
- package/docs/classes/Expect/toStrictEqual.md +70 -0
- package/docs/classes/Expect.md +87 -0
- package/docs/classes/Type/expectArray.md +63 -0
- package/docs/classes/Type/expectAssoc.md +65 -0
- package/docs/classes/Type/expectBigInt.md +63 -0
- package/docs/classes/Type/expectBool.md +65 -0
- package/docs/classes/Type/expectBoolean.md +65 -0
- package/docs/classes/Type/expectChar.md +63 -0
- package/docs/classes/Type/expectClass.md +63 -0
- package/docs/classes/Type/expectFloat.md +68 -0
- package/docs/classes/Type/expectFunction.md +63 -0
- package/docs/classes/Type/expectInfinity.md +65 -0
- package/docs/classes/Type/expectInt.md +64 -0
- package/docs/classes/Type/expectInteger.md +64 -0
- package/docs/classes/Type/expectList.md +63 -0
- package/docs/classes/Type/expectNaN.md +63 -0
- package/docs/classes/Type/expectNull.md +63 -0
- package/docs/classes/Type/expectNumber.md +63 -0
- package/docs/classes/Type/expectNumeric.md +63 -0
- package/docs/classes/Type/expectObject.md +64 -0
- package/docs/classes/Type/expectScalar.md +63 -0
- package/docs/classes/Type/expectString.md +63 -0
- package/docs/classes/Type/expectSymbol.md +63 -0
- package/docs/classes/Type/expectUndefined.md +63 -0
- package/docs/classes/Type.md +101 -2
- package/docs/classes.md +2 -1
- package/docs/helpers/array/array_chunk.md +80 -0
- package/docs/helpers/array/array_chunk_with_keys.md +81 -0
- package/docs/helpers/array/array_column.md +110 -0
- package/docs/helpers/array/array_combine.md +77 -0
- package/docs/helpers/array/array_count_values.md +71 -0
- package/docs/helpers/array/array_diff.md +97 -0
- package/docs/helpers/array/array_diff_assoc.md +81 -0
- package/docs/helpers/array/array_diff_key.md +81 -0
- package/docs/helpers/array/array_diff_uassoc.md +101 -0
- package/docs/helpers/array/array_diff_ukey.md +101 -0
- package/docs/helpers/array/array_fill.md +81 -0
- package/docs/helpers/array/array_fill_keys.md +73 -0
- package/docs/helpers/array/array_filter.md +79 -0
- package/docs/helpers/array/array_flip.md +70 -0
- package/docs/helpers/array/array_index_max.md +78 -0
- package/docs/helpers/array/array_index_min.md +78 -0
- package/docs/helpers/array/array_intersect.md +91 -0
- package/docs/helpers/array/array_intersect_assoc.md +91 -0
- package/docs/helpers/array/array_intersect_key.md +91 -0
- package/docs/helpers/array/array_intersect_uassoc.md +101 -0
- package/docs/helpers/array/array_intersect_ukey.md +101 -0
- package/docs/helpers/array/array_key_exists.md +73 -0
- package/docs/helpers/array/array_key_first.md +62 -0
- package/docs/helpers/array/array_key_last.md +62 -0
- package/docs/helpers/array/array_key_to_lower_case.md +57 -0
- package/docs/helpers/array/array_key_to_upper_case.md +57 -0
- package/docs/helpers/array/array_keys.md +62 -0
- package/docs/helpers/array/array_map.md +69 -0
- package/docs/helpers/array/array_merge.md +67 -0
- package/docs/helpers/array/array_merge_recursive.md +86 -0
- package/docs/helpers/array/array_pad.md +83 -0
- package/docs/helpers/array/array_pop.md +64 -0
- package/docs/helpers/array/array_product.md +62 -0
- package/docs/helpers/array/array_push.md +57 -0
- package/docs/helpers/array/array_rand.md +99 -0
- package/docs/helpers/array/array_reduce.md +77 -0
- package/docs/helpers/array/array_replace.md +85 -0
- package/docs/helpers/array/array_replace_recursive.md +87 -0
- package/docs/helpers/array/array_reverse.md +55 -0
- package/docs/helpers/array/array_search.md +74 -0
- package/docs/helpers/array/array_shift.md +64 -0
- package/docs/helpers/array/array_slice.md +65 -0
- package/docs/helpers/array/array_splice.md +103 -0
- package/docs/helpers/array/array_sum.md +55 -0
- package/docs/helpers/array/array_udiff.md +97 -0
- package/docs/helpers/array/array_udiff_assoc.md +101 -0
- package/docs/helpers/array/array_udiff_uassoc.md +88 -0
- package/docs/helpers/array/array_uintersect.md +101 -0
- package/docs/helpers/array/array_uintersect_assoc.md +102 -0
- package/docs/helpers/array/array_uintersect_uassoc.md +135 -0
- package/docs/helpers/array/array_unique.md +54 -0
- package/docs/helpers/array/array_unshift.md +58 -0
- package/docs/helpers/array/array_values.md +54 -0
- package/docs/helpers/array/array_walk.md +87 -0
- package/docs/helpers/array/array_walk_recursive.md +93 -0
- package/docs/helpers/array/count.md +54 -0
- package/docs/helpers/array/in_array.md +65 -0
- package/docs/helpers/array/natsort.md +60 -0
- package/docs/helpers/array/range.md +76 -0
- package/docs/helpers/array/shuffle.md +74 -0
- package/docs/helpers/array/sort.md +79 -0
- package/docs/helpers/expect.md +58 -0
- package/docs/helpers/expect_array.md +63 -0
- package/docs/helpers/expect_assoc.md +65 -0
- package/docs/helpers/expect_bigint.md +63 -0
- package/docs/helpers/expect_bool.md +65 -0
- package/docs/helpers/expect_boolean.md +65 -0
- package/docs/helpers/expect_char.md +63 -0
- package/docs/helpers/expect_class.md +63 -0
- package/docs/helpers/expect_float.md +65 -0
- package/docs/helpers/expect_function.md +63 -0
- package/docs/helpers/expect_infinity.md +65 -0
- package/docs/helpers/expect_int.md +65 -0
- package/docs/helpers/expect_integer.md +65 -0
- package/docs/helpers/expect_list.md +63 -0
- package/docs/helpers/expect_nan.md +63 -0
- package/docs/helpers/expect_null.md +63 -0
- package/docs/helpers/expect_number.md +63 -0
- package/docs/helpers/expect_numeric.md +63 -0
- package/docs/helpers/expect_object.md +64 -0
- package/docs/helpers/expect_scalar.md +63 -0
- package/docs/helpers/expect_string.md +63 -0
- package/docs/helpers/expect_symbol.md +63 -0
- package/docs/helpers/expect_undefined.md +64 -0
- package/docs/helpers/is_char.md +84 -0
- package/docs/helpers/is_equal.md +75 -0
- package/docs/helpers/string/is_digit_char.md +70 -0
- package/docs/helpers/string/is_whitespace_char.md +70 -0
- package/docs/helpers/string/natcompare.md +69 -0
- package/docs/helpers/string/natcompare_numeric.md +70 -0
- package/docs/helpers.md +172 -1
- package/index.mjs +91 -1
- package/package.json +1 -1
- package/prettier.config.mjs +2 -1
- package/src/classes/Expect.mjs +1445 -0
- package/src/classes/Type.mjs +2739 -1284
- package/src/constants.mjs +83 -14
- package/src/helpers/array/array_chunk.mjs +102 -0
- package/src/helpers/array/array_chunk_with_keys.mjs +102 -0
- package/src/helpers/array/array_column.mjs +131 -0
- package/src/helpers/array/array_combine.mjs +26 -0
- package/src/helpers/array/array_count_values.mjs +82 -0
- package/src/helpers/array/array_diff.mjs +77 -0
- package/src/helpers/array/array_diff_assoc.mjs +56 -0
- package/src/helpers/array/array_diff_key.mjs +56 -0
- package/src/helpers/array/array_diff_uassoc.mjs +76 -0
- package/src/helpers/array/array_diff_ukey.mjs +71 -0
- package/src/helpers/array/array_fill.mjs +108 -0
- package/src/helpers/array/array_fill_keys.mjs +90 -0
- package/src/helpers/array/array_filter.mjs +105 -0
- package/src/helpers/array/array_flip.mjs +58 -0
- package/src/helpers/array/array_index_max.mjs +82 -0
- package/src/helpers/array/array_index_min.mjs +82 -0
- package/src/helpers/array/array_intersect.mjs +71 -0
- package/src/helpers/array/array_intersect_assoc.mjs +67 -0
- package/src/helpers/array/array_intersect_key.mjs +67 -0
- package/src/helpers/array/array_intersect_uassoc.mjs +77 -0
- package/src/helpers/array/array_intersect_ukey.mjs +72 -0
- package/src/helpers/array/array_key_exists.mjs +83 -0
- package/src/helpers/array/array_key_first.mjs +73 -0
- package/src/helpers/array/array_key_last.mjs +74 -0
- package/src/helpers/array/array_key_to_lower_case.mjs +71 -0
- package/src/helpers/array/array_key_to_upper_case.mjs +71 -0
- package/src/helpers/array/array_keys.mjs +65 -0
- package/src/helpers/array/array_map.mjs +84 -0
- package/src/helpers/array/array_merge.mjs +95 -0
- package/src/helpers/array/array_merge_recursive.mjs +153 -0
- package/src/helpers/array/array_pad.mjs +105 -0
- package/src/helpers/array/array_pop.mjs +82 -0
- package/src/helpers/array/array_product.mjs +67 -0
- package/src/helpers/array/array_push.mjs +75 -0
- package/src/helpers/array/array_rand.mjs +129 -0
- package/src/helpers/array/array_reduce.mjs +90 -0
- package/src/helpers/array/array_replace.mjs +25 -0
- package/src/helpers/array/array_replace_recursive.mjs +109 -0
- package/src/helpers/array/array_reverse.mjs +62 -0
- package/src/helpers/array/array_search.mjs +104 -0
- package/src/helpers/array/array_shift.mjs +78 -0
- package/src/helpers/array/array_slice.mjs +99 -0
- package/src/helpers/array/array_splice.mjs +218 -0
- package/src/helpers/array/array_sum.mjs +60 -0
- package/src/helpers/array/array_udiff.mjs +91 -0
- package/src/helpers/array/array_udiff_assoc.mjs +71 -0
- package/src/helpers/array/array_udiff_uassoc.mjs +124 -0
- package/src/helpers/array/array_uintersect.mjs +72 -0
- package/src/helpers/array/array_uintersect_assoc.mjs +77 -0
- package/src/helpers/array/array_uintersect_uassoc.mjs +121 -0
- package/src/helpers/array/array_unique.mjs +77 -0
- package/src/helpers/array/array_unshift.mjs +64 -0
- package/src/helpers/array/array_values.mjs +57 -0
- package/src/helpers/array/array_walk.mjs +95 -0
- package/src/helpers/array/array_walk_recursive.mjs +104 -0
- package/src/helpers/array/count.mjs +57 -0
- package/src/helpers/array/in_array.mjs +67 -0
- package/src/helpers/array/natsort.mjs +62 -0
- package/src/helpers/array/range.mjs +121 -0
- package/src/helpers/array/shuffle.mjs +73 -0
- package/src/helpers/array/sort.mjs +69 -0
- package/src/helpers/expect.mjs +44 -0
- package/src/helpers/expect_array.mjs +66 -0
- package/src/helpers/expect_assoc.mjs +66 -0
- package/src/helpers/expect_bigint.mjs +66 -0
- package/src/helpers/expect_bool.mjs +66 -0
- package/src/helpers/expect_boolean.mjs +57 -0
- package/src/helpers/expect_char.mjs +66 -0
- package/src/helpers/expect_class.mjs +66 -0
- package/src/helpers/expect_float.mjs +66 -0
- package/src/helpers/expect_function.mjs +66 -0
- package/src/helpers/expect_infinity.mjs +66 -0
- package/src/helpers/expect_int.mjs +66 -0
- package/src/helpers/expect_integer.mjs +57 -0
- package/src/helpers/expect_list.mjs +66 -0
- package/src/helpers/expect_nan.mjs +66 -0
- package/src/helpers/expect_null.mjs +66 -0
- package/src/helpers/expect_number.mjs +66 -0
- package/src/helpers/expect_numeric.mjs +66 -0
- package/src/helpers/expect_object.mjs +67 -0
- package/src/helpers/expect_scalar.mjs +66 -0
- package/src/helpers/expect_string.mjs +65 -0
- package/src/helpers/expect_symbol.mjs +66 -0
- package/src/helpers/expect_undefined.mjs +66 -0
- package/src/helpers/is_char.mjs +54 -0
- package/src/helpers/is_equal.mjs +94 -0
- package/src/helpers/string/is_digit_char.mjs +60 -0
- package/src/helpers/string/is_whitespace_char.mjs +54 -0
- package/src/helpers/string/natcompare.mjs +107 -0
- package/src/helpers/string/natcompare_numeric.mjs +131 -0
- package/tests/classes/Expect/toBe.test.mjs +60 -0
- package/tests/classes/Expect/toBeArray.test.mjs +46 -0
- package/tests/classes/Expect/toBeAssoc.test.mjs +48 -0
- package/tests/classes/Expect/toBeBigInt.test.mjs +46 -0
- package/tests/classes/Expect/toBeBool.test.mjs +48 -0
- package/tests/classes/Expect/toBeBoolean.test.mjs +48 -0
- package/tests/classes/Expect/toBeChar.test.mjs +46 -0
- package/tests/classes/Expect/toBeClass.test.mjs +48 -0
- package/tests/classes/Expect/toBeFloat.test.mjs +48 -0
- package/tests/classes/Expect/toBeFunction.test.mjs +51 -0
- package/tests/classes/Expect/toBeInfinity.test.mjs +48 -0
- package/tests/classes/Expect/toBeInt.test.mjs +48 -0
- package/tests/classes/Expect/toBeInteger.test.mjs +48 -0
- package/tests/classes/Expect/toBeList.test.mjs +46 -0
- package/tests/classes/Expect/toBeNaN.test.mjs +46 -0
- package/tests/classes/Expect/toBeNull.test.mjs +46 -0
- package/tests/classes/Expect/toBeNumber.test.mjs +46 -0
- package/tests/classes/Expect/toBeNumeric.test.mjs +53 -0
- package/tests/classes/Expect/toBeObject.test.mjs +47 -0
- package/tests/classes/Expect/toBeScalar.test.mjs +63 -0
- package/tests/classes/Expect/toBeString.test.mjs +46 -0
- package/tests/classes/Expect/toBeSymbol.test.mjs +46 -0
- package/tests/classes/Expect/toBeUndefined.test.mjs +50 -0
- package/tests/classes/Expect/toEqual.test.mjs +66 -0
- package/tests/classes/Expect/toStrictEqual.test.mjs +73 -0
- package/tests/classes/Type.test.mjs +1320 -1262
- package/tests/helpers/array/array_chunk.test.mjs +49 -0
- package/tests/helpers/array/array_chunk_with_keys.test.mjs +45 -0
- package/tests/helpers/array/array_column.test.mjs +87 -0
- package/tests/helpers/array/array_combine.test.mjs +41 -0
- package/tests/helpers/array/array_count_values.test.mjs +40 -0
- package/tests/helpers/array/array_diff.test.mjs +78 -0
- package/tests/helpers/array/array_diff_assoc.test.mjs +64 -0
- package/tests/helpers/array/array_diff_key.test.mjs +64 -0
- package/tests/helpers/array/array_diff_uassoc.test.mjs +73 -0
- package/tests/helpers/array/array_diff_ukey.test.mjs +77 -0
- package/tests/helpers/array/array_fill.test.mjs +47 -0
- package/tests/helpers/array/array_fill_keys.test.mjs +35 -0
- package/tests/helpers/array/array_filter.test.mjs +38 -0
- package/tests/helpers/array/array_flip.test.mjs +33 -0
- package/tests/helpers/array/array_index_max.test.mjs +41 -0
- package/tests/helpers/array/array_index_min.test.mjs +41 -0
- package/tests/helpers/array/array_intersect.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_assoc.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_key.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_uassoc.test.mjs +76 -0
- package/tests/helpers/array/array_intersect_ukey.test.mjs +74 -0
- package/tests/helpers/array/array_key_exists.test.mjs +36 -0
- package/tests/helpers/array/array_key_first.test.mjs +29 -0
- package/tests/helpers/array/array_key_last.test.mjs +29 -0
- package/tests/helpers/array/array_key_to_lower_case.test.mjs +23 -0
- package/tests/helpers/array/array_key_to_upper_case.test.mjs +23 -0
- package/tests/helpers/array/array_keys.test.mjs +27 -0
- package/tests/helpers/array/array_map.test.mjs +32 -0
- package/tests/helpers/array/array_merge.test.mjs +37 -0
- package/tests/helpers/array/array_merge_recursive.test.mjs +65 -0
- package/tests/helpers/array/array_pad.test.mjs +48 -0
- package/tests/helpers/array/array_pop.test.mjs +29 -0
- package/tests/helpers/array/array_product.test.mjs +33 -0
- package/tests/helpers/array/array_push.test.mjs +31 -0
- package/tests/helpers/array/array_rand.test.mjs +59 -0
- package/tests/helpers/array/array_reduce.test.mjs +44 -0
- package/tests/helpers/array/array_replace.test.mjs +46 -0
- package/tests/helpers/array/array_replace_recursive.test.mjs +46 -0
- package/tests/helpers/array/array_reverse.test.mjs +31 -0
- package/tests/helpers/array/array_search.test.mjs +48 -0
- package/tests/helpers/array/array_shift.test.mjs +29 -0
- package/tests/helpers/array/array_slice.test.mjs +49 -0
- package/tests/helpers/array/array_splice.test.mjs +67 -0
- package/tests/helpers/array/array_sum.test.mjs +27 -0
- package/tests/helpers/array/array_udiff.test.mjs +95 -0
- package/tests/helpers/array/array_udiff_assoc.test.mjs +77 -0
- package/tests/helpers/array/array_udiff_uassoc.test.mjs +89 -0
- package/tests/helpers/array/array_uintersect.test.mjs +78 -0
- package/tests/helpers/array/array_uintersect_assoc.test.mjs +80 -0
- package/tests/helpers/array/array_uintersect_uassoc.test.mjs +122 -0
- package/tests/helpers/array/array_unique.test.mjs +27 -0
- package/tests/helpers/array/array_unshift.test.mjs +31 -0
- package/tests/helpers/array/array_values.test.mjs +27 -0
- package/tests/helpers/array/array_walk.test.mjs +48 -0
- package/tests/helpers/array/array_walk_recursive.test.mjs +53 -0
- package/tests/helpers/array/count.test.mjs +27 -0
- package/tests/helpers/array/in_array.test.mjs +52 -0
- package/tests/helpers/array/natsort.test.mjs +71 -0
- package/tests/helpers/array/range.test.mjs +51 -0
- package/tests/helpers/array/shuffle.test.mjs +42 -0
- package/tests/helpers/array/sort.test.mjs +60 -0
- package/tests/helpers/array.test.mjs +58 -58
- package/tests/helpers/expect.test.mjs +95 -0
- package/tests/helpers/expect_array.test.mjs +71 -0
- package/tests/helpers/expect_assoc.test.mjs +61 -0
- package/tests/helpers/expect_bigint.test.mjs +63 -0
- package/tests/helpers/expect_bool.test.mjs +59 -0
- package/tests/helpers/expect_boolean.test.mjs +61 -0
- package/tests/helpers/expect_char.test.mjs +63 -0
- package/tests/helpers/expect_class.test.mjs +64 -0
- package/tests/helpers/expect_float.test.mjs +64 -0
- package/tests/helpers/expect_function.test.mjs +65 -0
- package/tests/helpers/expect_infinity.test.mjs +62 -0
- package/tests/helpers/expect_int.test.mjs +57 -0
- package/tests/helpers/expect_integer.test.mjs +59 -0
- package/tests/helpers/expect_list.test.mjs +73 -0
- package/tests/helpers/expect_nan.test.mjs +57 -0
- package/tests/helpers/expect_null.test.mjs +57 -0
- package/tests/helpers/expect_number.test.mjs +57 -0
- package/tests/helpers/expect_numeric.test.mjs +57 -0
- package/tests/helpers/expect_object.test.mjs +63 -0
- package/tests/helpers/expect_scalar.test.mjs +72 -0
- package/tests/helpers/expect_string.test.mjs +65 -0
- package/tests/helpers/expect_symbol.test.mjs +66 -0
- package/tests/helpers/expect_undefined.test.mjs +59 -0
- package/tests/helpers/is_char.test.mjs +40 -0
- package/tests/helpers/is_equal.test.mjs +110 -0
- package/tests/helpers/string/is_digit_char.test.mjs +32 -0
- package/tests/helpers/string/is_whitespace_char.test.mjs +32 -0
- package/tests/helpers/string/natcompare.test.mjs +100 -0
- package/tests/helpers/string/natcompare_numeric.test.mjs +110 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Expect from '../classes/Expect.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Создает новый экземпляр класса `Expect` для проверки значений.
|
|
5
|
+
*
|
|
6
|
+
* ### Описание
|
|
7
|
+
*
|
|
8
|
+
* Функция `expect` используется для создания нового экземпляра класса `Expect`, который предоставляет методы для проверки различных свойств и типов значений.
|
|
9
|
+
* Она принимает одно значение, которое будет проверяться методами класса `Expect`.
|
|
10
|
+
*
|
|
11
|
+
* ### Параметры
|
|
12
|
+
*
|
|
13
|
+
* - `actual` (any): Значение, которое будет проверяться методами класса `Expect`.
|
|
14
|
+
*
|
|
15
|
+
* ### Возвращаемое значение
|
|
16
|
+
*
|
|
17
|
+
* Возвращает новый экземпляр класса `Expect`.
|
|
18
|
+
*
|
|
19
|
+
* ### Примеры использования
|
|
20
|
+
*
|
|
21
|
+
* 1. Создание экземпляра класса `Expect` и проверка значения:
|
|
22
|
+
*
|
|
23
|
+
* ```js
|
|
24
|
+
* expect(5).toBe(5); // true
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* 2. Проверка значения, являющегося массивом:
|
|
28
|
+
*
|
|
29
|
+
* ```js
|
|
30
|
+
* expect([1, 2, 3]).toBeArray(); // true
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* 3. Проверка значения, являющегося BigInt:
|
|
34
|
+
*
|
|
35
|
+
* ```js
|
|
36
|
+
* expect(123n).toBeBigInt(); // true
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @param {any} actual Значение, которое будет проверяться методами класса `Expect`.
|
|
40
|
+
* @returns {Expect} Возвращает новый экземпляр класса `Expect`.
|
|
41
|
+
*/
|
|
42
|
+
export default function expect(actual) {
|
|
43
|
+
return new Expect(actual);
|
|
44
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import is_array from './is_array.mjs';
|
|
2
|
+
import is_string from './is_string.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Проверяет, является ли значение массивом, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
6
|
+
*
|
|
7
|
+
* ### Описание
|
|
8
|
+
*
|
|
9
|
+
* Функция `expect_array` используется для проверки, является ли переданное значение массивом.
|
|
10
|
+
* Если значение не является массивом, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
11
|
+
*
|
|
12
|
+
* ### Параметры
|
|
13
|
+
*
|
|
14
|
+
* - `arr` (any): Значение для проверки.
|
|
15
|
+
* - `message` (string): Сообщение об ошибке, если значение не является массивом. По умолчанию пустая строка.
|
|
16
|
+
*
|
|
17
|
+
* ### Возвращаемое значение
|
|
18
|
+
*
|
|
19
|
+
* Возвращает `true`, если значение является массивом.
|
|
20
|
+
*
|
|
21
|
+
* ### Примеры использования
|
|
22
|
+
*
|
|
23
|
+
* 1. Проверка значения, являющегося массивом:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* const array = [1, 2, 3];
|
|
27
|
+
* const result = expect_array(array);
|
|
28
|
+
* console.log(result); // true
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* 2. Проверка значения, не являющегося массивом:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* try {
|
|
35
|
+
* const result = expect_array('not an array', 'Значение должно быть массивом.');
|
|
36
|
+
* } catch (e) {
|
|
37
|
+
* console.error(e.message); // Значение должно быть массивом.
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* try {
|
|
45
|
+
* const result = expect_array(123, 'Ожидался массив.');
|
|
46
|
+
* } catch (e) {
|
|
47
|
+
* console.error(e.message); // Ожидался массив.
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param {any} arr Значение для проверки.
|
|
52
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является массивом.
|
|
53
|
+
* @returns {boolean} Возвращает `true`, если значение является массивом.
|
|
54
|
+
* @throws {TypeError} Если значение не является массивом или если параметр `message` не является строкой.
|
|
55
|
+
*/
|
|
56
|
+
export default function expect_array(arr, message = '') {
|
|
57
|
+
if (!is_string(message)) {
|
|
58
|
+
throw new TypeError('Параметр "message" должен быть строкой.');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!is_array(arr)) {
|
|
62
|
+
throw new TypeError(message);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import is_assoc from './is_assoc.mjs';
|
|
2
|
+
import is_string from './is_string.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Проверяет, является ли значение ассоциативным массивом, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
6
|
+
*
|
|
7
|
+
* ### Описание
|
|
8
|
+
*
|
|
9
|
+
* Функция `expect_assoc` используется для проверки, является ли переданное значение ассоциативным массивом.
|
|
10
|
+
* Если значение не является ассоциативным массивом, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
11
|
+
*
|
|
12
|
+
* ### Параметры
|
|
13
|
+
*
|
|
14
|
+
* - `arr` (any): Значение для проверки.
|
|
15
|
+
* - `message` (string): Сообщение об ошибке, если значение не является ассоциативным массивом. По умолчанию пустая строка.
|
|
16
|
+
*
|
|
17
|
+
* ### Возвращаемое значение
|
|
18
|
+
*
|
|
19
|
+
* Возвращает `true`, если значение является ассоциативным массивом.
|
|
20
|
+
*
|
|
21
|
+
* ### Примеры использования
|
|
22
|
+
*
|
|
23
|
+
* 1. Проверка значения, являющегося ассоциативным массивом:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* const assoc = { a: 1, b: 2, c: 3 };
|
|
27
|
+
* const result = expect_assoc(assoc);
|
|
28
|
+
* console.log(result); // true
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* 2. Проверка значения, не являющегося ассоциативным массивом:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* try {
|
|
35
|
+
* const result = expect_assoc([1, 2, 3], 'Значение должно быть ассоциативным массивом.');
|
|
36
|
+
* } catch (e) {
|
|
37
|
+
* console.error(e.message); // Значение должно быть ассоциативным массивом.
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* try {
|
|
45
|
+
* const result = expect_assoc(123, 'Ожидался ассоциативный массив.');
|
|
46
|
+
* } catch (e) {
|
|
47
|
+
* console.error(e.message); // Ожидался ассоциативный массив.
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param {any} arr Значение для проверки.
|
|
52
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является ассоциативным массивом.
|
|
53
|
+
* @returns {boolean} Возвращает `true`, если значение является ассоциативным массивом.
|
|
54
|
+
* @throws {TypeError} Если значение не является ассоциативным массивом или если параметр `message` не является строкой.
|
|
55
|
+
*/
|
|
56
|
+
export default function expect_assoc(arr, message = '') {
|
|
57
|
+
if (!is_string(message)) {
|
|
58
|
+
throw new TypeError('Параметр "message" должен быть строкой.');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!is_assoc(arr)) {
|
|
62
|
+
throw new TypeError(message);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import is_bigint from './is_bigint.mjs';
|
|
2
|
+
import is_string from './is_string.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Проверяет, является ли значение BigInt, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
6
|
+
*
|
|
7
|
+
* ### Описание
|
|
8
|
+
*
|
|
9
|
+
* Функция `expect_bigint` используется для проверки, является ли переданное значение BigInt.
|
|
10
|
+
* Если значение не является BigInt, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
11
|
+
*
|
|
12
|
+
* ### Параметры
|
|
13
|
+
*
|
|
14
|
+
* - `value` (any): Значение для проверки.
|
|
15
|
+
* - `message` (string): Сообщение об ошибке, если значение не является BigInt. По умолчанию пустая строка.
|
|
16
|
+
*
|
|
17
|
+
* ### Возвращаемое значение
|
|
18
|
+
*
|
|
19
|
+
* Возвращает `true`, если значение является BigInt.
|
|
20
|
+
*
|
|
21
|
+
* ### Примеры использования
|
|
22
|
+
*
|
|
23
|
+
* 1. Проверка значения, являющегося BigInt:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* const value = 123n;
|
|
27
|
+
* const result = expect_bigint(value);
|
|
28
|
+
* console.log(result); // true
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* 2. Проверка значения, не являющегося BigInt:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* try {
|
|
35
|
+
* const result = expect_bigint(123, 'Значение должно быть BigInt.');
|
|
36
|
+
* } catch (e) {
|
|
37
|
+
* console.error(e.message); // Значение должно быть BigInt.
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* try {
|
|
45
|
+
* const result = expect_bigint('123', 'Ожидался BigInt.');
|
|
46
|
+
* } catch (e) {
|
|
47
|
+
* console.error(e.message); // Ожидался BigInt.
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param {any} value Значение для проверки.
|
|
52
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является BigInt.
|
|
53
|
+
* @returns {boolean} Возвращает `true`, если значение является BigInt.
|
|
54
|
+
* @throws {TypeError} Если значение не является BigInt или если параметр `message` не является строкой.
|
|
55
|
+
*/
|
|
56
|
+
export default function expect_bigint(value, message = '') {
|
|
57
|
+
if (!is_string(message)) {
|
|
58
|
+
throw new TypeError('Параметр "message" должен быть строкой.');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!is_bigint(value)) {
|
|
62
|
+
throw new TypeError(message);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import is_bool from './is_bool.mjs';
|
|
2
|
+
import is_string from './is_string.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Проверяет, является ли значение логическим типом, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
6
|
+
*
|
|
7
|
+
* ### Описание
|
|
8
|
+
*
|
|
9
|
+
* Функция `expect_bool` используется для проверки, является ли переданное значение логическим типом.
|
|
10
|
+
* Если значение не является логическим типом, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
11
|
+
*
|
|
12
|
+
* ### Параметры
|
|
13
|
+
*
|
|
14
|
+
* - `value` (any): Значение для проверки.
|
|
15
|
+
* - `message` (string): Сообщение об ошибке, если значение не является логическим типом. По умолчанию пустая строка.
|
|
16
|
+
*
|
|
17
|
+
* ### Возвращаемое значение
|
|
18
|
+
*
|
|
19
|
+
* Возвращает `true`, если значение является логическим типом.
|
|
20
|
+
*
|
|
21
|
+
* ### Примеры использования
|
|
22
|
+
*
|
|
23
|
+
* 1. Проверка значения, являющегося логическим типом:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* const value = true;
|
|
27
|
+
* const result = expect_bool(value);
|
|
28
|
+
* console.log(result); // true
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* 2. Проверка значения, не являющегося логическим типом:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* try {
|
|
35
|
+
* const result = expect_bool(123, 'Значение должно быть логическим типом.');
|
|
36
|
+
* } catch (e) {
|
|
37
|
+
* console.error(e.message); // Значение должно быть логическим типом.
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* try {
|
|
45
|
+
* const result = expect_bool('true', 'Ожидался логический тип.');
|
|
46
|
+
* } catch (e) {
|
|
47
|
+
* console.error(e.message); // Ожидался логический тип.
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param {any} value Значение для проверки.
|
|
52
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является логическим типом.
|
|
53
|
+
* @returns {boolean} Возвращает `true`, если значение является логическим типом.
|
|
54
|
+
* @throws {TypeError} Если значение не является логическим типом или если параметр `message` не является строкой.
|
|
55
|
+
*/
|
|
56
|
+
export default function expect_bool(value, message = '') {
|
|
57
|
+
if (!is_string(message)) {
|
|
58
|
+
throw new TypeError('Параметр "message" должен быть строкой.');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!is_bool(value)) {
|
|
62
|
+
throw new TypeError(message);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import expect_bool from './expect_bool.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Проверяет, является ли значение логическим типом, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
5
|
+
*
|
|
6
|
+
* ### Описание
|
|
7
|
+
*
|
|
8
|
+
* Функция `expect_boolean` используется для проверки, является ли переданное значение логическим типом.
|
|
9
|
+
* Если значение не является логическим типом, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
10
|
+
*
|
|
11
|
+
* ### Параметры
|
|
12
|
+
*
|
|
13
|
+
* - `value` (any): Значение для проверки.
|
|
14
|
+
* - `message` (string): Сообщение об ошибке, если значение не является логическим типом. По умолчанию пустая строка.
|
|
15
|
+
*
|
|
16
|
+
* ### Возвращаемое значение
|
|
17
|
+
*
|
|
18
|
+
* Возвращает `true`, если значение является логическим типом.
|
|
19
|
+
*
|
|
20
|
+
* ### Примеры использования
|
|
21
|
+
*
|
|
22
|
+
* 1. Проверка значения, являющегося логическим типом:
|
|
23
|
+
*
|
|
24
|
+
* ```js
|
|
25
|
+
* const value = true;
|
|
26
|
+
* const result = expect_boolean(value);
|
|
27
|
+
* console.log(result); // true
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* 2. Проверка значения, не являющегося логическим типом:
|
|
31
|
+
*
|
|
32
|
+
* ```js
|
|
33
|
+
* try {
|
|
34
|
+
* const result = expect_boolean(123, 'Значение должно быть логическим типом.');
|
|
35
|
+
* } catch (e) {
|
|
36
|
+
* console.error(e.message); // Значение должно быть логическим типом.
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
41
|
+
*
|
|
42
|
+
* ```js
|
|
43
|
+
* try {
|
|
44
|
+
* const result = expect_boolean('true', 'Ожидался логический тип.');
|
|
45
|
+
* } catch (e) {
|
|
46
|
+
* console.error(e.message); // Ожидался логический тип.
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @param {any} value Значение для проверки.
|
|
51
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является логическим типом.
|
|
52
|
+
* @returns {boolean} Возвращает `true`, если значение является логическим типом.
|
|
53
|
+
* @throws {TypeError} Если значение не является логическим типом или если параметр `message` не является строкой.
|
|
54
|
+
*/
|
|
55
|
+
export default function expect_boolean(value, message = '') {
|
|
56
|
+
return expect_bool(value, message);
|
|
57
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import is_char from './is_char.mjs';
|
|
2
|
+
import is_string from './is_string.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Проверяет, является ли значение символом, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
6
|
+
*
|
|
7
|
+
* ### Описание
|
|
8
|
+
*
|
|
9
|
+
* Функция `expect_char` используется для проверки, является ли переданное значение символом.
|
|
10
|
+
* Если значение не является символом, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
11
|
+
*
|
|
12
|
+
* ### Параметры
|
|
13
|
+
*
|
|
14
|
+
* - `value` (any): Значение для проверки.
|
|
15
|
+
* - `message` (string): Сообщение об ошибке, если значение не является символом. По умолчанию пустая строка.
|
|
16
|
+
*
|
|
17
|
+
* ### Возвращаемое значение
|
|
18
|
+
*
|
|
19
|
+
* Возвращает `true`, если значение является символом.
|
|
20
|
+
*
|
|
21
|
+
* ### Примеры использования
|
|
22
|
+
*
|
|
23
|
+
* 1. Проверка значения, являющегося символом:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* const value = 'a';
|
|
27
|
+
* const result = expect_char(value);
|
|
28
|
+
* console.log(result); // true
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* 2. Проверка значения, не являющегося символом:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* try {
|
|
35
|
+
* const result = expect_char('abc', 'Значение должно быть символом.');
|
|
36
|
+
* } catch (e) {
|
|
37
|
+
* console.error(e.message); // Значение должно быть символом.
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* try {
|
|
45
|
+
* const result = expect_char(123, 'Ожидался символ.');
|
|
46
|
+
* } catch (e) {
|
|
47
|
+
* console.error(e.message); // Ожидался символ.
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param {any} value Значение для проверки.
|
|
52
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является символом.
|
|
53
|
+
* @returns {boolean} Возвращает `true`, если значение является символом.
|
|
54
|
+
* @throws {TypeError} Если значение не является символом или если параметр `message` не является строкой.
|
|
55
|
+
*/
|
|
56
|
+
export default function expect_char(value, message = '') {
|
|
57
|
+
if (!is_string(message)) {
|
|
58
|
+
throw new TypeError('Параметр "message" должен быть строкой.');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!is_char(value)) {
|
|
62
|
+
throw new TypeError(message);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import is_class from './is_class.mjs';
|
|
2
|
+
import is_string from './is_string.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Проверяет, является ли значение классом, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
6
|
+
*
|
|
7
|
+
* ### Описание
|
|
8
|
+
*
|
|
9
|
+
* Функция `expect_class` используется для проверки, является ли переданное значение классом.
|
|
10
|
+
* Если значение не является классом, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
11
|
+
*
|
|
12
|
+
* ### Параметры
|
|
13
|
+
*
|
|
14
|
+
* - `value` (any): Значение для проверки.
|
|
15
|
+
* - `message` (string): Сообщение об ошибке, если значение не является классом. По умолчанию пустая строка.
|
|
16
|
+
*
|
|
17
|
+
* ### Возвращаемое значение
|
|
18
|
+
*
|
|
19
|
+
* Возвращает `true`, если значение является классом.
|
|
20
|
+
*
|
|
21
|
+
* ### Примеры использования
|
|
22
|
+
*
|
|
23
|
+
* 1. Проверка значения, являющегося классом:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* class MyClass {}
|
|
27
|
+
* const result = expect_class(MyClass);
|
|
28
|
+
* console.log(result); // true
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* 2. Проверка значения, не являющегося классом:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* try {
|
|
35
|
+
* const result = expect_class('not a class', 'Значение должно быть классом.');
|
|
36
|
+
* } catch (e) {
|
|
37
|
+
* console.error(e.message); // Значение должно быть классом.
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* try {
|
|
45
|
+
* const result = expect_class(123, 'Ожидался класс.');
|
|
46
|
+
* } catch (e) {
|
|
47
|
+
* console.error(e.message); // Ожидался класс.
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param {any} value Значение для проверки.
|
|
52
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является классом.
|
|
53
|
+
* @returns {boolean} Возвращает `true`, если значение является классом.
|
|
54
|
+
* @throws {TypeError} Если значение не является классом или если параметр `message` не является строкой.
|
|
55
|
+
*/
|
|
56
|
+
export default function expect_class(value, message = '') {
|
|
57
|
+
if (!is_string(message)) {
|
|
58
|
+
throw new TypeError('Параметр "message" должен быть строкой.');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!is_class(value)) {
|
|
62
|
+
throw new TypeError(message);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import is_float from './is_float.mjs';
|
|
2
|
+
import is_string from './is_string.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Проверяет, является ли значение числом с плавающей запятой, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
6
|
+
*
|
|
7
|
+
* ### Описание
|
|
8
|
+
*
|
|
9
|
+
* Функция `expect_float` используется для проверки, является ли переданное значение числом с плавающей запятой.
|
|
10
|
+
* Если значение не является числом с плавающей запятой, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
11
|
+
*
|
|
12
|
+
* ### Параметры
|
|
13
|
+
*
|
|
14
|
+
* - `value` (any): Значение для проверки.
|
|
15
|
+
* - `message` (string): Сообщение об ошибке, если значение не является числом с плавающей запятой. По умолчанию пустая строка.
|
|
16
|
+
*
|
|
17
|
+
* ### Возвращаемое значение
|
|
18
|
+
*
|
|
19
|
+
* Возвращает `true`, если значение является числом с плавающей запятой.
|
|
20
|
+
*
|
|
21
|
+
* ### Примеры использования
|
|
22
|
+
*
|
|
23
|
+
* 1. Проверка значения, являющегося числом с плавающей запятой:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* const value = 123.45;
|
|
27
|
+
* const result = expect_float(value);
|
|
28
|
+
* console.log(result); // true
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* 2. Проверка значения, не являющегося числом с плавающей запятой:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* try {
|
|
35
|
+
* const result = expect_float('123.45', 'Значение должно быть числом с плавающей запятой.');
|
|
36
|
+
* } catch (e) {
|
|
37
|
+
* console.error(e.message); // Значение должно быть числом с плавающей запятой.
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* try {
|
|
45
|
+
* const result = expect_float(123, 'Ожидалось число с плавающей запятой.');
|
|
46
|
+
* } catch (e) {
|
|
47
|
+
* console.error(e.message); // Ожидалось число с плавающей запятой.
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param {any} value Значение для проверки.
|
|
52
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является числом с плавающей запятой.
|
|
53
|
+
* @returns {boolean} Возвращает `true`, если значение является числом с плавающей запятой.
|
|
54
|
+
* @throws {TypeError} Если значение не является числом с плавающей запятой или если параметр `message` не является строкой.
|
|
55
|
+
*/
|
|
56
|
+
export default function expect_float(value, message = '') {
|
|
57
|
+
if (!is_string(message)) {
|
|
58
|
+
throw new TypeError('Параметр "message" должен быть строкой.');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!is_float(value)) {
|
|
62
|
+
throw new TypeError(message);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import is_function from './is_function.mjs';
|
|
2
|
+
import is_string from './is_string.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Проверяет, является ли значение функцией, и выбрасывает ошибку с указанным сообщением, если это не так.
|
|
6
|
+
*
|
|
7
|
+
* ### Описание
|
|
8
|
+
*
|
|
9
|
+
* Функция `expect_function` используется для проверки, является ли переданное значение функцией.
|
|
10
|
+
* Если значение не является функцией, функция выбрасывает ошибку типа `TypeError` с указанным сообщением.
|
|
11
|
+
*
|
|
12
|
+
* ### Параметры
|
|
13
|
+
*
|
|
14
|
+
* - `value` (any): Значение для проверки.
|
|
15
|
+
* - `message` (string): Сообщение об ошибке, если значение не является функцией. По умолчанию пустая строка.
|
|
16
|
+
*
|
|
17
|
+
* ### Возвращаемое значение
|
|
18
|
+
*
|
|
19
|
+
* Возвращает `true`, если значение является функцией.
|
|
20
|
+
*
|
|
21
|
+
* ### Примеры использования
|
|
22
|
+
*
|
|
23
|
+
* 1. Проверка значения, являющегося функцией:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* function myFunction() {}
|
|
27
|
+
* const result = expect_function(myFunction);
|
|
28
|
+
* console.log(result); // true
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* 2. Проверка значения, не являющегося функцией:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* try {
|
|
35
|
+
* const result = expect_function(123, 'Значение должно быть функцией.');
|
|
36
|
+
* } catch (e) {
|
|
37
|
+
* console.error(e.message); // Значение должно быть функцией.
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* 3. Проверка значения с использованием пользовательского сообщения об ошибке:
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* try {
|
|
45
|
+
* const result = expect_function('not a function', 'Ожидалась функция.');
|
|
46
|
+
* } catch (e) {
|
|
47
|
+
* console.error(e.message); // Ожидалась функция.
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param {any} value Значение для проверки.
|
|
52
|
+
* @param {string} [message=''] Сообщение об ошибке, если значение не является функцией.
|
|
53
|
+
* @returns {boolean} Возвращает `true`, если значение является функцией.
|
|
54
|
+
* @throws {TypeError} Если значение не является функцией или если параметр `message` не является строкой.
|
|
55
|
+
*/
|
|
56
|
+
export default function expect_function(value, message = '') {
|
|
57
|
+
if (!is_string(message)) {
|
|
58
|
+
throw new TypeError('Параметр "message" должен быть строкой.');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!is_function(value)) {
|
|
62
|
+
throw new TypeError(message);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
}
|