@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
@@ -0,0 +1,72 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toInteger
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.toInteger
6
+
7
+ `Value.toInteger` — Преобразует значение в экземпляре класса `Value` к целому числу.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ toInteger(): Value;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `toInteger` используется для преобразования значения, хранящегося в экземпляре класса `Value`,
18
+ в целое число. Если значение не является числом или строкой, метод возвращает `1` для истинных
19
+ значений и `0` для ложных значений.
20
+
21
+ Метод использует функцию `to_int` для выполнения преобразования.
22
+
23
+ ## Возвращаемое значение
24
+
25
+ Возвращает новый экземпляр класса `Value` с преобразованным значением.
26
+
27
+ ## Примеры использования
28
+
29
+ 1. Преобразование строки в целое число:
30
+
31
+ ```js
32
+ const valueInstance = new Value('123');
33
+ const result = valueInstance.toInteger();
34
+ // Результат: новый экземпляр класса Value с значением 123
35
+ ```
36
+
37
+ 2. Преобразование числа с плавающей точкой в целое число:
38
+
39
+ ```js
40
+ const valueInstance = new Value(123.45);
41
+ const result = valueInstance.toInteger();
42
+ // Результат: новый экземпляр класса Value с значением 123
43
+ ```
44
+
45
+ 3. Преобразование булевых значений:
46
+
47
+ ```js
48
+ const valueInstance1 = new Value(true);
49
+ const result1 = valueInstance1.toInteger();
50
+ // Результат: новый экземпляр класса Value с значением 1
51
+
52
+ const valueInstance2 = new Value(false);
53
+ const result2 = valueInstance2.toInteger();
54
+ // Результат: новый экземпляр класса Value с значением 0
55
+ ```
56
+
57
+ 4. Преобразование других значений:
58
+
59
+ ```js
60
+ const valueInstance1 = new Value(null);
61
+ const result1 = valueInstance1.toInteger();
62
+ // Результат: новый экземпляр класса Value с значением 0
63
+
64
+ const valueInstance2 = new Value(undefined);
65
+ const result2 = valueInstance2.toInteger();
66
+ // Результат: новый экземпляр класса Value с значением 0
67
+
68
+ const valueInstance3 = new Value('example');
69
+ const result3 = valueInstance3.toInteger();
70
+ // Результат: новый экземпляр класса Value с значением 0
71
+ ```
72
+
@@ -0,0 +1,77 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toList
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.toList
6
+
7
+ `Value.toList` — Преобразует значение в экземпляре класса `Value` к списку.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ toList(): Value;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `toList` используется для преобразования значения, хранящегося в экземпляре класса `Value`, в
18
+ список. Если значение является `null` или `undefined`, возвращается пустой массив. Если значение уже
19
+ является массивом, возвращается оно же. Если значение является ассоциативным массивом, возвращается
20
+ массив значений объекта. Для других значений создается массив, содержащий это значение.
21
+
22
+ Метод использует функцию `to_list` для выполнения преобразования.
23
+
24
+ ## Возвращаемое значение
25
+
26
+ Возвращает новый экземпляр класса `Value` с преобразованным значением.
27
+
28
+ ## Примеры использования
29
+
30
+ 1. Преобразование `null` в пустой массив:
31
+
32
+ ```js
33
+ const valueInstance = new Value(null);
34
+ const result = valueInstance.toList();
35
+ // Результат: новый экземпляр класса Value с значением []
36
+ ```
37
+
38
+ 2. Преобразование `undefined` в пустой массив:
39
+
40
+ ```js
41
+ const valueInstance = new Value(undefined);
42
+ const result = valueInstance.toList();
43
+ // Результат: новый экземпляр класса Value с значением []
44
+ ```
45
+
46
+ 3. Преобразование массива (без изменений):
47
+
48
+ ```js
49
+ const valueInstance = new Value([1, 2, 3]);
50
+ const result = valueInstance.toList();
51
+ // Результат: новый экземпляр класса Value с значением [1, 2, 3]
52
+ ```
53
+
54
+ 4. Преобразование ассоциативного массива в массив значений:
55
+
56
+ ```js
57
+ const valueInstance = new Value({ key: 'value' });
58
+ const result = valueInstance.toList();
59
+ // Результат: новый экземпляр класса Value с значением ['value']
60
+ ```
61
+
62
+ 5. Преобразование строки в массив:
63
+
64
+ ```js
65
+ const valueInstance = new Value('example');
66
+ const result = valueInstance.toList();
67
+ // Результат: новый экземпляр класса Value с значением ['example']
68
+ ```
69
+
70
+ 6. Преобразование числа в массив:
71
+
72
+ ```js
73
+ const valueInstance = new Value(123);
74
+ const result = valueInstance.toList();
75
+ // Результат: новый экземпляр класса Value с значением [123]
76
+ ```
77
+
@@ -0,0 +1,78 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toObject
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.toObject
6
+
7
+ `Value.toObject` — Преобразует значение в экземпляре класса `Value` к объекту.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ toObject(): Value;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `toObject` используется для преобразования значения, хранящегося в экземпляре класса `Value`,
18
+ в объект. Если значение уже является объектом, оно возвращается без изменений. Если значение
19
+ является классом, возвращается новый экземпляр этого класса. Если значение является массивом,
20
+ элементы массива копируются в новый объект. Для других значений создается объект с полем `value`,
21
+ содержащим это значение.
22
+
23
+ Метод использует функцию `to_object` для выполнения преобразования.
24
+
25
+ ## Возвращаемое значение
26
+
27
+ Возвращает новый экземпляр класса `Value` с преобразованным значением.
28
+
29
+ ## Примеры использования
30
+
31
+ 1. Преобразование объекта:
32
+
33
+ ```js
34
+ class MyClass {}
35
+ const obj = new MyClass();
36
+ const valueInstance = new Value(obj);
37
+ const result = valueInstance.toObject();
38
+ // Результат: новый экземпляр класса Value с значением obj
39
+ ```
40
+
41
+ 2. Преобразование класса:
42
+
43
+ ```js
44
+ class MyClass {}
45
+ const valueInstance = new Value(MyClass);
46
+ const result = valueInstance.toObject();
47
+ // Результат: новый экземпляр класса Value с значением экземпляра MyClass
48
+ ```
49
+
50
+ 3. Преобразование null и undefined:
51
+
52
+ ```js
53
+ const valueInstance1 = new Value(null);
54
+ const result1 = valueInstance1.toObject();
55
+ // Результат: новый экземпляр класса Value с значением экземпляра анонимного класса
56
+
57
+ const valueInstance2 = new Value(undefined);
58
+ const result2 = valueInstance2.toObject();
59
+ // Результат: новый экземпляр класса Value с значением экземпляра анонимного класса
60
+ ```
61
+
62
+ 4. Преобразование массива:
63
+
64
+ ```js
65
+ const arr = [1, 2, 3];
66
+ const valueInstance = new Value(arr);
67
+ const result = valueInstance.toObject();
68
+ // Результат: новый экземпляр класса Value с значением объекта с элементами массива
69
+ ```
70
+
71
+ 5. Преобразование других значений:
72
+
73
+ ```js
74
+ const valueInstance = new Value('example');
75
+ const result = valueInstance.toObject();
76
+ // Результат: новый экземпляр класса Value с значением объекта с полем value, содержащим 'example'
77
+ ```
78
+
@@ -0,0 +1,115 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toPrint
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.toPrint
6
+
7
+ `Value.toPrint` — Преобразует значение переменной в строку и возвращает новый экземпляр класса
8
+ `Value` с этим значением.
9
+
10
+ ## Сигнатура метода
11
+
12
+ ```ts
13
+ toPrint(): Value;
14
+ ```
15
+
16
+ ## Описание
17
+
18
+ Метод `toPrint` используется для преобразования значения, хранящегося в экземпляре класса `Value`, в
19
+ строку и возвращает новый экземпляр класса `Value` с этим значением. Он обрабатывает массивы,
20
+ объекты, классы, функции, символы и другие типы данных, возвращая их строковое представление.
21
+
22
+ Метод использует функцию `print` для выполнения преобразования.
23
+
24
+ ## Возвращаемое значение
25
+
26
+ Возвращает новый экземпляр класса `Value` с преобразованным значением.
27
+
28
+ ## Примеры использования
29
+
30
+ 1. Преобразование строки:
31
+
32
+ ```js
33
+ const valueInstance = new Value('example');
34
+ const result = valueInstance.toPrint();
35
+ // Результат: новый экземпляр класса Value с значением "example"
36
+ ```
37
+
38
+ 2. Преобразование числа:
39
+
40
+ ```js
41
+ const valueInstance = new Value(123);
42
+ const result = valueInstance.toPrint();
43
+ // Результат: новый экземпляр класса Value с значением 123
44
+ ```
45
+
46
+ 3. Преобразование булевых значений:
47
+
48
+ ```js
49
+ const valueInstance = new Value(true);
50
+ const result = valueInstance.toPrint();
51
+ // Результат: новый экземпляр класса Value с значением true
52
+ ```
53
+
54
+ ```js
55
+ const valueInstance = new Value(false);
56
+ const result = valueInstance.toPrint();
57
+ // Результат: новый экземпляр класса Value с значением false
58
+ ```
59
+
60
+ 4. Преобразование null и undefined:
61
+
62
+ ```js
63
+ const valueInstance = new Value(null);
64
+ const result = valueInstance.toPrint();
65
+ // Результат: новый экземпляр класса Value с значением null
66
+ ```
67
+
68
+ ```js
69
+ const valueInstance = new Value(undefined);
70
+ const result = valueInstance.toPrint();
71
+ // Результат: новый экземпляр класса Value с значением undefined
72
+ ```
73
+
74
+ 5. Преобразование массива:
75
+
76
+ ```js
77
+ const arr = [1, 2, 3];
78
+ const valueInstance = new Value(arr);
79
+ const result = valueInstance.toPrint();
80
+ // Результат: новый экземпляр класса Value с значением [
81
+ // 0: 1,
82
+ // 1: 2,
83
+ // 2: 3,
84
+ // ]
85
+ ```
86
+
87
+ 6. Преобразование ассоциативного массива:
88
+
89
+ ```js
90
+ const obj = { key: 'value' };
91
+ const valueInstance = new Value(obj);
92
+ const result = valueInstance.toPrint();
93
+ // Результат: новый экземпляр класса Value с значением {
94
+ // key: "value",
95
+ // }
96
+ ```
97
+
98
+ 7. Преобразование функции:
99
+
100
+ ```js
101
+ const func = function () {};
102
+ const valueInstance = new Value(func);
103
+ const result = valueInstance.toPrint();
104
+ // Результат: новый экземпляр класса Value с значением function func() {}
105
+ ```
106
+
107
+ 8. Преобразование символа:
108
+
109
+ ```js
110
+ const symbol = Symbol('example');
111
+ const valueInstance = new Value(symbol);
112
+ const result = valueInstance.toPrint();
113
+ // Результат: новый экземпляр класса Value с значением Symbol(example)
114
+ ```
115
+
@@ -0,0 +1,110 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toPrintType
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.toPrintType
6
+
7
+ `Value.toPrintType` — Преобразует тип значения переменной в строку и возвращает новый
8
+ экземпляр класса `Value` с этим значением.
9
+
10
+ ## Сигнатура метода
11
+
12
+ ```ts
13
+ toPrintType(): Value;
14
+ ```
15
+
16
+ ## Описание
17
+
18
+ Метод `toPrintType` используется для преобразования типа значения, хранящегося в экземпляре класса
19
+ `Value`, в строку и возвращает новый экземпляр класса `Value` с этим значением. Он обрабатывает
20
+ массивы, объекты, классы, функции, символы и другие типы данных, возвращая их строковое
21
+ представление.
22
+
23
+ Метод использует функцию `print_type` для выполнения преобразования.
24
+
25
+ ## Возвращаемое значение
26
+
27
+ Возвращает новый экземпляр класса `Value` с преобразованным значением.
28
+
29
+ ## Примеры использования
30
+
31
+ 1. Преобразование строки:
32
+
33
+ ```js
34
+ const valueInstance = new Value('example');
35
+ const result = valueInstance.toPrintType();
36
+ // Результат: новый экземпляр класса Value с значением "string"
37
+ ```
38
+
39
+ 2. Преобразование числа:
40
+
41
+ ```js
42
+ const valueInstance = new Value(123);
43
+ const result = valueInstance.toPrintType();
44
+ // Результат: новый экземпляр класса Value с значением "integer"
45
+ ```
46
+
47
+ 3. Преобразование булевых значений:
48
+
49
+ ```js
50
+ const valueInstance = new Value(true);
51
+ const result = valueInstance.toPrintType();
52
+ // Результат: новый экземпляр класса Value с значением "boolean"
53
+ ```
54
+
55
+ ```js
56
+ const valueInstance = new Value(false);
57
+ const result = valueInstance.toPrintType();
58
+ // Результат: новый экземпляр класса Value с значением "boolean"
59
+ ```
60
+
61
+ 4. Преобразование null и undefined:
62
+
63
+ ```js
64
+ const valueInstance = new Value(null);
65
+ const result = valueInstance.toPrintType();
66
+ // Результат: новый экземпляр класса Value с значением "null"
67
+ ```
68
+
69
+ ```js
70
+ const valueInstance = new Value(undefined);
71
+ const result = valueInstance.toPrintType();
72
+ // Результат: новый экземпляр класса Value с значением "undefined"
73
+ ```
74
+
75
+ 5. Преобразование массива:
76
+
77
+ ```js
78
+ const arr = [1, 2, 3];
79
+ const valueInstance = new Value(arr);
80
+ const result = valueInstance.toPrintType();
81
+ // Результат: новый экземпляр класса Value с значением "array"
82
+ ```
83
+
84
+ 6. Преобразование ассоциативного массива:
85
+
86
+ ```js
87
+ const obj = { key: 'value' };
88
+ const valueInstance = new Value(obj);
89
+ const result = valueInstance.toPrintType();
90
+ // Результат: новый экземпляр класса Value с значением "object"
91
+ ```
92
+
93
+ 7. Преобразование функции:
94
+
95
+ ```js
96
+ const func = function () {};
97
+ const valueInstance = new Value(func);
98
+ const result = valueInstance.toPrintType();
99
+ // Результат: новый экземпляр класса Value с значением "function"
100
+ ```
101
+
102
+ 8. Преобразование символа:
103
+
104
+ ```js
105
+ const symbol = Symbol('example');
106
+ const valueInstance = new Value(symbol);
107
+ const result = valueInstance.toPrintType();
108
+ // Результат: новый экземпляр класса Value с значением "symbol"
109
+ ```
110
+
@@ -0,0 +1,134 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toString
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.toString
6
+
7
+ `Value.toString` — Преобразует значение в экземпляре класса `Value` к строке.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ toString(): Value;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `toString` используется для преобразования значения, хранящегося в экземпляре класса `Value`,
18
+ в строку. Он обрабатывает массивы, объекты, классы, функции, символы и другие типы данных, возвращая
19
+ их строковое представление.
20
+
21
+ Метод использует функцию `to_string` для выполнения преобразования.
22
+
23
+ ## Возвращаемое значение
24
+
25
+ Возвращает новый экземпляр класса `Value` с преобразованным значением.
26
+
27
+ ## Примеры использования
28
+
29
+ 1. Преобразование строки:
30
+
31
+ ```js
32
+ const valueInstance = new Value('example');
33
+ const result = valueInstance.toString();
34
+ // Результат: новый экземпляр класса Value с значением 'example'
35
+ ```
36
+
37
+ 2. Преобразование числа:
38
+
39
+ ```js
40
+ const valueInstance = new Value(123);
41
+ const result = valueInstance.toString();
42
+ // Результат: новый экземпляр класса Value с значением '123'
43
+ ```
44
+
45
+ 3. Преобразование булевых значений:
46
+
47
+ ```js
48
+ const valueInstance1 = new Value(true);
49
+ const result1 = valueInstance1.toString();
50
+ // Результат: новый экземпляр класса Value с значением 'true'
51
+
52
+ const valueInstance2 = new Value(false);
53
+ const result2 = valueInstance2.toString();
54
+ // Результат: новый экземпляр класса Value с значением 'false'
55
+ ```
56
+
57
+ 4. Преобразование null и undefined:
58
+
59
+ ```js
60
+ const valueInstance1 = new Value(null);
61
+ const result1 = valueInstance1.toString();
62
+ // Результат: новый экземпляр класса Value с значением 'null'
63
+
64
+ const valueInstance2 = new Value(undefined);
65
+ const result2 = valueInstance2.toString();
66
+ // Результат: новый экземпляр класса Value с значением 'undefined'
67
+ ```
68
+
69
+ 5. Преобразование массива:
70
+
71
+ ```js
72
+ const arr = [1, 2, 3];
73
+ const valueInstance = new Value(arr);
74
+ const result = valueInstance.toString();
75
+ // Результат: новый экземпляр класса Value с значением '[\n 1,\n 2,\n 3,\n]'
76
+ ```
77
+
78
+ 6. Преобразование объекта:
79
+
80
+ ```js
81
+ const obj = { key: 'value' };
82
+ const valueInstance = new Value(obj);
83
+ const result = valueInstance.toString();
84
+ // Результат: новый экземпляр класса Value с значением '{\n key: 'value',\n}'
85
+ ```
86
+
87
+ 7. Преобразование функции:
88
+
89
+ ```js
90
+ const func = function () {};
91
+ const valueInstance = new Value(func);
92
+ const result = valueInstance.toString();
93
+ // Результат: новый экземпляр класса Value с значением 'function func() {}'
94
+ ```
95
+
96
+ 8. Преобразование символа:
97
+
98
+ ```js
99
+ const symbol = Symbol('example');
100
+ const valueInstance = new Value(symbol);
101
+ const result = valueInstance.toString();
102
+ // Результат: новый экземпляр класса Value с значением 'Symbol(example)'
103
+ ```
104
+
105
+ 9. Преобразование BigInt:
106
+
107
+ ```js
108
+ const bigInt = BigInt(123);
109
+ const valueInstance = new Value(bigInt);
110
+ const result = valueInstance.toString();
111
+ // Результат: новый экземпляр класса Value с значением '123'
112
+ ```
113
+
114
+ 10. Преобразование класса:
115
+
116
+ ```js
117
+ class MyClass {
118
+ static test = 'test';
119
+ }
120
+ const valueInstance = new Value(MyClass);
121
+ const result = valueInstance.toString();
122
+ // Результат: новый экземпляр класса Value с значением 'class MyClass {}'
123
+ ```
124
+
125
+ 11. Преобразование экземпляра класса:
126
+
127
+ ```js
128
+ class MyClass {}
129
+ const instance = new MyClass();
130
+ const valueInstance = new Value(instance);
131
+ const result = valueInstance.toString();
132
+ // Результат: новый экземпляр класса Value с значением 'object MyClass'
133
+ ```
134
+