@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,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":"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"}
@@ -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"}
package/package.json CHANGED
@@ -2,7 +2,10 @@
2
2
  "bugs": {
3
3
  "url": "https://github.com/Trebired/result/issues"
4
4
  },
5
- "description": "Shared result builders and transport-agnostic response orchestration for Bun and Node.js products.",
5
+ "dependencies": {
6
+ "@trebired/logger-adapter": "^0.2.2"
7
+ },
8
+ "description": "Shared result builders, response orchestration, and failure tracing for Bun and Node.js products.",
6
9
  "devDependencies": {
7
10
  "@trebired/code-discipline": "^3.1.1",
8
11
  "@types/bun": "^1.3.4",
@@ -27,17 +30,30 @@
27
30
  ],
28
31
  "homepage": "https://github.com/Trebired/result#readme",
29
32
  "imports": {
33
+ "#0231fmpa2dc7": "./dist/trace/runtime.js",
34
+ "#0g27abpmv4cx": "./dist/process_hooks.js",
35
+ "#49kqgj47729a": "./dist/module_hooks.js",
36
+ "#9u38bvr71ysb": "./dist/logging.js",
37
+ "#f50kks3ik0zv": "./dist/instrument_result_exports.js",
30
38
  "#fkl0t1n99da1": "./dist/responder_support.js",
31
39
  "#index": "./dist/index.js",
40
+ "#j7kz1s2wcwqd": "./dist/tracer.js",
41
+ "#lm07mhb4j68n": "./dist/wrap/result/function.js",
42
+ "#mht13ofmb0kj": "./dist/wrap/result/promise.js",
43
+ "#ovyuo31bgsj9": "./dist/trace/capture.js",
32
44
  "#presets": "./dist/presets.js",
45
+ "#qsb8x4t06m0e": "./dist/trace/types.js",
33
46
  "#responder": "./dist/responder.js",
34
47
  "#result": "./dist/result.js",
35
48
  "#shared": "./dist/shared.js",
36
- "#types": "./dist/types.js"
49
+ "#types": "./dist/types.js",
50
+ "#ypczi4qi4ap6": "./dist/trace/utils.js"
37
51
  },
38
52
  "keywords": [
39
53
  "result",
40
54
  "response",
55
+ "tracing",
56
+ "errors",
41
57
  "http",
42
58
  "rendering",
43
59
  "backend",
@@ -67,5 +83,5 @@
67
83
  },
68
84
  "type": "module",
69
85
  "types": "./dist/index.d.ts",
70
- "version": "0.1.0"
86
+ "version": "0.2.0"
71
87
  }