@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.
Files changed (152) hide show
  1. package/.prettierignore +4 -4
  2. package/CHANGELOG.md +82 -56
  3. package/LICENSE +41 -41
  4. package/README.md +118 -91
  5. package/babel.config.json +20 -20
  6. package/docs/classes/Convert/toArray.md +100 -0
  7. package/docs/classes/Convert/toAssoc.md +90 -0
  8. package/docs/classes/Convert/toBool.md +72 -0
  9. package/docs/classes/Convert/toBoolean.md +72 -0
  10. package/docs/classes/Convert/toFloat.md +69 -0
  11. package/docs/classes/Convert/toInt.md +86 -0
  12. package/docs/classes/Convert/toInteger.md +86 -0
  13. package/docs/classes/Convert/toList.md +73 -0
  14. package/docs/classes/Convert/toObject.md +76 -0
  15. package/docs/classes/Convert/toString.md +125 -0
  16. package/docs/classes/Convert.md +44 -0
  17. package/docs/classes/Type/isArray.md +106 -0
  18. package/docs/classes/Type/isAssoc.md +57 -0
  19. package/docs/classes/Type/isBigInt.md +49 -0
  20. package/docs/classes/Type/isBool.md +51 -0
  21. package/docs/classes/Type/isBoolean.md +51 -0
  22. package/docs/classes/Type/isClass.md +60 -0
  23. package/docs/classes/Type/isEmpty.md +53 -0
  24. package/docs/classes/Type/isFloat.md +77 -0
  25. package/docs/classes/Type/isFunction.md +64 -0
  26. package/docs/classes/Type/isInfinity.md +59 -0
  27. package/docs/classes/Type/isInt.md +77 -0
  28. package/docs/classes/Type/isInteger.md +77 -0
  29. package/docs/classes/Type/isList.md +49 -0
  30. package/docs/classes/Type/isNaN.md +57 -0
  31. package/docs/classes/Type/isNull.md +49 -0
  32. package/docs/classes/Type/isNumber.md +60 -0
  33. package/docs/classes/Type/isNumeric.md +58 -0
  34. package/docs/classes/Type/isObject.md +53 -0
  35. package/docs/classes/Type/isScalar.md +54 -0
  36. package/docs/classes/Type/isString.md +54 -0
  37. package/docs/classes/Type/isSymbol.md +56 -0
  38. package/docs/classes/Type/isUndefined.md +52 -0
  39. package/docs/classes/Type.md +74 -0
  40. package/docs/classes/Value/constructor.md +48 -0
  41. package/docs/classes/Value/get.md +51 -0
  42. package/docs/classes/Value/getType.md +71 -0
  43. package/docs/classes/Value/isArray.md +67 -0
  44. package/docs/classes/Value/isAssoc.md +68 -0
  45. package/docs/classes/Value/isBigInt.md +52 -0
  46. package/docs/classes/Value/isBool.md +60 -0
  47. package/docs/classes/Value/isBoolean.md +60 -0
  48. package/docs/classes/Value/isClass.md +55 -0
  49. package/docs/classes/Value/isEmpty.md +84 -0
  50. package/docs/classes/Value/isFloat.md +52 -0
  51. package/docs/classes/Value/isFunction.md +60 -0
  52. package/docs/classes/Value/isInfinity.md +60 -0
  53. package/docs/classes/Value/isInt.md +52 -0
  54. package/docs/classes/Value/isInteger.md +52 -0
  55. package/docs/classes/Value/isList.md +59 -0
  56. package/docs/classes/Value/isNaN.md +79 -0
  57. package/docs/classes/Value/isNull.md +59 -0
  58. package/docs/classes/Value/isNumber.md +80 -0
  59. package/docs/classes/Value/isNumeric.md +79 -0
  60. package/docs/classes/Value/isObject.md +68 -0
  61. package/docs/classes/Value/isScalar.md +72 -0
  62. package/docs/classes/Value/isString.md +67 -0
  63. package/docs/classes/Value/isSymbol.md +75 -0
  64. package/docs/classes/Value/isUndefined.md +67 -0
  65. package/docs/classes/Value/print.md +164 -0
  66. package/docs/classes/Value/printType.md +158 -0
  67. package/docs/classes/Value/setType.md +79 -0
  68. package/docs/classes/Value/toArray.md +85 -0
  69. package/docs/classes/Value/toAssoc.md +85 -0
  70. package/docs/classes/Value/toBool.md +71 -0
  71. package/docs/classes/Value/toBoolean.md +71 -0
  72. package/docs/classes/Value/toFloat.md +72 -0
  73. package/docs/classes/Value/toInt.md +72 -0
  74. package/docs/classes/Value/toInteger.md +72 -0
  75. package/docs/classes/Value/toList.md +77 -0
  76. package/docs/classes/Value/toObject.md +78 -0
  77. package/docs/classes/Value/toPrint.md +115 -0
  78. package/docs/classes/Value/toPrintType.md +110 -0
  79. package/docs/classes/Value/toString.md +134 -0
  80. package/docs/classes/Value.md +113 -0
  81. package/docs/classes.md +11 -0
  82. package/docs/constants.md +47 -0
  83. package/docs/helpers/array.md +80 -80
  84. package/docs/helpers/empty.md +77 -77
  85. package/docs/helpers/gettype.md +69 -69
  86. package/docs/helpers/is_array.md +105 -105
  87. package/docs/helpers/is_assoc.md +59 -59
  88. package/docs/helpers/is_bigint.md +57 -57
  89. package/docs/helpers/is_bool.md +50 -50
  90. package/docs/helpers/is_boolean.md +50 -50
  91. package/docs/helpers/is_class.md +73 -73
  92. package/docs/helpers/is_float.md +71 -71
  93. package/docs/helpers/is_function.md +62 -62
  94. package/docs/helpers/is_infinity.md +61 -61
  95. package/docs/helpers/is_int.md +81 -81
  96. package/docs/helpers/is_integer.md +82 -82
  97. package/docs/helpers/is_list.md +51 -51
  98. package/docs/helpers/is_nan.md +59 -59
  99. package/docs/helpers/is_null.md +49 -49
  100. package/docs/helpers/is_number.md +67 -67
  101. package/docs/helpers/is_numeric.md +76 -76
  102. package/docs/helpers/is_object.md +69 -69
  103. package/docs/helpers/is_scalar.md +60 -60
  104. package/docs/helpers/is_string.md +58 -58
  105. package/docs/helpers/is_symbol.md +58 -58
  106. package/docs/helpers/is_undefined.md +56 -56
  107. package/docs/helpers/print.md +187 -187
  108. package/docs/helpers/print_type.md +225 -225
  109. package/docs/helpers/settype.md +78 -78
  110. package/docs/helpers/to_array.md +106 -106
  111. package/docs/helpers/to_assoc.md +91 -91
  112. package/docs/helpers/to_bool.md +76 -76
  113. package/docs/helpers/to_boolean.md +77 -77
  114. package/docs/helpers/to_float.md +70 -70
  115. package/docs/helpers/to_int.md +87 -87
  116. package/docs/helpers/to_integer.md +87 -87
  117. package/docs/helpers/to_list.md +47 -47
  118. package/docs/helpers/to_object.md +76 -76
  119. package/docs/helpers/to_string.md +134 -134
  120. package/docs/helpers/value.md +95 -0
  121. package/docs/helpers.md +53 -51
  122. package/docs/types/NaN.md +30 -30
  123. package/docs/types/array.md +252 -252
  124. package/docs/types/bigint.md +34 -34
  125. package/docs/types/boolean.md +47 -47
  126. package/docs/types/class.md +36 -36
  127. package/docs/types/float.md +35 -35
  128. package/docs/types/function.md +121 -121
  129. package/docs/types/infinity.md +32 -32
  130. package/docs/types/integer.md +35 -35
  131. package/docs/types/null.md +23 -23
  132. package/docs/types/object.md +62 -62
  133. package/docs/types/string.md +33 -33
  134. package/docs/types/symbol.md +29 -29
  135. package/docs/types/undefined.md +25 -25
  136. package/docs/types.md +44 -44
  137. package/eslint.config.mjs +1664 -1664
  138. package/index.mjs +43 -37
  139. package/jest.config.mjs +31 -31
  140. package/package.json +48 -47
  141. package/prettier.config.mjs +224 -224
  142. package/src/classes/Convert.mjs +818 -0
  143. package/src/classes/Type.mjs +1284 -0
  144. package/src/classes/Value.mjs +2846 -0
  145. package/src/constants.mjs +14 -0
  146. package/src/helpers/gettype.mjs +30 -14
  147. package/src/helpers/value.mjs +92 -0
  148. package/tests/classes/Convert.test.mjs +398 -0
  149. package/tests/classes/Type.test.mjs +1262 -0
  150. package/tests/classes/Value.test.mjs +423 -0
  151. package/tests/constants.test.mjs +75 -0
  152. package/tests/helpers/value.test.mjs +68 -0
@@ -1,224 +1,224 @@
1
- /**
2
- * @see https://prettier.io/docs/en/configuration.html
3
- * @type {import("prettier").Config}
4
- */
5
- export default {
6
- /**
7
- * Добавлять точку с запятой в конце операторов.
8
- * @default true
9
- *
10
- * Допустимые варианты:
11
- *
12
- * - `true` - Добавлять точку с запятой в конце каждого оператора.
13
- * - `false` - Добавлять точки с запятой только в начале строк,
14
- * которые могут привести к сбоям ASI.
15
- */
16
- semi: true,
17
-
18
- /**
19
- * Использовать одинарные кавычки вместо двойных.
20
- * @default false
21
- *
22
- * Допустимые варианты:
23
- *
24
- * - `true` - Использовать одинарные кавычки.
25
- * - `false` - Использовать двойные кавычки.
26
- */
27
- singleQuote: true,
28
-
29
- /**
30
- * Использовать одинарные кавычки в JSX.
31
- * @default false
32
- *
33
- * Допустимые варианты:
34
- *
35
- * - `true` - Использовать одинарные кавычки в JSX.
36
- * - `false` - Использовать двойные кавычки в JSX.
37
- */
38
- jsxSingleQuote: false,
39
-
40
- /**
41
- * Добавлять запятые в конце везде, где это возможно.
42
- * @default "all"
43
- *
44
- * Допустимые варианты:
45
- *
46
- * - `none` - Без запятых в конце.
47
- * - `es5` - Запятые в конце там, где это допустимо в ES5.
48
- * - `all` - Запятые в конце везде, где это возможно.
49
- */
50
- trailingComma: 'all',
51
-
52
- /**
53
- * Печатать пробелы между скобками в литералах объектов.
54
- * @default true
55
- *
56
- * Допустимые варианты:
57
- *
58
- * - `true` - Пример: { foo: bar }
59
- * - `false` - Пример: {foo: bar}
60
- */
61
- bracketSpacing: true,
62
-
63
- /**
64
- * Разместить `>` многострочного HTML (HTML, JSX, Vue, Angular) элемента в конце последней строки, а не на отдельной строке.
65
- * @default false
66
- *
67
- * Допустимые варианты:
68
- *
69
- * - `true` - Пример:
70
- * <div>
71
- * <span>Text</span></div>
72
- * - `false` - Пример:
73
- * <div>
74
- * <span>Text</span>
75
- * </div>
76
- */
77
- bracketSameLine: false,
78
-
79
- /**
80
- * Форматировать только сегмент файла.
81
- * @default 0
82
- */
83
- rangeStart: 0,
84
-
85
- /**
86
- * Форматировать только сегмент файла.
87
- * @default Number.POSITIVE_INFINITY
88
- */
89
- rangeEnd: Number.POSITIVE_INFINITY,
90
-
91
- /**
92
- * Ограничить форматирование только файлами с прологом.
93
- * @default false
94
- */
95
- requirePragma: false,
96
-
97
- /**
98
- * Вставить пролог в отформатированные файлы.
99
- * @default false
100
- */
101
- insertPragma: false,
102
-
103
- /**
104
- * Заворачивать текст в Markdown файлах.
105
- * @default "preserve"
106
- *
107
- * Допустимые варианты:
108
- *
109
- * - `always` - Оборачивать текст, если он превышает ширину печати.
110
- * - `never` - Разворачивать каждый блок текста в одну строку.
111
- * - `preserve` - Ничего не делать, оставлять текст как есть.
112
- */
113
- proseWrap: 'always',
114
-
115
- /**
116
- * Включить скобки вокруг единственного параметра стрелочной функции.
117
- * @default "always"
118
- *
119
- * Допустимые варианты:
120
- *
121
- * - `avoid` - Исключать скобки, когда это возможно.
122
- * - `always` - Всегда включать скобки.
123
- */
124
- arrowParens: 'always',
125
-
126
- /**
127
- * Чувствительность к пробелам в HTML.
128
- * @default "css"
129
- *
130
- * Допустимые варианты:
131
- *
132
- * - `css` - Учитывать значение по умолчанию свойства CSS display.
133
- * - `strict` - Пробелы (или их отсутствие) вокруг всех тегов считаются значимыми.
134
- * - `ignore` - Пробелы (или их отсутствие) вокруг всех тегов считаются незначимыми.
135
- */
136
- htmlWhitespaceSensitivity: 'strict',
137
-
138
- /**
139
- * Использовать символы конца строки.
140
- * @default "lf"
141
- *
142
- * Допустимые варианты:
143
- *
144
- * - `auto` - Сохранять существующие окончания строк.
145
- * - `lf` - Только Line Feed (\n).
146
- * - `crlf` - Символы Carriage Return + Line Feed (\r\n).
147
- * - `cr` - Только символ Carriage Return (\r).
148
- */
149
- endOfLine: 'crlf',
150
-
151
- /**
152
- * Изменить, когда свойства в объектах заключаются в кавычки.
153
- * @default "as-needed"
154
- *
155
- * Допустимые варианты:
156
- *
157
- * - `as-needed` - Добавлять кавычки вокруг свойств объектов только там, где это необходимо.
158
- * - `consistent` - Если хотя бы одно свойство в объекте требует кавычек, заключать в кавычки все свойства.
159
- * - `preserve` - Сохранять использование кавычек в свойствах объектов, как в исходном коде.
160
- */
161
- quoteProps: 'as-needed',
162
-
163
- /**
164
- * Отступы для тегов script и style в файлах Vue.
165
- * @default false
166
- *
167
- * Допустимые варианты:
168
- *
169
- * - `true` - Делать отступы для тегов script и style в файлах Vue.
170
- * - `false` - Не делать отступы для тегов script и style в файлах Vue.
171
- */
172
- vueIndentScriptAndStyle: true,
173
-
174
- /**
175
- * Форматирование встроенного языка.
176
- * @default "auto"
177
- *
178
- * Допустимые варианты:
179
- *
180
- * - `auto` - Форматировать встроенный код, если Prettier может автоматически его определить.
181
- * - `off` - Никогда не форматировать встроенный код автоматически.
182
- */
183
- embeddedLanguageFormatting: 'auto',
184
-
185
- /**
186
- * Один атрибут на строку в HTML, Vue и JSX.
187
- * @default false
188
- *
189
- * Допустимые варианты:
190
- *
191
- * - `true` - Принуждать использовать один атрибут на строку.
192
- * - `false` - Не принуждать использовать один атрибут на строку.
193
- */
194
- singleAttributePerLine: true,
195
-
196
- /**
197
- * Экспериментальные тернарные операторы.
198
- * @default false
199
- *
200
- * Допустимые варианты:
201
- *
202
- * - `true` - Использовать любопытные тернарные операторы, с вопросительным знаком после условия.
203
- * - `false` - Сохранить поведение тернарных операторов по умолчанию.
204
- */
205
- experimentalTernaries: true,
206
-
207
- /**
208
- * Максимальная длина строки.
209
- * @default 80
210
- */
211
- printWidth: 100,
212
-
213
- /**
214
- * Ширина табуляции в пробелах.
215
- * @default 2
216
- */
217
- tabWidth: 4,
218
-
219
- /**
220
- * Использовать пробелы вместо табуляции.
221
- * @default false
222
- */
223
- useTabs: false,
224
- };
1
+ /**
2
+ * @see https://prettier.io/docs/en/configuration.html
3
+ * @type {import("prettier").Config}
4
+ */
5
+ export default {
6
+ /**
7
+ * Добавлять точку с запятой в конце операторов.
8
+ * @default true
9
+ *
10
+ * Допустимые варианты:
11
+ *
12
+ * - `true` - Добавлять точку с запятой в конце каждого оператора.
13
+ * - `false` - Добавлять точки с запятой только в начале строк,
14
+ * которые могут привести к сбоям ASI.
15
+ */
16
+ semi: true,
17
+
18
+ /**
19
+ * Использовать одинарные кавычки вместо двойных.
20
+ * @default false
21
+ *
22
+ * Допустимые варианты:
23
+ *
24
+ * - `true` - Использовать одинарные кавычки.
25
+ * - `false` - Использовать двойные кавычки.
26
+ */
27
+ singleQuote: true,
28
+
29
+ /**
30
+ * Использовать одинарные кавычки в JSX.
31
+ * @default false
32
+ *
33
+ * Допустимые варианты:
34
+ *
35
+ * - `true` - Использовать одинарные кавычки в JSX.
36
+ * - `false` - Использовать двойные кавычки в JSX.
37
+ */
38
+ jsxSingleQuote: false,
39
+
40
+ /**
41
+ * Добавлять запятые в конце везде, где это возможно.
42
+ * @default "all"
43
+ *
44
+ * Допустимые варианты:
45
+ *
46
+ * - `none` - Без запятых в конце.
47
+ * - `es5` - Запятые в конце там, где это допустимо в ES5.
48
+ * - `all` - Запятые в конце везде, где это возможно.
49
+ */
50
+ trailingComma: 'all',
51
+
52
+ /**
53
+ * Печатать пробелы между скобками в литералах объектов.
54
+ * @default true
55
+ *
56
+ * Допустимые варианты:
57
+ *
58
+ * - `true` - Пример: { foo: bar }
59
+ * - `false` - Пример: {foo: bar}
60
+ */
61
+ bracketSpacing: true,
62
+
63
+ /**
64
+ * Разместить `>` многострочного HTML (HTML, JSX, Vue, Angular) элемента в конце последней строки, а не на отдельной строке.
65
+ * @default false
66
+ *
67
+ * Допустимые варианты:
68
+ *
69
+ * - `true` - Пример:
70
+ * <div>
71
+ * <span>Text</span></div>
72
+ * - `false` - Пример:
73
+ * <div>
74
+ * <span>Text</span>
75
+ * </div>
76
+ */
77
+ bracketSameLine: false,
78
+
79
+ /**
80
+ * Форматировать только сегмент файла.
81
+ * @default 0
82
+ */
83
+ rangeStart: 0,
84
+
85
+ /**
86
+ * Форматировать только сегмент файла.
87
+ * @default Number.POSITIVE_INFINITY
88
+ */
89
+ rangeEnd: Number.POSITIVE_INFINITY,
90
+
91
+ /**
92
+ * Ограничить форматирование только файлами с прологом.
93
+ * @default false
94
+ */
95
+ requirePragma: false,
96
+
97
+ /**
98
+ * Вставить пролог в отформатированные файлы.
99
+ * @default false
100
+ */
101
+ insertPragma: false,
102
+
103
+ /**
104
+ * Заворачивать текст в Markdown файлах.
105
+ * @default "preserve"
106
+ *
107
+ * Допустимые варианты:
108
+ *
109
+ * - `always` - Оборачивать текст, если он превышает ширину печати.
110
+ * - `never` - Разворачивать каждый блок текста в одну строку.
111
+ * - `preserve` - Ничего не делать, оставлять текст как есть.
112
+ */
113
+ proseWrap: 'always',
114
+
115
+ /**
116
+ * Включить скобки вокруг единственного параметра стрелочной функции.
117
+ * @default "always"
118
+ *
119
+ * Допустимые варианты:
120
+ *
121
+ * - `avoid` - Исключать скобки, когда это возможно.
122
+ * - `always` - Всегда включать скобки.
123
+ */
124
+ arrowParens: 'always',
125
+
126
+ /**
127
+ * Чувствительность к пробелам в HTML.
128
+ * @default "css"
129
+ *
130
+ * Допустимые варианты:
131
+ *
132
+ * - `css` - Учитывать значение по умолчанию свойства CSS display.
133
+ * - `strict` - Пробелы (или их отсутствие) вокруг всех тегов считаются значимыми.
134
+ * - `ignore` - Пробелы (или их отсутствие) вокруг всех тегов считаются незначимыми.
135
+ */
136
+ htmlWhitespaceSensitivity: 'strict',
137
+
138
+ /**
139
+ * Использовать символы конца строки.
140
+ * @default "lf"
141
+ *
142
+ * Допустимые варианты:
143
+ *
144
+ * - `auto` - Сохранять существующие окончания строк.
145
+ * - `lf` - Только Line Feed (\n).
146
+ * - `crlf` - Символы Carriage Return + Line Feed (\r\n).
147
+ * - `cr` - Только символ Carriage Return (\r).
148
+ */
149
+ endOfLine: 'crlf',
150
+
151
+ /**
152
+ * Изменить, когда свойства в объектах заключаются в кавычки.
153
+ * @default "as-needed"
154
+ *
155
+ * Допустимые варианты:
156
+ *
157
+ * - `as-needed` - Добавлять кавычки вокруг свойств объектов только там, где это необходимо.
158
+ * - `consistent` - Если хотя бы одно свойство в объекте требует кавычек, заключать в кавычки все свойства.
159
+ * - `preserve` - Сохранять использование кавычек в свойствах объектов, как в исходном коде.
160
+ */
161
+ quoteProps: 'as-needed',
162
+
163
+ /**
164
+ * Отступы для тегов script и style в файлах Vue.
165
+ * @default false
166
+ *
167
+ * Допустимые варианты:
168
+ *
169
+ * - `true` - Делать отступы для тегов script и style в файлах Vue.
170
+ * - `false` - Не делать отступы для тегов script и style в файлах Vue.
171
+ */
172
+ vueIndentScriptAndStyle: true,
173
+
174
+ /**
175
+ * Форматирование встроенного языка.
176
+ * @default "auto"
177
+ *
178
+ * Допустимые варианты:
179
+ *
180
+ * - `auto` - Форматировать встроенный код, если Prettier может автоматически его определить.
181
+ * - `off` - Никогда не форматировать встроенный код автоматически.
182
+ */
183
+ embeddedLanguageFormatting: 'auto',
184
+
185
+ /**
186
+ * Один атрибут на строку в HTML, Vue и JSX.
187
+ * @default false
188
+ *
189
+ * Допустимые варианты:
190
+ *
191
+ * - `true` - Принуждать использовать один атрибут на строку.
192
+ * - `false` - Не принуждать использовать один атрибут на строку.
193
+ */
194
+ singleAttributePerLine: true,
195
+
196
+ /**
197
+ * Экспериментальные тернарные операторы.
198
+ * @default false
199
+ *
200
+ * Допустимые варианты:
201
+ *
202
+ * - `true` - Использовать любопытные тернарные операторы, с вопросительным знаком после условия.
203
+ * - `false` - Сохранить поведение тернарных операторов по умолчанию.
204
+ */
205
+ experimentalTernaries: true,
206
+
207
+ /**
208
+ * Максимальная длина строки.
209
+ * @default 80
210
+ */
211
+ printWidth: 100,
212
+
213
+ /**
214
+ * Ширина табуляции в пробелах.
215
+ * @default 2
216
+ */
217
+ tabWidth: 4,
218
+
219
+ /**
220
+ * Использовать пробелы вместо табуляции.
221
+ * @default false
222
+ */
223
+ useTabs: false,
224
+ };