@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.
- package/CHANGELOG.md +14 -0
- package/README.md +19 -1
- package/docs/classes/Value/constructor.md +48 -0
- package/docs/classes/Value/get.md +51 -0
- package/docs/classes/Value/getType.md +71 -0
- package/docs/classes/Value/isArray.md +67 -0
- package/docs/classes/Value/isAssoc.md +68 -0
- package/docs/classes/Value/isBigInt.md +52 -0
- package/docs/classes/Value/isBool.md +60 -0
- package/docs/classes/Value/isBoolean.md +60 -0
- package/docs/classes/Value/isClass.md +55 -0
- package/docs/classes/Value/isEmpty.md +84 -0
- package/docs/classes/Value/isFloat.md +52 -0
- package/docs/classes/Value/isFunction.md +60 -0
- package/docs/classes/Value/isInfinity.md +60 -0
- package/docs/classes/Value/isInt.md +52 -0
- package/docs/classes/Value/isInteger.md +52 -0
- package/docs/classes/Value/isList.md +59 -0
- package/docs/classes/Value/isNaN.md +79 -0
- package/docs/classes/Value/isNull.md +59 -0
- package/docs/classes/Value/isNumber.md +80 -0
- package/docs/classes/Value/isNumeric.md +79 -0
- package/docs/classes/Value/isObject.md +68 -0
- package/docs/classes/Value/isScalar.md +72 -0
- package/docs/classes/Value/isString.md +67 -0
- package/docs/classes/Value/isSymbol.md +75 -0
- package/docs/classes/Value/isUndefined.md +67 -0
- package/docs/classes/Value/print.md +164 -0
- package/docs/classes/Value/printType.md +158 -0
- package/docs/classes/Value/setType.md +79 -0
- package/docs/classes/Value/toArray.md +85 -0
- package/docs/classes/Value/toAssoc.md +85 -0
- package/docs/classes/Value/toBool.md +71 -0
- package/docs/classes/Value/toBoolean.md +71 -0
- package/docs/classes/Value/toFloat.md +72 -0
- package/docs/classes/Value/toInt.md +72 -0
- package/docs/classes/Value/toInteger.md +72 -0
- package/docs/classes/Value/toList.md +77 -0
- package/docs/classes/Value/toObject.md +78 -0
- package/docs/classes/Value/toPrint.md +115 -0
- package/docs/classes/Value/toPrintType.md +110 -0
- package/docs/classes/Value/toString.md +134 -0
- package/docs/classes/Value.md +113 -0
- package/docs/classes.md +2 -0
- package/docs/constants.md +47 -0
- package/docs/helpers/value.md +95 -0
- package/docs/helpers.md +2 -0
- package/index.mjs +3 -0
- package/package.json +2 -2
- package/src/classes/Convert.mjs +818 -819
- package/src/classes/Type.mjs +1284 -1285
- package/src/classes/Value.mjs +2846 -0
- package/src/constants.mjs +14 -0
- package/src/helpers/array.mjs +107 -107
- package/src/helpers/empty.mjs +70 -70
- package/src/helpers/gettype.mjs +149 -133
- package/src/helpers/is_array.mjs +128 -128
- package/src/helpers/is_assoc.mjs +51 -51
- package/src/helpers/is_bigint.mjs +47 -47
- package/src/helpers/is_bool.mjs +43 -43
- package/src/helpers/is_boolean.mjs +43 -43
- package/src/helpers/is_class.mjs +87 -87
- package/src/helpers/is_float.mjs +67 -67
- package/src/helpers/is_function.mjs +74 -74
- package/src/helpers/is_infinity.mjs +52 -52
- package/src/helpers/is_int.mjs +57 -57
- package/src/helpers/is_integer.mjs +74 -74
- package/src/helpers/is_list.mjs +43 -43
- package/src/helpers/is_nan.mjs +51 -51
- package/src/helpers/is_null.mjs +37 -37
- package/src/helpers/is_number.mjs +49 -49
- package/src/helpers/is_numeric.mjs +64 -64
- package/src/helpers/is_object.mjs +72 -72
- package/src/helpers/is_scalar.mjs +45 -45
- package/src/helpers/is_string.mjs +46 -46
- package/src/helpers/is_symbol.mjs +46 -46
- package/src/helpers/is_undefined.mjs +44 -44
- package/src/helpers/print.mjs +245 -245
- package/src/helpers/print_type.mjs +261 -261
- package/src/helpers/settype.mjs +101 -101
- package/src/helpers/to_array.mjs +118 -118
- package/src/helpers/to_assoc.mjs +98 -98
- package/src/helpers/to_bool.mjs +68 -68
- package/src/helpers/to_boolean.mjs +64 -64
- package/src/helpers/to_float.mjs +72 -72
- package/src/helpers/to_int.mjs +93 -93
- package/src/helpers/to_integer.mjs +81 -81
- package/src/helpers/to_list.mjs +56 -56
- package/src/helpers/to_object.mjs +94 -94
- package/src/helpers/to_string.mjs +157 -157
- package/src/helpers/value.mjs +92 -0
- package/tests/classes/Convert.test.mjs +398 -399
- package/tests/classes/Type.test.mjs +1262 -1263
- package/tests/classes/Value.test.mjs +423 -0
- package/tests/constants.test.mjs +75 -0
- package/tests/helpers/array.test.mjs +58 -58
- package/tests/helpers/empty.test.mjs +22 -22
- package/tests/helpers/gettype.test.mjs +74 -74
- package/tests/helpers/is_array.test.mjs +404 -404
- package/tests/helpers/is_assoc.test.mjs +42 -42
- package/tests/helpers/is_bigint.test.mjs +51 -51
- package/tests/helpers/is_bool.test.mjs +43 -43
- package/tests/helpers/is_boolean.test.mjs +43 -43
- package/tests/helpers/is_class.test.mjs +84 -84
- package/tests/helpers/is_float.test.mjs +87 -87
- package/tests/helpers/is_function.test.mjs +83 -83
- package/tests/helpers/is_infinity.test.mjs +46 -46
- package/tests/helpers/is_int.test.mjs +45 -45
- package/tests/helpers/is_integer.test.mjs +64 -64
- package/tests/helpers/is_list.test.mjs +42 -42
- package/tests/helpers/is_nan.test.mjs +43 -43
- package/tests/helpers/is_null.test.mjs +17 -17
- package/tests/helpers/is_number.test.mjs +25 -25
- package/tests/helpers/is_numeric.test.mjs +30 -30
- package/tests/helpers/is_object.test.mjs +52 -52
- package/tests/helpers/is_scalar.test.mjs +21 -21
- package/tests/helpers/is_string.test.mjs +20 -20
- package/tests/helpers/is_symbol.test.mjs +20 -20
- package/tests/helpers/is_undefined.test.mjs +18 -18
- package/tests/helpers/print.test.mjs +62 -62
- package/tests/helpers/print_type.test.mjs +62 -62
- package/tests/helpers/settype.test.mjs +34 -34
- package/tests/helpers/to_array.test.mjs +38 -38
- package/tests/helpers/to_assoc.test.mjs +33 -33
- package/tests/helpers/to_bool.test.mjs +51 -51
- package/tests/helpers/to_boolean.test.mjs +51 -51
- package/tests/helpers/to_float.test.mjs +26 -26
- package/tests/helpers/to_int.test.mjs +48 -48
- package/tests/helpers/to_integer.test.mjs +48 -48
- package/tests/helpers/to_list.test.mjs +32 -32
- package/tests/helpers/to_object.test.mjs +36 -36
- package/tests/helpers/to_string.test.mjs +71 -71
- 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
|
|