@molecule/app-http 1.5.4 → 1.5.6
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 +33 -7
- package/dist/errors.d.ts +2 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +3 -6
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
|
|
|
3
3
|
Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
|
|
4
4
|
Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
|
|
5
5
|
To change this document, edit the module-level JSDoc in src/index.ts.
|
|
6
|
-
Generated: 2026-11-
|
|
6
|
+
Generated: 2026-11-06T22:35:11.084Z
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
# @molecule/app-http
|
|
@@ -519,6 +519,11 @@ type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTION
|
|
|
519
519
|
|
|
520
520
|
HTTP error with response details.
|
|
521
521
|
|
|
522
|
+
`instanceof HttpError` also recognizes compatible failures carrying the shared
|
|
523
|
+
`Symbol.for('@molecule/app-http/HttpError')` brand, including non-ok auth responses
|
|
524
|
+
and errors from duplicated package copies. Branded producers must provide this
|
|
525
|
+
class's instance fields. Subclasses retain ordinary prototype-based checks.
|
|
526
|
+
|
|
522
527
|
Request metadata on `config` and `response.config` is limited to method, a
|
|
523
528
|
credential-redacted URL, and the two boolean notification-suppression controls
|
|
524
529
|
(`molSilentErrorNotification` and `molSilentRateLimitNotification`). Request bodies,
|
|
@@ -536,6 +541,22 @@ session. The correct check is {@link isAuthFailure} (`status === 401 || status =
|
|
|
536
541
|
|
|
537
542
|
```typescript
|
|
538
543
|
class HttpError extends Error {
|
|
544
|
+
/**
|
|
545
|
+
* Recognizes the shared failed-request contract without widening subclass checks.
|
|
546
|
+
*
|
|
547
|
+
* @param value - Any value to test.
|
|
548
|
+
* @returns True for a prototype instance, or a compatible branded value checked against the base class.
|
|
549
|
+
*/
|
|
550
|
+
static [Symbol.hasInstance](value: unknown): boolean {
|
|
551
|
+
return (
|
|
552
|
+
Function.prototype[Symbol.hasInstance].call(this, value) ||
|
|
553
|
+
(this === HttpError &&
|
|
554
|
+
typeof value === 'object' &&
|
|
555
|
+
value !== null &&
|
|
556
|
+
(value as Record<symbol, unknown>)[HTTP_ERROR_BRAND] === true)
|
|
557
|
+
)
|
|
558
|
+
}
|
|
559
|
+
|
|
539
560
|
/**
|
|
540
561
|
* Redacts URL userinfo and credential query/fragment values while preserving the path and
|
|
541
562
|
* non-secret parameters. Shared by compatible HTTP and auth error/log views.
|
|
@@ -633,7 +654,8 @@ function awaitAuthGate(request?: AuthGateRequest): Promise<void>
|
|
|
633
654
|
Whether `err` is an {@link HttpError} or a compatible branded request failure.
|
|
634
655
|
`@molecule/app-auth` uses the same global brand for its non-ok responses, so
|
|
635
656
|
this also recognizes them across realms and duplicated package copies without
|
|
636
|
-
|
|
657
|
+
sharing the same prototype. Equivalent to `err instanceof HttpError`; subclass
|
|
658
|
+
`instanceof` checks still require the subclass's own prototype.
|
|
637
659
|
|
|
638
660
|
```typescript
|
|
639
661
|
function isHttpError(err: unknown): err is HttpError
|
|
@@ -1089,9 +1111,10 @@ Two mistakes that break in preview/production (seen in real imported apps):
|
|
|
1089
1111
|
stay in YOUR API; the browser calls your API and the API uses the secret server-side.
|
|
1090
1112
|
Only a publishable/public key may ever be client-side.
|
|
1091
1113
|
|
|
1092
|
-
Auth (the bearer token / session cookie) is attached by the client's
|
|
1093
|
-
|
|
1094
|
-
|
|
1114
|
+
Auth (the bearer token / session cookie) is attached by the bonded client's
|
|
1115
|
+
interceptors and token source. Keep persistence in `@molecule/app-auth`'s
|
|
1116
|
+
`AuthClientConfig.storage`; use the bonded client instead of reading storage
|
|
1117
|
+
or hand-attaching headers in each component.
|
|
1095
1118
|
An API that wants another scheme than `Bearer` (`Authorization: Token <jwt>`) passes
|
|
1096
1119
|
`authScheme: 'Token'` to the client's CONSTRUCTOR — `setClient(createFetchClient({ baseURL,
|
|
1097
1120
|
authScheme: 'Token' }))`, or the bonded provider's constructor
|
|
@@ -1143,8 +1166,11 @@ case so a caller can stay silent instead of reporting an outage. **Do not write
|
|
|
1143
1166
|
the session on every aborted navigation request.
|
|
1144
1167
|
|
|
1145
1168
|
Every non-ok response rejected by `@molecule/app-auth` also satisfies
|
|
1146
|
-
`isHttpError(err)`: its `status` and `response.data`
|
|
1147
|
-
and parsed body exposed as `AuthError.status` and
|
|
1169
|
+
`err instanceof HttpError` and `isHttpError(err)`: its `status` and `response.data`
|
|
1170
|
+
are the same HTTP status and parsed body exposed as `AuthError.status` and
|
|
1171
|
+
`AuthError.body`, while it remains an `I18nError`. Both checks accept the shared
|
|
1172
|
+
brand across duplicated package copies. Subclass checks keep their ordinary
|
|
1173
|
+
prototype semantics; a branded base error is not an instance of every subclass.
|
|
1148
1174
|
|
|
1149
1175
|
## Translations
|
|
1150
1176
|
|
package/dist/errors.d.ts
CHANGED
|
@@ -28,7 +28,8 @@ import { HttpError } from './types.js';
|
|
|
28
28
|
* Whether `err` is an {@link HttpError} or a compatible branded request failure.
|
|
29
29
|
* `@molecule/app-auth` uses the same global brand for its non-ok responses, so
|
|
30
30
|
* this also recognizes them across realms and duplicated package copies without
|
|
31
|
-
*
|
|
31
|
+
* sharing the same prototype. Equivalent to `err instanceof HttpError`; subclass
|
|
32
|
+
* `instanceof` checks still require the subclass's own prototype.
|
|
32
33
|
*
|
|
33
34
|
* @param err - Any thrown value.
|
|
34
35
|
* @returns True for an `HttpError` or a compatibly branded request failure.
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,CAE1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE/C"}
|
package/dist/errors.js
CHANGED
|
@@ -24,21 +24,18 @@
|
|
|
24
24
|
* @module
|
|
25
25
|
*/
|
|
26
26
|
import { HttpError } from './types.js';
|
|
27
|
-
const HTTP_ERROR_BRAND = Symbol.for('@molecule/app-http/HttpError');
|
|
28
27
|
/**
|
|
29
28
|
* Whether `err` is an {@link HttpError} or a compatible branded request failure.
|
|
30
29
|
* `@molecule/app-auth` uses the same global brand for its non-ok responses, so
|
|
31
30
|
* this also recognizes them across realms and duplicated package copies without
|
|
32
|
-
*
|
|
31
|
+
* sharing the same prototype. Equivalent to `err instanceof HttpError`; subclass
|
|
32
|
+
* `instanceof` checks still require the subclass's own prototype.
|
|
33
33
|
*
|
|
34
34
|
* @param err - Any thrown value.
|
|
35
35
|
* @returns True for an `HttpError` or a compatibly branded request failure.
|
|
36
36
|
*/
|
|
37
37
|
export function isHttpError(err) {
|
|
38
|
-
return
|
|
39
|
-
(typeof err === 'object' &&
|
|
40
|
-
err !== null &&
|
|
41
|
-
err[HTTP_ERROR_BRAND] === true));
|
|
38
|
+
return err instanceof HttpError;
|
|
42
39
|
}
|
|
43
40
|
/**
|
|
44
41
|
* Whether the server REJECTED the request's credential — the only failure that
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,OAAO,GAAG,YAAY,SAAS,CAAA;AACjC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAA;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAA;AACxC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -56,9 +56,10 @@
|
|
|
56
56
|
* stay in YOUR API; the browser calls your API and the API uses the secret server-side.
|
|
57
57
|
* Only a publishable/public key may ever be client-side.
|
|
58
58
|
*
|
|
59
|
-
* Auth (the bearer token / session cookie) is attached by the client's
|
|
60
|
-
*
|
|
61
|
-
*
|
|
59
|
+
* Auth (the bearer token / session cookie) is attached by the bonded client's
|
|
60
|
+
* interceptors and token source. Keep persistence in `@molecule/app-auth`'s
|
|
61
|
+
* `AuthClientConfig.storage`; use the bonded client instead of reading storage
|
|
62
|
+
* or hand-attaching headers in each component.
|
|
62
63
|
* An API that wants another scheme than `Bearer` (`Authorization: Token <jwt>`) passes
|
|
63
64
|
* `authScheme: 'Token'` to the client's CONSTRUCTOR — `setClient(createFetchClient({ baseURL,
|
|
64
65
|
* authScheme: 'Token' }))`, or the bonded provider's constructor
|
|
@@ -110,8 +111,11 @@
|
|
|
110
111
|
* the session on every aborted navigation request.
|
|
111
112
|
*
|
|
112
113
|
* Every non-ok response rejected by `@molecule/app-auth` also satisfies
|
|
113
|
-
* `isHttpError(err)`: its `status` and `response.data`
|
|
114
|
-
* and parsed body exposed as `AuthError.status` and
|
|
114
|
+
* `err instanceof HttpError` and `isHttpError(err)`: its `status` and `response.data`
|
|
115
|
+
* are the same HTTP status and parsed body exposed as `AuthError.status` and
|
|
116
|
+
* `AuthError.body`, while it remains an `I18nError`. Both checks accept the shared
|
|
117
|
+
* brand across duplicated package copies. Subclass checks keep their ordinary
|
|
118
|
+
* prototype semantics; a branded base error is not an instance of every subclass.
|
|
115
119
|
*
|
|
116
120
|
* @module
|
|
117
121
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -56,9 +56,10 @@
|
|
|
56
56
|
* stay in YOUR API; the browser calls your API and the API uses the secret server-side.
|
|
57
57
|
* Only a publishable/public key may ever be client-side.
|
|
58
58
|
*
|
|
59
|
-
* Auth (the bearer token / session cookie) is attached by the client's
|
|
60
|
-
*
|
|
61
|
-
*
|
|
59
|
+
* Auth (the bearer token / session cookie) is attached by the bonded client's
|
|
60
|
+
* interceptors and token source. Keep persistence in `@molecule/app-auth`'s
|
|
61
|
+
* `AuthClientConfig.storage`; use the bonded client instead of reading storage
|
|
62
|
+
* or hand-attaching headers in each component.
|
|
62
63
|
* An API that wants another scheme than `Bearer` (`Authorization: Token <jwt>`) passes
|
|
63
64
|
* `authScheme: 'Token'` to the client's CONSTRUCTOR — `setClient(createFetchClient({ baseURL,
|
|
64
65
|
* authScheme: 'Token' }))`, or the bonded provider's constructor
|
|
@@ -110,8 +111,11 @@
|
|
|
110
111
|
* the session on every aborted navigation request.
|
|
111
112
|
*
|
|
112
113
|
* Every non-ok response rejected by `@molecule/app-auth` also satisfies
|
|
113
|
-
* `isHttpError(err)`: its `status` and `response.data`
|
|
114
|
-
* and parsed body exposed as `AuthError.status` and
|
|
114
|
+
* `err instanceof HttpError` and `isHttpError(err)`: its `status` and `response.data`
|
|
115
|
+
* are the same HTTP status and parsed body exposed as `AuthError.status` and
|
|
116
|
+
* `AuthError.body`, while it remains an `I18nError`. Both checks accept the shared
|
|
117
|
+
* brand across duplicated package copies. Subclass checks keep their ordinary
|
|
118
|
+
* prototype semantics; a branded base error is not an instance of every subclass.
|
|
115
119
|
*
|
|
116
120
|
* @module
|
|
117
121
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -170,6 +170,11 @@ export declare const snapshotHttpErrorResponse: <T extends HttpResponse>(respons
|
|
|
170
170
|
/**
|
|
171
171
|
* HTTP error with response details.
|
|
172
172
|
*
|
|
173
|
+
* `instanceof HttpError` also recognizes compatible failures carrying the shared
|
|
174
|
+
* `Symbol.for('@molecule/app-http/HttpError')` brand, including non-ok auth responses
|
|
175
|
+
* and errors from duplicated package copies. Branded producers must provide this
|
|
176
|
+
* class's instance fields. Subclasses retain ordinary prototype-based checks.
|
|
177
|
+
*
|
|
173
178
|
* Request metadata on `config` and `response.config` is limited to method, a
|
|
174
179
|
* credential-redacted URL, and the two boolean notification-suppression controls
|
|
175
180
|
* (`molSilentErrorNotification` and `molSilentRateLimitNotification`). Request bodies,
|
|
@@ -202,6 +207,13 @@ export declare class HttpError extends Error {
|
|
|
202
207
|
config?: FullRequestConfig | undefined;
|
|
203
208
|
errorKey?: string | undefined;
|
|
204
209
|
aborted: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Recognizes the shared failed-request contract without widening subclass checks.
|
|
212
|
+
*
|
|
213
|
+
* @param value - Any value to test.
|
|
214
|
+
* @returns True for a prototype instance, or a compatible branded value checked against the base class.
|
|
215
|
+
*/
|
|
216
|
+
static [Symbol.hasInstance](value: unknown): boolean;
|
|
205
217
|
/**
|
|
206
218
|
* Redacts URL userinfo and credential query/fragment values while preserving the path and
|
|
207
219
|
* non-secret parameters. Shared by compatible HTTP and auth error/log views.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAO9C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;AAEzF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IAE9D;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAA;IAEvD;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEjC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,KAAK,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAElB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAA;IAEP;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE/B;;OAEG;IACH,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAgHD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAU,CAAC,EAAE,MAAM,CAAC,KAAG,OAAO,CAAC,CAAC,CA2BjE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GAAU,CAAC,SAAS,YAAY,EACpE,UAAU,CAAC,KACV,OAAO,CAAC,CAAC,CAWX,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAO9C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;AAEzF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IAE9D;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAA;IAEvD;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEjC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,KAAK,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAElB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAA;IAEP;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE/B;;OAEG;IACH,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAgHD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAU,CAAC,EAAE,MAAM,CAAC,KAAG,OAAO,CAAC,CAAC,CA2BjE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GAAU,CAAC,SAAS,YAAY,EACpE,UAAU,CAAC,KACV,OAAO,CAAC,CAAC,CAWX,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,SAAU,SAAQ,KAAK;IA0CzB,MAAM,EAAE,MAAM;IACd,QAAQ,CAAC,EAAE,YAAY;IACvB,MAAM,CAAC,EAAE,iBAAiB;IAC1B,QAAQ,CAAC,EAAE,MAAM;IACjB,OAAO;IA7ChB;;;;;OAKG;IACH,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAUpD;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,oBAAoB,4BAAuB;IAE3D;;;;;;;;;;;;;;;;OAgBG;gBAED,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,YAAY,YAAA,EACvB,MAAM,CAAC,EAAE,iBAAiB,YAAA,EAC1B,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,OAAO,UAAQ;CAQzB"}
|
package/dist/types.js
CHANGED
|
@@ -170,6 +170,11 @@ export const snapshotHttpErrorResponse = async (response) => {
|
|
|
170
170
|
/**
|
|
171
171
|
* HTTP error with response details.
|
|
172
172
|
*
|
|
173
|
+
* `instanceof HttpError` also recognizes compatible failures carrying the shared
|
|
174
|
+
* `Symbol.for('@molecule/app-http/HttpError')` brand, including non-ok auth responses
|
|
175
|
+
* and errors from duplicated package copies. Branded producers must provide this
|
|
176
|
+
* class's instance fields. Subclasses retain ordinary prototype-based checks.
|
|
177
|
+
*
|
|
173
178
|
* Request metadata on `config` and `response.config` is limited to method, a
|
|
174
179
|
* credential-redacted URL, and the two boolean notification-suppression controls
|
|
175
180
|
* (`molSilentErrorNotification` and `molSilentRateLimitNotification`). Request bodies,
|
|
@@ -202,6 +207,19 @@ export class HttpError extends Error {
|
|
|
202
207
|
config;
|
|
203
208
|
errorKey;
|
|
204
209
|
aborted;
|
|
210
|
+
/**
|
|
211
|
+
* Recognizes the shared failed-request contract without widening subclass checks.
|
|
212
|
+
*
|
|
213
|
+
* @param value - Any value to test.
|
|
214
|
+
* @returns True for a prototype instance, or a compatible branded value checked against the base class.
|
|
215
|
+
*/
|
|
216
|
+
static [Symbol.hasInstance](value) {
|
|
217
|
+
return (Function.prototype[Symbol.hasInstance].call(this, value) ||
|
|
218
|
+
(this === HttpError &&
|
|
219
|
+
typeof value === 'object' &&
|
|
220
|
+
value !== null &&
|
|
221
|
+
value[HTTP_ERROR_BRAND] === true));
|
|
222
|
+
}
|
|
205
223
|
/**
|
|
206
224
|
* Redacts URL userinfo and credential query/fragment values while preserving the path and
|
|
207
225
|
* non-secret parameters. Shared by compatible HTTP and auth error/log views.
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|