@rogolev/value 0.0.4 → 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.
Files changed (156) hide show
  1. package/CHANGELOG.md +177 -0
  2. package/docs/classes/Expect/toBe.md +61 -0
  3. package/docs/classes/Expect/toBeArray.md +52 -0
  4. package/docs/classes/Expect/toBeAssoc.md +53 -0
  5. package/docs/classes/Expect/toBeBigInt.md +52 -0
  6. package/docs/classes/Expect/toBeBool.md +53 -0
  7. package/docs/classes/Expect/toBeBoolean.md +53 -0
  8. package/docs/classes/Expect/toBeChar.md +53 -0
  9. package/docs/classes/Expect/toBeClass.md +53 -0
  10. package/docs/classes/Expect/toBeFloat.md +53 -0
  11. package/docs/classes/Expect/toBeFunction.md +52 -0
  12. package/docs/classes/Expect/toBeInfinity.md +53 -0
  13. package/docs/classes/Expect/toBeInt.md +53 -0
  14. package/docs/classes/Expect/toBeInteger.md +53 -0
  15. package/docs/classes/Expect/toBeList.md +53 -0
  16. package/docs/classes/Expect/toBeNaN.md +53 -0
  17. package/docs/classes/Expect/toBeNull.md +51 -0
  18. package/docs/classes/Expect/toBeNumber.md +52 -0
  19. package/docs/classes/Expect/toBeNumeric.md +53 -0
  20. package/docs/classes/Expect/toBeObject.md +52 -0
  21. package/docs/classes/Expect/toBeScalar.md +53 -0
  22. package/docs/classes/Expect/toBeString.md +52 -0
  23. package/docs/classes/Expect/toBeSymbol.md +53 -0
  24. package/docs/classes/Expect/toBeUndefined.md +54 -0
  25. package/docs/classes/Expect/toEqual.md +69 -0
  26. package/docs/classes/Expect/toStrictEqual.md +70 -0
  27. package/docs/classes/Expect.md +87 -0
  28. package/docs/classes/Type/expectArray.md +63 -0
  29. package/docs/classes/Type/expectAssoc.md +65 -0
  30. package/docs/classes/Type/expectBigInt.md +63 -0
  31. package/docs/classes/Type/expectBool.md +65 -0
  32. package/docs/classes/Type/expectBoolean.md +65 -0
  33. package/docs/classes/Type/expectChar.md +63 -0
  34. package/docs/classes/Type/expectClass.md +63 -0
  35. package/docs/classes/Type/expectFloat.md +68 -0
  36. package/docs/classes/Type/expectFunction.md +63 -0
  37. package/docs/classes/Type/expectInfinity.md +65 -0
  38. package/docs/classes/Type/expectInt.md +64 -0
  39. package/docs/classes/Type/expectInteger.md +64 -0
  40. package/docs/classes/Type/expectList.md +63 -0
  41. package/docs/classes/Type/expectNaN.md +63 -0
  42. package/docs/classes/Type/expectNull.md +63 -0
  43. package/docs/classes/Type/expectNumber.md +63 -0
  44. package/docs/classes/Type/expectNumeric.md +63 -0
  45. package/docs/classes/Type/expectObject.md +64 -0
  46. package/docs/classes/Type/expectScalar.md +63 -0
  47. package/docs/classes/Type/expectString.md +63 -0
  48. package/docs/classes/Type/expectSymbol.md +63 -0
  49. package/docs/classes/Type/expectUndefined.md +63 -0
  50. package/docs/classes/Type.md +101 -2
  51. package/docs/classes.md +2 -1
  52. package/docs/helpers/expect.md +58 -0
  53. package/docs/helpers/expect_array.md +63 -0
  54. package/docs/helpers/expect_assoc.md +65 -0
  55. package/docs/helpers/expect_bigint.md +63 -0
  56. package/docs/helpers/expect_bool.md +65 -0
  57. package/docs/helpers/expect_boolean.md +65 -0
  58. package/docs/helpers/expect_char.md +63 -0
  59. package/docs/helpers/expect_class.md +63 -0
  60. package/docs/helpers/expect_float.md +65 -0
  61. package/docs/helpers/expect_function.md +63 -0
  62. package/docs/helpers/expect_infinity.md +65 -0
  63. package/docs/helpers/expect_int.md +65 -0
  64. package/docs/helpers/expect_integer.md +65 -0
  65. package/docs/helpers/expect_list.md +63 -0
  66. package/docs/helpers/expect_nan.md +63 -0
  67. package/docs/helpers/expect_null.md +63 -0
  68. package/docs/helpers/expect_number.md +63 -0
  69. package/docs/helpers/expect_numeric.md +63 -0
  70. package/docs/helpers/expect_object.md +64 -0
  71. package/docs/helpers/expect_scalar.md +63 -0
  72. package/docs/helpers/expect_string.md +63 -0
  73. package/docs/helpers/expect_symbol.md +63 -0
  74. package/docs/helpers/expect_undefined.md +64 -0
  75. package/docs/helpers/is_equal.md +75 -0
  76. package/docs/helpers.md +47 -0
  77. package/index.mjs +25 -0
  78. package/package.json +1 -2
  79. package/src/classes/Expect.mjs +1445 -0
  80. package/src/classes/Type.mjs +2739 -1284
  81. package/src/constants.mjs +83 -14
  82. package/src/helpers/expect.mjs +44 -0
  83. package/src/helpers/expect_array.mjs +66 -0
  84. package/src/helpers/expect_assoc.mjs +66 -0
  85. package/src/helpers/expect_bigint.mjs +66 -0
  86. package/src/helpers/expect_bool.mjs +66 -0
  87. package/src/helpers/expect_boolean.mjs +57 -0
  88. package/src/helpers/expect_char.mjs +66 -0
  89. package/src/helpers/expect_class.mjs +66 -0
  90. package/src/helpers/expect_float.mjs +66 -0
  91. package/src/helpers/expect_function.mjs +66 -0
  92. package/src/helpers/expect_infinity.mjs +66 -0
  93. package/src/helpers/expect_int.mjs +66 -0
  94. package/src/helpers/expect_integer.mjs +57 -0
  95. package/src/helpers/expect_list.mjs +66 -0
  96. package/src/helpers/expect_nan.mjs +66 -0
  97. package/src/helpers/expect_null.mjs +66 -0
  98. package/src/helpers/expect_number.mjs +66 -0
  99. package/src/helpers/expect_numeric.mjs +66 -0
  100. package/src/helpers/expect_object.mjs +67 -0
  101. package/src/helpers/expect_scalar.mjs +66 -0
  102. package/src/helpers/expect_string.mjs +65 -0
  103. package/src/helpers/expect_symbol.mjs +66 -0
  104. package/src/helpers/expect_undefined.mjs +66 -0
  105. package/src/helpers/is_equal.mjs +94 -0
  106. package/tests/classes/Expect/toBe.test.mjs +60 -0
  107. package/tests/classes/Expect/toBeArray.test.mjs +46 -0
  108. package/tests/classes/Expect/toBeAssoc.test.mjs +48 -0
  109. package/tests/classes/Expect/toBeBigInt.test.mjs +46 -0
  110. package/tests/classes/Expect/toBeBool.test.mjs +48 -0
  111. package/tests/classes/Expect/toBeBoolean.test.mjs +48 -0
  112. package/tests/classes/Expect/toBeChar.test.mjs +46 -0
  113. package/tests/classes/Expect/toBeClass.test.mjs +48 -0
  114. package/tests/classes/Expect/toBeFloat.test.mjs +48 -0
  115. package/tests/classes/Expect/toBeFunction.test.mjs +51 -0
  116. package/tests/classes/Expect/toBeInfinity.test.mjs +48 -0
  117. package/tests/classes/Expect/toBeInt.test.mjs +48 -0
  118. package/tests/classes/Expect/toBeInteger.test.mjs +48 -0
  119. package/tests/classes/Expect/toBeList.test.mjs +46 -0
  120. package/tests/classes/Expect/toBeNaN.test.mjs +46 -0
  121. package/tests/classes/Expect/toBeNull.test.mjs +46 -0
  122. package/tests/classes/Expect/toBeNumber.test.mjs +46 -0
  123. package/tests/classes/Expect/toBeNumeric.test.mjs +53 -0
  124. package/tests/classes/Expect/toBeObject.test.mjs +47 -0
  125. package/tests/classes/Expect/toBeScalar.test.mjs +63 -0
  126. package/tests/classes/Expect/toBeString.test.mjs +46 -0
  127. package/tests/classes/Expect/toBeSymbol.test.mjs +46 -0
  128. package/tests/classes/Expect/toBeUndefined.test.mjs +50 -0
  129. package/tests/classes/Expect/toEqual.test.mjs +66 -0
  130. package/tests/classes/Expect/toStrictEqual.test.mjs +73 -0
  131. package/tests/classes/Type.test.mjs +1320 -1262
  132. package/tests/helpers/array.test.mjs +58 -58
  133. package/tests/helpers/expect.test.mjs +95 -0
  134. package/tests/helpers/expect_array.test.mjs +71 -0
  135. package/tests/helpers/expect_assoc.test.mjs +61 -0
  136. package/tests/helpers/expect_bigint.test.mjs +63 -0
  137. package/tests/helpers/expect_bool.test.mjs +59 -0
  138. package/tests/helpers/expect_boolean.test.mjs +61 -0
  139. package/tests/helpers/expect_char.test.mjs +63 -0
  140. package/tests/helpers/expect_class.test.mjs +64 -0
  141. package/tests/helpers/expect_float.test.mjs +64 -0
  142. package/tests/helpers/expect_function.test.mjs +65 -0
  143. package/tests/helpers/expect_infinity.test.mjs +62 -0
  144. package/tests/helpers/expect_int.test.mjs +57 -0
  145. package/tests/helpers/expect_integer.test.mjs +59 -0
  146. package/tests/helpers/expect_list.test.mjs +73 -0
  147. package/tests/helpers/expect_nan.test.mjs +57 -0
  148. package/tests/helpers/expect_null.test.mjs +57 -0
  149. package/tests/helpers/expect_number.test.mjs +57 -0
  150. package/tests/helpers/expect_numeric.test.mjs +57 -0
  151. package/tests/helpers/expect_object.test.mjs +63 -0
  152. package/tests/helpers/expect_scalar.test.mjs +72 -0
  153. package/tests/helpers/expect_string.test.mjs +65 -0
  154. package/tests/helpers/expect_symbol.test.mjs +66 -0
  155. package/tests/helpers/expect_undefined.test.mjs +59 -0
  156. package/tests/helpers/is_equal.test.mjs +110 -0
package/src/constants.mjs CHANGED
@@ -1,14 +1,83 @@
1
- export const TYPE_NULL = 'null';
2
- export const TYPE_NAN = 'NaN';
3
- export const TYPE_UNDEFINED = 'undefined';
4
- export const TYPE_INFINITY = 'infinity';
5
- export const TYPE_BOOLEAN = 'boolean';
6
- export const TYPE_INTEGER = 'integer';
7
- export const TYPE_BIGINT = 'bigint';
8
- export const TYPE_FLOAT = 'float';
9
- export const TYPE_STRING = 'string';
10
- export const TYPE_SYMBOL = 'symbol';
11
- export const TYPE_CLASS = 'class';
12
- export const TYPE_FUNCTION = 'function';
13
- export const TYPE_ARRAY = 'array';
14
- export const TYPE_OBJECT = 'object';
1
+ /**
2
+ * Константа, представляющая значение null.
3
+ * @type {string}
4
+ */
5
+ export const TYPE_NULL = 'null';
6
+
7
+ /**
8
+ * Константа, представляющая значение NaN (Not-a-Number).
9
+ * @type {string}
10
+ */
11
+ export const TYPE_NAN = 'NaN';
12
+
13
+ /**
14
+ * Константа, представляющая значение undefined.
15
+ * @type {string}
16
+ */
17
+ export const TYPE_UNDEFINED = 'undefined';
18
+
19
+ /**
20
+ * Константа, представляющая значение Infinity.
21
+ * @type {string}
22
+ */
23
+ export const TYPE_INFINITY = 'infinity';
24
+
25
+ /**
26
+ * Константа, представляющая тип boolean.
27
+ * @type {string}
28
+ */
29
+ export const TYPE_BOOLEAN = 'boolean';
30
+
31
+ /**
32
+ * Константа, представляющая тип integer (целое число).
33
+ * @type {string}
34
+ */
35
+ export const TYPE_INTEGER = 'integer';
36
+
37
+ /**
38
+ * Константа, представляющая тип bigint (большое целое число).
39
+ * @type {string}
40
+ */
41
+ export const TYPE_BIGINT = 'bigint';
42
+
43
+ /**
44
+ * Константа, представляющая тип float (число с плавающей запятой).
45
+ * @type {string}
46
+ */
47
+ export const TYPE_FLOAT = 'float';
48
+
49
+ /**
50
+ * Константа, представляющая тип string (строка).
51
+ * @type {string}
52
+ */
53
+ export const TYPE_STRING = 'string';
54
+
55
+ /**
56
+ * Константа, представляющая тип symbol (символ).
57
+ * @type {string}
58
+ */
59
+ export const TYPE_SYMBOL = 'symbol';
60
+
61
+ /**
62
+ * Константа, представляющая тип class (класс).
63
+ * @type {string}
64
+ */
65
+ export const TYPE_CLASS = 'class';
66
+
67
+ /**
68
+ * Константа, представляющая тип function (функция).
69
+ * @type {string}
70
+ */
71
+ export const TYPE_FUNCTION = 'function';
72
+
73
+ /**
74
+ * Константа, представляющая тип array (массив).
75
+ * @type {string}
76
+ */
77
+ export const TYPE_ARRAY = 'array';
78
+
79
+ /**
80
+ * Константа, представляющая тип object (объект).
81
+ * @type {string}
82
+ */
83
+ export const TYPE_OBJECT = 'object';
@@ -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
+ }