@shakerquiz/utilities 0.5.154 → 0.5.156

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.154",
4
+ "version": "0.5.156",
5
5
  "author": "yurkimus <yurkimus@gmail.com>",
6
6
  "license": "ISC",
7
7
  "repository": {
@@ -1,56 +1,29 @@
1
1
  export var Affilation = /** @type {const} */ ({
2
2
  'Branch': 'Branch',
3
3
  'Franchise': 'Franchise',
4
- 'Unknown': 'Unknown',
5
4
  })
6
5
 
7
- export var Affilations = Object.values(Affilation)
8
-
9
- export var AffilationWeight = {
10
- [Affilation['Branch']]: 0,
11
- [Affilation['Franchise']]: 1,
12
- [Affilation['Unknown']]: 2,
13
- }
6
+ export var Affilations = [
7
+ Affilation['Branch'],
8
+ Affilation['Franchise'],
9
+ ]
14
10
 
15
11
  export var AffilationTitle = {
16
12
  [Affilation['Branch']]: 'Филиал',
17
13
  [Affilation['Franchise']]: 'Франшиза',
18
- [Affilation['Unknown']]: 'Неизвестно',
19
- }
20
-
21
- export var AffilationActionTitle = {
22
- [Affilation['Branch']]: '',
23
- [Affilation['Franchise']]: '',
24
- [Affilation['Unknown']]: '',
25
- }
26
-
27
- export var AffilationActionDescpription = {
28
- [Affilation['Branch']]: '',
29
- [Affilation['Franchise']]: '',
30
- [Affilation['Unknown']]: '',
31
- }
32
-
33
- export var AffilationColor = {
34
- [Affilation['Branch']]: 'primary',
35
- [Affilation['Franchise']]: 'secondary',
36
- [Affilation['Unknown']]: 'danger',
37
- }
38
-
39
- export var AffilationTextColor = {
40
- [Affilation['Branch']]: 'text-primary',
41
- [Affilation['Franchise']]: 'text-secondary',
42
- [Affilation['Unknown']]: 'text-danger',
43
14
  }
44
15
 
45
- /** @type {Record<Affilation, Icon>} */
46
16
  export var AffilationIcon = {
47
17
  [Affilation['Branch']]: 'hero/outline/building-office-2',
48
18
  [Affilation['Franchise']]: 'hero/outline/building-storefront',
49
- [Affilation['Unknown']]: 'hero/outline/no-symbol',
50
19
  }
51
20
 
52
- /** @type {Record<Affilation, Pick<CityTable, 'is_franchise'>>} */
53
- export var AffilationShape = {
21
+ var ValueAffilation = {
22
+ ['false']: Affilation['Branch'],
23
+ ['true']: Affilation['Franchise'],
24
+ }
25
+
26
+ var AffilationShape = {
54
27
  [Affilation['Branch']]: {
55
28
  is_franchise: false,
56
29
  },
@@ -58,34 +31,14 @@ export var AffilationShape = {
58
31
  [Affilation['Franchise']]: {
59
32
  is_franchise: true,
60
33
  },
61
-
62
- [Affilation['Unknown']]: {
63
- is_franchise: null,
64
- },
65
34
  }
66
35
 
67
- export var AffilationShapes = Object.entries(AffilationShape)
36
+ /** @returns {keyof typeof Affilation | 'Unknown'} */
37
+ export var inferAffilation = value =>
38
+ ValueAffilation[value?.is_franchise ?? value]
39
+ ?? 'Unknown'
68
40
 
69
- /**
70
- * @param {Affilation | typeof AffilationShape[Affilation]} value
71
- */
72
- export var getAffilation = value => {
73
- if (value === null)
74
- return Affilation['Unknown']
75
-
76
- switch (typeof value) {
77
- case 'object':
78
- return AffilationShapes
79
- .find(([, object]) => object.is_franchise === value.is_franchise)
80
- ?.at(0)
81
- ?? Affilation['Unknown']
82
-
83
- case 'string':
84
- return value in AffilationShape
85
- ? AffilationShape[value]
86
- : AffilationShape[Affilation['Unknown']]
87
-
88
- default:
89
- return Affilation['Unknown']
90
- }
91
- }
41
+ /** @returns {typeof AffilationShape[keyof typeof AffilationShape] | { readonly is_franchise: null }} */
42
+ export var inferAffilationShape = value =>
43
+ AffilationShape[value]
44
+ ?? { is_franchise: null }
@@ -5,7 +5,6 @@ export var Role = /** @type {const} */ ({
5
5
  'player': 'player',
6
6
  'user': 'user',
7
7
  'manager': 'manager',
8
- 'Default': 'Default',
9
8
  })
10
9
 
11
10
  export var Roles = [
@@ -15,7 +14,6 @@ export var Roles = [
15
14
  Role['player'],
16
15
  Role['user'],
17
16
  Role['manager'],
18
- Role['Default'],
19
17
  ]
20
18
 
21
19
  export var RoleTitle = {
@@ -25,7 +23,6 @@ export var RoleTitle = {
25
23
  [Role['player']]: 'Игрок',
26
24
  [Role['user']]: 'Пользователь',
27
25
  [Role['manager']]: 'Менеджер',
28
- [Role['Default']]: 'Без роли',
29
26
  }
30
27
 
31
28
  export var RoleIcon = {
@@ -35,21 +32,9 @@ export var RoleIcon = {
35
32
  [Role['player']]: 'hero/outline/user',
36
33
  [Role['user']]: 'hero/outline/user',
37
34
  [Role['manager']]: 'hero/outline/user',
38
- [Role['Default']]: 'hero/outline/no-symbol',
39
35
  }
40
36
 
41
- /** @returns {typeof Role[keyof typeof Role]} */
42
- var infer = value => value in Role ? Role[value] : Role['Default']
43
-
44
- export var inferRole = value => {
45
- switch (typeof value) {
46
- case 'string':
47
- return infer(value)
48
-
49
- case 'object':
50
- return infer(value?.role?.name)
51
-
52
- default:
53
- return Role['Default']
54
- }
55
- }
37
+ /** @returns {keyof typeof Role | 'Unknown'} */
38
+ export var inferRole = value =>
39
+ Role[value?.role?.name ?? value]
40
+ ?? 'Unknown'
@@ -1,100 +1,44 @@
1
1
  export var VenueAudience = /** @type {const} */ ({
2
- 'Any': 'Any',
3
- 'All': 'All',
2
+ 'Open': 'Open',
4
3
  'Restricted': 'Restricted',
5
- 'Unknown': 'Unknown',
6
4
  })
7
5
 
8
6
  export var VenueAudiences = [
9
- VenueAudience['Any'],
10
- VenueAudience['All'],
7
+ VenueAudience['Open'],
11
8
  VenueAudience['Restricted'],
12
- VenueAudience['Unknown'],
13
9
  ]
14
10
 
15
- export var PersistedVenueAudiences = [
16
- VenueAudience['All'],
17
- VenueAudience['Restricted'],
18
- ]
19
-
20
- var VenueAudienceShape = {
21
- [VenueAudience['All']]: {
22
- is_adult: false,
23
- },
24
-
25
- [VenueAudience['Restricted']]: {
26
- is_adult: true,
27
- },
28
-
29
- [VenueAudience['Unknown']]: {
30
- is_adult: null,
31
- },
32
- }
33
-
34
- var VenueAudienceShapes = Object.entries(VenueAudienceShape)
35
-
36
11
  export var VenueAudienceTitle = {
37
- [VenueAudience['Any']]: 'Любая',
38
- [VenueAudience['All']]: 'Открытая',
39
- [VenueAudience['Restricted']]: 'Закрытая',
40
- [VenueAudience['Unknown']]: 'Неизвестно',
12
+ [VenueAudience['Open']]: 'Без ограничений',
13
+ [VenueAudience['Restricted']]: 'Только взрослые',
41
14
  }
42
15
 
43
16
  export var VenueAudienceIcon = {
44
- [VenueAudience['Any']]: 'hero/outline/square-2-stack',
45
- [VenueAudience['All']]: 'hero/outline/lock-open',
17
+ [VenueAudience['Open']]: 'hero/outline/lock-open',
46
18
  [VenueAudience['Restricted']]: 'hero/outline/lock-closed',
47
- [VenueAudience['Unknown']]: 'hero/outline/no-symbol',
48
19
  }
49
20
 
50
- /**
51
- * @returns {keyof typeof VenueAudience}
52
- */
53
- var fromString = value =>
54
- value in VenueAudience
55
- ? value
56
- : VenueAudience['Unknown']
57
-
58
- /**
59
- * @returns {keyof typeof VenueAudience}
60
- */
61
- var fromObject = value =>
62
- VenueAudienceShapes
63
- .find(([, shape]) => shape.is_adult === value?.is_adult)
64
- ?.at(0)
65
- ?? VenueAudience['Unknown']
66
-
67
- /**
68
- * @returns {typeof VenueAudienceShape[keyof typeof VenueAudienceShape]}
69
- */
70
- var toObject = value =>
71
- VenueAudienceShapes
72
- .find(([venueAudience, shape]) => venueAudience === value)
73
- ?.at(1)
74
- ?? VenueAudienceShape[VenueAudience['Unknown']]
75
-
76
- /**
77
- * @returns {keyof typeof VenueAudience}
78
- */
79
- export var inferVenueAudience = value => {
80
- switch (typeof value) {
81
- case 'string':
82
- return fromString(value)
21
+ var ValueVenueAudience = {
22
+ ['false']: VenueAudience['Open'],
23
+ ['true']: VenueAudience['Restricted'],
24
+ }
83
25
 
84
- case 'object':
85
- return fromObject(value)
26
+ var VenueAudienceShape = /** @type {const} */ ({
27
+ [VenueAudience['Open']]: {
28
+ is_adult: false,
29
+ },
86
30
 
87
- default:
88
- return VenueAudience['Unknown']
89
- }
90
- }
31
+ [VenueAudience['Restricted']]: {
32
+ is_adult: true,
33
+ },
34
+ })
91
35
 
92
- export var inferVenueAudienceShape = value => {
93
- switch (typeof value) {
94
- case 'string':
95
- return toObject(value)
36
+ /** @returns {keyof typeof VenueAudience | 'Unknown'} */
37
+ export var inferVenueAudience = value =>
38
+ ValueVenueAudience[value?.is_adult ?? value]
39
+ ?? 'Unknown'
96
40
 
97
- default:
98
- return VenueAudienceShape[VenueAudience['Unknown']]
99
- }
100
- }
41
+ /** @returns {typeof VenueAudienceShape[keyof typeof VenueAudienceShape] | { readonly is_adult: null }} */
42
+ export var inferVenueAudienceShape = value =>
43
+ VenueAudienceShape[value]
44
+ ?? { is_adult: null }
@@ -1,53 +1,24 @@
1
1
  export var VenueStatus = /** @type {const} */ ({
2
- 'ANY': 'ANY',
3
2
  'ACTIVE': 'ACTIVE',
4
3
  'ARCHIVE': 'ARCHIVE',
5
- 'UNKNOWN': 'UNKNOWN',
6
4
  })
7
5
 
8
6
  export var VenueStatuses = [
9
- VenueStatus['ANY'],
10
- VenueStatus['ACTIVE'],
11
- VenueStatus['ARCHIVE'],
12
- VenueStatus['UNKNOWN'],
13
- ]
14
-
15
- export var PersistedVenueStatuses = [
16
7
  VenueStatus['ACTIVE'],
17
8
  VenueStatus['ARCHIVE'],
18
9
  ]
19
10
 
20
11
  export var VenueStatusTitle = {
21
- [VenueStatus['ANY']]: 'Любой',
22
12
  [VenueStatus['ACTIVE']]: 'Активно',
23
13
  [VenueStatus['ARCHIVE']]: 'Архив',
24
- [VenueStatus['UNKNOWN']]: 'Неизвестно',
25
14
  }
26
15
 
27
16
  export var VenueStatusIcon = {
28
- [VenueStatus['ANY']]: 'hero/outline/square-2-stack',
29
17
  [VenueStatus['ACTIVE']]: 'hero/outline/check',
30
18
  [VenueStatus['ARCHIVE']]: 'hero/outline/archive-box',
31
- [VenueStatus['UNKNOWN']]: 'hero/outline/no-symbol',
32
19
  }
33
20
 
34
- /**
35
- * @returns {keyof typeof VenueStatus}
36
- */
37
- var get = value =>
38
- value in VenueStatus
39
- ? value
40
- : VenueStatus['UNKNOWN']
41
-
42
- export var getVenueStatus = value => {
43
- switch (typeof value) {
44
- case 'string':
45
- return get(value)
46
-
47
- case 'object':
48
- return get(value?.status)
49
-
50
- default:
51
- return get(undefined)
52
- }
53
- }
21
+ /** @returns {keyof typeof VenueStatus | 'Unknown'} */
22
+ export var inferVenueStatus = value =>
23
+ VenueStatus[value?.status ?? value]
24
+ ?? 'Unknown'
package/source/index.js CHANGED
@@ -16,7 +16,6 @@ export * from './enumerations/store.js'
16
16
 
17
17
  export * from './enumerations/entities/affilation.js'
18
18
  export * from './enumerations/entities/game-status.js'
19
- export * from './enumerations/entities/password-mode.js'
20
19
  export * from './enumerations/entities/registration-attribute.js'
21
20
  export * from './enumerations/entities/registration-channel.js'
22
21
  export * from './enumerations/entities/registration-lineup.js'
@@ -25,11 +24,7 @@ export * from './enumerations/entities/registration-status.js'
25
24
  export * from './enumerations/entities/role.js'
26
25
  export * from './enumerations/entities/version.js'
27
26
 
28
- export * from './enumerations/city/timezone-mode.js'
29
- export * from './enumerations/city/venues-mode.js'
30
-
31
27
  export * from './enumerations/venue/audience.js'
32
- export * from './enumerations/venue/city-mode.js'
33
28
  export * from './enumerations/venue/status.js'
34
29
 
35
30
  export * from './functions/hydrate-route-pathname.js'
@@ -1,44 +0,0 @@
1
- export var CityTimezoneMode = /** @type {const} */ ({
2
- 'Any': 'Any',
3
- 'Known': 'Known',
4
- 'Unknown': 'Unknown',
5
- })
6
-
7
- export var CityTimezoneModes = [
8
- CityTimezoneMode['Any'],
9
- CityTimezoneMode['Known'],
10
- CityTimezoneMode['Unknown'],
11
- ]
12
-
13
- export var CityTimezoneModeTitle = {
14
- [CityTimezoneMode['Any']]: 'Любой',
15
- [CityTimezoneMode['Known']]: 'Назначено',
16
- [CityTimezoneMode['Unknown']]: 'Неизвестно',
17
- }
18
-
19
- export var CityTimezoneModeIcon = {
20
- [CityTimezoneMode['Any']]: 'hero/outline/square-2-stack',
21
- [CityTimezoneMode['Known']]: 'hero/outline/check',
22
- [CityTimezoneMode['Unknown']]: 'hero/outline/no-symbol',
23
- }
24
-
25
- /**
26
- * @returns {keyof typeof CityTimezoneMode} value
27
- */
28
- var inferString = value =>
29
- value in CityTimezoneMode
30
- ? value
31
- : CityTimezoneMode['Unknown']
32
-
33
- export var inferCityTimezoneMode = value => {
34
- switch (typeof value) {
35
- case 'string':
36
- return inferString(value)
37
-
38
- case 'object':
39
- return inferString(value?.mode)
40
-
41
- default:
42
- return CityTimezoneMode['Unknown']
43
- }
44
- }
@@ -1,60 +0,0 @@
1
- export var CityVenuesMode = /** @type {const} */ ({
2
- 'Any': 'Any',
3
- 'None': 'None',
4
- 'Single': 'Single',
5
- 'Many': 'Many',
6
- 'Unknown': 'Unknown',
7
- })
8
-
9
- export var CityVenuesModes = [
10
- CityVenuesMode['Any'],
11
- CityVenuesMode['None'],
12
- CityVenuesMode['Single'],
13
- CityVenuesMode['Many'],
14
- CityVenuesMode['Unknown'],
15
- ]
16
-
17
- export var CityVenuesModeTitle = {
18
- [CityVenuesMode['None']]: 'Любые',
19
- [CityVenuesMode['None']]: 'Пусто',
20
- [CityVenuesMode['Single']]: 'Одно',
21
- [CityVenuesMode['Many']]: 'Несколько',
22
- [CityVenuesMode['Unknown']]: 'Неизвестно',
23
- }
24
-
25
- export var CityVenuesModeIcon = {
26
- [CityVenuesMode['Any']]: 'hero/outline/square-2-stack',
27
- [CityVenuesMode['None']]: 'hero/outline/no-symbol',
28
- [CityVenuesMode['Single']]: 'hero/outline/no-symbol',
29
- [CityVenuesMode['Many']]: 'hero/outline/no-symbol',
30
- [CityVenuesMode['Unknown']]: 'hero/outline/no-symbol',
31
- }
32
-
33
- /**
34
- * @returns {keyof typeof CityVenuesMode} value
35
- */
36
- var fromString = value =>
37
- value in CityVenuesMode
38
- ? value
39
- : CityVenuesMode['Unknown']
40
-
41
- /**
42
- * @returns {keyof typeof CityVenuesMode} value
43
- */
44
- var fromObject = value =>
45
- value?.mode in CityVenuesMode
46
- ? value.mode
47
- : CityVenuesMode['Unknown']
48
-
49
- export var inferCityVenuesMode = value => {
50
- switch (typeof value) {
51
- case 'string':
52
- return fromString(value)
53
-
54
- case 'object':
55
- return fromObject(value)
56
-
57
- default:
58
- return CityVenuesMode['Unknown']
59
- }
60
- }
@@ -1,40 +0,0 @@
1
- export var PasswordMode = /** @type {const} */ ({
2
- 'known': 'known',
3
- 'unknown': 'unknown',
4
- })
5
-
6
- export var PasswordModes = Object.values(PasswordMode)
7
-
8
- export var PasswordModeTitle = {
9
- [PasswordMode.known]: 'Назначен',
10
- [PasswordMode.unknown]: 'Неизвестно',
11
- }
12
-
13
- export var PasswordModeWeight = {
14
- [PasswordMode.known]: 0,
15
- [PasswordMode.unknown]: 1,
16
- }
17
-
18
- /**
19
- * @param {keyof typeof PasswordMode} value
20
- */
21
- var getter = value =>
22
- value in PasswordMode
23
- ? value
24
- : PasswordMode['unknown']
25
-
26
- export var getPasswordMode = value => {
27
- if (value === null)
28
- return getter(undefined)
29
-
30
- switch (typeof value) {
31
- case 'string':
32
- return getter(value)
33
-
34
- case 'object':
35
- return getter(value?.mode)
36
-
37
- default:
38
- return getter(undefined)
39
- }
40
- }
@@ -1,44 +0,0 @@
1
- export var VenueCityMode = /** @type {const} */ ({
2
- 'Any': 'Any',
3
- 'Known': 'Known',
4
- 'Unknown': 'Unknown',
5
- })
6
-
7
- export var VenueCityModes = [
8
- VenueCityMode['Any'],
9
- VenueCityMode['Known'],
10
- VenueCityMode['Unknown'],
11
- ]
12
-
13
- export var VenueCityModeTitle = /** @type {const} */ ({
14
- [VenueCityMode['Any']]: 'Любой',
15
- [VenueCityMode['Known']]: 'Назначен',
16
- [VenueCityMode['Unknown']]: 'Неизвестно',
17
- })
18
-
19
- export var VenueCityModeIcon = {
20
- [VenueCityMode['Any']]: 'hero/outline/square-2-stack',
21
- [VenueCityMode['Known']]: 'hero/outline/check',
22
- [VenueCityMode['Unknown']]: 'hero/outline/no-symbol',
23
- }
24
-
25
- /**
26
- * @returns {keyof typeof VenueCityMode}
27
- */
28
- var inferString = value =>
29
- value in VenueCityMode
30
- ? value
31
- : VenueCityMode['Unknown']
32
-
33
- export var inferVenueCityMode = value => {
34
- switch (typeof value) {
35
- case 'string':
36
- return inferString(value)
37
-
38
- case 'object':
39
- return inferString(value?.mode)
40
-
41
- default:
42
- return VenueCityMode['Unknown']
43
- }
44
- }