@shakerquiz/utilities 0.5.132 → 0.5.134

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.
Files changed (32) hide show
  1. package/package.json +1 -1
  2. package/source/enumerations/display.js +4 -0
  3. package/source/enumerations/entities/registration-attribute.js +2 -2
  4. package/source/enumerations/entities/role.js +7 -7
  5. package/source/enumerations/method.js +44 -0
  6. package/source/enumerations/{entities/mode.js → mode.js} +4 -2
  7. package/source/enumerations/networks.js +31 -0
  8. package/source/enumerations/phases.js +31 -0
  9. package/source/enumerations/{misc/regexps.js → regexps.js} +0 -1
  10. package/source/enumerations/{misc/routes.js → routes.js} +360 -409
  11. package/source/enumerations/service.js +37 -0
  12. package/source/functions/hydrate-route-pathname.js +18 -0
  13. package/source/functions/route-key.js +17 -0
  14. package/source/functions/tag.js +3 -2
  15. package/source/index.js +22 -23
  16. package/source/enumerations/core/features.js +0 -56
  17. package/source/enumerations/core/methods.js +0 -16
  18. package/source/enumerations/core/networks.js +0 -6
  19. package/source/enumerations/entities/render-context.js +0 -8
  20. package/source/enumerations/misc/phases.js +0 -42
  21. package/source/functions/tag.d.ts +0 -1
  22. /package/source/enumerations/{entities/city → city}/timezone-mode.js +0 -0
  23. /package/source/enumerations/{entities/city → city}/venues-mode.js +0 -0
  24. /package/source/enumerations/{misc/constants.js → constants.js} +0 -0
  25. /package/source/enumerations/{entities/gender.js → gender.js} +0 -0
  26. /package/source/enumerations/{misc/icons.js → icons.js} +0 -0
  27. /package/source/enumerations/{misc/keys.js → keys.js} +0 -0
  28. /package/source/enumerations/{entities/numerosity.js → numerosity.js} +0 -0
  29. /package/source/enumerations/{core/runtimes.js → runtimes.js} +0 -0
  30. /package/source/enumerations/{entities/venue → venue}/audience.js +0 -0
  31. /package/source/enumerations/{entities/venue → venue}/city-mode.js +0 -0
  32. /package/source/enumerations/{entities/venue → venue}/status.js +0 -0
@@ -1,610 +1,561 @@
1
- export var Service = /** @type {const} */ ({
2
- 'Users': 'Users',
3
- 'Roles': 'Roles',
4
- 'Checkin': 'Checkin',
5
- 'Locations': 'Locations',
6
- 'Cities': 'Cities',
7
- 'Venues': 'Venues',
8
- 'Themes': 'Themes',
9
- 'Games': 'Games',
10
- 'Registrations': 'Registrations',
11
- 'Files': 'Files',
12
- 'Procedures': 'Procedures',
13
- 'Integrations': 'Integrations',
14
- 'Updates': 'Updates',
15
- 'Hub': 'Hub',
16
- 'Landing': 'Landing',
17
- 'Vkma': 'Vkma',
18
- })
19
-
20
- export var Services = Object.values(Service)
1
+ import { Mode } from './mode.js'
2
+ import { Numerosity } from './numerosity.js'
3
+ import { Service } from './service.js'
21
4
 
22
- export var SingularRoute = /** @type {const} */ ({
23
- 'user': 'user',
24
- 'user/password': 'user/password',
25
- 'user/role': 'user/role',
26
- 'user/cities': 'user/cities',
27
- 'role': 'role',
5
+ export var Route = /** @type {const} */ ({
28
6
  'checkin': 'checkin',
29
- 'country': 'country',
30
- 'currency': 'currency',
31
- 'timezone': 'timezone',
7
+ 'checkins': 'checkins',
8
+ 'cities': 'cities',
9
+ 'cities/country': 'cities/country',
10
+ 'cities/currency': 'cities/currency',
11
+ 'cities/timezone': 'cities/timezone',
12
+ 'cities/venues': 'cities/venues',
32
13
  'city': 'city',
33
14
  'city/country': 'city/country',
34
15
  'city/currency': 'city/currency',
35
16
  'city/timezone': 'city/timezone',
36
17
  'city/venues': 'city/venues',
37
- 'venue': 'venue',
38
- 'venue/city': 'venue/city',
39
- 'theme': 'theme',
40
- 'theme/cover': 'theme/cover',
18
+ 'countries': 'countries',
19
+ 'country': 'country',
20
+ 'currencies': 'currencies',
21
+ 'currency': 'currency',
41
22
  'game': 'game',
42
23
  'game/city': 'game/city',
43
- 'game/venue': 'game/venue',
44
- 'game/theme': 'game/theme',
45
24
  'game/registrations': 'game/registrations',
46
25
  'game/registrations/export': 'game/registrations/export',
47
26
  'game/summary': 'game/summary',
27
+ 'game/theme': 'game/theme',
28
+ 'game/venue': 'game/venue',
29
+ 'games': 'games',
30
+ 'games/city': 'games/city',
31
+ 'games/registrations': 'games/registrations',
32
+ 'games/registrations/export': 'games/registrations/export',
33
+ 'games/summary': 'games/summary',
34
+ 'games/theme': 'games/theme',
35
+ 'games/venue': 'games/venue',
48
36
  'registration': 'registration',
49
- 'registration/game': 'registration/game',
50
- 'registration/mailing': 'registration/mailing',
37
+ 'registration/cancellation': 'registration/cancellation',
51
38
  'registration/channel': 'registration/channel',
52
39
  'registration/confirmation': 'registration/confirmation',
53
- 'registration/cancellation': 'registration/cancellation',
54
40
  'registration/export': 'registration/export',
55
- })
56
-
57
- export var SingularRoutes = Object.values(SingularRoute)
58
-
59
- export var PluralRoute = /** @type {const} */ ({
41
+ 'registration/game': 'registration/game',
42
+ 'registration/mailing': 'registration/mailing',
43
+ 'registrations': 'registrations',
44
+ 'registrations/export': 'registrations/export',
45
+ 'role': 'role',
46
+ 'roles': 'roles',
47
+ 'theme': 'theme',
48
+ 'theme/cover': 'theme/cover',
49
+ 'themes': 'themes',
50
+ 'themes/cover': 'themes/cover',
51
+ 'timezone': 'timezone',
52
+ 'timezones': 'timezones',
53
+ 'user': 'user',
54
+ 'user/cities': 'user/cities',
55
+ 'user/password': 'user/password',
56
+ 'user/role': 'user/role',
60
57
  'users': 'users',
58
+ 'users/cities': 'users/cities',
61
59
  'users/password': 'users/password',
62
60
  'users/role': 'users/role',
63
- 'users/cities': 'users/cities',
64
- 'roles': 'roles',
65
- 'checkins': 'checkins',
66
- 'countries': 'countries',
67
- 'currencies': 'currencies',
68
- 'timezones': 'timezones',
69
- 'cities': 'cities',
70
- 'cities/country': 'cities/country',
71
- 'cities/currency': 'cities/currency',
72
- 'cities/timezone': 'cities/timezone',
73
- 'cities/venues': 'cities/venues',
61
+ 'venue': 'venue',
62
+ 'venue/city': 'venue/city',
74
63
  'venues': 'venues',
75
64
  'venues/city': 'venues/city',
76
- 'themes': 'themes',
77
- 'themes/cover': 'themes/cover',
78
- 'games': 'games',
79
- 'games/city': 'games/city',
80
- 'games/venue': 'games/venue',
81
- 'games/theme': 'games/theme',
82
- 'games/registrations': 'games/registrations',
83
- 'games/registrations/export': 'games/registrations/export',
84
- 'games/summary': 'games/summary',
85
- 'registrations': 'registrations',
86
- 'registrations/export': 'registrations/export',
87
65
  })
88
66
 
89
- export var PluralRoutes = Object.values(PluralRoute)
90
-
91
- export var Route = {
92
- ...SingularRoute,
93
- ...PluralRoute,
67
+ export var RouteNumerosity = {
68
+ [Route['checkin']]: Numerosity['Singular'],
69
+ [Route['checkins']]: Numerosity['Plural'],
70
+ [Route['cities']]: Numerosity['Plural'],
71
+ [Route['cities/country']]: Numerosity['Plural'],
72
+ [Route['cities/currency']]: Numerosity['Plural'],
73
+ [Route['cities/timezone']]: Numerosity['Plural'],
74
+ [Route['cities/venues']]: Numerosity['Plural'],
75
+ [Route['city']]: Numerosity['Singular'],
76
+ [Route['city/country']]: Numerosity['Singular'],
77
+ [Route['city/currency']]: Numerosity['Singular'],
78
+ [Route['city/timezone']]: Numerosity['Singular'],
79
+ [Route['city/venues']]: Numerosity['Singular'],
80
+ [Route['countries']]: Numerosity['Plural'],
81
+ [Route['country']]: Numerosity['Singular'],
82
+ [Route['currencies']]: Numerosity['Plural'],
83
+ [Route['currency']]: Numerosity['Singular'],
84
+ [Route['game']]: Numerosity['Singular'],
85
+ [Route['game/city']]: Numerosity['Singular'],
86
+ [Route['game/registrations']]: Numerosity['Singular'],
87
+ [Route['game/registrations/export']]: Numerosity['Singular'],
88
+ [Route['game/summary']]: Numerosity['Singular'],
89
+ [Route['game/theme']]: Numerosity['Singular'],
90
+ [Route['game/venue']]: Numerosity['Singular'],
91
+ [Route['games']]: Numerosity['Plural'],
92
+ [Route['games/city']]: Numerosity['Plural'],
93
+ [Route['games/registrations']]: Numerosity['Plural'],
94
+ [Route['games/registrations/export']]: Numerosity['Plural'],
95
+ [Route['games/summary']]: Numerosity['Plural'],
96
+ [Route['games/theme']]: Numerosity['Plural'],
97
+ [Route['games/venue']]: Numerosity['Plural'],
98
+ [Route['registration']]: Numerosity['Singular'],
99
+ [Route['registration/cancellation']]: Numerosity['Singular'],
100
+ [Route['registration/channel']]: Numerosity['Singular'],
101
+ [Route['registration/confirmation']]: Numerosity['Singular'],
102
+ [Route['registration/export']]: Numerosity['Singular'],
103
+ [Route['registration/game']]: Numerosity['Singular'],
104
+ [Route['registration/mailing']]: Numerosity['Singular'],
105
+ [Route['registrations']]: Numerosity['Plural'],
106
+ [Route['registrations/export']]: Numerosity['Plural'],
107
+ [Route['role']]: Numerosity['Singular'],
108
+ [Route['roles']]: Numerosity['Plural'],
109
+ [Route['theme']]: Numerosity['Singular'],
110
+ [Route['theme/cover']]: Numerosity['Singular'],
111
+ [Route['themes']]: Numerosity['Plural'],
112
+ [Route['themes/cover']]: Numerosity['Plural'],
113
+ [Route['timezone']]: Numerosity['Singular'],
114
+ [Route['timezones']]: Numerosity['Plural'],
115
+ [Route['user']]: Numerosity['Singular'],
116
+ [Route['user/cities']]: Numerosity['Singular'],
117
+ [Route['user/password']]: Numerosity['Singular'],
118
+ [Route['user/role']]: Numerosity['Singular'],
119
+ [Route['users']]: Numerosity['Plural'],
120
+ [Route['users/cities']]: Numerosity['Plural'],
121
+ [Route['users/password']]: Numerosity['Plural'],
122
+ [Route['users/role']]: Numerosity['Plural'],
123
+ [Route['venue']]: Numerosity['Singular'],
124
+ [Route['venue/city']]: Numerosity['Singular'],
125
+ [Route['venues']]: Numerosity['Plural'],
126
+ [Route['venues/city']]: Numerosity['Plural'],
94
127
  }
95
128
 
96
- export var SingularPluralRouteRelation = {
97
- [Route['user']]: Route['users'],
98
- [Route['user/password']]: Route['users/password'],
99
- [Route['user/role']]: Route['users/role'],
100
- [Route['user/cities']]: Route['users/cities'],
101
- [Route['role']]: Route['roles'],
129
+ export var Routes = Object.values(Route)
130
+
131
+ export var RouteRelation = {
102
132
  [Route['checkin']]: Route['checkins'],
103
- [Route['country']]: Route['countries'],
104
- [Route['currency']]: Route['currencies'],
105
- [Route['timezone']]: Route['timezones'],
133
+ [Route['checkins']]: Route['checkin'],
134
+ [Route['cities']]: Route['city'],
135
+ [Route['cities/country']]: Route['city/country'],
136
+ [Route['cities/currency']]: Route['city/currency'],
137
+ [Route['cities/timezone']]: Route['city/timezone'],
138
+ [Route['cities/venues']]: Route['city/venues'],
106
139
  [Route['city']]: Route['cities'],
107
140
  [Route['city/country']]: Route['cities/country'],
108
141
  [Route['city/currency']]: Route['cities/currency'],
109
142
  [Route['city/timezone']]: Route['cities/timezone'],
110
143
  [Route['city/venues']]: Route['cities/venues'],
111
- [Route['venue']]: Route['venues'],
112
- [Route['venue/city']]: Route['venues/city'],
113
- [Route['theme']]: Route['themes'],
114
- [Route['theme/cover']]: Route['themes/cover'],
144
+ [Route['countries']]: Route['country'],
145
+ [Route['country']]: Route['countries'],
146
+ [Route['currencies']]: Route['currency'],
147
+ [Route['currency']]: Route['currencies'],
115
148
  [Route['game']]: Route['games'],
116
149
  [Route['game/city']]: Route['games/city'],
117
- [Route['game/venue']]: Route['games/venue'],
118
- [Route['game/theme']]: Route['games/theme'],
119
150
  [Route['game/registrations']]: Route['games/registrations'],
120
151
  [Route['game/registrations/export']]: Route['games/registrations/export'],
121
152
  [Route['game/summary']]: Route['games/summary'],
122
- [Route['registration']]: Route['registrations'],
123
- [Route['registration/export']]: Route['registrations/export'],
124
- }
125
-
126
- export var PluralSingularRouteRelation = {
127
- [Route['roles']]: Route['role'],
128
- [Route['users']]: Route['user'],
129
- [Route['users/role']]: Route['user/role'],
130
- [Route['users/cities']]: Route['user/cities'],
131
- [Route['checkins']]: Route['checkin'],
132
- [Route['countries']]: Route['country'],
133
- [Route['currencies']]: Route['currency'],
134
- [Route['timezones']]: Route['timezone'],
135
- [Route['cities']]: Route['city'],
136
- [Route['cities/country']]: Route['city/country'],
137
- [Route['cities/currency']]: Route['city/currency'],
138
- [Route['cities/timezone']]: Route['city/timezone'],
139
- [Route['cities/venues']]: Route['city/venues'],
140
- [Route['venues']]: Route['venue'],
141
- [Route['venues/city']]: Route['venue/city'],
142
- [Route['themes']]: Route['theme'],
143
- [Route['themes/cover']]: Route['theme/cover'],
153
+ [Route['game/theme']]: Route['games/theme'],
154
+ [Route['game/venue']]: Route['games/venue'],
144
155
  [Route['games']]: Route['game'],
145
156
  [Route['games/city']]: Route['game/city'],
146
- [Route['games/venue']]: Route['game/venue'],
147
- [Route['games/theme']]: Route['game/theme'],
148
157
  [Route['games/registrations']]: Route['game/registrations'],
149
158
  [Route['games/registrations/export']]: Route['game/registrations/export'],
150
159
  [Route['games/summary']]: Route['game/summary'],
160
+ [Route['games/theme']]: Route['game/theme'],
161
+ [Route['games/venue']]: Route['game/venue'],
162
+ [Route['registration']]: Route['registrations'],
163
+ [Route['registration/export']]: Route['registrations/export'],
151
164
  [Route['registrations']]: Route['registration'],
152
165
  [Route['registrations/export']]: Route['registration/export'],
166
+ [Route['role']]: Route['roles'],
167
+ [Route['roles']]: Route['role'],
168
+ [Route['theme']]: Route['themes'],
169
+ [Route['theme/cover']]: Route['themes/cover'],
170
+ [Route['themes']]: Route['theme'],
171
+ [Route['themes/cover']]: Route['theme/cover'],
172
+ [Route['timezone']]: Route['timezones'],
173
+ [Route['timezones']]: Route['timezone'],
174
+ [Route['user']]: Route['users'],
175
+ [Route['user/cities']]: Route['users/cities'],
176
+ [Route['user/password']]: Route['users/password'],
177
+ [Route['user/role']]: Route['users/role'],
178
+ [Route['users']]: Route['user'],
179
+ [Route['users/cities']]: Route['user/cities'],
180
+ [Route['users/role']]: Route['user/role'],
181
+ [Route['venue']]: Route['venues'],
182
+ [Route['venue/city']]: Route['venues/city'],
183
+ [Route['venues']]: Route['venue'],
184
+ [Route['venues/city']]: Route['venue/city'],
153
185
  }
154
186
 
155
- export var Routes = Object.values(Route)
156
-
157
187
  export var RoutePathname = /** @type {const} */ ({
158
- [Route['user']]: 'user/:user',
159
- [Route['user/password']]: 'user/:user/password',
160
- [Route['user/role']]: 'user/:user/role',
161
- [Route['user/cities']]: 'user/:user/cities',
162
-
163
- [Route['users']]: 'users',
164
- [Route['users/role']]: 'users/role',
165
- [Route['users/cities']]: 'users/cities',
166
-
167
- [Route['role']]: 'role/:role',
168
-
169
- [Route['roles']]: 'roles',
170
-
171
188
  [Route['checkin']]: 'checkin',
172
-
173
189
  [Route['checkins']]: 'checkins',
174
-
175
- [Route['country']]: 'country/:country',
176
-
177
- [Route['countries']]: 'countries',
178
-
179
- [Route['currency']]: 'currency/:currency',
180
-
181
- [Route['currencies']]: 'currencies',
182
-
183
- [Route['timezone']]: 'timezone/:timezone',
184
-
185
- [Route['timezones']]: 'timezones',
186
-
187
- [Route['city']]: 'city/:city',
188
- [Route['city/country']]: 'city/:city/country',
189
- [Route['city/currency']]: 'city/:city/currency',
190
- [Route['city/timezone']]: 'city/:city/timezone',
191
- [Route['city/venues']]: 'city/:city/venues',
192
-
193
190
  [Route['cities']]: 'cities',
194
191
  [Route['cities/country']]: 'cities/country',
195
192
  [Route['cities/currency']]: 'cities/currency',
196
193
  [Route['cities/timezone']]: 'cities/timezone',
197
194
  [Route['cities/venues']]: 'cities/venues',
198
-
199
- [Route['venue']]: 'venue/:venue',
200
- [Route['venue/city']]: 'venue/:venue/city',
201
-
202
- [Route['venues']]: 'venues',
203
- [Route['venues/city']]: 'venues/city',
204
-
205
- [Route['theme']]: 'theme/:theme',
206
- [Route['theme/cover']]: 'theme/:theme/cover',
207
-
208
- [Route['themes']]: 'themes',
209
- [Route['themes/cover']]: 'themes/cover',
210
-
195
+ [Route['city']]: 'city/:city',
196
+ [Route['city/country']]: 'city/:city/country',
197
+ [Route['city/currency']]: 'city/:city/currency',
198
+ [Route['city/timezone']]: 'city/:city/timezone',
199
+ [Route['city/venues']]: 'city/:city/venues',
200
+ [Route['countries']]: 'countries',
201
+ [Route['country']]: 'country/:country',
202
+ [Route['currencies']]: 'currencies',
203
+ [Route['currency']]: 'currency/:currency',
211
204
  [Route['game']]: 'game/:game',
212
205
  [Route['game/city']]: 'game/:game/city',
213
- [Route['game/venue']]: 'game/:game/venue',
214
- [Route['game/theme']]: 'game/:game/theme',
215
206
  [Route['game/registrations']]: 'game/:game/registrations',
216
207
  [Route['game/registrations/export']]: 'game/:game/registrations/export',
217
208
  [Route['game/summary']]: 'game/:game/summary',
218
-
209
+ [Route['game/theme']]: 'game/:game/theme',
210
+ [Route['game/venue']]: 'game/:game/venue',
219
211
  [Route['games']]: 'games',
220
212
  [Route['games/city']]: 'games/city',
221
- [Route['games/venue']]: 'games/venue',
222
- [Route['games/theme']]: 'games/theme',
223
213
  [Route['games/registrations']]: 'games/registrations',
224
214
  [Route['games/registrations/export']]: 'games/registrations/export',
225
215
  [Route['games/summary']]: 'games/summary',
226
-
216
+ [Route['games/theme']]: 'games/theme',
217
+ [Route['games/venue']]: 'games/venue',
227
218
  [Route['registration']]: 'registration/:registration',
228
- [Route['registration/game']]: 'registration/:registration/game',
229
- [Route['registration/mailing']]: 'registration/:registration/mailing',
219
+ [Route['registration/cancellation']]: 'registration/:registration/cancellation',
230
220
  [Route['registration/channel']]: 'registration/:registration/channel',
231
221
  [Route['registration/confirmation']]: 'registration/:registration/confirmation',
232
- [Route['registration/cancellation']]: 'registration/:registration/cancellation',
233
222
  [Route['registration/export']]: 'registration/:registration/export',
234
-
223
+ [Route['registration/game']]: 'registration/:registration/game',
224
+ [Route['registration/mailing']]: 'registration/:registration/mailing',
235
225
  [Route['registrations']]: 'registrations',
236
226
  [Route['registrations/export']]: 'registrations/export',
227
+ [Route['role']]: 'role/:role',
228
+ [Route['roles']]: 'roles',
229
+ [Route['theme']]: 'theme/:theme',
230
+ [Route['theme/cover']]: 'theme/:theme/cover',
231
+ [Route['themes']]: 'themes',
232
+ [Route['themes/cover']]: 'themes/cover',
233
+ [Route['timezone']]: 'timezone/:timezone',
234
+ [Route['timezones']]: 'timezones',
235
+ [Route['user']]: 'user/:user',
236
+ [Route['user/cities']]: 'user/:user/cities',
237
+ [Route['user/password']]: 'user/:user/password',
238
+ [Route['user/role']]: 'user/:user/role',
239
+ [Route['users']]: 'users',
240
+ [Route['users/cities']]: 'users/cities',
241
+ [Route['users/role']]: 'users/role',
242
+ [Route['venue']]: 'venue/:venue',
243
+ [Route['venue/city']]: 'venue/:venue/city',
244
+ [Route['venues']]: 'venues',
245
+ [Route['venues/city']]: 'venues/city',
237
246
  })
238
247
 
239
248
  export var RoutePathnames = Object.values(RoutePathname)
240
249
 
241
250
  export var RouteParams = /** @type {const} */ ({
242
- [Route['user']]: [':user'],
243
- [Route['user/password']]: [':user'],
244
- [Route['user/role']]: [':user'],
245
- [Route['user/cities']]: [':user'],
246
-
247
- [Route['users']]: [],
248
- [Route['users/role']]: [],
249
- [Route['users/cities']]: [],
250
-
251
- [Route['role']]: [':role'],
252
-
253
- [Route['roles']]: [],
254
-
255
251
  [Route['checkin']]: [],
256
-
257
252
  [Route['checkins']]: [],
258
-
259
- [Route['country']]: [':country'],
260
-
261
- [Route['countries']]: [],
262
-
263
- [Route['currency']]: [':currency'],
264
-
265
- [Route['currencies']]: [],
266
-
267
- [Route['timezone']]: [':timezone'],
268
-
269
- [Route['timezones']]: [],
270
-
271
- [Route['city']]: [':city'],
272
- [Route['city/country']]: [':city'],
273
- [Route['city/currency']]: [':city'],
274
- [Route['city/timezone']]: [':city'],
275
- [Route['city/venues']]: [':city'],
276
-
277
253
  [Route['cities']]: [],
278
254
  [Route['cities/country']]: [],
279
255
  [Route['cities/currency']]: [],
280
256
  [Route['cities/timezone']]: [],
281
257
  [Route['cities/venues']]: [],
282
-
283
- [Route['venue']]: [':venue'],
284
- [Route['venue/city']]: [':venue'],
285
-
286
- [Route['venues']]: [],
287
- [Route['venues/city']]: [],
288
-
289
- [Route['theme']]: [':theme'],
290
- [Route['theme/cover']]: [':theme'],
291
-
292
- [Route['themes']]: [],
293
- [Route['themes/cover']]: [],
294
-
258
+ [Route['city']]: [':city'],
259
+ [Route['city/country']]: [':city'],
260
+ [Route['city/currency']]: [':city'],
261
+ [Route['city/timezone']]: [':city'],
262
+ [Route['city/venues']]: [':city'],
263
+ [Route['countries']]: [],
264
+ [Route['country']]: [':country'],
265
+ [Route['currencies']]: [],
266
+ [Route['currency']]: [':currency'],
295
267
  [Route['game']]: [':game'],
296
268
  [Route['game/city']]: [':game'],
297
- [Route['game/venue']]: [':game'],
298
- [Route['game/theme']]: [':game'],
299
269
  [Route['game/registrations']]: [':game'],
300
270
  [Route['game/registrations/export']]: [':game'],
301
271
  [Route['game/summary']]: [':game'],
302
-
272
+ [Route['game/theme']]: [':game'],
273
+ [Route['game/venue']]: [':game'],
303
274
  [Route['games']]: [],
304
275
  [Route['games/city']]: [],
305
- [Route['games/venue']]: [],
306
- [Route['games/theme']]: [],
307
276
  [Route['games/registrations']]: [],
308
277
  [Route['games/registrations/export']]: [],
309
278
  [Route['games/summary']]: [],
310
-
279
+ [Route['games/theme']]: [],
280
+ [Route['games/venue']]: [],
311
281
  [Route['registration']]: [':registration'],
312
- [Route['registration/game']]: [':registration'],
313
- [Route['registration/mailing']]: [':registration'],
282
+ [Route['registration/cancellation']]: [':registration'],
314
283
  [Route['registration/channel']]: [':registration'],
315
284
  [Route['registration/confirmation']]: [':registration'],
316
- [Route['registration/cancellation']]: [':registration'],
317
285
  [Route['registration/export']]: [':registration'],
318
-
286
+ [Route['registration/game']]: [':registration'],
287
+ [Route['registration/mailing']]: [':registration'],
319
288
  [Route['registrations']]: [],
320
289
  [Route['registrations/export']]: [],
290
+ [Route['role']]: [':role'],
291
+ [Route['roles']]: [],
292
+ [Route['theme']]: [':theme'],
293
+ [Route['theme/cover']]: [':theme'],
294
+ [Route['themes']]: [],
295
+ [Route['themes/cover']]: [],
296
+ [Route['timezone']]: [':timezone'],
297
+ [Route['timezones']]: [],
298
+ [Route['user']]: [':user'],
299
+ [Route['user/cities']]: [':user'],
300
+ [Route['user/password']]: [':user'],
301
+ [Route['user/role']]: [':user'],
302
+ [Route['users']]: [],
303
+ [Route['users/cities']]: [],
304
+ [Route['users/role']]: [],
305
+ [Route['venue']]: [':venue'],
306
+ [Route['venue/city']]: [':venue'],
307
+ [Route['venues']]: [],
308
+ [Route['venues/city']]: [],
321
309
  })
322
310
 
323
311
  export var RouteService = {
324
- [Route['user']]: Service.Users,
325
- [Route['user/password']]: Service.Users,
326
- [Route['user/role']]: Service.Users,
327
- [Route['user/cities']]: Service.Users,
328
-
329
- [Route['users']]: Service.Users,
330
- [Route['users/role']]: Service.Users,
331
- [Route['users/cities']]: Service.Users,
332
-
333
- [Route['role']]: Service.Roles,
334
-
335
- [Route['roles']]: Service.Roles,
336
-
337
- [Route['checkin']]: Service.Checkin,
338
-
339
- [Route['country']]: Service.Locations,
340
-
341
- [Route['countries']]: Service.Locations,
342
-
343
- [Route['currency']]: Service.Locations,
344
-
345
- [Route['currencies']]: Service.Locations,
346
-
347
- [Route['timezone']]: Service.Locations,
348
-
349
- [Route['timezones']]: Service.Locations,
350
-
351
- [Route['city']]: Service.Cities,
352
- [Route['city/country']]: Service.Cities,
353
- [Route['city/currency']]: Service.Cities,
354
- [Route['city/timezone']]: Service.Cities,
355
- [Route['city/venues']]: Service.Cities,
356
-
357
- [Route['cities']]: Service.Cities,
358
- [Route['cities/country']]: Service.Cities,
359
- [Route['cities/currency']]: Service.Cities,
360
- [Route['cities/timezone']]: Service.Cities,
361
- [Route['cities/venues']]: Service.Cities,
362
-
363
- [Route['venue']]: Service.Venues,
364
- [Route['venue/city']]: Service.Venues,
365
-
366
- [Route['venues']]: Service.Venues,
367
- [Route['venues/city']]: Service.Venues,
368
-
369
- [Route['theme']]: Service.Themes,
370
- [Route['theme/cover']]: Service.Themes,
371
-
372
- [Route['themes']]: Service.Themes,
373
- [Route['themes/cover']]: Service.Themes,
374
-
375
- [Route['game']]: Service.Games,
376
- [Route['game/city']]: Service.Games,
377
- [Route['game/venue']]: Service.Games,
378
- [Route['game/theme']]: Service.Games,
379
- [Route['game/registrations']]: Service.Games,
380
- [Route['game/registrations/export']]: Service.Games,
381
- [Route['game/summary']]: Service.Games,
382
-
383
- [Route['games']]: Service.Games,
384
- [Route['games/city']]: Service.Games,
385
- [Route['games/venue']]: Service.Games,
386
- [Route['games/theme']]: Service.Games,
387
- [Route['games/registrations']]: Service.Games,
388
- [Route['games/registrations/export']]: Service.Games,
389
- [Route['games/summary']]: Service.Games,
390
-
391
- [Route['registration']]: Service.Registrations,
392
- [Route['registration/game']]: Service.Registrations,
393
- [Route['registration/mailing']]: Service.Registrations,
394
- [Route['registration/channel']]: Service.Registrations,
395
- [Route['registration/confirmation']]: Service.Registrations,
396
- [Route['registration/cancellation']]: Service.Registrations,
397
-
398
- [Route['registrations']]: Service.Registrations,
399
- [Route['registrations/export']]: Service.Registrations,
312
+ [Route['checkin']]: Service['Checkin'],
313
+ [Route['cities']]: Service['Cities'],
314
+ [Route['cities/country']]: Service['Cities'],
315
+ [Route['cities/currency']]: Service['Cities'],
316
+ [Route['cities/timezone']]: Service['Cities'],
317
+ [Route['cities/venues']]: Service['Cities'],
318
+ [Route['city']]: Service['Cities'],
319
+ [Route['city/country']]: Service['Cities'],
320
+ [Route['city/currency']]: Service['Cities'],
321
+ [Route['city/timezone']]: Service['Cities'],
322
+ [Route['city/venues']]: Service['Cities'],
323
+ [Route['countries']]: Service['Locations'],
324
+ [Route['country']]: Service['Locations'],
325
+ [Route['currencies']]: Service['Locations'],
326
+ [Route['currency']]: Service['Locations'],
327
+ [Route['game']]: Service['Games'],
328
+ [Route['game/city']]: Service['Games'],
329
+ [Route['game/registrations']]: Service['Games'],
330
+ [Route['game/registrations/export']]: Service['Games'],
331
+ [Route['game/summary']]: Service['Games'],
332
+ [Route['game/theme']]: Service['Games'],
333
+ [Route['game/venue']]: Service['Games'],
334
+ [Route['games']]: Service['Games'],
335
+ [Route['games/city']]: Service['Games'],
336
+ [Route['games/registrations']]: Service['Games'],
337
+ [Route['games/registrations/export']]: Service['Games'],
338
+ [Route['games/summary']]: Service['Games'],
339
+ [Route['games/theme']]: Service['Games'],
340
+ [Route['games/venue']]: Service['Games'],
341
+ [Route['registration']]: Service['Registrations'],
342
+ [Route['registration/cancellation']]: Service['Registrations'],
343
+ [Route['registration/channel']]: Service['Registrations'],
344
+ [Route['registration/confirmation']]: Service['Registrations'],
345
+ [Route['registration/game']]: Service['Registrations'],
346
+ [Route['registration/mailing']]: Service['Registrations'],
347
+ [Route['registrations']]: Service['Registrations'],
348
+ [Route['registrations/export']]: Service['Registrations'],
349
+ [Route['role']]: Service['Roles'],
350
+ [Route['roles']]: Service['Roles'],
351
+ [Route['theme']]: Service['Themes'],
352
+ [Route['theme/cover']]: Service['Themes'],
353
+ [Route['themes']]: Service['Themes'],
354
+ [Route['themes/cover']]: Service['Themes'],
355
+ [Route['timezone']]: Service['Locations'],
356
+ [Route['timezones']]: Service['Locations'],
357
+ [Route['user']]: Service['Users'],
358
+ [Route['user/cities']]: Service['Users'],
359
+ [Route['user/password']]: Service['Users'],
360
+ [Route['user/role']]: Service['Users'],
361
+ [Route['users']]: Service['Users'],
362
+ [Route['users/cities']]: Service['Users'],
363
+ [Route['users/role']]: Service['Users'],
364
+ [Route['venue']]: Service['Venues'],
365
+ [Route['venue/city']]: Service['Venues'],
366
+ [Route['venues']]: Service['Venues'],
367
+ [Route['venues/city']]: Service['Venues'],
400
368
  }
401
369
 
402
370
  export var ServiceRoutes = {
403
- [Service.Users]: [
371
+ [Service['Users']]: [
404
372
  Route['user'],
373
+ Route['user/cities'],
405
374
  Route['user/password'],
406
375
  Route['user/role'],
407
- Route['user/cities'],
408
376
  Route['users'],
409
- Route['users/role'],
410
377
  Route['users/cities'],
378
+ Route['users/role'],
411
379
  ],
412
380
 
413
- [Service.Roles]: [
381
+ [Service['Roles']]: [
414
382
  Route['role'],
415
383
  Route['roles'],
416
384
  ],
417
385
 
418
- [Service.Checkin]: [
386
+ [Service['Checkin']]: [
419
387
  Route['checkin'],
420
388
  ],
421
389
 
422
- [Service.Locations]: [
423
- Route['country'],
390
+ [Service['Locations']]: [
424
391
  Route['countries'],
425
- Route['currency'],
392
+ Route['country'],
426
393
  Route['currencies'],
394
+ Route['currency'],
427
395
  Route['timezone'],
428
396
  Route['timezones'],
429
397
  ],
430
398
 
431
- [Service.Cities]: [
432
- Route['city'],
433
- Route['city/country'],
434
- Route['city/currency'],
435
- Route['city/timezone'],
436
- Route['city/venues'],
399
+ [Service['Cities']]: [
437
400
  Route['cities'],
438
401
  Route['cities/country'],
439
402
  Route['cities/currency'],
440
403
  Route['cities/timezone'],
441
404
  Route['cities/venues'],
405
+ Route['city'],
406
+ Route['city/country'],
407
+ Route['city/currency'],
408
+ Route['city/timezone'],
409
+ Route['city/venues'],
442
410
  ],
443
411
 
444
- [Service.Venues]: [
412
+ [Service['Venues']]: [
445
413
  Route['venue'],
446
414
  Route['venue/city'],
447
415
  Route['venues'],
448
416
  Route['venues/city'],
449
417
  ],
450
418
 
451
- [Service.Themes]: [
419
+ [Service['Themes']]: [
452
420
  Route['theme'],
453
421
  Route['theme/cover'],
454
422
  Route['themes'],
455
423
  Route['themes/cover'],
456
424
  ],
457
425
 
458
- [Service.Games]: [
426
+ [Service['Games']]: [
459
427
  Route['game'],
460
428
  Route['game/city'],
461
- Route['game/venue'],
462
- Route['game/theme'],
463
429
  Route['game/registrations'],
464
430
  Route['game/registrations/export'],
465
431
  Route['game/summary'],
432
+ Route['game/theme'],
433
+ Route['game/venue'],
466
434
  Route['games'],
467
435
  Route['games/city'],
468
- Route['games/venue'],
469
- Route['games/theme'],
470
436
  Route['games/registrations'],
471
437
  Route['games/registrations/export'],
472
438
  Route['games/summary'],
439
+ Route['games/theme'],
440
+ Route['games/venue'],
473
441
  ],
474
442
 
475
- [Service.Registrations]: [
443
+ [Service['Registrations']]: [
476
444
  Route['registration'],
477
- Route['registration/game'],
478
- Route['registration/mailing'],
445
+ Route['registration/cancellation'],
479
446
  Route['registration/channel'],
480
447
  Route['registration/confirmation'],
481
- Route['registration/cancellation'],
448
+ Route['registration/game'],
449
+ Route['registration/mailing'],
482
450
  Route['registrations'],
483
451
  Route['registrations/export'],
484
452
  ],
485
453
 
486
- [Service.Procedures]: [],
454
+ [Service['Procedures']]: [],
487
455
 
488
- [Service.Integrations]: [],
456
+ [Service['Integrations']]: [],
489
457
 
490
- [Service.Updates]: [],
458
+ [Service['Updates']]: [],
491
459
 
492
- [Service.Hub]: [],
460
+ [Service['Hub']]: [],
493
461
 
494
- [Service.Landing]: [],
462
+ [Service['Landing']]: [],
495
463
 
496
- [Service.Vkma]: [],
464
+ [Service['Vkma']]: [],
497
465
  }
498
466
 
499
467
  /**
500
- * @param {keyof Route} value
468
+ * @returns {typeof Route[keyof typeof Route] | typeof Mode['Unknown']}
501
469
  */
502
- export var getRoute = value => {
503
- if (!(value in Route))
504
- throw TypeError(`[getRoute] Route '${value}' must be a member of Route.`)
505
-
506
- return Route[value]
507
- }
470
+ export var inferRoute = value =>
471
+ value in Route
472
+ ? Route[value]
473
+ : Mode['Unknown']
508
474
 
509
475
  /**
510
- * @param {keyof Route} value
476
+ * @throws {TypeError}
511
477
  */
512
- export var getRouteKind = value => {
513
- var route = getRoute(value)
514
-
515
- if (SingularRoutes.includes(route))
516
- return 'Singular'
517
- else if (PluralRoutes.includes(route))
518
- return 'Plural'
519
- else
520
- return 'Unknown'
521
- }
522
-
523
- /**
524
- * @param {keyof typeof Route} value
525
- *
526
- * @returns {keyof typeof Service}
527
- */
528
- export var getRouteService = value => {
529
- var route = getRoute(value)
478
+ export var guardRoute = value => {
479
+ var route = inferRoute(value)
530
480
 
531
- if (!(route in RouteService))
532
- throw TypeError(
533
- `[getRouteService] Route '${route}' must be a member of RouteService.`,
534
- )
481
+ if (route === Mode['Unknown'])
482
+ throw TypeError(`Cannot infer Route for '${value}'.`)
535
483
 
536
- return RouteService[route]
484
+ return route
537
485
  }
538
486
 
539
487
  /**
540
- * @param {keyof Route} value
488
+ * @returns {typeof RouteNumerosity[keyof typeof RouteNumerosity] | typeof Mode['Unknown']}
541
489
  */
542
- export var getSingularPluralRouteRelation = value => {
543
- var route = getRoute(value)
544
-
545
- if (!(route in SingularPluralRouteRelation))
546
- throw TypeError(
547
- `[getSingularPluralRouteRelation] Route '${route}' must be a member of SingularPluralRouteRelation.`,
548
- )
490
+ export var inferRouteNumerosity = value =>
491
+ value in RouteNumerosity
492
+ ? RouteNumerosity[value]
493
+ : Mode['Unknown']
549
494
 
550
- return SingularPluralRouteRelation[route]
551
- }
495
+ /**
496
+ * @returns {typeof RouteService[keyof typeof RouteService] | typeof Mode['Unknown']}
497
+ */
498
+ export var inferRouteService = value =>
499
+ value in RouteService
500
+ ? RouteService[value]
501
+ : Mode['Unknown']
552
502
 
553
- export var getPluralSingularRouteRelation = value => {
554
- var route = getRoute(value)
503
+ /**
504
+ * @throws {TypeError}
505
+ */
506
+ export var guardRouteService = value => {
507
+ var service = inferRouteService(value)
555
508
 
556
- if (!(route in PluralSingularRouteRelation))
557
- throw TypeError(
558
- `[getPluralSingularRouteRelation] Route '${route}' must be a member of PluralSingularRouteRelation.`,
559
- )
509
+ if (service === Mode['Unknown'])
510
+ throw TypeError(`Cannot infer RouteService for '${value}'.`)
560
511
 
561
- return PluralSingularRouteRelation[route]
512
+ return service
562
513
  }
563
514
 
564
515
  /**
565
- * @param {keyof Route} value
516
+ * @returns {typeof RouteRelation[keyof typeof RouteRelation] | typeof Mode['Unknown']}
566
517
  */
567
- export var getRoutePathname = value => {
568
- var route = getRoute(value)
569
-
570
- if (!(route in RoutePathname))
571
- throw TypeError(`[getRoutePathname] Route '${route}' must be a member of RoutePathname.`)
518
+ export var inferRouteRelation = value =>
519
+ value in RouteRelation
520
+ ? RouteRelation[value]
521
+ : Mode['Unknown']
572
522
 
573
- return RoutePathname[route]
574
- }
523
+ /**
524
+ * @returns {typeof RoutePathname[keyof typeof RoutePathname] | typeof Mode['Unknown']}
525
+ */
526
+ export var inferRoutePathname = value =>
527
+ value in RoutePathname
528
+ ? RoutePathname[value]
529
+ : Mode['Unknown']
575
530
 
576
531
  /**
577
- * @param {keyof Route} value
532
+ * @throws {TypeError}
578
533
  */
579
- export var getRoutePathnamePattern = value => {
580
- var route = getRoute(value)
534
+ export var guardRoutePathname = value => {
535
+ var pathname = inferRoutePathname(value)
581
536
 
582
- if (!(route in RoutePathname))
583
- throw TypeError(`[getRoutePathname] Route '${route}' must be a member of RoutePathname.`)
537
+ if (pathname === Mode['Unknown'])
538
+ throw TypeError(`Cannot infer RoutePathname for '${value}'.`)
584
539
 
585
- return new URLPattern({ pathname: '/' + RoutePathname[route] })
540
+ return pathname
586
541
  }
587
542
 
588
- export var hydrateRoutePathname = (value, parameters) => {
589
- var route = getRoute(value)
590
- var pathname = getRoutePathname(route)
591
- var params = getRouteParams(route)
592
-
593
- return params.reduce(
594
- (pathname, param, index) => pathname.replace(param, parameters[index]),
595
- pathname,
596
- )
597
- }
543
+ /**
544
+ * @returns {typeof RouteParams[keyof typeof RouteParams] | typeof Mode['Unknown']}
545
+ */
546
+ export var inferRouteParams = value =>
547
+ value in RouteParams
548
+ ? RouteParams[value]
549
+ : Mode['Unknown']
598
550
 
599
551
  /**
600
- * @param {keyof Route} value
601
- * @returns
552
+ * @throws {TypeError}
602
553
  */
603
- export var getRouteParams = value => {
604
- var route = getRoute(value)
554
+ export var guardRouteParams = value => {
555
+ var params = inferRouteParams(value)
605
556
 
606
- if (!(route in RouteParams))
607
- throw TypeError(`[getRouteParams] Route '${route}' must be a member of RouteParams.`)
557
+ if (params === Mode['Unknown'])
558
+ throw TypeError(`Cannot infer RouteParams for '${value}'.`)
608
559
 
609
- return RouteParams[route]
560
+ return params
610
561
  }