@rogolev/value 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. package/.prettierignore +4 -4
  2. package/CHANGELOG.md +82 -56
  3. package/LICENSE +41 -41
  4. package/README.md +118 -91
  5. package/babel.config.json +20 -20
  6. package/docs/classes/Convert/toArray.md +100 -0
  7. package/docs/classes/Convert/toAssoc.md +90 -0
  8. package/docs/classes/Convert/toBool.md +72 -0
  9. package/docs/classes/Convert/toBoolean.md +72 -0
  10. package/docs/classes/Convert/toFloat.md +69 -0
  11. package/docs/classes/Convert/toInt.md +86 -0
  12. package/docs/classes/Convert/toInteger.md +86 -0
  13. package/docs/classes/Convert/toList.md +73 -0
  14. package/docs/classes/Convert/toObject.md +76 -0
  15. package/docs/classes/Convert/toString.md +125 -0
  16. package/docs/classes/Convert.md +44 -0
  17. package/docs/classes/Type/isArray.md +106 -0
  18. package/docs/classes/Type/isAssoc.md +57 -0
  19. package/docs/classes/Type/isBigInt.md +49 -0
  20. package/docs/classes/Type/isBool.md +51 -0
  21. package/docs/classes/Type/isBoolean.md +51 -0
  22. package/docs/classes/Type/isClass.md +60 -0
  23. package/docs/classes/Type/isEmpty.md +53 -0
  24. package/docs/classes/Type/isFloat.md +77 -0
  25. package/docs/classes/Type/isFunction.md +64 -0
  26. package/docs/classes/Type/isInfinity.md +59 -0
  27. package/docs/classes/Type/isInt.md +77 -0
  28. package/docs/classes/Type/isInteger.md +77 -0
  29. package/docs/classes/Type/isList.md +49 -0
  30. package/docs/classes/Type/isNaN.md +57 -0
  31. package/docs/classes/Type/isNull.md +49 -0
  32. package/docs/classes/Type/isNumber.md +60 -0
  33. package/docs/classes/Type/isNumeric.md +58 -0
  34. package/docs/classes/Type/isObject.md +53 -0
  35. package/docs/classes/Type/isScalar.md +54 -0
  36. package/docs/classes/Type/isString.md +54 -0
  37. package/docs/classes/Type/isSymbol.md +56 -0
  38. package/docs/classes/Type/isUndefined.md +52 -0
  39. package/docs/classes/Type.md +74 -0
  40. package/docs/classes/Value/constructor.md +48 -0
  41. package/docs/classes/Value/get.md +51 -0
  42. package/docs/classes/Value/getType.md +71 -0
  43. package/docs/classes/Value/isArray.md +67 -0
  44. package/docs/classes/Value/isAssoc.md +68 -0
  45. package/docs/classes/Value/isBigInt.md +52 -0
  46. package/docs/classes/Value/isBool.md +60 -0
  47. package/docs/classes/Value/isBoolean.md +60 -0
  48. package/docs/classes/Value/isClass.md +55 -0
  49. package/docs/classes/Value/isEmpty.md +84 -0
  50. package/docs/classes/Value/isFloat.md +52 -0
  51. package/docs/classes/Value/isFunction.md +60 -0
  52. package/docs/classes/Value/isInfinity.md +60 -0
  53. package/docs/classes/Value/isInt.md +52 -0
  54. package/docs/classes/Value/isInteger.md +52 -0
  55. package/docs/classes/Value/isList.md +59 -0
  56. package/docs/classes/Value/isNaN.md +79 -0
  57. package/docs/classes/Value/isNull.md +59 -0
  58. package/docs/classes/Value/isNumber.md +80 -0
  59. package/docs/classes/Value/isNumeric.md +79 -0
  60. package/docs/classes/Value/isObject.md +68 -0
  61. package/docs/classes/Value/isScalar.md +72 -0
  62. package/docs/classes/Value/isString.md +67 -0
  63. package/docs/classes/Value/isSymbol.md +75 -0
  64. package/docs/classes/Value/isUndefined.md +67 -0
  65. package/docs/classes/Value/print.md +164 -0
  66. package/docs/classes/Value/printType.md +158 -0
  67. package/docs/classes/Value/setType.md +79 -0
  68. package/docs/classes/Value/toArray.md +85 -0
  69. package/docs/classes/Value/toAssoc.md +85 -0
  70. package/docs/classes/Value/toBool.md +71 -0
  71. package/docs/classes/Value/toBoolean.md +71 -0
  72. package/docs/classes/Value/toFloat.md +72 -0
  73. package/docs/classes/Value/toInt.md +72 -0
  74. package/docs/classes/Value/toInteger.md +72 -0
  75. package/docs/classes/Value/toList.md +77 -0
  76. package/docs/classes/Value/toObject.md +78 -0
  77. package/docs/classes/Value/toPrint.md +115 -0
  78. package/docs/classes/Value/toPrintType.md +110 -0
  79. package/docs/classes/Value/toString.md +134 -0
  80. package/docs/classes/Value.md +113 -0
  81. package/docs/classes.md +11 -0
  82. package/docs/constants.md +47 -0
  83. package/docs/helpers/array.md +80 -80
  84. package/docs/helpers/empty.md +77 -77
  85. package/docs/helpers/gettype.md +69 -69
  86. package/docs/helpers/is_array.md +105 -105
  87. package/docs/helpers/is_assoc.md +59 -59
  88. package/docs/helpers/is_bigint.md +57 -57
  89. package/docs/helpers/is_bool.md +50 -50
  90. package/docs/helpers/is_boolean.md +50 -50
  91. package/docs/helpers/is_class.md +73 -73
  92. package/docs/helpers/is_float.md +71 -71
  93. package/docs/helpers/is_function.md +62 -62
  94. package/docs/helpers/is_infinity.md +61 -61
  95. package/docs/helpers/is_int.md +81 -81
  96. package/docs/helpers/is_integer.md +82 -82
  97. package/docs/helpers/is_list.md +51 -51
  98. package/docs/helpers/is_nan.md +59 -59
  99. package/docs/helpers/is_null.md +49 -49
  100. package/docs/helpers/is_number.md +67 -67
  101. package/docs/helpers/is_numeric.md +76 -76
  102. package/docs/helpers/is_object.md +69 -69
  103. package/docs/helpers/is_scalar.md +60 -60
  104. package/docs/helpers/is_string.md +58 -58
  105. package/docs/helpers/is_symbol.md +58 -58
  106. package/docs/helpers/is_undefined.md +56 -56
  107. package/docs/helpers/print.md +187 -187
  108. package/docs/helpers/print_type.md +225 -225
  109. package/docs/helpers/settype.md +78 -78
  110. package/docs/helpers/to_array.md +106 -106
  111. package/docs/helpers/to_assoc.md +91 -91
  112. package/docs/helpers/to_bool.md +76 -76
  113. package/docs/helpers/to_boolean.md +77 -77
  114. package/docs/helpers/to_float.md +70 -70
  115. package/docs/helpers/to_int.md +87 -87
  116. package/docs/helpers/to_integer.md +87 -87
  117. package/docs/helpers/to_list.md +47 -47
  118. package/docs/helpers/to_object.md +76 -76
  119. package/docs/helpers/to_string.md +134 -134
  120. package/docs/helpers/value.md +95 -0
  121. package/docs/helpers.md +53 -51
  122. package/docs/types/NaN.md +30 -30
  123. package/docs/types/array.md +252 -252
  124. package/docs/types/bigint.md +34 -34
  125. package/docs/types/boolean.md +47 -47
  126. package/docs/types/class.md +36 -36
  127. package/docs/types/float.md +35 -35
  128. package/docs/types/function.md +121 -121
  129. package/docs/types/infinity.md +32 -32
  130. package/docs/types/integer.md +35 -35
  131. package/docs/types/null.md +23 -23
  132. package/docs/types/object.md +62 -62
  133. package/docs/types/string.md +33 -33
  134. package/docs/types/symbol.md +29 -29
  135. package/docs/types/undefined.md +25 -25
  136. package/docs/types.md +44 -44
  137. package/eslint.config.mjs +1664 -1664
  138. package/index.mjs +43 -37
  139. package/jest.config.mjs +31 -31
  140. package/package.json +48 -47
  141. package/prettier.config.mjs +224 -224
  142. package/src/classes/Convert.mjs +818 -0
  143. package/src/classes/Type.mjs +1284 -0
  144. package/src/classes/Value.mjs +2846 -0
  145. package/src/constants.mjs +14 -0
  146. package/src/helpers/gettype.mjs +30 -14
  147. package/src/helpers/value.mjs +92 -0
  148. package/tests/classes/Convert.test.mjs +398 -0
  149. package/tests/classes/Type.test.mjs +1262 -0
  150. package/tests/classes/Value.test.mjs +423 -0
  151. package/tests/constants.test.mjs +75 -0
  152. 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.1
2
-
3
- ## Добавлено
4
-
5
- ### Помощники для работы с типами данных
6
-
7
- - [array](./docs/helpers/array.md) — Создаёт массив из переданных значений, обрабатывая
8
- ассоциативные массивы (объекты с ключами).
9
- - [empty](./docs/helpers/empty.md) — Проверяет, является ли переменная пустой.
10
- - [gettype](./docs/helpers/gettype.md) — Определяет тип переданного значения.
11
- - [is_array](./docs/helpers/is_array.md) — Проверяет, является ли переданное значение массивом
12
- или ассоциативным массивом (объектом с ключами и значениями).
13
- - [is_assoc](./docs/helpers/is_assoc.md) — Проверяет, является ли значение ассоциативным
14
- массивом.
15
- - [is_bigint](./docs/helpers/is_bigint.md) — Проверяет, является ли значение типом `bigint`.
16
- - [is_bool](./docs/helpers/is_bool.md) — Проверяет, является ли переданное значение логическим
17
- типом (`boolean`).
18
- - [is_boolean](./docs/helpers/is_boolean.md) — Проверяет, является ли переданное значение
19
- логическим типом (`boolean`).
20
- - [is_class](./docs/helpers/is_class.md) — Проверяет, является ли переданная переменная
21
- классом.
22
- - [is_float](./docs/helpers/is_float.md) — Проверяет, является ли значение числом с плавающей
23
- точкой.
24
- - [is_function](./docs/helpers/is_function.md) — Проверяет, что значение является функцией,
25
- исключая классы.
26
- - [is_infinity](./docs/helpers/is_infinity.md) — Проверяет, является ли значение
27
- бесконечностью (Infinity или -Infinity).
28
- - [is_int](./docs/helpers/is_int.md) — Проверяет, является ли значение целым числом.
29
- - [is_integer](./docs/helpers/is_integer.md) — Проверяет, является ли значение целым числом.
30
- - [is_list](./docs/helpers/is_list.md) — Проверяет, является ли значение списком.
31
- - [is_nan](./docs/helpers/is_nan.md) — Проверяет, является ли значение NaN.
32
- - [is_null](./docs/helpers/is_null.md) — Проверяет, является ли значение `null`.
33
- - [is_number](./docs/helpers/is_number.md) — Проверяет, является ли значение числом.
34
- - [is_numeric](./docs/helpers/is_numeric.md) — Проверяет, является ли значение числом или
35
- числовой строкой.
36
- - [is_object](./docs/helpers/is_object.md) — Проверяет, является ли переданная переменная
37
- объектом, созданным с использованием класса.
38
- - [is_scalar](./docs/helpers/is_scalar.md) — Проверяет, является ли значение скалярным.
39
- - [is_string](./docs/helpers/is_string.md) — Проверяет, является ли значение строкой.
40
- - [is_symbol](./docs/helpers/is_symbol.md) — Проверяет, является ли значение символом.
41
- - [is_undefined](./docs/helpers/is_undefined.md) — Проверяет, является ли значение
42
- `undefined`.
43
- - [print](./docs/helpers/print.md) — Преобразует значение в строку и выводит его на консоль.
44
- - [print_type](./docs/helpers/print_type.md) — Преобразует значение в строку с указанием типа
45
- и выводит его на консоль.
46
- - [settype](./docs/helpers/settype.md) — Преобразует значение в указанный тип.
47
- - [to_array](./docs/helpers/to_array.md) — Преобразует значение в массив.
48
- - [to_assoc](./docs/helpers/to_assoc.md) — Преобразует значение в ассоциативный массив.
49
- - [to_bool](./docs/helpers/to_bool.md) — Преобразует значение в логическое значение.
50
- - [to_boolean](./docs/helpers/to_bool.md) — Преобразует значение в логическое значение.
51
- - [to_float](./docs/helpers/to_float.md) — Преобразует значение в число с плавающей точкой.
52
- - [to_int](./docs/helpers/to_int.md) — Преобразует значение в целое число.
53
- - [to_integer](./docs/helpers/to_integer.md) — Преобразует значение в целое число.
54
- - [to_list](./docs/helpers/to_list.md) — Преобразует значение в список.
55
- - [to_object](./docs/helpers/to_object.md) — Преобразует значение в объект.
56
- - [to_string](./docs/helpers/to_string.md) — Преобразует значение в строку.
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
- [Помощники для работы с типами данных value.js](./docs/helpers.md)
10
-
11
- ## Примеры использования
12
-
13
- ```js
14
- import {
15
- array,
16
- is_array,
17
- is_object,
18
- is_class,
19
- is_function,
20
- is_int,
21
- is_float,
22
- gettype,
23
- } from '@rogolev/value.js';
24
-
25
- // Создаем ассоциативный массив - контейнер пар ключ-значение
26
- const assoc = array({ key1: 'value1', key2: 'value2', key3: 'value3' });
27
-
28
- console.log(assoc); // {key1: 'value1', key2: 'value2', key3: 'value3'}
29
-
30
- // Ассоциативные массивы создаются с помощью конструкции Object.create(null)
31
- console.log(Object.getPrototypeOf(assoc)); // null
32
-
33
- // Функция array добавляет итератор Symbol.iterator к ассоциативным массивам
34
- for (const [key, value] of assoc) {
35
- console.log(key, value);
36
- }
37
-
38
- // Ассоциативные массивы являются массивами
39
- console.log(is_array(assoc)); // true
40
-
41
- // Списки являются массивами
42
- console.log(is_array([1, 2, 3])); // true
43
-
44
- class stdClass {}
45
- function MyFunction() {}
46
-
47
- const object = new stdClass();
48
- const objFunc = new MyFunction();
49
-
50
- // Экземпляры классов не являются массивами
51
- console.log(is_array(object)); // false
52
-
53
- // Экземпляр класса является объектом
54
- console.log(is_object(object)); // true
55
-
56
- // Экземпляр функции не является объектом
57
- console.log(is_object(objFunc)); // false
58
-
59
- // Класс является классом
60
- console.log(is_class(stdClass)); // true
61
-
62
- // Функция не является классом
63
- console.log(is_class(MyFunction)); // false
64
-
65
- // Функция является функцией
66
- console.log(is_function(MyFunction)); // true
67
-
68
- // Класс не является функцией
69
- console.log(is_function(stdClass)); // false
70
-
71
- // Целое число
72
- console.log(is_int(3)); // true
73
-
74
- // Число с плавающей точкой
75
- console.log(is_float(3.14)); // true
76
-
77
- // Получение типа
78
- console.log(gettype(stdClass)); // "class"
79
- ```
80
-
81
- ## Автор
82
-
83
- Роголев Дмитрий Александрович
84
-
85
- <drogolev@internet.ru>
86
-
87
- <https://github.com/dmitry-rogolev>
88
-
89
- ## Лицензия
90
-
91
- Этот проект лицензируется на условиях лицензии MIT. Подробности см. в файле [LICENSE](./LICENSE).
1
+ # value.js
2
+
3
+ **value.js** &mdash; Библиотека для **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` &mdash; Преобразует значение в массив.
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
+