@rogolev/value 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +19 -1
  3. package/docs/classes/Value/constructor.md +48 -0
  4. package/docs/classes/Value/get.md +51 -0
  5. package/docs/classes/Value/getType.md +71 -0
  6. package/docs/classes/Value/isArray.md +67 -0
  7. package/docs/classes/Value/isAssoc.md +68 -0
  8. package/docs/classes/Value/isBigInt.md +52 -0
  9. package/docs/classes/Value/isBool.md +60 -0
  10. package/docs/classes/Value/isBoolean.md +60 -0
  11. package/docs/classes/Value/isClass.md +55 -0
  12. package/docs/classes/Value/isEmpty.md +84 -0
  13. package/docs/classes/Value/isFloat.md +52 -0
  14. package/docs/classes/Value/isFunction.md +60 -0
  15. package/docs/classes/Value/isInfinity.md +60 -0
  16. package/docs/classes/Value/isInt.md +52 -0
  17. package/docs/classes/Value/isInteger.md +52 -0
  18. package/docs/classes/Value/isList.md +59 -0
  19. package/docs/classes/Value/isNaN.md +79 -0
  20. package/docs/classes/Value/isNull.md +59 -0
  21. package/docs/classes/Value/isNumber.md +80 -0
  22. package/docs/classes/Value/isNumeric.md +79 -0
  23. package/docs/classes/Value/isObject.md +68 -0
  24. package/docs/classes/Value/isScalar.md +72 -0
  25. package/docs/classes/Value/isString.md +67 -0
  26. package/docs/classes/Value/isSymbol.md +75 -0
  27. package/docs/classes/Value/isUndefined.md +67 -0
  28. package/docs/classes/Value/print.md +164 -0
  29. package/docs/classes/Value/printType.md +158 -0
  30. package/docs/classes/Value/setType.md +79 -0
  31. package/docs/classes/Value/toArray.md +85 -0
  32. package/docs/classes/Value/toAssoc.md +85 -0
  33. package/docs/classes/Value/toBool.md +71 -0
  34. package/docs/classes/Value/toBoolean.md +71 -0
  35. package/docs/classes/Value/toFloat.md +72 -0
  36. package/docs/classes/Value/toInt.md +72 -0
  37. package/docs/classes/Value/toInteger.md +72 -0
  38. package/docs/classes/Value/toList.md +77 -0
  39. package/docs/classes/Value/toObject.md +78 -0
  40. package/docs/classes/Value/toPrint.md +115 -0
  41. package/docs/classes/Value/toPrintType.md +110 -0
  42. package/docs/classes/Value/toString.md +134 -0
  43. package/docs/classes/Value.md +113 -0
  44. package/docs/classes.md +2 -0
  45. package/docs/constants.md +47 -0
  46. package/docs/helpers/value.md +95 -0
  47. package/docs/helpers.md +2 -0
  48. package/index.mjs +3 -0
  49. package/package.json +2 -2
  50. package/src/classes/Convert.mjs +818 -819
  51. package/src/classes/Type.mjs +1284 -1285
  52. package/src/classes/Value.mjs +2846 -0
  53. package/src/constants.mjs +14 -0
  54. package/src/helpers/array.mjs +107 -107
  55. package/src/helpers/empty.mjs +70 -70
  56. package/src/helpers/gettype.mjs +149 -133
  57. package/src/helpers/is_array.mjs +128 -128
  58. package/src/helpers/is_assoc.mjs +51 -51
  59. package/src/helpers/is_bigint.mjs +47 -47
  60. package/src/helpers/is_bool.mjs +43 -43
  61. package/src/helpers/is_boolean.mjs +43 -43
  62. package/src/helpers/is_class.mjs +87 -87
  63. package/src/helpers/is_float.mjs +67 -67
  64. package/src/helpers/is_function.mjs +74 -74
  65. package/src/helpers/is_infinity.mjs +52 -52
  66. package/src/helpers/is_int.mjs +57 -57
  67. package/src/helpers/is_integer.mjs +74 -74
  68. package/src/helpers/is_list.mjs +43 -43
  69. package/src/helpers/is_nan.mjs +51 -51
  70. package/src/helpers/is_null.mjs +37 -37
  71. package/src/helpers/is_number.mjs +49 -49
  72. package/src/helpers/is_numeric.mjs +64 -64
  73. package/src/helpers/is_object.mjs +72 -72
  74. package/src/helpers/is_scalar.mjs +45 -45
  75. package/src/helpers/is_string.mjs +46 -46
  76. package/src/helpers/is_symbol.mjs +46 -46
  77. package/src/helpers/is_undefined.mjs +44 -44
  78. package/src/helpers/print.mjs +245 -245
  79. package/src/helpers/print_type.mjs +261 -261
  80. package/src/helpers/settype.mjs +101 -101
  81. package/src/helpers/to_array.mjs +118 -118
  82. package/src/helpers/to_assoc.mjs +98 -98
  83. package/src/helpers/to_bool.mjs +68 -68
  84. package/src/helpers/to_boolean.mjs +64 -64
  85. package/src/helpers/to_float.mjs +72 -72
  86. package/src/helpers/to_int.mjs +93 -93
  87. package/src/helpers/to_integer.mjs +81 -81
  88. package/src/helpers/to_list.mjs +56 -56
  89. package/src/helpers/to_object.mjs +94 -94
  90. package/src/helpers/to_string.mjs +157 -157
  91. package/src/helpers/value.mjs +92 -0
  92. package/tests/classes/Convert.test.mjs +398 -399
  93. package/tests/classes/Type.test.mjs +1262 -1263
  94. package/tests/classes/Value.test.mjs +423 -0
  95. package/tests/constants.test.mjs +75 -0
  96. package/tests/helpers/array.test.mjs +58 -58
  97. package/tests/helpers/empty.test.mjs +22 -22
  98. package/tests/helpers/gettype.test.mjs +74 -74
  99. package/tests/helpers/is_array.test.mjs +404 -404
  100. package/tests/helpers/is_assoc.test.mjs +42 -42
  101. package/tests/helpers/is_bigint.test.mjs +51 -51
  102. package/tests/helpers/is_bool.test.mjs +43 -43
  103. package/tests/helpers/is_boolean.test.mjs +43 -43
  104. package/tests/helpers/is_class.test.mjs +84 -84
  105. package/tests/helpers/is_float.test.mjs +87 -87
  106. package/tests/helpers/is_function.test.mjs +83 -83
  107. package/tests/helpers/is_infinity.test.mjs +46 -46
  108. package/tests/helpers/is_int.test.mjs +45 -45
  109. package/tests/helpers/is_integer.test.mjs +64 -64
  110. package/tests/helpers/is_list.test.mjs +42 -42
  111. package/tests/helpers/is_nan.test.mjs +43 -43
  112. package/tests/helpers/is_null.test.mjs +17 -17
  113. package/tests/helpers/is_number.test.mjs +25 -25
  114. package/tests/helpers/is_numeric.test.mjs +30 -30
  115. package/tests/helpers/is_object.test.mjs +52 -52
  116. package/tests/helpers/is_scalar.test.mjs +21 -21
  117. package/tests/helpers/is_string.test.mjs +20 -20
  118. package/tests/helpers/is_symbol.test.mjs +20 -20
  119. package/tests/helpers/is_undefined.test.mjs +18 -18
  120. package/tests/helpers/print.test.mjs +62 -62
  121. package/tests/helpers/print_type.test.mjs +62 -62
  122. package/tests/helpers/settype.test.mjs +34 -34
  123. package/tests/helpers/to_array.test.mjs +38 -38
  124. package/tests/helpers/to_assoc.test.mjs +33 -33
  125. package/tests/helpers/to_bool.test.mjs +51 -51
  126. package/tests/helpers/to_boolean.test.mjs +51 -51
  127. package/tests/helpers/to_float.test.mjs +26 -26
  128. package/tests/helpers/to_int.test.mjs +48 -48
  129. package/tests/helpers/to_integer.test.mjs +48 -48
  130. package/tests/helpers/to_list.test.mjs +32 -32
  131. package/tests/helpers/to_object.test.mjs +36 -36
  132. package/tests/helpers/to_string.test.mjs +71 -71
  133. package/tests/helpers/value.test.mjs +68 -0
@@ -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
+
@@ -0,0 +1,113 @@
1
+ [Главная](../../README.md) / [Классы](../classes.md) / Value
2
+
3
+ [Исходный код](../../src/classes/Value.mjs)
4
+
5
+ # Value
6
+
7
+ `Value` — Класс, представляющий обертку для значений различных типов и предоставляющий методы
8
+ для работы с ними.
9
+
10
+ ## Сигнатура класса
11
+
12
+ ```ts
13
+ class Value {
14
+ constructor(value: any);
15
+ get(): any;
16
+ getType(): string;
17
+ setType(type: string): Value;
18
+ isEmpty(): boolean;
19
+ print(): Value;
20
+ toPrint(): Value;
21
+ printType(): Value;
22
+ toPrintType(): Value;
23
+ isArray(): boolean;
24
+ isAssoc(): boolean;
25
+ isBigInt(): boolean;
26
+ isBool(): boolean;
27
+ isBoolean(): boolean;
28
+ isClass(): boolean;
29
+ isFloat(): boolean;
30
+ isFunction(): boolean;
31
+ isInfinity(): boolean;
32
+ isInt(): boolean;
33
+ isInteger(): boolean;
34
+ isList(): boolean;
35
+ isNaN(): boolean;
36
+ isNull(): boolean;
37
+ isNumber(): boolean;
38
+ isNumeric(): boolean;
39
+ isObject(): boolean;
40
+ isScalar(): boolean;
41
+ isString(): boolean;
42
+ isSymbol(): boolean;
43
+ isUndefined(): boolean;
44
+ toArray(): Value;
45
+ toAssoc(): Value;
46
+ toBool(): Value;
47
+ toBoolean(): Value;
48
+ toFloat(): Value;
49
+ toInt(): Value;
50
+ toInteger(): Value;
51
+ toList(): Value;
52
+ toObject(): Value;
53
+ toString(): Value;
54
+ }
55
+ ```
56
+
57
+ ## Описание
58
+
59
+ Класс `Value` используется для хранения значения и предоставления методов для работы с этим
60
+ значением. Значение хранится в приватном свойстве `#value` и не может быть изменено после создания
61
+ экземпляра класса. Класс также предоставляет методы для получения типа значения, проверки значения
62
+ на пустоту, преобразования значения в другие типы и другие операции.
63
+
64
+ ### Методы
65
+
66
+ - [constructor](#constructor) — Создает экземпляр класса `Value` с заданным значением.
67
+ - [get](#get) — Возвращает значение, хранящееся в экземпляре класса `Value`.
68
+ - [getType](#getType) — Возвращает тип значения, хранящегося в экземпляре класса `Value`.
69
+ - [setType](#setType) — Преобразует значение в экземпляре класса `Value` к указанному типу.
70
+ - [isEmpty](#isEmpty) — Проверяет, является ли значение, хранящееся в экземпляре класса
71
+ `Value`, пустым.
72
+ - [print](#print) — Преобразует значение переменной в строку и выводит его на консоль.
73
+ - [toPrint](#toPrint) — Преобразует значение переменной в строку и возвращает новый экземпляр
74
+ класса `Value` с этим значением.
75
+ - [printType](#printType) — Преобразует тип значения переменной в строку и выводит его на
76
+ консоль.
77
+ - [toPrintType](#toPrintType) — Преобразует тип значения переменной в строку и возвращает
78
+ новый экземпляр класса `Value` с этим значением.
79
+ - [isArray](#isArray) — Проверяет, является ли значение массивом.
80
+ - [isAssoc](#isAssoc) — Проверяет, является ли значение ассоциативным массивом.
81
+ - [isBigInt](#isBigInt) — Проверяет, является ли значение типом BigInt.
82
+ - [isBool](#isBool) — Проверяет, является ли значение логическим (булевым).
83
+ - [isBoolean](#isBoolean) — Проверяет, является ли значение логическим (булевым).
84
+ - [isClass](#isClass) — Проверяет, является ли значение классом.
85
+ - [isFloat](#isFloat) — Проверяет, является ли значение числом с плавающей точкой.
86
+ - [isFunction](#isFunction) — Проверяет, является ли значение функцией.
87
+ - [isInfinity](#isInfinity) — Проверяет, является ли значение бесконечностью.
88
+ - [isInt](#isInt) — Проверяет, является ли значение целым числом.
89
+ - [isInteger](#isInteger) — Проверяет, является ли значение целым числом.
90
+ - [isList](#isList) — Проверяет, является ли значение списком.
91
+ - [isNaN](#isNaN) — Проверяет, является ли значение NaN.
92
+ - [isNull](#isNull) — Проверяет, является ли значение null.
93
+ - [isNumber](#isNumber) — Проверяет, является ли значение числом.
94
+ - [isNumeric](#isNumeric) — Проверяет, является ли значение числом или числовой строкой.
95
+ - [isObject](#isObject) — Проверяет, является ли значение объектом.
96
+ - [isScalar](#isScalar) — Проверяет, является ли значение скалярным.
97
+ - [isString](#isString) — Проверяет, является ли значение строкой.
98
+ - [isSymbol](#isSymbol) — Проверяет, является ли значение символом.
99
+ - [isUndefined](#isUndefined) — Проверяет, является ли значение undefined.
100
+ - [toArray](#toArray) — Преобразует значение в экземпляре класса `Value` к массиву.
101
+ - [toAssoc](#toAssoc) — Преобразует значение в экземпляре класса `Value` к ассоциативному
102
+ массиву.
103
+ - [toBool](#toBool) — Преобразует значение в экземпляре класса `Value` к логическому типу.
104
+ - [toBoolean](#toBoolean) — Преобразует значение в экземпляре класса `Value` к логическому
105
+ типу.
106
+ - [toFloat](#toFloat) — Преобразует значение в экземпляре класса `Value` к числу с плавающей
107
+ точкой.
108
+ - [toInt](#toInt) — Преобразует значение в экземпляре класса `Value` к целому числу.
109
+ - [toInteger](#toInteger) — Преобразует значение в экземпляре класса `Value` к целому числу.
110
+ - [toList](#toList) — Преобразует значение в экземпляре класса `Value` к списку.
111
+ - [toObject](#toObject) — Преобразует значение в экземпляре класса `Value` к объекту.
112
+ - [toString](#toString) — Преобразует значение в экземпляре класса `Value` к строке.
113
+
package/docs/classes.md CHANGED
@@ -6,4 +6,6 @@
6
6
  типов данных в JavaScript.
7
7
  - [Type](./classes/Type.md) — Класс, предоставляющий методы для проверки типов данных в
8
8
  JavaScript.
9
+ - [Value](./classes/Value.md) — Класс, представляющий обертку для значений различных типов и
10
+ предоставляющий методы для работы с ними.
9
11