@rogolev/value 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. package/.prettierignore +4 -0
  2. package/CHANGELOG.md +56 -0
  3. package/LICENSE +41 -0
  4. package/README.md +91 -0
  5. package/babel.config.json +20 -0
  6. package/docs/helpers/array.md +80 -0
  7. package/docs/helpers/empty.md +77 -0
  8. package/docs/helpers/gettype.md +69 -0
  9. package/docs/helpers/is_array.md +105 -0
  10. package/docs/helpers/is_assoc.md +59 -0
  11. package/docs/helpers/is_bigint.md +57 -0
  12. package/docs/helpers/is_bool.md +50 -0
  13. package/docs/helpers/is_boolean.md +50 -0
  14. package/docs/helpers/is_class.md +73 -0
  15. package/docs/helpers/is_float.md +71 -0
  16. package/docs/helpers/is_function.md +62 -0
  17. package/docs/helpers/is_infinity.md +61 -0
  18. package/docs/helpers/is_int.md +81 -0
  19. package/docs/helpers/is_integer.md +82 -0
  20. package/docs/helpers/is_list.md +51 -0
  21. package/docs/helpers/is_nan.md +59 -0
  22. package/docs/helpers/is_null.md +49 -0
  23. package/docs/helpers/is_number.md +67 -0
  24. package/docs/helpers/is_numeric.md +76 -0
  25. package/docs/helpers/is_object.md +69 -0
  26. package/docs/helpers/is_scalar.md +60 -0
  27. package/docs/helpers/is_string.md +58 -0
  28. package/docs/helpers/is_symbol.md +58 -0
  29. package/docs/helpers/is_undefined.md +56 -0
  30. package/docs/helpers/print.md +187 -0
  31. package/docs/helpers/print_type.md +225 -0
  32. package/docs/helpers/settype.md +78 -0
  33. package/docs/helpers/to_array.md +106 -0
  34. package/docs/helpers/to_assoc.md +91 -0
  35. package/docs/helpers/to_bool.md +76 -0
  36. package/docs/helpers/to_boolean.md +77 -0
  37. package/docs/helpers/to_float.md +70 -0
  38. package/docs/helpers/to_int.md +87 -0
  39. package/docs/helpers/to_integer.md +87 -0
  40. package/docs/helpers/to_list.md +47 -0
  41. package/docs/helpers/to_object.md +76 -0
  42. package/docs/helpers/to_string.md +134 -0
  43. package/docs/helpers.md +51 -0
  44. package/docs/types/NaN.md +30 -0
  45. package/docs/types/array.md +252 -0
  46. package/docs/types/bigint.md +34 -0
  47. package/docs/types/boolean.md +47 -0
  48. package/docs/types/class.md +36 -0
  49. package/docs/types/float.md +35 -0
  50. package/docs/types/function.md +121 -0
  51. package/docs/types/infinity.md +32 -0
  52. package/docs/types/integer.md +35 -0
  53. package/docs/types/null.md +23 -0
  54. package/docs/types/object.md +62 -0
  55. package/docs/types/string.md +33 -0
  56. package/docs/types/symbol.md +29 -0
  57. package/docs/types/undefined.md +25 -0
  58. package/docs/types.md +44 -0
  59. package/eslint.config.mjs +1664 -0
  60. package/index.mjs +37 -0
  61. package/jest.config.mjs +31 -0
  62. package/package.json +47 -0
  63. package/prettier.config.mjs +224 -0
  64. package/src/helpers/array.mjs +107 -0
  65. package/src/helpers/empty.mjs +70 -0
  66. package/src/helpers/gettype.mjs +133 -0
  67. package/src/helpers/is_array.mjs +128 -0
  68. package/src/helpers/is_assoc.mjs +51 -0
  69. package/src/helpers/is_bigint.mjs +47 -0
  70. package/src/helpers/is_bool.mjs +43 -0
  71. package/src/helpers/is_boolean.mjs +43 -0
  72. package/src/helpers/is_class.mjs +87 -0
  73. package/src/helpers/is_float.mjs +67 -0
  74. package/src/helpers/is_function.mjs +74 -0
  75. package/src/helpers/is_infinity.mjs +52 -0
  76. package/src/helpers/is_int.mjs +57 -0
  77. package/src/helpers/is_integer.mjs +74 -0
  78. package/src/helpers/is_list.mjs +43 -0
  79. package/src/helpers/is_nan.mjs +51 -0
  80. package/src/helpers/is_null.mjs +37 -0
  81. package/src/helpers/is_number.mjs +49 -0
  82. package/src/helpers/is_numeric.mjs +64 -0
  83. package/src/helpers/is_object.mjs +72 -0
  84. package/src/helpers/is_scalar.mjs +45 -0
  85. package/src/helpers/is_string.mjs +46 -0
  86. package/src/helpers/is_symbol.mjs +46 -0
  87. package/src/helpers/is_undefined.mjs +44 -0
  88. package/src/helpers/print.mjs +245 -0
  89. package/src/helpers/print_type.mjs +261 -0
  90. package/src/helpers/settype.mjs +101 -0
  91. package/src/helpers/to_array.mjs +118 -0
  92. package/src/helpers/to_assoc.mjs +98 -0
  93. package/src/helpers/to_bool.mjs +68 -0
  94. package/src/helpers/to_boolean.mjs +64 -0
  95. package/src/helpers/to_float.mjs +72 -0
  96. package/src/helpers/to_int.mjs +93 -0
  97. package/src/helpers/to_integer.mjs +81 -0
  98. package/src/helpers/to_list.mjs +56 -0
  99. package/src/helpers/to_object.mjs +94 -0
  100. package/src/helpers/to_string.mjs +157 -0
  101. package/tests/helpers/array.test.mjs +58 -0
  102. package/tests/helpers/empty.test.mjs +22 -0
  103. package/tests/helpers/gettype.test.mjs +74 -0
  104. package/tests/helpers/is_array.test.mjs +404 -0
  105. package/tests/helpers/is_assoc.test.mjs +42 -0
  106. package/tests/helpers/is_bigint.test.mjs +51 -0
  107. package/tests/helpers/is_bool.test.mjs +43 -0
  108. package/tests/helpers/is_boolean.test.mjs +43 -0
  109. package/tests/helpers/is_class.test.mjs +84 -0
  110. package/tests/helpers/is_float.test.mjs +87 -0
  111. package/tests/helpers/is_function.test.mjs +83 -0
  112. package/tests/helpers/is_infinity.test.mjs +46 -0
  113. package/tests/helpers/is_int.test.mjs +45 -0
  114. package/tests/helpers/is_integer.test.mjs +64 -0
  115. package/tests/helpers/is_list.test.mjs +42 -0
  116. package/tests/helpers/is_nan.test.mjs +43 -0
  117. package/tests/helpers/is_null.test.mjs +17 -0
  118. package/tests/helpers/is_number.test.mjs +25 -0
  119. package/tests/helpers/is_numeric.test.mjs +30 -0
  120. package/tests/helpers/is_object.test.mjs +52 -0
  121. package/tests/helpers/is_scalar.test.mjs +21 -0
  122. package/tests/helpers/is_string.test.mjs +20 -0
  123. package/tests/helpers/is_symbol.test.mjs +20 -0
  124. package/tests/helpers/is_undefined.test.mjs +18 -0
  125. package/tests/helpers/print.test.mjs +62 -0
  126. package/tests/helpers/print_type.test.mjs +62 -0
  127. package/tests/helpers/settype.test.mjs +34 -0
  128. package/tests/helpers/to_array.test.mjs +38 -0
  129. package/tests/helpers/to_assoc.test.mjs +33 -0
  130. package/tests/helpers/to_bool.test.mjs +51 -0
  131. package/tests/helpers/to_boolean.test.mjs +51 -0
  132. package/tests/helpers/to_float.test.mjs +26 -0
  133. package/tests/helpers/to_int.test.mjs +48 -0
  134. package/tests/helpers/to_integer.test.mjs +48 -0
  135. package/tests/helpers/to_list.test.mjs +32 -0
  136. package/tests/helpers/to_object.test.mjs +36 -0
  137. package/tests/helpers/to_string.test.mjs +71 -0
@@ -0,0 +1,245 @@
1
+ import gettype from './gettype.mjs';
2
+ import is_bool from './is_bool.mjs';
3
+ import is_class from './is_class.mjs';
4
+ import to_string from './to_string.mjs';
5
+
6
+ function print_array(value) {
7
+ let result = Array.isArray(value) ? '[' : '{';
8
+
9
+ for (const [k, v] of Object.entries(value)) {
10
+ result += `\n ${k}: ${print(v, true).replace(/\n/g, '\n ')},`;
11
+ }
12
+
13
+ return (result += (result.length > 1 ? '\n' : '') + (Array.isArray(value) ? ']' : '}'));
14
+ }
15
+
16
+ function print_object(value) {
17
+ let result = `${to_string(value)} {`;
18
+
19
+ let new_line = false;
20
+
21
+ for (const [k, v] of Object.entries(value)) {
22
+ new_line = true;
23
+
24
+ result += `\n ${k} = ${print(v, true).replace(/\n/g, '\n ')};`;
25
+ }
26
+
27
+ return (result += `${new_line ? '\n' : ''}${Array.isArray(value) ? ']' : '}'}`);
28
+ }
29
+
30
+ function print_class(value) {
31
+ const parent = Object.getPrototypeOf(value);
32
+
33
+ let result = `class ${value.name ? `${value.name} ` : ''}${is_class(parent) ? `extends ${parent.name} ` : ''}{`;
34
+
35
+ let new_line = false;
36
+
37
+ for (const [k, v] of Object.entries(value)) {
38
+ new_line = true;
39
+
40
+ result += `\n ${k} = ${print(v, true).replace(/\n/g, '\n ')};`;
41
+ }
42
+
43
+ return (result += `${new_line ? '\n' : ''}}`);
44
+ }
45
+
46
+ function print_string(value) {
47
+ return `"${value}"`;
48
+ }
49
+
50
+ /**
51
+ * Преобразует значение переменной в строку и выводит его на консоль.
52
+ *
53
+ * ### Описание
54
+ *
55
+ * Функция `print` используется для преобразования различных типов данных в строку и вывода их на консоль. Она обрабатывает массивы, объекты, классы, функции, символы и другие типы данных, возвращая их строковое представление.
56
+ *
57
+ * ### Параметры
58
+ *
59
+ * - `value` (any)
60
+ * Переменная, значение которой необходимо преобразовать в строку и вывести на консоль.
61
+ *
62
+ * - `return_result` (boolean)
63
+ * Если `true`, функция возвращает строковое представление значения переменной.
64
+ * Если `false`, функция выводит строковое представление значения переменной на консоль.
65
+ *
66
+ * ### Возвращаемое значение
67
+ *
68
+ * Возвращает строковое представление значения переменной, если параметр `return_result` равен `true`. В противном случае возвращает `undefined`.
69
+ *
70
+ * ### Примеры использования
71
+ *
72
+ * 1. Преобразование строки:
73
+ *
74
+ * ```js
75
+ * print('example');
76
+ * ```
77
+ * Вывод:
78
+ * ```txt
79
+ * "example"
80
+ * ```
81
+ *
82
+ * 2. Преобразование числа:
83
+ *
84
+ * ```js
85
+ * print(123);
86
+ * ```
87
+ * Вывод:
88
+ * ```txt
89
+ * 123
90
+ * ```
91
+ *
92
+ * 3. Преобразование булевых значений:
93
+ *
94
+ * ```js
95
+ * print(true);
96
+ * ```
97
+ * Вывод:
98
+ * ```txt
99
+ * true
100
+ * ```
101
+ *
102
+ * ```js
103
+ * print(false);
104
+ * ```
105
+ * Вывод:
106
+ * ```txt
107
+ * false
108
+ * ```
109
+ *
110
+ * 4. Преобразование null и undefined:
111
+ *
112
+ * ```js
113
+ * print(null);
114
+ * ```
115
+ * Вывод:
116
+ * ```txt
117
+ * null
118
+ * ```
119
+ *
120
+ * ```js
121
+ * print(undefined);
122
+ * ```
123
+ * Вывод:
124
+ * ```txt
125
+ * undefined
126
+ * ```
127
+ *
128
+ * 5. Преобразование массива:
129
+ *
130
+ * ```js
131
+ * const arr = [1, 2, 3];
132
+ * print(arr);
133
+ * ```
134
+ * Вывод:
135
+ * ```txt
136
+ * [
137
+ * 0: 1,
138
+ * 1: 2,
139
+ * 2: 3,
140
+ * ]
141
+ * ```
142
+ *
143
+ * 6. Преобразование ассоциативного массива:
144
+ *
145
+ * ```js
146
+ * const obj = { key: 'value' };
147
+ * print(obj);
148
+ * ```
149
+ * Вывод:
150
+ * ```txt
151
+ * {
152
+ * key: "value",
153
+ * }
154
+ * ```
155
+ *
156
+ * 7. Преобразование функции:
157
+ *
158
+ * ```js
159
+ * const func = function() {};
160
+ * print(func);
161
+ * ```
162
+ * Вывод:
163
+ * ```txt
164
+ * function func() {}
165
+ * ```
166
+ *
167
+ * 8. Преобразование символа:
168
+ *
169
+ * ```js
170
+ * const symbol = Symbol('example');
171
+ * print(symbol);
172
+ * ```
173
+ * Вывод:
174
+ * ```txt
175
+ * Symbol(example)
176
+ * ```
177
+ *
178
+ * 9. Преобразование класса:
179
+ *
180
+ * ```js
181
+ * class MyClass {
182
+ * static test = 'test';
183
+ * }
184
+ * print(MyClass);
185
+ * ```
186
+ * Вывод:
187
+ * ```txt
188
+ * class MyClass {
189
+ * test = "test";
190
+ * }
191
+ * ```
192
+ *
193
+ * 10. Преобразование экземпляра класса:
194
+ *
195
+ * ```js
196
+ * class MyClass {
197
+ * test = 'test';
198
+ * }
199
+ * const instance = new MyClass();
200
+ * print(instance);
201
+ * ```
202
+ * Вывод:
203
+ * ```txt
204
+ * object MyClass {
205
+ * test = "test";
206
+ * }
207
+ * ```
208
+ *
209
+ * @param {any} value Переменная, значение которой необходимо преобразовать в строку и вывести на консоль.
210
+ * @param {boolean} return_result Если `true`, функция возвращает строковое представление значения переменной. Если `false`, функция выводит строковое представление значения переменной на консоль.
211
+ * @returns {string|undefined} Возвращает строковое представление значения переменной, если параметр `return_result` равен `true`. В противном случае возвращает `undefined`.
212
+ */
213
+ export default function print(value, return_result = false) {
214
+ if (!is_bool(return_result)) {
215
+ throw new TypeError('Параметр "return_result" должен быть логическим типом.');
216
+ }
217
+
218
+ let result = '';
219
+
220
+ switch (gettype(value)) {
221
+ case 'array':
222
+ result = print_array(value);
223
+ break;
224
+ case 'object':
225
+ result =
226
+ value.toString() === '[object Object]' ? print_object(value) : value.toString();
227
+ break;
228
+ case 'class':
229
+ result = print_class(value);
230
+ break;
231
+ case 'string':
232
+ result = print_string(value);
233
+ break;
234
+ default:
235
+ result = to_string(value);
236
+ }
237
+
238
+ if (return_result) {
239
+ return result;
240
+ }
241
+
242
+ console.log(result);
243
+
244
+ return undefined;
245
+ }
@@ -0,0 +1,261 @@
1
+ import gettype from './gettype.mjs';
2
+ import is_bool from './is_bool.mjs';
3
+ import is_class from './is_class.mjs';
4
+ import print from './print.mjs';
5
+
6
+ function print_array_type(value) {
7
+ let result = `array(${Object.values(value).length}) ${Array.isArray(value) ? '[' : '{'}`;
8
+
9
+ let new_line = false;
10
+
11
+ for (const [k, v] of Object.entries(value)) {
12
+ new_line = true;
13
+
14
+ result += `\n ${k}: ${print_type(v, true).replace(/\n/g, '\n ')},`;
15
+ }
16
+
17
+ return (result += `${new_line ? '\n' : ''}${Array.isArray(value) ? ']' : '}'}`);
18
+ }
19
+
20
+ function print_object_type(value) {
21
+ let result = `object(${value.constructor.name}) (${Object.values(value).length}) {`;
22
+
23
+ let new_line = false;
24
+
25
+ for (const [k, v] of Object.entries(value)) {
26
+ new_line = true;
27
+
28
+ result += `\n ${k} = ${print_type(v, true).replace(/\n/g, '\n ')};`;
29
+ }
30
+
31
+ return (result += `${new_line ? '\n' : ''}}`);
32
+ }
33
+
34
+ function print_class_type(value) {
35
+ const parent = Object.getPrototypeOf(value);
36
+
37
+ let result = `class ${value.name ? `${value.name} ` : ''}${is_class(parent) ? `extends ${parent.name} ` : ''}{`;
38
+
39
+ let new_line = false;
40
+
41
+ for (const [k, v] of Object.entries(value)) {
42
+ new_line = true;
43
+
44
+ result += `\n ${k} = ${print_type(v, true).replace(/\n/g, '\n ')};`;
45
+ }
46
+
47
+ return (result += `${new_line ? '\n' : ''}}`);
48
+ }
49
+
50
+ /**
51
+ * Преобразует значение переменной в строку с указанием типа и выводит его на консоль.
52
+ *
53
+ * ### Описание
54
+ *
55
+ * Функция `print_type` используется для преобразования различных типов данных в строку с указанием типа и вывода их на консоль. Она обрабатывает массивы, объекты, классы, функции, символы и другие типы данных, возвращая их строковое представление с указанием типа.
56
+ *
57
+ * ### Параметры
58
+ *
59
+ * - `value` (any)
60
+ * Переменная, значение которой необходимо преобразовать в строку с указанием типа и вывести на консоль.
61
+ *
62
+ * - `return_result` (boolean)
63
+ * Если `true`, функция возвращает строковое представление значения переменной. Если `false`, функция выводит строковое представление значения переменной на консоль.
64
+ *
65
+ * ### Возвращаемое значение
66
+ *
67
+ * Возвращает строковое представление значения переменной с указанием типа, если параметр `return_result` равен `true`. В противном случае возвращает `undefined`.
68
+ *
69
+ * ### Примеры использования
70
+ *
71
+ * 1. Преобразование строки:
72
+ *
73
+ * ```js
74
+ * print_type('example');
75
+ * ```
76
+ * Вывод:
77
+ * ```txt
78
+ * string(7) "example"
79
+ * ```
80
+ *
81
+ * 2. Преобразование числа:
82
+ *
83
+ * ```js
84
+ * print_type(123);
85
+ * ```
86
+ * Вывод:
87
+ * ```txt
88
+ * int(123)
89
+ * ```
90
+ *
91
+ * ```js
92
+ * print_type(123.45);
93
+ * ```
94
+ * Вывод:
95
+ * ```txt
96
+ * float(123.45)
97
+ * ```
98
+ *
99
+ * 3. Преобразование булевых значений:
100
+ *
101
+ * ```js
102
+ * print_type(true);
103
+ * ```
104
+ * Вывод:
105
+ * ```txt
106
+ * bool(true)
107
+ * ```
108
+ *
109
+ * ```js
110
+ * print_type(false);
111
+ * ```
112
+ * Вывод:
113
+ * ```txt
114
+ * bool(false)
115
+ * ```
116
+ *
117
+ * 4. Преобразование null и undefined:
118
+ *
119
+ * ```js
120
+ * print_type(null);
121
+ * ```
122
+ * Вывод:
123
+ * ```txt
124
+ * null
125
+ * ```
126
+ *
127
+ * ```js
128
+ * print_type(undefined);
129
+ * ```
130
+ * Вывод:
131
+ * ```txt
132
+ * undefined
133
+ * ```
134
+ *
135
+ * 5. Преобразование массива:
136
+ *
137
+ * ```js
138
+ * const arr = [1, 2, 3];
139
+ * print_type(arr);
140
+ * ```
141
+ * Вывод:
142
+ * ```txt
143
+ * array(3) [
144
+ * 0: int(1),
145
+ * 1: int(2),
146
+ * 2: int(3),
147
+ * ]
148
+ * ```
149
+ *
150
+ * 6. Преобразование ассоциативного массива:
151
+ *
152
+ * ```js
153
+ * const obj = { key: 'value' };
154
+ * print_type(obj);
155
+ * ```
156
+ * Вывод:
157
+ * ```txt
158
+ * array(1) {
159
+ * key: string(5) "value",
160
+ * }
161
+ * ```
162
+ *
163
+ * 7. Преобразование функции:
164
+ *
165
+ * ```js
166
+ * const func = function() {};
167
+ * print_type(func);
168
+ * ```
169
+ * Вывод:
170
+ * ```txt
171
+ * function func() {}
172
+ * ```
173
+ *
174
+ * 8. Преобразование символа:
175
+ *
176
+ * ```js
177
+ * const symbol = Symbol('example');
178
+ * print_type(symbol);
179
+ * ```
180
+ * Вывод:
181
+ * ```txt
182
+ * Symbol(example)
183
+ * ```
184
+ *
185
+ * 9. Преобразование класса:
186
+ *
187
+ * ```js
188
+ * class MyClass {
189
+ * static test = 'test';
190
+ * }
191
+ * print_type(MyClass);
192
+ * ```
193
+ * Вывод:
194
+ * ```txt
195
+ * class MyClass {
196
+ * test = string(4) "test";
197
+ * }
198
+ * ```
199
+ *
200
+ * 10. Преобразование экземпляра класса:
201
+ *
202
+ * ```js
203
+ * class MyClass {
204
+ * test = 'test';
205
+ * }
206
+ * const instance = new MyClass();
207
+ * print_type(instance);
208
+ * ```
209
+ * Вывод:
210
+ * ```txt
211
+ * object(MyClass) (1) {
212
+ * test: string(4) "test",
213
+ * }
214
+ * ```
215
+ *
216
+ * @param {any} value Переменная, значение которой необходимо преобразовать в строку с указанием типа и вывести на консоль.
217
+ * @param {boolean} return_result Если `true`, функция возвращает строковое представление значения переменной. Если `false`, функция выводит строковое представление значения переменной на консоль.
218
+ * @returns {string|undefined} Возвращает строковое представление значения переменной с указанием типа, если параметр `return_result` равен `true`. В противном случае возвращает `undefined`.
219
+ */
220
+ export default function print_type(value, return_result = false) {
221
+ if (!is_bool(return_result)) {
222
+ throw new TypeError('Параметр "return_result" должен иметь логический тип.');
223
+ }
224
+
225
+ let result = '';
226
+
227
+ switch (gettype(value)) {
228
+ case 'boolean':
229
+ result = value ? 'bool(true)' : 'bool(false)';
230
+ break;
231
+ case 'integer':
232
+ result = `int(${value})`;
233
+ break;
234
+ case 'float':
235
+ result = `float(${value})`;
236
+ break;
237
+ case 'string':
238
+ result = `string(${value.length}) "${value}"`;
239
+ break;
240
+ case 'array':
241
+ result = print_array_type(value);
242
+ break;
243
+ case 'object':
244
+ result = print_object_type(value);
245
+ break;
246
+ case 'class':
247
+ result = print_class_type(value);
248
+ break;
249
+ default:
250
+ result = print(value, true);
251
+ break;
252
+ }
253
+
254
+ if (return_result) {
255
+ return result;
256
+ }
257
+
258
+ console.log(result);
259
+
260
+ return undefined;
261
+ }
@@ -0,0 +1,101 @@
1
+ import to_array from './to_array.mjs';
2
+ import to_bool from './to_bool.mjs';
3
+ import to_float from './to_float.mjs';
4
+ import to_int from './to_int.mjs';
5
+ import to_object from './to_object.mjs';
6
+ import to_string from './to_string.mjs';
7
+
8
+ /**
9
+ * Приводит значение переменной к указанному типу.
10
+ *
11
+ * ### Описание
12
+ *
13
+ * Функция `settype` используется для преобразования значения переменной к указанному типу. Поддерживаются типы: `boolean`, `integer`, `float`, `string`, `array`, `object`.
14
+ *
15
+ * ### Параметры
16
+ *
17
+ * - `value` (any)
18
+ * Переменная, значение которой необходимо привести к указанному типу.
19
+ *
20
+ * - `type` (string)
21
+ * Тип, к которому необходимо привести значение переменной.
22
+ *
23
+ * ### Возвращаемое значение
24
+ *
25
+ * Возвращает значение переменной, приведенное к указанному типу.
26
+ *
27
+ * ### Примеры использования
28
+ *
29
+ * 1. Преобразование в булевое значение:
30
+ *
31
+ * ```js
32
+ * const result = settype('true', 'boolean');
33
+ * // Результат: true
34
+ * ```
35
+ *
36
+ * 2. Преобразование в целое число:
37
+ *
38
+ * ```js
39
+ * const result = settype('123', 'integer');
40
+ * // Результат: 123
41
+ * ```
42
+ *
43
+ * 3. Преобразование в число с плавающей точкой:
44
+ *
45
+ * ```js
46
+ * const result = settype('123.45', 'float');
47
+ * // Результат: 123.45
48
+ * ```
49
+ *
50
+ * 4. Преобразование в строку:
51
+ *
52
+ * ```js
53
+ * const result = settype(123, 'string');
54
+ * // Результат: '123'
55
+ * ```
56
+ *
57
+ * 5. Преобразование в массив:
58
+ *
59
+ * ```js
60
+ * const result = settype('example', 'array');
61
+ * // Результат: ['example']
62
+ * ```
63
+ *
64
+ * 6. Преобразование в объект:
65
+ *
66
+ * ```js
67
+ * const result = settype('example', 'object');
68
+ * // Результат: { value: 'example' }
69
+ * ```
70
+ *
71
+ * @param {any} value Переменная, значение которой необходимо привести к указанному типу.
72
+ * @param {string} type Тип, к которому необходимо привести значение переменной.
73
+ * @returns {any} Возвращает значение переменной, приведенное к указанному типу.
74
+ */
75
+ export default function settype(value, type) {
76
+ if (type === 'boolean' || type === 'bool') {
77
+ return to_bool(value);
78
+ }
79
+
80
+ if (type === 'integer' || type === 'int') {
81
+ return to_int(value);
82
+ }
83
+
84
+ if (type === 'float') {
85
+ return to_float(value);
86
+ }
87
+
88
+ if (type === 'string') {
89
+ return to_string(value);
90
+ }
91
+
92
+ if (type === 'array') {
93
+ return to_array(value);
94
+ }
95
+
96
+ if (type === 'object') {
97
+ return to_object(value);
98
+ }
99
+
100
+ return value;
101
+ }