@shakerquiz/utilities 0.5.172 → 0.5.173
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
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const Cardinality = Object.freeze({
|
|
2
|
+
'1': '1',
|
|
3
|
+
'1-1': '1-1',
|
|
4
|
+
'1-N': '1-N',
|
|
5
|
+
'N': 'N',
|
|
6
|
+
'N-1': 'N-1',
|
|
7
|
+
'N-N': 'N-N',
|
|
8
|
+
})
|
|
9
|
+
|
|
10
|
+
/** @returns {keyof typeof Cardinality | 'Unknown'} */
|
|
11
|
+
export const inferCardinality = x => Cardinality[x] ?? 'Unknown'
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { Cardinality } from './cardinality.js'
|
|
1
2
|
import { Kind } from './kind.js'
|
|
2
3
|
import { Numerosity } from './numerosity.js'
|
|
3
4
|
import { Service } from './service.js'
|
|
4
5
|
|
|
5
6
|
export const Route = Object.freeze({
|
|
6
7
|
'checkin': 'checkin',
|
|
7
|
-
'checkins': 'checkins',
|
|
8
8
|
'cities': 'cities',
|
|
9
9
|
'cities/country': 'cities/country',
|
|
10
10
|
'cities/currency': 'cities/currency',
|
|
@@ -14,6 +14,7 @@ export const Route = Object.freeze({
|
|
|
14
14
|
'city/country': 'city/country',
|
|
15
15
|
'city/currency': 'city/currency',
|
|
16
16
|
'city/timezone': 'city/timezone',
|
|
17
|
+
'city/venue': 'city/venue',
|
|
17
18
|
'city/venues': 'city/venues',
|
|
18
19
|
'countries': 'countries',
|
|
19
20
|
'country': 'country',
|
|
@@ -21,6 +22,7 @@ export const Route = Object.freeze({
|
|
|
21
22
|
'currency': 'currency',
|
|
22
23
|
'game': 'game',
|
|
23
24
|
'game/city': 'game/city',
|
|
25
|
+
'game/registration': 'game/registration',
|
|
24
26
|
'game/registrations': 'game/registrations',
|
|
25
27
|
'game/registrations/export': 'game/registrations/export',
|
|
26
28
|
'game/summary': 'game/summary',
|
|
@@ -52,6 +54,7 @@ export const Route = Object.freeze({
|
|
|
52
54
|
'timezones': 'timezones',
|
|
53
55
|
'user': 'user',
|
|
54
56
|
'user/cities': 'user/cities',
|
|
57
|
+
'user/city': 'user/city',
|
|
55
58
|
'user/password': 'user/password',
|
|
56
59
|
'user/role': 'user/role',
|
|
57
60
|
'users': 'users',
|
|
@@ -64,6 +67,64 @@ export const Route = Object.freeze({
|
|
|
64
67
|
'venues/city': 'venues/city',
|
|
65
68
|
})
|
|
66
69
|
|
|
70
|
+
export const RouteCardinality = Object.freeze({
|
|
71
|
+
[Route['checkin']]: Cardinality['1'],
|
|
72
|
+
[Route['cities']]: Cardinality['N'],
|
|
73
|
+
[Route['cities/country']]: Cardinality['N-1'],
|
|
74
|
+
[Route['cities/currency']]: Cardinality['N-1'],
|
|
75
|
+
[Route['cities/timezone']]: Cardinality['N-1'],
|
|
76
|
+
[Route['cities/venues']]: Cardinality['N-N'],
|
|
77
|
+
[Route['city']]: Cardinality['1'],
|
|
78
|
+
[Route['city/country']]: Cardinality['1-1'],
|
|
79
|
+
[Route['city/currency']]: Cardinality['1-1'],
|
|
80
|
+
[Route['city/timezone']]: Cardinality['1-1'],
|
|
81
|
+
[Route['city/venue']]: Cardinality['1-1'],
|
|
82
|
+
[Route['city/venues']]: Cardinality['1-N'],
|
|
83
|
+
[Route['countries']]: Cardinality['N'],
|
|
84
|
+
[Route['country']]: Cardinality['1'],
|
|
85
|
+
[Route['currencies']]: Cardinality['N'],
|
|
86
|
+
[Route['currency']]: Cardinality['1'],
|
|
87
|
+
[Route['game']]: Cardinality['1'],
|
|
88
|
+
[Route['game/city']]: Cardinality['1-1'],
|
|
89
|
+
[Route['game/registration']]: Cardinality['1-1'],
|
|
90
|
+
[Route['game/registrations']]: Cardinality['1-N'],
|
|
91
|
+
[Route['game/registrations/export']]: Cardinality['1'],
|
|
92
|
+
[Route['game/summary']]: Cardinality['1-1'],
|
|
93
|
+
[Route['game/theme']]: Cardinality['1-1'],
|
|
94
|
+
[Route['game/venue']]: Cardinality['1-1'],
|
|
95
|
+
[Route['games']]: Cardinality['N'],
|
|
96
|
+
[Route['games/city']]: Cardinality['N-1'],
|
|
97
|
+
[Route['games/registrations']]: Cardinality['N-N'],
|
|
98
|
+
[Route['games/registrations/export']]: Cardinality['1'],
|
|
99
|
+
[Route['games/summary']]: Cardinality['N-1'],
|
|
100
|
+
[Route['games/theme']]: Cardinality['N-1'],
|
|
101
|
+
[Route['games/venue']]: Cardinality['N-1'],
|
|
102
|
+
[Route['registration']]: Cardinality['1'],
|
|
103
|
+
[Route['registration/export']]: Cardinality['1'],
|
|
104
|
+
[Route['registrations']]: Cardinality['N'],
|
|
105
|
+
[Route['registrations/export']]: Cardinality['1'],
|
|
106
|
+
[Route['role']]: Cardinality['1'],
|
|
107
|
+
[Route['roles']]: Cardinality['N'],
|
|
108
|
+
[Route['theme']]: Cardinality['1'],
|
|
109
|
+
[Route['theme/cover']]: Cardinality['1-1'],
|
|
110
|
+
[Route['themes']]: Cardinality['N'],
|
|
111
|
+
[Route['themes/cover']]: Cardinality['N-1'],
|
|
112
|
+
[Route['timezone']]: Cardinality['1'],
|
|
113
|
+
[Route['timezones']]: Cardinality['N'],
|
|
114
|
+
[Route['user']]: Cardinality['1'],
|
|
115
|
+
[Route['user/cities']]: Cardinality['1-N'],
|
|
116
|
+
[Route['user/city']]: Cardinality['1-1'],
|
|
117
|
+
[Route['user/password']]: Cardinality['1-1'],
|
|
118
|
+
[Route['user/role']]: Cardinality['1-1'],
|
|
119
|
+
[Route['users']]: Cardinality['N'],
|
|
120
|
+
[Route['users/cities']]: Cardinality['N-N'],
|
|
121
|
+
[Route['users/role']]: Cardinality['N-1'],
|
|
122
|
+
[Route['venue']]: Cardinality['1'],
|
|
123
|
+
[Route['venue/city']]: Cardinality['1-1'],
|
|
124
|
+
[Route['venues']]: Cardinality['N'],
|
|
125
|
+
[Route['venues/city']]: Cardinality['N-1'],
|
|
126
|
+
})
|
|
127
|
+
|
|
67
128
|
export const RouteNumerosity = Object.freeze({
|
|
68
129
|
[Route['checkin']]: Numerosity['Singular'],
|
|
69
130
|
[Route['checkins']]: Numerosity['Plural'],
|
|
@@ -127,64 +188,36 @@ export const RouteNumerosity = Object.freeze({
|
|
|
127
188
|
})
|
|
128
189
|
|
|
129
190
|
export const RouteRelation = Object.freeze({
|
|
130
|
-
[Route['checkin']]: Route['checkin'],
|
|
131
|
-
[Route['checkins']]: Route['checkin'],
|
|
132
191
|
[Route['cities']]: Route['city'],
|
|
133
192
|
[Route['cities/country']]: Route['city/country'],
|
|
134
193
|
[Route['cities/currency']]: Route['city/currency'],
|
|
135
194
|
[Route['cities/timezone']]: Route['city/timezone'],
|
|
136
|
-
[Route['cities/venues']]: Route['city/
|
|
137
|
-
[Route['city']]: Route['city'],
|
|
138
|
-
[Route['city/country']]: Route['city/country'],
|
|
139
|
-
[Route['city/currency']]: Route['city/currency'],
|
|
140
|
-
[Route['city/timezone']]: Route['city/timezone'],
|
|
141
|
-
[Route['city/venues']]: Route['city/venues'],
|
|
195
|
+
[Route['cities/venues']]: Route['city/venue'],
|
|
196
|
+
[Route['city/venues']]: Route['city/venue'],
|
|
142
197
|
[Route['countries']]: Route['country'],
|
|
143
|
-
[Route['country']]: Route['country'],
|
|
144
198
|
[Route['currencies']]: Route['currency'],
|
|
145
|
-
[Route['
|
|
146
|
-
[Route['game']]: Route['game'],
|
|
147
|
-
[Route['game/city']]: Route['game/city'],
|
|
148
|
-
[Route['game/registrations']]: Route['game/registrations'],
|
|
149
|
-
[Route['game/registrations/export']]: Route['game/registrations/export'],
|
|
150
|
-
[Route['game/summary']]: Route['game/summary'],
|
|
151
|
-
[Route['game/theme']]: Route['game/theme'],
|
|
152
|
-
[Route['game/venue']]: Route['game/venue'],
|
|
199
|
+
[Route['game/registrations']]: Route['game/registration'],
|
|
153
200
|
[Route['games']]: Route['game'],
|
|
154
201
|
[Route['games/city']]: Route['game/city'],
|
|
155
|
-
[Route['games/registrations']]: Route['game/
|
|
156
|
-
[Route['games/registrations/export']]: Route['game/registrations/export'],
|
|
202
|
+
[Route['games/registrations']]: Route['game/registration'],
|
|
157
203
|
[Route['games/summary']]: Route['game/summary'],
|
|
158
204
|
[Route['games/theme']]: Route['game/theme'],
|
|
159
205
|
[Route['games/venue']]: Route['game/venue'],
|
|
160
|
-
[Route['registration']]: Route['registration'],
|
|
161
|
-
[Route['registration/export']]: Route['registration/export'],
|
|
162
206
|
[Route['registrations']]: Route['registration'],
|
|
163
|
-
[Route['registrations/export']]: Route['registration/export'],
|
|
164
|
-
[Route['role']]: Route['role'],
|
|
165
207
|
[Route['roles']]: Route['role'],
|
|
166
|
-
[Route['theme']]: Route['theme'],
|
|
167
|
-
[Route['theme/cover']]: Route['theme/cover'],
|
|
168
208
|
[Route['themes']]: Route['theme'],
|
|
169
209
|
[Route['themes/cover']]: Route['theme/cover'],
|
|
170
|
-
[Route['timezone']]: Route['timezone'],
|
|
171
210
|
[Route['timezones']]: Route['timezone'],
|
|
172
|
-
[Route['user']]: Route['user'],
|
|
173
|
-
[Route['user/cities']]: Route['user/cities'],
|
|
174
|
-
[Route['user/password']]: Route['user/password'],
|
|
175
|
-
[Route['user/role']]: Route['user/role'],
|
|
211
|
+
[Route['user/cities']]: Route['user/city'],
|
|
176
212
|
[Route['users']]: Route['user'],
|
|
177
|
-
[Route['users/cities']]: Route['user/
|
|
213
|
+
[Route['users/cities']]: Route['user/city'],
|
|
178
214
|
[Route['users/role']]: Route['user/role'],
|
|
179
|
-
[Route['venue']]: Route['venue'],
|
|
180
|
-
[Route['venue/city']]: Route['venue/city'],
|
|
181
215
|
[Route['venues']]: Route['venue'],
|
|
182
216
|
[Route['venues/city']]: Route['venue/city'],
|
|
183
217
|
})
|
|
184
218
|
|
|
185
219
|
export const RoutePathname = Object.freeze({
|
|
186
220
|
[Route['checkin']]: 'checkin',
|
|
187
|
-
[Route['checkins']]: 'checkins',
|
|
188
221
|
[Route['cities']]: 'cities',
|
|
189
222
|
[Route['cities/country']]: 'cities/country',
|
|
190
223
|
[Route['cities/currency']]: 'cities/currency',
|
|
@@ -194,6 +227,7 @@ export const RoutePathname = Object.freeze({
|
|
|
194
227
|
[Route['city/country']]: 'city/:city/country',
|
|
195
228
|
[Route['city/currency']]: 'city/:city/currency',
|
|
196
229
|
[Route['city/timezone']]: 'city/:city/timezone',
|
|
230
|
+
[Route['city/venue']]: 'city/:city/venue/:venue',
|
|
197
231
|
[Route['city/venues']]: 'city/:city/venues',
|
|
198
232
|
[Route['countries']]: 'countries',
|
|
199
233
|
[Route['country']]: 'country/:country',
|
|
@@ -201,6 +235,7 @@ export const RoutePathname = Object.freeze({
|
|
|
201
235
|
[Route['currency']]: 'currency/:currency',
|
|
202
236
|
[Route['game']]: 'game/:game',
|
|
203
237
|
[Route['game/city']]: 'game/:game/city',
|
|
238
|
+
[Route['game/registration']]: 'game/:game/registration/:registration',
|
|
204
239
|
[Route['game/registrations']]: 'game/:game/registrations',
|
|
205
240
|
[Route['game/registrations/export']]: 'game/:game/registrations/export',
|
|
206
241
|
[Route['game/summary']]: 'game/:game/summary',
|
|
@@ -232,6 +267,7 @@ export const RoutePathname = Object.freeze({
|
|
|
232
267
|
[Route['timezones']]: 'timezones',
|
|
233
268
|
[Route['user']]: 'user/:user',
|
|
234
269
|
[Route['user/cities']]: 'user/:user/cities',
|
|
270
|
+
[Route['user/city']]: 'user/:user/city/:city',
|
|
235
271
|
[Route['user/password']]: 'user/:user/password',
|
|
236
272
|
[Route['user/role']]: 'user/:user/role',
|
|
237
273
|
[Route['users']]: 'users',
|
|
@@ -353,6 +389,7 @@ export const RouteParams = Object.freeze({
|
|
|
353
389
|
[Route['city/country']]: [':city'],
|
|
354
390
|
[Route['city/currency']]: [':city'],
|
|
355
391
|
[Route['city/timezone']]: [':city'],
|
|
392
|
+
[Route['city/venue']]: [':city', ':venue'],
|
|
356
393
|
[Route['city/venues']]: [':city'],
|
|
357
394
|
[Route['countries']]: [],
|
|
358
395
|
[Route['country']]: [':country'],
|
|
@@ -360,6 +397,7 @@ export const RouteParams = Object.freeze({
|
|
|
360
397
|
[Route['currency']]: [':currency'],
|
|
361
398
|
[Route['game']]: [':game'],
|
|
362
399
|
[Route['game/city']]: [':game'],
|
|
400
|
+
[Route['game/registration']]: [':game', ':registration'],
|
|
363
401
|
[Route['game/registrations']]: [':game'],
|
|
364
402
|
[Route['game/registrations/export']]: [':game'],
|
|
365
403
|
[Route['game/summary']]: [':game'],
|
|
@@ -391,6 +429,7 @@ export const RouteParams = Object.freeze({
|
|
|
391
429
|
[Route['timezones']]: [],
|
|
392
430
|
[Route['user']]: [':user'],
|
|
393
431
|
[Route['user/cities']]: [':user'],
|
|
432
|
+
[Route['user/city']]: [':user', ':city'],
|
|
394
433
|
[Route['user/password']]: [':user'],
|
|
395
434
|
[Route['user/role']]: [':user'],
|
|
396
435
|
[Route['users']]: [],
|
|
@@ -561,6 +600,9 @@ export const ServiceRoutes = Object.freeze({
|
|
|
561
600
|
/** @returns {typeof Route[keyof typeof Route] | 'Unknown'} */
|
|
562
601
|
export const inferRoute = x => Route[x] ?? 'Unknown'
|
|
563
602
|
|
|
603
|
+
/** @returns {typeof RouteCardinality[keyof typeof RouteCardinality] | 'Unknown'} */
|
|
604
|
+
export const inferRouteCardinality = x => RouteCardinality[x] ?? 'Unknown'
|
|
605
|
+
|
|
564
606
|
/** @returns {typeof RouteNumerosity[keyof typeof RouteNumerosity] | 'Unknown'} */
|
|
565
607
|
export const inferRouteNumerosity = x => RouteNumerosity[x] ?? 'Unknown'
|
|
566
608
|
|