@shakerquiz/utilities 0.2.36 → 0.2.38

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,11 +1,10 @@
1
1
  {
2
2
  "name": "@shakerquiz/utilities",
3
- "version": "0.2.36",
3
+ "version": "0.2.38",
4
4
  "author": "yurkimus <yurkimus@gmail.com>",
5
5
  "license": "ISC",
6
6
  "exports": {
7
7
  ".": {
8
- "types": "./source/index.d.ts",
9
8
  "import": "./source/index.js",
10
9
  "edge-light": "./source/index.js"
11
10
  }
@@ -1,6 +1,6 @@
1
1
  import { Kinds } from './kinds.js'
2
- import { Methods } from './methods.js'
3
2
  import { Networks } from './networks.js'
3
+ import { RequestMethods } from './request-methods.js'
4
4
  import { Requirements } from './requirements.js'
5
5
  import { Services } from './services.js'
6
6
 
@@ -8,192 +8,272 @@ export var Features = /** @type {const} */ ({
8
8
  Checkin: 'Checkin',
9
9
  Cities: 'Cities',
10
10
  City: 'City',
11
+ Countries: 'Countries',
12
+ Country: 'Country',
11
13
  Game: 'Game',
12
14
  Games: 'Games',
13
- Location: 'Location',
14
- Locations: 'Locations',
15
+ Home: 'Home',
16
+ Region: 'Region',
17
+ Regions: 'Regions',
15
18
  Registration: 'Registration',
16
19
  Registrations: 'Registrations',
17
20
  Theme: 'Theme',
18
21
  Themes: 'Themes',
19
22
  User: 'User',
20
23
  Users: 'Users',
24
+ Venue: 'Venue',
25
+ Venues: 'Venues',
21
26
  })
22
27
 
23
- export var FeatureServices = {
24
- [Features.Game]: Services.Games,
25
- [Features.Games]: Services.Games,
26
- [Features.Theme]: Services.Games,
27
- [Features.Themes]: Services.Games,
28
- [Features.Registration]: Services.Games,
29
- [Features.Registrations]: Services.Games,
30
- [Features.Cities]: Services.Locations,
31
- [Features.City]: Services.Locations,
32
- [Features.Location]: Services.Locations,
33
- [Features.Locations]: Services.Locations,
34
- [Features.Checkin]: Services.Users,
35
- [Features.User]: Services.Users,
36
- [Features.Users]: Services.Users,
37
- }
38
-
39
28
  export var ServiceFeatures = {
40
29
  [Services.Games]: [
41
30
  Features.Game,
42
31
  Features.Games,
32
+ Features.Home,
33
+ Features.Registration,
34
+ Features.Registrations,
43
35
  Features.Theme,
44
36
  Features.Themes,
37
+ ],
38
+ [Services.Landing]: [
39
+ Features.Game,
40
+ Features.Games,
41
+ Features.Home,
45
42
  Features.Registration,
46
- Features.Registrations,
47
43
  ],
48
44
  [Services.Locations]: [
49
45
  Features.Cities,
50
46
  Features.City,
51
- Features.Location,
52
- Features.Locations,
47
+ Features.Countries,
48
+ Features.Country,
49
+ Features.Home,
50
+ Features.Region,
51
+ Features.Regions,
52
+ Features.Venue,
53
+ Features.Venues,
54
+ ],
55
+ [Services.Studio]: [
56
+ Features.Checkin,
57
+ Features.Cities,
58
+ Features.City,
59
+ Features.Countries,
60
+ Features.Country,
61
+ Features.Game,
62
+ Features.Games,
63
+ Features.Home,
64
+ Features.Region,
65
+ Features.Regions,
66
+ Features.Registration,
67
+ Features.Registrations,
68
+ Features.Theme,
69
+ Features.Themes,
70
+ Features.User,
71
+ Features.Users,
72
+ Features.Venue,
73
+ Features.Venues,
53
74
  ],
54
75
  [Services.Users]: [
55
76
  Features.Checkin,
56
77
  Features.User,
57
78
  Features.Users,
58
79
  ],
80
+ [Services.MiniApp]: [
81
+ Features.Game,
82
+ Features.Games,
83
+ Features.Home,
84
+ Features.Registration,
85
+ ],
59
86
  }
60
87
 
61
88
  export var FeatureKinds = {
62
89
  [Features.Checkin]: Kinds.Item,
63
90
  [Features.Cities]: Kinds.List,
64
91
  [Features.City]: Kinds.Item,
92
+ [Features.Countries]: Kinds.List,
93
+ [Features.Country]: Kinds.Item,
65
94
  [Features.Game]: Kinds.Item,
66
95
  [Features.Games]: Kinds.List,
67
- [Features.Location]: Kinds.Item,
68
- [Features.Locations]: Kinds.List,
96
+ [Features.Home]: Kinds.Item,
97
+ [Features.Region]: Kinds.Item,
98
+ [Features.Regions]: Kinds.List,
69
99
  [Features.Registration]: Kinds.Item,
70
100
  [Features.Registrations]: Kinds.List,
71
101
  [Features.Theme]: Kinds.Item,
72
102
  [Features.Themes]: Kinds.List,
73
103
  [Features.User]: Kinds.Item,
74
104
  [Features.Users]: Kinds.List,
105
+ [Features.Venue]: Kinds.Item,
106
+ [Features.Venues]: Kinds.List,
75
107
  }
76
108
 
77
109
  export var FeaturePathnames = /** @type {const} */ ({
78
110
  [Features.Checkin]: '/checkin',
79
111
  [Features.Cities]: '/cities',
80
112
  [Features.City]: `/city/:city?`,
113
+ [Features.Countries]: '/countries',
114
+ [Features.Country]: '/country/:country?',
81
115
  [Features.Game]: `/game/:game?`,
82
116
  [Features.Games]: '/games',
83
- [Features.Location]: `/location/:location?`,
84
- [Features.Locations]: '/locations',
117
+ [Features.Home]: '/',
118
+ [Features.Region]: '/region/:region?',
119
+ [Features.Regions]: '/regions',
85
120
  [Features.Registration]: `/registration/:registration?`,
86
121
  [Features.Registrations]: '/registrations',
87
122
  [Features.Theme]: `/theme/:theme?`,
88
123
  [Features.Themes]: '/themes',
89
124
  [Features.User]: `/user/:user?`,
90
125
  [Features.Users]: '/users',
126
+ [Features.Venue]: `/venue/:venue?`,
127
+ [Features.Venues]: '/venues',
91
128
  })
92
129
 
130
+ /**
131
+ * @satisfies {Record<Feature, RequestMethod>}
132
+ */
93
133
  export var FeatureMethodRequirements = {
94
134
  [Features.Checkin]: {
95
- [Methods.DELETE]: new Set([]),
96
- [Methods.GET]: new Set([]),
97
- [Methods.OPTIONS]: new Set([]),
98
- [Methods.PATCH]: new Set([]),
99
- [Methods.POST]: new Set([Requirements.Body]),
100
- [Methods.PUT]: new Set([]),
135
+ [RequestMethods.DELETE]: new Set([]),
136
+ [RequestMethods.GET]: new Set([]),
137
+ [RequestMethods.OPTIONS]: new Set([]),
138
+ [RequestMethods.PATCH]: new Set([]),
139
+ [RequestMethods.POST]: new Set([Requirements.Body]),
140
+ [RequestMethods.PUT]: new Set([]),
101
141
  },
102
142
  [Features.Cities]: {
103
- [Methods.DELETE]: new Set([Requirements.Checkin]),
104
- [Methods.GET]: new Set([Requirements.Checkin]),
105
- [Methods.OPTIONS]: new Set([]),
106
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
107
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
108
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
143
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
144
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
145
+ [RequestMethods.OPTIONS]: new Set([]),
146
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
147
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
148
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
109
149
  },
110
150
  [Features.City]: {
111
- [Methods.DELETE]: new Set([Requirements.Checkin]),
112
- [Methods.GET]: new Set([Requirements.Checkin]),
113
- [Methods.OPTIONS]: new Set([]),
114
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
115
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
116
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
151
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
152
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
153
+ [RequestMethods.OPTIONS]: new Set([]),
154
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
155
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
156
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
157
+ },
158
+ [Features.Countries]: {
159
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
160
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
161
+ [RequestMethods.OPTIONS]: new Set([]),
162
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
163
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
164
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
165
+ },
166
+ [Features.Country]: {
167
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
168
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
169
+ [RequestMethods.OPTIONS]: new Set([]),
170
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
171
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
172
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
117
173
  },
118
174
  [Features.Game]: {
119
- [Methods.DELETE]: new Set([Requirements.Checkin]),
120
- [Methods.GET]: new Set([Requirements.Checkin]),
121
- [Methods.OPTIONS]: new Set([]),
122
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
123
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
124
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
175
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
176
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
177
+ [RequestMethods.OPTIONS]: new Set([]),
178
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
179
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
180
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
125
181
  },
126
182
  [Features.Games]: {
127
- [Methods.DELETE]: new Set([Requirements.Checkin]),
128
- [Methods.GET]: new Set([Requirements.Checkin]),
129
- [Methods.OPTIONS]: new Set([]),
130
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
131
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
132
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
183
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
184
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
185
+ [RequestMethods.OPTIONS]: new Set([]),
186
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
187
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
188
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
189
+ },
190
+ [Features.Home]: {
191
+ [RequestMethods.DELETE]: new Set([]),
192
+ [RequestMethods.GET]: new Set([]),
193
+ [RequestMethods.OPTIONS]: new Set([]),
194
+ [RequestMethods.PATCH]: new Set([]),
195
+ [RequestMethods.POST]: new Set([]),
196
+ [RequestMethods.PUT]: new Set([]),
133
197
  },
134
- [Features.Location]: {
135
- [Methods.DELETE]: new Set([Requirements.Checkin]),
136
- [Methods.GET]: new Set([Requirements.Checkin]),
137
- [Methods.OPTIONS]: new Set([]),
138
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
139
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
140
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
198
+ [Features.Region]: {
199
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
200
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
201
+ [RequestMethods.OPTIONS]: new Set([]),
202
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
203
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
204
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
141
205
  },
142
- [Features.Locations]: {
143
- [Methods.DELETE]: new Set([Requirements.Checkin]),
144
- [Methods.GET]: new Set([Requirements.Checkin]),
145
- [Methods.OPTIONS]: new Set([]),
146
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
147
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
148
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
206
+ [Features.Regions]: {
207
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
208
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
209
+ [RequestMethods.OPTIONS]: new Set([]),
210
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
211
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
212
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
149
213
  },
150
214
  [Features.Registration]: {
151
- [Methods.DELETE]: new Set([Requirements.Checkin]),
152
- [Methods.GET]: new Set([Requirements.Checkin]),
153
- [Methods.OPTIONS]: new Set([]),
154
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
155
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
156
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
215
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
216
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
217
+ [RequestMethods.OPTIONS]: new Set([]),
218
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
219
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
220
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
157
221
  },
158
222
  [Features.Registrations]: {
159
- [Methods.DELETE]: new Set([Requirements.Checkin]),
160
- [Methods.GET]: new Set([Requirements.Checkin]),
161
- [Methods.OPTIONS]: new Set([]),
162
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
163
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
164
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
223
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
224
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
225
+ [RequestMethods.OPTIONS]: new Set([]),
226
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
227
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
228
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
165
229
  },
166
230
  [Features.Theme]: {
167
- [Methods.DELETE]: new Set([Requirements.Checkin]),
168
- [Methods.GET]: new Set([Requirements.Checkin]),
169
- [Methods.OPTIONS]: new Set([]),
170
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
171
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
172
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
231
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
232
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
233
+ [RequestMethods.OPTIONS]: new Set([]),
234
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
235
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
236
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
173
237
  },
174
238
  [Features.Themes]: {
175
- [Methods.DELETE]: new Set([Requirements.Checkin]),
176
- [Methods.GET]: new Set([Requirements.Checkin]),
177
- [Methods.OPTIONS]: new Set([]),
178
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
179
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
180
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
239
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
240
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
241
+ [RequestMethods.OPTIONS]: new Set([]),
242
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
243
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
244
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
181
245
  },
182
246
  [Features.User]: {
183
- [Methods.DELETE]: new Set([Requirements.Checkin]),
184
- [Methods.GET]: new Set([Requirements.Checkin]),
185
- [Methods.OPTIONS]: new Set([]),
186
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
187
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
188
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
247
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
248
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
249
+ [RequestMethods.OPTIONS]: new Set([]),
250
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
251
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
252
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
189
253
  },
190
254
  [Features.Users]: {
191
- [Methods.DELETE]: new Set([Requirements.Checkin]),
192
- [Methods.GET]: new Set([Requirements.Checkin]),
193
- [Methods.OPTIONS]: new Set([]),
194
- [Methods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
195
- [Methods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
196
- [Methods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
255
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
256
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
257
+ [RequestMethods.OPTIONS]: new Set([]),
258
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
259
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
260
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
261
+ },
262
+ [Features.Venue]: {
263
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
264
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
265
+ [RequestMethods.OPTIONS]: new Set([]),
266
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
267
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
268
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
269
+ },
270
+ [Features.Venues]: {
271
+ [RequestMethods.DELETE]: new Set([Requirements.Checkin]),
272
+ [RequestMethods.GET]: new Set([Requirements.Checkin]),
273
+ [RequestMethods.OPTIONS]: new Set([]),
274
+ [RequestMethods.PATCH]: new Set([Requirements.Checkin, Requirements.Body]),
275
+ [RequestMethods.POST]: new Set([Requirements.Checkin, Requirements.Body]),
276
+ [RequestMethods.PUT]: new Set([Requirements.Checkin, Requirements.Body]),
197
277
  },
198
278
  }
199
279
 
@@ -223,7 +303,7 @@ export var FeatureNetworkOrigins = new Map([
223
303
  ]),
224
304
  ],
225
305
  [
226
- Features.Game,
306
+ Features.Countries,
227
307
  new Map([
228
308
  [Networks.Docker, ''],
229
309
  [Networks.Local, ''],
@@ -231,7 +311,15 @@ export var FeatureNetworkOrigins = new Map([
231
311
  ]),
232
312
  ],
233
313
  [
234
- Features.Games,
314
+ Features.Country,
315
+ new Map([
316
+ [Networks.Docker, ''],
317
+ [Networks.Local, ''],
318
+ [Networks.Public, ''],
319
+ ]),
320
+ ],
321
+ [
322
+ Features.Game,
235
323
  new Map([
236
324
  [Networks.Docker, ''],
237
325
  [Networks.Local, ''],
@@ -239,7 +327,7 @@ export var FeatureNetworkOrigins = new Map([
239
327
  ]),
240
328
  ],
241
329
  [
242
- Features.Location,
330
+ Features.Games,
243
331
  new Map([
244
332
  [Networks.Docker, ''],
245
333
  [Networks.Local, ''],
@@ -247,7 +335,7 @@ export var FeatureNetworkOrigins = new Map([
247
335
  ]),
248
336
  ],
249
337
  [
250
- Features.Locations,
338
+ Features.Home,
251
339
  new Map([
252
340
  [Networks.Docker, ''],
253
341
  [Networks.Local, ''],
@@ -302,6 +390,22 @@ export var FeatureNetworkOrigins = new Map([
302
390
  [Networks.Public, ''],
303
391
  ]),
304
392
  ],
393
+ [
394
+ Features.Venue,
395
+ new Map([
396
+ [Networks.Docker, ''],
397
+ [Networks.Local, ''],
398
+ [Networks.Public, ''],
399
+ ]),
400
+ ],
401
+ [
402
+ Features.Venues,
403
+ new Map([
404
+ [Networks.Docker, ''],
405
+ [Networks.Local, ''],
406
+ [Networks.Public, ''],
407
+ ]),
408
+ ],
305
409
  ])
306
410
 
307
411
  export var FeatureNetworkUrls = new Map([
@@ -330,7 +434,7 @@ export var FeatureNetworkUrls = new Map([
330
434
  ]),
331
435
  ],
332
436
  [
333
- Features.Game,
437
+ Features.Countries,
334
438
  new Map([
335
439
  [Networks.Docker, null],
336
440
  [Networks.Local, null],
@@ -338,7 +442,7 @@ export var FeatureNetworkUrls = new Map([
338
442
  ]),
339
443
  ],
340
444
  [
341
- Features.Games,
445
+ Features.Country,
342
446
  new Map([
343
447
  [Networks.Docker, null],
344
448
  [Networks.Local, null],
@@ -346,7 +450,7 @@ export var FeatureNetworkUrls = new Map([
346
450
  ]),
347
451
  ],
348
452
  [
349
- Features.Location,
453
+ Features.Game,
350
454
  new Map([
351
455
  [Networks.Docker, null],
352
456
  [Networks.Local, null],
@@ -354,13 +458,21 @@ export var FeatureNetworkUrls = new Map([
354
458
  ]),
355
459
  ],
356
460
  [
357
- Features.Locations,
461
+ Features.Games,
358
462
  new Map([
359
463
  [Networks.Docker, null],
360
464
  [Networks.Local, null],
361
465
  [Networks.Public, null],
362
466
  ]),
363
467
  ],
468
+ [
469
+ Features.Home,
470
+ new Map([
471
+ [Networks.Docker, ''],
472
+ [Networks.Local, ''],
473
+ [Networks.Public, ''],
474
+ ]),
475
+ ],
364
476
  [
365
477
  Features.Registration,
366
478
  new Map([
@@ -409,4 +521,20 @@ export var FeatureNetworkUrls = new Map([
409
521
  [Networks.Public, null],
410
522
  ]),
411
523
  ],
524
+ [
525
+ Features.Venue,
526
+ new Map([
527
+ [Networks.Docker, null],
528
+ [Networks.Local, null],
529
+ [Networks.Public, null],
530
+ ]),
531
+ ],
532
+ [
533
+ Features.Venues,
534
+ new Map([
535
+ [Networks.Docker, null],
536
+ [Networks.Local, null],
537
+ [Networks.Public, null],
538
+ ]),
539
+ ],
412
540
  ])
@@ -0,0 +1,10 @@
1
+ export var RequestMethods = /** @type {const} */ ({
2
+ 'CONNECT': 'CONNECT',
3
+ 'DELETE': 'DELETE',
4
+ 'GET': 'GET',
5
+ 'HEAD': 'HEAD',
6
+ 'OPTIONS': 'OPTIONS',
7
+ 'POST': 'POST',
8
+ 'PUT': 'PUT',
9
+ 'TRACE': 'TRACE',
10
+ })
@@ -1,5 +1,26 @@
1
1
  export var Services = /** @type {const} */ ({
2
+ /**
3
+ * @description Backend-service manipulating Theme, Game and Registration.
4
+ */
2
5
  Games: 'Games',
6
+ /**
7
+ * @description Frontend-service representing public landing.
8
+ */
9
+ Landing: 'Landing',
10
+ /**
11
+ * @description Backend-service manipulating Country, Region, City and Venue.
12
+ */
3
13
  Locations: 'Locations',
14
+ /**
15
+ * @description Frontend-service representing tools for managing and creating content.
16
+ */
17
+ Studio: 'Studio',
18
+ /**
19
+ * @description Backend-service manipulating Checkin and User.
20
+ */
4
21
  Users: 'Users',
22
+ /**
23
+ * @description Frontend-service representing integration with vk.com.
24
+ */
25
+ MiniApp: 'MiniApp',
5
26
  })
@@ -11,8 +11,8 @@ import {
11
11
  Features,
12
12
  } from '../enumerations/features.js'
13
13
  import { Kinds } from '../enumerations/kinds.js'
14
- import { Methods } from '../enumerations/methods.js'
15
14
  import { Networks } from '../enumerations/networks.js'
15
+ import { RequestMethods } from '../enumerations/request-methods.js'
16
16
  import { Roles } from '../enumerations/roles.js'
17
17
 
18
18
  /**
@@ -65,7 +65,7 @@ export var useFetch = (feature, network) =>
65
65
  * @param {import('@yurkimus/url').URLOptions | undefined} options
66
66
  * @param {RequestInit} init
67
67
  *
68
- * @returns {Promise<FetchResults[Feature][Method][Role]>}
68
+ * @returns {Promise<FetchResults[Feature][RequestMethod][Role]>}
69
69
  */
70
70
  function fetcher(options, init) {
71
71
  if (!(feature in Features))
@@ -73,9 +73,9 @@ export var useFetch = (feature, network) =>
73
73
  `Feature '${feature}' must be listed in 'Features'.`,
74
74
  )
75
75
 
76
- if (!(init.method in Methods))
76
+ if (!(init.method in RequestMethods))
77
77
  throw TypeError(
78
- `Method '${init.method}' must be listed in 'Methods'.`,
78
+ `Method '${init.method}' must be listed in 'RequestMethods'.`,
79
79
  )
80
80
 
81
81
  if (!(network in Networks))
@@ -11,10 +11,7 @@ import { Networks } from '../enumerations/networks.js'
11
11
  import { Services } from '../enumerations/services.js'
12
12
 
13
13
  /**
14
- * @param {Record<
15
- * keyof typeof Services,
16
- * Record<keyof typeof Networks, URL['origin']>
17
- * >} origins
14
+ * @param {Record<Service, Record<Network, URL['origin']>>} origins
18
15
  *
19
16
  * @returns {void}
20
17
  */
package/source/game.d.ts CHANGED
@@ -11,8 +11,8 @@ type GameAdminResult = {
11
11
  event_status: GameRow['status']
12
12
  event_time: GameRow['event_time']
13
13
  // Location
14
- location_id: LocationRow['id']
15
- location_name: LocationRow['name']
14
+ location_id: VenueRow['id']
15
+ location_name: VenueRow['name']
16
16
  // Media
17
17
  media_id: ImageMediaRow['id']
18
18
  media_path: ImageMediaRow['path']
@@ -44,11 +44,11 @@ type GameDefaultResult = {
44
44
  // Image
45
45
  image_id: ImageMediaRow['id']
46
46
  // Location
47
- location_house_number: LocationRow['house_number']
48
- location_id: LocationRow['id']
49
- location_info: LocationRow['location_info']
50
- location_name: LocationRow['name']
51
- location_street: LocationRow['street']
47
+ location_house_number: VenueRow['house_number']
48
+ location_id: VenueRow['id']
49
+ location_info: VenueRow['location_info']
50
+ location_name: VenueRow['name']
51
+ location_street: VenueRow['street']
52
52
  // Media
53
53
  media_id: MediaRow['id']
54
54
  media_path: MediaRow['path']
@@ -72,8 +72,8 @@ type GameOrginizerResult = {
72
72
  event_status: GameRow['status']
73
73
  event_time: GameRow['event_time']
74
74
  // Location
75
- location_id: LocationRow['id']
76
- location_name: LocationRow['name']
75
+ location_id: VenueRow['id']
76
+ location_name: VenueRow['name']
77
77
  // Media
78
78
  media_id: ImageMediaRow['id']
79
79
  media_path: ImageMediaRow['path']
@@ -4,14 +4,18 @@
4
4
 
5
5
  type Nullable<Type> = Type | null
6
6
 
7
- type Optional<Type> = Type | null | undefined
8
-
9
7
  /**
10
8
  * Mixins
11
9
  */
12
10
 
13
11
  interface RequestInit {
14
- /** A string to declaratively set the Authorization header. */
12
+ /**
13
+ * @description A method string defined by RFC7231 @see {@link https://datatracker.ietf.org/doc/html/rfc7231#section-4.3}
14
+ */
15
+ method?: RequestMethod
16
+ /**
17
+ * @description A string to declaratively set the Authorization header.
18
+ */
15
19
  cookie?: string
16
20
  }
17
21
 
@@ -25,9 +29,18 @@ type UseState<Type> = [
25
29
  ]
26
30
 
27
31
  /**
28
- * Types
32
+ * Domain
29
33
  */
30
34
 
35
+ type Feature = keyof typeof import('./enumerations/features.js').Features
36
+
37
+ type Network = keyof typeof import('./enumerations/networks.js').Networks
38
+
39
+ type Service = keyof typeof import('./enumerations/services.js').Services
40
+
41
+ type RequestMethod =
42
+ keyof typeof import('./enumerations/request-methods.js').RequestMethods
43
+
31
44
  type FetchResults = {
32
45
  'Checkin': {
33
46
  'DELETE': {
@@ -61,7 +74,7 @@ type FetchResults = {
61
74
  }
62
75
  }
63
76
 
64
- 'User': {
77
+ 'Cities': {
65
78
  'DELETE': {
66
79
  'admin': unknown
67
80
  'default': unknown
@@ -69,9 +82,9 @@ type FetchResults = {
69
82
  }
70
83
 
71
84
  'GET': {
72
- 'admin': UserAdminResult
73
- 'default': UserDefaultResult
74
- 'organizer': UserOrganizerResult
85
+ 'admin': CityAdminResult[]
86
+ 'default': CityDefaultResult[]
87
+ 'organizer': CityOrganizerResult[]
75
88
  }
76
89
 
77
90
  'OPTIONS': {
@@ -93,7 +106,7 @@ type FetchResults = {
93
106
  }
94
107
  }
95
108
 
96
- 'Users': {
109
+ 'City': {
97
110
  'DELETE': {
98
111
  'admin': unknown
99
112
  'default': unknown
@@ -101,9 +114,9 @@ type FetchResults = {
101
114
  }
102
115
 
103
116
  'GET': {
104
- 'admin': UserAdminResult
105
- 'default': UserDefaultResult
106
- 'organizer': UserOrganizerResult
117
+ 'admin': CityAdminResult
118
+ 'default': CityDefaultResult
119
+ 'organizer': CityOrganizerResult
107
120
  }
108
121
 
109
122
  'OPTIONS': {
@@ -125,7 +138,7 @@ type FetchResults = {
125
138
  }
126
139
  }
127
140
 
128
- 'Theme': {
141
+ 'Countries': {
129
142
  'DELETE': {
130
143
  'admin': unknown
131
144
  'default': unknown
@@ -133,9 +146,9 @@ type FetchResults = {
133
146
  }
134
147
 
135
148
  'GET': {
136
- 'admin': ThemeAdminResult
137
- 'default': unknown
138
- 'organizer': ThemeOrganizerResult
149
+ 'admin': CountryAdminResult[]
150
+ 'default': CountryDefaultResult[]
151
+ 'organizer': CountryOrganizerResult[]
139
152
  }
140
153
 
141
154
  'OPTIONS': {
@@ -157,7 +170,7 @@ type FetchResults = {
157
170
  }
158
171
  }
159
172
 
160
- 'Themes': {
173
+ 'Country': {
161
174
  'DELETE': {
162
175
  'admin': unknown
163
176
  'default': unknown
@@ -165,9 +178,9 @@ type FetchResults = {
165
178
  }
166
179
 
167
180
  'GET': {
168
- 'admin': ThemeAdminResult[]
169
- 'default': unknown
170
- 'organizer': ThemeOrganizerResult[]
181
+ 'admin': CountryAdminResult
182
+ 'default': CountryDefaultResult
183
+ 'organizer': CountryOrganizerResult
171
184
  }
172
185
 
173
186
  'OPTIONS': {
@@ -253,6 +266,102 @@ type FetchResults = {
253
266
  }
254
267
  }
255
268
 
269
+ 'Home': {
270
+ 'DELETE': {
271
+ 'admin': unknown
272
+ 'default': unknown
273
+ 'organizer': unknown
274
+ }
275
+
276
+ 'GET': {
277
+ 'admin': unknown
278
+ 'default': unknown
279
+ 'organizer': unknown
280
+ }
281
+
282
+ 'OPTIONS': {
283
+ 'admin': unknown
284
+ 'default': unknown
285
+ 'organizer': unknown
286
+ }
287
+
288
+ 'PATCH': {
289
+ 'admin': unknown
290
+ 'default': unknown
291
+ 'organizer': unknown
292
+ }
293
+
294
+ 'POST': {
295
+ 'admin': unknown
296
+ 'default': unknown
297
+ 'organizer': unknown
298
+ }
299
+ }
300
+
301
+ 'Region': {
302
+ 'DELETE': {
303
+ 'admin': unknown
304
+ 'default': unknown
305
+ 'organizer': unknown
306
+ }
307
+
308
+ 'GET': {
309
+ 'admin': RegionAdminResult
310
+ 'default': RegionDefaultResult
311
+ 'organizer': RegionOrganizerResult
312
+ }
313
+
314
+ 'OPTIONS': {
315
+ 'admin': unknown
316
+ 'default': unknown
317
+ 'organizer': unknown
318
+ }
319
+
320
+ 'PATCH': {
321
+ 'admin': unknown
322
+ 'default': unknown
323
+ 'organizer': unknown
324
+ }
325
+
326
+ 'POST': {
327
+ 'admin': unknown
328
+ 'default': unknown
329
+ 'organizer': unknown
330
+ }
331
+ }
332
+
333
+ 'Regions': {
334
+ 'DELETE': {
335
+ 'admin': unknown
336
+ 'default': unknown
337
+ 'organizer': unknown
338
+ }
339
+
340
+ 'GET': {
341
+ 'admin': RegionAdminResult[]
342
+ 'default': RegionDefaultResult[]
343
+ 'organizer': RegionOrganizerResult[]
344
+ }
345
+
346
+ 'OPTIONS': {
347
+ 'admin': unknown
348
+ 'default': unknown
349
+ 'organizer': unknown
350
+ }
351
+
352
+ 'PATCH': {
353
+ 'admin': unknown
354
+ 'default': unknown
355
+ 'organizer': unknown
356
+ }
357
+
358
+ 'POST': {
359
+ 'admin': unknown
360
+ 'default': unknown
361
+ 'organizer': unknown
362
+ }
363
+ }
364
+
256
365
  'Registration': {
257
366
  'DELETE': {
258
367
  'admin': unknown
@@ -293,10 +402,74 @@ type FetchResults = {
293
402
  }
294
403
 
295
404
  'GET': {
405
+ 'admin': RegistrationAdminResult[]
406
+ 'default': RegistrationDefaultResult[]
407
+ 'organizer': RegistrationOrganizerResult[]
408
+ }
409
+
410
+ 'OPTIONS': {
411
+ 'admin': unknown
412
+ 'default': unknown
413
+ 'organizer': unknown
414
+ }
415
+
416
+ 'PATCH': {
417
+ 'admin': unknown
418
+ 'default': unknown
419
+ 'organizer': unknown
420
+ }
421
+
422
+ 'POST': {
423
+ 'admin': unknown
424
+ 'default': unknown
425
+ 'organizer': unknown
426
+ }
427
+ }
428
+
429
+ 'Theme': {
430
+ 'DELETE': {
431
+ 'admin': unknown
432
+ 'default': unknown
433
+ 'organizer': unknown
434
+ }
435
+
436
+ 'GET': {
437
+ 'admin': ThemeAdminResult
438
+ 'default': ThemeDefaultResult
439
+ 'organizer': ThemeOrganizerResult
440
+ }
441
+
442
+ 'OPTIONS': {
443
+ 'admin': unknown
444
+ 'default': unknown
445
+ 'organizer': unknown
446
+ }
447
+
448
+ 'PATCH': {
449
+ 'admin': unknown
450
+ 'default': unknown
451
+ 'organizer': unknown
452
+ }
453
+
454
+ 'POST': {
296
455
  'admin': unknown
297
456
  'default': unknown
298
457
  'organizer': unknown
299
458
  }
459
+ }
460
+
461
+ 'Themes': {
462
+ 'DELETE': {
463
+ 'admin': unknown
464
+ 'default': unknown
465
+ 'organizer': unknown
466
+ }
467
+
468
+ 'GET': {
469
+ 'admin': ThemeAdminResult[]
470
+ 'default': ThemeDefaultResult[]
471
+ 'organizer': ThemeOrganizerResult[]
472
+ }
300
473
 
301
474
  'OPTIONS': {
302
475
  'admin': unknown
@@ -317,7 +490,7 @@ type FetchResults = {
317
490
  }
318
491
  }
319
492
 
320
- 'City': {
493
+ 'User': {
321
494
  'DELETE': {
322
495
  'admin': unknown
323
496
  'default': unknown
@@ -325,9 +498,9 @@ type FetchResults = {
325
498
  }
326
499
 
327
500
  'GET': {
328
- 'admin': CityAdminResult
329
- 'default': CityDefaultResult
330
- 'organizer': CityOrganizerResult
501
+ 'admin': UserAdminResult
502
+ 'default': UserDefaultResult
503
+ 'organizer': UserOrganizerResult
331
504
  }
332
505
 
333
506
  'OPTIONS': {
@@ -349,7 +522,7 @@ type FetchResults = {
349
522
  }
350
523
  }
351
524
 
352
- 'Cities': {
525
+ 'Users': {
353
526
  'DELETE': {
354
527
  'admin': unknown
355
528
  'default': unknown
@@ -357,9 +530,9 @@ type FetchResults = {
357
530
  }
358
531
 
359
532
  'GET': {
360
- 'admin': CityAdminResult[]
361
- 'default': CityDefaultResult[]
362
- 'organizer': CityOrganizerResult[]
533
+ 'admin': UserAdminResult[]
534
+ 'default': UserDefaultResult[]
535
+ 'organizer': UserOrganizerResult[]
363
536
  }
364
537
 
365
538
  'OPTIONS': {
@@ -381,7 +554,7 @@ type FetchResults = {
381
554
  }
382
555
  }
383
556
 
384
- 'Location': {
557
+ 'Venue': {
385
558
  'DELETE': {
386
559
  'admin': unknown
387
560
  'default': unknown
@@ -389,9 +562,9 @@ type FetchResults = {
389
562
  }
390
563
 
391
564
  'GET': {
392
- 'admin': LocationAdminResult
393
- 'default': LocationDefaultResult
394
- 'organizer': LocationOrganizerResult
565
+ 'admin': VenueAdminResult
566
+ 'default': VenueDefaultResult
567
+ 'organizer': VenueOrganizerResult
395
568
  }
396
569
 
397
570
  'OPTIONS': {
@@ -413,7 +586,7 @@ type FetchResults = {
413
586
  }
414
587
  }
415
588
 
416
- 'Locations': {
589
+ 'Venues': {
417
590
  'DELETE': {
418
591
  'admin': unknown
419
592
  'default': unknown
@@ -421,9 +594,9 @@ type FetchResults = {
421
594
  }
422
595
 
423
596
  'GET': {
424
- 'admin': LocationAdminResult
425
- 'default': LocationDefaultResult
426
- 'organizer': LocationOrganizerResult
597
+ 'admin': VenueAdminResult[]
598
+ 'default': VenueDefaultResult[]
599
+ 'organizer': VenueOrganizerResult[]
427
600
  }
428
601
 
429
602
  'OPTIONS': {
package/source/index.d.ts CHANGED
@@ -1,21 +1,21 @@
1
+ /// <reference path="./city.d.ts" />
2
+ /// <reference path="./game.d.ts" />
1
3
  /// <reference path="./globals.d.ts" />
2
- /// <reference path="./user.d.ts" />
4
+ /// <reference path="./registration.d.ts" />
3
5
  /// <reference path="./role.d.ts" />
4
6
  /// <reference path="./theme.d.ts" />
5
- /// <reference path="./game.d.ts" />
6
- /// <reference path="./registration.d.ts" />
7
- /// <reference path="./city.d.ts" />
8
- /// <reference path="./location.d.ts" />
7
+ /// <reference path="./user.d.ts" />
8
+ /// <reference path="./venue.d.ts" />
9
9
 
10
10
  export * from './enumerations/constants.js'
11
11
  export * from './enumerations/cookies.js'
12
12
  export * from './enumerations/features.js'
13
13
  export * from './enumerations/game-statuses.js'
14
14
  export * from './enumerations/kinds.js'
15
- export * from './enumerations/methods.js'
16
15
  export * from './enumerations/networks.js'
17
16
  export * from './enumerations/phases.js'
18
17
  export * from './enumerations/regexps.js'
18
+ export * from './enumerations/request-methods.js'
19
19
  export * from './enumerations/requirements.js'
20
20
  export * from './enumerations/roles.js'
21
21
  export * from './enumerations/services.js'
package/source/index.js CHANGED
@@ -3,10 +3,10 @@ export * from './enumerations/cookies.js'
3
3
  export * from './enumerations/features.js'
4
4
  export * from './enumerations/game-statuses.js'
5
5
  export * from './enumerations/kinds.js'
6
- export * from './enumerations/methods.js'
7
6
  export * from './enumerations/networks.js'
8
7
  export * from './enumerations/phases.js'
9
8
  export * from './enumerations/regexps.js'
9
+ export * from './enumerations/request-methods.js'
10
10
  export * from './enumerations/requirements.js'
11
11
  export * from './enumerations/roles.js'
12
12
  export * from './enumerations/services.js'
@@ -1,29 +1,29 @@
1
- type LocationAdminResult = LocationRow
1
+ type VenueAdminResult = VenueRow
2
2
 
3
- type LocationDefaultResult = {
4
- address: LocationRow['address']
5
- alias: LocationRow['alias']
6
- country: LocationRow['country']
7
- custom_html: LocationRow['custom_html']
8
- custom_script: LocationRow['custom_script']
9
- email: LocationRow['email']
10
- id: LocationRow['id']
11
- inst_link: LocationRow['inst_link']
12
- max_members_count: LocationRow['max_members_count']
13
- meta_description: LocationRow['meta_description']
14
- meta_title: LocationRow['meta_title']
15
- min_members_count: LocationRow['min_members_count']
16
- name: LocationRow['name']
17
- phone: LocationRow['phone']
18
- tg_link: LocationRow['tg_link']
19
- vk_group_id: LocationRow['vk_group_id']
20
- vk_link: LocationRow['vk_link']
21
- yandex_metrica: LocationRow['yandex_metrica']
3
+ type VenueDefaultResult = {
4
+ address: VenueRow['address']
5
+ alias: VenueRow['alias']
6
+ country: VenueRow['country']
7
+ custom_html: VenueRow['custom_html']
8
+ custom_script: VenueRow['custom_script']
9
+ email: VenueRow['email']
10
+ id: VenueRow['id']
11
+ inst_link: VenueRow['inst_link']
12
+ max_members_count: VenueRow['max_members_count']
13
+ meta_description: VenueRow['meta_description']
14
+ meta_title: VenueRow['meta_title']
15
+ min_members_count: VenueRow['min_members_count']
16
+ name: VenueRow['name']
17
+ phone: VenueRow['phone']
18
+ tg_link: VenueRow['tg_link']
19
+ vk_group_id: VenueRow['vk_group_id']
20
+ vk_link: VenueRow['vk_link']
21
+ yandex_metrica: VenueRow['yandex_metrica']
22
22
  }
23
23
 
24
- type LocationOrganizerResult = LocationRow
24
+ type VenueOrganizerResult = VenueRow
25
25
 
26
- type LocationRow = {
26
+ type VenueRow = {
27
27
  /**
28
28
  * @description "uuid"
29
29
  */
@@ -1,8 +0,0 @@
1
- export var Methods = /** @type {const} */ ({
2
- DELETE: 'DELETE',
3
- GET: 'GET',
4
- OPTIONS: 'OPTIONS',
5
- PATCH: 'PATCH',
6
- POST: 'POST',
7
- PUT: 'PUT',
8
- })