effect-errors 1.7.45 → 1.8.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 (215) hide show
  1. package/README.md +67 -5
  2. package/cjs/index.js +1 -0
  3. package/cjs/index.js.map +1 -1
  4. package/cjs/logic/logger/index.js +12 -0
  5. package/cjs/logic/logger/index.js.map +1 -0
  6. package/cjs/logic/pretty-printing/captured-errors/index.js +20 -0
  7. package/cjs/logic/pretty-printing/captured-errors/index.js.map +1 -0
  8. package/cjs/logic/pretty-printing/captured-errors/maybe-advise-spans-usage.js +18 -0
  9. package/cjs/logic/pretty-printing/captured-errors/maybe-advise-spans-usage.js.map +1 -0
  10. package/cjs/logic/pretty-printing/captured-errors/maybe-print-node-stacktrace.js +34 -0
  11. package/cjs/logic/pretty-printing/captured-errors/maybe-print-node-stacktrace.js.map +1 -0
  12. package/cjs/logic/pretty-printing/captured-errors/maybe-print-spans-timeline.js +30 -0
  13. package/cjs/logic/pretty-printing/captured-errors/maybe-print-spans-timeline.js.map +1 -0
  14. package/cjs/logic/pretty-printing/captured-errors/print-effect-stacktrace.js +27 -0
  15. package/cjs/logic/pretty-printing/captured-errors/print-effect-stacktrace.js.map +1 -0
  16. package/cjs/logic/pretty-printing/common/constants/interrupted-message.js +5 -0
  17. package/cjs/logic/pretty-printing/common/constants/interrupted-message.js.map +1 -0
  18. package/cjs/logic/pretty-printing/common/constants/missing-spans-warning.js +9 -0
  19. package/cjs/logic/pretty-printing/common/constants/missing-spans-warning.js.map +1 -0
  20. package/cjs/logic/pretty-printing/{format-failures-title.js → common/format-error-title.js} +5 -5
  21. package/cjs/logic/pretty-printing/common/format-error-title.js.map +1 -0
  22. package/cjs/logic/pretty-printing/common/format-span-attributes.js +18 -0
  23. package/cjs/logic/pretty-printing/common/format-span-attributes.js.map +1 -0
  24. package/cjs/logic/pretty-printing/common/format-span-duration.js +10 -0
  25. package/cjs/logic/pretty-printing/common/format-span-duration.js.map +1 -0
  26. package/cjs/logic/pretty-printing/common/format-title.js +17 -0
  27. package/cjs/logic/pretty-printing/common/format-title.js.map +1 -0
  28. package/cjs/logic/pretty-printing/common/index.js +23 -0
  29. package/cjs/logic/pretty-printing/common/index.js.map +1 -0
  30. package/cjs/logic/pretty-printing/common/maybe-warn-about-plain-strings.js +18 -0
  31. package/cjs/logic/pretty-printing/common/maybe-warn-about-plain-strings.js.map +1 -0
  32. package/cjs/logic/pretty-printing/common/spans-stack-trailing-char.js.map +1 -0
  33. package/cjs/logic/pretty-printing/failures/index.js +20 -0
  34. package/cjs/logic/pretty-printing/failures/index.js.map +1 -0
  35. package/cjs/logic/pretty-printing/failures/maybe-print-node-stacktrace.js +32 -0
  36. package/cjs/logic/pretty-printing/failures/maybe-print-node-stacktrace.js.map +1 -0
  37. package/cjs/logic/pretty-printing/{print-effect-stacktrace.js → failures/print-effect-stacktrace.js} +10 -4
  38. package/cjs/logic/pretty-printing/failures/print-effect-stacktrace.js.map +1 -0
  39. package/cjs/logic/pretty-printing/failures/spans-timeline/extract-spans.js +15 -0
  40. package/cjs/logic/pretty-printing/failures/spans-timeline/extract-spans.js.map +1 -0
  41. package/cjs/logic/pretty-printing/failures/spans-timeline/format/get-span-attributes.js +18 -0
  42. package/cjs/logic/pretty-printing/failures/spans-timeline/format/get-span-attributes.js.map +1 -0
  43. package/cjs/logic/{spans → pretty-printing/failures/spans-timeline/format}/get-span-duration.js +2 -5
  44. package/cjs/logic/pretty-printing/failures/spans-timeline/format/get-span-duration.js.map +1 -0
  45. package/cjs/logic/pretty-printing/failures/spans-timeline/format/index.js +19 -0
  46. package/cjs/logic/pretty-printing/failures/spans-timeline/format/index.js.map +1 -0
  47. package/cjs/logic/pretty-printing/failures/spans-timeline/format-spans-at-timeline.js +34 -0
  48. package/cjs/logic/pretty-printing/failures/spans-timeline/format-spans-at-timeline.js.map +1 -0
  49. package/cjs/logic/pretty-printing/failures/spans-timeline/maybe-print-spans-timeline.js +23 -0
  50. package/cjs/logic/pretty-printing/failures/spans-timeline/maybe-print-spans-timeline.js.map +1 -0
  51. package/cjs/logic/pretty-printing/format-captured-error.js +26 -0
  52. package/cjs/logic/pretty-printing/format-captured-error.js.map +1 -0
  53. package/cjs/logic/pretty-printing/format-failure.js +24 -0
  54. package/cjs/logic/pretty-printing/format-failure.js.map +1 -0
  55. package/cjs/logic/pretty-printing/index.js +21 -0
  56. package/cjs/logic/pretty-printing/index.js.map +1 -0
  57. package/cjs/pretty-print-from-captured-errors.js +15 -0
  58. package/cjs/pretty-print-from-captured-errors.js.map +1 -0
  59. package/cjs/pretty-print.js +5 -26
  60. package/cjs/pretty-print.js.map +1 -1
  61. package/cjs/source-maps/get-error-related-sources.js +3 -2
  62. package/cjs/source-maps/get-error-related-sources.js.map +1 -1
  63. package/cjs/source-maps/get-sources-from-map-file.js +3 -1
  64. package/cjs/source-maps/get-sources-from-map-file.js.map +1 -1
  65. package/cjs/source-maps/get-sources-from-span.js +1 -1
  66. package/cjs/source-maps/get-sources-from-span.js.map +1 -1
  67. package/cjs/source-maps/get-sources-from-stack.js +1 -1
  68. package/cjs/source-maps/get-sources-from-stack.js.map +1 -1
  69. package/cjs/source-maps/maybe-map-sourcemaps.js +2 -2
  70. package/cjs/source-maps/maybe-map-sourcemaps.js.map +1 -1
  71. package/cjs/types/pretty-print-options.type.js +1 -0
  72. package/cjs/types/pretty-print-options.type.js.map +1 -1
  73. package/dts/index.d.ts +1 -0
  74. package/dts/logic/logger/index.d.ts +10 -0
  75. package/dts/logic/pretty-printing/captured-errors/index.d.ts +3 -0
  76. package/dts/logic/pretty-printing/captured-errors/maybe-advise-spans-usage.d.ts +2 -0
  77. package/dts/logic/pretty-printing/captured-errors/maybe-print-node-stacktrace.d.ts +2 -0
  78. package/dts/logic/pretty-printing/captured-errors/maybe-print-spans-timeline.d.ts +2 -0
  79. package/dts/logic/pretty-printing/captured-errors/print-effect-stacktrace.d.ts +2 -0
  80. package/dts/logic/pretty-printing/common/constants/interrupted-message.d.ts +1 -0
  81. package/dts/logic/pretty-printing/common/constants/missing-spans-warning.d.ts +1 -0
  82. package/dts/logic/pretty-printing/common/format-error-title.d.ts +1 -0
  83. package/dts/logic/pretty-printing/common/format-span-attributes.d.ts +1 -0
  84. package/dts/logic/pretty-printing/common/format-span-duration.d.ts +1 -0
  85. package/dts/logic/pretty-printing/common/format-title.d.ts +1 -0
  86. package/dts/logic/pretty-printing/common/index.d.ts +6 -0
  87. package/dts/logic/pretty-printing/common/maybe-warn-about-plain-strings.d.ts +1 -0
  88. package/dts/logic/pretty-printing/failures/index.d.ts +3 -0
  89. package/dts/logic/pretty-printing/failures/maybe-print-node-stacktrace.d.ts +2 -0
  90. package/dts/logic/pretty-printing/failures/print-effect-stacktrace.d.ts +2 -0
  91. package/dts/logic/pretty-printing/failures/spans-timeline/extract-spans.d.ts +2 -0
  92. package/dts/logic/{spans → pretty-printing/failures/spans-timeline/format}/get-span-attributes.d.ts +1 -1
  93. package/dts/logic/pretty-printing/failures/spans-timeline/format/index.d.ts +2 -0
  94. package/dts/logic/pretty-printing/failures/spans-timeline/format-spans-at-timeline.d.ts +8 -0
  95. package/dts/logic/pretty-printing/failures/spans-timeline/maybe-print-spans-timeline.d.ts +8 -0
  96. package/dts/logic/pretty-printing/format-captured-error.d.ts +3 -0
  97. package/dts/logic/pretty-printing/format-failure.d.ts +3 -0
  98. package/dts/logic/pretty-printing/index.d.ts +4 -0
  99. package/dts/pretty-print-from-captured-errors.d.ts +3 -0
  100. package/dts/source-maps/get-error-related-sources.d.ts +1 -1
  101. package/dts/source-maps/get-sources-from-map-file.d.ts +3 -1
  102. package/dts/source-maps/maybe-map-sourcemaps.d.ts +1 -1
  103. package/dts/source-maps/transform-raw-error.d.ts +2 -0
  104. package/dts/types/pretty-print-options.type.d.ts +1 -0
  105. package/esm/index.js +1 -0
  106. package/esm/index.js.map +1 -1
  107. package/esm/logic/logger/index.js +8 -0
  108. package/esm/logic/logger/index.js.map +1 -0
  109. package/esm/logic/pretty-printing/captured-errors/index.js +4 -0
  110. package/esm/logic/pretty-printing/captured-errors/index.js.map +1 -0
  111. package/esm/logic/pretty-printing/captured-errors/maybe-advise-spans-usage.js +11 -0
  112. package/esm/logic/pretty-printing/captured-errors/maybe-advise-spans-usage.js.map +1 -0
  113. package/esm/logic/pretty-printing/captured-errors/maybe-print-node-stacktrace.js +27 -0
  114. package/esm/logic/pretty-printing/captured-errors/maybe-print-node-stacktrace.js.map +1 -0
  115. package/esm/logic/pretty-printing/captured-errors/maybe-print-spans-timeline.js +23 -0
  116. package/esm/logic/pretty-printing/captured-errors/maybe-print-spans-timeline.js.map +1 -0
  117. package/esm/logic/pretty-printing/captured-errors/print-effect-stacktrace.js +20 -0
  118. package/esm/logic/pretty-printing/captured-errors/print-effect-stacktrace.js.map +1 -0
  119. package/esm/logic/pretty-printing/common/constants/interrupted-message.js +2 -0
  120. package/esm/logic/pretty-printing/common/constants/interrupted-message.js.map +1 -0
  121. package/esm/logic/pretty-printing/common/constants/missing-spans-warning.js +3 -0
  122. package/esm/logic/pretty-printing/common/constants/missing-spans-warning.js.map +1 -0
  123. package/esm/logic/pretty-printing/{format-failures-title.js → common/format-error-title.js} +3 -3
  124. package/esm/logic/pretty-printing/common/format-error-title.js.map +1 -0
  125. package/esm/logic/pretty-printing/common/format-span-attributes.js +11 -0
  126. package/esm/logic/pretty-printing/common/format-span-attributes.js.map +1 -0
  127. package/esm/logic/pretty-printing/common/format-span-duration.js +3 -0
  128. package/esm/logic/pretty-printing/common/format-span-duration.js.map +1 -0
  129. package/esm/logic/pretty-printing/common/format-title.js +10 -0
  130. package/esm/logic/pretty-printing/common/format-title.js.map +1 -0
  131. package/esm/logic/pretty-printing/common/index.js +7 -0
  132. package/esm/logic/pretty-printing/common/index.js.map +1 -0
  133. package/esm/logic/pretty-printing/common/maybe-warn-about-plain-strings.js +11 -0
  134. package/esm/logic/pretty-printing/common/maybe-warn-about-plain-strings.js.map +1 -0
  135. package/esm/logic/pretty-printing/common/spans-stack-trailing-char.js.map +1 -0
  136. package/esm/logic/pretty-printing/failures/index.js +4 -0
  137. package/esm/logic/pretty-printing/failures/index.js.map +1 -0
  138. package/esm/logic/pretty-printing/failures/maybe-print-node-stacktrace.js +25 -0
  139. package/esm/logic/pretty-printing/failures/maybe-print-node-stacktrace.js.map +1 -0
  140. package/esm/logic/pretty-printing/failures/print-effect-stacktrace.js +16 -0
  141. package/esm/logic/pretty-printing/failures/print-effect-stacktrace.js.map +1 -0
  142. package/esm/logic/pretty-printing/failures/spans-timeline/extract-spans.js +11 -0
  143. package/esm/logic/pretty-printing/failures/spans-timeline/extract-spans.js.map +1 -0
  144. package/esm/logic/pretty-printing/failures/spans-timeline/format/get-span-attributes.js +14 -0
  145. package/esm/logic/pretty-printing/failures/spans-timeline/format/get-span-attributes.js.map +1 -0
  146. package/esm/logic/{spans → pretty-printing/failures/spans-timeline/format}/get-span-duration.js +2 -2
  147. package/esm/logic/pretty-printing/failures/spans-timeline/format/get-span-duration.js.map +1 -0
  148. package/esm/logic/pretty-printing/failures/spans-timeline/format/index.js +3 -0
  149. package/esm/logic/pretty-printing/failures/spans-timeline/format/index.js.map +1 -0
  150. package/esm/logic/pretty-printing/failures/spans-timeline/format-spans-at-timeline.js +27 -0
  151. package/esm/logic/pretty-printing/failures/spans-timeline/format-spans-at-timeline.js.map +1 -0
  152. package/esm/logic/pretty-printing/failures/spans-timeline/maybe-print-spans-timeline.js +19 -0
  153. package/esm/logic/pretty-printing/failures/spans-timeline/maybe-print-spans-timeline.js.map +1 -0
  154. package/esm/logic/pretty-printing/format-captured-error.js +22 -0
  155. package/esm/logic/pretty-printing/format-captured-error.js.map +1 -0
  156. package/esm/logic/pretty-printing/format-failure.js +20 -0
  157. package/esm/logic/pretty-printing/format-failure.js.map +1 -0
  158. package/esm/logic/pretty-printing/index.js +5 -0
  159. package/esm/logic/pretty-printing/index.js.map +1 -0
  160. package/esm/pretty-print-from-captured-errors.js +11 -0
  161. package/esm/pretty-print-from-captured-errors.js.map +1 -0
  162. package/esm/pretty-print.js +5 -23
  163. package/esm/pretty-print.js.map +1 -1
  164. package/esm/source-maps/get-error-related-sources.js +3 -2
  165. package/esm/source-maps/get-error-related-sources.js.map +1 -1
  166. package/esm/source-maps/get-sources-from-map-file.js +3 -1
  167. package/esm/source-maps/get-sources-from-map-file.js.map +1 -1
  168. package/esm/source-maps/get-sources-from-span.js +1 -1
  169. package/esm/source-maps/get-sources-from-span.js.map +1 -1
  170. package/esm/source-maps/get-sources-from-stack.js +1 -1
  171. package/esm/source-maps/get-sources-from-stack.js.map +1 -1
  172. package/esm/source-maps/maybe-map-sourcemaps.js +2 -2
  173. package/esm/source-maps/maybe-map-sourcemaps.js.map +1 -1
  174. package/esm/types/pretty-print-options.type.js +1 -0
  175. package/esm/types/pretty-print-options.type.js.map +1 -1
  176. package/package.json +8 -7
  177. package/cjs/logic/pretty-printing/format-failures-title.js.map +0 -1
  178. package/cjs/logic/pretty-printing/format-span-attributes.js +0 -43
  179. package/cjs/logic/pretty-printing/format-span-attributes.js.map +0 -1
  180. package/cjs/logic/pretty-printing/maybe-print-node-stacktrace.js +0 -18
  181. package/cjs/logic/pretty-printing/maybe-print-node-stacktrace.js.map +0 -1
  182. package/cjs/logic/pretty-printing/maybe-print-span-attributes.js +0 -23
  183. package/cjs/logic/pretty-printing/maybe-print-span-attributes.js.map +0 -1
  184. package/cjs/logic/pretty-printing/maybe-warn-about-plain-strings.js +0 -15
  185. package/cjs/logic/pretty-printing/maybe-warn-about-plain-strings.js.map +0 -1
  186. package/cjs/logic/pretty-printing/print-effect-stacktrace.js.map +0 -1
  187. package/cjs/logic/spans/get-span-attributes.js +0 -24
  188. package/cjs/logic/spans/get-span-attributes.js.map +0 -1
  189. package/cjs/logic/spans/get-span-duration.js.map +0 -1
  190. package/cjs/logic/spans/spans-stack-trailing-char.js.map +0 -1
  191. package/dts/logic/pretty-printing/format-failures-title.d.ts +0 -1
  192. package/dts/logic/pretty-printing/format-span-attributes.d.ts +0 -6
  193. package/dts/logic/pretty-printing/maybe-print-node-stacktrace.d.ts +0 -3
  194. package/dts/logic/pretty-printing/maybe-print-span-attributes.d.ts +0 -3
  195. package/dts/logic/pretty-printing/maybe-warn-about-plain-strings.d.ts +0 -1
  196. package/dts/logic/pretty-printing/print-effect-stacktrace.d.ts +0 -3
  197. package/esm/logic/pretty-printing/format-failures-title.js.map +0 -1
  198. package/esm/logic/pretty-printing/format-span-attributes.js +0 -36
  199. package/esm/logic/pretty-printing/format-span-attributes.js.map +0 -1
  200. package/esm/logic/pretty-printing/maybe-print-node-stacktrace.js +0 -11
  201. package/esm/logic/pretty-printing/maybe-print-node-stacktrace.js.map +0 -1
  202. package/esm/logic/pretty-printing/maybe-print-span-attributes.js +0 -16
  203. package/esm/logic/pretty-printing/maybe-print-span-attributes.js.map +0 -1
  204. package/esm/logic/pretty-printing/maybe-warn-about-plain-strings.js +0 -8
  205. package/esm/logic/pretty-printing/maybe-warn-about-plain-strings.js.map +0 -1
  206. package/esm/logic/pretty-printing/print-effect-stacktrace.js +0 -10
  207. package/esm/logic/pretty-printing/print-effect-stacktrace.js.map +0 -1
  208. package/esm/logic/spans/get-span-attributes.js +0 -17
  209. package/esm/logic/spans/get-span-attributes.js.map +0 -1
  210. package/esm/logic/spans/get-span-duration.js.map +0 -1
  211. package/esm/logic/spans/spans-stack-trailing-char.js.map +0 -1
  212. /package/cjs/logic/{spans → pretty-printing/common}/spans-stack-trailing-char.js +0 -0
  213. /package/dts/logic/{spans → pretty-printing/common}/spans-stack-trailing-char.d.ts +0 -0
  214. /package/dts/logic/{spans → pretty-printing/failures/spans-timeline/format}/get-span-duration.d.ts +0 -0
  215. /package/esm/logic/{spans → pretty-printing/common}/spans-stack-trailing-char.js +0 -0
@@ -0,0 +1,3 @@
1
+ import type { CapturedErrors } from './capture-errors.js';
2
+ import { type PrettyPrintOptions } from './types/pretty-print-options.type.js';
3
+ export declare const prettyPrintFromCapturedErrors: ({ errors, interrupted }: CapturedErrors, options?: PrettyPrintOptions) => string;
@@ -3,4 +3,4 @@ import type { FileSystem } from '@effect/platform/FileSystem';
3
3
  import { Effect } from 'effect';
4
4
  import type { JsonParsingError } from '../logic/fs/read-json/index.js';
5
5
  import { type ErrorRelatedSources, type RawErrorLocation } from './get-sources-from-map-file.js';
6
- export declare const getErrorRelatedSources: (sourceFile: string) => Effect.Effect<ErrorRelatedSources | RawErrorLocation | undefined, PlatformError | JsonParsingError, FileSystem>;
6
+ export declare const getErrorRelatedSources: (name: string, sourceFile: string) => Effect.Effect<ErrorRelatedSources | RawErrorLocation | undefined, PlatformError | JsonParsingError, FileSystem>;
@@ -6,11 +6,13 @@ import type { ErrorLocation } from './get-error-location-from-file-path.js';
6
6
  import { type SourceCode } from './get-source-code.js';
7
7
  export interface ErrorRelatedSources {
8
8
  _tag: 'sources';
9
+ name: string;
9
10
  source: SourceCode[];
10
11
  runPath: string;
11
12
  sourcesPath: string | undefined;
12
13
  }
13
14
  export interface RawErrorLocation extends ErrorLocation {
14
15
  _tag: 'location';
16
+ name: string;
15
17
  }
16
- export declare const getSourcesFromMapFile: (location: ErrorLocation) => Effect.Effect<ErrorRelatedSources | RawErrorLocation | undefined, PlatformError | JsonParsingError, FileSystem>;
18
+ export declare const getSourcesFromMapFile: (name: string, location: ErrorLocation) => Effect.Effect<ErrorRelatedSources | RawErrorLocation | undefined, PlatformError | JsonParsingError, FileSystem>;
@@ -8,4 +8,4 @@ export type StackEntry = {
8
8
  runPath: string;
9
9
  };
10
10
  export type MaybeMappedSources = ErrorRelatedSources | RawErrorLocation | StackEntry;
11
- export declare const maybeMapSourcemaps: (stacktrace: string[]) => Effect.Effect<MaybeMappedSources[], PlatformError | JsonParsingError, FileSystem>;
11
+ export declare const maybeMapSourcemaps: (name: string, stacktrace: string[]) => Effect.Effect<MaybeMappedSources[], PlatformError | JsonParsingError, FileSystem>;
@@ -6,11 +6,13 @@ export declare const transformRawError: ({ reverseSpans, stripCwd }: CaptureErro
6
6
  message: unknown;
7
7
  stack: string[] | undefined;
8
8
  sources: {
9
+ name: string;
9
10
  source: import("./get-source-code.js").SourceCode[];
10
11
  runPath: string;
11
12
  sourcesPath: string | undefined;
12
13
  }[] | undefined;
13
14
  location: {
15
+ name: string;
14
16
  filePath: string;
15
17
  line: number;
16
18
  column: number;
@@ -2,5 +2,6 @@ export interface PrettyPrintOptions {
2
2
  enabled?: boolean;
3
3
  stripCwd?: boolean | undefined;
4
4
  reverseSpans?: boolean | undefined;
5
+ hideStackTrace?: boolean;
5
6
  }
6
7
  export declare const prettyPrintOptionsDefault: PrettyPrintOptions;
package/esm/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './pretty-print.js';
2
+ export * from './pretty-print-from-captured-errors.js';
2
3
  export * from './runners/run-promise.js';
3
4
  export * from './runners/run-sync.js';
4
5
  export * from './types/pretty-print-options.type.js';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Context, Effect, Layer, pipe } from 'effect';
2
+ export class Logger extends Context.Tag('Logger')() {
3
+ }
4
+ export const LoggerConsoleLive = Layer.succeed(Logger, {
5
+ info: (message, ...optionalParams) => pipe(Effect.succeed(console.info(message, ...optionalParams)), Effect.withSpan('logger-console/info')),
6
+ error: (message, ...optionalParams) => pipe(Effect.succeed(console.error(message, ...optionalParams)), Effect.withSpan('logger-console/error')),
7
+ });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logic/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtD,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAY9C;CAAG;AAGN,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;IACrD,IAAI,EAAE,CAAC,OAAiB,EAAE,GAAG,cAAyB,EAAE,EAAE,CACxD,IAAI,CACF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC,EACxD,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CACvC;IACH,KAAK,EAAE,CAAC,OAAiB,EAAE,GAAG,cAAyB,EAAE,EAAE,CACzD,IAAI,CACF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC,EACzD,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CACxC;CACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './print-effect-stacktrace.js';
2
+ export * from './maybe-print-node-stacktrace.js';
3
+ export * from './maybe-print-spans-timeline.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/captured-errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import color from 'picocolors';
2
+ export const maybeAdviseSpansUsage = (spans) => {
3
+ if (spans === undefined || spans.length === 0) {
4
+ return [
5
+ '',
6
+ color.gray('ℹ️ Consider using spans to improve errors reporting.'),
7
+ ];
8
+ }
9
+ return [];
10
+ };
11
+ //# sourceMappingURL=maybe-advise-spans-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-advise-spans-usage.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/captured-errors/maybe-advise-spans-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAI/B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAA8B,EACpB,EAAE;IACZ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,EAAE;YACF,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import color from 'picocolors';
2
+ import { stripCwdPath } from '../../strip-cwd-path.js';
3
+ export const maybePrintNodeStacktrace = (stack, isPlainString, { stripCwd, hideStackTrace }) => {
4
+ if (hideStackTrace) {
5
+ return [];
6
+ }
7
+ const stackHasNodes = stack !== undefined && stack.length > 0;
8
+ if (stackHasNodes) {
9
+ const nodes = stack
10
+ .map((el) => `│ ${stripCwd ? stripCwdPath(el) : el}`)
11
+ .join('\r\n');
12
+ return [
13
+ '',
14
+ `${color.bold(color.red('◯'))} ${color.redBright(color.underline('Node Stacktrace 🚨'))}`,
15
+ color.red(nodes),
16
+ color.red('┴'),
17
+ ];
18
+ }
19
+ if (!isPlainString) {
20
+ return [
21
+ '',
22
+ color.gray('ℹ️ Consider using a yieldable error such as Data.TaggedError and Schema.TaggedError to get a stacktrace.'),
23
+ ];
24
+ }
25
+ return [];
26
+ };
27
+ //# sourceMappingURL=maybe-print-node-stacktrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-print-node-stacktrace.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/captured-errors/maybe-print-node-stacktrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAA2B,EAC3B,aAAsB,EACtB,EAAE,QAAQ,EAAE,cAAc,EAAsB,EACtC,EAAE;IACZ,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK;aAChB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACpD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,OAAO;YACL,EAAE;YACF,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE;YACzF,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAChB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;SACf,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,EAAE;YACF,KAAK,CAAC,IAAI,CACR,2GAA2G,CAC5G;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import color from 'picocolors';
2
+ import { stripCwdPath } from '../../strip-cwd-path.js';
3
+ import { formatSpanAttributes, formatSpanDuration, missingSpansWarning, spanStackTrailingChar, } from '../common/index.js';
4
+ export const maybePrintSpansTimeline = (spans, isPlainString, { stripCwd, reverseSpans }) => {
5
+ if (spans === undefined) {
6
+ return isPlainString === false ? ['', missingSpansWarning, ''] : [];
7
+ }
8
+ const orderedSpans = reverseSpans === true ? spans.toReversed() : spans;
9
+ return orderedSpans.reduce((output, { name, durationInMilliseconds, attributes }, index) => {
10
+ const isFirstEntry = index === 0;
11
+ const isLastEntry = index === spans.length - 1;
12
+ const maybeCircle = isFirstEntry ? `\r\n${color.gray('◯')}\r\n` : '';
13
+ const trailing = spanStackTrailingChar(isLastEntry);
14
+ const filePath = ` ${stripCwd !== undefined ? color.underline(color.bold(stripCwdPath(name))) : color.underline(name)}`;
15
+ const duration = durationInMilliseconds !== undefined
16
+ ? color.gray(formatSpanDuration(durationInMilliseconds, isLastEntry))
17
+ : '';
18
+ const formattedAttributes = formatSpanAttributes(attributes, isLastEntry);
19
+ const timelineEntry = color.white(`${maybeCircle}${trailing}${color.gray('─')}${filePath}${duration}${formattedAttributes}`);
20
+ return [...output, timelineEntry];
21
+ }, []);
22
+ };
23
+ //# sourceMappingURL=maybe-print-spans-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-print-spans-timeline.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/captured-errors/maybe-print-spans-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,KAA8B,EAC9B,aAAsB,EACtB,EAAE,QAAQ,EAAE,YAAY,EAAsB,EACpC,EAAE;IACZ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE;QAC9D,MAAM,YAAY,GAAG,KAAK,KAAK,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxH,MAAM,QAAQ,GACZ,sBAAsB,KAAK,SAAS;YAClC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;YACrE,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAE1E,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAC/B,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,EAAE,CAC1F,CAAC;QAEF,OAAO,CAAC,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC;IACpC,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import color from 'picocolors';
2
+ import { stripCwdPath } from '../../strip-cwd-path.js';
3
+ export const printEffectStacktrace = (sources, spans, { stripCwd }) => {
4
+ if (spans === undefined ||
5
+ spans.length === 0 ||
6
+ sources === undefined ||
7
+ sources.length === 0) {
8
+ return [];
9
+ }
10
+ const paths = sources.map(({ name, runPath, sourcesPath }) => {
11
+ const path = sourcesPath ?? runPath;
12
+ return { path: stripCwd ? stripCwdPath(path) : path, name };
13
+ });
14
+ return [
15
+ `${color.bold(color.red('◯'))} ${color.red('Sources')} 🕵️`,
16
+ ...paths.map(({ path, name }) => color.red(`│ at ${name.length === 0 ? 'module code' : color.underline(name)} (${path})`)),
17
+ color.red('┴'),
18
+ ];
19
+ };
20
+ //# sourceMappingURL=print-effect-stacktrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-effect-stacktrace.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/captured-errors/print-effect-stacktrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAO/B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAAwD,EACxD,KAA8B,EAC9B,EAAE,QAAQ,EAAsB,EAChC,EAAE;IACF,IACE,KAAK,KAAK,SAAS;QACnB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,OAAO,KAAK,SAAS;QACrB,OAAO,CAAC,MAAM,KAAK,CAAC,EACpB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,WAAW,IAAI,OAAO,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM;QAC3D,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9B,KAAK,CAAC,GAAG,CACP,QAAQ,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAC9E,CACF;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;KACf,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const interruptedMessage = '✅ All fibers interrupted without errors.';
2
+ //# sourceMappingURL=interrupted-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrupted-message.js","sourceRoot":"","sources":["../../../../../../src/logic/pretty-printing/common/constants/interrupted-message.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,0CAA0C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import color from 'picocolors';
2
+ export const missingSpansWarning = `\r\n${color.gray('ℹ️ Consider using spans to improve errors reporting.')}`;
3
+ //# sourceMappingURL=missing-spans-warning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-spans-warning.js","sourceRoot":"","sources":["../../../../../../src/logic/pretty-printing/common/constants/missing-spans-warning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,EAAE,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import color from 'picocolors';
2
- export const formatFailuresTitle = (errorType, message, failuresLength, failureIndex) => {
2
+ export const formatErrorTitle = (errorType, message, failuresLength, failureIndex) => {
3
3
  const failuresCount = failuresLength > 1
4
4
  ? color.bgRed(color.white(` #${failureIndex + 1} -`))
5
5
  : '';
6
6
  const type = color.bgRed(color.white(` ${errorType ?? 'Unknown error'} `));
7
7
  const formattedMessage = color.bold(color.white(` • ${message}`));
8
- return `💥 ${failuresCount}${type}${formattedMessage}\r\n`;
8
+ return [`💥 ${failuresCount}${type}${formattedMessage}`];
9
9
  };
10
- //# sourceMappingURL=format-failures-title.js.map
10
+ //# sourceMappingURL=format-error-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-error-title.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/common/format-error-title.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAAkB,EAClB,OAAgB,EAChB,cAAsB,EACtB,YAAoB,EACV,EAAE;IACZ,MAAM,aAAa,GACjB,cAAc,GAAG,CAAC;QAChB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CACtB,KAAK,CAAC,KAAK,CAAC,IAAK,SAAgC,IAAI,eAAe,GAAG,CAAC,CACzE,CAAC;IACF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,OAAiB,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,gBAAgB,EAAE,CAAC,CAAC;AAC3D,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import color from 'picocolors';
2
+ const maybePrintPipe = (isLastEntry) => isLastEntry ? ' ' : color.gray('│');
3
+ export const formatSpanAttributes = (attributes, isLastEntry) => {
4
+ const entries = Object.entries(attributes);
5
+ if (entries.length === 0) {
6
+ return [];
7
+ }
8
+ const lines = Array.from(entries).map(([key, value]) => `${maybePrintPipe(isLastEntry)} ${color.blue(key)}${color.gray(':')} ${value}`);
9
+ return `\r\n${lines.join('\r\n')}`;
10
+ };
11
+ //# sourceMappingURL=format-span-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-span-attributes.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/common/format-span-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,cAAc,GAAG,CAAC,WAAoB,EAAE,EAAE,CAC9C,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,UAAmC,EACnC,WAAoB,EACpB,EAAE;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CACnC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,cAAc,CAAC,WAAW,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CACpF,CAAC;IAEF,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import color from 'picocolors';
2
+ export const formatSpanDuration = (durationInMs, isLastEntry) => `\r\n${isLastEntry ? ' ' : color.gray('│')} ~ ${durationInMs}ms`;
3
+ //# sourceMappingURL=format-span-duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-span-duration.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/common/format-span-duration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,YAA6B,EAC7B,WAAoB,EACpB,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,YAAY,IAAI,CAAC"}
@@ -0,0 +1,10 @@
1
+ import color from 'picocolors';
2
+ export const formatTitle = (errorsCount) => {
3
+ if (errorsCount === 1) {
4
+ return [''];
5
+ }
6
+ const libName = color.cyanBright(`${color.underline(color.bold('effect-errors'))}`);
7
+ const title = color.bold(color.redBright(`${errorsCount} error${errorsCount > 1 ? 's' : ''} occured`));
8
+ return ['', `${libName} ❌ - ${title}`, '', ''];
9
+ };
10
+ //# sourceMappingURL=format-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-title.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/common/format-title.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAmB,EAAY,EAAE;IAC3D,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAC9B,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAClD,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,KAAK,CAAC,SAAS,CACb,GAAG,WAAW,SAAS,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAC5D,CACF,CAAC;IAEF,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,QAAQ,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './format-error-title.js';
2
+ export * from './format-span-attributes.js';
3
+ export * from './format-span-duration.js';
4
+ export * from './maybe-warn-about-plain-strings.js';
5
+ export * from './spans-stack-trailing-char.js';
6
+ export * from './constants/missing-spans-warning.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAE/C,cAAc,sCAAsC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import color from 'picocolors';
2
+ export const maybeWarnAboutPlainStrings = (isPlainString) => {
3
+ if (!isPlainString) {
4
+ return [];
5
+ }
6
+ return [
7
+ '',
8
+ color.gray('ℹ️ You used a plain string to represent a failure in the error channel (E). You should consider using tagged objects (with a _tag field), or yieldable errors such as Data.TaggedError and Schema.TaggedError for better handling experience.'),
9
+ ];
10
+ };
11
+ //# sourceMappingURL=maybe-warn-about-plain-strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-warn-about-plain-strings.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/common/maybe-warn-about-plain-strings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,aAAsB,EACZ,EAAE;IACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL,EAAE;QACF,KAAK,CAAC,IAAI,CACR,gPAAgP,CACjP;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spans-stack-trailing-char.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/common/spans-stack-trailing-char.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAoB,EAAE,EAAE,CAC5D,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './maybe-print-node-stacktrace.js';
2
+ export * from './spans-timeline/maybe-print-spans-timeline.js';
3
+ export * from './print-effect-stacktrace.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/failures/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import color from 'picocolors';
2
+ import { filterStack } from '../../stack/filter-stack.js';
3
+ export const maybePrintNodeStacktrace = (stack, isPlainString, { stripCwd, hideStackTrace }) => {
4
+ if (hideStackTrace) {
5
+ return [];
6
+ }
7
+ if (stack !== undefined) {
8
+ const line = [
9
+ '',
10
+ `${color.bold(color.red('◯'))} ${color.red('Node Stacktrace')} 🚨`,
11
+ `${color.red(filterStack(stack, 'node', stripCwd === true))}`,
12
+ `${color.red('┴')}`,
13
+ ].join('\r\n');
14
+ return [line];
15
+ }
16
+ if (!isPlainString) {
17
+ const line = [
18
+ '',
19
+ `${color.gray('ℹ️ Consider using a yieldable error such as Data.TaggedError and Schema.TaggedError to get a stacktrace.')}`,
20
+ ].join('\r\n');
21
+ return [line];
22
+ }
23
+ return [];
24
+ };
25
+ //# sourceMappingURL=maybe-print-node-stacktrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-print-node-stacktrace.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/failures/maybe-print-node-stacktrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAAyB,EACzB,aAAsB,EACtB,EAAE,QAAQ,EAAE,cAAc,EAAsB,EACtC,EAAE;IACZ,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG;YACX,EAAE;YACF,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK;YAClE,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,EAAE;YAC7D,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;SACpB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEf,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG;YACX,EAAE;YACF,GAAG,KAAK,CAAC,IAAI,CAAC,2GAA2G,CAAC,EAAE;SAC7H,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEf,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import color from 'picocolors';
2
+ import { filterStack } from '../../stack/filter-stack.js';
3
+ export const printEffectStacktrace = (spanAttributesStack, { stripCwd }) => {
4
+ if (spanAttributesStack === undefined || spanAttributesStack.length === 0) {
5
+ return [];
6
+ }
7
+ const cleanedStack = `│ ${filterStack(spanAttributesStack.join('\r\n│ '), 'effect', stripCwd === true)}`;
8
+ const message = [
9
+ '',
10
+ `${color.bold(color.red('◯'))} ${color.red('Sources')} 🕵️`,
11
+ `${color.red(cleanedStack)}`,
12
+ `${color.red('┴')}`,
13
+ ].join('\r\n');
14
+ return [message];
15
+ };
16
+ //# sourceMappingURL=print-effect-stacktrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-effect-stacktrace.js","sourceRoot":"","sources":["../../../../../src/logic/pretty-printing/failures/print-effect-stacktrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,mBAAyC,EACzC,EAAE,QAAQ,EAAsB,EACtB,EAAE;IACZ,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC;IAEzG,MAAM,OAAO,GAAG;QACd,EAAE;QACF,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM;QAC3D,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;QAC5B,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;KACpB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Option } from 'effect';
2
+ export const extractSpans = (span) => {
3
+ let current = span;
4
+ const spans = [];
5
+ while (current !== undefined && current._tag === 'Span') {
6
+ spans.push(current);
7
+ current = Option.getOrUndefined(current.parent);
8
+ }
9
+ return spans;
10
+ };
11
+ //# sourceMappingURL=extract-spans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-spans.js","sourceRoot":"","sources":["../../../../../../src/logic/pretty-printing/failures/spans-timeline/extract-spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAE,EAAE;IACrD,IAAI,OAAO,GAAwB,IAAI,CAAC;IAExC,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { splitSpansAttributesByTypes } from '../../../../spans/split-spans-attributes-by-type.js';
2
+ import { formatSpanAttributes } from '../../../common/index.js';
3
+ export const getSpanAttributes = (allAttributes, isLastEntry) => {
4
+ if (allAttributes.size === 0) {
5
+ return { formattedAttributes: '', stack: [] };
6
+ }
7
+ const { attributes, stacktrace } = splitSpansAttributesByTypes(allAttributes);
8
+ const formattedAttributes = formatSpanAttributes(Object.fromEntries(attributes), isLastEntry);
9
+ return {
10
+ formattedAttributes,
11
+ stack: stacktrace,
12
+ };
13
+ };
14
+ //# sourceMappingURL=get-span-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-span-attributes.js","sourceRoot":"","sources":["../../../../../../../src/logic/pretty-printing/failures/spans-timeline/format/get-span-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qDAAqD,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,aAA2C,EAC3C,WAAoB,EACpB,EAAE;IACF,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAE9E,MAAM,mBAAmB,GAAG,oBAAoB,CAC9C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAC9B,WAAW,CACZ,CAAC;IAEF,OAAO;QACL,mBAAmB;QACnB,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,9 +1,9 @@
1
- import color from 'picocolors';
1
+ import { formatSpanDuration } from '../../../common/index.js';
2
2
  export const getSpanDuration = (status, isLastEntry) => {
3
3
  if (status._tag !== 'Ended') {
4
4
  return '';
5
5
  }
6
6
  const duration = (status.endTime - status.startTime) / BigInt(1000000);
7
- return `\r\n${isLastEntry ? ' ' : color.gray('│')} ~ ${duration}ms`;
7
+ return formatSpanDuration(duration, isLastEntry);
8
8
  };
9
9
  //# sourceMappingURL=get-span-duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-span-duration.js","sourceRoot":"","sources":["../../../../../../../src/logic/pretty-printing/failures/spans-timeline/format/get-span-duration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAkB,EAAE,WAAoB,EAAE,EAAE;IAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './get-span-attributes.js';
2
+ export * from './get-span-duration.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/logic/pretty-printing/failures/spans-timeline/format/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import color from 'picocolors';
2
+ import { stripCwdPath } from '../../../strip-cwd-path.js';
3
+ import { spanStackTrailingChar } from '../../common/index.js';
4
+ import { extractSpans } from './extract-spans.js';
5
+ import { getSpanAttributes, getSpanDuration } from './format/index.js';
6
+ export const formatSpansAsTimeline = (span, { stripCwd, reverseSpans }) => {
7
+ const spans = extractSpans(span);
8
+ const orderedSpans = reverseSpans === true ? spans.toReversed() : spans;
9
+ return orderedSpans.reduce((output, { name, status, attributes }, index) => {
10
+ const isFirstEntry = index === 0;
11
+ const isLastEntry = index === spans.length - 1;
12
+ const { formattedAttributes, stack } = getSpanAttributes(attributes, isLastEntry);
13
+ const maybeCircle = isFirstEntry ? `\r\n${color.gray('◯')}` : '';
14
+ const trailing = spanStackTrailingChar(isLastEntry);
15
+ const filePath = ` ${stripCwd !== undefined ? color.underline(color.bold(stripCwdPath(name))) : color.underline(name)}`;
16
+ const duration = color.gray(getSpanDuration(status, isLastEntry));
17
+ const message = `${maybeCircle}\r\n${trailing}${color.gray('─')}${filePath}${duration}${formattedAttributes}`;
18
+ return {
19
+ message: `${output.message}${message}`,
20
+ stack: [...output.stack, ...stack],
21
+ };
22
+ }, {
23
+ message: '',
24
+ stack: [],
25
+ });
26
+ };
27
+ //# sourceMappingURL=format-spans-at-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-spans-at-timeline.js","sourceRoot":"","sources":["../../../../../../src/logic/pretty-printing/failures/spans-timeline/format-spans-at-timeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAsB,EACtB,EAAE,QAAQ,EAAE,YAAY,EAAsB,EAC7B,EAAE;IACnB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,YAAY,GAAG,KAAK,KAAK,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAE/C,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,iBAAiB,CACtD,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,GAAG,WAAW,OAAO,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QAE9G,OAAO;YACL,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE;YACtC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC;SACnC,CAAC;IACJ,CAAC,EACD;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;KACV,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { missingSpansWarning } from '../../common/index.js';
2
+ import { formatSpansAsTimeline } from './format-spans-at-timeline.js';
3
+ export const maybePrintSpansTimeline = (span, isPlainString, { stripCwd, reverseSpans }) => {
4
+ if (span === undefined) {
5
+ return {
6
+ spanAttributesStack: undefined,
7
+ spansTimeline: isPlainString === false ? [missingSpansWarning] : [],
8
+ };
9
+ }
10
+ const { stack, message } = formatSpansAsTimeline(span, {
11
+ stripCwd,
12
+ reverseSpans,
13
+ });
14
+ return {
15
+ spanAttributesStack: stack,
16
+ spansTimeline: [message],
17
+ };
18
+ };
19
+ //# sourceMappingURL=maybe-print-spans-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-print-spans-timeline.js","sourceRoot":"","sources":["../../../../../../src/logic/pretty-printing/failures/spans-timeline/maybe-print-spans-timeline.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAOtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAsB,EACtB,aAAsB,EACtB,EAAE,QAAQ,EAAE,YAAY,EAAsB,EACf,EAAE;IACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,mBAAmB,EAAE,SAAS;YAC9B,aAAa,EAAE,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;SACpE,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE;QACrD,QAAQ;QACR,YAAY;KACb,CAAC,CAAC;IAEH,OAAO;QACL,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,CAAC,OAAO,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { maybePrintNodeStacktrace, maybePrintSpansTimeline, printEffectStacktrace, } from './captured-errors/index.js';
2
+ import { maybeAdviseSpansUsage } from './captured-errors/maybe-advise-spans-usage.js';
3
+ import { formatErrorTitle, maybeWarnAboutPlainStrings, } from './common/index.js';
4
+ export const formatCapturedError = (failuresCount, options) => ({ errorType, message, stack, spans, sources, isPlainString }, index) => {
5
+ const title = formatErrorTitle(errorType, message, failuresCount, index);
6
+ const plainStringWarning = maybeWarnAboutPlainStrings(isPlainString);
7
+ const spansTimeline = maybePrintSpansTimeline(spans, isPlainString, options);
8
+ const spansUsageAdvice = maybeAdviseSpansUsage(spans);
9
+ const effectStacktrace = printEffectStacktrace(sources, spans, options);
10
+ const nodeStacktrace = maybePrintNodeStacktrace(stack, isPlainString, options);
11
+ return [
12
+ ...title,
13
+ ...plainStringWarning,
14
+ ...spansTimeline,
15
+ ...spansUsageAdvice,
16
+ '',
17
+ ...effectStacktrace,
18
+ ...nodeStacktrace,
19
+ '',
20
+ ].join('\r\n');
21
+ };
22
+ //# sourceMappingURL=format-captured-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-captured-error.js","sourceRoot":"","sources":["../../../../src/logic/pretty-printing/format-captured-error.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EACL,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,aAAqB,EAAE,OAA2B,EAAE,EAAE,CACvD,CACE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAa,EACvE,KAAa,EACb,EAAE;IACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,uBAAuB,CAC3C,KAAK,EACL,aAAa,EACb,OAAO,CACR,CAAC;IACF,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,wBAAwB,CAC7C,KAAK,EACL,aAAa,EACb,OAAO,CACR,CAAC;IAEF,OAAO;QACL,GAAG,KAAK;QACR,GAAG,kBAAkB;QACrB,GAAG,aAAa;QAChB,GAAG,gBAAgB;QACnB,EAAE;QACF,GAAG,gBAAgB;QACnB,GAAG,cAAc;QACjB,EAAE;KACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { maybeAddErrorToSpansStack } from '../spans/maybe-add-error-to-spans-stack.js';
2
+ import { formatErrorTitle, maybeWarnAboutPlainStrings, } from './common/index.js';
3
+ import { maybePrintNodeStacktrace, maybePrintSpansTimeline, printEffectStacktrace, } from './failures/index.js';
4
+ export const formatFailure = (failuresCount, options) => ({ errorType, message, stack, span, isPlainString }, index) => {
5
+ const title = formatErrorTitle(errorType, message, failuresCount, index);
6
+ const plainStringWarning = maybeWarnAboutPlainStrings(isPlainString);
7
+ const { spanAttributesStack, spansTimeline } = maybePrintSpansTimeline(span, isPlainString, options);
8
+ const effectStack = maybeAddErrorToSpansStack(stack, spanAttributesStack);
9
+ const effectStacktrace = printEffectStacktrace(effectStack, options);
10
+ const nodeStacktrace = maybePrintNodeStacktrace(stack, isPlainString, options);
11
+ return [
12
+ ...title,
13
+ ...plainStringWarning,
14
+ ...spansTimeline,
15
+ ...effectStacktrace,
16
+ ...nodeStacktrace,
17
+ '',
18
+ ].join('\r\n');
19
+ };
20
+ //# sourceMappingURL=format-failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-failure.js","sourceRoot":"","sources":["../../../../src/logic/pretty-printing/format-failure.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,aAAqB,EAAE,OAA2B,EAAE,EAAE,CACvD,CACE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAe,EAC/D,KAAa,EACb,EAAE;IACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACrE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,uBAAuB,CACpE,IAAI,EACJ,aAAa,EACb,OAAO,CACR,CAAC;IACF,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAE1E,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,wBAAwB,CAC7C,KAAK,EACL,aAAa,EACb,OAAO,CACR,CAAC;IAEF,OAAO;QACL,GAAG,KAAK;QACR,GAAG,kBAAkB;QACrB,GAAG,aAAa;QAChB,GAAG,gBAAgB;QACnB,GAAG,cAAc;QACjB,EAAE;KACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './format-failure.js';
2
+ export * from './format-captured-error.js';
3
+ export * from './common/format-title.js';
4
+ export * from './common/constants/interrupted-message.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logic/pretty-printing/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2CAA2C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { formatCapturedError, formatTitle, interruptedMessage, } from './logic/pretty-printing/index.js';
2
+ import { prettyPrintOptionsDefault, } from './types/pretty-print-options.type.js';
3
+ export const prettyPrintFromCapturedErrors = ({ errors, interrupted }, options = prettyPrintOptionsDefault) => {
4
+ if (interrupted) {
5
+ return interruptedMessage;
6
+ }
7
+ const title = formatTitle(errors.length);
8
+ const formattedFailures = errors.map(formatCapturedError(errors.length, options));
9
+ return [...title, ...formattedFailures].join('\r\n');
10
+ };
11
+ //# sourceMappingURL=pretty-print-from-captured-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pretty-print-from-captured-errors.js","sourceRoot":"","sources":["../../src/pretty-print-from-captured-errors.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,yBAAyB,GAC1B,MAAM,sCAAsC,CAAC;AAE9C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,EAAE,MAAM,EAAE,WAAW,EAAkB,EACvC,UAA8B,yBAAyB,EACvD,EAAE;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAClC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5C,CAAC;IAEF,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC"}