@rogolev/value 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. package/.prettierignore +4 -4
  2. package/CHANGELOG.md +82 -56
  3. package/LICENSE +41 -41
  4. package/README.md +118 -91
  5. package/babel.config.json +20 -20
  6. package/docs/classes/Convert/toArray.md +100 -0
  7. package/docs/classes/Convert/toAssoc.md +90 -0
  8. package/docs/classes/Convert/toBool.md +72 -0
  9. package/docs/classes/Convert/toBoolean.md +72 -0
  10. package/docs/classes/Convert/toFloat.md +69 -0
  11. package/docs/classes/Convert/toInt.md +86 -0
  12. package/docs/classes/Convert/toInteger.md +86 -0
  13. package/docs/classes/Convert/toList.md +73 -0
  14. package/docs/classes/Convert/toObject.md +76 -0
  15. package/docs/classes/Convert/toString.md +125 -0
  16. package/docs/classes/Convert.md +44 -0
  17. package/docs/classes/Type/isArray.md +106 -0
  18. package/docs/classes/Type/isAssoc.md +57 -0
  19. package/docs/classes/Type/isBigInt.md +49 -0
  20. package/docs/classes/Type/isBool.md +51 -0
  21. package/docs/classes/Type/isBoolean.md +51 -0
  22. package/docs/classes/Type/isClass.md +60 -0
  23. package/docs/classes/Type/isEmpty.md +53 -0
  24. package/docs/classes/Type/isFloat.md +77 -0
  25. package/docs/classes/Type/isFunction.md +64 -0
  26. package/docs/classes/Type/isInfinity.md +59 -0
  27. package/docs/classes/Type/isInt.md +77 -0
  28. package/docs/classes/Type/isInteger.md +77 -0
  29. package/docs/classes/Type/isList.md +49 -0
  30. package/docs/classes/Type/isNaN.md +57 -0
  31. package/docs/classes/Type/isNull.md +49 -0
  32. package/docs/classes/Type/isNumber.md +60 -0
  33. package/docs/classes/Type/isNumeric.md +58 -0
  34. package/docs/classes/Type/isObject.md +53 -0
  35. package/docs/classes/Type/isScalar.md +54 -0
  36. package/docs/classes/Type/isString.md +54 -0
  37. package/docs/classes/Type/isSymbol.md +56 -0
  38. package/docs/classes/Type/isUndefined.md +52 -0
  39. package/docs/classes/Type.md +74 -0
  40. package/docs/classes/Value/constructor.md +48 -0
  41. package/docs/classes/Value/get.md +51 -0
  42. package/docs/classes/Value/getType.md +71 -0
  43. package/docs/classes/Value/isArray.md +67 -0
  44. package/docs/classes/Value/isAssoc.md +68 -0
  45. package/docs/classes/Value/isBigInt.md +52 -0
  46. package/docs/classes/Value/isBool.md +60 -0
  47. package/docs/classes/Value/isBoolean.md +60 -0
  48. package/docs/classes/Value/isClass.md +55 -0
  49. package/docs/classes/Value/isEmpty.md +84 -0
  50. package/docs/classes/Value/isFloat.md +52 -0
  51. package/docs/classes/Value/isFunction.md +60 -0
  52. package/docs/classes/Value/isInfinity.md +60 -0
  53. package/docs/classes/Value/isInt.md +52 -0
  54. package/docs/classes/Value/isInteger.md +52 -0
  55. package/docs/classes/Value/isList.md +59 -0
  56. package/docs/classes/Value/isNaN.md +79 -0
  57. package/docs/classes/Value/isNull.md +59 -0
  58. package/docs/classes/Value/isNumber.md +80 -0
  59. package/docs/classes/Value/isNumeric.md +79 -0
  60. package/docs/classes/Value/isObject.md +68 -0
  61. package/docs/classes/Value/isScalar.md +72 -0
  62. package/docs/classes/Value/isString.md +67 -0
  63. package/docs/classes/Value/isSymbol.md +75 -0
  64. package/docs/classes/Value/isUndefined.md +67 -0
  65. package/docs/classes/Value/print.md +164 -0
  66. package/docs/classes/Value/printType.md +158 -0
  67. package/docs/classes/Value/setType.md +79 -0
  68. package/docs/classes/Value/toArray.md +85 -0
  69. package/docs/classes/Value/toAssoc.md +85 -0
  70. package/docs/classes/Value/toBool.md +71 -0
  71. package/docs/classes/Value/toBoolean.md +71 -0
  72. package/docs/classes/Value/toFloat.md +72 -0
  73. package/docs/classes/Value/toInt.md +72 -0
  74. package/docs/classes/Value/toInteger.md +72 -0
  75. package/docs/classes/Value/toList.md +77 -0
  76. package/docs/classes/Value/toObject.md +78 -0
  77. package/docs/classes/Value/toPrint.md +115 -0
  78. package/docs/classes/Value/toPrintType.md +110 -0
  79. package/docs/classes/Value/toString.md +134 -0
  80. package/docs/classes/Value.md +113 -0
  81. package/docs/classes.md +11 -0
  82. package/docs/constants.md +47 -0
  83. package/docs/helpers/array.md +80 -80
  84. package/docs/helpers/empty.md +77 -77
  85. package/docs/helpers/gettype.md +69 -69
  86. package/docs/helpers/is_array.md +105 -105
  87. package/docs/helpers/is_assoc.md +59 -59
  88. package/docs/helpers/is_bigint.md +57 -57
  89. package/docs/helpers/is_bool.md +50 -50
  90. package/docs/helpers/is_boolean.md +50 -50
  91. package/docs/helpers/is_class.md +73 -73
  92. package/docs/helpers/is_float.md +71 -71
  93. package/docs/helpers/is_function.md +62 -62
  94. package/docs/helpers/is_infinity.md +61 -61
  95. package/docs/helpers/is_int.md +81 -81
  96. package/docs/helpers/is_integer.md +82 -82
  97. package/docs/helpers/is_list.md +51 -51
  98. package/docs/helpers/is_nan.md +59 -59
  99. package/docs/helpers/is_null.md +49 -49
  100. package/docs/helpers/is_number.md +67 -67
  101. package/docs/helpers/is_numeric.md +76 -76
  102. package/docs/helpers/is_object.md +69 -69
  103. package/docs/helpers/is_scalar.md +60 -60
  104. package/docs/helpers/is_string.md +58 -58
  105. package/docs/helpers/is_symbol.md +58 -58
  106. package/docs/helpers/is_undefined.md +56 -56
  107. package/docs/helpers/print.md +187 -187
  108. package/docs/helpers/print_type.md +225 -225
  109. package/docs/helpers/settype.md +78 -78
  110. package/docs/helpers/to_array.md +106 -106
  111. package/docs/helpers/to_assoc.md +91 -91
  112. package/docs/helpers/to_bool.md +76 -76
  113. package/docs/helpers/to_boolean.md +77 -77
  114. package/docs/helpers/to_float.md +70 -70
  115. package/docs/helpers/to_int.md +87 -87
  116. package/docs/helpers/to_integer.md +87 -87
  117. package/docs/helpers/to_list.md +47 -47
  118. package/docs/helpers/to_object.md +76 -76
  119. package/docs/helpers/to_string.md +134 -134
  120. package/docs/helpers/value.md +95 -0
  121. package/docs/helpers.md +53 -51
  122. package/docs/types/NaN.md +30 -30
  123. package/docs/types/array.md +252 -252
  124. package/docs/types/bigint.md +34 -34
  125. package/docs/types/boolean.md +47 -47
  126. package/docs/types/class.md +36 -36
  127. package/docs/types/float.md +35 -35
  128. package/docs/types/function.md +121 -121
  129. package/docs/types/infinity.md +32 -32
  130. package/docs/types/integer.md +35 -35
  131. package/docs/types/null.md +23 -23
  132. package/docs/types/object.md +62 -62
  133. package/docs/types/string.md +33 -33
  134. package/docs/types/symbol.md +29 -29
  135. package/docs/types/undefined.md +25 -25
  136. package/docs/types.md +44 -44
  137. package/eslint.config.mjs +1664 -1664
  138. package/index.mjs +43 -37
  139. package/jest.config.mjs +31 -31
  140. package/package.json +48 -47
  141. package/prettier.config.mjs +224 -224
  142. package/src/classes/Convert.mjs +818 -0
  143. package/src/classes/Type.mjs +1284 -0
  144. package/src/classes/Value.mjs +2846 -0
  145. package/src/constants.mjs +14 -0
  146. package/src/helpers/gettype.mjs +30 -14
  147. package/src/helpers/value.mjs +92 -0
  148. package/tests/classes/Convert.test.mjs +398 -0
  149. package/tests/classes/Type.test.mjs +1262 -0
  150. package/tests/classes/Value.test.mjs +423 -0
  151. package/tests/constants.test.mjs +75 -0
  152. package/tests/helpers/value.test.mjs +68 -0
@@ -0,0 +1,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
+