@shakerquiz/url 0.0.109 → 0.0.111

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