@rogolev/value 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. package/.prettierignore +4 -4
  2. package/CHANGELOG.md +68 -56
  3. package/LICENSE +41 -41
  4. package/README.md +100 -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.md +9 -0
  41. package/docs/helpers/array.md +80 -80
  42. package/docs/helpers/empty.md +77 -77
  43. package/docs/helpers/gettype.md +69 -69
  44. package/docs/helpers/is_array.md +105 -105
  45. package/docs/helpers/is_assoc.md +59 -59
  46. package/docs/helpers/is_bigint.md +57 -57
  47. package/docs/helpers/is_bool.md +50 -50
  48. package/docs/helpers/is_boolean.md +50 -50
  49. package/docs/helpers/is_class.md +73 -73
  50. package/docs/helpers/is_float.md +71 -71
  51. package/docs/helpers/is_function.md +62 -62
  52. package/docs/helpers/is_infinity.md +61 -61
  53. package/docs/helpers/is_int.md +81 -81
  54. package/docs/helpers/is_integer.md +82 -82
  55. package/docs/helpers/is_list.md +51 -51
  56. package/docs/helpers/is_nan.md +59 -59
  57. package/docs/helpers/is_null.md +49 -49
  58. package/docs/helpers/is_number.md +67 -67
  59. package/docs/helpers/is_numeric.md +76 -76
  60. package/docs/helpers/is_object.md +69 -69
  61. package/docs/helpers/is_scalar.md +60 -60
  62. package/docs/helpers/is_string.md +58 -58
  63. package/docs/helpers/is_symbol.md +58 -58
  64. package/docs/helpers/is_undefined.md +56 -56
  65. package/docs/helpers/print.md +187 -187
  66. package/docs/helpers/print_type.md +225 -225
  67. package/docs/helpers/settype.md +78 -78
  68. package/docs/helpers/to_array.md +106 -106
  69. package/docs/helpers/to_assoc.md +91 -91
  70. package/docs/helpers/to_bool.md +76 -76
  71. package/docs/helpers/to_boolean.md +77 -77
  72. package/docs/helpers/to_float.md +70 -70
  73. package/docs/helpers/to_int.md +87 -87
  74. package/docs/helpers/to_integer.md +87 -87
  75. package/docs/helpers/to_list.md +47 -47
  76. package/docs/helpers/to_object.md +76 -76
  77. package/docs/helpers/to_string.md +134 -134
  78. package/docs/helpers.md +51 -51
  79. package/docs/types/NaN.md +30 -30
  80. package/docs/types/array.md +252 -252
  81. package/docs/types/bigint.md +34 -34
  82. package/docs/types/boolean.md +47 -47
  83. package/docs/types/class.md +36 -36
  84. package/docs/types/float.md +35 -35
  85. package/docs/types/function.md +121 -121
  86. package/docs/types/infinity.md +32 -32
  87. package/docs/types/integer.md +35 -35
  88. package/docs/types/null.md +23 -23
  89. package/docs/types/object.md +62 -62
  90. package/docs/types/string.md +33 -33
  91. package/docs/types/symbol.md +29 -29
  92. package/docs/types/undefined.md +25 -25
  93. package/docs/types.md +44 -44
  94. package/eslint.config.mjs +1664 -1664
  95. package/index.mjs +40 -37
  96. package/jest.config.mjs +31 -31
  97. package/package.json +48 -47
  98. package/prettier.config.mjs +224 -224
  99. package/src/classes/Convert.mjs +819 -0
  100. package/src/classes/Type.mjs +1285 -0
  101. package/src/helpers/array.mjs +107 -107
  102. package/src/helpers/empty.mjs +70 -70
  103. package/src/helpers/gettype.mjs +133 -133
  104. package/src/helpers/is_array.mjs +128 -128
  105. package/src/helpers/is_assoc.mjs +51 -51
  106. package/src/helpers/is_bigint.mjs +47 -47
  107. package/src/helpers/is_bool.mjs +43 -43
  108. package/src/helpers/is_boolean.mjs +43 -43
  109. package/src/helpers/is_class.mjs +87 -87
  110. package/src/helpers/is_float.mjs +67 -67
  111. package/src/helpers/is_function.mjs +74 -74
  112. package/src/helpers/is_infinity.mjs +52 -52
  113. package/src/helpers/is_int.mjs +57 -57
  114. package/src/helpers/is_integer.mjs +74 -74
  115. package/src/helpers/is_list.mjs +43 -43
  116. package/src/helpers/is_nan.mjs +51 -51
  117. package/src/helpers/is_null.mjs +37 -37
  118. package/src/helpers/is_number.mjs +49 -49
  119. package/src/helpers/is_numeric.mjs +64 -64
  120. package/src/helpers/is_object.mjs +72 -72
  121. package/src/helpers/is_scalar.mjs +45 -45
  122. package/src/helpers/is_string.mjs +46 -46
  123. package/src/helpers/is_symbol.mjs +46 -46
  124. package/src/helpers/is_undefined.mjs +44 -44
  125. package/src/helpers/print.mjs +245 -245
  126. package/src/helpers/print_type.mjs +261 -261
  127. package/src/helpers/settype.mjs +101 -101
  128. package/src/helpers/to_array.mjs +118 -118
  129. package/src/helpers/to_assoc.mjs +98 -98
  130. package/src/helpers/to_bool.mjs +68 -68
  131. package/src/helpers/to_boolean.mjs +64 -64
  132. package/src/helpers/to_float.mjs +72 -72
  133. package/src/helpers/to_int.mjs +93 -93
  134. package/src/helpers/to_integer.mjs +81 -81
  135. package/src/helpers/to_list.mjs +56 -56
  136. package/src/helpers/to_object.mjs +94 -94
  137. package/src/helpers/to_string.mjs +157 -157
  138. package/tests/classes/Convert.test.mjs +399 -0
  139. package/tests/classes/Type.test.mjs +1263 -0
  140. package/tests/helpers/array.test.mjs +58 -58
  141. package/tests/helpers/empty.test.mjs +22 -22
  142. package/tests/helpers/gettype.test.mjs +74 -74
  143. package/tests/helpers/is_array.test.mjs +404 -404
  144. package/tests/helpers/is_assoc.test.mjs +42 -42
  145. package/tests/helpers/is_bigint.test.mjs +51 -51
  146. package/tests/helpers/is_bool.test.mjs +43 -43
  147. package/tests/helpers/is_boolean.test.mjs +43 -43
  148. package/tests/helpers/is_class.test.mjs +84 -84
  149. package/tests/helpers/is_float.test.mjs +87 -87
  150. package/tests/helpers/is_function.test.mjs +83 -83
  151. package/tests/helpers/is_infinity.test.mjs +46 -46
  152. package/tests/helpers/is_int.test.mjs +45 -45
  153. package/tests/helpers/is_integer.test.mjs +64 -64
  154. package/tests/helpers/is_list.test.mjs +42 -42
  155. package/tests/helpers/is_nan.test.mjs +43 -43
  156. package/tests/helpers/is_null.test.mjs +17 -17
  157. package/tests/helpers/is_number.test.mjs +25 -25
  158. package/tests/helpers/is_numeric.test.mjs +30 -30
  159. package/tests/helpers/is_object.test.mjs +52 -52
  160. package/tests/helpers/is_scalar.test.mjs +21 -21
  161. package/tests/helpers/is_string.test.mjs +20 -20
  162. package/tests/helpers/is_symbol.test.mjs +20 -20
  163. package/tests/helpers/is_undefined.test.mjs +18 -18
  164. package/tests/helpers/print.test.mjs +62 -62
  165. package/tests/helpers/print_type.test.mjs +62 -62
  166. package/tests/helpers/settype.test.mjs +34 -34
  167. package/tests/helpers/to_array.test.mjs +38 -38
  168. package/tests/helpers/to_assoc.test.mjs +33 -33
  169. package/tests/helpers/to_bool.test.mjs +51 -51
  170. package/tests/helpers/to_boolean.test.mjs +51 -51
  171. package/tests/helpers/to_float.test.mjs +26 -26
  172. package/tests/helpers/to_int.test.mjs +48 -48
  173. package/tests/helpers/to_integer.test.mjs +48 -48
  174. package/tests/helpers/to_list.test.mjs +32 -32
  175. package/tests/helpers/to_object.test.mjs +36 -36
  176. package/tests/helpers/to_string.test.mjs +71 -71
@@ -0,0 +1,125 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Convert](../Convert.md) / toString
2
+
3
+ [Исходный код](../../../src/classes/Convert.mjs)
4
+
5
+ # Convert.toString
6
+
7
+ `Convert.toString` — Преобразует значение в строку.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static toString(value: any): string;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `Convert.toString` используется для преобразования различных типов данных в строку. Он
18
+ обрабатывает массивы, объекты, классы, функции, символы и другие типы данных, возвращая их строковое
19
+ представление.
20
+
21
+ ## Параметры
22
+
23
+ - `value` (any)
24
+
25
+ Переменная, значение которой необходимо привести к строке.
26
+
27
+ ## Возвращаемое значение
28
+
29
+ Возвращает строку, соответствующую переданному значению.
30
+
31
+ ## Примеры использования
32
+
33
+ 1. Преобразование строки:
34
+
35
+ ```js
36
+ const result = Convert.toString('example');
37
+ // Результат: 'example'
38
+ ```
39
+
40
+ 2. Преобразование числа:
41
+
42
+ ```js
43
+ const result = Convert.toString(123);
44
+ // Результат: '123'
45
+ ```
46
+
47
+ 3. Преобразование булевых значений:
48
+
49
+ ```js
50
+ const result1 = Convert.toString(true);
51
+ // Результат: 'true'
52
+
53
+ const result2 = Convert.toString(false);
54
+ // Результат: 'false'
55
+ ```
56
+
57
+ 4. Преобразование null и undefined:
58
+
59
+ ```js
60
+ const result1 = Convert.toString(null);
61
+ // Результат: 'null'
62
+
63
+ const result2 = Convert.toString(undefined);
64
+ // Результат: 'undefined'
65
+ ```
66
+
67
+ 5. Преобразование массива:
68
+
69
+ ```js
70
+ const arr = [1, 2, 3];
71
+ const result = Convert.toString(arr);
72
+ // Результат: '[\n 1,\n 2,\n 3,\n]'
73
+ ```
74
+
75
+ 6. Преобразование объекта:
76
+
77
+ ```js
78
+ const obj = { key: 'value' };
79
+ const result = Convert.toString(obj);
80
+ // Результат: '{\n key: 'value',\n}'
81
+ ```
82
+
83
+ 7. Преобразование функции:
84
+
85
+ ```js
86
+ const func = function () {};
87
+ const result = Convert.toString(func);
88
+ // Результат: 'function func() {}'
89
+ ```
90
+
91
+ 8. Преобразование символа:
92
+
93
+ ```js
94
+ const symbol = Symbol('example');
95
+ const result = Convert.toString(symbol);
96
+ // Результат: 'Symbol(example)'
97
+ ```
98
+
99
+ 9. Преобразование BigInt:
100
+
101
+ ```js
102
+ const bigInt = BigInt(123);
103
+ const result = Convert.toString(bigInt);
104
+ // Результат: '123'
105
+ ```
106
+
107
+ 10. Преобразование класса:
108
+
109
+ ```js
110
+ class MyClass {
111
+ static test = 'test';
112
+ }
113
+ const result = Convert.toString(MyClass);
114
+ // Результат: 'class MyClass {}'
115
+ ```
116
+
117
+ 11. Преобразование экземпляра класса:
118
+
119
+ ```js
120
+ class MyClass {}
121
+ const instance = new MyClass();
122
+ const result = Convert.toString(instance);
123
+ // Результат: 'object MyClass'
124
+ ```
125
+
@@ -0,0 +1,44 @@
1
+ [Главная](../../README.md) / [Классы](../classes.md) / Convert
2
+
3
+ [Исходный код](../../src/classes/Convert.mjs)
4
+
5
+ # Convert
6
+
7
+ `Convert` — Класс, предоставляющий методы для преобразования различных типов данных в
8
+ JavaScript.
9
+
10
+ ## Сигнатура класса
11
+
12
+ ```ts
13
+ class Convert {
14
+ static toArray(value: any): Array<any>;
15
+ static toAssoc(value: any): Object;
16
+ static toBool(value: any): boolean;
17
+ static toBoolean(value: any): boolean;
18
+ static toFloat(value: any): number;
19
+ static toInt(value: any, base?: number): number;
20
+ static toInteger(value: any, base?: number): number;
21
+ static toList(value: any): Array<any>;
22
+ static toObject(value: any): Object;
23
+ static toString(value: any): string;
24
+ }
25
+ ```
26
+
27
+ ## Описание
28
+
29
+ Класс `Convert` включает в себя статические методы, которые позволяют преобразовывать значения
30
+ различных типов данных в другие типы.
31
+
32
+ ### Методы
33
+
34
+ - [toArray](./Convert/toArray.md) &mdash; Преобразует значение в массив.
35
+ - [toAssoc](./Convert/toAssoc.md) &mdash; Преобразует значение в ассоциативный массив.
36
+ - [toBool](./Convert/toBool.md) &mdash; Преобразует значение в логическое значение.
37
+ - [toBoolean](./Convert/toBoolean.md) &mdash; Преобразует значение в логическое значение.
38
+ - [toFloat](./Convert/toFloat.md) &mdash; Преобразует значение в число с плавающей точкой.
39
+ - [toInt](./Convert/toInt.md) &mdash; Преобразует значение в целое число.
40
+ - [toInteger](./Convert/toInteger.md) &mdash; Преобразует значение в целое число.
41
+ - [toList](./Convert/toList.md) &mdash; Преобразует значение в список.
42
+ - [toObject](./Convert/toObject.md) &mdash; Преобразует значение в объект.
43
+ - [toString](./Convert/toString.md) &mdash; Преобразует значение в строку.
44
+
@@ -0,0 +1,106 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isArray
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isArray
6
+
7
+ `Type.isArray` &mdash; Проверяет, является ли переданное значение массивом или ассоциативным
8
+ массивом (объектом с ключами и значениями).
9
+
10
+ ## Сигнатура метода
11
+
12
+ ```ts
13
+ static isArray(value: any): boolean;
14
+ ```
15
+
16
+ ## Описание
17
+
18
+ В JavaScript массивы и объекты имеют разные структуры и предназначения:
19
+
20
+ - Массивы (`Array`) являются упорядоченными коллекциями элементов, которые могут быть индексированы.
21
+ - Объекты (`Object`) содержат пары "ключ-значение", которые могут быть неупорядоченными.
22
+
23
+ Этот метод проверяет, является ли переданное значение обычным массивом (например, `[1, 2, 3]`), либо
24
+ ассоциативным массивом (объектом с парами "ключ-значение", например, `{foo: 'bar'}`).
25
+
26
+ ## Алгоритм работы метода
27
+
28
+ 1. Сначала проверяется, является ли переданное значение обычным массивом с помощью встроенного
29
+ метода `Array.isArray(value)`. Если это массив, метод сразу возвращает `true`.
30
+
31
+ 2. Если переменная не является массивом, то выполняются дополнительные проверки:
32
+
33
+ - Проверяется, что значение не равно `null` (так как `null` в JavaScript также является
34
+ объектом, но не является ни массивом, ни объектом с парами "ключ-значение").
35
+ - Проверяется, что значение является объектом JavaScript (с помощью
36
+ `typeof value === 'object'`).
37
+ - Проверяется, что прототип объекта совпадает с `Object.prototype` (это объект, от которого
38
+ наследуются все объекты в JavaScript) или является `null` (это означает, что объект был создан
39
+ с помощью `Object.create(null)` и не имеет прототипа).
40
+ - Исключаются массивоподобные объекты (например, `arguments`, `NodeList`), путем проверки, что
41
+ свойство `length` не является собственным свойством объекта.
42
+ - Дополнительно проверяется, что объект является простым (его конструктор равен `Object`), а
43
+ также исключаются встроенные объекты (`Math`, `JSON`, `Reflect`, `Intl`), для которых метод
44
+ возвращает `true`.
45
+
46
+ ## Параметры
47
+
48
+ - `value` (any)
49
+
50
+ Проверяемая переменная.
51
+
52
+ ## Возвращаемое значение
53
+
54
+ Возвращает `true`, если переменная является обычным массивом (`Array`), ассоциативным массивом
55
+ (объектом с парами "ключ-значение"), ассоциативным массивом, созданным с помощью
56
+ `Object.create(null)`. В остальных случаях метод возвращает `false`.
57
+
58
+ ## Примеры использования
59
+
60
+ 1. Простые массивы:
61
+
62
+ ```js
63
+ Type.isArray([1, 2, 3]); // true
64
+ Type.isArray([]); // true
65
+ ```
66
+
67
+ 2. Ассоциативные массивы (объекты с ключами и значениями):
68
+
69
+ ```js
70
+ Type.isArray({ foo: 'bar', baz: 42 }); // true
71
+ Type.isArray({ 0: 'a', 1: 'b' }); // true
72
+ ```
73
+
74
+ 3. Объекты, созданные без прототипа:
75
+
76
+ ```js
77
+ const noProtoObject = Object.create(null);
78
+ noProtoObject.foo = 'bar';
79
+ Type.isArray(noProtoObject); // true
80
+ ```
81
+
82
+ 4. Примитивы и невалидные значения:
83
+
84
+ ```js
85
+ Type.isArray(null); // false
86
+ Type.isArray(undefined); // false
87
+ Type.isArray(42); // false
88
+ Type.isArray('hello'); // false
89
+ ```
90
+
91
+ 5. Специальные объекты:
92
+
93
+ ```js
94
+ Type.isArray(new Map()); // false
95
+ Type.isArray(new Set()); // false
96
+ Type.isArray(() => {}); // false
97
+ ```
98
+
99
+ 6. Классы и их экземпляры:
100
+
101
+ ```js
102
+ class MyClass {}
103
+ const instance = new MyClass();
104
+ Type.isArray(instance); // false
105
+ ```
106
+
@@ -0,0 +1,57 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isAssoc
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isAssoc
6
+
7
+ `Type.isAssoc` &mdash; Проверяет, является ли значение ассоциативным массивом.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isAssoc(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Ассоциативные массивы в JavaScript представляют собой объекты с парами "ключ-значение". Этот метод
18
+ проверяет, является ли переданное значение ассоциативным массивом.
19
+
20
+ Метод использует функцию `is_array` для проверки значения и убеждается, что значение не является
21
+ обычным массивом.
22
+
23
+ ## Параметры
24
+
25
+ - `value` (any)
26
+
27
+ Значение, которое необходимо проверить.
28
+
29
+ ## Возвращаемое значение
30
+
31
+ Возвращает `true`, если значение является ассоциативным массивом, и `false` в противном случае.
32
+
33
+ ## Примеры использования
34
+
35
+ 1. Ассоциативные массивы:
36
+
37
+ ```js
38
+ Type.isAssoc({ foo: 'bar' }); // true
39
+ Type.isAssoc({}); // true
40
+ ```
41
+
42
+ 2. Обычные массивы:
43
+
44
+ ```js
45
+ Type.isAssoc([]); // false
46
+ Type.isAssoc([1, 2, 3]); // false
47
+ ```
48
+
49
+ 3. Значения других типов:
50
+
51
+ ```js
52
+ Type.isAssoc('string'); // false
53
+ Type.isAssoc(42); // false
54
+ Type.isAssoc(null); // false
55
+ Type.isAssoc(undefined); // false
56
+ ```
57
+
@@ -0,0 +1,49 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isBigInt
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isBigInt
6
+
7
+ `Type.isBigInt` &mdash; Проверяет, является ли значение типом `bigint`.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isBigInt(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `Type.isBigInt` проверяет, является ли переданное значение типом `bigint`.
18
+
19
+ ## Параметры
20
+
21
+ - `value` (any)
22
+
23
+ Значение, которое необходимо проверить.
24
+
25
+ ## Возвращаемое значение
26
+
27
+ Возвращает `true`, если значение является типом `bigint`, и `false` в противном случае.
28
+
29
+ ## Примеры использования
30
+
31
+ 1. Проверка значений типа bigint:
32
+
33
+ ```js
34
+ Type.isBigInt(BigInt(123456)); // true
35
+ Type.isBigInt(BigInt(-123456)); // true
36
+ ```
37
+
38
+ 2. Проверка значений других типов:
39
+
40
+ ```js
41
+ Type.isBigInt(42); // false (число)
42
+ Type.isBigInt('42'); // false (строка)
43
+ Type.isBigInt(true); // false (логическое значение)
44
+ Type.isBigInt(null); // false
45
+ Type.isBigInt(undefined); // false
46
+ Type.isBigInt({}); // false (объект)
47
+ Type.isBigInt([]); // false (массив)
48
+ ```
49
+
@@ -0,0 +1,51 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isBool
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isBool
6
+
7
+ `Type.isBool` &mdash; Проверяет, является ли переданное значение логическим типом (`boolean`).
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isBool(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ В JavaScript логическое значение может быть только двумя состояниями: `true` или `false`. Метод
18
+ проверяет тип переданного значения с использованием оператора `typeof`. Если значение является
19
+ примитивом типа `boolean`, метод возвращает `true`. Для всех других типов (включая объекты, строки,
20
+ числа, `null`, `undefined` и другие) метод вернёт `false`.
21
+
22
+ ## Параметры
23
+
24
+ - `value` (any)
25
+
26
+ Проверяемая переменная.
27
+
28
+ ## Возвращаемое значение
29
+
30
+ Возвращает `true`, если значение `value` является логическим (`boolean`), иначе `false`.
31
+
32
+ ## Примеры использования
33
+
34
+ 1. Проверка логических значений:
35
+
36
+ ```js
37
+ Type.isBool(true); // true
38
+ Type.isBool(false); // true
39
+ ```
40
+
41
+ 2. Проверка значений других типов:
42
+
43
+ ```js
44
+ Type.isBool(0); // false
45
+ Type.isBool('true'); // false
46
+ Type.isBool(null); // false
47
+ Type.isBool([]); // false
48
+ Type.isBool({}); // false
49
+ Type.isBool(new Boolean(true)); // false
50
+ ```
51
+
@@ -0,0 +1,51 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isBoolean
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isBoolean
6
+
7
+ `Type.isBoolean` &mdash; Проверяет, является ли переданное значение логическим типом (`boolean`).
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isBoolean(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ В JavaScript логическое значение может быть только двумя состояниями: `true` или `false`. Метод
18
+ проверяет тип переданного значения с использованием оператора `typeof`. Если значение является
19
+ примитивом типа `boolean`, метод возвращает `true`. Для всех других типов (включая объекты, строки,
20
+ числа, `null`, `undefined` и другие) метод вернёт `false`.
21
+
22
+ ## Параметры
23
+
24
+ - `value` (any)
25
+
26
+ Проверяемая переменная.
27
+
28
+ ## Возвращаемое значение
29
+
30
+ Возвращает `true`, если значение `value` является логическим (`boolean`), иначе `false`.
31
+
32
+ ## Примеры использования
33
+
34
+ 1. Проверка логических значений:
35
+
36
+ ```js
37
+ Type.isBoolean(true); // true
38
+ Type.isBoolean(false); // true
39
+ ```
40
+
41
+ 2. Проверка значений других типов:
42
+
43
+ ```js
44
+ Type.isBoolean(0); // false
45
+ Type.isBoolean('true'); // false
46
+ Type.isBoolean(null); // false
47
+ Type.isBoolean([]); // false
48
+ Type.isBoolean({}); // false
49
+ Type.isBoolean(new Boolean(true)); // false
50
+ ```
51
+
@@ -0,0 +1,60 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isClass
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isClass
6
+
7
+ `Type.isClass` &mdash; Проверяет, является ли переданная переменная классом.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isClass(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ В JavaScript классы являются функциями, но с уникальным поведением.
18
+
19
+ Для определения класса метод проверяет:
20
+
21
+ 1. Что переданная переменная является функцией.
22
+ 2. Что строковое представление функции начинается с `class `.
23
+
24
+ Конструкторы функций, созданные с помощью `function`, не будут распознаны как классы.
25
+
26
+ ## Параметры
27
+
28
+ - `value` (any)
29
+
30
+ Проверяемая переменная.
31
+
32
+ ## Возвращаемое значение
33
+
34
+ Возвращает `true`, если значение является классом, иначе `false`.
35
+
36
+ ## Примеры использования
37
+
38
+ 1. Классы:
39
+
40
+ ```js
41
+ class MyClass {}
42
+ Type.isClass(MyClass); // true
43
+ ```
44
+
45
+ 2. Функции-конструкторы:
46
+
47
+ ```js
48
+ function MyFunction() {}
49
+ Type.isClass(MyFunction); // false
50
+ ```
51
+
52
+ 3. Объекты и примитивы:
53
+
54
+ ```js
55
+ Type.isClass({}); // false
56
+ Type.isClass([]); // false
57
+ Type.isClass(null); // false
58
+ Type.isClass(42); // false
59
+ ```
60
+
@@ -0,0 +1,53 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isEmpty
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isEmpty
6
+
7
+ `Type.isEmpty` &mdash; Проверяет, является ли переменная пустой.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isEmpty(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `Type.isEmpty` используется для проверки, является ли переменная пустой. Пустыми считаются
18
+ значения `null`, `undefined`, пустая строка, `0`, `false`, пустой массив и пустой объект.
19
+
20
+ ## Параметры
21
+
22
+ - `value` (any)
23
+
24
+ Переменная, которую необходимо проверить на пустоту.
25
+
26
+ ## Возвращаемое значение
27
+
28
+ Возвращает `true`, если переменная пустая, и `false` в противном случае.
29
+
30
+ ## Примеры использования
31
+
32
+ 1. Проверка пустых значений:
33
+
34
+ ```js
35
+ Type.isEmpty(null); // true
36
+ Type.isEmpty(undefined); // true
37
+ Type.isEmpty(''); // true
38
+ Type.isEmpty(0); // true
39
+ Type.isEmpty(false); // true
40
+ Type.isEmpty([]); // true
41
+ Type.isEmpty({}); // true
42
+ ```
43
+
44
+ 2. Проверка непустых значений:
45
+
46
+ ```js
47
+ Type.isEmpty('example'); // false
48
+ Type.isEmpty(123); // false
49
+ Type.isEmpty(true); // false
50
+ Type.isEmpty([1, 2, 3]); // false
51
+ Type.isEmpty({ key: 'value' }); // false
52
+ ```
53
+
@@ -0,0 +1,77 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isFloat
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isFloat
6
+
7
+ `Type.isFloat` &mdash; Проверяет, является ли значение числом с плавающей точкой.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isFloat(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `Type.isFloat` проверяет, является ли переданное значение числом с дробной частью, которое
18
+ отличается от целого числа.
19
+
20
+ Он работает следующим образом:
21
+
22
+ 1. Проверяет, что значение имеет тип `number`.
23
+ 2. Исключает значения `NaN`, которые также относятся к типу `number`, но не считаются числовыми
24
+ значениями.
25
+ 3. Проверяет, что у числа есть дробная часть, проверяя остаток от деления на `1`
26
+ (`value % 1 !== 0`).
27
+
28
+ Значения, которые не являются числами или числа без дробной части, не считаются числами с плавающей
29
+ точкой.
30
+
31
+ ## Параметры
32
+
33
+ - `value` (any)
34
+
35
+ Значение для проверки.
36
+
37
+ ## Возвращаемое значение
38
+
39
+ Возвращает `true`, если значение является числом с плавающей точкой, иначе `false`.
40
+
41
+ ## Примеры использования
42
+
43
+ 1. Числа с плавающей точкой:
44
+
45
+ ```js
46
+ Type.isFloat(3.14); // true
47
+ Type.isFloat(-0.5); // true
48
+ Type.isFloat(0.1 + 0.2); // true
49
+ ```
50
+
51
+ 2. Целые числа:
52
+
53
+ ```js
54
+ Type.isFloat(0); // false
55
+ Type.isFloat(42); // false
56
+ Type.isFloat(-100); // false
57
+ ```
58
+
59
+ 3. Нечисловые значения:
60
+
61
+ ```js
62
+ Type.isFloat('3.14'); // false
63
+ Type.isFloat(NaN); // false
64
+ Type.isFloat(null); // false
65
+ Type.isFloat(undefined); // false
66
+ Type.isFloat(true); // false
67
+ Type.isFloat({}); // false
68
+ Type.isFloat([]); // false
69
+ ```
70
+
71
+ 4. Специальные значения:
72
+
73
+ ```js
74
+ Type.isFloat(Infinity); // false
75
+ Type.isFloat(-Infinity); // false
76
+ ```
77
+