effect-errors 1.2.1 → 1.2.3

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 (34) hide show
  1. package/README.md +18 -8
  2. package/config/pretty-print-enabled.js +1 -1
  3. package/logic/errors/capture-errors-from-cause.d.ts +3 -0
  4. package/logic/{pretty-errors.js → errors/capture-errors-from-cause.js} +6 -6
  5. package/logic/errors/parse-error.d.ts +2 -0
  6. package/logic/{default-render-error.js → errors/parse-error.js} +4 -4
  7. package/logic/{pretty-error-message.js → errors/pretty-error-message.js} +1 -0
  8. package/logic/{get-span-attributes.js → spans/get-span-attributes.js} +3 -2
  9. package/logic/{filter-stack.js → stack/filter-stack.js} +1 -1
  10. package/package.json +17 -8
  11. package/pretty-print.js +7 -6
  12. package/tests/matchers/index.d.ts +1 -0
  13. package/tests/matchers/index.js +9 -0
  14. package/tests/matchers/to-chalk-match.d.ts +1 -0
  15. package/tests/matchers/to-chalk-match.js +67 -0
  16. package/tests/mocks/chalk.mock.d.ts +1 -0
  17. package/tests/mocks/chalk.mock.js +10 -0
  18. package/tests/mocks/console.mock.d.ts +9 -0
  19. package/tests/mocks/console.mock.js +66 -0
  20. package/tests/mocks/process.mock.d.ts +6 -0
  21. package/tests/mocks/process.mock.js +66 -0
  22. package/tests/regex/duration.regex.d.ts +1 -0
  23. package/tests/regex/duration.regex.js +4 -0
  24. package/tests/runners/effect-cause.d.ts +2 -0
  25. package/tests/runners/effect-cause.js +8 -0
  26. package/logic/default-render-error.d.ts +0 -2
  27. package/logic/pretty-errors.d.ts +0 -3
  28. /package/logic/{pretty-error-message.d.ts → errors/pretty-error-message.d.ts} +0 -0
  29. /package/logic/{get-span-attributes.d.ts → spans/get-span-attributes.d.ts} +0 -0
  30. /package/logic/{get-span-duration.d.ts → spans/get-span-duration.d.ts} +0 -0
  31. /package/logic/{get-span-duration.js → spans/get-span-duration.js} +0 -0
  32. /package/logic/{spans-stack-trailing-char.d.ts → spans/spans-stack-trailing-char.d.ts} +0 -0
  33. /package/logic/{spans-stack-trailing-char.js → spans/spans-stack-trailing-char.js} +0 -0
  34. /package/logic/{filter-stack.d.ts → stack/filter-stack.d.ts} +0 -0
package/README.md CHANGED
@@ -19,13 +19,11 @@ So using it would look like this :
19
19
  ```typescript
20
20
  import { runPromise } from 'effect-errors';
21
21
 
22
- (async () => {
23
- await runPromise(
24
- Effect.gen(function* (_) {
25
- // ...
26
- }),
27
- );
28
- })();
22
+ await runPromise(
23
+ Effect.gen(function* (_) {
24
+ // ...
25
+ }),
26
+ );
29
27
  ```
30
28
 
31
29
  The fancy logging behavior is enabled if your node env is `development` or if you set `EFFECT_PRETTY_PRINT` env var to `true`.
@@ -35,7 +33,19 @@ You can also directly import the `prettyPrint` function to do whatever with it i
35
33
  ```typescript
36
34
  import { prettyPrint } from 'effect-errors';
37
35
 
38
- // ...
36
+ await Effect.runPromise(
37
+ pipe(
38
+ Effect.gen(function* (_) {
39
+ // ...
40
+ }),
41
+ Effect.sandbox,
42
+ Effect.catchAll((e) => {
43
+ console.error(prettyPrint(e));
44
+
45
+ return Effect.fail('❌ runPromise failure') as never;
46
+ }),
47
+ ),
48
+ );
39
49
  ```
40
50
 
41
51
  Signature is the following:
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prettyPrintEnabled = void 0;
4
4
  var dotenv_flow_1 = require("dotenv-flow");
5
- (0, dotenv_flow_1.config)();
5
+ (0, dotenv_flow_1.config)({ silent: true });
6
6
  exports.prettyPrintEnabled = process.env.NODE_ENV === 'development' ||
7
7
  process.env.EFFECT_PRETTY_PRINT === 'true';
@@ -0,0 +1,3 @@
1
+ import { Cause } from 'effect/Cause';
2
+ import { PrettyError } from '../../types/pretty-error.type';
3
+ export declare const captureErrorsFrom: <E>(cause: Cause<E>) => readonly PrettyError[];
@@ -25,17 +25,17 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
25
25
  return to.concat(ar || Array.prototype.slice.call(from));
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.prettyErrors = void 0;
28
+ exports.captureErrorsFrom = void 0;
29
29
  var Cause_1 = require("effect/Cause");
30
- var default_render_error_1 = require("./default-render-error");
31
- var prettyErrors = function (cause) {
30
+ var parse_error_1 = require("./parse-error");
31
+ var captureErrorsFrom = function (cause) {
32
32
  return (0, Cause_1.reduceWithContext)(cause, void 0, {
33
33
  emptyCase: function () { return []; },
34
- dieCase: function (_, unknownError) { return [(0, default_render_error_1.defaultRenderError)(unknownError)]; },
35
- failCase: function (_, error) { return [(0, default_render_error_1.defaultRenderError)(error)]; },
34
+ dieCase: function (_, unknownError) { return [(0, parse_error_1.parseError)(unknownError)]; },
35
+ failCase: function (_, error) { return [(0, parse_error_1.parseError)(error)]; },
36
36
  interruptCase: function () { return []; },
37
37
  parallelCase: function (_, l, r) { return __spreadArray(__spreadArray([], __read(l), false), __read(r), false); },
38
38
  sequentialCase: function (_, l, r) { return __spreadArray(__spreadArray([], __read(l), false), __read(r), false); },
39
39
  });
40
40
  };
41
- exports.prettyErrors = prettyErrors;
41
+ exports.captureErrorsFrom = captureErrorsFrom;
@@ -0,0 +1,2 @@
1
+ import { PrettyError } from '../../types/pretty-error.type';
2
+ export declare const parseError: (error: unknown) => PrettyError;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultRenderError = void 0;
3
+ exports.parseError = void 0;
4
4
  var Predicate_1 = require("effect/Predicate");
5
- var pretty_error_type_1 = require("../types/pretty-error.type");
5
+ var pretty_error_type_1 = require("../../types/pretty-error.type");
6
6
  var pretty_error_message_1 = require("./pretty-error-message");
7
7
  var spanSymbol = Symbol.for('effect/SpanAnnotation');
8
- var defaultRenderError = function (error) {
8
+ var parseError = function (error) {
9
9
  var _a;
10
10
  var span = ((0, Predicate_1.hasProperty)(error, spanSymbol) && error[spanSymbol]);
11
11
  if (error instanceof Error) {
@@ -13,4 +13,4 @@ var defaultRenderError = function (error) {
13
13
  }
14
14
  return new pretty_error_type_1.PrettyError((0, pretty_error_message_1.prettyErrorMessage)(error), void 0, span);
15
15
  };
16
- exports.defaultRenderError = defaultRenderError;
16
+ exports.parseError = parseError;
@@ -39,6 +39,7 @@ var prettyErrorMessage = function (u) {
39
39
  if ((0, Predicate_1.hasProperty)(u, '_tag') && (0, Predicate_1.hasProperty)(u, 'message')) {
40
40
  return "".concat(chalk_1.default.bgRed(" ".concat(u._tag, " ")), " ").concat(chalk_1.default.bold.whiteBright("\u2022 ".concat(u.message)), "\r\n");
41
41
  }
42
+ // Plain objects with toString impl
42
43
  if ((0, Predicate_1.hasProperty)(u, 'toString') &&
43
44
  (0, Function_1.isFunction)(u['toString']) &&
44
45
  u['toString'] !== Object.prototype.toString &&
@@ -25,11 +25,12 @@ var getSpanAttributes = function (attributes, isLastEntry) {
25
25
  if (attributes.size === 0) {
26
26
  return '';
27
27
  }
28
- return "".concat("\r\n".concat(Array.from(attributes.entries())
28
+ var formattedAttributes = Array.from(attributes.entries())
29
29
  .map(function (_a) {
30
30
  var _b = __read(_a, 2), key = _b[0], value = _b[1];
31
31
  return "".concat(isLastEntry ? ' ' : chalk_1.default.gray('│'), " ").concat(chalk_1.default.blue(key)).concat(chalk_1.default.gray(':'), " ").concat(value);
32
32
  })
33
- .join('\r\n')));
33
+ .join('\r\n');
34
+ return "".concat("\r\n".concat(formattedAttributes));
34
35
  };
35
36
  exports.getSpanAttributes = getSpanAttributes;
@@ -12,7 +12,7 @@ var __values = (this && this.__values) || function(o) {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.filterStack = void 0;
15
- var strip_cwd_path_1 = require("./strip-cwd-path");
15
+ var strip_cwd_path_1 = require("../strip-cwd-path");
16
16
  var filterStack = function (stack, stripCwd) {
17
17
  var e_1, _a;
18
18
  var lines = stack.split('\n');
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "repository": "https://github.com/jpb06/effect-errors.git",
3
3
  "main": "dist/index.js",
4
4
  "name": "effect-errors",
5
- "version": "1.2.1",
5
+ "version": "1.2.3",
6
6
  "author": "jpb06 <jp.bois.06@outlook.fr>",
7
7
  "description": "A POC for errors reporting in Effect",
8
8
  "keywords": [],
@@ -18,22 +18,28 @@
18
18
  "postbuild": "bun run copy-package && bun run copy-readme",
19
19
  "lint": "eslint ./src",
20
20
  "type-check": "tsc --noEmit",
21
+ "test": "vitest",
22
+ "test-ci": "vitest --coverage --run",
23
+ "test-dev": "vitest --coverage",
24
+ "test-coverage": "vitest run --coverage",
21
25
  "sync-icons": "bun generateReadmeIcons -h 50",
22
- "run-examples": "for i in ./src/examples/*.ts; do bun run $i; done"
26
+ "run-example": "bun run ./src/examples/util/run",
27
+ "run-examples": "bun run ./src/examples/util/run-all"
23
28
  },
24
29
  "dependencies": {
25
- "@effect/schema": "^0.63.2",
30
+ "@effect/schema": "^0.64.1",
26
31
  "chalk": "^5.3.0",
27
32
  "dotenv-flow": "^4.1.0",
28
- "effect": "^2.4.1"
33
+ "effect": "^2.4.5"
29
34
  },
30
35
  "devDependencies": {
31
36
  "@stylistic/eslint-plugin": "^1.6.3",
32
37
  "@types/eslint": "^8.56.5",
33
38
  "@types/fs-extra": "^11.0.4",
34
- "@types/node": "^20.11.25",
35
- "@typescript-eslint/eslint-plugin": "^7.1.1",
36
- "@typescript-eslint/parser": "^7.1.1",
39
+ "@types/node": "^20.11.27",
40
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
41
+ "@typescript-eslint/parser": "^7.2.0",
42
+ "@vitest/coverage-v8": "^1.3.1",
37
43
  "copyfiles": "^2.4.1",
38
44
  "del-cli": "^5.1.0",
39
45
  "eslint": "^8.57.0",
@@ -42,9 +48,12 @@
42
48
  "eslint-plugin-import": "^2.29.1",
43
49
  "eslint-plugin-markdown": "^3.0.1",
44
50
  "eslint-plugin-prettier": "^5.1.3",
51
+ "eslint-plugin-vitest": "^0.3.26",
45
52
  "fs-extra": "^11.2.0",
46
53
  "prettier": "^3.2.5",
47
54
  "readme-package-icons": "^1.1.14",
48
- "typescript": "^5.4.2"
55
+ "typescript": "^5.4.2",
56
+ "vitest": "^1.3.1",
57
+ "vitest-mock-extended": "^1.3.1"
49
58
  }
50
59
  }
package/pretty-print.js CHANGED
@@ -7,11 +7,11 @@ exports.prettyPrint = void 0;
7
7
  var chalk_1 = __importDefault(require("chalk"));
8
8
  var effect_1 = require("effect");
9
9
  var Cause_1 = require("effect/Cause");
10
- var filter_stack_1 = require("./logic/filter-stack");
11
- var get_span_attributes_1 = require("./logic/get-span-attributes");
12
- var get_span_duration_1 = require("./logic/get-span-duration");
13
- var pretty_errors_1 = require("./logic/pretty-errors");
14
- var spans_stack_trailing_char_1 = require("./logic/spans-stack-trailing-char");
10
+ var capture_errors_from_cause_1 = require("./logic/errors/capture-errors-from-cause");
11
+ var get_span_attributes_1 = require("./logic/spans/get-span-attributes");
12
+ var get_span_duration_1 = require("./logic/spans/get-span-duration");
13
+ var spans_stack_trailing_char_1 = require("./logic/spans/spans-stack-trailing-char");
14
+ var filter_stack_1 = require("./logic/stack/filter-stack");
15
15
  var strip_cwd_path_1 = require("./logic/strip-cwd-path");
16
16
  var pretty_print_options_type_1 = require("./types/pretty-print-options.type");
17
17
  var prettyPrint = function (cause, _a) {
@@ -19,7 +19,7 @@ var prettyPrint = function (cause, _a) {
19
19
  if ((0, Cause_1.isInterruptedOnly)(cause)) {
20
20
  return 'All fibers interrupted without errors.';
21
21
  }
22
- var failures = (0, pretty_errors_1.prettyErrors)(cause);
22
+ var failures = (0, capture_errors_from_cause_1.captureErrorsFrom)(cause);
23
23
  console.error("\r\n\uD83E\uDEE0 ".concat(chalk_1.default.bold.yellowBright.underline("".concat(failures.length, " error").concat(failures.length > 1 ? 's' : '', " occurred\n"))));
24
24
  return failures
25
25
  .map(function (_a, failuresIndex) {
@@ -38,6 +38,7 @@ var prettyPrint = function (cause, _a) {
38
38
  : '') +
39
39
  message +
40
40
  spans_1
41
+ .reverse()
41
42
  .map(function (_a, index) {
42
43
  var name = _a.name, attributes = _a.attributes, status = _a.status;
43
44
  var isFirstEntry = index === 0;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var to_chalk_match_1 = require("./to-chalk-match");
4
+ var matchers = function () {
5
+ Promise.all([(0, to_chalk_match_1.chalkMatcher)()]);
6
+ };
7
+ (function () {
8
+ matchers();
9
+ })();
@@ -0,0 +1 @@
1
+ export declare const chalkMatcher: () => Promise<void>;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.chalkMatcher = void 0;
40
+ var vitest_1 = require("vitest");
41
+ var chalkMatcher = function () { return __awaiter(void 0, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ vitest_1.expect.extend({
44
+ toChalkMatch: function (received, expected) {
45
+ var escaped;
46
+ if (expected instanceof RegExp) {
47
+ escaped = expected;
48
+ }
49
+ else {
50
+ escaped = RegExp(expected.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'gm');
51
+ }
52
+ var match = escaped.test(received);
53
+ return {
54
+ pass: match === true,
55
+ message: function () {
56
+ return match
57
+ ? "".concat(expected, " present in ").concat(received)
58
+ : "".concat(expected, " not present in: \r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n").concat(received, "\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500");
59
+ },
60
+ expected: expected,
61
+ };
62
+ },
63
+ });
64
+ return [2 /*return*/];
65
+ });
66
+ }); };
67
+ exports.chalkMatcher = chalkMatcher;
@@ -0,0 +1 @@
1
+ export declare const mockChalk: () => void;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mockChalk = void 0;
4
+ var vitest_1 = require("vitest");
5
+ var vitest_mock_extended_1 = require("vitest-mock-extended");
6
+ var mockChalk = function () {
7
+ var chalkMock = (0, vitest_mock_extended_1.mockDeep)();
8
+ vitest_1.vi.doMock('chalk', function () { return chalkMock; });
9
+ };
10
+ exports.mockChalk = mockChalk;
@@ -0,0 +1,9 @@
1
+ import { Mock } from 'vitest';
2
+ interface ConsoleMockingArgs {
3
+ error?: Mock;
4
+ info?: Mock;
5
+ log?: Mock;
6
+ warn?: Mock;
7
+ }
8
+ export declare const mockConsole: (args: ConsoleMockingArgs) => Promise<void>;
9
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.mockConsole = void 0;
51
+ var vitest_1 = require("vitest");
52
+ var mockConsole = function (args) { return __awaiter(void 0, void 0, void 0, function () {
53
+ var _a, _b;
54
+ return __generator(this, function (_c) {
55
+ switch (_c.label) {
56
+ case 0:
57
+ _a = global;
58
+ _b = [{}];
59
+ return [4 /*yield*/, vitest_1.vi.importActual('node:console')];
60
+ case 1:
61
+ _a.console = __assign.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.sent())])), args]);
62
+ return [2 /*return*/];
63
+ }
64
+ });
65
+ }); };
66
+ exports.mockConsole = mockConsole;
@@ -0,0 +1,6 @@
1
+ import { Mock } from 'vitest';
2
+ interface ProcessMockingArgs {
3
+ cwd?: Mock;
4
+ }
5
+ export declare const mockProcess: (args: ProcessMockingArgs) => Promise<void>;
6
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.mockProcess = void 0;
51
+ var vitest_1 = require("vitest");
52
+ var mockProcess = function (args) { return __awaiter(void 0, void 0, void 0, function () {
53
+ var _a, _b;
54
+ return __generator(this, function (_c) {
55
+ switch (_c.label) {
56
+ case 0:
57
+ _a = global;
58
+ _b = [{}];
59
+ return [4 /*yield*/, vitest_1.vi.importActual('node:process')];
60
+ case 1:
61
+ _a.process = __assign.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.sent())])), args]);
62
+ return [2 /*return*/];
63
+ }
64
+ });
65
+ }); };
66
+ exports.mockProcess = mockProcess;
@@ -0,0 +1 @@
1
+ export declare const durationRegex: RegExp;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.durationRegex = void 0;
4
+ exports.durationRegex = /~ \d+ms/;
@@ -0,0 +1,2 @@
1
+ import { Effect } from 'effect';
2
+ export declare const effectCause: <A, E>(effect: Effect.Effect<A, E>) => Promise<import("effect/Cause").Cause<E>>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.effectCause = void 0;
4
+ var effect_1 = require("effect");
5
+ var effectCause = function (effect) {
6
+ return effect_1.Effect.runPromise((0, effect_1.pipe)(effect, effect_1.Effect.catchAllCause(function (e) { return effect_1.Effect.fail(e); }), effect_1.Effect.flip));
7
+ };
8
+ exports.effectCause = effectCause;
@@ -1,2 +0,0 @@
1
- import { PrettyError } from '../types/pretty-error.type';
2
- export declare const defaultRenderError: (error: unknown) => PrettyError;
@@ -1,3 +0,0 @@
1
- import { Cause } from 'effect/Cause';
2
- import { PrettyError } from '../types/pretty-error.type';
3
- export declare const prettyErrors: <E>(cause: Cause<E>) => readonly PrettyError[];