@rogolev/value 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }