@rogolev/value 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,81 +1,81 @@
1
- import to_int from './to_int.mjs';
2
-
3
- /**
4
- * Приводит значение переменной к целому числу.
5
- *
6
- * ### Описание
7
- *
8
- * Функция `to_integer` является синонимом функции `to_int` и используется для преобразования различных типов данных в целое число.
9
- * Если значение не является числом или строкой, функция возвращает `1` для истинных значений и `0` для ложных значений.
10
- *
11
- * ### Параметры
12
- *
13
- * - `value` (any)
14
- * Переменная, значение которой необходимо привести к целому числу.
15
- *
16
- * - `base` (number)
17
- * Основание системы счисления для преобразования строки в число. По умолчанию `10`.
18
- *
19
- * ### Возвращаемое значение
20
- *
21
- * Возвращает целое число, соответствующее переданному значению.
22
- *
23
- * ### Примеры использования
24
- *
25
- * 1. Преобразование строки в целое число:
26
- *
27
- * ```js
28
- * const result = to_integer('123');
29
- * // Результат: 123
30
- * ```
31
- *
32
- * 2. Преобразование числа с плавающей точкой в целое число:
33
- *
34
- * ```js
35
- * const result = to_integer(123.45);
36
- * // Результат: 123
37
- * ```
38
- *
39
- * 3. Преобразование булевых значений:
40
- *
41
- * ```js
42
- * const result1 = to_integer(true);
43
- * // Результат: 1
44
- *
45
- * const result2 = to_integer(false);
46
- * // Результат: 0
47
- * ```
48
- *
49
- * 4. Преобразование других значений:
50
- *
51
- * ```js
52
- * const result1 = to_integer(null);
53
- * // Результат: 0
54
- *
55
- * const result2 = to_integer(undefined);
56
- * // Результат: 0
57
- *
58
- * const result3 = to_integer('example');
59
- * // Результат: 0
60
- * ```
61
- *
62
- * 5. Преобразование строки с основанием системы счисления:
63
- *
64
- * ```js
65
- * const result1 = to_integer('10', 2);
66
- * // Результат: 2
67
- *
68
- * const result2 = to_integer('A', 16);
69
- * // Результат: 10
70
- *
71
- * const result3 = to_integer('7', 8);
72
- * // Результат: 7
73
- * ```
74
- *
75
- * @param {any} value Переменная, значение которой необходимо привести к целому числу.
76
- * @param {number} [base=10] Основание системы счисления для преобразования строки в число.
77
- * @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
78
- */
79
- export default function to_integer(value, base = 10) {
80
- return to_int(value, base);
81
- }
1
+ import to_int from './to_int.mjs';
2
+
3
+ /**
4
+ * Приводит значение переменной к целому числу.
5
+ *
6
+ * ### Описание
7
+ *
8
+ * Функция `to_integer` является синонимом функции `to_int` и используется для преобразования различных типов данных в целое число.
9
+ * Если значение не является числом или строкой, функция возвращает `1` для истинных значений и `0` для ложных значений.
10
+ *
11
+ * ### Параметры
12
+ *
13
+ * - `value` (any)
14
+ * Переменная, значение которой необходимо привести к целому числу.
15
+ *
16
+ * - `base` (number)
17
+ * Основание системы счисления для преобразования строки в число. По умолчанию `10`.
18
+ *
19
+ * ### Возвращаемое значение
20
+ *
21
+ * Возвращает целое число, соответствующее переданному значению.
22
+ *
23
+ * ### Примеры использования
24
+ *
25
+ * 1. Преобразование строки в целое число:
26
+ *
27
+ * ```js
28
+ * const result = to_integer('123');
29
+ * // Результат: 123
30
+ * ```
31
+ *
32
+ * 2. Преобразование числа с плавающей точкой в целое число:
33
+ *
34
+ * ```js
35
+ * const result = to_integer(123.45);
36
+ * // Результат: 123
37
+ * ```
38
+ *
39
+ * 3. Преобразование булевых значений:
40
+ *
41
+ * ```js
42
+ * const result1 = to_integer(true);
43
+ * // Результат: 1
44
+ *
45
+ * const result2 = to_integer(false);
46
+ * // Результат: 0
47
+ * ```
48
+ *
49
+ * 4. Преобразование других значений:
50
+ *
51
+ * ```js
52
+ * const result1 = to_integer(null);
53
+ * // Результат: 0
54
+ *
55
+ * const result2 = to_integer(undefined);
56
+ * // Результат: 0
57
+ *
58
+ * const result3 = to_integer('example');
59
+ * // Результат: 0
60
+ * ```
61
+ *
62
+ * 5. Преобразование строки с основанием системы счисления:
63
+ *
64
+ * ```js
65
+ * const result1 = to_integer('10', 2);
66
+ * // Результат: 2
67
+ *
68
+ * const result2 = to_integer('A', 16);
69
+ * // Результат: 10
70
+ *
71
+ * const result3 = to_integer('7', 8);
72
+ * // Результат: 7
73
+ * ```
74
+ *
75
+ * @param {any} value Переменная, значение которой необходимо привести к целому числу.
76
+ * @param {number} [base=10] Основание системы счисления для преобразования строки в число.
77
+ * @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
78
+ */
79
+ export default function to_integer(value, base = 10) {
80
+ return to_int(value, base);
81
+ }
@@ -1,56 +1,56 @@
1
- import is_array from './is_array.mjs';
2
- import is_null from './is_null.mjs';
3
- import is_undefined from './is_undefined.mjs';
4
-
5
- /**
6
- * Преобразует значение в список.
7
- *
8
- * ### Параметры
9
- *
10
- * - `value` (any)
11
- * Значение, которое необходимо преобразовать.
12
- *
13
- * ### Описание
14
- *
15
- * Функция `to_list` преобразует переданное значение в список.
16
- *
17
- * Она выполняет следующие проверки:
18
- *
19
- * 1. **Null и Undefined**: Возвращает пустой массив для значений `null` и `undefined`.
20
- * 2. **Array**: Возвращает исходный массив, если он передан.
21
- * 3. **Object**: Возвращает массив значений объекта, если передан ассоциативный массив.
22
- * 4. **Примитивы и другие типы**: Возвращает массив, содержащий переданное значение.
23
- *
24
- * ### Возвращаемое значение
25
- *
26
- * Возвращает массив, представляющий список значений.
27
- *
28
- * ### Примеры использования
29
- *
30
- * ```js
31
- * to_list(null); // []
32
- * to_list(undefined); // []
33
- * to_list([1, 2, 3]); // [1, 2, 3]
34
- * to_list({ key: 'value' }); // ['value']
35
- * to_list('example'); // ['example']
36
- * to_list(123); // [123]
37
- * ```
38
- *
39
- * @param {any} value Значение, которое необходимо преобразовать.
40
- * @returns {Array} Возвращает массив, представляющий список значений.
41
- */
42
- export default function to_list(value) {
43
- if (is_null(value) || is_undefined(value)) {
44
- return [];
45
- }
46
-
47
- if (Array.isArray(value)) {
48
- return value;
49
- }
50
-
51
- if (is_array(value)) {
52
- return Object.values(value);
53
- }
54
-
55
- return [value];
56
- }
1
+ import is_array from './is_array.mjs';
2
+ import is_null from './is_null.mjs';
3
+ import is_undefined from './is_undefined.mjs';
4
+
5
+ /**
6
+ * Преобразует значение в список.
7
+ *
8
+ * ### Параметры
9
+ *
10
+ * - `value` (any)
11
+ * Значение, которое необходимо преобразовать.
12
+ *
13
+ * ### Описание
14
+ *
15
+ * Функция `to_list` преобразует переданное значение в список.
16
+ *
17
+ * Она выполняет следующие проверки:
18
+ *
19
+ * 1. **Null и Undefined**: Возвращает пустой массив для значений `null` и `undefined`.
20
+ * 2. **Array**: Возвращает исходный массив, если он передан.
21
+ * 3. **Object**: Возвращает массив значений объекта, если передан ассоциативный массив.
22
+ * 4. **Примитивы и другие типы**: Возвращает массив, содержащий переданное значение.
23
+ *
24
+ * ### Возвращаемое значение
25
+ *
26
+ * Возвращает массив, представляющий список значений.
27
+ *
28
+ * ### Примеры использования
29
+ *
30
+ * ```js
31
+ * to_list(null); // []
32
+ * to_list(undefined); // []
33
+ * to_list([1, 2, 3]); // [1, 2, 3]
34
+ * to_list({ key: 'value' }); // ['value']
35
+ * to_list('example'); // ['example']
36
+ * to_list(123); // [123]
37
+ * ```
38
+ *
39
+ * @param {any} value Значение, которое необходимо преобразовать.
40
+ * @returns {Array} Возвращает массив, представляющий список значений.
41
+ */
42
+ export default function to_list(value) {
43
+ if (is_null(value) || is_undefined(value)) {
44
+ return [];
45
+ }
46
+
47
+ if (Array.isArray(value)) {
48
+ return value;
49
+ }
50
+
51
+ if (is_array(value)) {
52
+ return Object.values(value);
53
+ }
54
+
55
+ return [value];
56
+ }
@@ -1,94 +1,94 @@
1
- import is_array from './is_array.mjs';
2
- import is_class from './is_class.mjs';
3
- import is_null from './is_null.mjs';
4
- import is_object from './is_object.mjs';
5
- import is_undefined from './is_undefined.mjs';
6
-
7
- /**
8
- * Приводит значение переменной к объекту.
9
- *
10
- * ### Описание
11
- *
12
- * Функция `to_object` используется для преобразования различных типов данных в объект. Если значение уже является объектом, оно возвращается без изменений. Если значение является классом, возвращается новый экземпляр этого класса. Если значение является массивом, элементы массива копируются в новый объект. Для других значений создается объект с полем `value`, содержащим это значение.
13
- *
14
- * ### Параметры
15
- *
16
- * - `value` (any)
17
- * Переменная, значение которой необходимо привести к объекту.
18
- *
19
- * ### Возвращаемое значение
20
- *
21
- * Возвращает объект, соответствующий переданному значению.
22
- *
23
- * ### Примеры использования
24
- *
25
- * 1. Преобразование объекта:
26
- *
27
- * ```js
28
- * class MyClass {}
29
- * const obj = new MyClass();
30
- * const result = to_object(obj);
31
- * // Результат: obj
32
- * ```
33
- *
34
- * 2. Преобразование класса:
35
- *
36
- * ```js
37
- * class MyClass {}
38
- * const result = to_object(MyClass);
39
- * // Результат: экземпляр MyClass
40
- * ```
41
- *
42
- * 3. Преобразование null и undefined:
43
- *
44
- * ```js
45
- * const result1 = to_object(null);
46
- * // Результат: экземпляр анонимного класса
47
- *
48
- * const result2 = to_object(undefined);
49
- * // Результат: экземпляр анонимного класса
50
- * ```
51
- *
52
- * 4. Преобразование массива:
53
- *
54
- * ```js
55
- * const arr = [1, 2, 3];
56
- * const result = to_object(arr);
57
- * // Результат: объект с элементами массива
58
- * ```
59
- *
60
- * 5. Преобразование других значений:
61
- *
62
- * ```js
63
- * const result = to_object('example');
64
- * // Результат: объект с полем value, содержащим 'example'
65
- * ```
66
- *
67
- * @param {any} value Переменная, значение которой необходимо привести к объекту.
68
- * @returns {object} Возвращает приведенное к объекту значение переменной `value`.
69
- */
70
- export default function to_object(value) {
71
- if (is_object(value)) {
72
- return value;
73
- }
74
-
75
- if (is_class(value)) {
76
- return new value();
77
- }
78
-
79
- const object = new (class {})();
80
-
81
- if (is_null(value) || is_undefined(value)) {
82
- return object;
83
- }
84
-
85
- if (is_array(value)) {
86
- Object.assign(object, value);
87
-
88
- return object;
89
- }
90
-
91
- object.value = value;
92
-
93
- return object;
94
- }
1
+ import is_array from './is_array.mjs';
2
+ import is_class from './is_class.mjs';
3
+ import is_null from './is_null.mjs';
4
+ import is_object from './is_object.mjs';
5
+ import is_undefined from './is_undefined.mjs';
6
+
7
+ /**
8
+ * Приводит значение переменной к объекту.
9
+ *
10
+ * ### Описание
11
+ *
12
+ * Функция `to_object` используется для преобразования различных типов данных в объект. Если значение уже является объектом, оно возвращается без изменений. Если значение является классом, возвращается новый экземпляр этого класса. Если значение является массивом, элементы массива копируются в новый объект. Для других значений создается объект с полем `value`, содержащим это значение.
13
+ *
14
+ * ### Параметры
15
+ *
16
+ * - `value` (any)
17
+ * Переменная, значение которой необходимо привести к объекту.
18
+ *
19
+ * ### Возвращаемое значение
20
+ *
21
+ * Возвращает объект, соответствующий переданному значению.
22
+ *
23
+ * ### Примеры использования
24
+ *
25
+ * 1. Преобразование объекта:
26
+ *
27
+ * ```js
28
+ * class MyClass {}
29
+ * const obj = new MyClass();
30
+ * const result = to_object(obj);
31
+ * // Результат: obj
32
+ * ```
33
+ *
34
+ * 2. Преобразование класса:
35
+ *
36
+ * ```js
37
+ * class MyClass {}
38
+ * const result = to_object(MyClass);
39
+ * // Результат: экземпляр MyClass
40
+ * ```
41
+ *
42
+ * 3. Преобразование null и undefined:
43
+ *
44
+ * ```js
45
+ * const result1 = to_object(null);
46
+ * // Результат: экземпляр анонимного класса
47
+ *
48
+ * const result2 = to_object(undefined);
49
+ * // Результат: экземпляр анонимного класса
50
+ * ```
51
+ *
52
+ * 4. Преобразование массива:
53
+ *
54
+ * ```js
55
+ * const arr = [1, 2, 3];
56
+ * const result = to_object(arr);
57
+ * // Результат: объект с элементами массива
58
+ * ```
59
+ *
60
+ * 5. Преобразование других значений:
61
+ *
62
+ * ```js
63
+ * const result = to_object('example');
64
+ * // Результат: объект с полем value, содержащим 'example'
65
+ * ```
66
+ *
67
+ * @param {any} value Переменная, значение которой необходимо привести к объекту.
68
+ * @returns {object} Возвращает приведенное к объекту значение переменной `value`.
69
+ */
70
+ export default function to_object(value) {
71
+ if (is_object(value)) {
72
+ return value;
73
+ }
74
+
75
+ if (is_class(value)) {
76
+ return new value();
77
+ }
78
+
79
+ const object = new (class {})();
80
+
81
+ if (is_null(value) || is_undefined(value)) {
82
+ return object;
83
+ }
84
+
85
+ if (is_array(value)) {
86
+ Object.assign(object, value);
87
+
88
+ return object;
89
+ }
90
+
91
+ object.value = value;
92
+
93
+ return object;
94
+ }