@outfoxx/sunday 2.0.0-beta.2 → 2.0.0-beta.4
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/README.md +42 -0
- package/build/event-parser.d.ts +2 -0
- package/build/event-parser.js.map +1 -1
- package/build/fetch-event-source.d.ts +14 -5
- package/build/fetch-event-source.js +107 -44
- package/build/fetch-event-source.js.map +1 -1
- package/build/fetch-oauth-token-provider.d.ts +43 -0
- package/build/fetch-oauth-token-provider.js +193 -0
- package/build/fetch-oauth-token-provider.js.map +1 -0
- package/build/fetch-transport.d.ts +5 -0
- package/build/fetch-transport.js +45 -8
- package/build/fetch-transport.js.map +1 -1
- package/build/index.d.ts +7 -0
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/media-type-codecs/cbor-encoder.d.ts +2 -2
- package/build/media-type-codecs/cbor-encoder.js +2 -2
- package/build/media-type-codecs/cbor-encoder.js.map +1 -1
- package/build/media-type-codecs/json-encoder.d.ts +3 -3
- package/build/media-type-codecs/json-encoder.js +4 -4
- package/build/media-type-codecs/json-encoder.js.map +1 -1
- package/build/media-type-codecs/media-type-encoder.d.ts +3 -3
- package/build/media-type-codecs/media-type-encoder.js.map +1 -1
- package/build/media-type-codecs/www-form-url-encoder.d.ts +2 -2
- package/build/media-type-codecs/www-form-url-encoder.js +2 -2
- package/build/media-type-codecs/www-form-url-encoder.js.map +1 -1
- package/build/model-construction.d.ts +5 -0
- package/build/model-construction.js +40 -0
- package/build/model-construction.js.map +1 -0
- package/build/model-schema.d.ts +9 -0
- package/build/model-schema.js +131 -0
- package/build/model-schema.js.map +1 -0
- package/build/problem.js +2 -1
- package/build/problem.js.map +1 -1
- package/build/request-security.d.ts +16 -0
- package/build/request-security.js +167 -0
- package/build/request-security.js.map +1 -0
- package/build/schema-runtime.d.ts +8 -1
- package/build/schema-runtime.js +12 -3
- package/build/schema-runtime.js.map +1 -1
- package/build/security-binding.d.ts +22 -0
- package/build/security-binding.js +15 -0
- package/build/security-binding.js.map +1 -0
- package/build/token-manager.d.ts +33 -0
- package/build/token-manager.js +199 -0
- package/build/token-manager.js.map +1 -0
- package/build/token-provider.d.ts +44 -0
- package/build/token-provider.js +31 -0
- package/build/token-provider.js.map +1 -0
- package/build/transport.d.ts +3 -0
- package/build/unknown-variant.d.ts +12 -0
- package/build/unknown-variant.js +45 -0
- package/build/unknown-variant.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
// Copyright 2020 Outfox, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
import { AuthorizationRequiredError, TokenProviderError, } from './token-provider.js';
|
|
15
|
+
/** Client-credentials, application-authorized PKCE, and refresh exchange without cookies or automatic redirects. */
|
|
16
|
+
export class FetchOAuthTokenProvider {
|
|
17
|
+
identity;
|
|
18
|
+
options;
|
|
19
|
+
authentication;
|
|
20
|
+
consumedCodes = new Set();
|
|
21
|
+
fetch;
|
|
22
|
+
now;
|
|
23
|
+
constructor(options) {
|
|
24
|
+
this.authentication = options.authentication ?? 'none';
|
|
25
|
+
if (!['none', 'client_secret_basic', 'client_secret_post'].includes(this.authentication))
|
|
26
|
+
throw new TypeError('Unsupported OAuth client authentication; use an application TokenProvider');
|
|
27
|
+
if (!options.identity.trim() || !options.clientId.trim())
|
|
28
|
+
throw new TypeError('OAuth provider and client identities must not be blank');
|
|
29
|
+
if ((this.authentication === 'none') !== (options.clientSecret === undefined) || options.clientSecret === '') {
|
|
30
|
+
throw new TypeError('Client secrets require an explicit OAuth client authentication method');
|
|
31
|
+
}
|
|
32
|
+
this.identity = options.identity;
|
|
33
|
+
this.options = Object.freeze({ ...options, endpoints: options.endpoints && Object.freeze({ ...options.endpoints }) });
|
|
34
|
+
this.fetch = options.fetch ?? globalThis.fetch;
|
|
35
|
+
this.now = options.now ?? Date.now;
|
|
36
|
+
}
|
|
37
|
+
/** Selects the application client and fresh session without changing the generated profile. */
|
|
38
|
+
configure(_binding) {
|
|
39
|
+
return { clientIdentity: this.options.clientId, grantIdentity: this.options.grantIdentity, endpoints: this.options.endpoints };
|
|
40
|
+
}
|
|
41
|
+
/** Acquires a client token or exchanges one application-authorized PKCE grant. */
|
|
42
|
+
async acquire(request, signal) {
|
|
43
|
+
try {
|
|
44
|
+
request = await this.resolveEndpoints(request, signal);
|
|
45
|
+
let form;
|
|
46
|
+
if (request.flow === 'clientCredentials') {
|
|
47
|
+
if (this.authentication === 'none')
|
|
48
|
+
throw new TokenProviderError();
|
|
49
|
+
form = new URLSearchParams({ grant_type: 'client_credentials' });
|
|
50
|
+
}
|
|
51
|
+
else if (request.flow === 'authorizationCode') {
|
|
52
|
+
if (!this.options.authorization || this.consumedCodes.size >= 1024)
|
|
53
|
+
throw new AuthorizationRequiredError();
|
|
54
|
+
const grant = await this.options.authorization(request, signal);
|
|
55
|
+
if (!grant.code || !grant.redirectUri || !/^[A-Za-z0-9._~-]{43,128}$/.test(grant.codeVerifier))
|
|
56
|
+
throw new AuthorizationRequiredError();
|
|
57
|
+
const digest = new Uint8Array(await crypto.subtle.digest('SHA-256', new TextEncoder().encode(grant.code)));
|
|
58
|
+
const codeKey = Array.from(digest, byte => byte.toString(16).padStart(2, '0')).join('');
|
|
59
|
+
if (this.consumedCodes.size >= 1024 || this.consumedCodes.has(codeKey))
|
|
60
|
+
throw new AuthorizationRequiredError();
|
|
61
|
+
this.consumedCodes.add(codeKey);
|
|
62
|
+
form = new URLSearchParams({ grant_type: 'authorization_code', code: grant.code, redirect_uri: grant.redirectUri, code_verifier: grant.codeVerifier });
|
|
63
|
+
}
|
|
64
|
+
else
|
|
65
|
+
throw new TokenProviderError();
|
|
66
|
+
return await this.exchange(request, request.tokenUrl, form, signal);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
signal.throwIfAborted();
|
|
70
|
+
if (error instanceof AuthorizationRequiredError || error instanceof TokenProviderError)
|
|
71
|
+
throw error;
|
|
72
|
+
throw new TokenProviderError();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Rotates refresh credentials without using an authorization code again. */
|
|
76
|
+
async refresh(request, refreshToken, signal) {
|
|
77
|
+
try {
|
|
78
|
+
request = await this.resolveEndpoints(request, signal);
|
|
79
|
+
return await this.exchange(request, request.refreshUrl ?? request.tokenUrl, new URLSearchParams({ grant_type: 'refresh_token', refresh_token: refreshToken }), signal);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
signal.throwIfAborted();
|
|
83
|
+
if (error instanceof AuthorizationRequiredError || error instanceof TokenProviderError)
|
|
84
|
+
throw error;
|
|
85
|
+
throw new TokenProviderError();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async resolveEndpoints(request, signal) {
|
|
89
|
+
if (!request.discoveryUrl)
|
|
90
|
+
return request;
|
|
91
|
+
if (!this.options.issuer)
|
|
92
|
+
throw new TokenProviderError();
|
|
93
|
+
const response = await this.fetchResponse(endpoint(request.discoveryUrl), {
|
|
94
|
+
headers: { Accept: 'application/json' }, credentials: 'omit', redirect: 'manual', signal,
|
|
95
|
+
});
|
|
96
|
+
const document = await response.json();
|
|
97
|
+
if (response.status !== 200 || !isObject(document) || document.issuer !== this.options.issuer)
|
|
98
|
+
throw new TokenProviderError();
|
|
99
|
+
const methods = document.token_endpoint_auth_methods_supported ?? ['client_secret_basic'];
|
|
100
|
+
if (!Array.isArray(methods) || !methods.includes(this.authentication))
|
|
101
|
+
throw new TokenProviderError();
|
|
102
|
+
const tokenUrl = request.tokenUrl ?? document.token_endpoint;
|
|
103
|
+
const authorizationUrl = request.authorizationUrl ?? document.authorization_endpoint;
|
|
104
|
+
if (typeof tokenUrl !== 'string' || (authorizationUrl !== undefined && typeof authorizationUrl !== 'string'))
|
|
105
|
+
throw new TokenProviderError();
|
|
106
|
+
return { ...request, tokenUrl, authorizationUrl };
|
|
107
|
+
}
|
|
108
|
+
async fetchResponse(url, init) {
|
|
109
|
+
let response;
|
|
110
|
+
try {
|
|
111
|
+
response = await this.fetch(url, init);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
init.signal?.throwIfAborted();
|
|
115
|
+
throw new TokenProviderError('temporary');
|
|
116
|
+
}
|
|
117
|
+
if (response.status === 408 || response.status === 429 || response.status >= 500 && response.status <= 599) {
|
|
118
|
+
await response.body?.cancel();
|
|
119
|
+
throw new TokenProviderError('temporary');
|
|
120
|
+
}
|
|
121
|
+
return response;
|
|
122
|
+
}
|
|
123
|
+
async exchange(request, tokenUrl, form, signal) {
|
|
124
|
+
if (request.scopes.length)
|
|
125
|
+
form.set('scope', request.scopes.join(' '));
|
|
126
|
+
if (request.audience !== undefined)
|
|
127
|
+
form.set('audience', request.audience);
|
|
128
|
+
if (request.resource !== undefined)
|
|
129
|
+
form.set('resource', request.resource);
|
|
130
|
+
const headers = new Headers({ Accept: 'application/json' });
|
|
131
|
+
if (this.authentication === 'client_secret_basic') {
|
|
132
|
+
const credential = `${formEncode(this.options.clientId)}:${formEncode(this.options.clientSecret)}`;
|
|
133
|
+
headers.set('Authorization', `Basic ${btoa(credential)}`);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
form.set('client_id', this.options.clientId);
|
|
137
|
+
if (this.authentication === 'client_secret_post')
|
|
138
|
+
form.set('client_secret', this.options.clientSecret);
|
|
139
|
+
}
|
|
140
|
+
const response = await this.fetchResponse(endpoint(tokenUrl), { method: 'POST', headers, body: form, credentials: 'omit', redirect: 'manual', signal });
|
|
141
|
+
const data = await response.json();
|
|
142
|
+
if (!isObject(data))
|
|
143
|
+
throw new TokenProviderError();
|
|
144
|
+
checkTokenResponse(response.status, data, request);
|
|
145
|
+
return this.parseTokens(data, request);
|
|
146
|
+
}
|
|
147
|
+
parseTokens(data, request) {
|
|
148
|
+
if (typeof data.access_token !== 'string' || !data.access_token || typeof data.token_type !== 'string' || data.token_type.toLowerCase() !== 'bearer')
|
|
149
|
+
throw new TokenProviderError();
|
|
150
|
+
let expiresAt;
|
|
151
|
+
if (data.expires_in !== undefined) {
|
|
152
|
+
if (typeof data.expires_in !== 'number' || !Number.isFinite(data.expires_in) || data.expires_in <= 0)
|
|
153
|
+
throw new TokenProviderError();
|
|
154
|
+
expiresAt = this.now() + data.expires_in * 1_000;
|
|
155
|
+
if (!Number.isFinite(expiresAt))
|
|
156
|
+
throw new TokenProviderError();
|
|
157
|
+
}
|
|
158
|
+
if (data.refresh_token !== undefined && (typeof data.refresh_token !== 'string' || !data.refresh_token))
|
|
159
|
+
throw new TokenProviderError();
|
|
160
|
+
if (data.scope !== undefined && (typeof data.scope !== 'string' || !request.scopes.every(scope => data.scope.split(' ').includes(scope))))
|
|
161
|
+
throw new TokenProviderError();
|
|
162
|
+
return { accessToken: data.access_token, expiresAt, refreshToken: data.refresh_token };
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function endpoint(value) {
|
|
166
|
+
if (!value)
|
|
167
|
+
throw new TokenProviderError();
|
|
168
|
+
const url = new URL(value);
|
|
169
|
+
if (url.username || url.password || url.hash)
|
|
170
|
+
throw new TokenProviderError();
|
|
171
|
+
if (url.protocol !== 'https:' && !(url.protocol === 'http:' && ['localhost', '127.0.0.1', '[::1]'].includes(url.hostname)))
|
|
172
|
+
throw new TokenProviderError();
|
|
173
|
+
return url.toString();
|
|
174
|
+
}
|
|
175
|
+
function formEncode(value) {
|
|
176
|
+
return new URLSearchParams({ value }).toString().slice('value='.length);
|
|
177
|
+
}
|
|
178
|
+
function isObject(value) {
|
|
179
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
180
|
+
}
|
|
181
|
+
function checkTokenResponse(status, data, request) {
|
|
182
|
+
if (status !== 200) {
|
|
183
|
+
if (data.error === 'invalid_grant') {
|
|
184
|
+
if (request.flow === 'authorizationCode')
|
|
185
|
+
throw new AuthorizationRequiredError();
|
|
186
|
+
throw new TokenProviderError('invalidGrant');
|
|
187
|
+
}
|
|
188
|
+
if (data.error === 'temporarily_unavailable' || data.error === 'server_error')
|
|
189
|
+
throw new TokenProviderError('temporary');
|
|
190
|
+
throw new TokenProviderError();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=fetch-oauth-token-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-oauth-token-provider.js","sourceRoot":"","sources":["../src/fetch-oauth-token-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TokenManager } from './token-manager.js';
|
|
1
2
|
import { SchemaLike } from './schema-runtime.js';
|
|
2
3
|
import { Logger } from './logger.js';
|
|
3
4
|
import { TextMediaTypeDecoder } from './media-type-codecs/media-type-decoder.js';
|
|
@@ -10,12 +11,15 @@ import { URLTemplate } from './url-template.js';
|
|
|
10
11
|
export declare class FetchTransport implements Transport {
|
|
11
12
|
baseUrl: URLTemplate;
|
|
12
13
|
adapter?: RequestAdapter;
|
|
14
|
+
tokenManager?: TokenManager;
|
|
15
|
+
private readonly authorizedRequests;
|
|
13
16
|
mediaTypeEncoders: MediaTypeEncoders;
|
|
14
17
|
mediaTypeDecoders: MediaTypeDecoders;
|
|
15
18
|
problemTypes: Map<string, SchemaLike<Problem>>;
|
|
16
19
|
logger?: Logger;
|
|
17
20
|
constructor(baseUrl: string | URLTemplate, options?: {
|
|
18
21
|
adapter?: RequestAdapter;
|
|
22
|
+
tokenManager?: TokenManager;
|
|
19
23
|
mediaTypeEncoders?: MediaTypeEncoders;
|
|
20
24
|
mediaTypeDecoders?: MediaTypeDecoders;
|
|
21
25
|
logger?: Logger;
|
|
@@ -23,6 +27,7 @@ export declare class FetchTransport implements Transport {
|
|
|
23
27
|
registerProblem(type: URL | string, problemType: SchemaLike<Problem>): void;
|
|
24
28
|
transportRequest(requestSpec: RequestSpec<unknown>): Promise<Request>;
|
|
25
29
|
transportResponse(request: Request | RequestSpec<unknown>, dataExpected?: boolean): Promise<Response>;
|
|
30
|
+
private sendAuthorized;
|
|
26
31
|
response<B, R>(requestSpec: RequestSpec<B>, resultType: SchemaLike<R>): Promise<OperationResponse<R>>;
|
|
27
32
|
response<B>(requestSpec: RequestSpec<B>): Promise<OperationResponse<void>>;
|
|
28
33
|
result<B, R>(requestSpec: RequestSpec<B>, resultType: SchemaLike<R>): Promise<R>;
|
package/build/fetch-transport.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
|
+
import { authorizeRequest, canRecoverAuthentication, redactSecurityResponse, rejectedBearerLeases } from './request-security.js';
|
|
14
15
|
import { ZodError } from 'zod';
|
|
15
16
|
import { mergeHeaders, validate } from './fetch.js';
|
|
16
17
|
import { FetchEventSource } from './fetch-event-source.js';
|
|
@@ -27,6 +28,8 @@ import { errorToMessage } from './util/errors.js';
|
|
|
27
28
|
export class FetchTransport {
|
|
28
29
|
baseUrl;
|
|
29
30
|
adapter;
|
|
31
|
+
tokenManager;
|
|
32
|
+
authorizedRequests = new WeakMap();
|
|
30
33
|
mediaTypeEncoders;
|
|
31
34
|
mediaTypeDecoders;
|
|
32
35
|
problemTypes = new Map();
|
|
@@ -35,6 +38,7 @@ export class FetchTransport {
|
|
|
35
38
|
this.baseUrl =
|
|
36
39
|
typeof baseUrl === 'string' ? new URLTemplate(baseUrl) : baseUrl;
|
|
37
40
|
this.adapter = options?.adapter;
|
|
41
|
+
this.tokenManager = options?.tokenManager;
|
|
38
42
|
this.mediaTypeEncoders =
|
|
39
43
|
options?.mediaTypeEncoders ?? MediaTypeEncoders.DEFAULT;
|
|
40
44
|
this.mediaTypeDecoders =
|
|
@@ -86,7 +90,7 @@ export class FetchTransport {
|
|
|
86
90
|
}
|
|
87
91
|
body = this.mediaTypeEncoders
|
|
88
92
|
.find(contentType)
|
|
89
|
-
.encode(requestSpec.body, requestSpec.bodyType);
|
|
93
|
+
.encode(requestSpec.body, requestSpec.bodyType, 'request');
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
96
|
const init = {
|
|
@@ -94,20 +98,43 @@ export class FetchTransport {
|
|
|
94
98
|
body,
|
|
95
99
|
method: requestSpec.method,
|
|
96
100
|
signal: requestSpec.signal,
|
|
101
|
+
redirect: requestSpec.security?.length ? 'manual' : undefined,
|
|
97
102
|
};
|
|
98
103
|
if (body instanceof ReadableStream) {
|
|
99
104
|
init.duplex = 'half';
|
|
100
105
|
}
|
|
101
106
|
const request = new Request(url.toString(), init);
|
|
102
|
-
|
|
107
|
+
const adapted = (await this.adapter?.adapt(this, request)) ?? request;
|
|
108
|
+
if (!requestSpec.security?.length)
|
|
109
|
+
return adapted;
|
|
110
|
+
const authorized = await authorizeRequest(adapted, requestSpec.security, this.tokenManager);
|
|
111
|
+
this.authorizedRequests.set(authorized.request, authorized);
|
|
112
|
+
return authorized.request;
|
|
103
113
|
}
|
|
104
114
|
async transportResponse(request, dataExpected) {
|
|
105
|
-
const req = request instanceof Request
|
|
106
|
-
|
|
107
|
-
: await this.transportRequest(request);
|
|
108
|
-
const response = await fetch(req);
|
|
115
|
+
const req = request instanceof Request ? request : await this.transportRequest(request);
|
|
116
|
+
const response = await this.sendAuthorized(req, { recovered: false });
|
|
109
117
|
return await validate(response, dataExpected ?? false, this.problemTypes, this.logger);
|
|
110
118
|
}
|
|
119
|
+
async sendAuthorized(request, budget) {
|
|
120
|
+
let req = request;
|
|
121
|
+
let authorized = this.authorizedRequests.get(req);
|
|
122
|
+
if (authorized) {
|
|
123
|
+
authorized = await authorizeRequest(req, authorized.bindings, this.tokenManager, authorized);
|
|
124
|
+
req = authorized.request;
|
|
125
|
+
this.authorizedRequests.set(req, authorized);
|
|
126
|
+
}
|
|
127
|
+
let response = await fetch(req);
|
|
128
|
+
if (authorized && this.tokenManager && !budget.recovered && canRecoverAuthentication(authorized, response)) {
|
|
129
|
+
budget.recovered = true;
|
|
130
|
+
await response.body?.cancel();
|
|
131
|
+
await Promise.all(rejectedBearerLeases(authorized).map(lease => this.tokenManager.invalidate(lease)));
|
|
132
|
+
authorized = await authorizeRequest(req, authorized.bindings, this.tokenManager, authorized);
|
|
133
|
+
this.authorizedRequests.set(authorized.request, authorized);
|
|
134
|
+
response = await fetch(authorized.request);
|
|
135
|
+
}
|
|
136
|
+
return authorized ? redactSecurityResponse(response, authorized.bindings) : response;
|
|
137
|
+
}
|
|
111
138
|
async response(request, responseType) {
|
|
112
139
|
const response = await this.transportResponse(request, !!responseType);
|
|
113
140
|
if (!responseType) {
|
|
@@ -138,19 +165,29 @@ export class FetchTransport {
|
|
|
138
165
|
}
|
|
139
166
|
}
|
|
140
167
|
eventSource(requestSpec) {
|
|
168
|
+
const budget = { recovered: false };
|
|
141
169
|
//
|
|
142
170
|
const adapter = async (url, requestInit) => {
|
|
143
|
-
const eventSourceSpec = {
|
|
171
|
+
const eventSourceSpec = {
|
|
172
|
+
...requestSpec, pathTemplate: url,
|
|
173
|
+
signal: composeAbortSignals(requestSpec.signal, requestInit.signal ?? undefined),
|
|
174
|
+
};
|
|
144
175
|
const request = await this.transportRequest(eventSourceSpec);
|
|
145
|
-
|
|
176
|
+
const authorized = this.authorizedRequests.get(request);
|
|
177
|
+
const adapted = new Request(request, {
|
|
146
178
|
...requestInit,
|
|
179
|
+
redirect: authorized ? 'manual' : requestInit.redirect,
|
|
147
180
|
headers: mergeHeaders(request.headers, requestInit.headers),
|
|
148
181
|
signal: composeAbortSignals(eventSourceSpec.signal, requestInit.signal ?? undefined),
|
|
149
182
|
});
|
|
183
|
+
if (authorized)
|
|
184
|
+
this.authorizedRequests.set(adapted, { ...authorized, request: adapted });
|
|
185
|
+
return adapted;
|
|
150
186
|
};
|
|
151
187
|
return new FetchEventSource(requestSpec.pathTemplate, {
|
|
152
188
|
logger: this.logger,
|
|
153
189
|
adapter,
|
|
190
|
+
fetch: request => this.sendAuthorized(request, budget),
|
|
154
191
|
signal: requestSpec.signal,
|
|
155
192
|
});
|
|
156
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-transport.js","sourceRoot":"","sources":["../src/fetch-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch-transport.js","sourceRoot":"","sources":["../src/fetch-transport.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAGjC,OAAO,EAAqB,gBAAgB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpJ,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAQ/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,cAAc;IAClB,OAAO,CAAc;IACrB,OAAO,CAAkB;IACzB,YAAY,CAAgB;IAClB,kBAAkB,GAAG,IAAI,OAAO,EAA8B,CAAC;IACzE,iBAAiB,CAAoB;IACrC,iBAAiB,CAAoB;IACrC,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,MAAM,CAAU;IAEvB,YACE,OAA6B,EAC7B,OAMC;QAED,IAAI,CAAC,OAAO;YACV,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;QAC1C,IAAI,CAAC,iBAAiB;YACpB,OAAO,EAAE,iBAAiB,IAAI,iBAAiB,CAAC,OAAO,CAAC;QAC1D,IAAI,CAAC,iBAAiB;YACpB,OAAO,EAAE,iBAAiB,IAAI,iBAAiB,CAAC,OAAO,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC;IAC3C,CAAC;IAED,eAAe,CACb,IAAkB,EAClB,WAAgC;QAEhC,MAAM,OAAO,GAAG,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,WAAiC;QAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC/B,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,cAAc,IAAI,EAAE,CACjC,CAAC;QAEF,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzC,SAAS,CAAC,iBAAiB,CAC5B,CAAC;YACF,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACb,wBAAwB,SAAS,CAAC,iBAAiB,+CAA+C,CACnG,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,iBAAiB,CACxC,WAAW,CAAC,eAAe,CAC5B,EAAE,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAE1E,gCAAgC;QAChC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,oBAAoB,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAClG,CAAC;YAEF,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEhD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,yBAAyB;QACzB,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC;YACrD,CAAC,CAAC,WAAW,CAAC,IAAI;YAClB,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1D,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CACrE,CAAC;QAEF,6DAA6D;QAC7D,6CAA6C;QAC7C,IAAI,WAAW,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,yBAAyB;QACzB,IAAI,IAA0B,CAAC;QAC/B,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;YACpC,CAAC;iBACI,CAAC;gBACJ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;gBACJ,CAAC;gBAED,IAAI,GAAG,IAAI,CAAC,iBAAiB;qBACjB,IAAI,CAAC,WAAW,CAAC;qBACjB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAsC;YAC9C,OAAO;YACP,IAAI;YACJ,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;QACF,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC;QACtE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO,OAAO,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5F,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5D,OAAO,UAAU,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAAuC,EACvC,YAAsB;QAEtB,MAAM,GAAG,GAAG,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,YAAY,IAAI,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,MAA8B;QAC3E,IAAI,GAAG,GAAG,OAAO,CAAC;QAClB,IAAI,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC7F,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC;YACzB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC3G,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvG,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC7F,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC5D,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvF,CAAC;IASD,KAAK,CAAC,QAAQ,CACZ,OAA6B,EAC7B,YAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAChC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,WAAW,CACtB,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC5D,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,MAAM,WAAW,CAAC,YAAY,CAClC,cAAc,CAAC,KAAK,EAAE,0BAA0B,CAAC,EACjD,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IASD,KAAK,CAAC,MAAM,CACV,OAA6B,EAC7B,YAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;QAEvE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAChC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,WAAW,CACtB,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,MAAM,WAAW,CAAC,YAAY,CAClC,cAAc,CAAC,KAAK,EAAE,0BAA0B,CAAC,EACjD,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED,WAAW,CAAC,WAA8B;QACxC,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACpC,EAAE;QACF,MAAM,OAAO,GAAG,KAAK,EACnB,GAAW,EACX,WAAwB,EACN,EAAE;YACpB,MAAM,eAAe,GAAG;gBACtB,GAAG,WAAW,EAAE,YAAY,EAAE,GAAG;gBACjC,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC;aACjF,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnC,GAAG,WAAW;gBACd,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ;gBACtD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;gBAC3D,MAAM,EAAE,mBAAmB,CACzB,eAAe,CAAC,MAAM,EACtB,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC;aACnC,CAAC,CAAC;YACH,IAAI,UAAU;gBAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1F,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,OAAO,IAAI,gBAAgB,CAAC,WAAW,CAAC,YAAY,EAAE;YACpD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO;YACP,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC;YACtD,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CACT,WAA8B,EAC9B,OAMkB;QAElB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAElD,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAC7C,SAAS,CAAC,IAAI,CACS,CAAC;QAE1B,MAAM,gBAAgB,GAAG,GAAU,EAAE;YACnC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;gBACxC,OAAO,IAAI,YAAY,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,OAKS,CAAC;QACd,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAI,KAAc,CAAC;QAEnB,MAAM,IAAI,GAAG,CAAC,KAAQ,EAAE,EAAE;YACxB,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxC,OAAO,GAAG,SAAS,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE;YAC9B,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,GAAG,KAAK,CAAC;YACd,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,WAAW,CAAC,SAAS,GAAG,CAAC,KAA2B,EAAE,EAAE;YACtD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,OAAO,CAC1B,WAAW,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,MAAM,CACZ,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,yCAAyC,EAAE;oBAC7D,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,EAAE,EAAE,KAAK,CAAC,WAAW;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,WAAW,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,IAAI,YAAsC,CAAC;QAC3C,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACzB,MAAM,EAAE,CAAC;QACX,CAAC;aACI,CAAC;YACJ,YAAY,GAAG,GAAG,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACzB,MAAM,EAAE,CAAC;gBACT,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC,CAAC;YACF,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,IAAI,SAAS,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;YACjB,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC;QAEF,OAAO;YACL,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,eAAe,EAAE,CAAC;gBAClB,OAAO;oBACL,IAAI,EAAE,GAAG,EAAE;wBACT,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC/B,CAAC;wBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBACrE,CAAC;wBACD,IAAI,MAAM,EAAE,CAAC;4BACX,OAAO,OAAO,CAAC,OAAO,CAAC;gCACE,KAAK,EAAE,SAAyB;gCAChC,IAAI,EAAE,IAAI;6BACX,CAAC,CAAC;wBAC5B,CAAC;wBACD,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BACxD,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;wBAChC,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,EAAE,GAAG,EAAE;wBACX,IAAI,YAAY,EAAE,CAAC;4BACjB,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;wBACjE,CAAC;wBACD,WAAW,CAAC,KAAK,EAAE,CAAC;wBACpB,MAAM,EAAE,CAAC;wBACT,OAAO,OAAO,CAAC,OAAO,CAAC;4BACE,KAAK,EAAE,SAAyB;4BAChC,IAAI,EAAE,IAAI;yBACX,CAAC,CAAC;oBAC5B,CAAC;oBACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;wBACb,IAAI,YAAY,EAAE,CAAC;4BACjB,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;wBACjE,CAAC;wBACD,WAAW,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,CAAC;wBACV,MAAM,EAAE,CAAC;wBACT,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7B,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,QAAQ,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAmB,EACnB,MAAoB;IAEpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,CAAC;IACF,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export * from './schema-runtime.js';
|
|
2
|
+
export * from './model-schema.js';
|
|
3
|
+
export * from './model-construction.js';
|
|
4
|
+
export * from './unknown-variant.js';
|
|
2
5
|
export { ArrayBufferSchema, BooleanSchema, NullSchema, NumberSchema, StringSchema, UnknownSchema, URLSchema, } from './schema-builtins.js';
|
|
3
6
|
export * from './transport.js';
|
|
4
7
|
export * from './fetch-transport.js';
|
|
@@ -26,3 +29,7 @@ export * from './operation.js';
|
|
|
26
29
|
export * from './request-adapters.js';
|
|
27
30
|
export * from './util/errors.js';
|
|
28
31
|
export * from './util/nullify.js';
|
|
32
|
+
export * from './security-binding.js';
|
|
33
|
+
export * from './token-provider.js';
|
|
34
|
+
export * from './token-manager.js';
|
|
35
|
+
export * from './fetch-oauth-token-provider.js';
|
package/build/index.js
CHANGED
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
export * from './schema-runtime.js';
|
|
15
|
+
export * from './model-schema.js';
|
|
16
|
+
export * from './model-construction.js';
|
|
17
|
+
export * from './unknown-variant.js';
|
|
15
18
|
export { ArrayBufferSchema, BooleanSchema, NullSchema, NumberSchema, StringSchema, UnknownSchema, URLSchema, } from './schema-builtins.js';
|
|
16
19
|
export * from './transport.js';
|
|
17
20
|
export * from './fetch-transport.js';
|
|
@@ -40,4 +43,8 @@ export * from './request-adapters.js';
|
|
|
40
43
|
// Select exports from util
|
|
41
44
|
export * from './util/errors.js';
|
|
42
45
|
export * from './util/nullify.js';
|
|
46
|
+
export * from './security-binding.js';
|
|
47
|
+
export * from './token-provider.js';
|
|
48
|
+
export * from './token-manager.js';
|
|
49
|
+
export * from './fetch-oauth-token-provider.js';
|
|
43
50
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AAEtC,2BAA2B;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AAEtC,2BAA2B;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAElC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,iCAAiC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { DateEncoding as SchemaDateEncoding, SchemaLike, SchemaPolicy, SchemaRuntime } from '../schema-runtime.js';
|
|
1
|
+
import { DateEncoding as SchemaDateEncoding, SchemaLike, SchemaPolicy, SchemaRuntime, ModelMode } from '../schema-runtime.js';
|
|
2
2
|
import { MediaTypeEncoder } from './media-type-encoder.js';
|
|
3
3
|
export declare class CBOREncoder implements MediaTypeEncoder {
|
|
4
4
|
readonly runtime: SchemaRuntime;
|
|
5
5
|
static readonly default: CBOREncoder;
|
|
6
6
|
static fromPolicy(policy: Partial<Omit<SchemaPolicy, 'format'>>): CBOREncoder;
|
|
7
7
|
constructor(runtime?: SchemaRuntime);
|
|
8
|
-
encode<T>(value: T, type?: SchemaLike<T
|
|
8
|
+
encode<T>(value: T, type?: SchemaLike<T>, mode?: ModelMode): ArrayBuffer;
|
|
9
9
|
}
|
|
10
10
|
export declare namespace CBOREncoder {
|
|
11
11
|
const DateEncoding: typeof SchemaDateEncoding;
|
|
@@ -23,9 +23,9 @@ export class CBOREncoder {
|
|
|
23
23
|
constructor(runtime = createCBORSchemaRuntime()) {
|
|
24
24
|
this.runtime = runtime;
|
|
25
25
|
}
|
|
26
|
-
encode(value, type) {
|
|
26
|
+
encode(value, type, mode = 'response') {
|
|
27
27
|
const serialized = type
|
|
28
|
-
? this.runtime.resolveSchema(type).encode(value)
|
|
28
|
+
? this.runtime.forMode(mode).resolveSchema(type).encode(value)
|
|
29
29
|
: value;
|
|
30
30
|
return CBOR.encode(serialized);
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cbor-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/cbor-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EACL,YAAY,IAAI,kBAAkB,
|
|
1
|
+
{"version":3,"file":"cbor-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/cbor-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EACL,YAAY,IAAI,kBAAkB,GAInC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,OAAO,WAAW;IAOD;IANrB,MAAM,CAAU,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5C,MAAM,CAAC,UAAU,CAAC,MAA6C;QAC7D,OAAO,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,YAAqB,UAAyB,uBAAuB,EAAE;QAAlD,YAAO,GAAP,OAAO,CAA2C;IACvE,CAAC;IAED,MAAM,CAAI,KAAQ,EAAE,IAAoB,EAAE,OAAkB,UAAU;QACpE,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9D,CAAC,CAAC,KAAK,CAAC;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;;AAGH,WAAiB,WAAW;IACb,wBAAY,GAAG,kBAAkB,CAAC;AACjD,CAAC,EAFgB,WAAW,KAAX,WAAW,QAE3B"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { DateEncoding as SchemaDateEncoding, SchemaLike, SchemaPolicy, SchemaRuntime } from '../schema-runtime.js';
|
|
1
|
+
import { DateEncoding as SchemaDateEncoding, SchemaLike, SchemaPolicy, SchemaRuntime, ModelMode } from '../schema-runtime.js';
|
|
2
2
|
import { StructuredMediaTypeEncoder } from './media-type-encoder.js';
|
|
3
3
|
export declare class JSONEncoder implements StructuredMediaTypeEncoder {
|
|
4
4
|
readonly runtime: SchemaRuntime;
|
|
5
5
|
static readonly default: JSONEncoder;
|
|
6
6
|
static fromPolicy(policy: Partial<Omit<SchemaPolicy, 'format'>>): JSONEncoder;
|
|
7
7
|
constructor(runtime?: SchemaRuntime);
|
|
8
|
-
encode<T>(value: T, type?: SchemaLike<T
|
|
9
|
-
encodeObject<T>(value: T, type?: SchemaLike<T
|
|
8
|
+
encode<T>(value: T, type?: SchemaLike<T>, mode?: ModelMode): string;
|
|
9
|
+
encodeObject<T>(value: T, type?: SchemaLike<T>, mode?: ModelMode): Record<string, unknown>;
|
|
10
10
|
}
|
|
11
11
|
export declare namespace JSONEncoder {
|
|
12
12
|
const DateEncoding: typeof SchemaDateEncoding;
|
|
@@ -24,15 +24,15 @@ export class JSONEncoder {
|
|
|
24
24
|
constructor(runtime = createJSONSchemaRuntime()) {
|
|
25
25
|
this.runtime = runtime;
|
|
26
26
|
}
|
|
27
|
-
encode(value, type) {
|
|
27
|
+
encode(value, type, mode = 'response') {
|
|
28
28
|
const serialized = type
|
|
29
|
-
? this.runtime.resolveSchema(type).encode(value)
|
|
29
|
+
? this.runtime.forMode(mode).resolveSchema(type).encode(value)
|
|
30
30
|
: value;
|
|
31
31
|
return JSON.stringify(serialized);
|
|
32
32
|
}
|
|
33
|
-
encodeObject(value, type) {
|
|
33
|
+
encodeObject(value, type, mode = 'response') {
|
|
34
34
|
const serialized = type
|
|
35
|
-
? this.runtime.resolveSchema(type).encode(value)
|
|
35
|
+
? this.runtime.forMode(mode).resolveSchema(type).encode(value)
|
|
36
36
|
: value;
|
|
37
37
|
return JSON_OBJECT_SCHEMA.parse(serialized);
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/json-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,YAAY,IAAI,kBAAkB,
|
|
1
|
+
{"version":3,"file":"json-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/json-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,YAAY,IAAI,kBAAkB,GAKnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAE7D,MAAM,OAAO,WAAW;IAOD;IANrB,MAAM,CAAU,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5C,MAAM,CAAC,UAAU,CAAC,MAA6C;QAC7D,OAAO,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,YAAqB,UAAyB,uBAAuB,EAAE;QAAlD,YAAO,GAAP,OAAO,CAA2C;IACvE,CAAC;IAED,MAAM,CAAI,KAAQ,EAAE,IAAoB,EAAE,OAAkB,UAAU;QACpE,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9D,CAAC,CAAC,KAAK,CAAC;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,CACV,KAAQ,EACR,IAAoB,EACpB,OAAkB,UAAU;QAE5B,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9D,CAAC,CAAC,KAAK,CAAC;QACV,OAAO,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;;AAGH,WAAiB,WAAW;IACb,wBAAY,GAAG,kBAAkB,CAAC;AACjD,CAAC,EAFgB,WAAW,KAAX,WAAW,QAE3B"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { SchemaLike } from '../schema-runtime.js';
|
|
1
|
+
import { ModelMode, SchemaLike } from '../schema-runtime.js';
|
|
2
2
|
export interface MediaTypeEncoder {
|
|
3
|
-
encode<T>(value: T, type?: SchemaLike<T
|
|
3
|
+
encode<T>(value: T, type?: SchemaLike<T>, mode?: ModelMode): BodyInit;
|
|
4
4
|
}
|
|
5
5
|
export interface URLQueryParamsEncoder extends MediaTypeEncoder {
|
|
6
6
|
encodeQueryString(value: Record<string, unknown>): string;
|
|
7
7
|
}
|
|
8
8
|
export declare function isURLQueryParamsEncoder(encoder: MediaTypeEncoder | URLQueryParamsEncoder | undefined): encoder is URLQueryParamsEncoder;
|
|
9
9
|
export interface StructuredMediaTypeEncoder extends MediaTypeEncoder {
|
|
10
|
-
encodeObject<T>(value: T, type?: SchemaLike<T
|
|
10
|
+
encodeObject<T>(value: T, type?: SchemaLike<T>, mode?: ModelMode): Record<string, unknown>;
|
|
11
11
|
}
|
|
12
12
|
export declare function isStructuredMediaTypeEncoder(encoder: MediaTypeEncoder | StructuredMediaTypeEncoder | undefined): encoder is StructuredMediaTypeEncoder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-type-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAYjC,MAAM,UAAU,uBAAuB,CACrC,OAA6D;IAE7D,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,OAAO,GAAG,CAAC,iBAAiB,KAAK,UAAU,CAAC;AACrD,CAAC;
|
|
1
|
+
{"version":3,"file":"media-type-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAYjC,MAAM,UAAU,uBAAuB,CACrC,OAA6D;IAE7D,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,OAAO,GAAG,CAAC,iBAAiB,KAAK,UAAU,CAAC;AACrD,CAAC;AAUD,MAAM,UAAU,4BAA4B,CAC1C,OAAkE;IAElE,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC;AAChD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SchemaLike, SchemaRuntime } from '../schema-runtime.js';
|
|
1
|
+
import { SchemaLike, SchemaRuntime, ModelMode } from '../schema-runtime.js';
|
|
2
2
|
import { URLQueryParamsEncoder } from './media-type-encoder.js';
|
|
3
3
|
export declare class WWWFormUrlEncoder implements URLQueryParamsEncoder {
|
|
4
4
|
private readonly arrayEncoding;
|
|
@@ -8,7 +8,7 @@ export declare class WWWFormUrlEncoder implements URLQueryParamsEncoder {
|
|
|
8
8
|
static get default(): WWWFormUrlEncoder;
|
|
9
9
|
runtime: SchemaRuntime;
|
|
10
10
|
constructor(arrayEncoding: WWWFormUrlEncoder.ArrayEncoding, boolEncoding: WWWFormUrlEncoder.BoolEncoding, dateEncoding: WWWFormUrlEncoder.DateEncoding, encoder?: TextEncoder);
|
|
11
|
-
encode<T = unknown>(value: T, type?: SchemaLike<T
|
|
11
|
+
encode<T = unknown>(value: T, type?: SchemaLike<T>, mode?: ModelMode): BodyInit;
|
|
12
12
|
encodeQueryString(parameters: Record<string, unknown>): string;
|
|
13
13
|
encodeQueryComponent(key: string, value: unknown): string[];
|
|
14
14
|
private encodeMapQueryComponent;
|
|
@@ -37,9 +37,9 @@ export class WWWFormUrlEncoder {
|
|
|
37
37
|
arrayBufferEncoding: ArrayBufferEncoding.BASE64,
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
encode(value, type) {
|
|
40
|
+
encode(value, type, mode = 'response') {
|
|
41
41
|
const parameters = type
|
|
42
|
-
? this.runtime.resolveSchema(type).encode(value)
|
|
42
|
+
? this.runtime.forMode(mode).resolveSchema(type).encode(value)
|
|
43
43
|
: value;
|
|
44
44
|
return this.encoder.encode(this.encodeQueryString(FORM_OBJECT_SCHEMA.parse(parameters)));
|
|
45
45
|
}
|