@rogolev/value 0.0.1 → 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.
- package/.prettierignore +4 -4
- package/CHANGELOG.md +82 -56
- package/LICENSE +41 -41
- package/README.md +118 -91
- package/babel.config.json +20 -20
- package/docs/classes/Convert/toArray.md +100 -0
- package/docs/classes/Convert/toAssoc.md +90 -0
- package/docs/classes/Convert/toBool.md +72 -0
- package/docs/classes/Convert/toBoolean.md +72 -0
- package/docs/classes/Convert/toFloat.md +69 -0
- package/docs/classes/Convert/toInt.md +86 -0
- package/docs/classes/Convert/toInteger.md +86 -0
- package/docs/classes/Convert/toList.md +73 -0
- package/docs/classes/Convert/toObject.md +76 -0
- package/docs/classes/Convert/toString.md +125 -0
- package/docs/classes/Convert.md +44 -0
- package/docs/classes/Type/isArray.md +106 -0
- package/docs/classes/Type/isAssoc.md +57 -0
- package/docs/classes/Type/isBigInt.md +49 -0
- package/docs/classes/Type/isBool.md +51 -0
- package/docs/classes/Type/isBoolean.md +51 -0
- package/docs/classes/Type/isClass.md +60 -0
- package/docs/classes/Type/isEmpty.md +53 -0
- package/docs/classes/Type/isFloat.md +77 -0
- package/docs/classes/Type/isFunction.md +64 -0
- package/docs/classes/Type/isInfinity.md +59 -0
- package/docs/classes/Type/isInt.md +77 -0
- package/docs/classes/Type/isInteger.md +77 -0
- package/docs/classes/Type/isList.md +49 -0
- package/docs/classes/Type/isNaN.md +57 -0
- package/docs/classes/Type/isNull.md +49 -0
- package/docs/classes/Type/isNumber.md +60 -0
- package/docs/classes/Type/isNumeric.md +58 -0
- package/docs/classes/Type/isObject.md +53 -0
- package/docs/classes/Type/isScalar.md +54 -0
- package/docs/classes/Type/isString.md +54 -0
- package/docs/classes/Type/isSymbol.md +56 -0
- package/docs/classes/Type/isUndefined.md +52 -0
- package/docs/classes/Type.md +74 -0
- package/docs/classes/Value/constructor.md +48 -0
- package/docs/classes/Value/get.md +51 -0
- package/docs/classes/Value/getType.md +71 -0
- package/docs/classes/Value/isArray.md +67 -0
- package/docs/classes/Value/isAssoc.md +68 -0
- package/docs/classes/Value/isBigInt.md +52 -0
- package/docs/classes/Value/isBool.md +60 -0
- package/docs/classes/Value/isBoolean.md +60 -0
- package/docs/classes/Value/isClass.md +55 -0
- package/docs/classes/Value/isEmpty.md +84 -0
- package/docs/classes/Value/isFloat.md +52 -0
- package/docs/classes/Value/isFunction.md +60 -0
- package/docs/classes/Value/isInfinity.md +60 -0
- package/docs/classes/Value/isInt.md +52 -0
- package/docs/classes/Value/isInteger.md +52 -0
- package/docs/classes/Value/isList.md +59 -0
- package/docs/classes/Value/isNaN.md +79 -0
- package/docs/classes/Value/isNull.md +59 -0
- package/docs/classes/Value/isNumber.md +80 -0
- package/docs/classes/Value/isNumeric.md +79 -0
- package/docs/classes/Value/isObject.md +68 -0
- package/docs/classes/Value/isScalar.md +72 -0
- package/docs/classes/Value/isString.md +67 -0
- package/docs/classes/Value/isSymbol.md +75 -0
- package/docs/classes/Value/isUndefined.md +67 -0
- package/docs/classes/Value/print.md +164 -0
- package/docs/classes/Value/printType.md +158 -0
- package/docs/classes/Value/setType.md +79 -0
- package/docs/classes/Value/toArray.md +85 -0
- package/docs/classes/Value/toAssoc.md +85 -0
- package/docs/classes/Value/toBool.md +71 -0
- package/docs/classes/Value/toBoolean.md +71 -0
- package/docs/classes/Value/toFloat.md +72 -0
- package/docs/classes/Value/toInt.md +72 -0
- package/docs/classes/Value/toInteger.md +72 -0
- package/docs/classes/Value/toList.md +77 -0
- package/docs/classes/Value/toObject.md +78 -0
- package/docs/classes/Value/toPrint.md +115 -0
- package/docs/classes/Value/toPrintType.md +110 -0
- package/docs/classes/Value/toString.md +134 -0
- package/docs/classes/Value.md +113 -0
- package/docs/classes.md +11 -0
- package/docs/constants.md +47 -0
- package/docs/helpers/array.md +80 -80
- package/docs/helpers/empty.md +77 -77
- package/docs/helpers/gettype.md +69 -69
- package/docs/helpers/is_array.md +105 -105
- package/docs/helpers/is_assoc.md +59 -59
- package/docs/helpers/is_bigint.md +57 -57
- package/docs/helpers/is_bool.md +50 -50
- package/docs/helpers/is_boolean.md +50 -50
- package/docs/helpers/is_class.md +73 -73
- package/docs/helpers/is_float.md +71 -71
- package/docs/helpers/is_function.md +62 -62
- package/docs/helpers/is_infinity.md +61 -61
- package/docs/helpers/is_int.md +81 -81
- package/docs/helpers/is_integer.md +82 -82
- package/docs/helpers/is_list.md +51 -51
- package/docs/helpers/is_nan.md +59 -59
- package/docs/helpers/is_null.md +49 -49
- package/docs/helpers/is_number.md +67 -67
- package/docs/helpers/is_numeric.md +76 -76
- package/docs/helpers/is_object.md +69 -69
- package/docs/helpers/is_scalar.md +60 -60
- package/docs/helpers/is_string.md +58 -58
- package/docs/helpers/is_symbol.md +58 -58
- package/docs/helpers/is_undefined.md +56 -56
- package/docs/helpers/print.md +187 -187
- package/docs/helpers/print_type.md +225 -225
- package/docs/helpers/settype.md +78 -78
- package/docs/helpers/to_array.md +106 -106
- package/docs/helpers/to_assoc.md +91 -91
- package/docs/helpers/to_bool.md +76 -76
- package/docs/helpers/to_boolean.md +77 -77
- package/docs/helpers/to_float.md +70 -70
- package/docs/helpers/to_int.md +87 -87
- package/docs/helpers/to_integer.md +87 -87
- package/docs/helpers/to_list.md +47 -47
- package/docs/helpers/to_object.md +76 -76
- package/docs/helpers/to_string.md +134 -134
- package/docs/helpers/value.md +95 -0
- package/docs/helpers.md +53 -51
- package/docs/types/NaN.md +30 -30
- package/docs/types/array.md +252 -252
- package/docs/types/bigint.md +34 -34
- package/docs/types/boolean.md +47 -47
- package/docs/types/class.md +36 -36
- package/docs/types/float.md +35 -35
- package/docs/types/function.md +121 -121
- package/docs/types/infinity.md +32 -32
- package/docs/types/integer.md +35 -35
- package/docs/types/null.md +23 -23
- package/docs/types/object.md +62 -62
- package/docs/types/string.md +33 -33
- package/docs/types/symbol.md +29 -29
- package/docs/types/undefined.md +25 -25
- package/docs/types.md +44 -44
- package/eslint.config.mjs +1664 -1664
- package/index.mjs +43 -37
- package/jest.config.mjs +31 -31
- package/package.json +48 -47
- package/prettier.config.mjs +224 -224
- package/src/classes/Convert.mjs +818 -0
- package/src/classes/Type.mjs +1284 -0
- package/src/classes/Value.mjs +2846 -0
- package/src/constants.mjs +14 -0
- package/src/helpers/gettype.mjs +30 -14
- package/src/helpers/value.mjs +92 -0
- package/tests/classes/Convert.test.mjs +398 -0
- package/tests/classes/Type.test.mjs +1262 -0
- package/tests/classes/Value.test.mjs +423 -0
- package/tests/constants.test.mjs +75 -0
- package/tests/helpers/value.test.mjs +68 -0
package/.prettierignore
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
**/.git
|
|
2
|
-
**/.svn
|
|
3
|
-
**/.hg
|
|
4
|
-
**/node_modules
|
|
1
|
+
**/.git
|
|
2
|
+
**/.svn
|
|
3
|
+
**/.hg
|
|
4
|
+
**/node_modules
|
package/CHANGELOG.md
CHANGED
|
@@ -1,56 +1,82 @@
|
|
|
1
|
-
# v0.0.
|
|
2
|
-
|
|
3
|
-
## Добавлено
|
|
4
|
-
|
|
5
|
-
###
|
|
6
|
-
|
|
7
|
-
- [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- [
|
|
33
|
-
|
|
34
|
-
- [
|
|
35
|
-
|
|
36
|
-
- [
|
|
37
|
-
|
|
38
|
-
- [
|
|
39
|
-
|
|
40
|
-
- [
|
|
41
|
-
- [
|
|
42
|
-
`
|
|
43
|
-
- [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- [
|
|
48
|
-
|
|
49
|
-
- [
|
|
50
|
-
|
|
51
|
-
- [
|
|
52
|
-
|
|
53
|
-
- [
|
|
54
|
-
- [
|
|
55
|
-
- [
|
|
56
|
-
- [
|
|
1
|
+
# v0.0.3
|
|
2
|
+
|
|
3
|
+
## Добавлено
|
|
4
|
+
|
|
5
|
+
### Классы для работы с типами
|
|
6
|
+
|
|
7
|
+
- [Value](./docs/classes/Value.md) — Класс, представляющий обертку для значений различных
|
|
8
|
+
типов и предоставляющий методы для работы с ними.
|
|
9
|
+
|
|
10
|
+
### Помощники для работы с типами данных
|
|
11
|
+
|
|
12
|
+
- [value](./docs/helpers/value.md) — Создает новый экземпляр класса `Value` с заданным
|
|
13
|
+
значением.
|
|
14
|
+
|
|
15
|
+
# v0.0.2
|
|
16
|
+
|
|
17
|
+
## Добавлено
|
|
18
|
+
|
|
19
|
+
### Классы для работы с типами
|
|
20
|
+
|
|
21
|
+
- [Convert](./docs/classes/Convert.md) — Класс, предоставляющий методы для преобразования
|
|
22
|
+
различных типов данных в JavaScript.
|
|
23
|
+
- [Type](./docs/classes/Type.md) — Класс, предоставляющий методы для проверки типов данных в
|
|
24
|
+
JavaScript.
|
|
25
|
+
|
|
26
|
+
# v0.0.1
|
|
27
|
+
|
|
28
|
+
## Добавлено
|
|
29
|
+
|
|
30
|
+
### Помощники для работы с типами данных
|
|
31
|
+
|
|
32
|
+
- [array](./docs/helpers/array.md) — Создаёт массив из переданных значений, обрабатывая
|
|
33
|
+
ассоциативные массивы (объекты с ключами).
|
|
34
|
+
- [empty](./docs/helpers/empty.md) — Проверяет, является ли переменная пустой.
|
|
35
|
+
- [gettype](./docs/helpers/gettype.md) — Определяет тип переданного значения.
|
|
36
|
+
- [is_array](./docs/helpers/is_array.md) — Проверяет, является ли переданное значение массивом
|
|
37
|
+
или ассоциативным массивом (объектом с ключами и значениями).
|
|
38
|
+
- [is_assoc](./docs/helpers/is_assoc.md) — Проверяет, является ли значение ассоциативным
|
|
39
|
+
массивом.
|
|
40
|
+
- [is_bigint](./docs/helpers/is_bigint.md) — Проверяет, является ли значение типом `bigint`.
|
|
41
|
+
- [is_bool](./docs/helpers/is_bool.md) — Проверяет, является ли переданное значение логическим
|
|
42
|
+
типом (`boolean`).
|
|
43
|
+
- [is_boolean](./docs/helpers/is_boolean.md) — Проверяет, является ли переданное значение
|
|
44
|
+
логическим типом (`boolean`).
|
|
45
|
+
- [is_class](./docs/helpers/is_class.md) — Проверяет, является ли переданная переменная
|
|
46
|
+
классом.
|
|
47
|
+
- [is_float](./docs/helpers/is_float.md) — Проверяет, является ли значение числом с плавающей
|
|
48
|
+
точкой.
|
|
49
|
+
- [is_function](./docs/helpers/is_function.md) — Проверяет, что значение является функцией,
|
|
50
|
+
исключая классы.
|
|
51
|
+
- [is_infinity](./docs/helpers/is_infinity.md) — Проверяет, является ли значение
|
|
52
|
+
бесконечностью (Infinity или -Infinity).
|
|
53
|
+
- [is_int](./docs/helpers/is_int.md) — Проверяет, является ли значение целым числом.
|
|
54
|
+
- [is_integer](./docs/helpers/is_integer.md) — Проверяет, является ли значение целым числом.
|
|
55
|
+
- [is_list](./docs/helpers/is_list.md) — Проверяет, является ли значение списком.
|
|
56
|
+
- [is_nan](./docs/helpers/is_nan.md) — Проверяет, является ли значение NaN.
|
|
57
|
+
- [is_null](./docs/helpers/is_null.md) — Проверяет, является ли значение `null`.
|
|
58
|
+
- [is_number](./docs/helpers/is_number.md) — Проверяет, является ли значение числом.
|
|
59
|
+
- [is_numeric](./docs/helpers/is_numeric.md) — Проверяет, является ли значение числом или
|
|
60
|
+
числовой строкой.
|
|
61
|
+
- [is_object](./docs/helpers/is_object.md) — Проверяет, является ли переданная переменная
|
|
62
|
+
объектом, созданным с использованием класса.
|
|
63
|
+
- [is_scalar](./docs/helpers/is_scalar.md) — Проверяет, является ли значение скалярным.
|
|
64
|
+
- [is_string](./docs/helpers/is_string.md) — Проверяет, является ли значение строкой.
|
|
65
|
+
- [is_symbol](./docs/helpers/is_symbol.md) — Проверяет, является ли значение символом.
|
|
66
|
+
- [is_undefined](./docs/helpers/is_undefined.md) — Проверяет, является ли значение
|
|
67
|
+
`undefined`.
|
|
68
|
+
- [print](./docs/helpers/print.md) — Преобразует значение в строку и выводит его на консоль.
|
|
69
|
+
- [print_type](./docs/helpers/print_type.md) — Преобразует значение в строку с указанием типа
|
|
70
|
+
и выводит его на консоль.
|
|
71
|
+
- [settype](./docs/helpers/settype.md) — Преобразует значение в указанный тип.
|
|
72
|
+
- [to_array](./docs/helpers/to_array.md) — Преобразует значение в массив.
|
|
73
|
+
- [to_assoc](./docs/helpers/to_assoc.md) — Преобразует значение в ассоциативный массив.
|
|
74
|
+
- [to_bool](./docs/helpers/to_bool.md) — Преобразует значение в логическое значение.
|
|
75
|
+
- [to_boolean](./docs/helpers/to_bool.md) — Преобразует значение в логическое значение.
|
|
76
|
+
- [to_float](./docs/helpers/to_float.md) — Преобразует значение в число с плавающей точкой.
|
|
77
|
+
- [to_int](./docs/helpers/to_int.md) — Преобразует значение в целое число.
|
|
78
|
+
- [to_integer](./docs/helpers/to_integer.md) — Преобразует значение в целое число.
|
|
79
|
+
- [to_list](./docs/helpers/to_list.md) — Преобразует значение в список.
|
|
80
|
+
- [to_object](./docs/helpers/to_object.md) — Преобразует значение в объект.
|
|
81
|
+
- [to_string](./docs/helpers/to_string.md) — Преобразует значение в строку.
|
|
82
|
+
|
package/LICENSE
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Роголев Дмитрий Александрович
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
6
|
-
associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
7
|
-
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
8
|
-
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
|
9
|
-
furnished to do so, subject to the following conditions:
|
|
10
|
-
|
|
11
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
12
|
-
portions of the Software.
|
|
13
|
-
|
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
|
15
|
-
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
16
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
17
|
-
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
18
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
|
-
|
|
20
|
-
# Перевод
|
|
21
|
-
|
|
22
|
-
Лицензия MIT
|
|
23
|
-
|
|
24
|
-
Авторское право (c) 2025 Роголев Дмитрий Александрович
|
|
25
|
-
|
|
26
|
-
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного программного
|
|
27
|
-
обеспечения и сопутствующей документации (в дальнейшем "Программное обеспечение"), использовать
|
|
28
|
-
Программное обеспечение без ограничений, включая неограниченное право на использование, копирование,
|
|
29
|
-
изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного
|
|
30
|
-
обеспечения, а также лицам, которым предоставляется данное Программное обеспечение, при соблюдении
|
|
31
|
-
следующих условий:
|
|
32
|
-
|
|
33
|
-
Вышеуказанное уведомление об авторских правах и данное разрешение должны быть включены во все копии
|
|
34
|
-
или значимые части данного Программного обеспечения.
|
|
35
|
-
|
|
36
|
-
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
|
|
37
|
-
ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ
|
|
38
|
-
ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ В КОЕМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ
|
|
39
|
-
ОТВЕТСТВЕННОСТИ ЗА КАКИЕ-ЛИБО ИСКИ, УЩЕРБ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, НЕЗАВИСИМО ОТ ДЕЙСТВИЯ ДОГОВОРА,
|
|
40
|
-
ДЕЛИКТА ИЛИ ИНАЧЕ, ВОЗНИКШИЕ ИЗ, ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ
|
|
41
|
-
ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Роголев Дмитрий Александрович
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
6
|
+
associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
7
|
+
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
8
|
+
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
furnished to do so, subject to the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
12
|
+
portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
|
15
|
+
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
16
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
17
|
+
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
18
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
|
+
|
|
20
|
+
# Перевод
|
|
21
|
+
|
|
22
|
+
Лицензия MIT
|
|
23
|
+
|
|
24
|
+
Авторское право (c) 2025 Роголев Дмитрий Александрович
|
|
25
|
+
|
|
26
|
+
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного программного
|
|
27
|
+
обеспечения и сопутствующей документации (в дальнейшем "Программное обеспечение"), использовать
|
|
28
|
+
Программное обеспечение без ограничений, включая неограниченное право на использование, копирование,
|
|
29
|
+
изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного
|
|
30
|
+
обеспечения, а также лицам, которым предоставляется данное Программное обеспечение, при соблюдении
|
|
31
|
+
следующих условий:
|
|
32
|
+
|
|
33
|
+
Вышеуказанное уведомление об авторских правах и данное разрешение должны быть включены во все копии
|
|
34
|
+
или значимые части данного Программного обеспечения.
|
|
35
|
+
|
|
36
|
+
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
|
|
37
|
+
ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ
|
|
38
|
+
ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ В КОЕМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ
|
|
39
|
+
ОТВЕТСТВЕННОСТИ ЗА КАКИЕ-ЛИБО ИСКИ, УЩЕРБ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, НЕЗАВИСИМО ОТ ДЕЙСТВИЯ ДОГОВОРА,
|
|
40
|
+
ДЕЛИКТА ИЛИ ИНАЧЕ, ВОЗНИКШИЕ ИЗ, ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ
|
|
41
|
+
ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
|
package/README.md
CHANGED
|
@@ -1,91 +1,118 @@
|
|
|
1
|
-
# value.js
|
|
2
|
-
|
|
3
|
-
**value.js** — Библиотека для **JavaScript**, переосмысливающая типы данных и работу с ними.
|
|
4
|
-
|
|
5
|
-
## Документация
|
|
6
|
-
|
|
7
|
-
[Типы данных в value.js](./docs/types.md).
|
|
8
|
-
|
|
9
|
-
[
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
//
|
|
51
|
-
console.log(is_array(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
//
|
|
60
|
-
console.log(
|
|
61
|
-
|
|
62
|
-
//
|
|
63
|
-
console.log(
|
|
64
|
-
|
|
65
|
-
//
|
|
66
|
-
console.log(
|
|
67
|
-
|
|
68
|
-
// Класс
|
|
69
|
-
console.log(
|
|
70
|
-
|
|
71
|
-
//
|
|
72
|
-
console.log(
|
|
73
|
-
|
|
74
|
-
//
|
|
75
|
-
console.log(
|
|
76
|
-
|
|
77
|
-
//
|
|
78
|
-
console.log(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
1
|
+
# value.js
|
|
2
|
+
|
|
3
|
+
**value.js** — Библиотека для **JavaScript**, переосмысливающая типы данных и работу с ними.
|
|
4
|
+
|
|
5
|
+
## Документация
|
|
6
|
+
|
|
7
|
+
[Типы данных в value.js](./docs/types.md).
|
|
8
|
+
|
|
9
|
+
[Классы](./docs/classes.md)
|
|
10
|
+
|
|
11
|
+
[Помощники для работы с типами данных value.js](./docs/helpers.md)
|
|
12
|
+
|
|
13
|
+
## Установка
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npm install @rogolev/value
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Примеры использования
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
import {
|
|
23
|
+
array,
|
|
24
|
+
is_array,
|
|
25
|
+
is_object,
|
|
26
|
+
is_class,
|
|
27
|
+
is_function,
|
|
28
|
+
is_int,
|
|
29
|
+
is_float,
|
|
30
|
+
gettype,
|
|
31
|
+
value,
|
|
32
|
+
} from '@rogolev/value.js';
|
|
33
|
+
|
|
34
|
+
// Создаем ассоциативный массив - контейнер пар ключ-значение
|
|
35
|
+
const assoc = array({ key1: 'value1', key2: 'value2', key3: 'value3' });
|
|
36
|
+
|
|
37
|
+
console.log(assoc); // {key1: 'value1', key2: 'value2', key3: 'value3'}
|
|
38
|
+
|
|
39
|
+
// Ассоциативные массивы создаются с помощью конструкции Object.create(null)
|
|
40
|
+
console.log(Object.getPrototypeOf(assoc)); // null
|
|
41
|
+
|
|
42
|
+
// Функция array добавляет итератор Symbol.iterator к ассоциативным массивам
|
|
43
|
+
for (const [key, value] of assoc) {
|
|
44
|
+
console.log(key, value);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Ассоциативные массивы являются массивами
|
|
48
|
+
console.log(is_array(assoc)); // true
|
|
49
|
+
|
|
50
|
+
// Списки являются массивами
|
|
51
|
+
console.log(is_array([1, 2, 3])); // true
|
|
52
|
+
|
|
53
|
+
class stdClass {}
|
|
54
|
+
function MyFunction() {}
|
|
55
|
+
|
|
56
|
+
const object = new stdClass();
|
|
57
|
+
const objFunc = new MyFunction();
|
|
58
|
+
|
|
59
|
+
// Экземпляры классов не являются массивами
|
|
60
|
+
console.log(is_array(object)); // false
|
|
61
|
+
|
|
62
|
+
// Экземпляр класса является объектом
|
|
63
|
+
console.log(is_object(object)); // true
|
|
64
|
+
|
|
65
|
+
// Экземпляр функции не является объектом
|
|
66
|
+
console.log(is_object(objFunc)); // false
|
|
67
|
+
|
|
68
|
+
// Класс является классом
|
|
69
|
+
console.log(is_class(stdClass)); // true
|
|
70
|
+
|
|
71
|
+
// Функция не является классом
|
|
72
|
+
console.log(is_class(MyFunction)); // false
|
|
73
|
+
|
|
74
|
+
// Функция является функцией
|
|
75
|
+
console.log(is_function(MyFunction)); // true
|
|
76
|
+
|
|
77
|
+
// Класс не является функцией
|
|
78
|
+
console.log(is_function(stdClass)); // false
|
|
79
|
+
|
|
80
|
+
// Целое число
|
|
81
|
+
console.log(is_int(3)); // true
|
|
82
|
+
|
|
83
|
+
// Число с плавающей точкой
|
|
84
|
+
console.log(is_float(3.14)); // true
|
|
85
|
+
|
|
86
|
+
// Получение типа
|
|
87
|
+
console.log(gettype(stdClass)); // "class"
|
|
88
|
+
|
|
89
|
+
// Использование функции value для создания экземпляра класса Value
|
|
90
|
+
const valInstance = value(123);
|
|
91
|
+
console.log(valInstance.get()); // 123
|
|
92
|
+
console.log(valInstance.getType()); // 'integer'
|
|
93
|
+
console.log(valInstance.isNumber()); // true
|
|
94
|
+
|
|
95
|
+
// Преобразование значения в строку и вывод на консоль
|
|
96
|
+
valInstance.print(); // 123
|
|
97
|
+
|
|
98
|
+
// Преобразование значения в массив
|
|
99
|
+
const arrayInstance = valInstance.toArray();
|
|
100
|
+
console.log(arrayInstance.get()); // [123]
|
|
101
|
+
|
|
102
|
+
// Преобразование значения в объект
|
|
103
|
+
const objectInstance = valInstance.toObject();
|
|
104
|
+
console.log(objectInstance.get()); // { value: 123 }
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Автор
|
|
108
|
+
|
|
109
|
+
Роголев Дмитрий Александрович
|
|
110
|
+
|
|
111
|
+
<drogolev@internet.ru>
|
|
112
|
+
|
|
113
|
+
<https://github.com/dmitry-rogolev>
|
|
114
|
+
|
|
115
|
+
## Лицензия
|
|
116
|
+
|
|
117
|
+
Этот проект лицензируется на условиях лицензии MIT. Подробности см. в файле [LICENSE](./LICENSE).
|
|
118
|
+
|
package/babel.config.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
{
|
|
2
|
-
"presets": [
|
|
3
|
-
[
|
|
4
|
-
"@babel/preset-env",
|
|
5
|
-
{
|
|
6
|
-
// Настройка целевых браузеров
|
|
7
|
-
"targets": "> 0.25%, not dead",
|
|
8
|
-
|
|
9
|
-
// Автоматически добавлять полифилы, где это необходимо
|
|
10
|
-
"useBuiltIns": "usage",
|
|
11
|
-
|
|
12
|
-
// Использование core-js версии 3 для полифилов
|
|
13
|
-
"corejs": 3,
|
|
14
|
-
|
|
15
|
-
// Преобразование модулей ES6 в CommonJS
|
|
16
|
-
"modules": "commonjs"
|
|
17
|
-
}
|
|
18
|
-
]
|
|
19
|
-
]
|
|
20
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"presets": [
|
|
3
|
+
[
|
|
4
|
+
"@babel/preset-env",
|
|
5
|
+
{
|
|
6
|
+
// Настройка целевых браузеров
|
|
7
|
+
"targets": "> 0.25%, not dead",
|
|
8
|
+
|
|
9
|
+
// Автоматически добавлять полифилы, где это необходимо
|
|
10
|
+
"useBuiltIns": "usage",
|
|
11
|
+
|
|
12
|
+
// Использование core-js версии 3 для полифилов
|
|
13
|
+
"corejs": 3,
|
|
14
|
+
|
|
15
|
+
// Преобразование модулей ES6 в CommonJS
|
|
16
|
+
"modules": "commonjs"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Convert](../Convert.md) / toArray
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/classes/Convert.mjs)
|
|
4
|
+
|
|
5
|
+
# Convert.toArray
|
|
6
|
+
|
|
7
|
+
`Convert.toArray` — Преобразует значение в массив.
|
|
8
|
+
|
|
9
|
+
## Сигнатура метода
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
static toArray(value: any): Array<any>;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Метод `Convert.toArray` используется для преобразования различных типов данных в массив. Если
|
|
18
|
+
значение уже является массивом (тип `Array` или ассоциативный массив), возвращается оно же. Объекты
|
|
19
|
+
(экземпляры классов) преобразуются в массив с одним элементом.
|
|
20
|
+
|
|
21
|
+
## Примечание
|
|
22
|
+
|
|
23
|
+
Метод `Convert.toArray` для объектов (ассоциативных массивов) возвращает результат работы функции
|
|
24
|
+
`array`, которая создает объект-контейнер пар ключ-значение (ассоциативный массив) с помощью
|
|
25
|
+
конструкции `Object.create(null)`, копирует все видимые пары в этот контейнер, а также добавляет
|
|
26
|
+
итератор `Symbol.iterator` для перебора контейнера в цикле `for-of`.
|
|
27
|
+
|
|
28
|
+
## Параметры
|
|
29
|
+
|
|
30
|
+
- `value` (any)
|
|
31
|
+
|
|
32
|
+
Переменная, значение которой необходимо привести к массиву.
|
|
33
|
+
|
|
34
|
+
## Возвращаемое значение
|
|
35
|
+
|
|
36
|
+
Возвращает массив, содержащий переданное значение. Если значение уже является массивом, возвращается
|
|
37
|
+
оно же.
|
|
38
|
+
|
|
39
|
+
## Примеры использования
|
|
40
|
+
|
|
41
|
+
1. Преобразование строки в массив:
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
const result = Convert.toArray('example');
|
|
45
|
+
// Результат: ["example"]
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
2. Преобразование числа в массив:
|
|
49
|
+
|
|
50
|
+
```js
|
|
51
|
+
const result = Convert.toArray(123);
|
|
52
|
+
// Результат: [123]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
3. Преобразование массива (без изменений):
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
const result = Convert.toArray([1, 2, 3]);
|
|
59
|
+
// Результат: [1, 2, 3]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
4. Преобразование объекта в массив:
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const result = Convert.toArray({ 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 = Convert.toArray(instance);
|
|
84
|
+
// Результат: [instance]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
6. Преобразование null:
|
|
88
|
+
|
|
89
|
+
```js
|
|
90
|
+
const result = Convert.toArray(null);
|
|
91
|
+
// Результат: []
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
7. Преобразование undefined:
|
|
95
|
+
|
|
96
|
+
```js
|
|
97
|
+
const result = Convert.toArray(undefined);
|
|
98
|
+
// Результат: []
|
|
99
|
+
```
|
|
100
|
+
|