@shakerquiz/utilities 0.5.118 → 0.5.120

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@shakerquiz/utilities",
4
- "version": "0.5.118",
4
+ "version": "0.5.120",
5
5
  "author": "yurkimus <yurkimus@gmail.com>",
6
6
  "license": "ISC",
7
7
  "repository": {
@@ -54,6 +54,16 @@ export var ModeModes = {
54
54
  ],
55
55
  }
56
56
 
57
+ export var ModeIcon = {
58
+ [Mode['Any']]: 'hero/outline/square-2-stack',
59
+ [Mode['None']]: 'hero/outline/x-mark',
60
+ [Mode['Single']]: 'hero/outline/no-symbol',
61
+ [Mode['Many']]: 'hero/outline/no-symbol',
62
+ [Mode['All']]: 'hero/outline/so-symbol',
63
+ [Mode['Known']]: 'hero/outline/check',
64
+ [Mode['Unknown']]: 'hero/outline/no-symbol',
65
+ }
66
+
57
67
  export var ModeNumberGenderTranslation = {
58
68
  ru: {
59
69
  singular: {
@@ -8,75 +8,48 @@ export var Role = /** @type {const} */ ({
8
8
  'default': 'default',
9
9
  })
10
10
 
11
- export var Roles = Object.values(Role)
12
-
13
- export var RoleWeight = {
14
- [Role.admin]: 0,
15
- [Role.organizer]: 1,
16
- [Role.captain]: 2,
17
- [Role.player]: 3,
18
- [Role.user]: 4,
19
- [Role.manager]: 5,
20
- [Role.default]: 6,
21
- }
11
+ export var Roles = [
12
+ Role['admin'],
13
+ Role['organizer'],
14
+ Role['captain'],
15
+ Role['player'],
16
+ Role['user'],
17
+ Role['manager'],
18
+ Role['default'],
19
+ ]
22
20
 
23
21
  export var RoleTitle = {
24
- [Role.admin]: 'Админ',
25
- [Role.organizer]: 'Организатор',
26
- [Role.captain]: 'Капитан',
27
- [Role.player]: 'Игрок',
28
- [Role.user]: 'Пользователь',
29
- [Role.manager]: 'Менеджер',
30
- [Role.default]: 'Неавторизован',
31
- }
32
-
33
- export var RoleActionTitle = {
34
- [Role.admin]: 'Сделать админом',
35
- [Role.organizer]: 'Сделать организатором',
36
- [Role.captain]: 'Сделать капитаном',
37
- [Role.player]: 'Сделать игрокок',
38
- [Role.user]: 'Сделать пользователем',
39
- [Role.manager]: 'Сделать менеджером',
40
- [Role.default]: 'Сделать неавторизованым',
22
+ [Role['admin']]: 'Админ',
23
+ [Role['organizer']]: 'Организатор',
24
+ [Role['captain']]: 'Капитан',
25
+ [Role['player']]: 'Игрок',
26
+ [Role['user']]: 'Пользователь',
27
+ [Role['manager']]: 'Менеджер',
28
+ [Role['default']]: 'Неавторизован',
41
29
  }
42
30
 
43
- export var RoleActionDescription = {
44
- [Role.admin]: 'Назначить роль: Админ',
45
- [Role.organizer]: 'Назначить роль: Организатор',
46
- [Role.captain]: 'Назначить роль: Капитан',
47
- [Role.player]: 'Назначить роль: Игрок',
48
- [Role.user]: 'Назначить роль: Пользователь',
49
- [Role.manager]: 'Назначить роль: Менеджер',
50
- [Role.default]: 'Назначить роль: Неавторизован',
31
+ export var RoleIcon = {
32
+ [Role['admin']]: 'hero/outline/user',
33
+ [Role['organizer']]: 'hero/outline/user',
34
+ [Role['captain']]: 'hero/outline/user',
35
+ [Role['player']]: 'hero/outline/user',
36
+ [Role['user']]: 'hero/outline/user',
37
+ [Role['manager']]: 'hero/outline/user',
38
+ [Role['default']]: 'hero/outline/user',
51
39
  }
52
40
 
53
- export var RoleColor = {
54
- [Role.admin]: 'danger',
55
- [Role.organizer]: 'warning',
56
- [Role.captain]: 'primary',
57
- [Role.player]: 'secondary',
58
- [Role.user]: 'default',
59
- [Role.manager]: 'default',
60
- [Role.default]: 'default',
61
- }
41
+ /**
42
+ * @returns {keyof typeof Role}
43
+ */
44
+ export var inferRole = value => {
45
+ switch (typeof value) {
46
+ case 'string':
47
+ return value in Role ? Role[value] : Role['default']
62
48
 
63
- export var RoleTextColor = {
64
- [Role.admin]: 'text-danger',
65
- [Role.organizer]: 'text-warning',
66
- [Role.captain]: 'text-primary',
67
- [Role.player]: 'text-secondary',
68
- [Role.user]: 'text-default',
69
- [Role.manager]: 'text-default',
70
- [Role.default]: 'text-default',
71
- }
49
+ case 'object':
50
+ return inferRole(value?.role?.name)
72
51
 
73
- /** @type {Record<Role, Icon>} */
74
- export var RoleIcon = {
75
- [Role.admin]: 'hero/outline/user',
76
- [Role.organizer]: 'hero/outline/user',
77
- [Role.captain]: 'hero/outline/user',
78
- [Role.player]: 'hero/outline/user',
79
- [Role.user]: 'hero/outline/user',
80
- [Role.manager]: 'hero/outline/user',
81
- [Role.default]: 'hero/outline/user',
52
+ default:
53
+ return Role['default']
54
+ }
82
55
  }