@rogolev/value 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/.prettierignore +4 -0
- package/CHANGELOG.md +56 -0
- package/LICENSE +41 -0
- package/README.md +91 -0
- package/babel.config.json +20 -0
- package/docs/helpers/array.md +80 -0
- package/docs/helpers/empty.md +77 -0
- package/docs/helpers/gettype.md +69 -0
- package/docs/helpers/is_array.md +105 -0
- package/docs/helpers/is_assoc.md +59 -0
- package/docs/helpers/is_bigint.md +57 -0
- package/docs/helpers/is_bool.md +50 -0
- package/docs/helpers/is_boolean.md +50 -0
- package/docs/helpers/is_class.md +73 -0
- package/docs/helpers/is_float.md +71 -0
- package/docs/helpers/is_function.md +62 -0
- package/docs/helpers/is_infinity.md +61 -0
- package/docs/helpers/is_int.md +81 -0
- package/docs/helpers/is_integer.md +82 -0
- package/docs/helpers/is_list.md +51 -0
- package/docs/helpers/is_nan.md +59 -0
- package/docs/helpers/is_null.md +49 -0
- package/docs/helpers/is_number.md +67 -0
- package/docs/helpers/is_numeric.md +76 -0
- package/docs/helpers/is_object.md +69 -0
- package/docs/helpers/is_scalar.md +60 -0
- package/docs/helpers/is_string.md +58 -0
- package/docs/helpers/is_symbol.md +58 -0
- package/docs/helpers/is_undefined.md +56 -0
- package/docs/helpers/print.md +187 -0
- package/docs/helpers/print_type.md +225 -0
- package/docs/helpers/settype.md +78 -0
- package/docs/helpers/to_array.md +106 -0
- package/docs/helpers/to_assoc.md +91 -0
- package/docs/helpers/to_bool.md +76 -0
- package/docs/helpers/to_boolean.md +77 -0
- package/docs/helpers/to_float.md +70 -0
- package/docs/helpers/to_int.md +87 -0
- package/docs/helpers/to_integer.md +87 -0
- package/docs/helpers/to_list.md +47 -0
- package/docs/helpers/to_object.md +76 -0
- package/docs/helpers/to_string.md +134 -0
- package/docs/helpers.md +51 -0
- package/docs/types/NaN.md +30 -0
- package/docs/types/array.md +252 -0
- package/docs/types/bigint.md +34 -0
- package/docs/types/boolean.md +47 -0
- package/docs/types/class.md +36 -0
- package/docs/types/float.md +35 -0
- package/docs/types/function.md +121 -0
- package/docs/types/infinity.md +32 -0
- package/docs/types/integer.md +35 -0
- package/docs/types/null.md +23 -0
- package/docs/types/object.md +62 -0
- package/docs/types/string.md +33 -0
- package/docs/types/symbol.md +29 -0
- package/docs/types/undefined.md +25 -0
- package/docs/types.md +44 -0
- package/eslint.config.mjs +1664 -0
- package/index.mjs +37 -0
- package/jest.config.mjs +31 -0
- package/package.json +47 -0
- package/prettier.config.mjs +224 -0
- package/src/helpers/array.mjs +107 -0
- package/src/helpers/empty.mjs +70 -0
- package/src/helpers/gettype.mjs +133 -0
- package/src/helpers/is_array.mjs +128 -0
- package/src/helpers/is_assoc.mjs +51 -0
- package/src/helpers/is_bigint.mjs +47 -0
- package/src/helpers/is_bool.mjs +43 -0
- package/src/helpers/is_boolean.mjs +43 -0
- package/src/helpers/is_class.mjs +87 -0
- package/src/helpers/is_float.mjs +67 -0
- package/src/helpers/is_function.mjs +74 -0
- package/src/helpers/is_infinity.mjs +52 -0
- package/src/helpers/is_int.mjs +57 -0
- package/src/helpers/is_integer.mjs +74 -0
- package/src/helpers/is_list.mjs +43 -0
- package/src/helpers/is_nan.mjs +51 -0
- package/src/helpers/is_null.mjs +37 -0
- package/src/helpers/is_number.mjs +49 -0
- package/src/helpers/is_numeric.mjs +64 -0
- package/src/helpers/is_object.mjs +72 -0
- package/src/helpers/is_scalar.mjs +45 -0
- package/src/helpers/is_string.mjs +46 -0
- package/src/helpers/is_symbol.mjs +46 -0
- package/src/helpers/is_undefined.mjs +44 -0
- package/src/helpers/print.mjs +245 -0
- package/src/helpers/print_type.mjs +261 -0
- package/src/helpers/settype.mjs +101 -0
- package/src/helpers/to_array.mjs +118 -0
- package/src/helpers/to_assoc.mjs +98 -0
- package/src/helpers/to_bool.mjs +68 -0
- package/src/helpers/to_boolean.mjs +64 -0
- package/src/helpers/to_float.mjs +72 -0
- package/src/helpers/to_int.mjs +93 -0
- package/src/helpers/to_integer.mjs +81 -0
- package/src/helpers/to_list.mjs +56 -0
- package/src/helpers/to_object.mjs +94 -0
- package/src/helpers/to_string.mjs +157 -0
- package/tests/helpers/array.test.mjs +58 -0
- package/tests/helpers/empty.test.mjs +22 -0
- package/tests/helpers/gettype.test.mjs +74 -0
- package/tests/helpers/is_array.test.mjs +404 -0
- package/tests/helpers/is_assoc.test.mjs +42 -0
- package/tests/helpers/is_bigint.test.mjs +51 -0
- package/tests/helpers/is_bool.test.mjs +43 -0
- package/tests/helpers/is_boolean.test.mjs +43 -0
- package/tests/helpers/is_class.test.mjs +84 -0
- package/tests/helpers/is_float.test.mjs +87 -0
- package/tests/helpers/is_function.test.mjs +83 -0
- package/tests/helpers/is_infinity.test.mjs +46 -0
- package/tests/helpers/is_int.test.mjs +45 -0
- package/tests/helpers/is_integer.test.mjs +64 -0
- package/tests/helpers/is_list.test.mjs +42 -0
- package/tests/helpers/is_nan.test.mjs +43 -0
- package/tests/helpers/is_null.test.mjs +17 -0
- package/tests/helpers/is_number.test.mjs +25 -0
- package/tests/helpers/is_numeric.test.mjs +30 -0
- package/tests/helpers/is_object.test.mjs +52 -0
- package/tests/helpers/is_scalar.test.mjs +21 -0
- package/tests/helpers/is_string.test.mjs +20 -0
- package/tests/helpers/is_symbol.test.mjs +20 -0
- package/tests/helpers/is_undefined.test.mjs +18 -0
- package/tests/helpers/print.test.mjs +62 -0
- package/tests/helpers/print_type.test.mjs +62 -0
- package/tests/helpers/settype.test.mjs +34 -0
- package/tests/helpers/to_array.test.mjs +38 -0
- package/tests/helpers/to_assoc.test.mjs +33 -0
- package/tests/helpers/to_bool.test.mjs +51 -0
- package/tests/helpers/to_boolean.test.mjs +51 -0
- package/tests/helpers/to_float.test.mjs +26 -0
- package/tests/helpers/to_int.test.mjs +48 -0
- package/tests/helpers/to_integer.test.mjs +48 -0
- package/tests/helpers/to_list.test.mjs +32 -0
- package/tests/helpers/to_object.test.mjs +36 -0
- 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
|
+
});
|