@rogolev/value 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +19 -1
  3. package/docs/classes/Value/constructor.md +48 -0
  4. package/docs/classes/Value/get.md +51 -0
  5. package/docs/classes/Value/getType.md +71 -0
  6. package/docs/classes/Value/isArray.md +67 -0
  7. package/docs/classes/Value/isAssoc.md +68 -0
  8. package/docs/classes/Value/isBigInt.md +52 -0
  9. package/docs/classes/Value/isBool.md +60 -0
  10. package/docs/classes/Value/isBoolean.md +60 -0
  11. package/docs/classes/Value/isClass.md +55 -0
  12. package/docs/classes/Value/isEmpty.md +84 -0
  13. package/docs/classes/Value/isFloat.md +52 -0
  14. package/docs/classes/Value/isFunction.md +60 -0
  15. package/docs/classes/Value/isInfinity.md +60 -0
  16. package/docs/classes/Value/isInt.md +52 -0
  17. package/docs/classes/Value/isInteger.md +52 -0
  18. package/docs/classes/Value/isList.md +59 -0
  19. package/docs/classes/Value/isNaN.md +79 -0
  20. package/docs/classes/Value/isNull.md +59 -0
  21. package/docs/classes/Value/isNumber.md +80 -0
  22. package/docs/classes/Value/isNumeric.md +79 -0
  23. package/docs/classes/Value/isObject.md +68 -0
  24. package/docs/classes/Value/isScalar.md +72 -0
  25. package/docs/classes/Value/isString.md +67 -0
  26. package/docs/classes/Value/isSymbol.md +75 -0
  27. package/docs/classes/Value/isUndefined.md +67 -0
  28. package/docs/classes/Value/print.md +164 -0
  29. package/docs/classes/Value/printType.md +158 -0
  30. package/docs/classes/Value/setType.md +79 -0
  31. package/docs/classes/Value/toArray.md +85 -0
  32. package/docs/classes/Value/toAssoc.md +85 -0
  33. package/docs/classes/Value/toBool.md +71 -0
  34. package/docs/classes/Value/toBoolean.md +71 -0
  35. package/docs/classes/Value/toFloat.md +72 -0
  36. package/docs/classes/Value/toInt.md +72 -0
  37. package/docs/classes/Value/toInteger.md +72 -0
  38. package/docs/classes/Value/toList.md +77 -0
  39. package/docs/classes/Value/toObject.md +78 -0
  40. package/docs/classes/Value/toPrint.md +115 -0
  41. package/docs/classes/Value/toPrintType.md +110 -0
  42. package/docs/classes/Value/toString.md +134 -0
  43. package/docs/classes/Value.md +113 -0
  44. package/docs/classes.md +2 -0
  45. package/docs/constants.md +47 -0
  46. package/docs/helpers/value.md +95 -0
  47. package/docs/helpers.md +2 -0
  48. package/index.mjs +3 -0
  49. package/package.json +2 -2
  50. package/src/classes/Convert.mjs +818 -819
  51. package/src/classes/Type.mjs +1284 -1285
  52. package/src/classes/Value.mjs +2846 -0
  53. package/src/constants.mjs +14 -0
  54. package/src/helpers/array.mjs +107 -107
  55. package/src/helpers/empty.mjs +70 -70
  56. package/src/helpers/gettype.mjs +149 -133
  57. package/src/helpers/is_array.mjs +128 -128
  58. package/src/helpers/is_assoc.mjs +51 -51
  59. package/src/helpers/is_bigint.mjs +47 -47
  60. package/src/helpers/is_bool.mjs +43 -43
  61. package/src/helpers/is_boolean.mjs +43 -43
  62. package/src/helpers/is_class.mjs +87 -87
  63. package/src/helpers/is_float.mjs +67 -67
  64. package/src/helpers/is_function.mjs +74 -74
  65. package/src/helpers/is_infinity.mjs +52 -52
  66. package/src/helpers/is_int.mjs +57 -57
  67. package/src/helpers/is_integer.mjs +74 -74
  68. package/src/helpers/is_list.mjs +43 -43
  69. package/src/helpers/is_nan.mjs +51 -51
  70. package/src/helpers/is_null.mjs +37 -37
  71. package/src/helpers/is_number.mjs +49 -49
  72. package/src/helpers/is_numeric.mjs +64 -64
  73. package/src/helpers/is_object.mjs +72 -72
  74. package/src/helpers/is_scalar.mjs +45 -45
  75. package/src/helpers/is_string.mjs +46 -46
  76. package/src/helpers/is_symbol.mjs +46 -46
  77. package/src/helpers/is_undefined.mjs +44 -44
  78. package/src/helpers/print.mjs +245 -245
  79. package/src/helpers/print_type.mjs +261 -261
  80. package/src/helpers/settype.mjs +101 -101
  81. package/src/helpers/to_array.mjs +118 -118
  82. package/src/helpers/to_assoc.mjs +98 -98
  83. package/src/helpers/to_bool.mjs +68 -68
  84. package/src/helpers/to_boolean.mjs +64 -64
  85. package/src/helpers/to_float.mjs +72 -72
  86. package/src/helpers/to_int.mjs +93 -93
  87. package/src/helpers/to_integer.mjs +81 -81
  88. package/src/helpers/to_list.mjs +56 -56
  89. package/src/helpers/to_object.mjs +94 -94
  90. package/src/helpers/to_string.mjs +157 -157
  91. package/src/helpers/value.mjs +92 -0
  92. package/tests/classes/Convert.test.mjs +398 -399
  93. package/tests/classes/Type.test.mjs +1262 -1263
  94. package/tests/classes/Value.test.mjs +423 -0
  95. package/tests/constants.test.mjs +75 -0
  96. package/tests/helpers/array.test.mjs +58 -58
  97. package/tests/helpers/empty.test.mjs +22 -22
  98. package/tests/helpers/gettype.test.mjs +74 -74
  99. package/tests/helpers/is_array.test.mjs +404 -404
  100. package/tests/helpers/is_assoc.test.mjs +42 -42
  101. package/tests/helpers/is_bigint.test.mjs +51 -51
  102. package/tests/helpers/is_bool.test.mjs +43 -43
  103. package/tests/helpers/is_boolean.test.mjs +43 -43
  104. package/tests/helpers/is_class.test.mjs +84 -84
  105. package/tests/helpers/is_float.test.mjs +87 -87
  106. package/tests/helpers/is_function.test.mjs +83 -83
  107. package/tests/helpers/is_infinity.test.mjs +46 -46
  108. package/tests/helpers/is_int.test.mjs +45 -45
  109. package/tests/helpers/is_integer.test.mjs +64 -64
  110. package/tests/helpers/is_list.test.mjs +42 -42
  111. package/tests/helpers/is_nan.test.mjs +43 -43
  112. package/tests/helpers/is_null.test.mjs +17 -17
  113. package/tests/helpers/is_number.test.mjs +25 -25
  114. package/tests/helpers/is_numeric.test.mjs +30 -30
  115. package/tests/helpers/is_object.test.mjs +52 -52
  116. package/tests/helpers/is_scalar.test.mjs +21 -21
  117. package/tests/helpers/is_string.test.mjs +20 -20
  118. package/tests/helpers/is_symbol.test.mjs +20 -20
  119. package/tests/helpers/is_undefined.test.mjs +18 -18
  120. package/tests/helpers/print.test.mjs +62 -62
  121. package/tests/helpers/print_type.test.mjs +62 -62
  122. package/tests/helpers/settype.test.mjs +34 -34
  123. package/tests/helpers/to_array.test.mjs +38 -38
  124. package/tests/helpers/to_assoc.test.mjs +33 -33
  125. package/tests/helpers/to_bool.test.mjs +51 -51
  126. package/tests/helpers/to_boolean.test.mjs +51 -51
  127. package/tests/helpers/to_float.test.mjs +26 -26
  128. package/tests/helpers/to_int.test.mjs +48 -48
  129. package/tests/helpers/to_integer.test.mjs +48 -48
  130. package/tests/helpers/to_list.test.mjs +32 -32
  131. package/tests/helpers/to_object.test.mjs +36 -36
  132. package/tests/helpers/to_string.test.mjs +71 -71
  133. package/tests/helpers/value.test.mjs +68 -0
@@ -1,62 +1,62 @@
1
- import { expect, test, describe } from '@jest/globals';
2
- import { print } from '../../index.mjs';
3
-
4
- describe('Функция print', () => {
5
- test('Должна возвращать строку для строки', () => {
6
- expect(print('example', true)).toBe('"example"');
7
- });
8
-
9
- test('Должна возвращать строку для числа', () => {
10
- expect(print(123, true)).toBe('123');
11
- expect(print(123.45, true)).toBe('123.45');
12
- });
13
-
14
- test('Должна возвращать строку для булевых значений', () => {
15
- expect(print(true, true)).toBe('true');
16
- expect(print(false, true)).toBe('false');
17
- });
18
-
19
- test('Должна возвращать строку для null и undefined', () => {
20
- expect(print(null, true)).toBe('null');
21
- expect(print(undefined, true)).toBe('undefined');
22
- });
23
-
24
- test('Должна возвращать строку для массивов', () => {
25
- const arr = [1, [2], 3];
26
- expect(print(arr, true)).toBe(
27
- '[\n 0: 1,\n 1: [\n 0: 2,\n ],\n 2: 3,\n]',
28
- );
29
- });
30
-
31
- test('Должна возвращать строку для ассоциативных массивов', () => {
32
- const obj = { key: 'value' };
33
- expect(print(obj, true)).toBe('{\n key: "value",\n}');
34
- });
35
-
36
- test('Должна возвращать строку для функций', () => {
37
- const func = function () {};
38
- expect(print(func, true)).toBe('function func() {}');
39
- });
40
-
41
- test('Должна возвращать строку для символов', () => {
42
- const symbol = Symbol('example');
43
- expect(print(symbol, true)).toBe('Symbol(example)');
44
- });
45
-
46
- test('Должна возвращать строку для классов', () => {
47
- class MyClass {
48
- static test = 'test';
49
- }
50
- expect(print(MyClass, true)).toBe('class MyClass {\n test = "test";\n}');
51
- });
52
-
53
- test('Должна возвращать строку для экземпляров классов', () => {
54
- class MyClass {}
55
- const instance = new MyClass();
56
- expect(print(instance, true)).toBe('object MyClass {}');
57
- });
58
-
59
- test('Должна выбрасывать исключение для неверного значения параметра return_result', () => {
60
- expect(() => print('example', 'invalid')).toThrow(TypeError);
61
- });
62
- });
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { print } from '../../index.mjs';
3
+
4
+ describe('Функция print', () => {
5
+ test('Должна возвращать строку для строки', () => {
6
+ expect(print('example', true)).toBe('"example"');
7
+ });
8
+
9
+ test('Должна возвращать строку для числа', () => {
10
+ expect(print(123, true)).toBe('123');
11
+ expect(print(123.45, true)).toBe('123.45');
12
+ });
13
+
14
+ test('Должна возвращать строку для булевых значений', () => {
15
+ expect(print(true, true)).toBe('true');
16
+ expect(print(false, true)).toBe('false');
17
+ });
18
+
19
+ test('Должна возвращать строку для null и undefined', () => {
20
+ expect(print(null, true)).toBe('null');
21
+ expect(print(undefined, true)).toBe('undefined');
22
+ });
23
+
24
+ test('Должна возвращать строку для массивов', () => {
25
+ const arr = [1, [2], 3];
26
+ expect(print(arr, true)).toBe(
27
+ '[\n 0: 1,\n 1: [\n 0: 2,\n ],\n 2: 3,\n]',
28
+ );
29
+ });
30
+
31
+ test('Должна возвращать строку для ассоциативных массивов', () => {
32
+ const obj = { key: 'value' };
33
+ expect(print(obj, true)).toBe('{\n key: "value",\n}');
34
+ });
35
+
36
+ test('Должна возвращать строку для функций', () => {
37
+ const func = function () {};
38
+ expect(print(func, true)).toBe('function func() {}');
39
+ });
40
+
41
+ test('Должна возвращать строку для символов', () => {
42
+ const symbol = Symbol('example');
43
+ expect(print(symbol, true)).toBe('Symbol(example)');
44
+ });
45
+
46
+ test('Должна возвращать строку для классов', () => {
47
+ class MyClass {
48
+ static test = 'test';
49
+ }
50
+ expect(print(MyClass, true)).toBe('class MyClass {\n test = "test";\n}');
51
+ });
52
+
53
+ test('Должна возвращать строку для экземпляров классов', () => {
54
+ class MyClass {}
55
+ const instance = new MyClass();
56
+ expect(print(instance, true)).toBe('object MyClass {}');
57
+ });
58
+
59
+ test('Должна выбрасывать исключение для неверного значения параметра return_result', () => {
60
+ expect(() => print('example', 'invalid')).toThrow(TypeError);
61
+ });
62
+ });
@@ -1,62 +1,62 @@
1
- import { expect, test, describe } from '@jest/globals';
2
- import { print_type } from '../../index.mjs';
3
-
4
- describe('Функция print_type', () => {
5
- test('Должна возвращать строку для строки', () => {
6
- expect(print_type('example', true)).toBe('string(7) "example"');
7
- });
8
-
9
- test('Должна возвращать строку для числа', () => {
10
- expect(print_type(123, true)).toBe('int(123)');
11
- expect(print_type(123.45, true)).toBe('float(123.45)');
12
- });
13
-
14
- test('Должна возвращать строку для булевых значений', () => {
15
- expect(print_type(true, true)).toBe('bool(true)');
16
- expect(print_type(false, true)).toBe('bool(false)');
17
- });
18
-
19
- test('Должна возвращать строку для null и undefined', () => {
20
- expect(print_type(null, true)).toBe('null');
21
- expect(print_type(undefined, true)).toBe('undefined');
22
- });
23
-
24
- test('Должна возвращать строку для массивов', () => {
25
- const arr = [1, [2], 3];
26
- expect(print_type(arr, true)).toBe(
27
- 'array(3) [\n 0: int(1),\n 1: array(1) [\n 0: int(2),\n ],\n 2: int(3),\n]',
28
- );
29
- });
30
-
31
- test('Должна возвращать строку для ассоциативных массивов', () => {
32
- const obj = { key: 'value' };
33
- expect(print_type(obj, true)).toBe('array(1) {\n key: string(5) "value",\n}');
34
- });
35
-
36
- test('Должна возвращать строку для функций', () => {
37
- const func = function () {};
38
- expect(print_type(func, true)).toBe('function func() {}');
39
- });
40
-
41
- test('Должна возвращать строку для символов', () => {
42
- const symbol = Symbol('example');
43
- expect(print_type(symbol, true)).toBe('Symbol(example)');
44
- });
45
-
46
- test('Должна возвращать строку для классов', () => {
47
- class MyClass {
48
- static test = 'test';
49
- }
50
- expect(print_type(MyClass, true)).toBe('class MyClass {\n test = string(4) "test";\n}');
51
- });
52
-
53
- test('Должна возвращать строку для экземпляров классов', () => {
54
- class MyClass {
55
- test = 'test';
56
- }
57
- const instance = new MyClass();
58
- expect(print_type(instance, true)).toBe(
59
- 'object(MyClass) (1) {\n test = string(4) "test";\n}',
60
- );
61
- });
62
- });
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { print_type } from '../../index.mjs';
3
+
4
+ describe('Функция print_type', () => {
5
+ test('Должна возвращать строку для строки', () => {
6
+ expect(print_type('example', true)).toBe('string(7) "example"');
7
+ });
8
+
9
+ test('Должна возвращать строку для числа', () => {
10
+ expect(print_type(123, true)).toBe('int(123)');
11
+ expect(print_type(123.45, true)).toBe('float(123.45)');
12
+ });
13
+
14
+ test('Должна возвращать строку для булевых значений', () => {
15
+ expect(print_type(true, true)).toBe('bool(true)');
16
+ expect(print_type(false, true)).toBe('bool(false)');
17
+ });
18
+
19
+ test('Должна возвращать строку для null и undefined', () => {
20
+ expect(print_type(null, true)).toBe('null');
21
+ expect(print_type(undefined, true)).toBe('undefined');
22
+ });
23
+
24
+ test('Должна возвращать строку для массивов', () => {
25
+ const arr = [1, [2], 3];
26
+ expect(print_type(arr, true)).toBe(
27
+ 'array(3) [\n 0: int(1),\n 1: array(1) [\n 0: int(2),\n ],\n 2: int(3),\n]',
28
+ );
29
+ });
30
+
31
+ test('Должна возвращать строку для ассоциативных массивов', () => {
32
+ const obj = { key: 'value' };
33
+ expect(print_type(obj, true)).toBe('array(1) {\n key: string(5) "value",\n}');
34
+ });
35
+
36
+ test('Должна возвращать строку для функций', () => {
37
+ const func = function () {};
38
+ expect(print_type(func, true)).toBe('function func() {}');
39
+ });
40
+
41
+ test('Должна возвращать строку для символов', () => {
42
+ const symbol = Symbol('example');
43
+ expect(print_type(symbol, true)).toBe('Symbol(example)');
44
+ });
45
+
46
+ test('Должна возвращать строку для классов', () => {
47
+ class MyClass {
48
+ static test = 'test';
49
+ }
50
+ expect(print_type(MyClass, true)).toBe('class MyClass {\n test = string(4) "test";\n}');
51
+ });
52
+
53
+ test('Должна возвращать строку для экземпляров классов', () => {
54
+ class MyClass {
55
+ test = 'test';
56
+ }
57
+ const instance = new MyClass();
58
+ expect(print_type(instance, true)).toBe(
59
+ 'object(MyClass) (1) {\n test = string(4) "test";\n}',
60
+ );
61
+ });
62
+ });
@@ -1,34 +1,34 @@
1
- import { expect, test, describe } from '@jest/globals';
2
- import { settype } from '../../index.mjs';
3
-
4
- describe('Функция settype', () => {
5
- test('Должна возвращать булевое значение', () => {
6
- expect(settype('string', 'boolean')).toBe(true);
7
- expect(settype('', 'boolean')).toBe(false);
8
- });
9
-
10
- test('Должна возвращать целое число', () => {
11
- expect(settype('123', 'integer')).toBe(123);
12
- expect(settype('123', 'int')).toBe(123);
13
- });
14
-
15
- test('Должна возвращать число с плавающей точкой', () => {
16
- expect(settype('123.45', 'float')).toBe(123.45);
17
- });
18
-
19
- test('Должна возвращать строку', () => {
20
- expect(settype(123, 'string')).toBe('123');
21
- });
22
-
23
- test('Должна возвращать массив', () => {
24
- expect(settype('example', 'array')).toEqual(['example']);
25
- });
26
-
27
- test('Должна возвращать объект', () => {
28
- expect(settype('example', 'object')).toEqual({ value: 'example' });
29
- });
30
-
31
- test('Должна возвращать исходное значение для неизвестного типа', () => {
32
- expect(settype('example', 'unknown')).toBe('example');
33
- });
34
- });
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { settype } from '../../index.mjs';
3
+
4
+ describe('Функция settype', () => {
5
+ test('Должна возвращать булевое значение', () => {
6
+ expect(settype('string', 'boolean')).toBe(true);
7
+ expect(settype('', 'boolean')).toBe(false);
8
+ });
9
+
10
+ test('Должна возвращать целое число', () => {
11
+ expect(settype('123', 'integer')).toBe(123);
12
+ expect(settype('123', 'int')).toBe(123);
13
+ });
14
+
15
+ test('Должна возвращать число с плавающей точкой', () => {
16
+ expect(settype('123.45', 'float')).toBe(123.45);
17
+ });
18
+
19
+ test('Должна возвращать строку', () => {
20
+ expect(settype(123, 'string')).toBe('123');
21
+ });
22
+
23
+ test('Должна возвращать массив', () => {
24
+ expect(settype('example', 'array')).toEqual(['example']);
25
+ });
26
+
27
+ test('Должна возвращать объект', () => {
28
+ expect(settype('example', 'object')).toEqual({ value: 'example' });
29
+ });
30
+
31
+ test('Должна возвращать исходное значение для неизвестного типа', () => {
32
+ expect(settype('example', 'unknown')).toBe('example');
33
+ });
34
+ });
@@ -1,38 +1,38 @@
1
- import { expect, test, describe } from '@jest/globals';
2
- import { to_array } from '../../index.mjs';
3
-
4
- describe('Функция to_array', () => {
5
- test('Должна возвращать пустой массив для null и undefined', () => {
6
- expect(to_array(null)).toEqual([]);
7
- expect(to_array(undefined)).toEqual([]);
8
- });
9
-
10
- test('Должна возвращать исходный массив, если он передан', () => {
11
- const input = [1, 2, 3];
12
- expect(to_array(input)).toBe(input);
13
- });
14
-
15
- test('Должна возвращать ассоциативный массив без прототипа и с итератором Symbol.iterator при передаче объекта', () => {
16
- const result = to_array({ key: 'value' });
17
-
18
- expect(Object.getPrototypeOf(result)).toBeNull();
19
-
20
- for (const entry of result) {
21
- expect(entry).toEqual(['key', 'value']);
22
- }
23
- });
24
-
25
- test('Должна возвращать массив с примитивными значениями', () => {
26
- expect(to_array(true)).toEqual([true]);
27
- expect(to_array(false)).toEqual([false]);
28
- expect(to_array('example')).toEqual(['example']);
29
- expect(to_array(123)).toEqual([123]);
30
- });
31
-
32
- test('Должна оборачивать экземпляр класса в массив', () => {
33
- class MyClass {}
34
-
35
- const instance = new MyClass();
36
- expect(to_array(instance)).toEqual([instance]);
37
- });
38
- });
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { to_array } from '../../index.mjs';
3
+
4
+ describe('Функция to_array', () => {
5
+ test('Должна возвращать пустой массив для null и undefined', () => {
6
+ expect(to_array(null)).toEqual([]);
7
+ expect(to_array(undefined)).toEqual([]);
8
+ });
9
+
10
+ test('Должна возвращать исходный массив, если он передан', () => {
11
+ const input = [1, 2, 3];
12
+ expect(to_array(input)).toBe(input);
13
+ });
14
+
15
+ test('Должна возвращать ассоциативный массив без прототипа и с итератором Symbol.iterator при передаче объекта', () => {
16
+ const result = to_array({ key: 'value' });
17
+
18
+ expect(Object.getPrototypeOf(result)).toBeNull();
19
+
20
+ for (const entry of result) {
21
+ expect(entry).toEqual(['key', 'value']);
22
+ }
23
+ });
24
+
25
+ test('Должна возвращать массив с примитивными значениями', () => {
26
+ expect(to_array(true)).toEqual([true]);
27
+ expect(to_array(false)).toEqual([false]);
28
+ expect(to_array('example')).toEqual(['example']);
29
+ expect(to_array(123)).toEqual([123]);
30
+ });
31
+
32
+ test('Должна оборачивать экземпляр класса в массив', () => {
33
+ class MyClass {}
34
+
35
+ const instance = new MyClass();
36
+ expect(to_array(instance)).toEqual([instance]);
37
+ });
38
+ });
@@ -1,33 +1,33 @@
1
- import { expect, test, describe } from '@jest/globals';
2
- import { to_assoc } from '../../index.mjs';
3
-
4
- describe('Функция to_assoc', () => {
5
- test('Должна возвращать пустой ассоциативный массив для null и undefined', () => {
6
- expect(to_assoc(null)).toEqual({});
7
- expect(to_assoc(undefined)).toEqual({});
8
- });
9
-
10
- test('Должна преобразовывать список в ассоциативный массив', () => {
11
- const input = [1, 2, 3];
12
- expect(to_assoc(input)).toEqual({ 0: 1, 1: 2, 2: 3 });
13
- });
14
-
15
- test('Должна возвращать исходный ассоциативный массив, если он передан', () => {
16
- const input = { key: 'value' };
17
- expect(to_assoc(input)).toBe(input);
18
- });
19
-
20
- test('Должна возвращать ассоциативный массив с ключом 0 и переданным значением для примитивов', () => {
21
- expect(to_assoc(true)).toEqual({ 0: true });
22
- expect(to_assoc(false)).toEqual({ 0: false });
23
- expect(to_assoc('example')).toEqual({ 0: 'example' });
24
- expect(to_assoc(123)).toEqual({ 0: 123 });
25
- });
26
-
27
- test('Должна оборачивать экземпляр класса в ассоциативный массив с ключом 0', () => {
28
- class MyClass {}
29
-
30
- const instance = new MyClass();
31
- expect(to_assoc(instance)).toEqual({ 0: instance });
32
- });
33
- });
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { to_assoc } from '../../index.mjs';
3
+
4
+ describe('Функция to_assoc', () => {
5
+ test('Должна возвращать пустой ассоциативный массив для null и undefined', () => {
6
+ expect(to_assoc(null)).toEqual({});
7
+ expect(to_assoc(undefined)).toEqual({});
8
+ });
9
+
10
+ test('Должна преобразовывать список в ассоциативный массив', () => {
11
+ const input = [1, 2, 3];
12
+ expect(to_assoc(input)).toEqual({ 0: 1, 1: 2, 2: 3 });
13
+ });
14
+
15
+ test('Должна возвращать исходный ассоциативный массив, если он передан', () => {
16
+ const input = { key: 'value' };
17
+ expect(to_assoc(input)).toBe(input);
18
+ });
19
+
20
+ test('Должна возвращать ассоциативный массив с ключом 0 и переданным значением для примитивов', () => {
21
+ expect(to_assoc(true)).toEqual({ 0: true });
22
+ expect(to_assoc(false)).toEqual({ 0: false });
23
+ expect(to_assoc('example')).toEqual({ 0: 'example' });
24
+ expect(to_assoc(123)).toEqual({ 0: 123 });
25
+ });
26
+
27
+ test('Должна оборачивать экземпляр класса в ассоциативный массив с ключом 0', () => {
28
+ class MyClass {}
29
+
30
+ const instance = new MyClass();
31
+ expect(to_assoc(instance)).toEqual({ 0: instance });
32
+ });
33
+ });
@@ -1,51 +1,51 @@
1
- import { expect, test, describe } from '@jest/globals';
2
- import { to_bool } from '../../index.mjs';
3
-
4
- describe('Функция to_bool', () => {
5
- test('Должна возвращать false для пустого массива', () => {
6
- expect(to_bool([])).toBe(false);
7
- });
8
-
9
- test('Должна возвращать true для непустого массива', () => {
10
- expect(to_bool([1, 2, 3])).toBe(true);
11
- });
12
-
13
- test('Должна возвращать false для пустого ассоциативного массива', () => {
14
- expect(to_bool({})).toBe(false);
15
- });
16
-
17
- test('Должна возвращать true для непустого ассоциативного массива', () => {
18
- expect(to_bool({ key: 'value' })).toBe(true);
19
- });
20
-
21
- test('Должна возвращать true для строки', () => {
22
- expect(to_bool('example')).toBe(true);
23
- });
24
-
25
- test('Должна возвращать true для числа', () => {
26
- expect(to_bool(123)).toBe(true);
27
- });
28
-
29
- test('Должна возвращать false для null и undefined', () => {
30
- expect(to_bool(null)).toBe(false);
31
- expect(to_bool(undefined)).toBe(false);
32
- });
33
-
34
- test('Должна возвращать true для булевых значений', () => {
35
- expect(to_bool(true)).toBe(true);
36
- expect(to_bool(false)).toBe(false);
37
- });
38
-
39
- test('Должна возвращать true для экземпляров класса', () => {
40
- class MyClass {}
41
-
42
- const instance = new MyClass();
43
- expect(to_bool(instance)).toBe(true);
44
- });
45
-
46
- test('Должна возвращать true для классов', () => {
47
- class MyClass {}
48
-
49
- expect(to_bool(MyClass)).toBe(true);
50
- });
51
- });
1
+ import { expect, test, describe } from '@jest/globals';
2
+ import { to_bool } from '../../index.mjs';
3
+
4
+ describe('Функция to_bool', () => {
5
+ test('Должна возвращать false для пустого массива', () => {
6
+ expect(to_bool([])).toBe(false);
7
+ });
8
+
9
+ test('Должна возвращать true для непустого массива', () => {
10
+ expect(to_bool([1, 2, 3])).toBe(true);
11
+ });
12
+
13
+ test('Должна возвращать false для пустого ассоциативного массива', () => {
14
+ expect(to_bool({})).toBe(false);
15
+ });
16
+
17
+ test('Должна возвращать true для непустого ассоциативного массива', () => {
18
+ expect(to_bool({ key: 'value' })).toBe(true);
19
+ });
20
+
21
+ test('Должна возвращать true для строки', () => {
22
+ expect(to_bool('example')).toBe(true);
23
+ });
24
+
25
+ test('Должна возвращать true для числа', () => {
26
+ expect(to_bool(123)).toBe(true);
27
+ });
28
+
29
+ test('Должна возвращать false для null и undefined', () => {
30
+ expect(to_bool(null)).toBe(false);
31
+ expect(to_bool(undefined)).toBe(false);
32
+ });
33
+
34
+ test('Должна возвращать true для булевых значений', () => {
35
+ expect(to_bool(true)).toBe(true);
36
+ expect(to_bool(false)).toBe(false);
37
+ });
38
+
39
+ test('Должна возвращать true для экземпляров класса', () => {
40
+ class MyClass {}
41
+
42
+ const instance = new MyClass();
43
+ expect(to_bool(instance)).toBe(true);
44
+ });
45
+
46
+ test('Должна возвращать true для классов', () => {
47
+ class MyClass {}
48
+
49
+ expect(to_bool(MyClass)).toBe(true);
50
+ });
51
+ });