@rogolev/value 0.0.1 → 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.
- package/.prettierignore +4 -4
- package/CHANGELOG.md +82 -56
- package/LICENSE +41 -41
- package/README.md +118 -91
- package/babel.config.json +20 -20
- package/docs/classes/Convert/toArray.md +100 -0
- package/docs/classes/Convert/toAssoc.md +90 -0
- package/docs/classes/Convert/toBool.md +72 -0
- package/docs/classes/Convert/toBoolean.md +72 -0
- package/docs/classes/Convert/toFloat.md +69 -0
- package/docs/classes/Convert/toInt.md +86 -0
- package/docs/classes/Convert/toInteger.md +86 -0
- package/docs/classes/Convert/toList.md +73 -0
- package/docs/classes/Convert/toObject.md +76 -0
- package/docs/classes/Convert/toString.md +125 -0
- package/docs/classes/Convert.md +44 -0
- package/docs/classes/Type/isArray.md +106 -0
- package/docs/classes/Type/isAssoc.md +57 -0
- package/docs/classes/Type/isBigInt.md +49 -0
- package/docs/classes/Type/isBool.md +51 -0
- package/docs/classes/Type/isBoolean.md +51 -0
- package/docs/classes/Type/isClass.md +60 -0
- package/docs/classes/Type/isEmpty.md +53 -0
- package/docs/classes/Type/isFloat.md +77 -0
- package/docs/classes/Type/isFunction.md +64 -0
- package/docs/classes/Type/isInfinity.md +59 -0
- package/docs/classes/Type/isInt.md +77 -0
- package/docs/classes/Type/isInteger.md +77 -0
- package/docs/classes/Type/isList.md +49 -0
- package/docs/classes/Type/isNaN.md +57 -0
- package/docs/classes/Type/isNull.md +49 -0
- package/docs/classes/Type/isNumber.md +60 -0
- package/docs/classes/Type/isNumeric.md +58 -0
- package/docs/classes/Type/isObject.md +53 -0
- package/docs/classes/Type/isScalar.md +54 -0
- package/docs/classes/Type/isString.md +54 -0
- package/docs/classes/Type/isSymbol.md +56 -0
- package/docs/classes/Type/isUndefined.md +52 -0
- package/docs/classes/Type.md +74 -0
- package/docs/classes/Value/constructor.md +48 -0
- package/docs/classes/Value/get.md +51 -0
- package/docs/classes/Value/getType.md +71 -0
- package/docs/classes/Value/isArray.md +67 -0
- package/docs/classes/Value/isAssoc.md +68 -0
- package/docs/classes/Value/isBigInt.md +52 -0
- package/docs/classes/Value/isBool.md +60 -0
- package/docs/classes/Value/isBoolean.md +60 -0
- package/docs/classes/Value/isClass.md +55 -0
- package/docs/classes/Value/isEmpty.md +84 -0
- package/docs/classes/Value/isFloat.md +52 -0
- package/docs/classes/Value/isFunction.md +60 -0
- package/docs/classes/Value/isInfinity.md +60 -0
- package/docs/classes/Value/isInt.md +52 -0
- package/docs/classes/Value/isInteger.md +52 -0
- package/docs/classes/Value/isList.md +59 -0
- package/docs/classes/Value/isNaN.md +79 -0
- package/docs/classes/Value/isNull.md +59 -0
- package/docs/classes/Value/isNumber.md +80 -0
- package/docs/classes/Value/isNumeric.md +79 -0
- package/docs/classes/Value/isObject.md +68 -0
- package/docs/classes/Value/isScalar.md +72 -0
- package/docs/classes/Value/isString.md +67 -0
- package/docs/classes/Value/isSymbol.md +75 -0
- package/docs/classes/Value/isUndefined.md +67 -0
- package/docs/classes/Value/print.md +164 -0
- package/docs/classes/Value/printType.md +158 -0
- package/docs/classes/Value/setType.md +79 -0
- package/docs/classes/Value/toArray.md +85 -0
- package/docs/classes/Value/toAssoc.md +85 -0
- package/docs/classes/Value/toBool.md +71 -0
- package/docs/classes/Value/toBoolean.md +71 -0
- package/docs/classes/Value/toFloat.md +72 -0
- package/docs/classes/Value/toInt.md +72 -0
- package/docs/classes/Value/toInteger.md +72 -0
- package/docs/classes/Value/toList.md +77 -0
- package/docs/classes/Value/toObject.md +78 -0
- package/docs/classes/Value/toPrint.md +115 -0
- package/docs/classes/Value/toPrintType.md +110 -0
- package/docs/classes/Value/toString.md +134 -0
- package/docs/classes/Value.md +113 -0
- package/docs/classes.md +11 -0
- package/docs/constants.md +47 -0
- package/docs/helpers/array.md +80 -80
- package/docs/helpers/empty.md +77 -77
- package/docs/helpers/gettype.md +69 -69
- package/docs/helpers/is_array.md +105 -105
- package/docs/helpers/is_assoc.md +59 -59
- package/docs/helpers/is_bigint.md +57 -57
- package/docs/helpers/is_bool.md +50 -50
- package/docs/helpers/is_boolean.md +50 -50
- package/docs/helpers/is_class.md +73 -73
- package/docs/helpers/is_float.md +71 -71
- package/docs/helpers/is_function.md +62 -62
- package/docs/helpers/is_infinity.md +61 -61
- package/docs/helpers/is_int.md +81 -81
- package/docs/helpers/is_integer.md +82 -82
- package/docs/helpers/is_list.md +51 -51
- package/docs/helpers/is_nan.md +59 -59
- package/docs/helpers/is_null.md +49 -49
- package/docs/helpers/is_number.md +67 -67
- package/docs/helpers/is_numeric.md +76 -76
- package/docs/helpers/is_object.md +69 -69
- package/docs/helpers/is_scalar.md +60 -60
- package/docs/helpers/is_string.md +58 -58
- package/docs/helpers/is_symbol.md +58 -58
- package/docs/helpers/is_undefined.md +56 -56
- package/docs/helpers/print.md +187 -187
- package/docs/helpers/print_type.md +225 -225
- package/docs/helpers/settype.md +78 -78
- package/docs/helpers/to_array.md +106 -106
- package/docs/helpers/to_assoc.md +91 -91
- package/docs/helpers/to_bool.md +76 -76
- package/docs/helpers/to_boolean.md +77 -77
- package/docs/helpers/to_float.md +70 -70
- package/docs/helpers/to_int.md +87 -87
- package/docs/helpers/to_integer.md +87 -87
- package/docs/helpers/to_list.md +47 -47
- package/docs/helpers/to_object.md +76 -76
- package/docs/helpers/to_string.md +134 -134
- package/docs/helpers/value.md +95 -0
- package/docs/helpers.md +53 -51
- package/docs/types/NaN.md +30 -30
- package/docs/types/array.md +252 -252
- package/docs/types/bigint.md +34 -34
- package/docs/types/boolean.md +47 -47
- package/docs/types/class.md +36 -36
- package/docs/types/float.md +35 -35
- package/docs/types/function.md +121 -121
- package/docs/types/infinity.md +32 -32
- package/docs/types/integer.md +35 -35
- package/docs/types/null.md +23 -23
- package/docs/types/object.md +62 -62
- package/docs/types/string.md +33 -33
- package/docs/types/symbol.md +29 -29
- package/docs/types/undefined.md +25 -25
- package/docs/types.md +44 -44
- package/eslint.config.mjs +1664 -1664
- package/index.mjs +43 -37
- package/jest.config.mjs +31 -31
- package/package.json +48 -47
- package/prettier.config.mjs +224 -224
- package/src/classes/Convert.mjs +818 -0
- package/src/classes/Type.mjs +1284 -0
- package/src/classes/Value.mjs +2846 -0
- package/src/constants.mjs +14 -0
- package/src/helpers/gettype.mjs +30 -14
- package/src/helpers/value.mjs +92 -0
- package/tests/classes/Convert.test.mjs +398 -0
- package/tests/classes/Type.test.mjs +1262 -0
- package/tests/classes/Value.test.mjs +423 -0
- package/tests/constants.test.mjs +75 -0
- package/tests/helpers/value.test.mjs +68 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
[Главная](../../README.md) / [Классы](../classes.md) / Value
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../src/classes/Value.mjs)
|
|
4
|
+
|
|
5
|
+
# Value
|
|
6
|
+
|
|
7
|
+
`Value` — Класс, представляющий обертку для значений различных типов и предоставляющий методы
|
|
8
|
+
для работы с ними.
|
|
9
|
+
|
|
10
|
+
## Сигнатура класса
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
class Value {
|
|
14
|
+
constructor(value: any);
|
|
15
|
+
get(): any;
|
|
16
|
+
getType(): string;
|
|
17
|
+
setType(type: string): Value;
|
|
18
|
+
isEmpty(): boolean;
|
|
19
|
+
print(): Value;
|
|
20
|
+
toPrint(): Value;
|
|
21
|
+
printType(): Value;
|
|
22
|
+
toPrintType(): Value;
|
|
23
|
+
isArray(): boolean;
|
|
24
|
+
isAssoc(): boolean;
|
|
25
|
+
isBigInt(): boolean;
|
|
26
|
+
isBool(): boolean;
|
|
27
|
+
isBoolean(): boolean;
|
|
28
|
+
isClass(): boolean;
|
|
29
|
+
isFloat(): boolean;
|
|
30
|
+
isFunction(): boolean;
|
|
31
|
+
isInfinity(): boolean;
|
|
32
|
+
isInt(): boolean;
|
|
33
|
+
isInteger(): boolean;
|
|
34
|
+
isList(): boolean;
|
|
35
|
+
isNaN(): boolean;
|
|
36
|
+
isNull(): boolean;
|
|
37
|
+
isNumber(): boolean;
|
|
38
|
+
isNumeric(): boolean;
|
|
39
|
+
isObject(): boolean;
|
|
40
|
+
isScalar(): boolean;
|
|
41
|
+
isString(): boolean;
|
|
42
|
+
isSymbol(): boolean;
|
|
43
|
+
isUndefined(): boolean;
|
|
44
|
+
toArray(): Value;
|
|
45
|
+
toAssoc(): Value;
|
|
46
|
+
toBool(): Value;
|
|
47
|
+
toBoolean(): Value;
|
|
48
|
+
toFloat(): Value;
|
|
49
|
+
toInt(): Value;
|
|
50
|
+
toInteger(): Value;
|
|
51
|
+
toList(): Value;
|
|
52
|
+
toObject(): Value;
|
|
53
|
+
toString(): Value;
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Описание
|
|
58
|
+
|
|
59
|
+
Класс `Value` используется для хранения значения и предоставления методов для работы с этим
|
|
60
|
+
значением. Значение хранится в приватном свойстве `#value` и не может быть изменено после создания
|
|
61
|
+
экземпляра класса. Класс также предоставляет методы для получения типа значения, проверки значения
|
|
62
|
+
на пустоту, преобразования значения в другие типы и другие операции.
|
|
63
|
+
|
|
64
|
+
### Методы
|
|
65
|
+
|
|
66
|
+
- [constructor](#constructor) — Создает экземпляр класса `Value` с заданным значением.
|
|
67
|
+
- [get](#get) — Возвращает значение, хранящееся в экземпляре класса `Value`.
|
|
68
|
+
- [getType](#getType) — Возвращает тип значения, хранящегося в экземпляре класса `Value`.
|
|
69
|
+
- [setType](#setType) — Преобразует значение в экземпляре класса `Value` к указанному типу.
|
|
70
|
+
- [isEmpty](#isEmpty) — Проверяет, является ли значение, хранящееся в экземпляре класса
|
|
71
|
+
`Value`, пустым.
|
|
72
|
+
- [print](#print) — Преобразует значение переменной в строку и выводит его на консоль.
|
|
73
|
+
- [toPrint](#toPrint) — Преобразует значение переменной в строку и возвращает новый экземпляр
|
|
74
|
+
класса `Value` с этим значением.
|
|
75
|
+
- [printType](#printType) — Преобразует тип значения переменной в строку и выводит его на
|
|
76
|
+
консоль.
|
|
77
|
+
- [toPrintType](#toPrintType) — Преобразует тип значения переменной в строку и возвращает
|
|
78
|
+
новый экземпляр класса `Value` с этим значением.
|
|
79
|
+
- [isArray](#isArray) — Проверяет, является ли значение массивом.
|
|
80
|
+
- [isAssoc](#isAssoc) — Проверяет, является ли значение ассоциативным массивом.
|
|
81
|
+
- [isBigInt](#isBigInt) — Проверяет, является ли значение типом BigInt.
|
|
82
|
+
- [isBool](#isBool) — Проверяет, является ли значение логическим (булевым).
|
|
83
|
+
- [isBoolean](#isBoolean) — Проверяет, является ли значение логическим (булевым).
|
|
84
|
+
- [isClass](#isClass) — Проверяет, является ли значение классом.
|
|
85
|
+
- [isFloat](#isFloat) — Проверяет, является ли значение числом с плавающей точкой.
|
|
86
|
+
- [isFunction](#isFunction) — Проверяет, является ли значение функцией.
|
|
87
|
+
- [isInfinity](#isInfinity) — Проверяет, является ли значение бесконечностью.
|
|
88
|
+
- [isInt](#isInt) — Проверяет, является ли значение целым числом.
|
|
89
|
+
- [isInteger](#isInteger) — Проверяет, является ли значение целым числом.
|
|
90
|
+
- [isList](#isList) — Проверяет, является ли значение списком.
|
|
91
|
+
- [isNaN](#isNaN) — Проверяет, является ли значение NaN.
|
|
92
|
+
- [isNull](#isNull) — Проверяет, является ли значение null.
|
|
93
|
+
- [isNumber](#isNumber) — Проверяет, является ли значение числом.
|
|
94
|
+
- [isNumeric](#isNumeric) — Проверяет, является ли значение числом или числовой строкой.
|
|
95
|
+
- [isObject](#isObject) — Проверяет, является ли значение объектом.
|
|
96
|
+
- [isScalar](#isScalar) — Проверяет, является ли значение скалярным.
|
|
97
|
+
- [isString](#isString) — Проверяет, является ли значение строкой.
|
|
98
|
+
- [isSymbol](#isSymbol) — Проверяет, является ли значение символом.
|
|
99
|
+
- [isUndefined](#isUndefined) — Проверяет, является ли значение undefined.
|
|
100
|
+
- [toArray](#toArray) — Преобразует значение в экземпляре класса `Value` к массиву.
|
|
101
|
+
- [toAssoc](#toAssoc) — Преобразует значение в экземпляре класса `Value` к ассоциативному
|
|
102
|
+
массиву.
|
|
103
|
+
- [toBool](#toBool) — Преобразует значение в экземпляре класса `Value` к логическому типу.
|
|
104
|
+
- [toBoolean](#toBoolean) — Преобразует значение в экземпляре класса `Value` к логическому
|
|
105
|
+
типу.
|
|
106
|
+
- [toFloat](#toFloat) — Преобразует значение в экземпляре класса `Value` к числу с плавающей
|
|
107
|
+
точкой.
|
|
108
|
+
- [toInt](#toInt) — Преобразует значение в экземпляре класса `Value` к целому числу.
|
|
109
|
+
- [toInteger](#toInteger) — Преобразует значение в экземпляре класса `Value` к целому числу.
|
|
110
|
+
- [toList](#toList) — Преобразует значение в экземпляре класса `Value` к списку.
|
|
111
|
+
- [toObject](#toObject) — Преобразует значение в экземпляре класса `Value` к объекту.
|
|
112
|
+
- [toString](#toString) — Преобразует значение в экземпляре класса `Value` к строке.
|
|
113
|
+
|
package/docs/classes.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
[Главная](../../README.md) / Классы
|
|
2
|
+
|
|
3
|
+
# Классы
|
|
4
|
+
|
|
5
|
+
- [Convert](./classes/Convert.md) — Класс, предоставляющий методы для преобразования различных
|
|
6
|
+
типов данных в JavaScript.
|
|
7
|
+
- [Type](./classes/Type.md) — Класс, предоставляющий методы для проверки типов данных в
|
|
8
|
+
JavaScript.
|
|
9
|
+
- [Value](./classes/Value.md) — Класс, представляющий обертку для значений различных типов и
|
|
10
|
+
предоставляющий методы для работы с ними.
|
|
11
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
[Главная](../README.md) / Константы
|
|
2
|
+
|
|
3
|
+
# Константы
|
|
4
|
+
|
|
5
|
+
Этот файл содержит константы, используемые для определения типов данных в библиотеке.
|
|
6
|
+
|
|
7
|
+
## Сигнатура
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export const TYPE_NULL: string;
|
|
11
|
+
export const TYPE_NAN: string;
|
|
12
|
+
export const TYPE_UNDEFINED: string;
|
|
13
|
+
export const TYPE_INFINITY: string;
|
|
14
|
+
export const TYPE_BOOLEAN: string;
|
|
15
|
+
export const TYPE_INTEGER: string;
|
|
16
|
+
export const TYPE_BIGINT: string;
|
|
17
|
+
export const TYPE_FLOAT: string;
|
|
18
|
+
export const TYPE_STRING: string;
|
|
19
|
+
export const TYPE_SYMBOL: string;
|
|
20
|
+
export const TYPE_CLASS: string;
|
|
21
|
+
export const TYPE_FUNCTION: string;
|
|
22
|
+
export const TYPE_ARRAY: string;
|
|
23
|
+
export const TYPE_OBJECT: string;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Описание
|
|
27
|
+
|
|
28
|
+
Константы используются для определения типов данных в библиотеке. Они представляют собой строки,
|
|
29
|
+
которые описывают различные типы данных.
|
|
30
|
+
|
|
31
|
+
### Константы
|
|
32
|
+
|
|
33
|
+
- `TYPE_NULL` — Представляет тип `null`.
|
|
34
|
+
- `TYPE_NAN` — Представляет тип `NaN`.
|
|
35
|
+
- `TYPE_UNDEFINED` — Представляет тип `undefined`.
|
|
36
|
+
- `TYPE_INFINITY` — Представляет тип `infinity`.
|
|
37
|
+
- `TYPE_BOOLEAN` — Представляет тип `boolean`.
|
|
38
|
+
- `TYPE_INTEGER` — Представляет тип `integer`.
|
|
39
|
+
- `TYPE_BIGINT` — Представляет тип `bigint`.
|
|
40
|
+
- `TYPE_FLOAT` — Представляет тип `float`.
|
|
41
|
+
- `TYPE_STRING` — Представляет тип `string`.
|
|
42
|
+
- `TYPE_SYMBOL` — Представляет тип `symbol`.
|
|
43
|
+
- `TYPE_CLASS` — Представляет тип `class`.
|
|
44
|
+
- `TYPE_FUNCTION` — Представляет тип `function`.
|
|
45
|
+
- `TYPE_ARRAY` — Представляет тип `array`.
|
|
46
|
+
- `TYPE_OBJECT` — Представляет тип `object`.
|
|
47
|
+
|
package/docs/helpers/array.md
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
[Главная](../../README.md) / [Помощники](../helpers.md) / array
|
|
2
|
-
|
|
3
|
-
[Исходный код](../../src/helpers/array.mjs)
|
|
4
|
-
|
|
5
|
-
# array
|
|
6
|
-
|
|
7
|
-
`array` — Создаёт массив из переданных значений, обрабатывая ассоциативные массивы (объекты с
|
|
8
|
-
ключами).
|
|
9
|
-
|
|
10
|
-
## Сигнатура функции
|
|
11
|
-
|
|
12
|
-
```ts
|
|
13
|
-
function array(...values: any[]): Array<any> | Object;
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Описание
|
|
17
|
-
|
|
18
|
-
Функция принимает произвольное количество аргументов и возвращает массив, содержащий переданные
|
|
19
|
-
значения. Если среди переданных значений есть ассоциативные массивы (объекты, не являющиеся
|
|
20
|
-
массивами и с ненулевым прототипом), они преобразуются:
|
|
21
|
-
|
|
22
|
-
- Создаётся новый объект без прототипа.
|
|
23
|
-
- Добавляются все свойства исходного объекта.
|
|
24
|
-
- Добавляется итератор, позволяющий использовать объект в цикле `for-of` для получения пар
|
|
25
|
-
`[ключ, значение]`.
|
|
26
|
-
|
|
27
|
-
Если передано только одно значение, и это массив, функция возвращает его напрямую.
|
|
28
|
-
|
|
29
|
-
## Параметры
|
|
30
|
-
|
|
31
|
-
- `values` (any[])
|
|
32
|
-
|
|
33
|
-
Один или несколько элементов, которые могут быть массивами, объектами или другими значениями.
|
|
34
|
-
|
|
35
|
-
## Возвращаемое значение
|
|
36
|
-
|
|
37
|
-
Массив, содержащий переданные значения, с преобразованием ассоциативных массивов. Если передано одно
|
|
38
|
-
значение и это массив, возвращается он сам.
|
|
39
|
-
|
|
40
|
-
## Примеры использования
|
|
41
|
-
|
|
42
|
-
1. Простые массивы:
|
|
43
|
-
|
|
44
|
-
```js
|
|
45
|
-
const result = array([1, 2, 3]);
|
|
46
|
-
console.log(result); // [1, 2, 3]
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
2. Ассоциативные массивы (объекты с ключами и значениями):
|
|
50
|
-
|
|
51
|
-
```js
|
|
52
|
-
const result = array({ foo: 'bar', baz: 42 });
|
|
53
|
-
for (const [key, value] of result[0]) {
|
|
54
|
-
console.log(key, value);
|
|
55
|
-
}
|
|
56
|
-
// Вывод:
|
|
57
|
-
// foo bar
|
|
58
|
-
// baz 42
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
3. Смешанные значения:
|
|
62
|
-
|
|
63
|
-
```js
|
|
64
|
-
const result = array([1, 2, 3], { foo: 'bar' }, 'hello');
|
|
65
|
-
console.log(result);
|
|
66
|
-
// Вывод: [[1, 2, 3], { foo: 'bar' }, 'hello']
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
4. Объекты, созданные без прототипа:
|
|
70
|
-
|
|
71
|
-
```js
|
|
72
|
-
const noProtoObject = Object.create(null);
|
|
73
|
-
noProtoObject.foo = 'bar';
|
|
74
|
-
const result = array(noProtoObject);
|
|
75
|
-
for (const [key, value] of result[0]) {
|
|
76
|
-
console.log(key, value);
|
|
77
|
-
}
|
|
78
|
-
// Вывод:
|
|
79
|
-
// foo bar
|
|
80
|
-
```
|
|
1
|
+
[Главная](../../README.md) / [Помощники](../helpers.md) / array
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../src/helpers/array.mjs)
|
|
4
|
+
|
|
5
|
+
# array
|
|
6
|
+
|
|
7
|
+
`array` — Создаёт массив из переданных значений, обрабатывая ассоциативные массивы (объекты с
|
|
8
|
+
ключами).
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array(...values: any[]): Array<any> | Object;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Описание
|
|
17
|
+
|
|
18
|
+
Функция принимает произвольное количество аргументов и возвращает массив, содержащий переданные
|
|
19
|
+
значения. Если среди переданных значений есть ассоциативные массивы (объекты, не являющиеся
|
|
20
|
+
массивами и с ненулевым прототипом), они преобразуются:
|
|
21
|
+
|
|
22
|
+
- Создаётся новый объект без прототипа.
|
|
23
|
+
- Добавляются все свойства исходного объекта.
|
|
24
|
+
- Добавляется итератор, позволяющий использовать объект в цикле `for-of` для получения пар
|
|
25
|
+
`[ключ, значение]`.
|
|
26
|
+
|
|
27
|
+
Если передано только одно значение, и это массив, функция возвращает его напрямую.
|
|
28
|
+
|
|
29
|
+
## Параметры
|
|
30
|
+
|
|
31
|
+
- `values` (any[])
|
|
32
|
+
|
|
33
|
+
Один или несколько элементов, которые могут быть массивами, объектами или другими значениями.
|
|
34
|
+
|
|
35
|
+
## Возвращаемое значение
|
|
36
|
+
|
|
37
|
+
Массив, содержащий переданные значения, с преобразованием ассоциативных массивов. Если передано одно
|
|
38
|
+
значение и это массив, возвращается он сам.
|
|
39
|
+
|
|
40
|
+
## Примеры использования
|
|
41
|
+
|
|
42
|
+
1. Простые массивы:
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
const result = array([1, 2, 3]);
|
|
46
|
+
console.log(result); // [1, 2, 3]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
2. Ассоциативные массивы (объекты с ключами и значениями):
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const result = array({ foo: 'bar', baz: 42 });
|
|
53
|
+
for (const [key, value] of result[0]) {
|
|
54
|
+
console.log(key, value);
|
|
55
|
+
}
|
|
56
|
+
// Вывод:
|
|
57
|
+
// foo bar
|
|
58
|
+
// baz 42
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
3. Смешанные значения:
|
|
62
|
+
|
|
63
|
+
```js
|
|
64
|
+
const result = array([1, 2, 3], { foo: 'bar' }, 'hello');
|
|
65
|
+
console.log(result);
|
|
66
|
+
// Вывод: [[1, 2, 3], { foo: 'bar' }, 'hello']
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
4. Объекты, созданные без прототипа:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
const noProtoObject = Object.create(null);
|
|
73
|
+
noProtoObject.foo = 'bar';
|
|
74
|
+
const result = array(noProtoObject);
|
|
75
|
+
for (const [key, value] of result[0]) {
|
|
76
|
+
console.log(key, value);
|
|
77
|
+
}
|
|
78
|
+
// Вывод:
|
|
79
|
+
// foo bar
|
|
80
|
+
```
|
package/docs/helpers/empty.md
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
[Главная](../../README.md) / [Помощники](../helpers.md) / empty
|
|
2
|
-
|
|
3
|
-
[Исходный код](../../src/helpers/empty.mjs)
|
|
4
|
-
|
|
5
|
-
# `empty`
|
|
6
|
-
|
|
7
|
-
`empty` — Проверяет, является ли переменная пустой.
|
|
8
|
-
|
|
9
|
-
## Сигнатура функции
|
|
10
|
-
|
|
11
|
-
```ts
|
|
12
|
-
function empty(value: any): boolean;
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Описание
|
|
16
|
-
|
|
17
|
-
Функция `empty` используется для проверки, является ли переменная пустой. Пустыми считаются значения
|
|
18
|
-
`null`, `undefined`, пустая строка, `0`, `false`, пустой массив и пустой объект (ассоциативный
|
|
19
|
-
массив).
|
|
20
|
-
|
|
21
|
-
## Параметры
|
|
22
|
-
|
|
23
|
-
- `value` (any)
|
|
24
|
-
|
|
25
|
-
Переменная, которую необходимо проверить на пустоту.
|
|
26
|
-
|
|
27
|
-
## Возвращаемое значение
|
|
28
|
-
|
|
29
|
-
Функция возвращает:
|
|
30
|
-
|
|
31
|
-
- `true`, если переменная пустая, и `false` в противном случае.
|
|
32
|
-
|
|
33
|
-
## Примеры использования
|
|
34
|
-
|
|
35
|
-
### Пример 1: Проверка пустых значений
|
|
36
|
-
|
|
37
|
-
```js
|
|
38
|
-
const result1 = empty(null);
|
|
39
|
-
// Результат: true
|
|
40
|
-
|
|
41
|
-
const result2 = empty(undefined);
|
|
42
|
-
// Результат: true
|
|
43
|
-
|
|
44
|
-
const result3 = empty('');
|
|
45
|
-
// Результат: true
|
|
46
|
-
|
|
47
|
-
const result4 = empty(0);
|
|
48
|
-
// Результат: true
|
|
49
|
-
|
|
50
|
-
const result5 = empty(false);
|
|
51
|
-
// Результат: true
|
|
52
|
-
|
|
53
|
-
const result6 = empty([]);
|
|
54
|
-
// Результат: true
|
|
55
|
-
|
|
56
|
-
const result7 = empty({});
|
|
57
|
-
// Результат: true
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Пример 2: Проверка непустых значений
|
|
61
|
-
|
|
62
|
-
```js
|
|
63
|
-
const result1 = empty('example');
|
|
64
|
-
// Результат: false
|
|
65
|
-
|
|
66
|
-
const result2 = empty(123);
|
|
67
|
-
// Результат: false
|
|
68
|
-
|
|
69
|
-
const result3 = empty(true);
|
|
70
|
-
// Результат: false
|
|
71
|
-
|
|
72
|
-
const result4 = empty([1, 2, 3]);
|
|
73
|
-
// Результат: false
|
|
74
|
-
|
|
75
|
-
const result5 = empty({ key: 'value' });
|
|
76
|
-
// Результат: false
|
|
77
|
-
```
|
|
1
|
+
[Главная](../../README.md) / [Помощники](../helpers.md) / empty
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../src/helpers/empty.mjs)
|
|
4
|
+
|
|
5
|
+
# `empty`
|
|
6
|
+
|
|
7
|
+
`empty` — Проверяет, является ли переменная пустой.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function empty(value: any): boolean;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `empty` используется для проверки, является ли переменная пустой. Пустыми считаются значения
|
|
18
|
+
`null`, `undefined`, пустая строка, `0`, `false`, пустой массив и пустой объект (ассоциативный
|
|
19
|
+
массив).
|
|
20
|
+
|
|
21
|
+
## Параметры
|
|
22
|
+
|
|
23
|
+
- `value` (any)
|
|
24
|
+
|
|
25
|
+
Переменная, которую необходимо проверить на пустоту.
|
|
26
|
+
|
|
27
|
+
## Возвращаемое значение
|
|
28
|
+
|
|
29
|
+
Функция возвращает:
|
|
30
|
+
|
|
31
|
+
- `true`, если переменная пустая, и `false` в противном случае.
|
|
32
|
+
|
|
33
|
+
## Примеры использования
|
|
34
|
+
|
|
35
|
+
### Пример 1: Проверка пустых значений
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
const result1 = empty(null);
|
|
39
|
+
// Результат: true
|
|
40
|
+
|
|
41
|
+
const result2 = empty(undefined);
|
|
42
|
+
// Результат: true
|
|
43
|
+
|
|
44
|
+
const result3 = empty('');
|
|
45
|
+
// Результат: true
|
|
46
|
+
|
|
47
|
+
const result4 = empty(0);
|
|
48
|
+
// Результат: true
|
|
49
|
+
|
|
50
|
+
const result5 = empty(false);
|
|
51
|
+
// Результат: true
|
|
52
|
+
|
|
53
|
+
const result6 = empty([]);
|
|
54
|
+
// Результат: true
|
|
55
|
+
|
|
56
|
+
const result7 = empty({});
|
|
57
|
+
// Результат: true
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Пример 2: Проверка непустых значений
|
|
61
|
+
|
|
62
|
+
```js
|
|
63
|
+
const result1 = empty('example');
|
|
64
|
+
// Результат: false
|
|
65
|
+
|
|
66
|
+
const result2 = empty(123);
|
|
67
|
+
// Результат: false
|
|
68
|
+
|
|
69
|
+
const result3 = empty(true);
|
|
70
|
+
// Результат: false
|
|
71
|
+
|
|
72
|
+
const result4 = empty([1, 2, 3]);
|
|
73
|
+
// Результат: false
|
|
74
|
+
|
|
75
|
+
const result5 = empty({ key: 'value' });
|
|
76
|
+
// Результат: false
|
|
77
|
+
```
|
package/docs/helpers/gettype.md
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
[Главная](../../README.md) / [Помощники](../helpers.md) / gettype
|
|
2
|
-
|
|
3
|
-
[Исходный код](../../src/helpers/gettype.mjs)
|
|
4
|
-
|
|
5
|
-
# `gettype`
|
|
6
|
-
|
|
7
|
-
`gettype` — Определяет тип переданного значения.
|
|
8
|
-
|
|
9
|
-
## Сигнатура функции
|
|
10
|
-
|
|
11
|
-
```ts
|
|
12
|
-
function gettype(value: any): string;
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Параметры
|
|
16
|
-
|
|
17
|
-
- `value` (any)
|
|
18
|
-
|
|
19
|
-
Значение, тип которого необходимо определить.
|
|
20
|
-
|
|
21
|
-
## Описание
|
|
22
|
-
|
|
23
|
-
Функция `gettype` определяет тип переданного значения, используя различные проверки.
|
|
24
|
-
|
|
25
|
-
Она выполняет следующие проверки:
|
|
26
|
-
|
|
27
|
-
1. **Null**: Проверяет, является ли значение `null`.
|
|
28
|
-
2. **NaN**: Проверяет, является ли значение `NaN`.
|
|
29
|
-
3. **Undefined**: Проверяет, является ли значение `undefined`.
|
|
30
|
-
4. **Infinity**: Проверяет, является ли значение бесконечностью.
|
|
31
|
-
5. **Boolean**: Проверяет, является ли значение логическим.
|
|
32
|
-
6. **Integer**: Проверяет, является ли значение целым числом.
|
|
33
|
-
7. **BigInt**: Проверяет, является ли значение типом BigInt.
|
|
34
|
-
8. **Float**: Проверяет, является ли значение числом с плавающей точкой.
|
|
35
|
-
9. **String**: Проверяет, является ли значение строкой.
|
|
36
|
-
10. **Symbol**: Проверяет, является ли значение символом.
|
|
37
|
-
11. **Class**: Проверяет, является ли значение классом.
|
|
38
|
-
12. **Function**: Проверяет, является ли значение функцией.
|
|
39
|
-
13. **Array**: Проверяет, является ли значение массивом.
|
|
40
|
-
14. **Object**: Проверяет, является ли значение объектом.
|
|
41
|
-
|
|
42
|
-
Если значение не соответствует ни одному из этих типов, функция возвращает результат `typeof value`.
|
|
43
|
-
|
|
44
|
-
## Возвращаемое значение
|
|
45
|
-
|
|
46
|
-
Функция возвращает строку, представляющую тип значения.
|
|
47
|
-
|
|
48
|
-
## Примеры использования
|
|
49
|
-
|
|
50
|
-
### Пример 1: Проверка различных типов значений
|
|
51
|
-
|
|
52
|
-
```js
|
|
53
|
-
class MyClass {}
|
|
54
|
-
|
|
55
|
-
gettype(null); // "null"
|
|
56
|
-
gettype(NaN); // "NaN"
|
|
57
|
-
gettype(undefined); // "undefined"
|
|
58
|
-
gettype(Infinity); // "infinity"
|
|
59
|
-
gettype(true); // "boolean"
|
|
60
|
-
gettype(42); // "integer"
|
|
61
|
-
gettype(BigInt(123456)); // "bigint"
|
|
62
|
-
gettype(3.14); // "float"
|
|
63
|
-
gettype('hello'); // "string"
|
|
64
|
-
gettype(Symbol('symbol')); // "symbol"
|
|
65
|
-
gettype(MyClass); // "class"
|
|
66
|
-
gettype(() => {}); // "function"
|
|
67
|
-
gettype([]); // "array"
|
|
68
|
-
gettype(new MyClass()); // "object"
|
|
69
|
-
```
|
|
1
|
+
[Главная](../../README.md) / [Помощники](../helpers.md) / gettype
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../src/helpers/gettype.mjs)
|
|
4
|
+
|
|
5
|
+
# `gettype`
|
|
6
|
+
|
|
7
|
+
`gettype` — Определяет тип переданного значения.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function gettype(value: any): string;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Параметры
|
|
16
|
+
|
|
17
|
+
- `value` (any)
|
|
18
|
+
|
|
19
|
+
Значение, тип которого необходимо определить.
|
|
20
|
+
|
|
21
|
+
## Описание
|
|
22
|
+
|
|
23
|
+
Функция `gettype` определяет тип переданного значения, используя различные проверки.
|
|
24
|
+
|
|
25
|
+
Она выполняет следующие проверки:
|
|
26
|
+
|
|
27
|
+
1. **Null**: Проверяет, является ли значение `null`.
|
|
28
|
+
2. **NaN**: Проверяет, является ли значение `NaN`.
|
|
29
|
+
3. **Undefined**: Проверяет, является ли значение `undefined`.
|
|
30
|
+
4. **Infinity**: Проверяет, является ли значение бесконечностью.
|
|
31
|
+
5. **Boolean**: Проверяет, является ли значение логическим.
|
|
32
|
+
6. **Integer**: Проверяет, является ли значение целым числом.
|
|
33
|
+
7. **BigInt**: Проверяет, является ли значение типом BigInt.
|
|
34
|
+
8. **Float**: Проверяет, является ли значение числом с плавающей точкой.
|
|
35
|
+
9. **String**: Проверяет, является ли значение строкой.
|
|
36
|
+
10. **Symbol**: Проверяет, является ли значение символом.
|
|
37
|
+
11. **Class**: Проверяет, является ли значение классом.
|
|
38
|
+
12. **Function**: Проверяет, является ли значение функцией.
|
|
39
|
+
13. **Array**: Проверяет, является ли значение массивом.
|
|
40
|
+
14. **Object**: Проверяет, является ли значение объектом.
|
|
41
|
+
|
|
42
|
+
Если значение не соответствует ни одному из этих типов, функция возвращает результат `typeof value`.
|
|
43
|
+
|
|
44
|
+
## Возвращаемое значение
|
|
45
|
+
|
|
46
|
+
Функция возвращает строку, представляющую тип значения.
|
|
47
|
+
|
|
48
|
+
## Примеры использования
|
|
49
|
+
|
|
50
|
+
### Пример 1: Проверка различных типов значений
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
class MyClass {}
|
|
54
|
+
|
|
55
|
+
gettype(null); // "null"
|
|
56
|
+
gettype(NaN); // "NaN"
|
|
57
|
+
gettype(undefined); // "undefined"
|
|
58
|
+
gettype(Infinity); // "infinity"
|
|
59
|
+
gettype(true); // "boolean"
|
|
60
|
+
gettype(42); // "integer"
|
|
61
|
+
gettype(BigInt(123456)); // "bigint"
|
|
62
|
+
gettype(3.14); // "float"
|
|
63
|
+
gettype('hello'); // "string"
|
|
64
|
+
gettype(Symbol('symbol')); // "symbol"
|
|
65
|
+
gettype(MyClass); // "class"
|
|
66
|
+
gettype(() => {}); // "function"
|
|
67
|
+
gettype([]); // "array"
|
|
68
|
+
gettype(new MyClass()); // "object"
|
|
69
|
+
```
|