@shakerquiz/utilities 0.5.73 → 0.5.75

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.73",
4
+ "version": "0.5.75",
5
5
  "author": "yurkimus <yurkimus@gmail.com>",
6
6
  "license": "ISC",
7
7
  "repository": {
@@ -1,16 +1,14 @@
1
1
  export var CitiesMode = /** @type {const} */ ({
2
- 'known': 'known',
3
- 'unknown': 'unknown',
4
2
  'all': 'all',
5
3
  'many': 'many',
6
4
  'single': 'single',
7
5
  'none': 'none',
6
+ 'unknown': 'unknown',
8
7
  })
9
8
 
10
9
  export var CitiesModes = Object.values(CitiesMode)
11
10
 
12
11
  export var CitiesModeTitle = {
13
- [CitiesMode.known]: 'Любые',
14
12
  [CitiesMode.all]: 'Все',
15
13
  [CitiesMode.many]: 'Несколько',
16
14
  [CitiesMode.single]: 'Один',
@@ -19,29 +17,30 @@ export var CitiesModeTitle = {
19
17
  }
20
18
 
21
19
  export var CitiesModeWeigth = {
22
- [CitiesMode.known]: 0,
23
- [CitiesMode.all]: 1,
24
- [CitiesMode.many]: 2,
25
- [CitiesMode.single]: 3,
26
- [CitiesMode.none]: 4,
27
- [CitiesMode.unknown]: 5,
20
+ [CitiesMode.all]: 0,
21
+ [CitiesMode.many]: 1,
22
+ [CitiesMode.single]: 2,
23
+ [CitiesMode.none]: 3,
24
+ [CitiesMode.unknown]: 4,
28
25
  }
29
26
 
30
27
  /**
31
- * @param {*} value
28
+ * @param {keyof typeof CitiesMode} value
32
29
  */
30
+ var getter = value =>
31
+ value in CitiesMode
32
+ ? value
33
+ : CitiesMode['unknown']
34
+
33
35
  export var getCitiesMode = value => {
34
36
  switch (typeof value) {
35
37
  case 'string':
36
- return value
38
+ return getter(value)
37
39
 
38
40
  case 'object':
39
- if (typeof value?.mode === 'string')
40
- return value.mode
41
- else
42
- return CitiesMode.unknown
41
+ return getter(value?.mode)
43
42
 
44
43
  default:
45
- return CitiesMode.unknown
44
+ return getter(undefined)
46
45
  }
47
46
  }
@@ -0,0 +1,37 @@
1
+ export var PasswordMode = /** @type {const} */ ({
2
+ 'known': 'known',
3
+ 'unknown': 'unknown',
4
+ })
5
+
6
+ export var RoleModes = Object.values(PasswordMode)
7
+
8
+ export var RoleModeTitle = {
9
+ [PasswordMode.known]: 'Назначен',
10
+ [PasswordMode.unknown]: 'Неизвестно',
11
+ }
12
+
13
+ export var RoleModeWeight = {
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
+ switch (typeof value) {
28
+ case 'string':
29
+ return getter(value)
30
+
31
+ case 'object':
32
+ return getter(value?.mode)
33
+
34
+ default:
35
+ return getter(undefined)
36
+ }
37
+ }
@@ -16,20 +16,22 @@ export var RoleModeWeight = {
16
16
  }
17
17
 
18
18
  /**
19
- * @param {*} value
19
+ * @param {keyof typeof RoleMode} value
20
20
  */
21
+ var getter = value =>
22
+ value in RoleMode
23
+ ? value
24
+ : RoleMode['unknown']
25
+
21
26
  export var getRoleMode = value => {
22
27
  switch (typeof value) {
23
28
  case 'string':
24
- return value
29
+ return getter(value)
25
30
 
26
31
  case 'object':
27
- if (typeof value?.mode === 'string')
28
- return value.mode
29
- else
30
- return RoleMode.unknown
32
+ return getter(value?.mode)
31
33
 
32
34
  default:
33
- return RoleMode.unknown
35
+ return getter(undefined)
34
36
  }
35
37
  }
package/source/index.js CHANGED
@@ -12,6 +12,7 @@ export * from './enumerations/misc/routes.js'
12
12
  export * from './enumerations/entities/cities-mode.js'
13
13
  export * from './enumerations/entities/city-affilation.js'
14
14
  export * from './enumerations/entities/game-status.js'
15
+ export * from './enumerations/entities/password-mode.js'
15
16
  export * from './enumerations/entities/registration-attribute.js'
16
17
  export * from './enumerations/entities/registration-channel.js'
17
18
  export * from './enumerations/entities/registration-lineup.js'