@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.
- 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
|
+
});
|