@shakerquiz/url 0.0.108 → 0.0.110

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,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@shakerquiz/url",
4
- "version": "0.0.108",
4
+ "version": "0.0.110",
5
5
  "author": "yurkimus <yurkimus@gmail.com>",
6
6
  "license": "ISC",
7
7
  "repository": {
@@ -15,10 +15,10 @@
15
15
  "./*": "./source/*/index.js"
16
16
  },
17
17
  "dependencies": {
18
- "@shakerquiz/utilities": "4.0.80"
18
+ "@shakerquiz/utilities": "4.0.83"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/bun": "1.3.6",
21
+ "@types/bun": "1.3.10",
22
22
  "dprint": "0.51.1"
23
23
  }
24
24
  }
@@ -1,6 +1,7 @@
1
1
  import template from './template.js' with { type: 'text' }
2
2
 
3
- import { access, Networks, ServiceRuntime, Services } from '@shakerquiz/utilities'
3
+ import { Networks, ServiceRuntime, Services } from '@shakerquiz/utilities'
4
+ import { getOwn } from '@shakerquiz/utilities/helpers/object'
4
5
 
5
6
  let Service = service => `${service}: Object.freeze({/* networks */})`
6
7
 
@@ -29,7 +30,7 @@ let ServiceNetwork = (runtime, service, network) => {
29
30
  }
30
31
 
31
32
  Services
32
- .map(service => [service, access(ServiceRuntime, service)])
33
+ .map(service => [service, getOwn(ServiceRuntime, service)])
33
34
  .map(([service, runtime]) =>
34
35
  Bun.write(
35
36
  `source/${service.toLowerCase()}/index.js`,
@@ -1,39 +1,29 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({/* origins */})
4
4
 
5
5
  /**
6
6
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
7
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
7
+ * @param {string} maybeRoute
8
8
  * @param {any[]} maybeParams
9
9
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
10
10
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
11
11
  */
12
12
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
13
- if (maybeService) {
14
- if (!Object.hasOwn(Service, maybeService))
15
- throw TypeError(`Could not access Service['${maybeService}'].`)
16
- }
17
-
18
- const service = maybeService
19
- ? maybeService
13
+ var service = maybeService
14
+ ? getOwn(Service, maybeService)
20
15
  : routeService(maybeRoute)
21
16
 
22
- if (!Object.hasOwn(Network, maybeNetwork))
23
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
24
-
25
- const network = Network[maybeNetwork]
17
+ var network = getOwn(Network, maybeNetwork)
26
18
 
27
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
28
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
19
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
29
20
 
30
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
31
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
21
+ var origin = getOwn(networkOrigin, network)
32
22
 
33
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
34
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
23
+ if (!URL.canParse(origin))
24
+ throw TypeError(`Origin '${origin}' is not an URL.`)
35
25
 
36
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
26
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
37
27
 
38
28
  url.search = new URLSearchParams(maybeSearch)
39
29
 
@@ -42,7 +32,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
42
32
 
43
33
  /**
44
34
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
45
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
35
+ * @param {string} maybeRoute
46
36
  * @param {any[]} maybeParams
47
37
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
48
38
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]
@@ -1,4 +1,4 @@
1
- import { hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
1
+ import { getOwn, hydrateRoutePathname, Network, routeService, Service } from '@shakerquiz/utilities'
2
2
 
3
3
  export const ServiceNetworkOrigin = Object.freeze({
4
4
  Users: Object.freeze({
@@ -85,36 +85,26 @@ export const ServiceNetworkOrigin = Object.freeze({
85
85
 
86
86
  /**
87
87
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
88
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
88
+ * @param {string} maybeRoute
89
89
  * @param {any[]} maybeParams
90
90
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
91
91
  * @param {keyof typeof import('@shakerquiz/utilities').Service} [maybeService]
92
92
  */
93
93
  export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeService) => {
94
- if (maybeService) {
95
- if (!Object.hasOwn(Service, maybeService))
96
- throw TypeError(`Could not access Service['${maybeService}'].`)
97
- }
98
-
99
- const service = maybeService
100
- ? maybeService
94
+ var service = maybeService
95
+ ? getOwn(Service, maybeService)
101
96
  : routeService(maybeRoute)
102
97
 
103
- if (!Object.hasOwn(Network, maybeNetwork))
104
- throw TypeError(`Could not access Network['${maybeNetwork}'].`)
105
-
106
- const network = Network[maybeNetwork]
98
+ var network = getOwn(Network, maybeNetwork)
107
99
 
108
- if (!Object.hasOwn(ServiceNetworkOrigin, service))
109
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}'].`)
100
+ var networkOrigin = getOwn(ServiceNetworkOrigin, service)
110
101
 
111
- if (!Object.hasOwn(ServiceNetworkOrigin[service], network))
112
- throw TypeError(`Could not access ServiceNetworkOrigin['${service}']['${network}'].`)
102
+ var origin = getOwn(networkOrigin, network)
113
103
 
114
- if (!URL.canParse(ServiceNetworkOrigin[service][network]))
115
- throw TypeError(`Origin '${ServiceNetworkOrigin[service][network]}' cannot be parsed as URL.`)
104
+ if (!URL.canParse(origin))
105
+ throw TypeError(`Origin '${origin}' is not an URL.`)
116
106
 
117
- const url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), ServiceNetworkOrigin[service][network])
107
+ var url = new URL(hydrateRoutePathname(maybeRoute, maybeParams), origin)
118
108
 
119
109
  url.search = new URLSearchParams(maybeSearch)
120
110
 
@@ -123,7 +113,7 @@ export const url = (maybeNetwork, maybeRoute, maybeParams, maybeSearch, maybeSer
123
113
 
124
114
  /**
125
115
  * @param {keyof typeof import('@shakerquiz/utilities').Network} maybeNetwork
126
- * @param {keyof typeof import('@shakerquiz/utilities').Route} maybeRoute
116
+ * @param {string} maybeRoute
127
117
  * @param {any[]} maybeParams
128
118
  * @param {ConstructorParameters<typeof URLSearchParams>[0]} maybeSearch
129
119
  * @param {Parameters<typeof fetch>[1]} [maybeInit]