@rogolev/value 0.0.2 → 0.0.3

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 (133) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +19 -1
  3. package/docs/classes/Value/constructor.md +48 -0
  4. package/docs/classes/Value/get.md +51 -0
  5. package/docs/classes/Value/getType.md +71 -0
  6. package/docs/classes/Value/isArray.md +67 -0
  7. package/docs/classes/Value/isAssoc.md +68 -0
  8. package/docs/classes/Value/isBigInt.md +52 -0
  9. package/docs/classes/Value/isBool.md +60 -0
  10. package/docs/classes/Value/isBoolean.md +60 -0
  11. package/docs/classes/Value/isClass.md +55 -0
  12. package/docs/classes/Value/isEmpty.md +84 -0
  13. package/docs/classes/Value/isFloat.md +52 -0
  14. package/docs/classes/Value/isFunction.md +60 -0
  15. package/docs/classes/Value/isInfinity.md +60 -0
  16. package/docs/classes/Value/isInt.md +52 -0
  17. package/docs/classes/Value/isInteger.md +52 -0
  18. package/docs/classes/Value/isList.md +59 -0
  19. package/docs/classes/Value/isNaN.md +79 -0
  20. package/docs/classes/Value/isNull.md +59 -0
  21. package/docs/classes/Value/isNumber.md +80 -0
  22. package/docs/classes/Value/isNumeric.md +79 -0
  23. package/docs/classes/Value/isObject.md +68 -0
  24. package/docs/classes/Value/isScalar.md +72 -0
  25. package/docs/classes/Value/isString.md +67 -0
  26. package/docs/classes/Value/isSymbol.md +75 -0
  27. package/docs/classes/Value/isUndefined.md +67 -0
  28. package/docs/classes/Value/print.md +164 -0
  29. package/docs/classes/Value/printType.md +158 -0
  30. package/docs/classes/Value/setType.md +79 -0
  31. package/docs/classes/Value/toArray.md +85 -0
  32. package/docs/classes/Value/toAssoc.md +85 -0
  33. package/docs/classes/Value/toBool.md +71 -0
  34. package/docs/classes/Value/toBoolean.md +71 -0
  35. package/docs/classes/Value/toFloat.md +72 -0
  36. package/docs/classes/Value/toInt.md +72 -0
  37. package/docs/classes/Value/toInteger.md +72 -0
  38. package/docs/classes/Value/toList.md +77 -0
  39. package/docs/classes/Value/toObject.md +78 -0
  40. package/docs/classes/Value/toPrint.md +115 -0
  41. package/docs/classes/Value/toPrintType.md +110 -0
  42. package/docs/classes/Value/toString.md +134 -0
  43. package/docs/classes/Value.md +113 -0
  44. package/docs/classes.md +2 -0
  45. package/docs/constants.md +47 -0
  46. package/docs/helpers/value.md +95 -0
  47. package/docs/helpers.md +2 -0
  48. package/index.mjs +3 -0
  49. package/package.json +2 -2
  50. package/src/classes/Convert.mjs +818 -819
  51. package/src/classes/Type.mjs +1284 -1285
  52. package/src/classes/Value.mjs +2846 -0
  53. package/src/constants.mjs +14 -0
  54. package/src/helpers/array.mjs +107 -107
  55. package/src/helpers/empty.mjs +70 -70
  56. package/src/helpers/gettype.mjs +149 -133
  57. package/src/helpers/is_array.mjs +128 -128
  58. package/src/helpers/is_assoc.mjs +51 -51
  59. package/src/helpers/is_bigint.mjs +47 -47
  60. package/src/helpers/is_bool.mjs +43 -43
  61. package/src/helpers/is_boolean.mjs +43 -43
  62. package/src/helpers/is_class.mjs +87 -87
  63. package/src/helpers/is_float.mjs +67 -67
  64. package/src/helpers/is_function.mjs +74 -74
  65. package/src/helpers/is_infinity.mjs +52 -52
  66. package/src/helpers/is_int.mjs +57 -57
  67. package/src/helpers/is_integer.mjs +74 -74
  68. package/src/helpers/is_list.mjs +43 -43
  69. package/src/helpers/is_nan.mjs +51 -51
  70. package/src/helpers/is_null.mjs +37 -37
  71. package/src/helpers/is_number.mjs +49 -49
  72. package/src/helpers/is_numeric.mjs +64 -64
  73. package/src/helpers/is_object.mjs +72 -72
  74. package/src/helpers/is_scalar.mjs +45 -45
  75. package/src/helpers/is_string.mjs +46 -46
  76. package/src/helpers/is_symbol.mjs +46 -46
  77. package/src/helpers/is_undefined.mjs +44 -44
  78. package/src/helpers/print.mjs +245 -245
  79. package/src/helpers/print_type.mjs +261 -261
  80. package/src/helpers/settype.mjs +101 -101
  81. package/src/helpers/to_array.mjs +118 -118
  82. package/src/helpers/to_assoc.mjs +98 -98
  83. package/src/helpers/to_bool.mjs +68 -68
  84. package/src/helpers/to_boolean.mjs +64 -64
  85. package/src/helpers/to_float.mjs +72 -72
  86. package/src/helpers/to_int.mjs +93 -93
  87. package/src/helpers/to_integer.mjs +81 -81
  88. package/src/helpers/to_list.mjs +56 -56
  89. package/src/helpers/to_object.mjs +94 -94
  90. package/src/helpers/to_string.mjs +157 -157
  91. package/src/helpers/value.mjs +92 -0
  92. package/tests/classes/Convert.test.mjs +398 -399
  93. package/tests/classes/Type.test.mjs +1262 -1263
  94. package/tests/classes/Value.test.mjs +423 -0
  95. package/tests/constants.test.mjs +75 -0
  96. package/tests/helpers/array.test.mjs +58 -58
  97. package/tests/helpers/empty.test.mjs +22 -22
  98. package/tests/helpers/gettype.test.mjs +74 -74
  99. package/tests/helpers/is_array.test.mjs +404 -404
  100. package/tests/helpers/is_assoc.test.mjs +42 -42
  101. package/tests/helpers/is_bigint.test.mjs +51 -51
  102. package/tests/helpers/is_bool.test.mjs +43 -43
  103. package/tests/helpers/is_boolean.test.mjs +43 -43
  104. package/tests/helpers/is_class.test.mjs +84 -84
  105. package/tests/helpers/is_float.test.mjs +87 -87
  106. package/tests/helpers/is_function.test.mjs +83 -83
  107. package/tests/helpers/is_infinity.test.mjs +46 -46
  108. package/tests/helpers/is_int.test.mjs +45 -45
  109. package/tests/helpers/is_integer.test.mjs +64 -64
  110. package/tests/helpers/is_list.test.mjs +42 -42
  111. package/tests/helpers/is_nan.test.mjs +43 -43
  112. package/tests/helpers/is_null.test.mjs +17 -17
  113. package/tests/helpers/is_number.test.mjs +25 -25
  114. package/tests/helpers/is_numeric.test.mjs +30 -30
  115. package/tests/helpers/is_object.test.mjs +52 -52
  116. package/tests/helpers/is_scalar.test.mjs +21 -21
  117. package/tests/helpers/is_string.test.mjs +20 -20
  118. package/tests/helpers/is_symbol.test.mjs +20 -20
  119. package/tests/helpers/is_undefined.test.mjs +18 -18
  120. package/tests/helpers/print.test.mjs +62 -62
  121. package/tests/helpers/print_type.test.mjs +62 -62
  122. package/tests/helpers/settype.test.mjs +34 -34
  123. package/tests/helpers/to_array.test.mjs +38 -38
  124. package/tests/helpers/to_assoc.test.mjs +33 -33
  125. package/tests/helpers/to_bool.test.mjs +51 -51
  126. package/tests/helpers/to_boolean.test.mjs +51 -51
  127. package/tests/helpers/to_float.test.mjs +26 -26
  128. package/tests/helpers/to_int.test.mjs +48 -48
  129. package/tests/helpers/to_integer.test.mjs +48 -48
  130. package/tests/helpers/to_list.test.mjs +32 -32
  131. package/tests/helpers/to_object.test.mjs +36 -36
  132. package/tests/helpers/to_string.test.mjs +71 -71
  133. package/tests/helpers/value.test.mjs +68 -0
@@ -1,68 +1,68 @@
1
- import is_array from './is_array.mjs';
2
-
3
- /**
4
- * Приводит значение переменной к логическому типу.
5
- *
6
- * ### Описание
7
- *
8
- * Функция `to_bool` используется для преобразования различных типов данных в логическое значение.
9
- * Если значение является пустым массивом, функция возвращает `false`.
10
- *
11
- * ### Параметры
12
- *
13
- * - `value` (any)
14
- * Переменная, значение которой необходимо привести к логическому типу.
15
- *
16
- * ### Возвращаемое значение
17
- *
18
- * Возвращает логическое значение, соответствующее переданному значению.
19
- *
20
- * ### Примеры использования
21
- *
22
- * 1. Преобразование пустого массива в `false`:
23
- *
24
- * ```js
25
- * const result = to_bool([]);
26
- * // Результат: false
27
- * ```
28
- *
29
- * 2. Преобразование пустого ассоциативного массива в `false`:
30
- *
31
- * ```js
32
- * const result = to_bool({});
33
- * // Результат: false
34
- * ```
35
- *
36
- * 3. Преобразование непустого массива в `true`:
37
- *
38
- * ```js
39
- * const result = to_bool([1, 2, 3]);
40
- * // Результат: true
41
- * ```
42
- *
43
- * 4. Преобразование других значений:
44
- *
45
- * ```js
46
- * const result1 = to_bool('example');
47
- * // Результат: true
48
- *
49
- * const result2 = to_bool(123);
50
- * // Результат: true
51
- *
52
- * const result3 = to_bool(null);
53
- * // Результат: false
54
- *
55
- * const result4 = to_bool(undefined);
56
- * // Результат: false
57
- * ```
58
- *
59
- * @param {any} value Переменная, значение которой необходимо привести к логическому типу.
60
- * @returns {boolean} Возвращает приведенное к логическому типу значение переменной `value`.
61
- */
62
- export default function to_bool(value) {
63
- if (is_array(value) && Object.keys(value).length === 0) {
64
- return false;
65
- }
66
-
67
- return Boolean(value);
68
- }
1
+ import is_array from './is_array.mjs';
2
+
3
+ /**
4
+ * Приводит значение переменной к логическому типу.
5
+ *
6
+ * ### Описание
7
+ *
8
+ * Функция `to_bool` используется для преобразования различных типов данных в логическое значение.
9
+ * Если значение является пустым массивом, функция возвращает `false`.
10
+ *
11
+ * ### Параметры
12
+ *
13
+ * - `value` (any)
14
+ * Переменная, значение которой необходимо привести к логическому типу.
15
+ *
16
+ * ### Возвращаемое значение
17
+ *
18
+ * Возвращает логическое значение, соответствующее переданному значению.
19
+ *
20
+ * ### Примеры использования
21
+ *
22
+ * 1. Преобразование пустого массива в `false`:
23
+ *
24
+ * ```js
25
+ * const result = to_bool([]);
26
+ * // Результат: false
27
+ * ```
28
+ *
29
+ * 2. Преобразование пустого ассоциативного массива в `false`:
30
+ *
31
+ * ```js
32
+ * const result = to_bool({});
33
+ * // Результат: false
34
+ * ```
35
+ *
36
+ * 3. Преобразование непустого массива в `true`:
37
+ *
38
+ * ```js
39
+ * const result = to_bool([1, 2, 3]);
40
+ * // Результат: true
41
+ * ```
42
+ *
43
+ * 4. Преобразование других значений:
44
+ *
45
+ * ```js
46
+ * const result1 = to_bool('example');
47
+ * // Результат: true
48
+ *
49
+ * const result2 = to_bool(123);
50
+ * // Результат: true
51
+ *
52
+ * const result3 = to_bool(null);
53
+ * // Результат: false
54
+ *
55
+ * const result4 = to_bool(undefined);
56
+ * // Результат: false
57
+ * ```
58
+ *
59
+ * @param {any} value Переменная, значение которой необходимо привести к логическому типу.
60
+ * @returns {boolean} Возвращает приведенное к логическому типу значение переменной `value`.
61
+ */
62
+ export default function to_bool(value) {
63
+ if (is_array(value) && Object.keys(value).length === 0) {
64
+ return false;
65
+ }
66
+
67
+ return Boolean(value);
68
+ }
@@ -1,64 +1,64 @@
1
- import to_bool from './to_bool.mjs';
2
-
3
- /**
4
- * Приводит значение переменной к логическому типу.
5
- *
6
- * ### Описание
7
- *
8
- * Функция `to_boolean` является синонимом функции `to_bool` и используется для преобразования различных типов данных в логическое значение.
9
- * Если значение является пустым массивом, функция возвращает `false`.
10
- *
11
- * ### Параметры
12
- *
13
- * - `value` (any)
14
- * Переменная, значение которой необходимо привести к логическому типу.
15
- *
16
- * ### Возвращаемое значение
17
- *
18
- * Возвращает логическое значение, соответствующее переданному значению.
19
- *
20
- * ### Примеры использования
21
- *
22
- * 1. Преобразование пустого массива в `false`:
23
- *
24
- * ```js
25
- * const result = to_boolean([]);
26
- * // Результат: false
27
- * ```
28
- *
29
- * 2. Преобразование пустого ассоциативного массива в `false`:
30
- *
31
- * ```js
32
- * const result = to_boolean({});
33
- * // Результат: false
34
- * ```
35
- *
36
- * 3. Преобразование непустого массива в `true`:
37
- *
38
- * ```js
39
- * const result = to_boolean([1, 2, 3]);
40
- * // Результат: true
41
- * ```
42
- *
43
- * 4. Преобразование других значений:
44
- *
45
- * ```js
46
- * const result1 = to_boolean('example');
47
- * // Результат: true
48
- *
49
- * const result2 = to_boolean(123);
50
- * // Результат: true
51
- *
52
- * const result3 = to_boolean(null);
53
- * // Результат: false
54
- *
55
- * const result4 = to_boolean(undefined);
56
- * // Результат: false
57
- * ```
58
- *
59
- * @param {any} value Переменная, значение которой необходимо привести к логическому типу.
60
- * @returns {boolean} Возвращает приведенное к логическому типу значение переменной `value`.
61
- */
62
- export default function to_boolean(value) {
63
- return to_bool(value);
64
- }
1
+ import to_bool from './to_bool.mjs';
2
+
3
+ /**
4
+ * Приводит значение переменной к логическому типу.
5
+ *
6
+ * ### Описание
7
+ *
8
+ * Функция `to_boolean` является синонимом функции `to_bool` и используется для преобразования различных типов данных в логическое значение.
9
+ * Если значение является пустым массивом, функция возвращает `false`.
10
+ *
11
+ * ### Параметры
12
+ *
13
+ * - `value` (any)
14
+ * Переменная, значение которой необходимо привести к логическому типу.
15
+ *
16
+ * ### Возвращаемое значение
17
+ *
18
+ * Возвращает логическое значение, соответствующее переданному значению.
19
+ *
20
+ * ### Примеры использования
21
+ *
22
+ * 1. Преобразование пустого массива в `false`:
23
+ *
24
+ * ```js
25
+ * const result = to_boolean([]);
26
+ * // Результат: false
27
+ * ```
28
+ *
29
+ * 2. Преобразование пустого ассоциативного массива в `false`:
30
+ *
31
+ * ```js
32
+ * const result = to_boolean({});
33
+ * // Результат: false
34
+ * ```
35
+ *
36
+ * 3. Преобразование непустого массива в `true`:
37
+ *
38
+ * ```js
39
+ * const result = to_boolean([1, 2, 3]);
40
+ * // Результат: true
41
+ * ```
42
+ *
43
+ * 4. Преобразование других значений:
44
+ *
45
+ * ```js
46
+ * const result1 = to_boolean('example');
47
+ * // Результат: true
48
+ *
49
+ * const result2 = to_boolean(123);
50
+ * // Результат: true
51
+ *
52
+ * const result3 = to_boolean(null);
53
+ * // Результат: false
54
+ *
55
+ * const result4 = to_boolean(undefined);
56
+ * // Результат: false
57
+ * ```
58
+ *
59
+ * @param {any} value Переменная, значение которой необходимо привести к логическому типу.
60
+ * @returns {boolean} Возвращает приведенное к логическому типу значение переменной `value`.
61
+ */
62
+ export default function to_boolean(value) {
63
+ return to_bool(value);
64
+ }
@@ -1,72 +1,72 @@
1
- import is_float from './is_float.mjs';
2
- import is_int from './is_int.mjs';
3
- import is_string from './is_string.mjs';
4
- import to_bool from './to_bool.mjs';
5
-
6
- /**
7
- * Приводит значение переменной к числу с плавающей точкой.
8
- *
9
- * ### Описание
10
- *
11
- * Функция `to_float` используется для преобразования различных типов данных в число с плавающей точкой. Если значение не является числом или строкой, функция возвращает `1` для истинных значений и `0` для ложных значений.
12
- *
13
- * ### Параметры
14
- *
15
- * - `value` (any)
16
- * Переменная, значение которой необходимо привести к числу с плавающей точкой.
17
- *
18
- * ### Возвращаемое значение
19
- *
20
- * Возвращает число с плавающей точкой, соответствующее переданному значению.
21
- *
22
- * ### Примеры использования
23
- *
24
- * 1. Преобразование строки в число с плавающей точкой:
25
- *
26
- * ```js
27
- * const result = to_float('123.45');
28
- * // Результат: 123.45
29
- * ```
30
- *
31
- * 2. Преобразование целого числа в число с плавающей точкой:
32
- *
33
- * ```js
34
- * const result = to_float(123);
35
- * // Результат: 123.0
36
- * ```
37
- *
38
- * 3. Преобразование булевых значений:
39
- *
40
- * ```js
41
- * const result1 = to_float(true);
42
- * // Результат: 1.0
43
- *
44
- * const result2 = to_float(false);
45
- * // Результат: 0.0
46
- * ```
47
- *
48
- * 4. Преобразование других значений:
49
- *
50
- * ```js
51
- * const result1 = to_float(null);
52
- * // Результат: 0.0
53
- *
54
- * const result2 = to_float(undefined);
55
- * // Результат: 0.0
56
- *
57
- * const result3 = to_float('example');
58
- * // Результат: 0.0
59
- * ```
60
- *
61
- * @param {any} value Переменная, значение которой необходимо привести к числу с плавающей точкой.
62
- * @returns {number} Возвращает приведенное к числу с плавающей точкой значение переменной `value`.
63
- */
64
- export default function to_float(value) {
65
- if (!is_int(value) && !is_float(value) && !is_string(value)) {
66
- return Number(to_bool(value));
67
- }
68
-
69
- const result = parseFloat(value);
70
-
71
- return Number.isNaN(result) ? 0 : result;
72
- }
1
+ import is_float from './is_float.mjs';
2
+ import is_int from './is_int.mjs';
3
+ import is_string from './is_string.mjs';
4
+ import to_bool from './to_bool.mjs';
5
+
6
+ /**
7
+ * Приводит значение переменной к числу с плавающей точкой.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `to_float` используется для преобразования различных типов данных в число с плавающей точкой. Если значение не является числом или строкой, функция возвращает `1` для истинных значений и `0` для ложных значений.
12
+ *
13
+ * ### Параметры
14
+ *
15
+ * - `value` (any)
16
+ * Переменная, значение которой необходимо привести к числу с плавающей точкой.
17
+ *
18
+ * ### Возвращаемое значение
19
+ *
20
+ * Возвращает число с плавающей точкой, соответствующее переданному значению.
21
+ *
22
+ * ### Примеры использования
23
+ *
24
+ * 1. Преобразование строки в число с плавающей точкой:
25
+ *
26
+ * ```js
27
+ * const result = to_float('123.45');
28
+ * // Результат: 123.45
29
+ * ```
30
+ *
31
+ * 2. Преобразование целого числа в число с плавающей точкой:
32
+ *
33
+ * ```js
34
+ * const result = to_float(123);
35
+ * // Результат: 123.0
36
+ * ```
37
+ *
38
+ * 3. Преобразование булевых значений:
39
+ *
40
+ * ```js
41
+ * const result1 = to_float(true);
42
+ * // Результат: 1.0
43
+ *
44
+ * const result2 = to_float(false);
45
+ * // Результат: 0.0
46
+ * ```
47
+ *
48
+ * 4. Преобразование других значений:
49
+ *
50
+ * ```js
51
+ * const result1 = to_float(null);
52
+ * // Результат: 0.0
53
+ *
54
+ * const result2 = to_float(undefined);
55
+ * // Результат: 0.0
56
+ *
57
+ * const result3 = to_float('example');
58
+ * // Результат: 0.0
59
+ * ```
60
+ *
61
+ * @param {any} value Переменная, значение которой необходимо привести к числу с плавающей точкой.
62
+ * @returns {number} Возвращает приведенное к числу с плавающей точкой значение переменной `value`.
63
+ */
64
+ export default function to_float(value) {
65
+ if (!is_int(value) && !is_float(value) && !is_string(value)) {
66
+ return Number(to_bool(value));
67
+ }
68
+
69
+ const result = parseFloat(value);
70
+
71
+ return Number.isNaN(result) ? 0 : result;
72
+ }
@@ -1,93 +1,93 @@
1
- import to_bool from './to_bool.mjs';
2
- import is_float from './is_float.mjs';
3
- import is_int from './is_int.mjs';
4
- import is_string from './is_string.mjs';
5
-
6
- /**
7
- * Приводит значение переменной к целому числу.
8
- *
9
- * ### Описание
10
- *
11
- * Функция `to_int` используется для преобразования различных типов данных в целое число. Если значение не является числом или строкой, функция возвращает `1` для истинных значений и `0` для ложных значений.
12
- *
13
- * ### Параметры
14
- *
15
- * - `value` (any)
16
- * Переменная, значение которой необходимо привести к целому числу.
17
- *
18
- * - `base` (number)
19
- * Основание системы счисления для преобразования строки в число. По умолчанию `10`.
20
- *
21
- * ### Возвращаемое значение
22
- *
23
- * Возвращает целое число, соответствующее переданному значению.
24
- *
25
- * ### Примеры использования
26
- *
27
- * 1. Преобразование строки в целое число:
28
- *
29
- * ```js
30
- * const result = to_int('123');
31
- * // Результат: 123
32
- * ```
33
- *
34
- * 2. Преобразование числа с плавающей точкой в целое число:
35
- *
36
- * ```js
37
- * const result = to_int(123.45);
38
- * // Результат: 123
39
- * ```
40
- *
41
- * 3. Преобразование булевых значений:
42
- *
43
- * ```js
44
- * const result1 = to_int(true);
45
- * // Результат: 1
46
- *
47
- * const result2 = to_int(false);
48
- * // Результат: 0
49
- * ```
50
- *
51
- * 4. Преобразование других значений:
52
- *
53
- * ```js
54
- * const result1 = to_int(null);
55
- * // Результат: 0
56
- *
57
- * const result2 = to_int(undefined);
58
- * // Результат: 0
59
- *
60
- * const result3 = to_int('example');
61
- * // Результат: 0
62
- * ```
63
- *
64
- * 5. Преобразование строки с основанием системы счисления:
65
- *
66
- * ```js
67
- * const result1 = to_int('10', 2);
68
- * // Результат: 2
69
- *
70
- * const result2 = to_int('A', 16);
71
- * // Результат: 10
72
- *
73
- * const result3 = to_int('7', 8);
74
- * // Результат: 7
75
- * ```
76
- *
77
- * @param {any} value Переменная, значение которой необходимо привести к целому числу.
78
- * @param {number} [base=10] Основание системы счисления для преобразования строки в число.
79
- * @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
80
- */
81
- export default function to_int(value, base = 10) {
82
- if (!is_int(base)) {
83
- throw new TypeError('Параметр "base" должен быть целым числом.');
84
- }
85
-
86
- if (!is_int(value) && !is_float(value) && !is_string(value)) {
87
- return Number(to_bool(value));
88
- }
89
-
90
- const result = parseInt(value, base);
91
-
92
- return Number.isNaN(result) ? 0 : result;
93
- }
1
+ import to_bool from './to_bool.mjs';
2
+ import is_float from './is_float.mjs';
3
+ import is_int from './is_int.mjs';
4
+ import is_string from './is_string.mjs';
5
+
6
+ /**
7
+ * Приводит значение переменной к целому числу.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `to_int` используется для преобразования различных типов данных в целое число. Если значение не является числом или строкой, функция возвращает `1` для истинных значений и `0` для ложных значений.
12
+ *
13
+ * ### Параметры
14
+ *
15
+ * - `value` (any)
16
+ * Переменная, значение которой необходимо привести к целому числу.
17
+ *
18
+ * - `base` (number)
19
+ * Основание системы счисления для преобразования строки в число. По умолчанию `10`.
20
+ *
21
+ * ### Возвращаемое значение
22
+ *
23
+ * Возвращает целое число, соответствующее переданному значению.
24
+ *
25
+ * ### Примеры использования
26
+ *
27
+ * 1. Преобразование строки в целое число:
28
+ *
29
+ * ```js
30
+ * const result = to_int('123');
31
+ * // Результат: 123
32
+ * ```
33
+ *
34
+ * 2. Преобразование числа с плавающей точкой в целое число:
35
+ *
36
+ * ```js
37
+ * const result = to_int(123.45);
38
+ * // Результат: 123
39
+ * ```
40
+ *
41
+ * 3. Преобразование булевых значений:
42
+ *
43
+ * ```js
44
+ * const result1 = to_int(true);
45
+ * // Результат: 1
46
+ *
47
+ * const result2 = to_int(false);
48
+ * // Результат: 0
49
+ * ```
50
+ *
51
+ * 4. Преобразование других значений:
52
+ *
53
+ * ```js
54
+ * const result1 = to_int(null);
55
+ * // Результат: 0
56
+ *
57
+ * const result2 = to_int(undefined);
58
+ * // Результат: 0
59
+ *
60
+ * const result3 = to_int('example');
61
+ * // Результат: 0
62
+ * ```
63
+ *
64
+ * 5. Преобразование строки с основанием системы счисления:
65
+ *
66
+ * ```js
67
+ * const result1 = to_int('10', 2);
68
+ * // Результат: 2
69
+ *
70
+ * const result2 = to_int('A', 16);
71
+ * // Результат: 10
72
+ *
73
+ * const result3 = to_int('7', 8);
74
+ * // Результат: 7
75
+ * ```
76
+ *
77
+ * @param {any} value Переменная, значение которой необходимо привести к целому числу.
78
+ * @param {number} [base=10] Основание системы счисления для преобразования строки в число.
79
+ * @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
80
+ */
81
+ export default function to_int(value, base = 10) {
82
+ if (!is_int(base)) {
83
+ throw new TypeError('Параметр "base" должен быть целым числом.');
84
+ }
85
+
86
+ if (!is_int(value) && !is_float(value) && !is_string(value)) {
87
+ return Number(to_bool(value));
88
+ }
89
+
90
+ const result = parseInt(value, base);
91
+
92
+ return Number.isNaN(result) ? 0 : result;
93
+ }