@shakerquiz/utilities 0.5.186 → 0.5.188
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 +2 -3
- package/source/enumerations/entities/registration-attribute.js +2 -2
- package/source/enumerations/route.js +6 -6
- package/source/functions/hydrate-route-params.js +11 -17
- package/source/functions/hydrate-route-pathname.js +17 -23
- package/source/functions/key.js +7 -16
- package/source/functions/string-tag.js +3 -0
- package/source/index.js +1 -1
- package/source/functions/tag.js +0 -6
- package/source/schemas/PATCH/city/admin.json +0 -126
- package/source/schemas/PATCH/city/currency/admin.json +0 -173
- package/source/schemas/PATCH/city/timezone/admin.json +0 -501
- package/source/schemas/PATCH/game/admin.json +0 -30
- package/source/schemas/PATCH/game/organizer.json +0 -30
- package/source/schemas/PATCH/games/admin.json +0 -34
- package/source/schemas/PATCH/games/organizer.json +0 -34
- package/source/schemas/PATCH/registration/Unknown.json +0 -10
- package/source/schemas/PATCH/registration/admin.json +0 -43
- package/source/schemas/PATCH/registration/cancellation/Unknown.json +0 -12
- package/source/schemas/PATCH/registration/channel/Unknown.json +0 -22
- package/source/schemas/PATCH/registration/confirmation/Unknown.json +0 -12
- package/source/schemas/PATCH/registration/organizer.json +0 -43
- package/source/schemas/PATCH/theme/admin.json +0 -19
- package/source/schemas/PATCH/user/admin.json +0 -30
- package/source/schemas/PATCH/user/cities/admin.json +0 -17
- package/source/schemas/PATCH/user/password/admin.json +0 -12
- package/source/schemas/PATCH/user/role/admin.json +0 -13
- package/source/schemas/PATCH/users/cities/admin.json +0 -19
- package/source/schemas/PATCH/users/role/admin.json +0 -19
- package/source/schemas/PATCH/venue/admin.json +0 -44
- package/source/schemas/PATCH/venue/organizer.json +0 -44
- package/source/schemas/POST/checkin/Unknown.json +0 -16
- package/source/schemas/POST/city/admin.json +0 -696
- package/source/schemas/POST/cover/admin.json +0 -24
- package/source/schemas/POST/game/admin.json +0 -27
- package/source/schemas/POST/game/organizer.json +0 -27
- package/source/schemas/POST/game/registrations/export/admin.json +0 -17
- package/source/schemas/POST/game/registrations/export/organizer.json +0 -17
- package/source/schemas/POST/registration/Unknown.json +0 -125
- package/source/schemas/POST/registration/mailing/admin.json +0 -16
- package/source/schemas/POST/registration/mailing/organizer.json +0 -16
- package/source/schemas/POST/registrations/export/admin.json +0 -17
- package/source/schemas/POST/registrations/export/organizer.json +0 -17
- package/source/schemas/POST/theme/admin.json +0 -24
- package/source/schemas/POST/user/admin.json +0 -12
- package/source/schemas/POST/user/cities/admin.json +0 -17
- package/source/schemas/POST/user/password/admin.json +0 -12
- package/source/schemas/POST/user/role/admin.json +0 -13
- package/source/schemas/POST/venue/admin.json +0 -38
- package/source/schemas/POST/venue/organizer.json +0 -38
- package/source/schemas/PUT/cover/admin.json +0 -13
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@shakerquiz/utilities",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.188",
|
|
5
5
|
"author": "yurkimus <yurkimus@gmail.com>",
|
|
6
6
|
"license": "ISC",
|
|
7
7
|
"repository": {
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
13
|
"default": "./source/index.js"
|
|
14
|
-
}
|
|
15
|
-
"./schemas/*.json": "./source/schemas/*.json"
|
|
14
|
+
}
|
|
16
15
|
}
|
|
17
16
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toStringTag } from '../../functions/string-tag.js'
|
|
2
2
|
|
|
3
3
|
export var RegistrationAttribute = /** @type {const} */ ({
|
|
4
4
|
'Alone': 'Alone',
|
|
@@ -58,7 +58,7 @@ export var RegistrationPropertyRegistrationAttribute = {
|
|
|
58
58
|
* @param {RegistrationAttribute[] | Partial<Pick<RegistrationTable, 'is_alone' | 'is_birthday' | 'is_extensible' | 'is_first'>>} value
|
|
59
59
|
*/
|
|
60
60
|
export var getRegistrationAttributes = value => {
|
|
61
|
-
switch (
|
|
61
|
+
switch (toStringTag(value)) {
|
|
62
62
|
case 'Object':
|
|
63
63
|
return RegistrationAttributeRegistrationProperties
|
|
64
64
|
.map(property => value[property] ? RegistrationPropertyRegistrationAttribute[property] : '')
|
|
@@ -130,14 +130,14 @@ export const RouteRelation = Object.freeze({
|
|
|
130
130
|
[Route['cities/country']]: Route['city/country'],
|
|
131
131
|
[Route['cities/currency']]: Route['city/currency'],
|
|
132
132
|
[Route['cities/timezone']]: Route['city/timezone'],
|
|
133
|
-
[Route['cities/venues']]: Route['city/
|
|
134
|
-
[Route['city/venues']]: Route['city/
|
|
133
|
+
[Route['cities/venues']]: Route['city/venues'],
|
|
134
|
+
[Route['city/venues']]: Route['city/venues'],
|
|
135
135
|
[Route['countries']]: Route['country'],
|
|
136
136
|
[Route['currencies']]: Route['currency'],
|
|
137
|
-
[Route['game/registrations']]: Route['game/
|
|
137
|
+
[Route['game/registrations']]: Route['game/registrations'],
|
|
138
138
|
[Route['games']]: Route['game'],
|
|
139
139
|
[Route['games/city']]: Route['game/city'],
|
|
140
|
-
[Route['games/registrations']]: Route['game/
|
|
140
|
+
[Route['games/registrations']]: Route['game/registrations'],
|
|
141
141
|
[Route['games/summary']]: Route['game/summary'],
|
|
142
142
|
[Route['games/theme']]: Route['game/theme'],
|
|
143
143
|
[Route['games/venue']]: Route['game/venue'],
|
|
@@ -146,9 +146,9 @@ export const RouteRelation = Object.freeze({
|
|
|
146
146
|
[Route['themes']]: Route['theme'],
|
|
147
147
|
[Route['themes/cover']]: Route['theme/cover'],
|
|
148
148
|
[Route['timezones']]: Route['timezone'],
|
|
149
|
-
[Route['user/cities']]: Route['user/
|
|
149
|
+
[Route['user/cities']]: Route['user/cities'],
|
|
150
150
|
[Route['users']]: Route['user'],
|
|
151
|
-
[Route['users/cities']]: Route['user/
|
|
151
|
+
[Route['users/cities']]: Route['user/cities'],
|
|
152
152
|
[Route['users/role']]: Route['user/role'],
|
|
153
153
|
[Route['venues']]: Route['venue'],
|
|
154
154
|
[Route['venues/city']]: Route['venue/city'],
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
import { inferRoute, inferRouteParams } from '../enumerations/route.js'
|
|
2
2
|
|
|
3
|
-
export const hydrateRouteParams = Object.freeze(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* @param {object} maybeParams
|
|
7
|
-
*/
|
|
8
|
-
(maybeRoute, maybeParams) => {
|
|
9
|
-
if (typeof maybeParams !== 'object' || maybeParams === null)
|
|
10
|
-
throw TypeError(`Parameter 'maybeParams' must be 'Object'.`)
|
|
3
|
+
export const hydrateRouteParams = Object.freeze((r, p) => {
|
|
4
|
+
if (typeof p !== 'object' || p === null)
|
|
5
|
+
throw TypeError(`Parameter 'maybeParams' must be 'Object'.`)
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
var route = inferRoute(r)
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
if (route === 'Unknown')
|
|
10
|
+
throw TypeError(`Could not infer route of: '${r}'.`)
|
|
16
11
|
|
|
17
|
-
|
|
12
|
+
var routeParams = inferRouteParams(route)
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (routeParams === 'Unknown')
|
|
15
|
+
throw TypeError(`Could not infer route params of: '${route}'.`)
|
|
21
16
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
)
|
|
17
|
+
return routeParams.map(key => p[key.replace(':', '')] ?? key)
|
|
18
|
+
})
|
|
@@ -1,32 +1,26 @@
|
|
|
1
1
|
import { inferRoute, inferRouteParams, inferRoutePathname } from '../enumerations/route.js'
|
|
2
2
|
|
|
3
|
-
export const hydrateRoutePathname = Object.freeze(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* @param {any[]} maybeRouteParams
|
|
7
|
-
*/
|
|
8
|
-
(maybeRoute, maybeRouteParams) => {
|
|
9
|
-
if (!Array.isArray(maybeRouteParams))
|
|
10
|
-
throw TypeError(`Parameter 'maybeRouteParams' must be 'Array'.`)
|
|
3
|
+
export const hydrateRoutePathname = Object.freeze((r, p) => {
|
|
4
|
+
if (!Array.isArray(p))
|
|
5
|
+
throw TypeError(`Parameter 'maybeRouteParams' must be 'Array'.`)
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
var route = inferRoute(r)
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
if (route === 'Unknown')
|
|
10
|
+
throw TypeError(`Could not infer route of: '${r}'.`)
|
|
16
11
|
|
|
17
|
-
|
|
12
|
+
var routePathname = inferRoutePathname(route)
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (routePathname === 'Unknown')
|
|
15
|
+
throw TypeError(`Could not infer route pathname of: '${route}'.`)
|
|
21
16
|
|
|
22
|
-
|
|
17
|
+
var routeParams = inferRouteParams(route)
|
|
23
18
|
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
if (routeParams === 'Unknown')
|
|
20
|
+
throw TypeError(`Could not infer route params of: '${route}'.`)
|
|
26
21
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
)
|
|
22
|
+
return routeParams.reduce(
|
|
23
|
+
(pathname, param, index) => pathname.replace(param, p[index]),
|
|
24
|
+
routePathname,
|
|
25
|
+
)
|
|
26
|
+
})
|
package/source/functions/key.js
CHANGED
|
@@ -2,22 +2,13 @@ import { inferMethod } from '../enumerations/method.js'
|
|
|
2
2
|
|
|
3
3
|
import { hydrateRoutePathname } from './hydrate-route-pathname.js'
|
|
4
4
|
|
|
5
|
-
export const tag = Object.freeze(
|
|
6
|
-
|
|
7
|
-
* @param {any} maybeMethod
|
|
8
|
-
* @param {any} maybeRoute
|
|
9
|
-
* @param {any[]} maybeParameters
|
|
10
|
-
*/
|
|
11
|
-
(maybeMethod, maybeRoute, maybeParameters) => {
|
|
12
|
-
var method = inferMethod(maybeMethod)
|
|
5
|
+
export const tag = Object.freeze((m, r, p) => {
|
|
6
|
+
var method = inferMethod(m)
|
|
13
7
|
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
if (method === 'Unknown')
|
|
9
|
+
throw TypeError(`Could not infer method of: '${m}'.`)
|
|
16
10
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
)
|
|
11
|
+
return method + '/' + hydrateRoutePathname(r, p)
|
|
12
|
+
})
|
|
20
13
|
|
|
21
|
-
export const tagexp = Object.freeze((
|
|
22
|
-
new RegExp(tag(maybeMethod, maybeRoute, maybeParameters))
|
|
23
|
-
)
|
|
14
|
+
export const tagexp = Object.freeze((m, r, p) => new RegExp(`^${tag(m, r, p)}$`))
|
package/source/index.js
CHANGED
|
@@ -31,4 +31,4 @@ export * from './enumerations/venue/status.js'
|
|
|
31
31
|
export * from './functions/hydrate-route-params.js'
|
|
32
32
|
export * from './functions/hydrate-route-pathname.js'
|
|
33
33
|
export * from './functions/key.js'
|
|
34
|
-
export * from './functions/tag.js'
|
|
34
|
+
export * from './functions/string-tag.js'
|
package/source/functions/tag.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"is_franchise": {
|
|
5
|
-
"type": "boolean"
|
|
6
|
-
},
|
|
7
|
-
"price": {
|
|
8
|
-
"type": "number"
|
|
9
|
-
},
|
|
10
|
-
"game_time": {
|
|
11
|
-
"type": "string",
|
|
12
|
-
"format": "iso-time"
|
|
13
|
-
},
|
|
14
|
-
"vk_link": {
|
|
15
|
-
"type": [
|
|
16
|
-
"string",
|
|
17
|
-
"null"
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
"tg_link": {
|
|
21
|
-
"type": [
|
|
22
|
-
"string",
|
|
23
|
-
"null"
|
|
24
|
-
]
|
|
25
|
-
},
|
|
26
|
-
"inst_link": {
|
|
27
|
-
"type": [
|
|
28
|
-
"string",
|
|
29
|
-
"null"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
"min_members_count": {
|
|
33
|
-
"type": [
|
|
34
|
-
"number",
|
|
35
|
-
"null"
|
|
36
|
-
]
|
|
37
|
-
},
|
|
38
|
-
"max_members_count": {
|
|
39
|
-
"type": [
|
|
40
|
-
"number",
|
|
41
|
-
"null"
|
|
42
|
-
]
|
|
43
|
-
},
|
|
44
|
-
"custom_script": {
|
|
45
|
-
"type": [
|
|
46
|
-
"string",
|
|
47
|
-
"null"
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
"custom_html": {
|
|
51
|
-
"type": [
|
|
52
|
-
"string",
|
|
53
|
-
"null"
|
|
54
|
-
]
|
|
55
|
-
},
|
|
56
|
-
"vk_group_id": {
|
|
57
|
-
"type": [
|
|
58
|
-
"string",
|
|
59
|
-
"null"
|
|
60
|
-
]
|
|
61
|
-
},
|
|
62
|
-
"chatapp_line": {
|
|
63
|
-
"type": [
|
|
64
|
-
"string",
|
|
65
|
-
"null"
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
"chatapp_user": {
|
|
69
|
-
"type": [
|
|
70
|
-
"string",
|
|
71
|
-
"null"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
"chatapp_tag": {
|
|
75
|
-
"type": [
|
|
76
|
-
"string",
|
|
77
|
-
"null"
|
|
78
|
-
]
|
|
79
|
-
},
|
|
80
|
-
"chatapp_category": {
|
|
81
|
-
"type": [
|
|
82
|
-
"string",
|
|
83
|
-
"null"
|
|
84
|
-
]
|
|
85
|
-
},
|
|
86
|
-
"telegram_chat_id": {
|
|
87
|
-
"type": [
|
|
88
|
-
"string",
|
|
89
|
-
"null"
|
|
90
|
-
]
|
|
91
|
-
},
|
|
92
|
-
"yandex_metrica": {
|
|
93
|
-
"type": [
|
|
94
|
-
"string",
|
|
95
|
-
"null"
|
|
96
|
-
]
|
|
97
|
-
},
|
|
98
|
-
"chatapp_legacy": {
|
|
99
|
-
"type": [
|
|
100
|
-
"boolean"
|
|
101
|
-
]
|
|
102
|
-
},
|
|
103
|
-
"phone": {
|
|
104
|
-
"type": [
|
|
105
|
-
"string",
|
|
106
|
-
"null"
|
|
107
|
-
]
|
|
108
|
-
},
|
|
109
|
-
"email": {
|
|
110
|
-
"type": [
|
|
111
|
-
"string",
|
|
112
|
-
"null"
|
|
113
|
-
]
|
|
114
|
-
},
|
|
115
|
-
"address": {
|
|
116
|
-
"type": [
|
|
117
|
-
"string",
|
|
118
|
-
"null"
|
|
119
|
-
]
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
"required": [
|
|
123
|
-
"is_franchise"
|
|
124
|
-
],
|
|
125
|
-
"additionalProperties": false
|
|
126
|
-
}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"id": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"enum": [
|
|
7
|
-
"AED",
|
|
8
|
-
"AFN",
|
|
9
|
-
"ALL",
|
|
10
|
-
"AMD",
|
|
11
|
-
"ANG",
|
|
12
|
-
"AOA",
|
|
13
|
-
"ARS",
|
|
14
|
-
"AUD",
|
|
15
|
-
"AWG",
|
|
16
|
-
"AZN",
|
|
17
|
-
"BAM",
|
|
18
|
-
"BBD",
|
|
19
|
-
"BDT",
|
|
20
|
-
"BGN",
|
|
21
|
-
"BHD",
|
|
22
|
-
"BIF",
|
|
23
|
-
"BMD",
|
|
24
|
-
"BND",
|
|
25
|
-
"BOB",
|
|
26
|
-
"BRL",
|
|
27
|
-
"BSD",
|
|
28
|
-
"BTN",
|
|
29
|
-
"BWP",
|
|
30
|
-
"BYN",
|
|
31
|
-
"BZD",
|
|
32
|
-
"CAD",
|
|
33
|
-
"CDF",
|
|
34
|
-
"CHF",
|
|
35
|
-
"CLP",
|
|
36
|
-
"CNY",
|
|
37
|
-
"COP",
|
|
38
|
-
"CRC",
|
|
39
|
-
"CUC",
|
|
40
|
-
"CUP",
|
|
41
|
-
"CVE",
|
|
42
|
-
"CZK",
|
|
43
|
-
"DJF",
|
|
44
|
-
"DKK",
|
|
45
|
-
"DOP",
|
|
46
|
-
"DZD",
|
|
47
|
-
"EGP",
|
|
48
|
-
"ERN",
|
|
49
|
-
"ETB",
|
|
50
|
-
"EUR",
|
|
51
|
-
"FJD",
|
|
52
|
-
"FKP",
|
|
53
|
-
"GBP",
|
|
54
|
-
"GEL",
|
|
55
|
-
"GHS",
|
|
56
|
-
"GIP",
|
|
57
|
-
"GMD",
|
|
58
|
-
"GNF",
|
|
59
|
-
"GTQ",
|
|
60
|
-
"GYD",
|
|
61
|
-
"HKD",
|
|
62
|
-
"HNL",
|
|
63
|
-
"HRK",
|
|
64
|
-
"HTG",
|
|
65
|
-
"HUF",
|
|
66
|
-
"IDR",
|
|
67
|
-
"ILS",
|
|
68
|
-
"INR",
|
|
69
|
-
"IQD",
|
|
70
|
-
"IRR",
|
|
71
|
-
"ISK",
|
|
72
|
-
"JMD",
|
|
73
|
-
"JOD",
|
|
74
|
-
"JPY",
|
|
75
|
-
"KES",
|
|
76
|
-
"KGS",
|
|
77
|
-
"KHR",
|
|
78
|
-
"KMF",
|
|
79
|
-
"KPW",
|
|
80
|
-
"KRW",
|
|
81
|
-
"KWD",
|
|
82
|
-
"KYD",
|
|
83
|
-
"KZT",
|
|
84
|
-
"LAK",
|
|
85
|
-
"LBP",
|
|
86
|
-
"LKR",
|
|
87
|
-
"LRD",
|
|
88
|
-
"LSL",
|
|
89
|
-
"LYD",
|
|
90
|
-
"MAD",
|
|
91
|
-
"MDL",
|
|
92
|
-
"MGA",
|
|
93
|
-
"MKD",
|
|
94
|
-
"MMK",
|
|
95
|
-
"MNT",
|
|
96
|
-
"MOP",
|
|
97
|
-
"MRU",
|
|
98
|
-
"MUR",
|
|
99
|
-
"MVR",
|
|
100
|
-
"MWK",
|
|
101
|
-
"MXN",
|
|
102
|
-
"MYR",
|
|
103
|
-
"MZN",
|
|
104
|
-
"NAD",
|
|
105
|
-
"NGN",
|
|
106
|
-
"NIO",
|
|
107
|
-
"NOK",
|
|
108
|
-
"NPR",
|
|
109
|
-
"NZD",
|
|
110
|
-
"OMR",
|
|
111
|
-
"PAB",
|
|
112
|
-
"PEN",
|
|
113
|
-
"PGK",
|
|
114
|
-
"PHP",
|
|
115
|
-
"PKR",
|
|
116
|
-
"PLN",
|
|
117
|
-
"PYG",
|
|
118
|
-
"QAR",
|
|
119
|
-
"RON",
|
|
120
|
-
"RSD",
|
|
121
|
-
"RUB",
|
|
122
|
-
"RWF",
|
|
123
|
-
"SAR",
|
|
124
|
-
"SBD",
|
|
125
|
-
"SCR",
|
|
126
|
-
"SDG",
|
|
127
|
-
"SEK",
|
|
128
|
-
"SGD",
|
|
129
|
-
"SHP",
|
|
130
|
-
"SLL",
|
|
131
|
-
"SOS",
|
|
132
|
-
"SRD",
|
|
133
|
-
"SSP",
|
|
134
|
-
"STN",
|
|
135
|
-
"SVC",
|
|
136
|
-
"SYP",
|
|
137
|
-
"SZL",
|
|
138
|
-
"THB",
|
|
139
|
-
"TJS",
|
|
140
|
-
"TMT",
|
|
141
|
-
"TND",
|
|
142
|
-
"TOP",
|
|
143
|
-
"TRY",
|
|
144
|
-
"TTD",
|
|
145
|
-
"TWD",
|
|
146
|
-
"TZS",
|
|
147
|
-
"UAH",
|
|
148
|
-
"UGX",
|
|
149
|
-
"USD",
|
|
150
|
-
"UYU",
|
|
151
|
-
"UZS",
|
|
152
|
-
"VES",
|
|
153
|
-
"VND",
|
|
154
|
-
"VUV",
|
|
155
|
-
"WST",
|
|
156
|
-
"XAF",
|
|
157
|
-
"XCD",
|
|
158
|
-
"XDR",
|
|
159
|
-
"XOF",
|
|
160
|
-
"XPF",
|
|
161
|
-
"XSU",
|
|
162
|
-
"YER",
|
|
163
|
-
"ZAR",
|
|
164
|
-
"ZMW",
|
|
165
|
-
"ZWL"
|
|
166
|
-
]
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
"required": [
|
|
170
|
-
"id"
|
|
171
|
-
],
|
|
172
|
-
"additionalProperties": false
|
|
173
|
-
}
|