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