@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,74 @@
1
+ /**
2
+ * Проверяет, является ли значение целым числом.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Значение, которое необходимо проверить.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_integer` проверяет, является ли переданное значение целым числом.
12
+ *
13
+ * 1. Проверяется, что значение имеет тип `number`.
14
+ * 2. Убеждается, что значение является конечным числом.
15
+ * 3. Проверяется, что остаток от деления значения на 1 равен 0.
16
+ *
17
+ * Функция возвращает `false` для:
18
+ *
19
+ * - Чисел с плавающей точкой (например, `3.14`, `-0.99`).
20
+ * - Специальных чисел (`NaN`, `Infinity`, `-Infinity`).
21
+ * - Значений других типов, таких как строки, объекты или массивы.
22
+ *
23
+ * ### Возвращаемое значение
24
+ *
25
+ * Возвращает `true`, если значение является целым числом, и `false` в противном случае.
26
+ *
27
+ * ### Примеры использования
28
+ *
29
+ * #### Пример 1: Проверка целых чисел
30
+ *
31
+ * ```js
32
+ * is_integer(42); // true
33
+ * is_integer(-7); // true
34
+ * is_integer(0); // true
35
+ * ```
36
+ *
37
+ * #### Пример 2: Проверка чисел с плавающей точкой
38
+ *
39
+ * ```js
40
+ * is_integer(3.14); // false
41
+ * is_integer(-0.5); // false
42
+ * ```
43
+ *
44
+ * #### Пример 3: Проверка специальных чисел
45
+ *
46
+ * ```js
47
+ * is_integer(NaN); // false
48
+ * is_integer(Infinity); // false
49
+ * is_integer(-Infinity); // false
50
+ * ```
51
+ *
52
+ * #### Пример 4: Проверка других типов данных
53
+ *
54
+ * ```js
55
+ * is_integer('42'); // false (строка)
56
+ * is_integer(true); // false (логическое значение)
57
+ * is_integer(null); // false
58
+ * is_integer(undefined); // false
59
+ * is_integer({}); // false (объект)
60
+ * is_integer([]); // false (массив)
61
+ * ```
62
+ *
63
+ * #### Пример 5: Проверка типа bigint
64
+ *
65
+ * ```js
66
+ * is_integer(BigInt(123456)); // false
67
+ * ```a
68
+ *
69
+ * @param {any} value Значение для проверки.
70
+ * @returns {boolean} Возвращает `true`, если значение является целым числом, иначе `false`.
71
+ */
72
+ export default function is_integer(value) {
73
+ return typeof value === 'number' && Number.isFinite(value) && value % 1 === 0;
74
+ }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Проверяет, является ли значение списком.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Значение, которое необходимо проверить.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_list` проверяет, является ли переданное значение списком.
12
+ *
13
+ * Она использует метод `Array.isArray` для проверки значения.
14
+ *
15
+ * ### Возвращаемое значение
16
+ *
17
+ * Возвращает `true`, если значение является списком, и `false` в противном случае.
18
+ *
19
+ * ### Примеры использования
20
+ *
21
+ * #### Пример 1: Проверка массивов
22
+ *
23
+ * ```js
24
+ * is_list([]); // true
25
+ * is_list([1, 2, 3]); // true
26
+ * ```
27
+ *
28
+ * #### Пример 2: Проверка значений других типов
29
+ *
30
+ * ```js
31
+ * is_list({}); // false (ассоциативный массив)
32
+ * is_list('string'); // false (строка)
33
+ * is_list(42); // false (число)
34
+ * is_list(null); // false
35
+ * is_list(undefined); // false
36
+ * ```
37
+ *
38
+ * @param {any} value Значение, которое необходимо проверить.
39
+ * @returns {boolean} Возвращает `true`, если значение является списком, и `false` в противном случае.
40
+ */
41
+ export default function is_list(value) {
42
+ return Array.isArray(value);
43
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Проверяет, является ли значение NaN.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Значение, которое необходимо проверить.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_nan` проверяет, является ли переданное значение NaN (Not-a-Number).
12
+ *
13
+ * Она использует метод `Number.isNaN` для проверки значения.
14
+ *
15
+ * ### Возвращаемое значение
16
+ *
17
+ * Возвращает `true`, если значение является NaN, и `false` в противном случае.
18
+ *
19
+ * ### Примеры использования
20
+ *
21
+ * #### Пример 1: Проверка значения NaN
22
+ *
23
+ * ```js
24
+ * is_nan(NaN); // true
25
+ * ```
26
+ *
27
+ * #### Пример 2: Проверка числовых значений
28
+ *
29
+ * ```js
30
+ * is_nan(42); // false
31
+ * is_nan(3.14); // false
32
+ * is_nan(Infinity); // false
33
+ * ```
34
+ *
35
+ * #### Пример 3: Проверка значений других типов
36
+ *
37
+ * ```js
38
+ * is_nan('42'); // false (строка)
39
+ * is_nan(true); // false (логическое значение)
40
+ * is_nan(null); // false
41
+ * is_nan(undefined); // false
42
+ * is_nan({}); // false (объект)
43
+ * is_nan([]); // false (массив)
44
+ * ```
45
+ *
46
+ * @param {any} value Значение, которое необходимо проверить.
47
+ * @returns {boolean} Возвращает `true`, если значение является NaN, и `false` в противном случае.
48
+ */
49
+ export default function is_nan(value) {
50
+ return Number.isNaN(value);
51
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Проверяет, является ли значение `null`.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Проверяемая переменная.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_null` предназначена для проверки, является ли переданное значение `null`.
12
+ *
13
+ * ### Возвращаемое значение
14
+ *
15
+ * Возвращает `true`, если значение является `null`, иначе `false`.
16
+ *
17
+ * ### Примеры использования
18
+ *
19
+ * ```js
20
+ * // Пример 1: Проверка значения `null`
21
+ * is_null(null); // true
22
+ *
23
+ * // Пример 2: Проверка значений, не являющихся `null`
24
+ * is_null(undefined); // false
25
+ * is_null(0); // false
26
+ * is_null(''); // false
27
+ * is_null(false); // false
28
+ * is_null({}); // false
29
+ * is_null([]); // false
30
+ * ```
31
+ *
32
+ * @param {any} value Проверяемая переменная.
33
+ * @returns {boolean} Возвращает `true`, если значение является `null`, иначе `false`.
34
+ */
35
+ export default function is_null(value) {
36
+ return value === null;
37
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Проверяет, является ли значение числом.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Проверяемая переменная.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_number` предназначена для проверки, является ли переданное значение числом.
12
+ *
13
+ * Она проверяет:
14
+ *
15
+ * 1. **Тип значения**: Убеждается, что `value` имеет тип `number`.
16
+ * 2. **Конечность числа**: Проверяет, что значение не является `Infinity` или `NaN` с помощью `Number.isFinite(value)`.
17
+ *
18
+ * ### Возвращаемое значение
19
+ *
20
+ * Возвращает `true`, если значение является числом, иначе `false`.
21
+ *
22
+ * ### Примеры использования
23
+ *
24
+ * ```js
25
+ * // Пример 1: Проверка числовых значений
26
+ * is_number(42); // true
27
+ * is_number(3.14); // true
28
+ * is_number(-0.99); // true
29
+ *
30
+ * // Пример 2: Проверка специальных числовых значений
31
+ * is_number(NaN); // false
32
+ * is_number(Infinity); // false
33
+ * is_number(-Infinity); // false
34
+ *
35
+ * // Пример 3: Проверка значений других типов
36
+ * is_number('42'); // false (строка)
37
+ * is_number(true); // false (логическое значение)
38
+ * is_number(null); // false
39
+ * is_number(undefined); // false
40
+ * is_number({}); // false (объект)
41
+ * is_number([]); // false (массив)
42
+ * ```
43
+ *
44
+ * @param {any} value Проверяемая переменная.
45
+ * @returns {boolean} Возвращает `true`, если значение является числом, иначе `false`.
46
+ */
47
+ export default function is_number(value) {
48
+ return typeof value === 'number' && Number.isFinite(value);
49
+ }
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Проверяет, является ли значение числом или числовой строкой.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Проверяемая переменная.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_numeric` предназначена для проверки, является ли переданное значение числом или числовой строкой.
12
+ *
13
+ * Она проверяет:
14
+ *
15
+ * 1. **Тип значения**: Убеждается, что `value` имеет тип `number` или `string`.
16
+ * 2. **Конечность числа**: Проверяет, что значение не является `Infinity` или `NaN` с помощью `Number.isFinite(value)`.
17
+ * 3. **Числовая строка**: Проверяет, что строка может быть преобразована в конечное число.
18
+ *
19
+ * ### Возвращаемое значение
20
+ *
21
+ * Возвращает `true`, если значение является числом или числовой строкой, иначе `false`.
22
+ *
23
+ * ### Примеры использования
24
+ *
25
+ * ```js
26
+ * // Пример 1: Проверка числовых значений
27
+ * is_numeric(42); // true
28
+ * is_numeric(3.14); // true
29
+ * is_numeric(-0.99); // true
30
+ *
31
+ * // Пример 2: Проверка числовых строк
32
+ * is_numeric('42'); // true
33
+ * is_numeric('3.14'); // true
34
+ * is_numeric('-0.99'); // true
35
+ *
36
+ * // Пример 3: Проверка специальных числовых значений
37
+ * is_numeric(NaN); // false
38
+ * is_numeric(Infinity); // false
39
+ * is_numeric(-Infinity); // false
40
+ *
41
+ * // Пример 4: Проверка значений других типов
42
+ * is_numeric(true); // false (логическое значение)
43
+ * is_numeric(null); // false
44
+ * is_numeric(undefined); // false
45
+ * is_numeric({}); // false (объект)
46
+ * is_numeric([]); // false (массив)
47
+ * ```
48
+ *
49
+ * @param {any} value Проверяемая переменная.
50
+ * @returns {boolean} Возвращает `true`, если значение является числом или числовой строкой, иначе `false`.
51
+ */
52
+ export default function is_numeric(value) {
53
+ if (typeof value === 'number') {
54
+ return isFinite(value);
55
+ }
56
+
57
+ if (typeof value === 'string') {
58
+ const parsed = parseFloat(value);
59
+
60
+ return !isNaN(parsed) && isFinite(parsed);
61
+ }
62
+
63
+ return false;
64
+ }
@@ -0,0 +1,72 @@
1
+ import is_class from './is_class.mjs';
2
+
3
+ /**
4
+ * Проверяет, является ли переданное значение объектом, созданным с использованием класса.
5
+ *
6
+ * ### Параметры
7
+ *
8
+ * - `value` (any)
9
+ * Проверяемая переменная.
10
+ *
11
+ * ### Описание
12
+ *
13
+ * В JavaScript объекты могут быть созданы как с использованием классов, так и с помощью функций-конструкторов
14
+ * или простых объектов. Для определения, является ли значение объектом, созданным с использованием класса,
15
+ * функция выполняет несколько проверок:
16
+ *
17
+ * 1. Проверка, что значение является объектом (с использованием `instanceof Object`).
18
+ * 2. Проверка, что у объекта есть конструктор, и что его строковое представление начинается с 'class',
19
+ * что характерно для объектов, созданных с использованием классов.
20
+ *
21
+ * Это позволяет корректно отличить обычные объекты, массивы, примитивы и классовые объекты.
22
+ *
23
+ * #### Примечание
24
+ *
25
+ * - Если объект был создан с помощью `class`, то его конструктор будет иметь строковое представление, начинающееся с "class".
26
+ * - Массивы и обычные объекты, созданные с использованием `Object` или функции-конструктора, будут исключены.
27
+ *
28
+ * ### Возвращаемое значение
29
+ *
30
+ * Возвращает `true`, если значение является объектом, созданным с использованием класса, иначе возвращает `false`.
31
+ *
32
+ * ### Примеры использования
33
+ *
34
+ * 1. Обычные объекты:
35
+ *
36
+ * ```js
37
+ * is_object({}); // false - это обычный объект, не созданный с помощью класса
38
+ * ```
39
+ *
40
+ * 2. Массивы:
41
+ *
42
+ * ```js
43
+ * is_object([]); // false - это массив, а не объект, созданный с использованием класса
44
+ * ```
45
+ *
46
+ * 3. Объект, созданный с использованием `Date`:
47
+ *
48
+ * ```js
49
+ * is_object(new Date()); // false - объект Date, не являющийся классом, а встроенным объектом
50
+ * ```
51
+ *
52
+ * 4. Классы:
53
+ *
54
+ * ```js
55
+ * class MyClass {}
56
+ * is_object(new MyClass()); // true - это объект, созданный с использованием класса
57
+ * ```
58
+ *
59
+ * 5. Примитивы и другие объекты:
60
+ *
61
+ * ```js
62
+ * is_object(null); // false - это не объект
63
+ * is_object(42); // false - это не объект
64
+ * is_object(new Map()); // false - объект Map, но не класс
65
+ * ```
66
+ *
67
+ * @param {any} value Проверяемая переменная.
68
+ * @returns {boolean}
69
+ */
70
+ export default function is_object(value) {
71
+ return value instanceof Object && is_class(Object.getPrototypeOf(value).constructor);
72
+ }
@@ -0,0 +1,45 @@
1
+ import is_bool from './is_bool.mjs';
2
+ import is_number from './is_number.mjs';
3
+ import is_string from './is_string.mjs';
4
+ import is_symbol from './is_symbol.mjs';
5
+
6
+ /**
7
+ * Проверяет, является ли значение скалярным.
8
+ *
9
+ * ### Параметры
10
+ *
11
+ * - `value` (any)
12
+ * Проверяемая переменная.
13
+ *
14
+ * ### Описание
15
+ *
16
+ * Скалярные переменные — это переменные, содержащие `int`, `float`, `string`, `bool` и `symbol`.
17
+ * Типы `array`, `object`, `null`, `undefined` — не скалярные.
18
+ *
19
+ * ### Возвращаемое значение
20
+ *
21
+ * Возвращает `true`, если значение является скалярным, иначе `false`.
22
+ *
23
+ * ### Примеры использования
24
+ *
25
+ * ```js
26
+ * // Пример 1: Проверка скалярных значений
27
+ * is_scalar(true); // true
28
+ * is_scalar(42); // true
29
+ * is_scalar('hello'); // true
30
+ * is_scalar(Symbol('symbol')); // true
31
+ *
32
+ * // Пример 2: Проверка не скалярных значений
33
+ * is_scalar(null); // false
34
+ * is_scalar(undefined); // false
35
+ * is_scalar({}); // false (объект)
36
+ * is_scalar([]); // false (массив)
37
+ * is_scalar(() => {}); // false (функция)
38
+ * ```
39
+ *
40
+ * @param {any} value Проверяемая переменная.
41
+ * @returns {boolean} Возвращает `true`, если значение является скалярным, иначе `false`.
42
+ */
43
+ export default function is_scalar(value) {
44
+ return is_bool(value) || is_number(value) || is_string(value) || is_symbol(value);
45
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Проверяет, является ли значение строкой.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Проверяемая переменная.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_string` предназначена для проверки, является ли переданное значение строкой.
12
+ *
13
+ * Она проверяет:
14
+ *
15
+ * 1. Что значение имеет тип `string`.
16
+ *
17
+ * Функция возвращает `false` для всех значений, не принадлежащих типу `string`.
18
+ *
19
+ * ### Возвращаемое значение
20
+ *
21
+ * Возвращает `true`, если значение является строкой, иначе `false`.
22
+ *
23
+ * ### Примеры использования
24
+ *
25
+ * ```js
26
+ * // Пример 1: Проверка строковых значений
27
+ * is_string('hello'); // true
28
+ * is_string(''); // true
29
+ * is_string(`template string`); // true
30
+ *
31
+ * // Пример 2: Проверка значений других типов
32
+ * is_string(42); // false (число)
33
+ * is_string(true); // false (логическое значение)
34
+ * is_string(null); // false
35
+ * is_string(undefined); // false
36
+ * is_string({}); // false (объект)
37
+ * is_string([]); // false (массив)
38
+ * is_string(() => {}); // false (функция)
39
+ * ```
40
+ *
41
+ * @param {any} value Проверяемая переменная.
42
+ * @returns {boolean} Возвращает `true`, если значение является строкой, иначе `false`.
43
+ */
44
+ export default function is_string(value) {
45
+ return typeof value === 'string';
46
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Проверяет, является ли значение символом.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Проверяемая переменная.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_symbol` предназначена для проверки, является ли переданное значение символом.
12
+ *
13
+ * Она проверяет:
14
+ *
15
+ * 1. Что значение имеет тип `symbol`.
16
+ *
17
+ * Функция возвращает `false` для всех значений, не принадлежащих типу `symbol`.
18
+ *
19
+ * ### Возвращаемое значение
20
+ *
21
+ * Возвращает `true`, если значение является символом, иначе `false`.
22
+ *
23
+ * ### Примеры использования
24
+ *
25
+ * ```js
26
+ * // Пример 1: Проверка символов
27
+ * is_symbol(Symbol('symbol')); // true
28
+ * is_symbol(Symbol.iterator); // true
29
+ *
30
+ * // Пример 2: Проверка значений других типов
31
+ * is_symbol('hello'); // false (строка)
32
+ * is_symbol(42); // false (число)
33
+ * is_symbol(true); // false (логическое значение)
34
+ * is_symbol(null); // false
35
+ * is_symbol(undefined); // false
36
+ * is_symbol({}); // false (объект)
37
+ * is_symbol([]); // false (массив)
38
+ * is_symbol(() => {}); // false (функция)
39
+ * ```
40
+ *
41
+ * @param {any} value Проверяемая переменная.
42
+ * @returns {boolean} Возвращает `true`, если значение является символом, иначе `false`.
43
+ */
44
+ export default function is_symbol(value) {
45
+ return typeof value === 'symbol';
46
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Проверяет, является ли значение `undefined`.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Проверяемая переменная.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_undefined` предназначена для проверки, является ли переданное значение `undefined`.
12
+ *
13
+ * Она проверяет:
14
+ *
15
+ * 1. Что значение имеет тип `undefined`.
16
+ *
17
+ * Функция возвращает `false` для всех значений, не принадлежащих типу `undefined`.
18
+ *
19
+ * ### Возвращаемое значение
20
+ *
21
+ * Возвращает `true`, если значение является `undefined`, иначе `false`.
22
+ *
23
+ * ### Примеры использования
24
+ *
25
+ * ```js
26
+ * // Пример 1: Проверка значения `undefined`
27
+ * is_undefined(undefined); // true
28
+ *
29
+ * // Пример 2: Проверка значений других типов
30
+ * is_undefined('hello'); // false (строка)
31
+ * is_undefined(42); // false (число)
32
+ * is_undefined(true); // false (логическое значение)
33
+ * is_undefined(null); // false
34
+ * is_undefined({}); // false (объект)
35
+ * is_undefined([]); // false (массив)
36
+ * is_undefined(() => {}); // false (функция)
37
+ * ```
38
+ *
39
+ * @param {any} value Проверяемая переменная.
40
+ * @returns {boolean} Возвращает `true`, если значение является `undefined`, иначе `false`.
41
+ */
42
+ export default function is_undefined(value) {
43
+ return typeof value === 'undefined';
44
+ }