@rogolev/value 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/.prettierignore +4 -0
- package/CHANGELOG.md +56 -0
- package/LICENSE +41 -0
- package/README.md +91 -0
- package/babel.config.json +20 -0
- package/docs/helpers/array.md +80 -0
- package/docs/helpers/empty.md +77 -0
- package/docs/helpers/gettype.md +69 -0
- package/docs/helpers/is_array.md +105 -0
- package/docs/helpers/is_assoc.md +59 -0
- package/docs/helpers/is_bigint.md +57 -0
- package/docs/helpers/is_bool.md +50 -0
- package/docs/helpers/is_boolean.md +50 -0
- package/docs/helpers/is_class.md +73 -0
- package/docs/helpers/is_float.md +71 -0
- package/docs/helpers/is_function.md +62 -0
- package/docs/helpers/is_infinity.md +61 -0
- package/docs/helpers/is_int.md +81 -0
- package/docs/helpers/is_integer.md +82 -0
- package/docs/helpers/is_list.md +51 -0
- package/docs/helpers/is_nan.md +59 -0
- package/docs/helpers/is_null.md +49 -0
- package/docs/helpers/is_number.md +67 -0
- package/docs/helpers/is_numeric.md +76 -0
- package/docs/helpers/is_object.md +69 -0
- package/docs/helpers/is_scalar.md +60 -0
- package/docs/helpers/is_string.md +58 -0
- package/docs/helpers/is_symbol.md +58 -0
- package/docs/helpers/is_undefined.md +56 -0
- package/docs/helpers/print.md +187 -0
- package/docs/helpers/print_type.md +225 -0
- package/docs/helpers/settype.md +78 -0
- package/docs/helpers/to_array.md +106 -0
- package/docs/helpers/to_assoc.md +91 -0
- package/docs/helpers/to_bool.md +76 -0
- package/docs/helpers/to_boolean.md +77 -0
- package/docs/helpers/to_float.md +70 -0
- package/docs/helpers/to_int.md +87 -0
- package/docs/helpers/to_integer.md +87 -0
- package/docs/helpers/to_list.md +47 -0
- package/docs/helpers/to_object.md +76 -0
- package/docs/helpers/to_string.md +134 -0
- package/docs/helpers.md +51 -0
- package/docs/types/NaN.md +30 -0
- package/docs/types/array.md +252 -0
- package/docs/types/bigint.md +34 -0
- package/docs/types/boolean.md +47 -0
- package/docs/types/class.md +36 -0
- package/docs/types/float.md +35 -0
- package/docs/types/function.md +121 -0
- package/docs/types/infinity.md +32 -0
- package/docs/types/integer.md +35 -0
- package/docs/types/null.md +23 -0
- package/docs/types/object.md +62 -0
- package/docs/types/string.md +33 -0
- package/docs/types/symbol.md +29 -0
- package/docs/types/undefined.md +25 -0
- package/docs/types.md +44 -0
- package/eslint.config.mjs +1664 -0
- package/index.mjs +37 -0
- package/jest.config.mjs +31 -0
- package/package.json +47 -0
- package/prettier.config.mjs +224 -0
- package/src/helpers/array.mjs +107 -0
- package/src/helpers/empty.mjs +70 -0
- package/src/helpers/gettype.mjs +133 -0
- package/src/helpers/is_array.mjs +128 -0
- package/src/helpers/is_assoc.mjs +51 -0
- package/src/helpers/is_bigint.mjs +47 -0
- package/src/helpers/is_bool.mjs +43 -0
- package/src/helpers/is_boolean.mjs +43 -0
- package/src/helpers/is_class.mjs +87 -0
- package/src/helpers/is_float.mjs +67 -0
- package/src/helpers/is_function.mjs +74 -0
- package/src/helpers/is_infinity.mjs +52 -0
- package/src/helpers/is_int.mjs +57 -0
- package/src/helpers/is_integer.mjs +74 -0
- package/src/helpers/is_list.mjs +43 -0
- package/src/helpers/is_nan.mjs +51 -0
- package/src/helpers/is_null.mjs +37 -0
- package/src/helpers/is_number.mjs +49 -0
- package/src/helpers/is_numeric.mjs +64 -0
- package/src/helpers/is_object.mjs +72 -0
- package/src/helpers/is_scalar.mjs +45 -0
- package/src/helpers/is_string.mjs +46 -0
- package/src/helpers/is_symbol.mjs +46 -0
- package/src/helpers/is_undefined.mjs +44 -0
- package/src/helpers/print.mjs +245 -0
- package/src/helpers/print_type.mjs +261 -0
- package/src/helpers/settype.mjs +101 -0
- package/src/helpers/to_array.mjs +118 -0
- package/src/helpers/to_assoc.mjs +98 -0
- package/src/helpers/to_bool.mjs +68 -0
- package/src/helpers/to_boolean.mjs +64 -0
- package/src/helpers/to_float.mjs +72 -0
- package/src/helpers/to_int.mjs +93 -0
- package/src/helpers/to_integer.mjs +81 -0
- package/src/helpers/to_list.mjs +56 -0
- package/src/helpers/to_object.mjs +94 -0
- package/src/helpers/to_string.mjs +157 -0
- package/tests/helpers/array.test.mjs +58 -0
- package/tests/helpers/empty.test.mjs +22 -0
- package/tests/helpers/gettype.test.mjs +74 -0
- package/tests/helpers/is_array.test.mjs +404 -0
- package/tests/helpers/is_assoc.test.mjs +42 -0
- package/tests/helpers/is_bigint.test.mjs +51 -0
- package/tests/helpers/is_bool.test.mjs +43 -0
- package/tests/helpers/is_boolean.test.mjs +43 -0
- package/tests/helpers/is_class.test.mjs +84 -0
- package/tests/helpers/is_float.test.mjs +87 -0
- package/tests/helpers/is_function.test.mjs +83 -0
- package/tests/helpers/is_infinity.test.mjs +46 -0
- package/tests/helpers/is_int.test.mjs +45 -0
- package/tests/helpers/is_integer.test.mjs +64 -0
- package/tests/helpers/is_list.test.mjs +42 -0
- package/tests/helpers/is_nan.test.mjs +43 -0
- package/tests/helpers/is_null.test.mjs +17 -0
- package/tests/helpers/is_number.test.mjs +25 -0
- package/tests/helpers/is_numeric.test.mjs +30 -0
- package/tests/helpers/is_object.test.mjs +52 -0
- package/tests/helpers/is_scalar.test.mjs +21 -0
- package/tests/helpers/is_string.test.mjs +20 -0
- package/tests/helpers/is_symbol.test.mjs +20 -0
- package/tests/helpers/is_undefined.test.mjs +18 -0
- package/tests/helpers/print.test.mjs +62 -0
- package/tests/helpers/print_type.test.mjs +62 -0
- package/tests/helpers/settype.test.mjs +34 -0
- package/tests/helpers/to_array.test.mjs +38 -0
- package/tests/helpers/to_assoc.test.mjs +33 -0
- package/tests/helpers/to_bool.test.mjs +51 -0
- package/tests/helpers/to_boolean.test.mjs +51 -0
- package/tests/helpers/to_float.test.mjs +26 -0
- package/tests/helpers/to_int.test.mjs +48 -0
- package/tests/helpers/to_integer.test.mjs +48 -0
- package/tests/helpers/to_list.test.mjs +32 -0
- package/tests/helpers/to_object.test.mjs +36 -0
- package/tests/helpers/to_string.test.mjs +71 -0
@@ -0,0 +1,118 @@
|
|
1
|
+
import array from './array.mjs';
|
2
|
+
import is_array from './is_array.mjs';
|
3
|
+
import is_null from './is_null.mjs';
|
4
|
+
import is_undefined from './is_undefined.mjs';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Приводит значение переменной к массиву.
|
8
|
+
*
|
9
|
+
* ### Описание
|
10
|
+
*
|
11
|
+
* Функция `to_array` используется для преобразования различных типов данных в массив. Если значение
|
12
|
+
* уже является массивом (тип `Array` или ассоциативный массив), возвращается оно же. Объекты
|
13
|
+
* (экземпляры классов) преобразуются в массив с одним элементом.
|
14
|
+
*
|
15
|
+
* #### Примечание
|
16
|
+
*
|
17
|
+
* Функция `to_array` для объектов (ассоциативных массивов) возвращает результат
|
18
|
+
* работы функции `array`, которая создает объект-контейнер пар ключ-значение
|
19
|
+
* (ассоциативный массив) с помощью конструкции `Object.create(null)`,
|
20
|
+
* копирует все видимые пары в этот контейнер, а также добавляет итератор
|
21
|
+
* `Symbol.iterator` для перебора контейнера в цикле `for-of`.
|
22
|
+
*
|
23
|
+
* ### Параметры
|
24
|
+
*
|
25
|
+
* - `value` (any)
|
26
|
+
* Переменная, значение которой необходимо привести к массиву.
|
27
|
+
*
|
28
|
+
* ### Возвращаемое значение
|
29
|
+
*
|
30
|
+
* Возвращает массив, содержащий переданное значение. Если значение уже является массивом, возвращается оно же.
|
31
|
+
*
|
32
|
+
* ### Примеры использования
|
33
|
+
*
|
34
|
+
* 1. Преобразование строки в массив:
|
35
|
+
*
|
36
|
+
* ```js
|
37
|
+
* const result = to_array('example');
|
38
|
+
* // Результат: ["example"]
|
39
|
+
* ```
|
40
|
+
*
|
41
|
+
* 2. Преобразование числа в массив:
|
42
|
+
*
|
43
|
+
* ```js
|
44
|
+
* const result = to_array(123);
|
45
|
+
* // Результат: [123]
|
46
|
+
* ```
|
47
|
+
*
|
48
|
+
* 3. Преобразование массива (без изменений):
|
49
|
+
*
|
50
|
+
* ```js
|
51
|
+
* const result = to_array([1, 2, 3]);
|
52
|
+
* // Результат: [1, 2, 3]
|
53
|
+
* ```
|
54
|
+
*
|
55
|
+
* 4. Преобразование объекта в массив:
|
56
|
+
*
|
57
|
+
* Функция `to_array` для объектов (ассоциативных массивов) возвращает
|
58
|
+
* результат работы функции `array`, которая создает объект-контейнер
|
59
|
+
* пар ключ-значение (ассоциативный массив) с помощью конструкции
|
60
|
+
* `Object.create(null)`, копирует все видимые пары в этот контейнер,
|
61
|
+
* а также добавляет итератор `Symbol.iterator` для перебора контейнера
|
62
|
+
* в цикле `for-of`.
|
63
|
+
*
|
64
|
+
* ```js
|
65
|
+
* const result = to_array({ key: 'value' });
|
66
|
+
* // Результат: { key: "value" }
|
67
|
+
*
|
68
|
+
* const proto = Object.getPrototypeOf(result);
|
69
|
+
* // Результат: null
|
70
|
+
*
|
71
|
+
* for (const [key, value] of result) {
|
72
|
+
* console.log(key, value);
|
73
|
+
* }
|
74
|
+
* // Результат: 'key', 'value'
|
75
|
+
* ```
|
76
|
+
*
|
77
|
+
* 5. Преобразование экземпляра класса в массив:
|
78
|
+
*
|
79
|
+
* ```js
|
80
|
+
* class MyClass {}
|
81
|
+
*
|
82
|
+
* const instance = new MyClass();
|
83
|
+
* const result = to_array(instance);
|
84
|
+
* // Результат: [instance]
|
85
|
+
* ```
|
86
|
+
*
|
87
|
+
* 6. Преобразование null:
|
88
|
+
*
|
89
|
+
* ```js
|
90
|
+
* const result = to_array(null);
|
91
|
+
* // Результат: []
|
92
|
+
* ```
|
93
|
+
*
|
94
|
+
* 7. Преобразование undefined:
|
95
|
+
*
|
96
|
+
* ```js
|
97
|
+
* const result = to_array(undefined);
|
98
|
+
* // Результат: []
|
99
|
+
* ```
|
100
|
+
*
|
101
|
+
* @param {any} value Переменная, значение которой необходимо привести к массиву.
|
102
|
+
* @returns {Array|Object} Возвращает приведенное к массиву значение переменной `value`.
|
103
|
+
*/
|
104
|
+
export default function to_array(value) {
|
105
|
+
if (is_null(value) || is_undefined(value)) {
|
106
|
+
return [];
|
107
|
+
}
|
108
|
+
|
109
|
+
if (Array.isArray(value)) {
|
110
|
+
return value;
|
111
|
+
}
|
112
|
+
|
113
|
+
if (is_array(value)) {
|
114
|
+
return array(value);
|
115
|
+
}
|
116
|
+
|
117
|
+
return [value];
|
118
|
+
}
|
@@ -0,0 +1,98 @@
|
|
1
|
+
import is_array from './is_array.mjs';
|
2
|
+
import is_null from './is_null.mjs';
|
3
|
+
import is_undefined from './is_undefined.mjs';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Преобразует значение в ассоциативный массив.
|
7
|
+
*
|
8
|
+
* ### Описание
|
9
|
+
*
|
10
|
+
* Функция `to_assoc` используется для преобразования различных типов данных в ассоциативный массив.
|
11
|
+
* Если значение уже является объектом, возвращается оно же. Массивы преобразуются в объекты с
|
12
|
+
* индексами в качестве ключей.
|
13
|
+
*
|
14
|
+
* #### Примечание
|
15
|
+
*
|
16
|
+
* Функция `to_assoc` для массивов возвращает объект, где ключами являются индексы элементов массива.
|
17
|
+
*
|
18
|
+
* ### Параметры
|
19
|
+
*
|
20
|
+
* - `value` (any)
|
21
|
+
* Значение, которое необходимо преобразовать в ассоциативный массив.
|
22
|
+
*
|
23
|
+
* ### Возвращаемое значение
|
24
|
+
*
|
25
|
+
* Возвращает объект, представляющий ассоциативный массив. Если значение уже является объектом, возвращается оно же.
|
26
|
+
*
|
27
|
+
* ### Примеры использования
|
28
|
+
*
|
29
|
+
* 1. Преобразование строки в ассоциативный массив:
|
30
|
+
*
|
31
|
+
* ```js
|
32
|
+
* const result = to_assoc('example');
|
33
|
+
* // Результат: { 0: 'example' }
|
34
|
+
* ```
|
35
|
+
*
|
36
|
+
* 2. Преобразование числа в ассоциативный массив:
|
37
|
+
*
|
38
|
+
* ```js
|
39
|
+
* const result = to_assoc(123);
|
40
|
+
* // Результат: { 0: 123 }
|
41
|
+
* ```
|
42
|
+
*
|
43
|
+
* 3. Преобразование массива в ассоциативный массив:
|
44
|
+
*
|
45
|
+
* ```js
|
46
|
+
* const result = to_assoc([1, 2, 3]);
|
47
|
+
* // Результат: { 0: 1, 1: 2, 2: 3 }
|
48
|
+
* ```
|
49
|
+
*
|
50
|
+
* 4. Преобразование ассоциативного массива (без изменений):
|
51
|
+
*
|
52
|
+
* ```js
|
53
|
+
* const result = to_assoc({ key: 'value' });
|
54
|
+
* // Результат: { key: 'value' }
|
55
|
+
* ```
|
56
|
+
*
|
57
|
+
* 5. Преобразование экземпляра класса в ассоциативный массив:
|
58
|
+
*
|
59
|
+
* ```js
|
60
|
+
* class MyClass {}
|
61
|
+
*
|
62
|
+
* const instance = new MyClass();
|
63
|
+
* const result = to_assoc(instance);
|
64
|
+
* // Результат: { 0: instance }
|
65
|
+
* ```
|
66
|
+
*
|
67
|
+
* 6. Преобразование null:
|
68
|
+
*
|
69
|
+
* ```js
|
70
|
+
* const result = to_assoc(null);
|
71
|
+
* // Результат: {}
|
72
|
+
* ```
|
73
|
+
*
|
74
|
+
* 7. Преобразование undefined:
|
75
|
+
*
|
76
|
+
* ```js
|
77
|
+
* const result = to_assoc(undefined);
|
78
|
+
* // Результат: {}
|
79
|
+
* ```
|
80
|
+
*
|
81
|
+
* @param {any} value Значение, которое необходимо преобразовать.
|
82
|
+
* @returns {Object} Возвращает объект, представляющий ассоциативный массив.
|
83
|
+
*/
|
84
|
+
export default function to_assoc(value) {
|
85
|
+
if (is_null(value) || is_undefined(value)) {
|
86
|
+
return {};
|
87
|
+
}
|
88
|
+
|
89
|
+
if (Array.isArray(value)) {
|
90
|
+
return { ...value };
|
91
|
+
}
|
92
|
+
|
93
|
+
if (is_array(value)) {
|
94
|
+
return value;
|
95
|
+
}
|
96
|
+
|
97
|
+
return { 0: value };
|
98
|
+
}
|
@@ -0,0 +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
|
+
}
|
@@ -0,0 +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
|
+
}
|
@@ -0,0 +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
|
+
}
|
@@ -0,0 +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
|
+
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import to_int from './to_int.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Приводит значение переменной к целому числу.
|
5
|
+
*
|
6
|
+
* ### Описание
|
7
|
+
*
|
8
|
+
* Функция `to_integer` является синонимом функции `to_int` и используется для преобразования различных типов данных в целое число.
|
9
|
+
* Если значение не является числом или строкой, функция возвращает `1` для истинных значений и `0` для ложных значений.
|
10
|
+
*
|
11
|
+
* ### Параметры
|
12
|
+
*
|
13
|
+
* - `value` (any)
|
14
|
+
* Переменная, значение которой необходимо привести к целому числу.
|
15
|
+
*
|
16
|
+
* - `base` (number)
|
17
|
+
* Основание системы счисления для преобразования строки в число. По умолчанию `10`.
|
18
|
+
*
|
19
|
+
* ### Возвращаемое значение
|
20
|
+
*
|
21
|
+
* Возвращает целое число, соответствующее переданному значению.
|
22
|
+
*
|
23
|
+
* ### Примеры использования
|
24
|
+
*
|
25
|
+
* 1. Преобразование строки в целое число:
|
26
|
+
*
|
27
|
+
* ```js
|
28
|
+
* const result = to_integer('123');
|
29
|
+
* // Результат: 123
|
30
|
+
* ```
|
31
|
+
*
|
32
|
+
* 2. Преобразование числа с плавающей точкой в целое число:
|
33
|
+
*
|
34
|
+
* ```js
|
35
|
+
* const result = to_integer(123.45);
|
36
|
+
* // Результат: 123
|
37
|
+
* ```
|
38
|
+
*
|
39
|
+
* 3. Преобразование булевых значений:
|
40
|
+
*
|
41
|
+
* ```js
|
42
|
+
* const result1 = to_integer(true);
|
43
|
+
* // Результат: 1
|
44
|
+
*
|
45
|
+
* const result2 = to_integer(false);
|
46
|
+
* // Результат: 0
|
47
|
+
* ```
|
48
|
+
*
|
49
|
+
* 4. Преобразование других значений:
|
50
|
+
*
|
51
|
+
* ```js
|
52
|
+
* const result1 = to_integer(null);
|
53
|
+
* // Результат: 0
|
54
|
+
*
|
55
|
+
* const result2 = to_integer(undefined);
|
56
|
+
* // Результат: 0
|
57
|
+
*
|
58
|
+
* const result3 = to_integer('example');
|
59
|
+
* // Результат: 0
|
60
|
+
* ```
|
61
|
+
*
|
62
|
+
* 5. Преобразование строки с основанием системы счисления:
|
63
|
+
*
|
64
|
+
* ```js
|
65
|
+
* const result1 = to_integer('10', 2);
|
66
|
+
* // Результат: 2
|
67
|
+
*
|
68
|
+
* const result2 = to_integer('A', 16);
|
69
|
+
* // Результат: 10
|
70
|
+
*
|
71
|
+
* const result3 = to_integer('7', 8);
|
72
|
+
* // Результат: 7
|
73
|
+
* ```
|
74
|
+
*
|
75
|
+
* @param {any} value Переменная, значение которой необходимо привести к целому числу.
|
76
|
+
* @param {number} [base=10] Основание системы счисления для преобразования строки в число.
|
77
|
+
* @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
|
78
|
+
*/
|
79
|
+
export default function to_integer(value, base = 10) {
|
80
|
+
return to_int(value, base);
|
81
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import is_array from './is_array.mjs';
|
2
|
+
import is_null from './is_null.mjs';
|
3
|
+
import is_undefined from './is_undefined.mjs';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Преобразует значение в список.
|
7
|
+
*
|
8
|
+
* ### Параметры
|
9
|
+
*
|
10
|
+
* - `value` (any)
|
11
|
+
* Значение, которое необходимо преобразовать.
|
12
|
+
*
|
13
|
+
* ### Описание
|
14
|
+
*
|
15
|
+
* Функция `to_list` преобразует переданное значение в список.
|
16
|
+
*
|
17
|
+
* Она выполняет следующие проверки:
|
18
|
+
*
|
19
|
+
* 1. **Null и Undefined**: Возвращает пустой массив для значений `null` и `undefined`.
|
20
|
+
* 2. **Array**: Возвращает исходный массив, если он передан.
|
21
|
+
* 3. **Object**: Возвращает массив значений объекта, если передан ассоциативный массив.
|
22
|
+
* 4. **Примитивы и другие типы**: Возвращает массив, содержащий переданное значение.
|
23
|
+
*
|
24
|
+
* ### Возвращаемое значение
|
25
|
+
*
|
26
|
+
* Возвращает массив, представляющий список значений.
|
27
|
+
*
|
28
|
+
* ### Примеры использования
|
29
|
+
*
|
30
|
+
* ```js
|
31
|
+
* to_list(null); // []
|
32
|
+
* to_list(undefined); // []
|
33
|
+
* to_list([1, 2, 3]); // [1, 2, 3]
|
34
|
+
* to_list({ key: 'value' }); // ['value']
|
35
|
+
* to_list('example'); // ['example']
|
36
|
+
* to_list(123); // [123]
|
37
|
+
* ```
|
38
|
+
*
|
39
|
+
* @param {any} value Значение, которое необходимо преобразовать.
|
40
|
+
* @returns {Array} Возвращает массив, представляющий список значений.
|
41
|
+
*/
|
42
|
+
export default function to_list(value) {
|
43
|
+
if (is_null(value) || is_undefined(value)) {
|
44
|
+
return [];
|
45
|
+
}
|
46
|
+
|
47
|
+
if (Array.isArray(value)) {
|
48
|
+
return value;
|
49
|
+
}
|
50
|
+
|
51
|
+
if (is_array(value)) {
|
52
|
+
return Object.values(value);
|
53
|
+
}
|
54
|
+
|
55
|
+
return [value];
|
56
|
+
}
|