@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,87 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { is_float } from '../../index.mjs';
3
+
4
+ describe('Функция is_float', () => {
5
+ describe('Числа с плавающей точкой', () => {
6
+ test('должна возвращать true для положительных дробных чисел', () => {
7
+ expect(is_float(3.14)).toBe(true);
8
+ });
9
+
10
+ test('должна возвращать true для отрицательных дробных чисел', () => {
11
+ expect(is_float(-0.5)).toBe(true);
12
+ });
13
+
14
+ test('должна возвращать true для дробных чисел, полученных в результате вычислений', () => {
15
+ expect(is_float(0.1 + 0.2)).toBe(true);
16
+ });
17
+ });
18
+
19
+ describe('Целые числа', () => {
20
+ test('должна возвращать false для нуля', () => {
21
+ expect(is_float(0)).toBe(false);
22
+ });
23
+
24
+ test('должна возвращать false для положительных целых чисел', () => {
25
+ expect(is_float(42)).toBe(false);
26
+ });
27
+
28
+ test('должна возвращать false для отрицательных целых чисел', () => {
29
+ expect(is_float(-100)).toBe(false);
30
+ });
31
+ });
32
+
33
+ describe('Нечисловые значения', () => {
34
+ test('должна возвращать false для строки', () => {
35
+ expect(is_float('3.14')).toBe(false);
36
+ });
37
+
38
+ test('должна возвращать false для NaN', () => {
39
+ expect(is_float(NaN)).toBe(false);
40
+ });
41
+
42
+ test('должна возвращать false для null', () => {
43
+ expect(is_float(null)).toBe(false);
44
+ });
45
+
46
+ test('должна возвращать false для undefined', () => {
47
+ expect(is_float(undefined)).toBe(false);
48
+ });
49
+
50
+ test('должна возвращать false для булевых значений', () => {
51
+ expect(is_float(true)).toBe(false);
52
+ expect(is_float(false)).toBe(false);
53
+ });
54
+
55
+ test('должна возвращать false для объектов', () => {
56
+ expect(is_float({})).toBe(false);
57
+ });
58
+
59
+ test('должна возвращать false для массивов', () => {
60
+ expect(is_float([])).toBe(false);
61
+ });
62
+ });
63
+
64
+ describe('Специальные значения', () => {
65
+ test('должна возвращать false для Infinity', () => {
66
+ expect(is_float(Infinity)).toBe(false);
67
+ });
68
+
69
+ test('должна возвращать false для -Infinity', () => {
70
+ expect(is_float(-Infinity)).toBe(false);
71
+ });
72
+ });
73
+
74
+ describe('Проверка с использованием числовых строк', () => {
75
+ test('должна возвращать false для числовых строк', () => {
76
+ expect(is_float('3.14')).toBe(false);
77
+ expect(is_float('-0.5')).toBe(false);
78
+ });
79
+ });
80
+
81
+ describe('Проверка с использованием объектов Number', () => {
82
+ test('должна возвращать false для объектов Number', () => {
83
+ expect(is_float(new Number(3.14))).toBe(false);
84
+ expect(is_float(new Number(-0.5))).toBe(false);
85
+ });
86
+ });
87
+ });
@@ -0,0 +1,83 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { is_function } from '../../index.mjs';
3
+
4
+ describe('Функция is_function', () => {
5
+ test('должна возвращать true для обычной функции', () => {
6
+ function example() {}
7
+ expect(is_function(example)).toBe(true);
8
+ });
9
+
10
+ test('должна возвращать false для класса', () => {
11
+ class MyClass {}
12
+ expect(is_function(MyClass)).toBe(false);
13
+ });
14
+
15
+ test('должна возвращать false для объектов', () => {
16
+ class MyClass {}
17
+ const obj = new MyClass();
18
+ expect(is_function(obj)).toBe(false);
19
+ });
20
+
21
+ test('должна возвращать false для массивов', () => {
22
+ expect(is_function([])).toBe(false);
23
+ expect(is_function({})).toBe(false);
24
+ expect(is_function(Object.create(null))).toBe(false);
25
+ });
26
+
27
+ test('должна возвращать false для примитивных типов', () => {
28
+ expect(is_function(42)).toBe(false);
29
+ expect(is_function('hello')).toBe(false);
30
+ expect(is_function(null)).toBe(false);
31
+ expect(is_function(undefined)).toBe(false);
32
+ });
33
+
34
+ test('должна возвращать true для стрелочных функций', () => {
35
+ expect(is_function(() => {})).toBe(true);
36
+ });
37
+
38
+ test('должна возвращать true для функции без строкового представления', () => {
39
+ const func = () => {};
40
+ func.toString = undefined;
41
+ expect(is_function(func)).toBe(true);
42
+ });
43
+
44
+ test('должна возвращать true для async функции', () => {
45
+ async function asyncFunc() {}
46
+ expect(is_function(asyncFunc)).toBe(true);
47
+ });
48
+
49
+ test('должна возвращать true для генератора', () => {
50
+ function* generatorFunc() {}
51
+ expect(is_function(generatorFunc)).toBe(true);
52
+ });
53
+
54
+ test('должна возвращать true для async генератора', () => {
55
+ async function* asyncGeneratorFunc() {}
56
+ expect(is_function(asyncGeneratorFunc)).toBe(true);
57
+ });
58
+
59
+ test('должна возвращать false для null', () => {
60
+ expect(is_function(null)).toBe(false);
61
+ });
62
+
63
+ test('должна возвращать false для undefined', () => {
64
+ expect(is_function(undefined)).toBe(false);
65
+ });
66
+
67
+ test('должна возвращать false для NaN', () => {
68
+ expect(is_function(NaN)).toBe(false);
69
+ });
70
+
71
+ test('должна возвращать false для символов', () => {
72
+ expect(is_function(Symbol('symbol'))).toBe(false);
73
+ });
74
+
75
+ test('должна возвращать false для объектов с методом toString', () => {
76
+ const obj = {
77
+ toString() {
78
+ return 'function';
79
+ },
80
+ };
81
+ expect(is_function(obj)).toBe(false);
82
+ });
83
+ });
@@ -0,0 +1,46 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { is_infinity } from '../../index.mjs';
3
+
4
+ describe('Функция is_infinity', () => {
5
+ test('должна возвращать true для Infinity', () => {
6
+ expect(is_infinity(Infinity)).toBe(true);
7
+ });
8
+
9
+ test('должна возвращать true для -Infinity', () => {
10
+ expect(is_infinity(-Infinity)).toBe(true);
11
+ });
12
+
13
+ test('должна возвращать false для чисел', () => {
14
+ expect(is_infinity(42)).toBe(false);
15
+ expect(is_infinity(3.14)).toBe(false);
16
+ expect(is_infinity(NaN)).toBe(false);
17
+ });
18
+
19
+ test('должна возвращать false для строк', () => {
20
+ expect(is_infinity('Infinity')).toBe(false);
21
+ expect(is_infinity('42')).toBe(false);
22
+ expect(is_infinity('')).toBe(false);
23
+ });
24
+
25
+ test('должна возвращать false для логических значений', () => {
26
+ expect(is_infinity(true)).toBe(false);
27
+ expect(is_infinity(false)).toBe(false);
28
+ });
29
+
30
+ test('должна возвращать false для null и undefined', () => {
31
+ expect(is_infinity(null)).toBe(false);
32
+ expect(is_infinity(undefined)).toBe(false);
33
+ });
34
+
35
+ test('должна возвращать false для объектов и массивов', () => {
36
+ expect(is_infinity({})).toBe(false);
37
+ expect(is_infinity([])).toBe(false);
38
+ expect(is_infinity({ foo: 42 })).toBe(false);
39
+ expect(is_infinity([1, 2, 3])).toBe(false);
40
+ });
41
+
42
+ test('должна возвращать false для функций', () => {
43
+ expect(is_infinity(() => {})).toBe(false);
44
+ expect(is_infinity(() => {})).toBe(false);
45
+ });
46
+ });
@@ -0,0 +1,45 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { is_int } from '../../index.mjs';
3
+
4
+ describe('Функция is_int', () => {
5
+ test('Возвращает true для положительных целых чисел', () => {
6
+ expect(is_int(1)).toBe(true);
7
+ expect(is_int(100)).toBe(true);
8
+ expect(is_int(123456)).toBe(true);
9
+ });
10
+
11
+ test('Возвращает true для отрицательных целых чисел', () => {
12
+ expect(is_int(-1)).toBe(true);
13
+ expect(is_int(-100)).toBe(true);
14
+ expect(is_int(-123456)).toBe(true);
15
+ });
16
+
17
+ test('Возвращает true для нуля', () => {
18
+ expect(is_int(0)).toBe(true);
19
+ });
20
+
21
+ test('Возвращает false для чисел с плавающей точкой', () => {
22
+ expect(is_int(1.1)).toBe(false);
23
+ expect(is_int(-0.5)).toBe(false);
24
+ expect(is_int(3.14159)).toBe(false);
25
+ });
26
+
27
+ test('Возвращает false для значений не типа number', () => {
28
+ expect(is_int('42')).toBe(false); // строка
29
+ expect(is_int(true)).toBe(false); // логическое значение
30
+ expect(is_int(null)).toBe(false); // null
31
+ expect(is_int(undefined)).toBe(false); // undefined
32
+ expect(is_int({})).toBe(false); // объект
33
+ expect(is_int([])).toBe(false); // массив
34
+ });
35
+
36
+ test('Возвращает false для специальных числовых значений', () => {
37
+ expect(is_int(Infinity)).toBe(false); // бесконечность
38
+ expect(is_int(-Infinity)).toBe(false); // отрицательная бесконечность
39
+ expect(is_int(NaN)).toBe(false); // не число
40
+ });
41
+
42
+ test('Возвращает false для типа bigint', () => {
43
+ expect(is_int(BigInt(123456))).toBe(false);
44
+ });
45
+ });
@@ -0,0 +1,64 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { is_integer } from '../../index.mjs';
3
+
4
+ describe('Функция is_integer', () => {
5
+ test('должна возвращать true для положительных целых чисел', () => {
6
+ expect(is_integer(42)).toBe(true);
7
+ expect(is_integer(100)).toBe(true);
8
+ expect(is_integer(123456)).toBe(true);
9
+ });
10
+
11
+ test('должна возвращать true для отрицательных целых чисел', () => {
12
+ expect(is_integer(-42)).toBe(true);
13
+ expect(is_integer(-100)).toBe(true);
14
+ expect(is_integer(-123456)).toBe(true);
15
+ });
16
+
17
+ test('должна возвращать true для нуля', () => {
18
+ expect(is_integer(0)).toBe(true);
19
+ });
20
+
21
+ test('должна возвращать false для чисел с плавающей точкой', () => {
22
+ expect(is_integer(3.14)).toBe(false);
23
+ expect(is_integer(-0.99)).toBe(false);
24
+ expect(is_integer(0.1)).toBe(false);
25
+ });
26
+
27
+ test('должна возвращать false для специальных чисел', () => {
28
+ expect(is_integer(NaN)).toBe(false);
29
+ expect(is_integer(Infinity)).toBe(false);
30
+ expect(is_integer(-Infinity)).toBe(false);
31
+ });
32
+
33
+ test('должна возвращать false для строк', () => {
34
+ expect(is_integer('42')).toBe(false);
35
+ expect(is_integer('3.14')).toBe(false);
36
+ expect(is_integer('')).toBe(false);
37
+ });
38
+
39
+ test('должна возвращать false для логических значений', () => {
40
+ expect(is_integer(true)).toBe(false);
41
+ expect(is_integer(false)).toBe(false);
42
+ });
43
+
44
+ test('должна возвращать false для null и undefined', () => {
45
+ expect(is_integer(null)).toBe(false);
46
+ expect(is_integer(undefined)).toBe(false);
47
+ });
48
+
49
+ test('должна возвращать false для объектов и массивов', () => {
50
+ expect(is_integer({})).toBe(false);
51
+ expect(is_integer([])).toBe(false);
52
+ expect(is_integer({ foo: 42 })).toBe(false);
53
+ expect(is_integer([1, 2, 3])).toBe(false);
54
+ });
55
+
56
+ test('должна возвращать false для функций', () => {
57
+ expect(is_integer(() => {})).toBe(false);
58
+ expect(is_integer(() => {})).toBe(false);
59
+ });
60
+
61
+ test('должна возвращать false для типа bigint', () => {
62
+ expect(is_integer(BigInt(123456))).toBe(false);
63
+ });
64
+ });
@@ -0,0 +1,42 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { is_list } from '../../index.mjs';
3
+
4
+ describe('Функция is_list', () => {
5
+ test('должна возвращать true для массивов', () => {
6
+ expect(is_list([])).toBe(true);
7
+ expect(is_list([1, 2, 3])).toBe(true);
8
+ });
9
+
10
+ test('должна возвращать false для ассоциативных массивов', () => {
11
+ expect(is_list({})).toBe(false);
12
+ expect(is_list({ foo: 'bar' })).toBe(false);
13
+ });
14
+
15
+ test('должна возвращать false для строк', () => {
16
+ expect(is_list('string')).toBe(false);
17
+ });
18
+
19
+ test('должна возвращать false для чисел', () => {
20
+ expect(is_list(42)).toBe(false);
21
+ });
22
+
23
+ test('должна возвращать false для null и undefined', () => {
24
+ expect(is_list(null)).toBe(false);
25
+ expect(is_list(undefined)).toBe(false);
26
+ });
27
+
28
+ test('должна возвращать false для логических значений', () => {
29
+ expect(is_list(true)).toBe(false);
30
+ expect(is_list(false)).toBe(false);
31
+ });
32
+
33
+ test('должна возвращать false для функций', () => {
34
+ function func() {}
35
+ expect(is_list(func)).toBe(false);
36
+ expect(is_list(() => {})).toBe(false);
37
+ });
38
+
39
+ test('должна возвращать false для символов', () => {
40
+ expect(is_list(Symbol('symbol'))).toBe(false);
41
+ });
42
+ });
@@ -0,0 +1,43 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { is_nan } from '../../index.mjs';
3
+
4
+ describe('Функция is_nan', () => {
5
+ test('должна возвращать true для NaN', () => {
6
+ expect(is_nan(NaN)).toBe(true);
7
+ });
8
+
9
+ test('должна возвращать false для чисел', () => {
10
+ expect(is_nan(42)).toBe(false);
11
+ expect(is_nan(3.14)).toBe(false);
12
+ expect(is_nan(Infinity)).toBe(false);
13
+ expect(is_nan(-Infinity)).toBe(false);
14
+ });
15
+
16
+ test('должна возвращать false для строк', () => {
17
+ expect(is_nan('42')).toBe(false);
18
+ expect(is_nan('NaN')).toBe(false);
19
+ expect(is_nan('')).toBe(false);
20
+ });
21
+
22
+ test('должна возвращать false для логических значений', () => {
23
+ expect(is_nan(true)).toBe(false);
24
+ expect(is_nan(false)).toBe(false);
25
+ });
26
+
27
+ test('должна возвращать false для null и undefined', () => {
28
+ expect(is_nan(null)).toBe(false);
29
+ expect(is_nan(undefined)).toBe(false);
30
+ });
31
+
32
+ test('должна возвращать false для объектов и массивов', () => {
33
+ expect(is_nan({})).toBe(false);
34
+ expect(is_nan([])).toBe(false);
35
+ expect(is_nan({ foo: 42 })).toBe(false);
36
+ expect(is_nan([1, 2, 3])).toBe(false);
37
+ });
38
+
39
+ test('должна возвращать false для функций', () => {
40
+ expect(is_nan(() => {})).toBe(false);
41
+ expect(is_nan(() => {})).toBe(false);
42
+ });
43
+ });
@@ -0,0 +1,17 @@
1
+ import { describe, test, expect } from '@jest/globals';
2
+ import { is_null } from '../../index.mjs';
3
+
4
+ describe('Функция is_null', () => {
5
+ test('Возвращает true для значения null', () => {
6
+ expect(is_null(null)).toBe(true);
7
+ });
8
+
9
+ test('Возвращает false для значений не типа null', () => {
10
+ expect(is_null(undefined)).toBe(false);
11
+ expect(is_null(0)).toBe(false);
12
+ expect(is_null('')).toBe(false);
13
+ expect(is_null(false)).toBe(false);
14
+ expect(is_null({})).toBe(false);
15
+ expect(is_null([])).toBe(false);
16
+ });
17
+ });
@@ -0,0 +1,25 @@
1
+ import { describe, test, expect } from '@jest/globals';
2
+ import { is_number } from '../../index.mjs';
3
+
4
+ describe('Функция is_number', () => {
5
+ test('Возвращает true для числовых значений', () => {
6
+ expect(is_number(42)).toBe(true);
7
+ expect(is_number(3.14)).toBe(true);
8
+ expect(is_number(-0.99)).toBe(true);
9
+ });
10
+
11
+ test('Возвращает false для специальных числовых значений', () => {
12
+ expect(is_number(NaN)).toBe(false);
13
+ expect(is_number(Infinity)).toBe(false);
14
+ expect(is_number(-Infinity)).toBe(false);
15
+ });
16
+
17
+ test('Возвращает false для значений не типа number', () => {
18
+ expect(is_number('42')).toBe(false); // строка
19
+ expect(is_number(true)).toBe(false); // логическое значение
20
+ expect(is_number(null)).toBe(false); // null
21
+ expect(is_number(undefined)).toBe(false); // undefined
22
+ expect(is_number({})).toBe(false); // объект
23
+ expect(is_number([])).toBe(false); // массив
24
+ });
25
+ });
@@ -0,0 +1,30 @@
1
+ import { describe, test, expect } from '@jest/globals';
2
+ import { is_numeric } from '../../index.mjs';
3
+
4
+ describe('Функция is_numeric', () => {
5
+ test('Возвращает true для числовых значений', () => {
6
+ expect(is_numeric(42)).toBe(true);
7
+ expect(is_numeric(3.14)).toBe(true);
8
+ expect(is_numeric(-0.99)).toBe(true);
9
+ });
10
+
11
+ test('Возвращает true для числовых строк', () => {
12
+ expect(is_numeric('42')).toBe(true);
13
+ expect(is_numeric('3.14')).toBe(true);
14
+ expect(is_numeric('-0.99')).toBe(true);
15
+ });
16
+
17
+ test('Возвращает false для специальных числовых значений', () => {
18
+ expect(is_numeric(NaN)).toBe(false);
19
+ expect(is_numeric(Infinity)).toBe(false);
20
+ expect(is_numeric(-Infinity)).toBe(false);
21
+ });
22
+
23
+ test('Возвращает false для значений не типа number или string', () => {
24
+ expect(is_numeric(true)).toBe(false); // логическое значение
25
+ expect(is_numeric(null)).toBe(false); // null
26
+ expect(is_numeric(undefined)).toBe(false); // undefined
27
+ expect(is_numeric({})).toBe(false); // объект
28
+ expect(is_numeric([])).toBe(false); // массив
29
+ });
30
+ });
@@ -0,0 +1,52 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { is_object } from '../../index.mjs';
3
+
4
+ describe('Функция is_object', () => {
5
+ test('должна возвращать true для объектов, созданных с использованием классов', () => {
6
+ class MyClass {}
7
+ const myClassInstance = new MyClass();
8
+ expect(is_object(myClassInstance)).toBe(true);
9
+ });
10
+
11
+ test('должна возвращать false для классов', () => {
12
+ class MyClass {}
13
+ expect(is_object(MyClass)).toBe(false);
14
+ });
15
+
16
+ test('должна возвращать false для ассоциативных массивов', () => {
17
+ const obj = {};
18
+ expect(is_object(obj)).toBe(false);
19
+ });
20
+
21
+ test('должна возвращать false для массивов', () => {
22
+ const arr = [];
23
+ expect(is_object(arr)).toBe(false);
24
+ });
25
+
26
+ test('должна возвращать false для объектов, таких как Date', () => {
27
+ const date = new Date();
28
+ expect(is_object(date)).toBe(false);
29
+ });
30
+
31
+ test('должна возвращать false для null', () => {
32
+ expect(is_object(null)).toBe(false);
33
+ });
34
+
35
+ test('должна возвращать false для числа', () => {
36
+ expect(is_object(42)).toBe(false);
37
+ });
38
+
39
+ test('должна возвращать false для строки', () => {
40
+ expect(is_object('string')).toBe(false);
41
+ });
42
+
43
+ test('должна возвращать false для объектов, таких как Map', () => {
44
+ const map = new Map();
45
+ expect(is_object(map)).toBe(false);
46
+ });
47
+
48
+ test('должна возвращать false для объектов, созданных с Object.create(null)', () => {
49
+ const objNoProto = Object.create(null);
50
+ expect(is_object(objNoProto)).toBe(false);
51
+ });
52
+ });
@@ -0,0 +1,21 @@
1
+ import { describe, test, expect } from '@jest/globals';
2
+ import { is_scalar } from '../../index.mjs';
3
+
4
+ describe('Функция is_scalar', () => {
5
+ test('Возвращает true для скалярных значений', () => {
6
+ expect(is_scalar(true)).toBe(true);
7
+ expect(is_scalar(false)).toBe(true);
8
+ expect(is_scalar(42)).toBe(true);
9
+ expect(is_scalar(3.14)).toBe(true);
10
+ expect(is_scalar('hello')).toBe(true);
11
+ expect(is_scalar(Symbol('symbol'))).toBe(true);
12
+ });
13
+
14
+ test('Возвращает false для не скалярных значений', () => {
15
+ expect(is_scalar(null)).toBe(false);
16
+ expect(is_scalar(undefined)).toBe(false);
17
+ expect(is_scalar({})).toBe(false); // объект
18
+ expect(is_scalar([])).toBe(false); // массив
19
+ expect(is_scalar(() => {})).toBe(false); // функция
20
+ });
21
+ });
@@ -0,0 +1,20 @@
1
+ import { describe, test, expect } from '@jest/globals';
2
+ import { is_string } from '../../index.mjs';
3
+
4
+ describe('Функция is_string', () => {
5
+ test('Возвращает true для строковых значений', () => {
6
+ expect(is_string('hello')).toBe(true);
7
+ expect(is_string('')).toBe(true);
8
+ expect(is_string(`template string`)).toBe(true);
9
+ });
10
+
11
+ test('Возвращает false для значений других типов', () => {
12
+ expect(is_string(42)).toBe(false); // число
13
+ expect(is_string(true)).toBe(false); // логическое значение
14
+ expect(is_string(null)).toBe(false);
15
+ expect(is_string(undefined)).toBe(false);
16
+ expect(is_string({})).toBe(false); // объект
17
+ expect(is_string([])).toBe(false); // массив
18
+ expect(is_string(() => {})).toBe(false); // функция
19
+ });
20
+ });
@@ -0,0 +1,20 @@
1
+ import { describe, test, expect } from '@jest/globals';
2
+ import { is_symbol } from '../../index.mjs';
3
+
4
+ describe('Функция is_symbol', () => {
5
+ test('Возвращает true для символов', () => {
6
+ expect(is_symbol(Symbol('symbol'))).toBe(true);
7
+ expect(is_symbol(Symbol.iterator)).toBe(true);
8
+ });
9
+
10
+ test('Возвращает false для значений других типов', () => {
11
+ expect(is_symbol('hello')).toBe(false); // строка
12
+ expect(is_symbol(42)).toBe(false); // число
13
+ expect(is_symbol(true)).toBe(false); // логическое значение
14
+ expect(is_symbol(null)).toBe(false);
15
+ expect(is_symbol(undefined)).toBe(false);
16
+ expect(is_symbol({})).toBe(false); // объект
17
+ expect(is_symbol([])).toBe(false); // массив
18
+ expect(is_symbol(() => {})).toBe(false); // функция
19
+ });
20
+ });
@@ -0,0 +1,18 @@
1
+ import { describe, test, expect } from '@jest/globals';
2
+ import { is_undefined } from '../../index.mjs';
3
+
4
+ describe('Функция is_undefined', () => {
5
+ test('Возвращает true для значения undefined', () => {
6
+ expect(is_undefined(undefined)).toBe(true);
7
+ });
8
+
9
+ test('Возвращает false для значений других типов', () => {
10
+ expect(is_undefined('hello')).toBe(false); // строка
11
+ expect(is_undefined(42)).toBe(false); // число
12
+ expect(is_undefined(true)).toBe(false); // логическое значение
13
+ expect(is_undefined(null)).toBe(false);
14
+ expect(is_undefined({})).toBe(false); // объект
15
+ expect(is_undefined([])).toBe(false); // массив
16
+ expect(is_undefined(() => {})).toBe(false); // функция
17
+ });
18
+ });