@trebired/result 0.1.0 → 0.2.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.
Files changed (117) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +261 -20
  3. package/dist/index.d.ts +7 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +7 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/instrument_result_exports.d.ts +6 -0
  8. package/dist/instrument_result_exports.d.ts.map +1 -0
  9. package/dist/instrument_result_exports.js +62 -0
  10. package/dist/instrument_result_exports.js.map +1 -0
  11. package/dist/logging.d.ts +4 -0
  12. package/dist/logging.d.ts.map +1 -0
  13. package/dist/logging.js +14 -0
  14. package/dist/logging.js.map +1 -0
  15. package/dist/module_hooks.d.ts +6 -0
  16. package/dist/module_hooks.d.ts.map +1 -0
  17. package/dist/module_hooks.js +90 -0
  18. package/dist/module_hooks.js.map +1 -0
  19. package/dist/process_hooks.d.ts +6 -0
  20. package/dist/process_hooks.d.ts.map +1 -0
  21. package/dist/process_hooks.js +69 -0
  22. package/dist/process_hooks.js.map +1 -0
  23. package/dist/responder.d.ts.map +1 -1
  24. package/dist/responder.js +6 -4
  25. package/dist/responder.js.map +1 -1
  26. package/dist/responder_support.d.ts +2 -2
  27. package/dist/responder_support.d.ts.map +1 -1
  28. package/dist/responder_support.js +2 -2
  29. package/dist/responder_support.js.map +1 -1
  30. package/dist/src/index.d.ts +7 -0
  31. package/dist/src/index.d.ts.map +1 -1
  32. package/dist/src/index.js +7 -0
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/instrument_result_exports.d.ts +6 -0
  35. package/dist/src/instrument_result_exports.d.ts.map +1 -0
  36. package/dist/src/instrument_result_exports.js +62 -0
  37. package/dist/src/instrument_result_exports.js.map +1 -0
  38. package/dist/src/logging.d.ts +4 -0
  39. package/dist/src/logging.d.ts.map +1 -0
  40. package/dist/src/logging.js +14 -0
  41. package/dist/src/logging.js.map +1 -0
  42. package/dist/src/module_hooks.d.ts +6 -0
  43. package/dist/src/module_hooks.d.ts.map +1 -0
  44. package/dist/src/module_hooks.js +90 -0
  45. package/dist/src/module_hooks.js.map +1 -0
  46. package/dist/src/process_hooks.d.ts +6 -0
  47. package/dist/src/process_hooks.d.ts.map +1 -0
  48. package/dist/src/process_hooks.js +69 -0
  49. package/dist/src/process_hooks.js.map +1 -0
  50. package/dist/src/responder.d.ts.map +1 -1
  51. package/dist/src/responder.js +6 -4
  52. package/dist/src/responder.js.map +1 -1
  53. package/dist/src/responder_support.d.ts +2 -2
  54. package/dist/src/responder_support.d.ts.map +1 -1
  55. package/dist/src/responder_support.js +2 -2
  56. package/dist/src/responder_support.js.map +1 -1
  57. package/dist/src/trace/capture.d.ts +8 -0
  58. package/dist/src/trace/capture.d.ts.map +1 -0
  59. package/dist/src/trace/capture.js +47 -0
  60. package/dist/src/trace/capture.js.map +1 -0
  61. package/dist/src/trace/runtime.d.ts +51 -0
  62. package/dist/src/trace/runtime.d.ts.map +1 -0
  63. package/dist/src/trace/runtime.js +151 -0
  64. package/dist/src/trace/runtime.js.map +1 -0
  65. package/dist/src/trace/types.d.ts +121 -0
  66. package/dist/src/trace/types.d.ts.map +1 -0
  67. package/dist/src/trace/types.js +2 -0
  68. package/dist/src/trace/types.js.map +1 -0
  69. package/dist/src/trace/utils.d.ts +14 -0
  70. package/dist/src/trace/utils.d.ts.map +1 -0
  71. package/dist/src/trace/utils.js +150 -0
  72. package/dist/src/trace/utils.js.map +1 -0
  73. package/dist/src/tracer.d.ts +5 -0
  74. package/dist/src/tracer.d.ts.map +1 -0
  75. package/dist/src/tracer.js +76 -0
  76. package/dist/src/tracer.js.map +1 -0
  77. package/dist/src/types.d.ts +10 -4
  78. package/dist/src/types.d.ts.map +1 -1
  79. package/dist/src/wrap/result/function.d.ts +6 -0
  80. package/dist/src/wrap/result/function.d.ts.map +1 -0
  81. package/dist/src/wrap/result/function.js +61 -0
  82. package/dist/src/wrap/result/function.js.map +1 -0
  83. package/dist/src/wrap/result/promise.d.ts +6 -0
  84. package/dist/src/wrap/result/promise.d.ts.map +1 -0
  85. package/dist/src/wrap/result/promise.js +45 -0
  86. package/dist/src/wrap/result/promise.js.map +1 -0
  87. package/dist/trace/capture.d.ts +8 -0
  88. package/dist/trace/capture.d.ts.map +1 -0
  89. package/dist/trace/capture.js +47 -0
  90. package/dist/trace/capture.js.map +1 -0
  91. package/dist/trace/runtime.d.ts +51 -0
  92. package/dist/trace/runtime.d.ts.map +1 -0
  93. package/dist/trace/runtime.js +151 -0
  94. package/dist/trace/runtime.js.map +1 -0
  95. package/dist/trace/types.d.ts +121 -0
  96. package/dist/trace/types.d.ts.map +1 -0
  97. package/dist/trace/types.js +2 -0
  98. package/dist/trace/types.js.map +1 -0
  99. package/dist/trace/utils.d.ts +14 -0
  100. package/dist/trace/utils.d.ts.map +1 -0
  101. package/dist/trace/utils.js +150 -0
  102. package/dist/trace/utils.js.map +1 -0
  103. package/dist/tracer.d.ts +5 -0
  104. package/dist/tracer.d.ts.map +1 -0
  105. package/dist/tracer.js +76 -0
  106. package/dist/tracer.js.map +1 -0
  107. package/dist/types.d.ts +10 -4
  108. package/dist/types.d.ts.map +1 -1
  109. package/dist/wrap/result/function.d.ts +6 -0
  110. package/dist/wrap/result/function.d.ts.map +1 -0
  111. package/dist/wrap/result/function.js +61 -0
  112. package/dist/wrap/result/function.js.map +1 -0
  113. package/dist/wrap/result/promise.d.ts +6 -0
  114. package/dist/wrap/result/promise.d.ts.map +1 -0
  115. package/dist/wrap/result/promise.js +45 -0
  116. package/dist/wrap/result/promise.js.map +1 -0
  117. package/package.json +19 -3
@@ -0,0 +1,150 @@
1
+ import { getResultLevel, isObject, normalizeResultErrorCode, toResultStatus, } from "../../shared.js";
2
+ const STACK_LINE_PREFIX = /^\s*at\s+/u;
3
+ function normalizeTraceLabel(input, fallback = "result.trace") {
4
+ const label = typeof input === "string" ? input.trim() : "";
5
+ return label || fallback;
6
+ }
7
+ function isFailedResultLike(value) {
8
+ return isObject(value) && value.ok === false && getResultLevel(value) === "error";
9
+ }
10
+ function captureCallSite(input, maxLines = 8) {
11
+ const stack = compactStack(input, maxLines);
12
+ return {
13
+ stack,
14
+ site: stack[0] || null,
15
+ };
16
+ }
17
+ function compactStack(input, maxLines = 8) {
18
+ const stackSource = readStackSource(input);
19
+ return stackSource
20
+ .split("\n")
21
+ .map((line) => line.trim())
22
+ .filter(Boolean)
23
+ .filter((line) => STACK_LINE_PREFIX.test(line))
24
+ .map((line) => line.replace(STACK_LINE_PREFIX, ""))
25
+ .filter((line) => !line.includes("/trace/"))
26
+ .slice(0, Math.max(0, maxLines));
27
+ }
28
+ function normalizeThrownValue(value, preview, stackDepth) {
29
+ if (isFailedResultLike(value)) {
30
+ return summarizeFailedResult(value, preview, stackDepth);
31
+ }
32
+ const captured = captureCallSite(value, stackDepth);
33
+ const source = isObject(value) ? value : null;
34
+ return {
35
+ errorCode: normalizeResultErrorCode(source?.error_code || source?.code) || "thrown-error",
36
+ status: Number.isFinite(Number(source?.status)) ? toResultStatus(source?.status, 500) : null,
37
+ message: readThrownMessage(value),
38
+ compactStack: captured.stack,
39
+ failureSite: captured.site,
40
+ metadataSummary: null,
41
+ dataSummary: null,
42
+ detailsSummary: source?.details != null ? previewValue(source.details, preview) : null,
43
+ };
44
+ }
45
+ function summarizeFailedResult(result, preview, stackDepth) {
46
+ const captured = captureCallSite(result.stack, stackDepth);
47
+ return {
48
+ errorCode: normalizeResultErrorCode(result.error_code) || "failed",
49
+ status: Number.isFinite(Number(result.status)) ? toResultStatus(result.status, 500) : null,
50
+ message: typeof result.message === "string" && result.message.trim() ? result.message : "Result failed.",
51
+ compactStack: captured.stack,
52
+ failureSite: captured.site,
53
+ metadataSummary: isObject(result.meta) ? previewValue(result.meta, preview) : null,
54
+ dataSummary: result.data != null ? previewValue(result.data, preview) : null,
55
+ detailsSummary: result.details != null ? previewValue(result.details, preview) : null,
56
+ };
57
+ }
58
+ function previewCallArguments(args, preview) {
59
+ const maxItems = preview.maxItems || 5;
60
+ return args.slice(0, maxItems).map((value) => previewValue(value, preview));
61
+ }
62
+ function previewValue(value, preview) {
63
+ const state = {
64
+ depth: preview.maxDepth || 2,
65
+ items: preview.maxItems || 5,
66
+ length: preview.maxStringLength || 120,
67
+ seen: new WeakSet(),
68
+ };
69
+ return renderPreviewValue(value, state, 0);
70
+ }
71
+ function matchTraceTarget(target, include, exclude) {
72
+ if (exclude && matchesFilter(exclude, target)) {
73
+ return false;
74
+ }
75
+ return include ? matchesFilter(include, target) : true;
76
+ }
77
+ function isPlainObject(value) {
78
+ if (!isObject(value)) {
79
+ return false;
80
+ }
81
+ const prototype = Object.getPrototypeOf(value);
82
+ return prototype === Object.prototype || prototype === null;
83
+ }
84
+ function renderPreviewValue(value, state, level) {
85
+ if (value == null)
86
+ return String(value);
87
+ if (typeof value === "string")
88
+ return JSON.stringify(truncateString(value, state.length));
89
+ if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint")
90
+ return String(value);
91
+ if (typeof value === "function")
92
+ return `[Function ${value.name || "anonymous"}]`;
93
+ if (typeof value === "symbol")
94
+ return value.toString();
95
+ if (level >= state.depth)
96
+ return Array.isArray(value) ? "[Array]" : "[Object]";
97
+ if (typeof value !== "object")
98
+ return String(value);
99
+ if (state.seen.has(value))
100
+ return "[Circular]";
101
+ state.seen.add(value);
102
+ return Array.isArray(value)
103
+ ? renderArrayPreview(value, state, level)
104
+ : renderObjectPreview(value, state, level);
105
+ }
106
+ function renderArrayPreview(value, state, level) {
107
+ const items = value.slice(0, state.items).map((entry) => renderPreviewValue(entry, state, level + 1));
108
+ return `[${items.join(", ")}${value.length > state.items ? ", ..." : ""}]`;
109
+ }
110
+ function renderObjectPreview(value, state, level) {
111
+ const entries = Object.entries(value)
112
+ .slice(0, state.items)
113
+ .map(([key, entry]) => `${key}: ${renderPreviewValue(entry, state, level + 1)}`);
114
+ return `{ ${entries.join(", ")}${Object.keys(value).length > state.items ? ", ..." : ""} }`;
115
+ }
116
+ function truncateString(value, length) {
117
+ return value.length > length ? `${value.slice(0, Math.max(0, length - 3))}...` : value;
118
+ }
119
+ function matchesFilter(filter, target) {
120
+ if (Array.isArray(filter)) {
121
+ return filter.some((entry) => matchesFilter(entry, target));
122
+ }
123
+ if (typeof filter === "string") {
124
+ return target.includes(filter);
125
+ }
126
+ return filter instanceof RegExp ? filter.test(target) : filter(target);
127
+ }
128
+ function readStackSource(input) {
129
+ if (typeof input === "string") {
130
+ return input;
131
+ }
132
+ if (isObject(input) && typeof input.stack === "string") {
133
+ return input.stack;
134
+ }
135
+ return new Error().stack || "";
136
+ }
137
+ function readThrownMessage(value) {
138
+ if (value instanceof Error && value.message) {
139
+ return value.message;
140
+ }
141
+ if (typeof value === "string" && value.trim()) {
142
+ return value;
143
+ }
144
+ if (isObject(value) && typeof value.message === "string" && value.message.trim()) {
145
+ return value.message;
146
+ }
147
+ return "Unknown failure.";
148
+ }
149
+ export { captureCallSite, compactStack, isFailedResultLike, isPlainObject, matchTraceTarget, normalizeThrownValue, normalizeTraceLabel, previewCallArguments, previewValue, summarizeFailedResult, };
150
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/trace/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { BootResultTracingOptions, ResultTraceConfig, ResultTracer, ResultTracingBoot } from "./trace/types.js";
2
+ declare function createResultTracer(config?: ResultTraceConfig): ResultTracer;
3
+ declare function bootResultTracing(config?: BootResultTracingOptions): ResultTracingBoot;
4
+ export { createResultTracer, bootResultTracing, };
5
+ //# sourceMappingURL=tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/tracer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,wBAAwB,EAExB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAE1B,iBAAS,kBAAkB,CAAC,MAAM,GAAE,iBAAsB,GAAG,YAAY,CA0CxE;AAED,iBAAS,iBAAiB,CAAC,MAAM,GAAE,wBAA6B,GAAG,iBAAiB,CAQnF;AAgCD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { traceErrorWithRuntime, traceFailureWithRuntime, traceResultWithRuntime, } from "./trace/capture.js";
2
+ import { instrumentResultExportsWithRuntime } from "./instrument_result_exports.js";
3
+ import { installResultModuleHooksWithRuntime } from "./module_hooks.js";
4
+ import { installResultProcessHooksWithRuntime } from "./process_hooks.js";
5
+ import { createResultTraceRuntime, RESULT_TRACER_RUNTIME_SYMBOL } from "./trace/runtime.js";
6
+ import { wrapResultFunctionWithRuntime } from "./wrap/result/function.js";
7
+ import { wrapResultPromiseWithRuntime } from "./wrap/result/promise.js";
8
+ function createResultTracer(config = {}) {
9
+ const runtime = createResultTraceRuntime(config);
10
+ const tracer = {
11
+ config: runtime.config,
12
+ traceFailure(failure, options) {
13
+ return traceFailureWithRuntime(runtime, failure, options);
14
+ },
15
+ traceResult(result, options) {
16
+ return traceResultWithRuntime(runtime, result, options);
17
+ },
18
+ traceError(error, options) {
19
+ return traceErrorWithRuntime(runtime, error, options);
20
+ },
21
+ wrapFunction(fn, options) {
22
+ return wrapResultFunctionWithRuntime(runtime, fn, options);
23
+ },
24
+ wrapPromise(promise, options) {
25
+ return wrapResultPromiseWithRuntime(runtime, promise, options);
26
+ },
27
+ instrumentExports(target, options) {
28
+ return instrumentResultExportsWithRuntime(runtime, target, options);
29
+ },
30
+ installProcessHooks(options) {
31
+ return installResultProcessHooksWithRuntime(runtime, options);
32
+ },
33
+ installModuleHooks(options) {
34
+ return installResultModuleHooksWithRuntime(runtime, options);
35
+ },
36
+ getTraceStack() {
37
+ return runtime.getTraceStack();
38
+ },
39
+ resetForTests() {
40
+ runtime.resetForTests();
41
+ },
42
+ };
43
+ Object.defineProperty(tracer, RESULT_TRACER_RUNTIME_SYMBOL, {
44
+ value: runtime,
45
+ enumerable: false,
46
+ });
47
+ return tracer;
48
+ }
49
+ function bootResultTracing(config = {}) {
50
+ const tracer = createResultTracer(config);
51
+ return {
52
+ tracer,
53
+ processHooks: resolveBootProcessHooks(tracer, config),
54
+ moduleHooks: resolveBootModuleHooks(tracer, config),
55
+ };
56
+ }
57
+ function resolveBootProcessHooks(tracer, config) {
58
+ if (config.processHooks === false) {
59
+ return null;
60
+ }
61
+ if (!config.processHooks) {
62
+ return null;
63
+ }
64
+ return tracer.installProcessHooks(config.processHooks === true ? {} : config.processHooks);
65
+ }
66
+ function resolveBootModuleHooks(tracer, config) {
67
+ if (config.moduleHooks === false) {
68
+ return null;
69
+ }
70
+ if (!config.moduleHooks) {
71
+ return null;
72
+ }
73
+ return tracer.installModuleHooks(config.moduleHooks === true ? {} : config.moduleHooks);
74
+ }
75
+ export { createResultTracer, bootResultTracing, };
76
+ //# sourceMappingURL=tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/tracer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
+ import type { LoggerAdapterEvent, LoggerAdapterGenericLogMethod, LoggerAdapterLogger, LoggerAdapterLogMethod, LoggerAdapterWriter, NormalizedLoggerAdapter } from "@trebired/logger-adapter";
1
2
  export type MaybePromise<T> = T | Promise<T>;
2
3
  export type ResultLevel = "ok" | "noop" | "error";
3
4
  export type ResultMetadata = Record<string, unknown>;
5
+ export type ResultLogMethod = LoggerAdapterLogMethod;
6
+ export type ResultGenericLogMethod = LoggerAdapterGenericLogMethod;
7
+ export type ResultLogger = LoggerAdapterLogger;
8
+ export type ResultLoggerAdapter = LoggerAdapterWriter;
9
+ export type NormalizedResultLogger = NormalizedLoggerAdapter;
10
+ export type ResultLogEvent = LoggerAdapterEvent;
4
11
  export type ResultLike<TData = unknown, TDetails = unknown, TMeta extends ResultMetadata = ResultMetadata> = {
5
12
  ok: boolean;
6
13
  error: boolean;
@@ -39,9 +46,6 @@ export interface ResolveResultPresetInput<TType extends string = string> {
39
46
  status?: number | null;
40
47
  type?: TType | null;
41
48
  }
42
- export interface ResultResponderLogger {
43
- error?(scope: string, message: string, meta?: ResultMetadata): void;
44
- }
45
49
  export interface ResultRespondInput<Req = unknown, Res = unknown, TType extends string = string> {
46
50
  req?: Req;
47
51
  res: Res;
@@ -92,7 +96,8 @@ export interface ResultTextContext<Req = unknown, Res = unknown, TType extends s
92
96
  }
93
97
  export interface ResultResponderConfig<Req = unknown, Res = unknown, TType extends string = string> {
94
98
  presets?: ResultPresetMap<TType>;
95
- logger?: ResultResponderLogger;
99
+ logger?: ResultLogger;
100
+ loggerAdapter?: ResultLoggerAdapter;
96
101
  json(context: ResultJsonContext<Req, Res, TType>): MaybePromise<unknown>;
97
102
  render?(context: ResultRenderContext<Req, Res, TType>): MaybePromise<unknown>;
98
103
  text(context: ResultTextContext<Req, Res, TType>): MaybePromise<unknown>;
@@ -102,4 +107,5 @@ export interface ResultResponder<Req = unknown, Res = unknown, TType extends str
102
107
  respond(input: ResultRespondInput<Req, Res, TType>): MaybePromise<unknown>;
103
108
  resolvePreset(input: Omit<ResolveResultPresetInput<TType>, "presets">): ResultPreset;
104
109
  }
110
+ export type * from "./trace/types.js";
105
111
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD,MAAM,MAAM,UAAU,CACpB,KAAK,GAAG,OAAO,EACf,QAAQ,GAAG,OAAO,EAClB,KAAK,SAAS,cAAc,GAAG,cAAc,IAC3C;IACF,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,WAAW,UAAU,CACzB,KAAK,GAAG,OAAO,EACf,QAAQ,GAAG,OAAO,EAClB,KAAK,SAAS,cAAc,GAAG,cAAc;IAE7C,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC9D,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;CAC9D;AAED,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IACvD,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,WAAW,wBAAwB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACxC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACrE;AAED,MAAM,WAAW,kBAAkB,CACjC,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,OAAO,EACb,KAAK,SAAS,MAAM,GAAG,MAAM;IAE7B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B,CACzC,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,OAAO,EACb,KAAK,SAAS,MAAM,GAAG,MAAM;IAE7B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB,CACtC,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,OAAO,EACb,KAAK,SAAS,MAAM,GAAG,MAAM,CAC7B,SAAQ,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;CAAG;AAExD,MAAM,WAAW,iBAAiB,CAChC,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,OAAO,EACb,KAAK,SAAS,MAAM,GAAG,MAAM,CAC7B,SAAQ,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;IACnD,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC9D,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB,CAClC,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,OAAO,EACb,KAAK,SAAS,MAAM,GAAG,MAAM,CAC7B,SAAQ,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;IACnD,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB,CAChC,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,OAAO,EACb,KAAK,SAAS,MAAM,GAAG,MAAM,CAC7B,SAAQ,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,GAAG,aAAa,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB,CACpC,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,OAAO,EACb,KAAK,SAAS,MAAM,GAAG,MAAM;IAE7B,OAAO,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACzE,MAAM,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9E,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACzE,iBAAiB,CAAC,CAAC,OAAO,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAClG;AAED,MAAM,WAAW,eAAe,CAC9B,GAAG,GAAG,OAAO,EACb,GAAG,GAAG,OAAO,EACb,KAAK,SAAS,MAAM,GAAG,MAAM;IAE7B,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAC3E,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC;CACtF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { createResultTraceRuntime } from "../../../trace/runtime.js";
2
+ import type { WrapResultFunctionOptions } from "../../../trace/types.js";
3
+ declare function wrapResultFunction<Fn extends (...args: any[]) => any>(fn: Fn, options?: WrapResultFunctionOptions): Fn;
4
+ declare function wrapResultFunctionWithRuntime<Fn extends (...args: any[]) => any>(runtime: ReturnType<typeof createResultTraceRuntime>, fn: Fn, options?: WrapResultFunctionOptions): Fn;
5
+ export { wrapResultFunction, wrapResultFunctionWithRuntime, };
6
+ //# sourceMappingURL=function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../../src/wrap/result/function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAqD,MAAM,eAAe,CAAC;AAG5G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAK/D,iBAAS,kBAAkB,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC5D,EAAE,EAAE,EAAE,EACN,OAAO,GAAE,yBAA8B,GACtC,EAAE,CAGJ;AAED,iBAAS,6BAA6B,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACvE,OAAO,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,EACpD,EAAE,EAAE,EAAE,EACN,OAAO,GAAE,yBAA8B,GACtC,EAAE,CAmBJ;AAsDD,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { traceErrorWithRuntime, traceResultWithRuntime } from "../../../trace/capture.js";
2
+ import { createResultTraceRuntime, getCachedEntry, readTracerRuntime, setCachedEntry } from "../../../trace/runtime.js";
3
+ import { normalizeTraceLabel } from "../../../trace/utils.js";
4
+ import { isPromiseLike } from "../../../shared.js";
5
+ import { wrapResultPromiseWithRuntime } from "./promise.js";
6
+ const ORIGINAL_FUNCTION_SYMBOL = Symbol.for("@trebired/result/original-function");
7
+ function wrapResultFunction(fn, options = {}) {
8
+ const runtime = readTracerRuntime(options.tracer) || createResultTraceRuntime(options);
9
+ return wrapResultFunctionWithRuntime(runtime, fn, options);
10
+ }
11
+ function wrapResultFunctionWithRuntime(runtime, fn, options = {}) {
12
+ const original = unwrapFunction(fn);
13
+ const label = normalizeTraceLabel(options.label || original.name, "result.function");
14
+ const cached = getCachedEntry(runtime.functionCache, original, label);
15
+ if (cached) {
16
+ return cached;
17
+ }
18
+ const wrapped = createArityWrapper(original.length, function wrappedInvoker(args) {
19
+ return invokeWrappedFunction(runtime, original, this, args, options, label);
20
+ });
21
+ Object.defineProperty(wrapped, ORIGINAL_FUNCTION_SYMBOL, {
22
+ value: original,
23
+ enumerable: false,
24
+ });
25
+ return setCachedEntry(runtime.functionCache, original, label, wrapped);
26
+ }
27
+ function invokeWrappedFunction(runtime, fn, thisArg, args, options, label) {
28
+ return runtime.withTraceLabel(label, () => {
29
+ try {
30
+ const output = Reflect.apply(fn, thisArg, args);
31
+ return isPromiseLike(output)
32
+ ? wrapResultPromiseWithRuntime(runtime, Promise.resolve(output), { ...options, args, label, source: options.source || label })
33
+ : completeSyncTrace(runtime, output, options, args, label);
34
+ }
35
+ catch (error) {
36
+ traceErrorWithRuntime(runtime, error, { ...options, args, label });
37
+ throw error;
38
+ }
39
+ });
40
+ }
41
+ function completeSyncTrace(runtime, output, options, args, label) {
42
+ traceResultWithRuntime(runtime, output, { ...options, args, label });
43
+ return output;
44
+ }
45
+ function createArityWrapper(length, invoke) {
46
+ switch (Math.max(0, Math.min(length, 6))) {
47
+ case 0: return function resultWrapper0() { return invoke.call(this, []); };
48
+ case 1: return function resultWrapper1(a) { return invoke.call(this, [a]); };
49
+ case 2: return function resultWrapper2(a, b) { return invoke.call(this, [a, b]); };
50
+ case 3: return function resultWrapper3(a, b, c) { return invoke.call(this, [a, b, c]); };
51
+ case 4: return function resultWrapper4(a, b, c, d) { return invoke.call(this, [a, b, c, d]); };
52
+ case 5: return function resultWrapper5(a, b, c, d, e) { return invoke.call(this, [a, b, c, d, e]); };
53
+ default: return function resultWrapper6(a, b, c, d, e, f) { return invoke.call(this, [a, b, c, d, e, f]); };
54
+ }
55
+ }
56
+ function unwrapFunction(fn) {
57
+ const original = fn[ORIGINAL_FUNCTION_SYMBOL];
58
+ return (typeof original === "function" ? original : fn);
59
+ }
60
+ export { wrapResultFunction, wrapResultFunctionWithRuntime, };
61
+ //# sourceMappingURL=function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../src/wrap/result/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAElF,SAAS,kBAAkB,CACzB,EAAM,EACN,UAAqC,EAAE;IAEvC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACvF,OAAO,6BAA6B,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,6BAA6B,CACpC,OAAoD,EACpD,EAAM,EACN,UAAqC,EAAE;IAEvC,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEtE,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAY,CAAC;IACtB,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,CAAgB,IAAe;QACxG,OAAO,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE;QACvD,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAO,CAAC;AAC/E,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAoD,EACpD,EAA2B,EAC3B,OAAgB,EAChB,IAAe,EACf,OAAkC,EAClC,KAAa;IAEb,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,aAAa,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC9H,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAoD,EACpD,MAAe,EACf,OAAkC,EAClC,IAAe,EACf,KAAa;IAEb,sBAAsB,CAAC,OAAO,EAAE,MAAa,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,MAAmD;IAEnD,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,cAAc,KAAkB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,cAAc,CAAgB,CAAU,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,cAAc,CAAgB,CAAU,EAAE,CAAU,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpH,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,cAAc,CAAgB,CAAU,EAAE,CAAU,EAAE,CAAU,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnI,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,cAAc,CAAgB,CAAU,EAAE,CAAU,EAAE,CAAU,EAAE,CAAU,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClJ,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,cAAc,CAAgB,CAAU,EAAE,CAAU,EAAE,CAAU,EAAE,CAAU,EAAE,CAAU,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjK,OAAO,CAAC,CAAC,OAAO,SAAS,cAAc,CAAgB,CAAU,EAAE,CAAU,EAAE,CAAU,EAAE,CAAU,EAAE,CAAU,EAAE,CAAU,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnL,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAqC,EAAM;IAChE,MAAM,QAAQ,GAAI,EAA8C,CAAC,wBAAwB,CAAC,CAAC;IAC3F,OAAO,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAO,CAAC;AAChE,CAAC;AAED,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { createResultTraceRuntime } from "../../../trace/runtime.js";
2
+ import type { WrapResultPromiseOptions } from "../../../trace/types.js";
3
+ declare function wrapResultPromise<T>(promise: Promise<T>, options?: WrapResultPromiseOptions): Promise<T>;
4
+ declare function wrapResultPromiseWithRuntime<T>(runtime: ReturnType<typeof createResultTraceRuntime>, promise: Promise<T>, options?: WrapResultPromiseOptions): Promise<T>;
5
+ export { wrapResultPromise, wrapResultPromiseWithRuntime, };
6
+ //# sourceMappingURL=promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/wrap/result/promise.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAqD,MAAM,eAAe,CAAC;AAE5G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAI9D,iBAAS,iBAAiB,CAAC,CAAC,EAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,CAAC,CAAC,CAGZ;AAED,iBAAS,4BAA4B,CAAC,CAAC,EACrC,OAAO,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,EACpD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,CAAC,CAAC,CAqCZ;AAOD,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAC7B,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { traceErrorWithRuntime, traceResultWithRuntime } from "../../../trace/capture.js";
2
+ import { createResultTraceRuntime, getCachedEntry, readTracerRuntime, setCachedEntry } from "../../../trace/runtime.js";
3
+ import { captureCallSite, normalizeTraceLabel } from "../../../trace/utils.js";
4
+ const ORIGINAL_PROMISE_SYMBOL = Symbol.for("@trebired/result/original-promise");
5
+ function wrapResultPromise(promise, options = {}) {
6
+ const runtime = readTracerRuntime(options.tracer) || createResultTraceRuntime(options);
7
+ return wrapResultPromiseWithRuntime(runtime, promise, options);
8
+ }
9
+ function wrapResultPromiseWithRuntime(runtime, promise, options = {}) {
10
+ const original = unwrapPromise(promise);
11
+ const label = normalizeTraceLabel(options.label, "result.promise");
12
+ const source = options.source || captureCallSite(undefined, runtime.config.stackDepth).site;
13
+ const cached = getCachedEntry(runtime.promiseCache, original, label);
14
+ if (cached) {
15
+ return cached;
16
+ }
17
+ const traceStack = runtime.getTraceStack();
18
+ const wrapped = Promise.resolve(original).then((value) => runtime.runWithTraceStack(traceStack, () => {
19
+ traceResultWithRuntime(runtime, value, {
20
+ ...options,
21
+ label,
22
+ source,
23
+ });
24
+ return value;
25
+ }), (error) => runtime.runWithTraceStack(traceStack, () => {
26
+ traceErrorWithRuntime(runtime, error, {
27
+ ...options,
28
+ kind: "reject",
29
+ label,
30
+ source,
31
+ });
32
+ throw error;
33
+ }));
34
+ Object.defineProperty(wrapped, ORIGINAL_PROMISE_SYMBOL, {
35
+ value: original,
36
+ enumerable: false,
37
+ });
38
+ return setCachedEntry(runtime.promiseCache, original, label, wrapped);
39
+ }
40
+ function unwrapPromise(promise) {
41
+ const original = promise[ORIGINAL_PROMISE_SYMBOL];
42
+ return (original instanceof Promise ? original : promise);
43
+ }
44
+ export { wrapResultPromise, wrapResultPromiseWithRuntime, };
45
+ //# sourceMappingURL=promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../../src/wrap/result/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGrE,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AAEhF,SAAS,iBAAiB,CACxB,OAAmB,EACnB,UAAoC,EAAE;IAEtC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACvF,OAAO,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAoD,EACpD,OAAmB,EACnB,UAAoC,EAAE;IAEtC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAC5F,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAErE,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAoB,CAAC;IAC9B,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE;QACpD,sBAAsB,CAAC,OAAO,EAAE,KAAY,EAAE;YAC5C,GAAG,OAAO;YACV,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,EACF,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE;QACpD,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE;YACpC,GAAG,OAAO;YACV,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE;QACtD,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAe,CAAC;AACtF,CAAC;AAED,SAAS,aAAa,CAAI,OAAmB;IAC3C,MAAM,QAAQ,GAAI,OAAmD,CAAC,uBAAuB,CAAC,CAAC;IAC/F,OAAO,CAAC,QAAQ,YAAY,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAe,CAAC;AAC1E,CAAC;AAED,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAC7B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { createResultTraceRuntime } from "./runtime.js";
2
+ import type { ResultTraceContextInput, ResultTraceRecord } from "./types.js";
3
+ import type { ResultLike } from "../types.js";
4
+ declare function traceResultWithRuntime(runtime: ReturnType<typeof createResultTraceRuntime>, result: ResultLike | null | undefined, options?: ResultTraceContextInput): ResultTraceRecord | null;
5
+ declare function traceErrorWithRuntime(runtime: ReturnType<typeof createResultTraceRuntime>, error: unknown, options?: ResultTraceContextInput): ResultTraceRecord | null;
6
+ declare function traceFailureWithRuntime(runtime: ReturnType<typeof createResultTraceRuntime>, failure: unknown, options?: ResultTraceContextInput): ResultTraceRecord | null;
7
+ export { traceErrorWithRuntime, traceFailureWithRuntime, traceResultWithRuntime, };
8
+ //# sourceMappingURL=capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/trace/capture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAmB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,iBAAS,sBAAsB,CAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,EACpD,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,OAAO,GAAE,uBAA4B,GACpC,iBAAiB,GAAG,IAAI,CAW1B;AAED,iBAAS,qBAAqB,CAC5B,OAAO,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,EACpD,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,uBAA4B,GACpC,iBAAiB,GAAG,IAAI,CAO1B;AAED,iBAAS,uBAAuB,CAC9B,OAAO,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,EACpD,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,uBAA4B,GACpC,iBAAiB,GAAG,IAAI,CAI1B;AA+BD,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { normalizeResultErrorCode } from "../shared.js";
2
+ import { captureCallSite, isFailedResultLike, normalizeThrownValue, normalizeTraceLabel, previewCallArguments, summarizeFailedResult } from "./utils.js";
3
+ function traceResultWithRuntime(runtime, result, options = {}) {
4
+ if (!isFailedResultLike(result)) {
5
+ return null;
6
+ }
7
+ if (runtime.markTraced(result)) {
8
+ return null;
9
+ }
10
+ const summary = summarizeFailedResult(result, runtime.config.summaryPreview, runtime.config.stackDepth);
11
+ return emitTraceRecord(runtime, options.kind || "result", summary, options, runtime.config.failedResultSeverity);
12
+ }
13
+ function traceErrorWithRuntime(runtime, error, options = {}) {
14
+ if (runtime.markTraced(error)) {
15
+ return null;
16
+ }
17
+ const summary = normalizeThrownValue(error, runtime.config.summaryPreview, runtime.config.stackDepth);
18
+ return emitTraceRecord(runtime, options.kind || "throw", summary, options, "error");
19
+ }
20
+ function traceFailureWithRuntime(runtime, failure, options = {}) {
21
+ return isFailedResultLike(failure)
22
+ ? traceResultWithRuntime(runtime, failure, options)
23
+ : traceErrorWithRuntime(runtime, failure, options);
24
+ }
25
+ function emitTraceRecord(runtime, kind, summary, options, severity) {
26
+ const label = normalizeTraceLabel(options.label || runtime.getTraceStack().slice(-1)[0], "result.trace");
27
+ const record = {
28
+ createdAt: new Date().toISOString(),
29
+ kind,
30
+ severity: options.severity || severity,
31
+ label,
32
+ errorCode: normalizeResultErrorCode(options.errorCode) || summary.errorCode,
33
+ status: typeof options.status === "number" ? options.status : summary.status,
34
+ message: typeof options.message === "string" && options.message.trim() ? options.message : summary.message,
35
+ compactStack: summary.compactStack,
36
+ failureSite: summary.failureSite || captureCallSite(undefined, runtime.config.stackDepth).site,
37
+ argumentPreview: previewCallArguments(options.args || [], runtime.config.argumentPreview),
38
+ metadataSummary: summary.metadataSummary,
39
+ dataSummary: summary.dataSummary,
40
+ detailsSummary: summary.detailsSummary,
41
+ source: options.source || null,
42
+ traceStack: runtime.getTraceStack(),
43
+ };
44
+ return runtime.emit(record);
45
+ }
46
+ export { traceErrorWithRuntime, traceFailureWithRuntime, traceResultWithRuntime, };
47
+ //# sourceMappingURL=capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/trace/capture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ import type { ResultTraceConfig, ResultTraceRecord, ResultTracer } from "./types.js";
3
+ declare const RESULT_TRACER_RUNTIME_SYMBOL: unique symbol;
4
+ declare function createResultTraceRuntime(config?: ResultTraceConfig): {
5
+ emit(record: ResultTraceRecord): ResultTraceRecord | null;
6
+ getTraceStack(): string[];
7
+ runWithTraceStack<T>(stack: string[], callback: () => T): T;
8
+ withTraceLabel<T>(label: string, callback: () => T): T;
9
+ markTraced(value: unknown): boolean;
10
+ resetForTests(): void;
11
+ config: {
12
+ argumentPreview: {
13
+ maxDepth: number;
14
+ maxItems: number;
15
+ maxStringLength: number;
16
+ };
17
+ summaryPreview: {
18
+ maxDepth: number;
19
+ maxItems: number;
20
+ maxStringLength: number;
21
+ };
22
+ enabled: boolean;
23
+ logger?: import("../types.js").ResultLogger;
24
+ loggerAdapter?: import("../types.js").ResultLoggerAdapter;
25
+ onTrace?(record: ResultTraceRecord): import("../types.js").MaybePromise<void>;
26
+ include?: import("./types.js").ResultTraceFilter;
27
+ exclude?: import("./types.js").ResultTraceFilter;
28
+ objectDepth: number;
29
+ stackDepth: number;
30
+ failedResultSeverity: "warn" | "error";
31
+ };
32
+ storage: AsyncLocalStorage<string[]>;
33
+ functionCache: WeakMap<Function, Map<string, Function>>;
34
+ promiseCache: WeakMap<Promise<unknown>, Map<string, Promise<unknown>>>;
35
+ objectCache: WeakMap<object, Map<string, unknown>>;
36
+ tracedObjects: WeakSet<object>;
37
+ processHooks: Map<object, {
38
+ installed: boolean;
39
+ uninstall(): void;
40
+ }>;
41
+ moduleHooks: Map<object, {
42
+ installed: boolean;
43
+ uninstall(): void;
44
+ }>;
45
+ moduleFailureKeys: Set<string>;
46
+ };
47
+ declare function readTracerRuntime(tracer?: ResultTracer): ReturnType<typeof createResultTraceRuntime> | null;
48
+ declare function getCachedEntry<TKey extends object, TValue>(cache: WeakMap<TKey, Map<string, TValue>>, key: TKey, cacheKey: string): TValue | undefined;
49
+ declare function setCachedEntry<TKey extends object, TValue>(cache: WeakMap<TKey, Map<string, TValue>>, key: TKey, cacheKey: string, value: TValue): TValue;
50
+ export { RESULT_TRACER_RUNTIME_SYMBOL, createResultTraceRuntime, getCachedEntry, readTracerRuntime, setCachedEntry, };
51
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,4BAA4B,eAAyC,CAAC;AAS5E,iBAAS,wBAAwB,CAAC,MAAM,GAAE,iBAAsB;iBAO/C,iBAAiB;;sBAYZ,CAAC,SAAS,MAAM,EAAE,YAAY,MAAM,CAAC,GAAG,CAAC;mBAG5C,CAAC,SAAS,MAAM,YAAY,MAAM,CAAC,GAAG,CAAC;sBAGpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA6CkB,OAAO;qBAAe,IAAI;;;mBAC3B,OAAO;qBAAe,IAAI;;;EA9BvE;AAqDD,iBAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,GAAG,IAAI,CAKpG;AAED,iBAAS,cAAc,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,EACjD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAEpB;AAED,iBAAS,cAAc,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,EACjD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AA2DD,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,CAAC"}