@rogolev/value 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
```
|