@shakerquiz/utilities 4.0.50 → 4.0.52
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 +1 -1
- package/scripts/codegen.js +12 -0
- package/scripts/template.js +6 -0
- package/source/codegen/autogenerated.js +67 -12
- package/source/entities/routes.js +2 -1
package/package.json
CHANGED
package/scripts/codegen.js
CHANGED
|
@@ -34,6 +34,12 @@ let breakdown = route =>
|
|
|
34
34
|
})
|
|
35
35
|
.join('/')
|
|
36
36
|
|
|
37
|
+
let searchBreakdown = route =>
|
|
38
|
+
route
|
|
39
|
+
.split('/')
|
|
40
|
+
.filter(x => x !== Segment['search'].key)
|
|
41
|
+
.join('/')
|
|
42
|
+
|
|
37
43
|
let relation = route => {
|
|
38
44
|
let segments = route.split('/')
|
|
39
45
|
|
|
@@ -97,6 +103,11 @@ let RouteBreakdown = Routes
|
|
|
97
103
|
.map(x => `'${x}': '${breakdown(x)}'`)
|
|
98
104
|
.join(',\n ')
|
|
99
105
|
|
|
106
|
+
let SearchBreakdown = Routes
|
|
107
|
+
.filter(x => x.includes('search'))
|
|
108
|
+
.map(x => `'${x}': '${searchBreakdown(x)}'`)
|
|
109
|
+
.join(',\n ')
|
|
110
|
+
|
|
100
111
|
let RouteRelation = Routes
|
|
101
112
|
.map(x => `'${x}': '${relation(x)}'`)
|
|
102
113
|
.join(',\n ')
|
|
@@ -121,6 +132,7 @@ Bun.write(
|
|
|
121
132
|
.replace('/* pathname -> parameters */', PathnameParameters)
|
|
122
133
|
.replace('/* parameter -> pattern */', ParameterPattern)
|
|
123
134
|
.replace('/* route -> breakdown */', RouteBreakdown)
|
|
135
|
+
.replace('/* search -> breakdown */', SearchBreakdown)
|
|
124
136
|
.replace('/* route -> relation */', RouteRelation)
|
|
125
137
|
.replace('/* route -> service */', RouteService)
|
|
126
138
|
.replace('/* service -> routes */', ServiceRoutes),
|
package/scripts/template.js
CHANGED
|
@@ -48,6 +48,12 @@ export const RouteBreakdown = Object.freeze(
|
|
|
48
48
|
}),
|
|
49
49
|
)
|
|
50
50
|
|
|
51
|
+
export const SearchBreakdown = Object.freeze(
|
|
52
|
+
/** @type {const} */ ({
|
|
53
|
+
/* search -> breakdown */
|
|
54
|
+
}),
|
|
55
|
+
)
|
|
56
|
+
|
|
51
57
|
export const RouteRelation = Object.freeze(
|
|
52
58
|
/** @type {const} */ ({
|
|
53
59
|
/* route -> relation */
|
|
@@ -34,10 +34,11 @@ export const RouteExcessiveCardinality = Object.freeze(
|
|
|
34
34
|
'city/venues': '1/n',
|
|
35
35
|
'venue': '1',
|
|
36
36
|
'venue/city': '1/1',
|
|
37
|
+
'venue/city/search': '1/1/1',
|
|
37
38
|
'venue/search': '1/1',
|
|
38
39
|
'venues': 'n',
|
|
39
40
|
'venues/search': 'n/1',
|
|
40
|
-
'
|
|
41
|
+
'venues/city': 'n/1',
|
|
41
42
|
'venues/city/search': 'n/1/1',
|
|
42
43
|
'cover': '1',
|
|
43
44
|
'theme': '1',
|
|
@@ -134,10 +135,11 @@ export const RouteCardinality = Object.freeze(
|
|
|
134
135
|
'city/venues': '1/n',
|
|
135
136
|
'venue': '1',
|
|
136
137
|
'venue/city': '1/1',
|
|
138
|
+
'venue/city/search': '1/1',
|
|
137
139
|
'venue/search': '1/1',
|
|
138
140
|
'venues': 'n',
|
|
139
141
|
'venues/search': 'n/1',
|
|
140
|
-
'
|
|
142
|
+
'venues/city': 'n/1',
|
|
141
143
|
'venues/city/search': 'n/1',
|
|
142
144
|
'cover': '1',
|
|
143
145
|
'theme': '1',
|
|
@@ -234,10 +236,11 @@ export const RoutePathname = Object.freeze(
|
|
|
234
236
|
'city/venues': 'city/:city/venues',
|
|
235
237
|
'venue': 'venue/:venue',
|
|
236
238
|
'venue/city': 'venue/:venue/city/:city',
|
|
239
|
+
'venue/city/search': 'venue/:venue/city/:city/search',
|
|
237
240
|
'venue/search': 'venue/:venue/search',
|
|
238
241
|
'venues': 'venues',
|
|
239
242
|
'venues/search': 'venues/search',
|
|
240
|
-
'
|
|
243
|
+
'venues/city': 'venues/city/:city',
|
|
241
244
|
'venues/city/search': 'venues/city/:city/search',
|
|
242
245
|
'cover': 'cover/:cover',
|
|
243
246
|
'theme': 'theme/:theme',
|
|
@@ -385,13 +388,16 @@ export const RouteParameters = Object.freeze(
|
|
|
385
388
|
':venue',
|
|
386
389
|
':city',
|
|
387
390
|
],
|
|
391
|
+
'venue/city/search': [
|
|
392
|
+
':venue',
|
|
393
|
+
':city',
|
|
394
|
+
],
|
|
388
395
|
'venue/search': [
|
|
389
396
|
':venue',
|
|
390
397
|
],
|
|
391
398
|
'venues': [],
|
|
392
399
|
'venues/search': [],
|
|
393
|
-
'
|
|
394
|
-
':venue',
|
|
400
|
+
'venues/city': [
|
|
395
401
|
':city',
|
|
396
402
|
],
|
|
397
403
|
'venues/city/search': [
|
|
@@ -620,10 +626,11 @@ export const PathnameRoute = Object.freeze(
|
|
|
620
626
|
'city/:city/venues': 'city/venues',
|
|
621
627
|
'venue/:venue': 'venue',
|
|
622
628
|
'venue/:venue/city/:city': 'venue/city',
|
|
629
|
+
'venue/:venue/city/:city/search': 'venue/city/search',
|
|
623
630
|
'venue/:venue/search': 'venue/search',
|
|
624
631
|
'venues': 'venues',
|
|
625
632
|
'venues/search': 'venues/search',
|
|
626
|
-
'
|
|
633
|
+
'venues/city/:city': 'venues/city',
|
|
627
634
|
'venues/city/:city/search': 'venues/city/search',
|
|
628
635
|
'cover/:cover': 'cover',
|
|
629
636
|
'theme/:theme': 'theme',
|
|
@@ -771,13 +778,16 @@ export const PathnameParameters = Object.freeze(
|
|
|
771
778
|
':venue',
|
|
772
779
|
':city',
|
|
773
780
|
],
|
|
781
|
+
'venue/:venue/city/:city/search': [
|
|
782
|
+
':venue',
|
|
783
|
+
':city',
|
|
784
|
+
],
|
|
774
785
|
'venue/:venue/search': [
|
|
775
786
|
':venue',
|
|
776
787
|
],
|
|
777
788
|
'venues': [],
|
|
778
789
|
'venues/search': [],
|
|
779
|
-
'
|
|
780
|
-
':venue',
|
|
790
|
+
'venues/city/:city': [
|
|
781
791
|
':city',
|
|
782
792
|
],
|
|
783
793
|
'venues/city/:city/search': [
|
|
@@ -1023,10 +1033,11 @@ export const RouteBreakdown = Object.freeze(
|
|
|
1023
1033
|
'city/venues': 'city/venues',
|
|
1024
1034
|
'venue': 'venue',
|
|
1025
1035
|
'venue/city': 'venue/city',
|
|
1036
|
+
'venue/city/search': 'venue/city/search',
|
|
1026
1037
|
'venue/search': 'venue/search',
|
|
1027
1038
|
'venues': 'venue',
|
|
1028
1039
|
'venues/search': 'venue/search',
|
|
1029
|
-
'
|
|
1040
|
+
'venues/city': 'venue/city',
|
|
1030
1041
|
'venues/city/search': 'venue/city/search',
|
|
1031
1042
|
'cover': 'cover',
|
|
1032
1043
|
'theme': 'theme',
|
|
@@ -1089,6 +1100,47 @@ export const RouteBreakdown = Object.freeze(
|
|
|
1089
1100
|
}),
|
|
1090
1101
|
)
|
|
1091
1102
|
|
|
1103
|
+
export const SearchBreakdown = Object.freeze(
|
|
1104
|
+
/** @type {const} */ ({
|
|
1105
|
+
'venue/city/search': 'venue/city',
|
|
1106
|
+
'venue/search': 'venue',
|
|
1107
|
+
'venues/search': 'venues',
|
|
1108
|
+
'venues/city/search': 'venues/city',
|
|
1109
|
+
'theme/search': 'theme',
|
|
1110
|
+
'themes/search': 'themes',
|
|
1111
|
+
'game/search': 'game',
|
|
1112
|
+
'game/status/search': 'game/status',
|
|
1113
|
+
'game/city/search': 'game/city',
|
|
1114
|
+
'game/summary/search': 'game/summary',
|
|
1115
|
+
'game/theme/search': 'game/theme',
|
|
1116
|
+
'game/theme/cover/search': 'game/theme/cover',
|
|
1117
|
+
'game/venue/search': 'game/venue',
|
|
1118
|
+
'games/search': 'games',
|
|
1119
|
+
'games/status/search': 'games/status',
|
|
1120
|
+
'games/city/search': 'games/city',
|
|
1121
|
+
'games/summary/search': 'games/summary',
|
|
1122
|
+
'games/theme/search': 'games/theme',
|
|
1123
|
+
'games/theme/cover/search': 'games/theme/cover',
|
|
1124
|
+
'games/venue/search': 'games/venue',
|
|
1125
|
+
'registration/search': 'registration',
|
|
1126
|
+
'registration/status/search': 'registration/status',
|
|
1127
|
+
'registration/lineup/search': 'registration/lineup',
|
|
1128
|
+
'registration/city/search': 'registration/city',
|
|
1129
|
+
'registration/game/search': 'registration/game',
|
|
1130
|
+
'registration/game/theme/search': 'registration/game/theme',
|
|
1131
|
+
'registration/game/theme/cover/search': 'registration/game/theme/cover',
|
|
1132
|
+
'registration/game/venue/search': 'registration/game/venue',
|
|
1133
|
+
'registrations/search': 'registrations',
|
|
1134
|
+
'registrations/status/search': 'registrations/status',
|
|
1135
|
+
'registrations/lineup/search': 'registrations/lineup',
|
|
1136
|
+
'registrations/city/search': 'registrations/city',
|
|
1137
|
+
'registrations/game/search': 'registrations/game',
|
|
1138
|
+
'registrations/game/status/search': 'registrations/game/status',
|
|
1139
|
+
'registrations/game/theme/search': 'registrations/game/theme',
|
|
1140
|
+
'registrations/game/venue/search': 'registrations/game/venue',
|
|
1141
|
+
}),
|
|
1142
|
+
)
|
|
1143
|
+
|
|
1092
1144
|
export const RouteRelation = Object.freeze(
|
|
1093
1145
|
/** @type {const} */ ({
|
|
1094
1146
|
'user': 'user',
|
|
@@ -1123,10 +1175,11 @@ export const RouteRelation = Object.freeze(
|
|
|
1123
1175
|
'city/venues': 'city/venue',
|
|
1124
1176
|
'venue': 'venue',
|
|
1125
1177
|
'venue/city': 'venue/city',
|
|
1178
|
+
'venue/city/search': 'city/search',
|
|
1126
1179
|
'venue/search': 'venue/search',
|
|
1127
1180
|
'venues': 'venue',
|
|
1128
1181
|
'venues/search': 'venue/search',
|
|
1129
|
-
'
|
|
1182
|
+
'venues/city': 'venue/city',
|
|
1130
1183
|
'venues/city/search': 'city/search',
|
|
1131
1184
|
'cover': 'cover',
|
|
1132
1185
|
'theme': 'theme',
|
|
@@ -1223,10 +1276,11 @@ export const RouteService = Object.freeze(
|
|
|
1223
1276
|
'city/venues': 'Cities',
|
|
1224
1277
|
'venue': 'Venues',
|
|
1225
1278
|
'venue/city': 'Venues',
|
|
1279
|
+
'venue/city/search': 'Venues',
|
|
1226
1280
|
'venue/search': 'Venues',
|
|
1227
1281
|
'venues': 'Venues',
|
|
1228
1282
|
'venues/search': 'Venues',
|
|
1229
|
-
'
|
|
1283
|
+
'venues/city': 'Venues',
|
|
1230
1284
|
'venues/city/search': 'Venues',
|
|
1231
1285
|
'cover': 'Minio',
|
|
1232
1286
|
'theme': 'Themes',
|
|
@@ -1334,10 +1388,11 @@ export const ServiceRoutes = Object.freeze(
|
|
|
1334
1388
|
'Venues': [
|
|
1335
1389
|
'venue',
|
|
1336
1390
|
'venue/city',
|
|
1391
|
+
'venue/city/search',
|
|
1337
1392
|
'venue/search',
|
|
1338
1393
|
'venues',
|
|
1339
1394
|
'venues/search',
|
|
1340
|
-
'
|
|
1395
|
+
'venues/city',
|
|
1341
1396
|
'venues/city/search',
|
|
1342
1397
|
],
|
|
1343
1398
|
'Minio': [
|
|
@@ -32,10 +32,11 @@ export const Routes = Object.freeze(
|
|
|
32
32
|
'city/venues',
|
|
33
33
|
'venue',
|
|
34
34
|
'venue/city',
|
|
35
|
+
'venue/city/search',
|
|
35
36
|
'venue/search',
|
|
36
37
|
'venues',
|
|
37
38
|
'venues/search',
|
|
38
|
-
'
|
|
39
|
+
'venues/city',
|
|
39
40
|
'venues/city/search',
|
|
40
41
|
'cover',
|
|
41
42
|
'theme',
|