@shakerquiz/utilities 0.6.18 → 1.0.0
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/dprint.json +12 -4
- package/jsconfig.json +6 -13
- package/package.json +12 -9
- package/source/enumerations/constants.d.ts +3 -0
- package/source/{entities → enumerations}/constants.js +2 -2
- package/source/enumerations/cookies.d.ts +5 -0
- package/source/enumerations/cookies.js +5 -0
- package/source/enumerations/features.d.ts +58 -0
- package/source/enumerations/features.js +49 -0
- package/source/enumerations/game-statuses.d.ts +39 -0
- package/source/enumerations/game-statuses.js +39 -0
- package/source/enumerations/kinds.d.ts +4 -0
- package/source/enumerations/kinds.js +4 -0
- package/source/enumerations/methods.d.ts +7 -0
- package/source/enumerations/methods.js +7 -0
- package/source/enumerations/networks.d.ts +4 -0
- package/source/enumerations/networks.js +4 -0
- package/source/enumerations/phases.d.ts +7 -0
- package/source/enumerations/phases.js +7 -0
- package/source/enumerations/regexps.d.ts +4 -0
- package/source/enumerations/regexps.js +6 -0
- package/source/enumerations/roles.d.ts +5 -0
- package/source/enumerations/roles.js +5 -0
- package/source/functions/request.d.ts +131 -0
- package/source/functions/request.js +202 -0
- package/source/globals.d.ts +14 -0
- package/source/index.d.ts +15 -0
- package/source/index.js +11 -40
- package/source/results.d.ts +137 -0
- package/source/rows.d.ts +533 -0
- package/.github/workflows/publish.yml +0 -31
- package/scripts/route-cardinality.js +0 -23
- package/scripts/route-parameter.js +0 -29
- package/scripts/route-pathname.js +0 -37
- package/scripts/route-relation.js +0 -26
- package/scripts/route-service.js +0 -25
- package/scripts/templates/route-cardinality.js +0 -5
- package/scripts/templates/route-parameter.js +0 -5
- package/scripts/templates/route-pathname.js +0 -7
- package/scripts/templates/route-relation.js +0 -5
- package/scripts/templates/route-service.js +0 -7
- package/source/entities/blend.js +0 -5
- package/source/entities/cardinality.js +0 -4
- package/source/entities/category.js +0 -4
- package/source/entities/city-affilation.js +0 -10
- package/source/entities/city-chatapp-version.js +0 -9
- package/source/entities/display.js +0 -4
- package/source/entities/game-status.js +0 -98
- package/source/entities/gender.js +0 -13
- package/source/entities/icon.js +0 -654
- package/source/entities/key.js +0 -41
- package/source/entities/method.js +0 -22
- package/source/entities/mode.js +0 -9
- package/source/entities/network.js +0 -9
- package/source/entities/numerosity.js +0 -5
- package/source/entities/pattern.js +0 -7
- package/source/entities/phase.js +0 -15
- package/source/entities/quantifier.js +0 -41
- package/source/entities/registration-attribute.js +0 -61
- package/source/entities/registration-channel.js +0 -11
- package/source/entities/registration-lineup.js +0 -14
- package/source/entities/registration-mailing.js +0 -20
- package/source/entities/registration-status.js +0 -19
- package/source/entities/role.js +0 -16
- package/source/entities/route-cardinality.js +0 -149
- package/source/entities/route-parameter.js +0 -149
- package/source/entities/route-pathname.js +0 -223
- package/source/entities/route-relation.js +0 -149
- package/source/entities/route-service.js +0 -179
- package/source/entities/route.js +0 -82
- package/source/entities/runtime.js +0 -6
- package/source/entities/segment.js +0 -255
- package/source/entities/service-runtime.js +0 -22
- package/source/entities/service.js +0 -22
- package/source/entities/theme-status.js +0 -9
- package/source/entities/venue-audience.js +0 -9
- package/source/entities/venue-status.js +0 -9
- package/source/helpers/access.js +0 -161
- package/source/helpers/hydrate-route-pathname.js +0 -29
- package/source/helpers/tag.js +0 -35
package/dprint.json
CHANGED
|
@@ -6,19 +6,27 @@
|
|
|
6
6
|
"useTabs": false,
|
|
7
7
|
"useBraces": "maintain",
|
|
8
8
|
"arrowFunction.useParentheses": "preferNone",
|
|
9
|
-
"lineWidth":
|
|
10
|
-
"importDeclaration.forceSingleLine": true
|
|
9
|
+
"lineWidth": 80
|
|
11
10
|
},
|
|
11
|
+
|
|
12
12
|
"json": {},
|
|
13
|
+
|
|
13
14
|
"markdown": {},
|
|
15
|
+
|
|
14
16
|
"dockerfile": {},
|
|
17
|
+
|
|
15
18
|
"yaml": {},
|
|
19
|
+
|
|
16
20
|
"excludes": [
|
|
17
21
|
"**/node_modules",
|
|
18
22
|
"**/*-lock.json"
|
|
19
23
|
],
|
|
24
|
+
|
|
20
25
|
"plugins": [
|
|
21
26
|
"https://plugins.dprint.dev/typescript-0.93.0.wasm",
|
|
22
|
-
"https://plugins.dprint.dev/json-0.19.3.wasm"
|
|
27
|
+
"https://plugins.dprint.dev/json-0.19.3.wasm",
|
|
28
|
+
"https://plugins.dprint.dev/markdown-0.17.8.wasm",
|
|
29
|
+
"https://plugins.dprint.dev/dockerfile-0.3.2.wasm",
|
|
30
|
+
"https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.0.wasm"
|
|
23
31
|
]
|
|
24
|
-
}
|
|
32
|
+
}
|
package/jsconfig.json
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"baseUrl": ".",
|
|
4
|
+
|
|
4
5
|
"module": "NodeNext",
|
|
5
6
|
"moduleResolution": "nodenext",
|
|
6
|
-
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"./source/*"
|
|
12
|
-
]
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"include": [
|
|
16
|
-
"source/**/*"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
7
|
+
|
|
8
|
+
"strictBindCallApply": true,
|
|
9
|
+
"allowArbitraryExtensions": true
|
|
10
|
+
}
|
|
11
|
+
}
|
package/package.json
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"type": "module",
|
|
3
2
|
"name": "@shakerquiz/utilities",
|
|
4
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
5
4
|
"author": "yurkimus <yurkimus@gmail.com>",
|
|
6
5
|
"license": "ISC",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "https://github.com/shaker-quiz/utilities.git"
|
|
10
|
-
},
|
|
11
6
|
"exports": {
|
|
12
|
-
"
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./source/index.d.ts",
|
|
9
|
+
"import": "./source/index.js",
|
|
10
|
+
"edge-light": "./source/index.js"
|
|
11
|
+
}
|
|
13
12
|
},
|
|
14
|
-
"
|
|
15
|
-
"
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@yurkimus/cookies": "0.0.7",
|
|
15
|
+
"@yurkimus/errors": "0.1.3",
|
|
16
|
+
"@yurkimus/message": "0.0.13",
|
|
17
|
+
"@yurkimus/response-status": "0.1.0",
|
|
18
|
+
"@yurkimus/url": "0.2.7"
|
|
16
19
|
}
|
|
17
20
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { URLOptions } from '@yurkimus/url'
|
|
2
|
+
|
|
3
|
+
import { Kinds } from './kinds'
|
|
4
|
+
import { Networks } from './networks'
|
|
5
|
+
|
|
6
|
+
export let Features: {
|
|
7
|
+
Checkin: 'Checkin'
|
|
8
|
+
|
|
9
|
+
City: 'City'
|
|
10
|
+
Cities: 'Cities'
|
|
11
|
+
|
|
12
|
+
CityPublic: 'CityPublic'
|
|
13
|
+
CitiesPublic: 'CitiesPublic'
|
|
14
|
+
|
|
15
|
+
Game: 'Game'
|
|
16
|
+
Games: 'Games'
|
|
17
|
+
|
|
18
|
+
GamePublic: 'GamePublic'
|
|
19
|
+
GamesPublic: 'GamesPublic'
|
|
20
|
+
|
|
21
|
+
Theme: 'Theme'
|
|
22
|
+
Themes: 'Themes'
|
|
23
|
+
|
|
24
|
+
User: 'User'
|
|
25
|
+
Users: 'Users'
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export let FeatureKinds: {
|
|
29
|
+
[Features.Checkin]: Kinds.Item
|
|
30
|
+
|
|
31
|
+
[Features.City]: Kinds.Item
|
|
32
|
+
[Features.Cities]: Kinds.List
|
|
33
|
+
|
|
34
|
+
[Features.CityPublic]: Kinds.Item
|
|
35
|
+
[Features.CitiesPublic]: Kinds.List
|
|
36
|
+
|
|
37
|
+
[Features.Game]: Kinds.Item
|
|
38
|
+
[Features.Games]: Kinds.List
|
|
39
|
+
|
|
40
|
+
[Features.GamePublic]: Kinds.Item
|
|
41
|
+
[Features.GamesPublic]: Kinds.List
|
|
42
|
+
|
|
43
|
+
[Features.Theme]: Kinds.Item
|
|
44
|
+
[Features.Themes]: Kinds.List
|
|
45
|
+
|
|
46
|
+
[Features.User]: Kinds.Item
|
|
47
|
+
[Features.Users]: Kinds.List
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export let FeatureRequests: Map<
|
|
51
|
+
keyof typeof Features,
|
|
52
|
+
Set<'DELETE' | 'GET' | 'OPTIONS' | 'POST' | 'PATCH'>
|
|
53
|
+
>
|
|
54
|
+
|
|
55
|
+
export let FeatureUrls: Map<
|
|
56
|
+
keyof typeof Features,
|
|
57
|
+
Map<keyof typeof Networks, (options: URLOptions) => URL>
|
|
58
|
+
>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Kinds } from './kinds.js'
|
|
2
|
+
|
|
3
|
+
export let Features = {
|
|
4
|
+
Checkin: 'Checkin',
|
|
5
|
+
|
|
6
|
+
City: 'City',
|
|
7
|
+
Cities: 'Cities',
|
|
8
|
+
|
|
9
|
+
CityPublic: 'CityPublic',
|
|
10
|
+
CitiesPublic: 'CitiesPublic',
|
|
11
|
+
|
|
12
|
+
Game: 'Game',
|
|
13
|
+
Games: 'Games',
|
|
14
|
+
|
|
15
|
+
GamePublic: 'GamePublic',
|
|
16
|
+
GamesPublic: 'GamesPublic',
|
|
17
|
+
|
|
18
|
+
Theme: 'Theme',
|
|
19
|
+
Themes: 'Themes',
|
|
20
|
+
|
|
21
|
+
User: 'User',
|
|
22
|
+
Users: 'Users',
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export let FeatureKinds = {
|
|
26
|
+
[Features.Checkin]: Kinds.Item,
|
|
27
|
+
|
|
28
|
+
[Features.City]: Kinds.Item,
|
|
29
|
+
[Features.Cities]: Kinds.List,
|
|
30
|
+
|
|
31
|
+
[Features.CityPublic]: Kinds.Item,
|
|
32
|
+
[Features.CitiesPublic]: Kinds.List,
|
|
33
|
+
|
|
34
|
+
[Features.Game]: Kinds.Item,
|
|
35
|
+
[Features.Games]: Kinds.List,
|
|
36
|
+
|
|
37
|
+
[Features.GamePublic]: Kinds.Item,
|
|
38
|
+
[Features.GamesPublic]: Kinds.List,
|
|
39
|
+
|
|
40
|
+
[Features.Theme]: Kinds.Item,
|
|
41
|
+
[Features.Themes]: Kinds.List,
|
|
42
|
+
|
|
43
|
+
[Features.User]: Kinds.Item,
|
|
44
|
+
[Features.Users]: Kinds.List,
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export let FeatureRequests = new Map()
|
|
48
|
+
|
|
49
|
+
export let FeatureUrls = new Map()
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Roles } from './roles.js'
|
|
2
|
+
|
|
3
|
+
export let GameStatuses: {
|
|
4
|
+
Approved: 'APPROVED'
|
|
5
|
+
Archive: 'ARCHIVE'
|
|
6
|
+
Closed: 'CLOSED'
|
|
7
|
+
Finished: 'FINISHED'
|
|
8
|
+
Invitation: 'FORINVITES'
|
|
9
|
+
Moderation: 'MODERATION'
|
|
10
|
+
Published: 'PUBLISHED'
|
|
11
|
+
Rejected: 'REJECTED'
|
|
12
|
+
Reserved: 'IS_RESERVE'
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export let RoleGameStatuses: {
|
|
16
|
+
[Roles.Admin]: [
|
|
17
|
+
typeof GameStatuses.Approved,
|
|
18
|
+
typeof GameStatuses.Moderation,
|
|
19
|
+
typeof GameStatuses.Published,
|
|
20
|
+
typeof GameStatuses.Rejected,
|
|
21
|
+
typeof GameStatuses.Finished,
|
|
22
|
+
typeof GameStatuses.Archive,
|
|
23
|
+
typeof GameStatuses.Invitation,
|
|
24
|
+
typeof GameStatuses.Reserved,
|
|
25
|
+
typeof GameStatuses.Closed,
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
[Roles.Organizer]: [
|
|
29
|
+
typeof GameStatuses.Approved,
|
|
30
|
+
typeof GameStatuses.Published,
|
|
31
|
+
typeof GameStatuses.Finished,
|
|
32
|
+
typeof GameStatuses.Archive,
|
|
33
|
+
typeof GameStatuses.Invitation,
|
|
34
|
+
typeof GameStatuses.Reserved,
|
|
35
|
+
typeof GameStatuses.Closed,
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
[Roles.Default]: []
|
|
39
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Roles } from './roles.js'
|
|
2
|
+
|
|
3
|
+
export let GameStatuses = {
|
|
4
|
+
Approved: 'APPROVED',
|
|
5
|
+
Archive: 'ARCHIVE',
|
|
6
|
+
Closed: 'CLOSED',
|
|
7
|
+
Finished: 'FINISHED',
|
|
8
|
+
Invitation: 'FORINVITES',
|
|
9
|
+
Moderation: 'MODERATION',
|
|
10
|
+
Published: 'PUBLISHED',
|
|
11
|
+
Rejected: 'REJECTED',
|
|
12
|
+
Reserved: 'IS_RESERVE',
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export let RoleGameStatuses = {
|
|
16
|
+
[Roles.Admin]: [
|
|
17
|
+
GameStatuses.Approved,
|
|
18
|
+
GameStatuses.Moderation,
|
|
19
|
+
GameStatuses.Published,
|
|
20
|
+
GameStatuses.Rejected,
|
|
21
|
+
GameStatuses.Finished,
|
|
22
|
+
GameStatuses.Archive,
|
|
23
|
+
GameStatuses.Invitation,
|
|
24
|
+
GameStatuses.Reserved,
|
|
25
|
+
GameStatuses.Closed,
|
|
26
|
+
],
|
|
27
|
+
|
|
28
|
+
[Roles.Organizer]: [
|
|
29
|
+
GameStatuses.Approved,
|
|
30
|
+
GameStatuses.Published,
|
|
31
|
+
GameStatuses.Finished,
|
|
32
|
+
GameStatuses.Archive,
|
|
33
|
+
GameStatuses.Invitation,
|
|
34
|
+
GameStatuses.Reserved,
|
|
35
|
+
GameStatuses.Closed,
|
|
36
|
+
],
|
|
37
|
+
|
|
38
|
+
[Roles.Default]: [],
|
|
39
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { URLOptions } from '@yurkimus/url'
|
|
2
|
+
|
|
3
|
+
import { Features } from '../enumerations/features'
|
|
4
|
+
import { Methods } from '../enumerations/methods'
|
|
5
|
+
import { Networks } from '../enumerations/networks'
|
|
6
|
+
|
|
7
|
+
export let Extensions: WeakMap<
|
|
8
|
+
Function,
|
|
9
|
+
Map<
|
|
10
|
+
| 'onbefore'
|
|
11
|
+
| 'onfulfilled'
|
|
12
|
+
| 'onrejected',
|
|
13
|
+
Set<Function>
|
|
14
|
+
>
|
|
15
|
+
>
|
|
16
|
+
|
|
17
|
+
export let useRequest: <
|
|
18
|
+
Feature extends keyof typeof Features,
|
|
19
|
+
Method extends keyof typeof Methods,
|
|
20
|
+
Network extends keyof typeof Networks,
|
|
21
|
+
>(
|
|
22
|
+
feature: Feature,
|
|
23
|
+
method: Method,
|
|
24
|
+
network: Network,
|
|
25
|
+
) => (options: URLOptions, init: RequestInit) => Promise<
|
|
26
|
+
{
|
|
27
|
+
[Features.Checkin]: {
|
|
28
|
+
[Methods.DELETE]: unknown
|
|
29
|
+
[Methods.GET]: CheckinResult
|
|
30
|
+
[Methods.OPTIONS]: unknown
|
|
31
|
+
[Methods.PATCH]: unknown
|
|
32
|
+
[Methods.POST]: unknown
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
[Features.City]: {
|
|
36
|
+
[Methods.DELETE]: unknown
|
|
37
|
+
[Methods.GET]: CityResult
|
|
38
|
+
[Methods.OPTIONS]: unknown
|
|
39
|
+
[Methods.PATCH]: unknown
|
|
40
|
+
[Methods.POST]: unknown
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
[Features.Cities]: {
|
|
44
|
+
[Methods.DELETE]: unknown
|
|
45
|
+
[Methods.GET]: CityResult[]
|
|
46
|
+
[Methods.OPTIONS]: unknown
|
|
47
|
+
[Methods.PATCH]: unknown
|
|
48
|
+
[Methods.POST]: unknown
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
[Features.CityPublic]: {
|
|
52
|
+
[Methods.DELETE]: unknown
|
|
53
|
+
[Methods.GET]: CityPublicResult
|
|
54
|
+
[Methods.OPTIONS]: unknown
|
|
55
|
+
[Methods.PATCH]: unknown
|
|
56
|
+
[Methods.POST]: unknown
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[Features.CitiesPublic]: {
|
|
60
|
+
[Methods.DELETE]: unknown
|
|
61
|
+
[Methods.GET]: CityPublicResult[]
|
|
62
|
+
[Methods.OPTIONS]: unknown
|
|
63
|
+
[Methods.PATCH]: unknown
|
|
64
|
+
[Methods.POST]: unknown
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
[Features.Theme]: {
|
|
68
|
+
[Methods.DELETE]: unknown
|
|
69
|
+
[Methods.GET]: ThemeResult
|
|
70
|
+
[Methods.OPTIONS]: unknown
|
|
71
|
+
[Methods.PATCH]: unknown
|
|
72
|
+
[Methods.POST]: unknown
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[Features.Themes]: {
|
|
76
|
+
[Methods.DELETE]: unknown
|
|
77
|
+
[Methods.GET]: ThemeResult[]
|
|
78
|
+
[Methods.OPTIONS]: unknown
|
|
79
|
+
[Methods.PATCH]: unknown
|
|
80
|
+
[Methods.POST]: unknown
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
[Features.Game]: {
|
|
84
|
+
[Methods.DELETE]: unknown
|
|
85
|
+
[Methods.GET]: unknown
|
|
86
|
+
[Methods.OPTIONS]: GameResult
|
|
87
|
+
[Methods.PATCH]: unknown
|
|
88
|
+
[Methods.POST]: unknown
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
[Features.Games]: {
|
|
92
|
+
[Methods.DELETE]: unknown
|
|
93
|
+
[Methods.GET]: GameResult[]
|
|
94
|
+
[Methods.OPTIONS]: unknown
|
|
95
|
+
[Methods.PATCH]: unknown
|
|
96
|
+
[Methods.POST]: unknown
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
[Features.GamePublic]: {
|
|
100
|
+
[Methods.DELETE]: unknown
|
|
101
|
+
[Methods.GET]: GamePublicResult
|
|
102
|
+
[Methods.OPTIONS]: unknown
|
|
103
|
+
[Methods.PATCH]: unknown
|
|
104
|
+
[Methods.POST]: unknown
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
[Features.GamesPublic]: {
|
|
108
|
+
[Methods.DELETE]: unknown
|
|
109
|
+
[Methods.GET]: GamePublicResult[]
|
|
110
|
+
[Methods.OPTIONS]: unknown
|
|
111
|
+
[Methods.PATCH]: unknown
|
|
112
|
+
[Methods.POST]: unknown
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
[Features.User]: {
|
|
116
|
+
[Methods.DELETE]: unknown
|
|
117
|
+
[Methods.GET]: unknown
|
|
118
|
+
[Methods.OPTIONS]: unknown
|
|
119
|
+
[Methods.PATCH]: unknown
|
|
120
|
+
[Methods.POST]: unknown
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
[Features.Users]: {
|
|
124
|
+
[Methods.DELETE]: unknown
|
|
125
|
+
[Methods.GET]: unknown
|
|
126
|
+
[Methods.OPTIONS]: unknown
|
|
127
|
+
[Methods.PATCH]: unknown
|
|
128
|
+
[Methods.POST]: unknown
|
|
129
|
+
}
|
|
130
|
+
}[Feature][Method]
|
|
131
|
+
>
|