@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.
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
+