@rogolev/value 0.0.1
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/.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
|
+
}
|