@trebired/result 1.0.1 → 1.1.0
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/CHANGELOG.md +19 -1
- package/README.md +30 -17
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/instrument_result_exports.js +1 -1
- package/dist/instrument_result_exports.js.map +1 -1
- package/dist/logging.js +2 -2
- package/dist/logging.js.map +1 -1
- package/dist/responder.d.ts.map +1 -1
- package/dist/responder.js +3 -3
- package/dist/responder.js.map +1 -1
- package/dist/responder_support.d.ts +2 -1
- package/dist/responder_support.d.ts.map +1 -1
- package/dist/responder_support.js +33 -14
- package/dist/responder_support.js.map +1 -1
- package/dist/result.d.ts +10 -10
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +48 -30
- package/dist/result.js.map +1 -1
- package/dist/shared.d.ts +2 -2
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +6 -8
- package/dist/shared.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/instrument_result_exports.js +1 -1
- package/dist/src/instrument_result_exports.js.map +1 -1
- package/dist/src/logging.js +2 -2
- package/dist/src/logging.js.map +1 -1
- package/dist/src/responder.d.ts.map +1 -1
- package/dist/src/responder.js +3 -3
- package/dist/src/responder.js.map +1 -1
- package/dist/src/responder_support.d.ts +2 -1
- package/dist/src/responder_support.d.ts.map +1 -1
- package/dist/src/responder_support.js +33 -14
- package/dist/src/responder_support.js.map +1 -1
- package/dist/src/result.d.ts +10 -10
- package/dist/src/result.d.ts.map +1 -1
- package/dist/src/result.js +48 -30
- package/dist/src/result.js.map +1 -1
- package/dist/src/shared.d.ts +2 -2
- package/dist/src/shared.d.ts.map +1 -1
- package/dist/src/shared.js +6 -8
- package/dist/src/shared.js.map +1 -1
- package/dist/src/trace/capture.js +3 -3
- package/dist/src/trace/capture.js.map +1 -1
- package/dist/src/trace/runtime.d.ts.map +1 -1
- package/dist/src/trace/runtime.js +3 -3
- package/dist/src/trace/runtime.js.map +1 -1
- package/dist/src/trace/types.d.ts +3 -3
- package/dist/src/trace/types.d.ts.map +1 -1
- package/dist/src/trace/utils.d.ts.map +1 -1
- package/dist/src/trace/utils.js +5 -5
- package/dist/src/trace/utils.js.map +1 -1
- package/dist/src/types.d.ts +22 -7
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/wrap/result/function.js +2 -2
- package/dist/src/wrap/result/function.js.map +1 -1
- package/dist/src/wrap/result/promise.js +2 -2
- package/dist/src/wrap/result/promise.js.map +1 -1
- package/dist/trace/capture.js +3 -3
- package/dist/trace/capture.js.map +1 -1
- package/dist/trace/runtime.d.ts.map +1 -1
- package/dist/trace/runtime.js +3 -3
- package/dist/trace/runtime.js.map +1 -1
- package/dist/trace/types.d.ts +3 -3
- package/dist/trace/types.d.ts.map +1 -1
- package/dist/trace/utils.d.ts.map +1 -1
- package/dist/trace/utils.js +5 -5
- package/dist/trace/utils.js.map +1 -1
- package/dist/types.d.ts +22 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/wrap/result/function.js +2 -2
- package/dist/wrap/result/function.js.map +1 -1
- package/dist/wrap/result/promise.js +2 -2
- package/dist/wrap/result/promise.js.map +1 -1
- package/package.json +31 -32
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.1.0
|
|
4
|
+
|
|
5
|
+
- Replaced the old raw result code field with mandatory `status_code` values across builders, responder payloads, and tracing records.
|
|
6
|
+
- Changed builders so the first argument is always the app/result/i18n status code and the second argument splits reserved `message`, `data`, `details`, and `redirect` fields from metadata.
|
|
7
|
+
- Updated responders to localize by `status_code`, return localized `message: string | null`, and use sane text/render fallbacks when messages are disabled.
|
|
8
|
+
|
|
9
|
+
## 1.0.3
|
|
10
|
+
|
|
11
|
+
- Removed dead test scripts and stale test commands from publish workflows and maintainer docs.
|
|
12
|
+
- Standardized package metadata ordering and contributing guidance around the Trebired writing style.
|
|
13
|
+
|
|
14
|
+
## 1.0.2
|
|
15
|
+
|
|
16
|
+
- Removed package test suites and banned committed `*.spec.ts`/`*.spec.tsx` files through Code Discipline.
|
|
17
|
+
- Added Code Discipline enforcement for hardcoded `trebired` strings outside package metadata.
|
|
18
|
+
- Migrated Code Discipline to `.code-discipline/config.ts` with alias-map sync output.
|
|
19
|
+
- Updated package-generated artifact ignores and internal package dependency ranges.
|
|
20
|
+
|
|
3
21
|
## 1.0.1
|
|
4
22
|
|
|
5
23
|
- Removed the redundant explicit `.tmp` discipline ignore entry and kept generated/temp/report ignores in `.gitignore` through shared `use_gitignore` handling.
|
|
@@ -9,7 +27,7 @@
|
|
|
9
27
|
- Added first-class generic responder support with caller-provided JSON, text, render, and language callbacks.
|
|
10
28
|
- Made result builders key-first, with metadata objects used for interpolation variables and payload metadata.
|
|
11
29
|
- Added explicit local i18n bundle lookup with nested dot keys, Czech/selected-language resolution, English fallback from the provided bundle, and missing-key fallback to the key string.
|
|
12
|
-
- Kept localized payload messages separate from stable normalized result
|
|
30
|
+
- Kept localized payload messages separate from stable normalized result status codes.
|
|
13
31
|
- Migrated the package to Code Discipline 4.7 alias-map mode without package.json imports.
|
|
14
32
|
|
|
15
33
|
## 0.2.1
|
package/README.md
CHANGED
|
@@ -20,10 +20,13 @@ Build keyed results:
|
|
|
20
20
|
import { result } from "@trebired/result";
|
|
21
21
|
|
|
22
22
|
const missingPassword = result.badRequest("missingPassword", {
|
|
23
|
+
message: true,
|
|
23
24
|
min: 8,
|
|
24
25
|
});
|
|
25
26
|
|
|
26
27
|
const writeFailed = result.internal("writeFailed", {
|
|
28
|
+
message: false,
|
|
29
|
+
details: { operation: "write" },
|
|
27
30
|
filePath: "/var/data/output.json",
|
|
28
31
|
});
|
|
29
32
|
```
|
|
@@ -44,7 +47,7 @@ const respond = createResponder({
|
|
|
44
47
|
render: (ctx, model) => ctx.reply.render(model),
|
|
45
48
|
});
|
|
46
49
|
|
|
47
|
-
return respond(ctx, result.badRequest("missingPassword", { min: 8 }), {
|
|
50
|
+
return respond(ctx, result.badRequest("missingPassword", { message: true, min: 8 }), {
|
|
48
51
|
i18n: authI18n,
|
|
49
52
|
render: "auto",
|
|
50
53
|
});
|
|
@@ -57,10 +60,20 @@ The normal builder shape is key-first:
|
|
|
57
60
|
```ts
|
|
58
61
|
result.unauthorized("authRequired");
|
|
59
62
|
result.badRequest("missingPassword");
|
|
60
|
-
result.internal("writeFailed", { filePath });
|
|
63
|
+
result.internal("writeFailed", { message: false, filePath });
|
|
61
64
|
```
|
|
62
65
|
|
|
63
|
-
The second argument is
|
|
66
|
+
The first argument is always the app/result/i18n `status_code`. The second argument is a mixed payload object. Reserved fields are `message`, `data`, `details`, and `redirect`; every other field is copied to `meta`.
|
|
67
|
+
|
|
68
|
+
`message` is a boolean toggle. `true` tells the responder to include a localized user-facing message. `false` suppresses that user-facing message.
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
const loaded = result.ok("user-loaded", {
|
|
72
|
+
message: true,
|
|
73
|
+
data: user,
|
|
74
|
+
count: 3,
|
|
75
|
+
});
|
|
76
|
+
```
|
|
64
77
|
|
|
65
78
|
The shared result envelope is:
|
|
66
79
|
|
|
@@ -70,8 +83,8 @@ type ResultLike = {
|
|
|
70
83
|
error: boolean;
|
|
71
84
|
noop: boolean;
|
|
72
85
|
status: number;
|
|
73
|
-
|
|
74
|
-
message:
|
|
86
|
+
status_code: string;
|
|
87
|
+
message: boolean;
|
|
75
88
|
data: unknown | null;
|
|
76
89
|
details?: unknown;
|
|
77
90
|
redirect?: string;
|
|
@@ -79,19 +92,19 @@ type ResultLike = {
|
|
|
79
92
|
};
|
|
80
93
|
```
|
|
81
94
|
|
|
82
|
-
|
|
95
|
+
Responder payloads preserve `status_code` and shape `message` as a localized string or `null`.
|
|
83
96
|
|
|
84
97
|
Builder helpers:
|
|
85
98
|
|
|
86
|
-
- `result.ok(
|
|
87
|
-
- `result.noop(
|
|
88
|
-
- `result.error(
|
|
89
|
-
- `result.badRequest(
|
|
90
|
-
- `result.unauthorized(
|
|
91
|
-
- `result.forbidden(
|
|
92
|
-
- `result.notFound(
|
|
93
|
-
- `result.conflict(
|
|
94
|
-
- `result.internal(
|
|
99
|
+
- `result.ok(status_code?, payload?)`
|
|
100
|
+
- `result.noop(status_code?, payload?)`
|
|
101
|
+
- `result.error(status_code?, payload?, status?)`
|
|
102
|
+
- `result.badRequest(status_code?, payload?)`
|
|
103
|
+
- `result.unauthorized(status_code?, payload?)`
|
|
104
|
+
- `result.forbidden(status_code?, payload?)`
|
|
105
|
+
- `result.notFound(status_code?, payload?)`
|
|
106
|
+
- `result.conflict(status_code?, payload?)`
|
|
107
|
+
- `result.internal(status_code?, payload?)`
|
|
95
108
|
|
|
96
109
|
## Local I18n
|
|
97
110
|
|
|
@@ -122,7 +135,7 @@ Translation rules:
|
|
|
122
135
|
- language comes from `getLanguage(ctx)`
|
|
123
136
|
- lookup uses the explicit `i18n` object passed to `respond`
|
|
124
137
|
- nested dot keys are supported
|
|
125
|
-
-
|
|
138
|
+
- `meta` values are available for `{name}` and `{{ name }}` interpolation
|
|
126
139
|
- the selected language wins when it has the key
|
|
127
140
|
- missing selected-language keys fall back to `en` in the same local bundle
|
|
128
141
|
- missing keys in all bundles return the key itself
|
|
@@ -271,7 +284,7 @@ Runtime exports:
|
|
|
271
284
|
- `resolveResultPreset`
|
|
272
285
|
- `buildResultRenderModePath`
|
|
273
286
|
- `getResultLevel`
|
|
274
|
-
- `
|
|
287
|
+
- `normalizeResultStatusCode`
|
|
275
288
|
- `toResultStatus`
|
|
276
289
|
- `captureCallSite`
|
|
277
290
|
- `compactStack`
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { instrumentResultExports, } from "./instrument_result_exports.js";
|
|
|
6
6
|
export { installResultModuleHooks, } from "./module_hooks.js";
|
|
7
7
|
export { installResultProcessHooks, } from "./process_hooks.js";
|
|
8
8
|
export { DEFAULT_RESULT_PRESETS, mergeResultPresets, resolveResultPreset, } from "./presets.js";
|
|
9
|
-
export { buildResultRenderModePath, getResultLevel,
|
|
9
|
+
export { buildResultRenderModePath, getResultLevel, normalizeResultStatusCode, toResultStatus, } from "./shared.js";
|
|
10
10
|
export { captureCallSite, compactStack, isFailedResultLike, matchTraceTarget, normalizeThrownValue, normalizeTraceLabel, previewCallArguments, previewValue, summarizeFailedResult, } from "./trace/utils.js";
|
|
11
11
|
export { wrapResultFunction, } from "./wrap/result/function.js";
|
|
12
12
|
export { wrapResultPromise, } from "./wrap/result/promise.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,MAAM,EACN,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,MAAM,EACN,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,yBAAyB,EACzB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,mBAAmB,QAAQ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { instrumentResultExports, } from "./instrument_result_exports.js";
|
|
|
6
6
|
export { installResultModuleHooks, } from "./module_hooks.js";
|
|
7
7
|
export { installResultProcessHooks, } from "./process_hooks.js";
|
|
8
8
|
export { DEFAULT_RESULT_PRESETS, mergeResultPresets, resolveResultPreset, } from "./presets.js";
|
|
9
|
-
export { buildResultRenderModePath, getResultLevel,
|
|
9
|
+
export { buildResultRenderModePath, getResultLevel, normalizeResultStatusCode, toResultStatus, } from "./shared.js";
|
|
10
10
|
export { captureCallSite, compactStack, isFailedResultLike, matchTraceTarget, normalizeThrownValue, normalizeTraceLabel, previewCallArguments, previewValue, summarizeFailedResult, } from "./trace/utils.js";
|
|
11
11
|
export { wrapResultFunction, } from "./wrap/result/function.js";
|
|
12
12
|
export { wrapResultPromise, } from "./wrap/result/promise.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,MAAM,EACN,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,MAAM,EACN,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,yBAAyB,EACzB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,GAClB,MAAM,0BAA0B,CAAC"}
|
|
@@ -6,7 +6,7 @@ function instrumentResultExports(target, options = {}) {
|
|
|
6
6
|
return instrumentResultExportsWithRuntime(runtime, target, options);
|
|
7
7
|
}
|
|
8
8
|
function instrumentResultExportsWithRuntime(runtime, target, options = {}) {
|
|
9
|
-
const label = normalizeTraceLabel(options.label, "
|
|
9
|
+
const label = normalizeTraceLabel(options.label, "package.result.exports");
|
|
10
10
|
const depth = resolveDepth(runtime, options.depth);
|
|
11
11
|
return instrumentValue(runtime, target, label, depth, options);
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument_result_exports.js","sourceRoot":"","sources":["../../src/instrument_result_exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAK1E,SAAS,uBAAuB,CAC9B,MAAS,EACT,UAA0C,EAAE;IAE5C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,kCAAkC,CACzC,OAAoD,EACpD,MAAS,EACT,UAA0C,EAAE;IAE5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"instrument_result_exports.js","sourceRoot":"","sources":["../../src/instrument_result_exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAK1E,SAAS,uBAAuB,CAC9B,MAAS,EACT,UAA0C,EAAE;IAE5C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,kCAAkC,CACzC,OAAoD,EACpD,MAAS,EACT,UAA0C,EAAE;IAE5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAM,CAAC;AACtE,CAAC;AAED,SAAS,eAAe,CACtB,OAAoD,EACpD,KAAc,EACd,KAAa,EACb,KAAa,EACb,OAAuC;IAEvC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACnH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,6BAA6B,CAAC,OAAO,EAAE,KAAgC,EAAE;YAC9E,GAAG,OAAO;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACnF,OAAO,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAoD,EACpD,KAAa,EACb,KAAa,EACb,OAAuC;IAEvC,OAAO;QACL,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxD,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QACD,wBAAwB,CAAC,MAAM,EAAE,QAAQ;YACvC,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,CAAC,MAAM;YACZ,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,OAAoD,EACpD,KAAyB;IAEzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CACrB,MAAgD,EAChD,OAAuC;IAEvC,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,OAAO,EACL,uBAAuB,EACvB,kCAAkC,GACnC,CAAC"}
|
package/dist/logging.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveLogger as resolveSharedLogger, } from "@
|
|
1
|
+
import { resolveLogger as resolveSharedLogger, } from "@package/logger-adapter";
|
|
2
2
|
function resolveLogger(logger, adapter) {
|
|
3
3
|
if (!logger && !adapter) {
|
|
4
4
|
return null;
|
|
@@ -7,7 +7,7 @@ function resolveLogger(logger, adapter) {
|
|
|
7
7
|
adapter,
|
|
8
8
|
fallback: "console",
|
|
9
9
|
logger,
|
|
10
|
-
source: "@
|
|
10
|
+
source: "@package/result",
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
export { resolveLogger, };
|
package/dist/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,mBAAmB,GACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,mBAAmB,GACrC,MAAM,yBAAyB,CAAC;AAQjC,SAAS,aAAa,CACpB,MAAqB,EACrB,OAA6B;IAE7B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,mBAAmB,CAAC;QACzB,OAAO;QACP,QAAQ,EAAE,SAAS;QACnB,MAAM;QACN,MAAM,EAAE,iBAAiB;KAC1B,CAA2B,CAAC;AAC/B,CAAC;AAED,OAAO,EACL,aAAa,GACd,CAAC"}
|
package/dist/responder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responder.d.ts","sourceRoot":"","sources":["../../src/responder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"responder.d.ts","sourceRoot":"","sources":["../../src/responder.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,QAAQ,CAAC;AAEhB,iBAAS,eAAe,CAAC,GAAG,GAAG,OAAO,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EACnE,MAAM,EAAE,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,GACxC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAQ7B;AAED,iBAAS,OAAO,CAAC,GAAG,GAAG,OAAO,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EAC3D,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,EACpC,MAAM,EAAE,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,WAuB1C;AAsBD,OAAO,EACL,eAAe,EACf,OAAO,GACR,CAAC"}
|
package/dist/responder.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveLogger } from "./logging.js";
|
|
2
|
-
import { buildRenderModel, handleRenderFailure, shapeResultPayload, } from "./responder_support.js";
|
|
2
|
+
import { buildRenderModel, handleRenderFailure, resolvePayloadText, shapeResultPayload, } from "./responder_support.js";
|
|
3
3
|
import { isPromiseLike } from "./shared.js";
|
|
4
4
|
function createResponder(config) {
|
|
5
5
|
return function configuredRespond(context, result, options = {}) {
|
|
@@ -11,7 +11,7 @@ function respond(context, result, options, config) {
|
|
|
11
11
|
const payload = shapeResultPayload(result, config, context, options);
|
|
12
12
|
const renderMode = options.render ?? false;
|
|
13
13
|
if (renderMode === "text") {
|
|
14
|
-
return config.sendText(context, payload.status, payload
|
|
14
|
+
return config.sendText(context, payload.status, resolvePayloadText(payload, options));
|
|
15
15
|
}
|
|
16
16
|
if (renderMode === true || renderMode === "auto") {
|
|
17
17
|
const model = buildRenderModel(payload, options);
|
|
@@ -19,7 +19,7 @@ function respond(context, result, options, config) {
|
|
|
19
19
|
return renderWithFallback(config, logger, context, model);
|
|
20
20
|
}
|
|
21
21
|
if (renderMode === true) {
|
|
22
|
-
return config.sendText(context, payload.status, payload
|
|
22
|
+
return config.sendText(context, payload.status, resolvePayloadText(payload, options));
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
return config.sendJson(context, payload);
|
package/dist/responder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responder.js","sourceRoot":"","sources":["../../src/responder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQxC,SAAS,eAAe,CACtB,MAAyC;IAEzC,OAAO,SAAS,iBAAiB,CAC/B,OAAY,EACZ,MAAqC,EACrC,UAAuC,EAAE;QAEzC,OAAO,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,OAAY,EACZ,MAAqC,EACrC,OAAoC,EACpC,MAAyC;IAEzC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAE3C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"responder.js","sourceRoot":"","sources":["../../src/responder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQxC,SAAS,eAAe,CACtB,MAAyC;IAEzC,OAAO,SAAS,iBAAiB,CAC/B,OAAY,EACZ,MAAqC,EACrC,UAAuC,EAAE;QAEzC,OAAO,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,OAAY,EACZ,MAAqC,EACrC,OAAoC,EACpC,MAAyC;IAEzC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAE3C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAyC,EACzC,MAAwC,EACxC,OAAY,EACZ,KAAiD;IAEjD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEjD,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACzH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,OAAO,EACL,eAAe,EACf,OAAO,GACR,CAAC"}
|
|
@@ -7,6 +7,7 @@ declare function translateMessage(key: string, options: {
|
|
|
7
7
|
variables?: ResultMetadata;
|
|
8
8
|
}): string;
|
|
9
9
|
declare function interpolateMessage(template: string, variables: ResultMetadata): string;
|
|
10
|
+
declare function resolvePayloadText<TType extends string = string>(payload: ResultPayload, options?: ResultRespondOptions<TType>): string;
|
|
10
11
|
declare function handleRenderFailure<Ctx = unknown, TType extends string = string>(config: ResultResponderConfig<Ctx, TType>, logger: NormalizedResultLogger | null, context: Ctx, model: ResultRenderModel<TType>, error: unknown): unknown;
|
|
11
|
-
export { buildRenderModel, handleRenderFailure, interpolateMessage, shapeResultPayload, translateMessage, };
|
|
12
|
+
export { buildRenderModel, handleRenderFailure, interpolateMessage, resolvePayloadText, shapeResultPayload, translateMessage, };
|
|
12
13
|
//# sourceMappingURL=responder_support.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responder_support.d.ts","sourceRoot":"","sources":["../../src/responder_support.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"responder_support.d.ts","sourceRoot":"","sources":["../../src/responder_support.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,QAAQ,CAAC;AAEhB,iBAAS,kBAAkB,CAAC,GAAG,GAAG,OAAO,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EACtE,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACzC,MAAM,EAAE,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,EACzC,OAAO,EAAE,GAAG,EACZ,OAAO,GAAE,oBAAoB,CAAC,KAAK,CAAM,GACxC,aAAa,CA6Bf;AAED,iBAAS,gBAAgB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACrD,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,oBAAoB,CAAC,KAAK,CAAM,GACxC,iBAAiB,CAAC,KAAK,CAAC,CAkB1B;AAoBD,iBAAS,gBAAgB,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B,GACA,MAAM,CAGR;AAqDD,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,CAK/E;AA0ED,iBAAS,kBAAkB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACvD,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,oBAAoB,CAAC,KAAK,CAAM,GACxC,MAAM,CAOR;AAED,iBAAS,mBAAmB,CAAC,GAAG,GAAG,OAAO,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EACvE,MAAM,EAAE,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,EACzC,MAAM,EAAE,sBAAsB,GAAG,IAAI,EACrC,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAC/B,KAAK,EAAE,OAAO,WAYf;AAED,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defaultResultTitle, defaultTextFallback, extractResultExtras, formatErrorMessage, getResultLevel, hasOwn, isObject, mergeMetadata, normalizeResultStatusCode, normalizeResultLike, toResultStatus, } from "./shared.js";
|
|
2
2
|
function shapeResultPayload(resultLike, config, context, options = {}) {
|
|
3
3
|
const result = normalizeResultLike(resultLike);
|
|
4
4
|
const level = getResultLevel(result);
|
|
@@ -9,7 +9,7 @@ function shapeResultPayload(resultLike, config, context, options = {}) {
|
|
|
9
9
|
error: level === "error" ? result.error !== false : false,
|
|
10
10
|
noop: level === "noop",
|
|
11
11
|
status,
|
|
12
|
-
|
|
12
|
+
status_code: resolveStatusCode(level, status, result),
|
|
13
13
|
message: resolveLocalizedMessage(result, config, context, options, meta),
|
|
14
14
|
data: hasOwn(result, "data") ? (result.data ?? null) : null,
|
|
15
15
|
};
|
|
@@ -32,25 +32,22 @@ function buildRenderModel(payload, options = {}) {
|
|
|
32
32
|
return {
|
|
33
33
|
level,
|
|
34
34
|
status: payload.status,
|
|
35
|
+
status_code: payload.status_code,
|
|
35
36
|
type,
|
|
36
37
|
title,
|
|
37
38
|
message: payload.message,
|
|
38
39
|
view: resolveView(options),
|
|
39
40
|
details: hasOwn(payload, "details") ? payload.details : options.details,
|
|
40
41
|
meta: mergeMetadata(isObject(payload.meta) ? payload.meta : null, options.meta),
|
|
41
|
-
error_code: payload.error_code,
|
|
42
42
|
redirect: typeof payload.redirect === "string" && payload.redirect.length > 0 ? payload.redirect : null,
|
|
43
43
|
payload,
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
function resolveLocalizedMessage(result, config, context, options, meta) {
|
|
47
|
-
if (
|
|
48
|
-
return
|
|
47
|
+
if (result.message !== true) {
|
|
48
|
+
return null;
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
? result.message
|
|
52
|
-
: defaultResultMessage(getResultLevel(result), result.status);
|
|
53
|
-
return translateMessage(key, {
|
|
50
|
+
return translateMessage(resolveStatusCode(getResultLevel(result), result.status, result), {
|
|
54
51
|
bundle: options.i18n,
|
|
55
52
|
language: config.getLanguage?.(context),
|
|
56
53
|
variables: meta,
|
|
@@ -111,8 +108,8 @@ function lookupVariable(variables, key) {
|
|
|
111
108
|
}
|
|
112
109
|
return current;
|
|
113
110
|
}
|
|
114
|
-
function
|
|
115
|
-
const normalized =
|
|
111
|
+
function resolveStatusCode(level, status, result) {
|
|
112
|
+
const normalized = normalizeResultStatusCode(result.status_code);
|
|
116
113
|
if (normalized) {
|
|
117
114
|
return normalized;
|
|
118
115
|
}
|
|
@@ -120,11 +117,26 @@ function resolveErrorCode(level, status, result) {
|
|
|
120
117
|
return "noop";
|
|
121
118
|
}
|
|
122
119
|
if (level === "ok") {
|
|
123
|
-
return "";
|
|
120
|
+
return "success";
|
|
124
121
|
}
|
|
125
122
|
if (status === 404) {
|
|
126
123
|
return "not-found";
|
|
127
124
|
}
|
|
125
|
+
if (status === 400) {
|
|
126
|
+
return "bad-request";
|
|
127
|
+
}
|
|
128
|
+
if (status === 401) {
|
|
129
|
+
return "unauthorized";
|
|
130
|
+
}
|
|
131
|
+
if (status === 403) {
|
|
132
|
+
return "forbidden";
|
|
133
|
+
}
|
|
134
|
+
if (status === 409) {
|
|
135
|
+
return "conflict";
|
|
136
|
+
}
|
|
137
|
+
if (status >= 500) {
|
|
138
|
+
return "internal-error";
|
|
139
|
+
}
|
|
128
140
|
return "failed";
|
|
129
141
|
}
|
|
130
142
|
function resolveTitle(level, status, options) {
|
|
@@ -136,8 +148,15 @@ function resolveTitle(level, status, options) {
|
|
|
136
148
|
function resolveView(options) {
|
|
137
149
|
return typeof options.view === "string" && options.view.trim() ? options.view : null;
|
|
138
150
|
}
|
|
151
|
+
function resolvePayloadText(payload, options = {}) {
|
|
152
|
+
if (payload.message) {
|
|
153
|
+
return payload.message;
|
|
154
|
+
}
|
|
155
|
+
const model = buildRenderModel(payload, options);
|
|
156
|
+
return defaultTextFallback(model.level, model.status, model.title);
|
|
157
|
+
}
|
|
139
158
|
function handleRenderFailure(config, logger, context, model, error) {
|
|
140
|
-
logger?.error("
|
|
159
|
+
logger?.error("package.result.responder", "render-failed", {
|
|
141
160
|
level: model.level,
|
|
142
161
|
status: model.status,
|
|
143
162
|
type: model.type || null,
|
|
@@ -147,5 +166,5 @@ function handleRenderFailure(config, logger, context, model, error) {
|
|
|
147
166
|
});
|
|
148
167
|
return config.sendText(context, model.status, defaultTextFallback(model.level, model.status, model.title));
|
|
149
168
|
}
|
|
150
|
-
export { buildRenderModel, handleRenderFailure, interpolateMessage, shapeResultPayload, translateMessage, };
|
|
169
|
+
export { buildRenderModel, handleRenderFailure, interpolateMessage, resolvePayloadText, shapeResultPayload, translateMessage, };
|
|
151
170
|
//# sourceMappingURL=responder_support.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responder_support.js","sourceRoot":"","sources":["../../src/responder_support.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"responder_support.js","sourceRoot":"","sources":["../../src/responder_support.ts"],"names":[],"mappings":"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"}
|
package/dist/result.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { ResultLike, ResultMetadata } from "./types.js";
|
|
2
|
-
declare function ok<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
3
|
-
declare function noop<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
4
|
-
declare function error<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
5
|
-
declare function badRequest<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
6
|
-
declare function unauthorized<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
7
|
-
declare function forbidden<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
8
|
-
declare function notFound<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
9
|
-
declare function conflict<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
10
|
-
declare function internal<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(
|
|
1
|
+
import type { ResultBuilderInput, ResultLike, ResultMetadata } from "./types.js";
|
|
2
|
+
declare function ok<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>): ResultLike<TData, TDetails, TMeta>;
|
|
3
|
+
declare function noop<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>): ResultLike<TData, TDetails, TMeta>;
|
|
4
|
+
declare function error<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>, status?: number): ResultLike<TData, TDetails, TMeta>;
|
|
5
|
+
declare function badRequest<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>): ResultLike<TData, TDetails, TMeta>;
|
|
6
|
+
declare function unauthorized<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>): ResultLike<TData, TDetails, TMeta>;
|
|
7
|
+
declare function forbidden<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>): ResultLike<TData, TDetails, TMeta>;
|
|
8
|
+
declare function notFound<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>): ResultLike<TData, TDetails, TMeta>;
|
|
9
|
+
declare function conflict<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>): ResultLike<TData, TDetails, TMeta>;
|
|
10
|
+
declare function internal<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata>(status_code?: string, input?: ResultBuilderInput<TData, TDetails, TMeta>): ResultLike<TData, TDetails, TMeta>;
|
|
11
11
|
declare const result: {
|
|
12
12
|
readonly ok: typeof ok;
|
|
13
13
|
readonly noop: typeof noop;
|
package/dist/result.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/result.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/result.ts"],"names":[],"mappings":"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"}
|
package/dist/result.js
CHANGED
|
@@ -1,54 +1,55 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { hasOwn, isObject, normalizeResultStatusCode, toResultStatus } from "./shared.js";
|
|
2
|
+
const RESERVED_RESULT_OPTION_KEYS = new Set(["message", "data", "details", "redirect"]);
|
|
3
|
+
function ok(status_code = "success", input) {
|
|
3
4
|
return createResult({
|
|
4
5
|
ok: true,
|
|
5
6
|
error: false,
|
|
6
7
|
noop: false,
|
|
7
8
|
status: 200,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
status_code,
|
|
10
|
+
fallbackStatusCode: "success",
|
|
11
|
+
input,
|
|
11
12
|
});
|
|
12
13
|
}
|
|
13
|
-
function noop(
|
|
14
|
+
function noop(status_code = "noop", input) {
|
|
14
15
|
return createResult({
|
|
15
16
|
ok: true,
|
|
16
17
|
error: false,
|
|
17
18
|
noop: true,
|
|
18
19
|
status: 200,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
status_code,
|
|
21
|
+
fallbackStatusCode: "noop",
|
|
22
|
+
input,
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
|
-
function error(
|
|
25
|
+
function error(status_code = "failed", input, status = 400) {
|
|
25
26
|
return createResult({
|
|
26
27
|
ok: false,
|
|
27
28
|
error: true,
|
|
28
29
|
noop: false,
|
|
29
30
|
status: toResultStatus(status, 400),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
status_code,
|
|
32
|
+
fallbackStatusCode: "failed",
|
|
33
|
+
input,
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
|
-
function badRequest(
|
|
36
|
-
return error(
|
|
36
|
+
function badRequest(status_code = "bad-request", input) {
|
|
37
|
+
return error(status_code, input, 400);
|
|
37
38
|
}
|
|
38
|
-
function unauthorized(
|
|
39
|
-
return error(
|
|
39
|
+
function unauthorized(status_code = "unauthorized", input) {
|
|
40
|
+
return error(status_code, input, 401);
|
|
40
41
|
}
|
|
41
|
-
function forbidden(
|
|
42
|
-
return error(
|
|
42
|
+
function forbidden(status_code = "forbidden", input) {
|
|
43
|
+
return error(status_code, input, 403);
|
|
43
44
|
}
|
|
44
|
-
function notFound(
|
|
45
|
-
return error(
|
|
45
|
+
function notFound(status_code = "not-found", input) {
|
|
46
|
+
return error(status_code, input, 404);
|
|
46
47
|
}
|
|
47
|
-
function conflict(
|
|
48
|
-
return error(
|
|
48
|
+
function conflict(status_code = "conflict", input) {
|
|
49
|
+
return error(status_code, input, 409);
|
|
49
50
|
}
|
|
50
|
-
function internal(
|
|
51
|
-
return error(
|
|
51
|
+
function internal(status_code = "internal-error", input) {
|
|
52
|
+
return error(status_code, input, 500);
|
|
52
53
|
}
|
|
53
54
|
const result = {
|
|
54
55
|
ok,
|
|
@@ -61,20 +62,37 @@ const result = {
|
|
|
61
62
|
conflict,
|
|
62
63
|
internal,
|
|
63
64
|
};
|
|
64
|
-
function createResult({ ok, error, noop, status,
|
|
65
|
+
function createResult({ ok, error, noop, status, status_code, fallbackStatusCode, input, }) {
|
|
66
|
+
const options = isObject(input) ? input : {};
|
|
65
67
|
const out = {
|
|
66
68
|
ok,
|
|
67
69
|
error,
|
|
68
70
|
noop,
|
|
69
71
|
status,
|
|
70
|
-
|
|
71
|
-
message,
|
|
72
|
-
data: null,
|
|
72
|
+
status_code: normalizeResultStatusCode(status_code) || fallbackStatusCode,
|
|
73
|
+
message: typeof options.message === "boolean" ? options.message : true,
|
|
74
|
+
data: hasOwn(options, "data") ? (options.data ?? null) : null,
|
|
73
75
|
};
|
|
74
|
-
if (
|
|
76
|
+
if (hasOwn(options, "details") && options.details !== undefined) {
|
|
77
|
+
out.details = options.details;
|
|
78
|
+
}
|
|
79
|
+
if (typeof options.redirect === "string" && options.redirect.length > 0) {
|
|
80
|
+
out.redirect = options.redirect;
|
|
81
|
+
}
|
|
82
|
+
const meta = extractBuilderMeta(options);
|
|
83
|
+
if (Object.keys(meta).length > 0) {
|
|
75
84
|
out.meta = meta;
|
|
76
85
|
}
|
|
77
86
|
return out;
|
|
78
87
|
}
|
|
88
|
+
function extractBuilderMeta(input) {
|
|
89
|
+
const meta = {};
|
|
90
|
+
for (const [key, value] of Object.entries(input)) {
|
|
91
|
+
if (!RESERVED_RESULT_OPTION_KEYS.has(key)) {
|
|
92
|
+
meta[key] = value;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return meta;
|
|
96
|
+
}
|
|
79
97
|
export { badRequest, conflict, error, forbidden, internal, noop, notFound, ok, result, unauthorized, };
|
|
80
98
|
//# sourceMappingURL=result.js.map
|
package/dist/result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/result.ts"],"names":[],"mappings":"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"}
|