@rogolev/value 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- package/.prettierignore +4 -4
- package/CHANGELOG.md +68 -56
- package/LICENSE +41 -41
- package/README.md +100 -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.md +9 -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.md +51 -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 +40 -37
- package/jest.config.mjs +31 -31
- package/package.json +48 -47
- package/prettier.config.mjs +224 -224
- package/src/classes/Convert.mjs +819 -0
- package/src/classes/Type.mjs +1285 -0
- package/src/helpers/array.mjs +107 -107
- package/src/helpers/empty.mjs +70 -70
- package/src/helpers/gettype.mjs +133 -133
- package/src/helpers/is_array.mjs +128 -128
- package/src/helpers/is_assoc.mjs +51 -51
- package/src/helpers/is_bigint.mjs +47 -47
- package/src/helpers/is_bool.mjs +43 -43
- package/src/helpers/is_boolean.mjs +43 -43
- package/src/helpers/is_class.mjs +87 -87
- package/src/helpers/is_float.mjs +67 -67
- package/src/helpers/is_function.mjs +74 -74
- package/src/helpers/is_infinity.mjs +52 -52
- package/src/helpers/is_int.mjs +57 -57
- package/src/helpers/is_integer.mjs +74 -74
- package/src/helpers/is_list.mjs +43 -43
- package/src/helpers/is_nan.mjs +51 -51
- package/src/helpers/is_null.mjs +37 -37
- package/src/helpers/is_number.mjs +49 -49
- package/src/helpers/is_numeric.mjs +64 -64
- package/src/helpers/is_object.mjs +72 -72
- package/src/helpers/is_scalar.mjs +45 -45
- package/src/helpers/is_string.mjs +46 -46
- package/src/helpers/is_symbol.mjs +46 -46
- package/src/helpers/is_undefined.mjs +44 -44
- package/src/helpers/print.mjs +245 -245
- package/src/helpers/print_type.mjs +261 -261
- package/src/helpers/settype.mjs +101 -101
- package/src/helpers/to_array.mjs +118 -118
- package/src/helpers/to_assoc.mjs +98 -98
- package/src/helpers/to_bool.mjs +68 -68
- package/src/helpers/to_boolean.mjs +64 -64
- package/src/helpers/to_float.mjs +72 -72
- package/src/helpers/to_int.mjs +93 -93
- package/src/helpers/to_integer.mjs +81 -81
- package/src/helpers/to_list.mjs +56 -56
- package/src/helpers/to_object.mjs +94 -94
- package/src/helpers/to_string.mjs +157 -157
- package/tests/classes/Convert.test.mjs +399 -0
- package/tests/classes/Type.test.mjs +1263 -0
- package/tests/helpers/array.test.mjs +58 -58
- package/tests/helpers/empty.test.mjs +22 -22
- package/tests/helpers/gettype.test.mjs +74 -74
- package/tests/helpers/is_array.test.mjs +404 -404
- package/tests/helpers/is_assoc.test.mjs +42 -42
- package/tests/helpers/is_bigint.test.mjs +51 -51
- package/tests/helpers/is_bool.test.mjs +43 -43
- package/tests/helpers/is_boolean.test.mjs +43 -43
- package/tests/helpers/is_class.test.mjs +84 -84
- package/tests/helpers/is_float.test.mjs +87 -87
- package/tests/helpers/is_function.test.mjs +83 -83
- package/tests/helpers/is_infinity.test.mjs +46 -46
- package/tests/helpers/is_int.test.mjs +45 -45
- package/tests/helpers/is_integer.test.mjs +64 -64
- package/tests/helpers/is_list.test.mjs +42 -42
- package/tests/helpers/is_nan.test.mjs +43 -43
- package/tests/helpers/is_null.test.mjs +17 -17
- package/tests/helpers/is_number.test.mjs +25 -25
- package/tests/helpers/is_numeric.test.mjs +30 -30
- package/tests/helpers/is_object.test.mjs +52 -52
- package/tests/helpers/is_scalar.test.mjs +21 -21
- package/tests/helpers/is_string.test.mjs +20 -20
- package/tests/helpers/is_symbol.test.mjs +20 -20
- package/tests/helpers/is_undefined.test.mjs +18 -18
- package/tests/helpers/print.test.mjs +62 -62
- package/tests/helpers/print_type.test.mjs +62 -62
- package/tests/helpers/settype.test.mjs +34 -34
- package/tests/helpers/to_array.test.mjs +38 -38
- package/tests/helpers/to_assoc.test.mjs +33 -33
- package/tests/helpers/to_bool.test.mjs +51 -51
- package/tests/helpers/to_boolean.test.mjs +51 -51
- package/tests/helpers/to_float.test.mjs +26 -26
- package/tests/helpers/to_int.test.mjs +48 -48
- package/tests/helpers/to_integer.test.mjs +48 -48
- package/tests/helpers/to_list.test.mjs +32 -32
- package/tests/helpers/to_object.test.mjs +36 -36
- package/tests/helpers/to_string.test.mjs +71 -71
@@ -0,0 +1,54 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isString
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isString
|
6
|
+
|
7
|
+
`Type.isString` — Проверяет, является ли значение строкой.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isString(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `Type.isString` проверяет, является ли переданное значение строкой.
|
18
|
+
|
19
|
+
Он использует оператор `typeof` для проверки типа значения.
|
20
|
+
|
21
|
+
Метод возвращает `false` для значений других типов, таких как числа, объекты или массивы.
|
22
|
+
|
23
|
+
## Параметры
|
24
|
+
|
25
|
+
- `value` (any)
|
26
|
+
|
27
|
+
Значение, которое необходимо проверить.
|
28
|
+
|
29
|
+
## Возвращаемое значение
|
30
|
+
|
31
|
+
Возвращает `true`, если значение является строкой, и `false` в противном случае.
|
32
|
+
|
33
|
+
## Примеры использования
|
34
|
+
|
35
|
+
1. Проверка строковых значений:
|
36
|
+
|
37
|
+
```js
|
38
|
+
Type.isString('hello'); // true
|
39
|
+
Type.isString(''); // true
|
40
|
+
Type.isString(`template string`); // true
|
41
|
+
```
|
42
|
+
|
43
|
+
2. Проверка значений других типов:
|
44
|
+
|
45
|
+
```js
|
46
|
+
Type.isString(42); // false (число)
|
47
|
+
Type.isString(true); // false (логическое значение)
|
48
|
+
Type.isString(null); // false
|
49
|
+
Type.isString(undefined); // false
|
50
|
+
Type.isString({}); // false (объект)
|
51
|
+
Type.isString([]); // false (массив)
|
52
|
+
Type.isString(() => {}); // false (функция)
|
53
|
+
```
|
54
|
+
|
@@ -0,0 +1,56 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isSymbol
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isSymbol
|
6
|
+
|
7
|
+
`Type.isSymbol` — Проверяет, является ли значение символом.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isSymbol(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `Type.isSymbol` предназначен для проверки, является ли переданное значение символом.
|
18
|
+
|
19
|
+
Он проверяет:
|
20
|
+
|
21
|
+
1. Что значение имеет тип `symbol`.
|
22
|
+
|
23
|
+
Метод возвращает `false` для всех значений, не принадлежащих типу `symbol`.
|
24
|
+
|
25
|
+
## Параметры
|
26
|
+
|
27
|
+
- `value` (any)
|
28
|
+
|
29
|
+
Проверяемая переменная.
|
30
|
+
|
31
|
+
## Возвращаемое значение
|
32
|
+
|
33
|
+
Возвращает `true`, если значение является символом, иначе `false`.
|
34
|
+
|
35
|
+
## Примеры использования
|
36
|
+
|
37
|
+
1. Проверка символов:
|
38
|
+
|
39
|
+
```js
|
40
|
+
Type.isSymbol(Symbol('symbol')); // true
|
41
|
+
Type.isSymbol(Symbol.iterator); // true
|
42
|
+
```
|
43
|
+
|
44
|
+
2. Проверка значений других типов:
|
45
|
+
|
46
|
+
```js
|
47
|
+
Type.isSymbol('hello'); // false (строка)
|
48
|
+
Type.isSymbol(42); // false (число)
|
49
|
+
Type.isSymbol(true); // false (логическое значение)
|
50
|
+
Type.isSymbol(null); // false
|
51
|
+
Type.isSymbol(undefined); // false
|
52
|
+
Type.isSymbol({}); // false (объект)
|
53
|
+
Type.isSymbol([]); // false (массив)
|
54
|
+
Type.isSymbol(() => {}); // false (функция)
|
55
|
+
```
|
56
|
+
|
@@ -0,0 +1,52 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isUndefined
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isUndefined
|
6
|
+
|
7
|
+
`Type.isUndefined` — Проверяет, является ли значение `undefined`.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isUndefined(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `Type.isUndefined` проверяет, является ли переданное значение `undefined`.
|
18
|
+
|
19
|
+
Он использует оператор `typeof` для проверки типа значения.
|
20
|
+
|
21
|
+
Метод возвращает `false` для всех значений, не принадлежащих типу `undefined`.
|
22
|
+
|
23
|
+
## Параметры
|
24
|
+
|
25
|
+
- `value` (any)
|
26
|
+
|
27
|
+
Проверяемая переменная.
|
28
|
+
|
29
|
+
## Возвращаемое значение
|
30
|
+
|
31
|
+
Возвращает `true`, если значение является `undefined`, иначе `false`.
|
32
|
+
|
33
|
+
## Примеры использования
|
34
|
+
|
35
|
+
1. Проверка значения `undefined`:
|
36
|
+
|
37
|
+
```js
|
38
|
+
Type.isUndefined(undefined); // true
|
39
|
+
```
|
40
|
+
|
41
|
+
2. Проверка значений других типов:
|
42
|
+
|
43
|
+
```js
|
44
|
+
Type.isUndefined(null); // false
|
45
|
+
Type.isUndefined(42); // false (число)
|
46
|
+
Type.isUndefined('hello'); // false (строка)
|
47
|
+
Type.isUndefined(true); // false (логическое значение)
|
48
|
+
Type.isUndefined({}); // false (объект)
|
49
|
+
Type.isUndefined([]); // false (массив)
|
50
|
+
Type.isUndefined(() => {}); // false (функция)
|
51
|
+
```
|
52
|
+
|
@@ -0,0 +1,74 @@
|
|
1
|
+
[Главная](../../README.md) / [Классы](../classes.md) / Type
|
2
|
+
|
3
|
+
[Исходный код](../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type
|
6
|
+
|
7
|
+
`Type` — Класс, предоставляющий методы для проверки типов данных в JavaScript.
|
8
|
+
|
9
|
+
## Сигнатура класса
|
10
|
+
|
11
|
+
```ts
|
12
|
+
class Type {
|
13
|
+
static isEmpty(value: any): boolean;
|
14
|
+
static isArray(value: any): boolean;
|
15
|
+
static isAssoc(value: any): boolean;
|
16
|
+
static isBigInt(value: any): boolean;
|
17
|
+
static isBool(value: any): boolean;
|
18
|
+
static isBoolean(value: any): boolean;
|
19
|
+
static isClass(value: any): boolean;
|
20
|
+
static isFloat(value: any): boolean;
|
21
|
+
static isFunction(value: any): boolean;
|
22
|
+
static isInfinity(value: any): boolean;
|
23
|
+
static isInt(value: any): boolean;
|
24
|
+
static isInteger(value: any): boolean;
|
25
|
+
static isList(value: any): boolean;
|
26
|
+
static isNaN(value: any): boolean;
|
27
|
+
static isNull(value: any): boolean;
|
28
|
+
static isNumber(value: any): boolean;
|
29
|
+
static isNumeric(value: any): boolean;
|
30
|
+
static isObject(value: any): boolean;
|
31
|
+
static isScalar(value: any): boolean;
|
32
|
+
static isString(value: any): boolean;
|
33
|
+
static isSymbol(value: any): boolean;
|
34
|
+
static isUndefined(value: any): boolean;
|
35
|
+
}
|
36
|
+
```
|
37
|
+
|
38
|
+
## Описание
|
39
|
+
|
40
|
+
Класс `Type` включает в себя статические методы, которые позволяют проверять типы различных
|
41
|
+
значений. Эти методы охватывают широкий спектр типов данных, включая примитивы, объекты, массивы,
|
42
|
+
функции и специальные значения.
|
43
|
+
|
44
|
+
### Методы
|
45
|
+
|
46
|
+
- [isEmpty](./Type/isEmpty.md) — Проверяет, является ли переменная пустой.
|
47
|
+
- [isArray](./Type/isArray.md) — Проверяет, является ли переданное значение массивом или
|
48
|
+
ассоциативным массивом.
|
49
|
+
- [isAssoc](./Type/isAssoc.md) — Проверяет, является ли значение ассоциативным массивом.
|
50
|
+
- [isBigInt](./Type/isBigInt.md) — Проверяет, является ли значение типом `bigint`.
|
51
|
+
- [isBool](./Type/isBool.md) — Проверяет, является ли переданное значение логическим типом
|
52
|
+
(`boolean`).
|
53
|
+
- [isBoolean](./Type/isBoolean.md) — Проверяет, является ли переданное значение логическим
|
54
|
+
типом (`boolean`).
|
55
|
+
- [isClass](./Type/isClass.md) — Проверяет, является ли переданная переменная классом.
|
56
|
+
- [isFloat](./Type/isFloat.md) — Проверяет, является ли значение числом с плавающей точкой.
|
57
|
+
- [isFunction](./Type/isFunction.md) — Проверяет, что значение является функцией, исключая
|
58
|
+
классы.
|
59
|
+
- [isInfinity](./Type/isInfinity.md) — Проверяет, является ли значение бесконечностью
|
60
|
+
(`Infinity` или `-Infinity`).
|
61
|
+
- [isInt](./Type/isInt.md) — Проверяет, является ли значение целым числом.
|
62
|
+
- [isInteger](./Type/isInteger.md) — Проверяет, является ли значение целым числом.
|
63
|
+
- [isList](./Type/isList.md) — Проверяет, является ли значение списком.
|
64
|
+
- [isNaN](./Type/isNaN.md) — Проверяет, является ли значение NaN.
|
65
|
+
- [isNull](./Type/isNull.md) — Проверяет, является ли значение `null`.
|
66
|
+
- [isNumber](./Type/isNumber.md) — Проверяет, является ли значение числом.
|
67
|
+
- [isNumeric](./Type/isNumeric.md) — Проверяет, является ли значение числом или числовой
|
68
|
+
строкой.
|
69
|
+
- [isObject](./Type/isObject.md) — Проверяет, является ли переданная переменная объектом.
|
70
|
+
- [isScalar](./Type/isScalar.md) — Проверяет, является ли значение скалярным.
|
71
|
+
- [isString](./Type/isString.md) — Проверяет, является ли значение строкой.
|
72
|
+
- [isSymbol](./Type/isSymbol.md) — Проверяет, является ли значение символом.
|
73
|
+
- [isUndefined](./Type/isUndefined.md) — Проверяет, является ли значение `undefined`.
|
74
|
+
|
package/docs/classes.md
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
[Главная](../../README.md) / Классы
|
2
|
+
|
3
|
+
# Классы
|
4
|
+
|
5
|
+
- [Convert](./classes/Convert.md) — Класс, предоставляющий методы для преобразования различных
|
6
|
+
типов данных в JavaScript.
|
7
|
+
- [Type](./classes/Type.md) — Класс, предоставляющий методы для проверки типов данных в
|
8
|
+
JavaScript.
|
9
|
+
|
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
|
+
```
|