@owlmeans/error 0.1.18-rc.36 → 0.1.18-rc.38
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 +8 -8
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/error/SKILL.md +1 -1
- package/build/{resilient.d.ts → errors.d.ts} +1 -1
- package/build/errors.d.ts.map +1 -0
- package/build/{resilient.js → errors.js} +1 -1
- package/build/errors.js.map +1 -0
- package/build/helper/types.d.ts +9 -0
- package/build/helper/types.d.ts.map +1 -0
- package/build/helper/types.js +2 -0
- package/build/helper/types.js.map +1 -0
- package/build/helper.d.ts +3 -3
- package/build/helper.d.ts.map +1 -1
- package/build/helper.js +7 -3
- package/build/helper.js.map +1 -1
- package/build/i18n.js +9 -9
- package/build/i18n.js.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/types.d.ts +1 -1
- package/build/types.d.ts.map +1 -1
- package/build/types.local.d.ts +7 -0
- package/build/types.local.d.ts.map +1 -0
- package/build/types.local.js +2 -0
- package/build/types.local.js.map +1 -0
- package/build/utils.d.ts +0 -2
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +10 -10
- package/build/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/{resilient.ts → errors.ts} +1 -2
- package/src/helper/types.ts +9 -0
- package/src/helper.ts +12 -5
- package/src/i18n.ts +9 -9
- package/src/index.ts +2 -1
- package/src/types.local.ts +7 -0
- package/src/types.ts +1 -1
- package/src/utils.ts +15 -15
- package/build/resilient.d.ts.map +0 -1
- package/build/resilient.js.map +0 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ framework packages already ship: authentication and authorization failures from
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
bun add @owlmeans/error@^0.1.18-rc.
|
|
15
|
+
bun add @owlmeans/error@^0.1.18-rc.38
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Concepts
|
|
@@ -117,15 +117,15 @@ is caught as the same class around `context.entrypoint(invoiceProtocols.settle).
|
|
|
117
117
|
client. A boundary you own — a WebSocket close reason, a stored failure record — does the same by hand:
|
|
118
118
|
|
|
119
119
|
```ts
|
|
120
|
-
import {
|
|
120
|
+
import { errorHelper } from '@owlmeans/error'
|
|
121
121
|
import { InvoiceError } from '@my-app/common'
|
|
122
122
|
|
|
123
123
|
// Producer: send only the flattened string.
|
|
124
|
-
socket.close(1011, marshalError(caught).message)
|
|
124
|
+
socket.close(1011, errorHelper.marshalError(caught).message)
|
|
125
125
|
|
|
126
126
|
// Consumer: rebuild the registered class, typed to the family you expect.
|
|
127
127
|
socket.addEventListener('close', event => {
|
|
128
|
-
const err = enuserError<InvoiceError>(event.reason)
|
|
128
|
+
const err = errorHelper.enuserError<InvoiceError>(event.reason)
|
|
129
129
|
if (err instanceof InvoiceError) {
|
|
130
130
|
showInvoiceProblem(err.type)
|
|
131
131
|
}
|
|
@@ -215,8 +215,8 @@ Panel components resolve an error through `errors.<type>` — a form- or screen-
|
|
|
215
215
|
|
|
216
216
|
| Symbol | Kind | Purpose |
|
|
217
217
|
|--------|------|---------|
|
|
218
|
-
| `enuserError<T>(err, throwOnUnknown?)` |
|
|
219
|
-
| `marshalError(err)` |
|
|
218
|
+
| `errorHelper.enuserError<T>(err, throwOnUnknown?)` | helper member | `ResilientError.ensure`, typed to the subclass you expect |
|
|
219
|
+
| `errorHelper.marshalError(err)` | helper member | `ensure` then `marshal`, for a boundary that only carries an `Error` or a string |
|
|
220
220
|
| `isResilientError(value)` | function | Structural check (shared brand + `type` + `marshal`) that holds across duplicate module copies |
|
|
221
221
|
| `SEPARATOR` | constant | Three pipe characters — joins the marshalled fields |
|
|
222
222
|
| `RESILENT_ERROR` | constant | `'ResilientError'` — the base type name |
|
|
@@ -232,7 +232,7 @@ Panel components resolve an error through `errors.<type>` — a form- or screen-
|
|
|
232
232
|
|
|
233
233
|
### Side effect
|
|
234
234
|
|
|
235
|
-
Importing the package registers the `errors` i18n library (via `addI18nLib` from
|
|
235
|
+
Importing the package registers the `errors` i18n library (via `i18nHelper.addI18nLib` from
|
|
236
236
|
`@owlmeans/i18n`) for `en`, `pl`, `ru`, `be`, `uk`, `es` and `de`. There are no subpath exports.
|
|
237
237
|
|
|
238
238
|
## Common pitfalls
|
|
@@ -272,7 +272,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
272
272
|
your project's skill store (`.agents/skills/`):
|
|
273
273
|
|
|
274
274
|
```sh
|
|
275
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
275
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.49
|
|
276
276
|
```
|
|
277
277
|
|
|
278
278
|
The embedded files are version-matched to this package release. Do not edit them
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/error",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-
|
|
4
|
+
"version": "0.1.18-rc.38",
|
|
5
|
+
"generatedAt": "2026-10-05T21:03:06.410Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAwC3F;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,KAAK,IAAI,cAS1D,CAAA;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,OAAc,SAAS,EAAE,MAAM,CAAY;IAE3C,OAAc,QAAQ,EAAE,MAAM,CAAiB;IAE/C,OAAc,UAAU,EAAE,SAAS,EAAE,CAAqB;IAE1D;;;;;;;;OAQG;IACH,OAAuB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxF,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,GACzB,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAY7B;IAED,OAAc,kBAAkB,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAKzH;IAED,OAAc,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,cAAc,CA4BlF;IAED,OAAc,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAenE;IAEM,IAAI,EAAE,MAAM,CAAiB;IAE7B,cAAc,CAAC,EAAE,MAAM,CAAA;IAE9B,iGAAiG;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAA;IAE1B,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAQxD;IAED,OAAO,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAEzC;IAED,iBAAiB,IAAI,IAAI,CAAI;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ResilientError } from '../errors.js';
|
|
2
|
+
/** Boundary shortcuts over `ResilientError.ensure` and `ResilientError.marshal`. */
|
|
3
|
+
export interface ErrorHelper {
|
|
4
|
+
/** `ResilientError.ensure`, typed to the subclass the caller expects. */
|
|
5
|
+
enuserError: <T extends ResilientError = ResilientError>(err: Error | string, throwOnUnknown?: boolean) => T;
|
|
6
|
+
/** `ensure` then `marshal`, for a boundary that only carries an `Error` or a string. */
|
|
7
|
+
marshalError: (err: Error | string) => Error;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/helper/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,WAAW,EAAE,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,CAAC,CAAA;IAC5G,wFAAwF;IACxF,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,KAAK,KAAK,CAAA;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/helper/types.ts"],"names":[],"mappings":""}
|
package/build/helper.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
1
|
+
import type { ErrorHelper } from './helper/types.js';
|
|
2
|
+
export declare const createErrorHelper: () => ErrorHelper;
|
|
3
|
+
export declare const errorHelper: ErrorHelper;
|
|
4
4
|
//# sourceMappingURL=helper.d.ts.map
|
package/build/helper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,eAAO,MAAM,iBAAiB,QAAO,WAQpC,CAAA;AAED,eAAO,MAAM,WAAW,aAAsB,CAAA"}
|
package/build/helper.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { ResilientError } from './
|
|
2
|
-
export const
|
|
3
|
-
|
|
1
|
+
import { ResilientError } from './errors.js';
|
|
2
|
+
export const createErrorHelper = () => {
|
|
3
|
+
const enuserError = (err, throwOnUnknown) => ResilientError.ensure(err, throwOnUnknown);
|
|
4
|
+
const marshalError = (err) => ResilientError.marshal(ResilientError.ensure(err));
|
|
5
|
+
return { enuserError, marshalError };
|
|
6
|
+
};
|
|
7
|
+
export const errorHelper = createErrorHelper();
|
|
4
8
|
//# sourceMappingURL=helper.js.map
|
package/build/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAgB,EAAE;IACjD,MAAM,WAAW,GAAG,CAA4C,GAAmB,EAAE,cAAwB,EAAK,EAAE,CAClH,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAM,CAAA;IAEjD,MAAM,YAAY,GAAG,CAAC,GAAmB,EAAS,EAAE,CAClD,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAEpD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAA"}
|
package/build/i18n.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i18nHelper } from '@owlmeans/i18n';
|
|
2
2
|
import en from './i18n/en.json' with { type: 'json' };
|
|
3
3
|
import pl from './i18n/pl.json' with { type: 'json' };
|
|
4
4
|
import ru from './i18n/ru.json' with { type: 'json' };
|
|
@@ -7,12 +7,12 @@ import uk from './i18n/uk.json' with { type: 'json' };
|
|
|
7
7
|
import es from './i18n/es.json' with { type: 'json' };
|
|
8
8
|
import de from './i18n/de.json' with { type: 'json' };
|
|
9
9
|
import fr from './i18n/fr.json' with { type: 'json' };
|
|
10
|
-
addI18nLib('en', 'errors', en);
|
|
11
|
-
addI18nLib('pl', 'errors', pl);
|
|
12
|
-
addI18nLib('ru', 'errors', ru);
|
|
13
|
-
addI18nLib('be', 'errors', be);
|
|
14
|
-
addI18nLib('uk', 'errors', uk);
|
|
15
|
-
addI18nLib('es', 'errors', es);
|
|
16
|
-
addI18nLib('de', 'errors', de);
|
|
17
|
-
addI18nLib('fr', 'errors', fr);
|
|
10
|
+
i18nHelper.addI18nLib('en', 'errors', en);
|
|
11
|
+
i18nHelper.addI18nLib('pl', 'errors', pl);
|
|
12
|
+
i18nHelper.addI18nLib('ru', 'errors', ru);
|
|
13
|
+
i18nHelper.addI18nLib('be', 'errors', be);
|
|
14
|
+
i18nHelper.addI18nLib('uk', 'errors', uk);
|
|
15
|
+
i18nHelper.addI18nLib('es', 'errors', es);
|
|
16
|
+
i18nHelper.addI18nLib('de', 'errors', de);
|
|
17
|
+
i18nHelper.addI18nLib('fr', 'errors', fr);
|
|
18
18
|
//# sourceMappingURL=i18n.js.map
|
package/build/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAErD,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAErD,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA"}
|
package/build/index.d.ts
CHANGED
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,mBAAmB,mBAAmB,CAAA;AACtC,cAAc,WAAW,CAAA"}
|
package/build/index.js
CHANGED
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAE1B,cAAc,WAAW,CAAA"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResilientError } from './
|
|
1
|
+
import type { ResilientError } from './errors.js';
|
|
2
2
|
export type ValueOrError<T> = T | ResilientError;
|
|
3
3
|
export interface MarshalErrorOptions {
|
|
4
4
|
/** Defaults to true for backwards compatibility outside an HTTP boundary. */
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,cAAc,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAA;IAC9B,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,cAAc,CAAA;IACvC,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAA;IACpC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,cAAc,CAAA;CAC1C;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IAClF,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IACtD,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CONVERTER_REGISTRY } from './consts.js';
|
|
2
|
+
import type { Converter } from './types.js';
|
|
3
|
+
/** The slot of the process-wide converter registry on `globalThis`. */
|
|
4
|
+
export interface ConverterHolder {
|
|
5
|
+
[CONVERTER_REGISTRY]?: Converter[];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=types.local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.d.ts","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAA;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.js","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA"}
|
package/build/utils.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ResilientError } from './resilient.js';
|
|
2
1
|
import type { Converter, ResilientErrorConstructor } from './types.js';
|
|
3
2
|
export declare const createErrorConverter: (resilientErrorClass: ResilientErrorConstructor, errorClass?: ErrorConstructor) => Converter;
|
|
4
|
-
export declare const unmarshal: <T extends ResilientError = ResilientError>(errorClass: ResilientErrorConstructor) => (err: Error) => T;
|
|
5
3
|
//# sourceMappingURL=utils.d.ts.map
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAwBtE,eAAO,MAAM,oBAAoB,wBACV,yBAAyB,eACjC,gBAAgB,KAC5B,SAQF,CAAA"}
|
package/build/utils.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import { ResilientError } from './
|
|
2
|
-
|
|
3
|
-
return {
|
|
4
|
-
match: err => errorClass != null && err instanceof errorClass,
|
|
5
|
-
convert: err => new resilientErrorClass(err.message, err.stack),
|
|
6
|
-
isMarshaled: err => err.message.startsWith(resilientErrorClass.typeName + ResilientError.separator),
|
|
7
|
-
unmarshal: unmarshal(resilientErrorClass)
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
export const unmarshal = (errorClass) => (err) => {
|
|
1
|
+
import { ResilientError } from './errors.js';
|
|
2
|
+
const unmarshal = (errorClass) => (err) => {
|
|
11
3
|
if (err instanceof errorClass) {
|
|
12
4
|
return err;
|
|
13
5
|
}
|
|
@@ -27,4 +19,12 @@ export const unmarshal = (errorClass) => (err) => {
|
|
|
27
19
|
error.finalizeUnmarshal();
|
|
28
20
|
return error;
|
|
29
21
|
};
|
|
22
|
+
export const createErrorConverter = (resilientErrorClass, errorClass) => {
|
|
23
|
+
return {
|
|
24
|
+
match: err => errorClass != null && err instanceof errorClass,
|
|
25
|
+
convert: err => new resilientErrorClass(err.message, err.stack),
|
|
26
|
+
isMarshaled: err => err.message.startsWith(resilientErrorClass.typeName + ResilientError.separator),
|
|
27
|
+
unmarshal: unmarshal(resilientErrorClass)
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
30
|
//# sourceMappingURL=utils.js.map
|
package/build/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG5C,MAAM,SAAS,GAAG,CAA4C,UAAqC,EAAE,EAAE,CACrG,CAAC,GAAU,EAAK,EAAE;IAChB,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,OAAO,GAAQ,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,WAAW,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,CAAA;IACjD,uFAAuF;IACvF,6FAA6F;IAC7F,MAAM,KAAK,GAAG,UAAU,KAAK,cAAc;QACzC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;QACtC,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAClC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IACvB,KAAK,CAAC,UAAU,GAAG,UAAU,CAAA;IAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACzB,OAAO,KAAU,CAAA;AACnB,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,mBAA8C,EAC9C,UAA6B,EAClB,EAAE;IACb,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,UAAU,IAAI,IAAI,IAAI,GAAG,YAAY,UAAU;QAC7D,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC;QAC/D,WAAW,EAAE,GAAG,CAAC,EAAE,CACjB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC;QACjF,SAAS,EAAE,SAAS,CAAC,mBAAmB,CAAC;KAC1C,CAAA;AACH,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/error",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.38",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@owlmeans/i18n": "^0.1.18-rc.
|
|
25
|
+
"@owlmeans/i18n": "^0.1.18-rc.39"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@owlmeans/dep-config": "workspace:*",
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { CATCH_ALL_CONVERTER, CONVERTER_REGISTRY, RESILENT_ERROR, RESILIENT_BRAND, SEPARATOR } from './consts.js'
|
|
2
2
|
import type { Converter, MarshalErrorOptions, ResilientErrorConstructor } from './types.js'
|
|
3
3
|
import { createErrorConverter } from './utils.js'
|
|
4
|
-
|
|
5
|
-
type ConverterHolder = typeof globalThis & { [CONVERTER_REGISTRY]?: Converter[] }
|
|
4
|
+
import type { ConverterHolder } from './types.local.js'
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* The one converter registry of the process.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ResilientError } from '../errors.js'
|
|
2
|
+
|
|
3
|
+
/** Boundary shortcuts over `ResilientError.ensure` and `ResilientError.marshal`. */
|
|
4
|
+
export interface ErrorHelper {
|
|
5
|
+
/** `ResilientError.ensure`, typed to the subclass the caller expects. */
|
|
6
|
+
enuserError: <T extends ResilientError = ResilientError>(err: Error | string, throwOnUnknown?: boolean) => T
|
|
7
|
+
/** `ensure` then `marshal`, for a boundary that only carries an `Error` or a string. */
|
|
8
|
+
marshalError: (err: Error | string) => Error
|
|
9
|
+
}
|
package/src/helper.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import { ResilientError } from './
|
|
1
|
+
import { ResilientError } from './errors.js'
|
|
2
|
+
import type { ErrorHelper } from './helper/types.js'
|
|
2
3
|
|
|
3
|
-
export const
|
|
4
|
-
ResilientError
|
|
4
|
+
export const createErrorHelper = (): ErrorHelper => {
|
|
5
|
+
const enuserError = <T extends ResilientError = ResilientError>(err: Error | string, throwOnUnknown?: boolean): T =>
|
|
6
|
+
ResilientError.ensure(err, throwOnUnknown) as T
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
const marshalError = (err: Error | string): Error =>
|
|
9
|
+
ResilientError.marshal(ResilientError.ensure(err))
|
|
10
|
+
|
|
11
|
+
return { enuserError, marshalError }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const errorHelper = createErrorHelper()
|
package/src/i18n.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i18nHelper } from '@owlmeans/i18n'
|
|
2
2
|
|
|
3
3
|
import en from './i18n/en.json' with { type: 'json' }
|
|
4
4
|
import pl from './i18n/pl.json' with { type: 'json' }
|
|
@@ -9,11 +9,11 @@ import es from './i18n/es.json' with { type: 'json' }
|
|
|
9
9
|
import de from './i18n/de.json' with { type: 'json' }
|
|
10
10
|
import fr from './i18n/fr.json' with { type: 'json' }
|
|
11
11
|
|
|
12
|
-
addI18nLib('en', 'errors', en)
|
|
13
|
-
addI18nLib('pl', 'errors', pl)
|
|
14
|
-
addI18nLib('ru', 'errors', ru)
|
|
15
|
-
addI18nLib('be', 'errors', be)
|
|
16
|
-
addI18nLib('uk', 'errors', uk)
|
|
17
|
-
addI18nLib('es', 'errors', es)
|
|
18
|
-
addI18nLib('de', 'errors', de)
|
|
19
|
-
addI18nLib('fr', 'errors', fr)
|
|
12
|
+
i18nHelper.addI18nLib('en', 'errors', en)
|
|
13
|
+
i18nHelper.addI18nLib('pl', 'errors', pl)
|
|
14
|
+
i18nHelper.addI18nLib('ru', 'errors', ru)
|
|
15
|
+
i18nHelper.addI18nLib('be', 'errors', be)
|
|
16
|
+
i18nHelper.addI18nLib('uk', 'errors', uk)
|
|
17
|
+
i18nHelper.addI18nLib('es', 'errors', es)
|
|
18
|
+
i18nHelper.addI18nLib('de', 'errors', de)
|
|
19
|
+
i18nHelper.addI18nLib('fr', 'errors', fr)
|
package/src/index.ts
CHANGED
package/src/types.ts
CHANGED
package/src/utils.ts
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
import { ResilientError } from './
|
|
1
|
+
import { ResilientError } from './errors.js'
|
|
2
2
|
import type { Converter, ResilientErrorConstructor } from './types.js'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
resilientErrorClass: ResilientErrorConstructor,
|
|
6
|
-
errorClass?: ErrorConstructor
|
|
7
|
-
): Converter => {
|
|
8
|
-
return {
|
|
9
|
-
match: err => errorClass != null && err instanceof errorClass,
|
|
10
|
-
convert: err => new resilientErrorClass(err.message, err.stack),
|
|
11
|
-
isMarshaled: err =>
|
|
12
|
-
err.message.startsWith(resilientErrorClass.typeName + ResilientError.separator),
|
|
13
|
-
unmarshal: unmarshal(resilientErrorClass)
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const unmarshal = <T extends ResilientError = ResilientError>(errorClass: ResilientErrorConstructor) =>
|
|
4
|
+
const unmarshal = <T extends ResilientError = ResilientError>(errorClass: ResilientErrorConstructor) =>
|
|
18
5
|
(err: Error): T => {
|
|
19
6
|
if (err instanceof errorClass) {
|
|
20
7
|
return err as T
|
|
@@ -35,3 +22,16 @@ export const unmarshal = <T extends ResilientError = ResilientError>(errorClass:
|
|
|
35
22
|
error.finalizeUnmarshal()
|
|
36
23
|
return error as T
|
|
37
24
|
}
|
|
25
|
+
|
|
26
|
+
export const createErrorConverter = (
|
|
27
|
+
resilientErrorClass: ResilientErrorConstructor,
|
|
28
|
+
errorClass?: ErrorConstructor
|
|
29
|
+
): Converter => {
|
|
30
|
+
return {
|
|
31
|
+
match: err => errorClass != null && err instanceof errorClass,
|
|
32
|
+
convert: err => new resilientErrorClass(err.message, err.stack),
|
|
33
|
+
isMarshaled: err =>
|
|
34
|
+
err.message.startsWith(resilientErrorClass.typeName + ResilientError.separator),
|
|
35
|
+
unmarshal: unmarshal(resilientErrorClass)
|
|
36
|
+
}
|
|
37
|
+
}
|
package/build/resilient.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resilient.d.ts","sourceRoot":"","sources":["../src/resilient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAyC3F;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,KAAK,IAAI,cAS1D,CAAA;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,OAAc,SAAS,EAAE,MAAM,CAAY;IAE3C,OAAc,QAAQ,EAAE,MAAM,CAAiB;IAE/C,OAAc,UAAU,EAAE,SAAS,EAAE,CAAqB;IAE1D;;;;;;;;OAQG;IACH,OAAuB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxF,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,GACzB,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAY7B;IAED,OAAc,kBAAkB,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAKzH;IAED,OAAc,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,cAAc,CA4BlF;IAED,OAAc,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAenE;IAEM,IAAI,EAAE,MAAM,CAAiB;IAE7B,cAAc,CAAC,EAAE,MAAM,CAAA;IAE9B,iGAAiG;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAA;IAE1B,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAQxD;IAED,OAAO,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAEzC;IAED,iBAAiB,IAAI,IAAI,CAAI;CAC9B"}
|
package/build/resilient.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resilient.js","sourceRoot":"","sources":["../src/resilient.ts"],"names":[],"mappings":"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"}
|