@effect/vitest 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.
package/dist/cjs/index.js CHANGED
@@ -3,6 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ effect: true,
8
+ live: true,
9
+ flakyTest: true,
10
+ scoped: true,
11
+ scopedLive: true,
12
+ it: true
13
+ };
6
14
  exports.scopedLive = exports.scoped = exports.live = exports.it = exports.flakyTest = exports.effect = void 0;
7
15
  var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
8
16
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
@@ -12,6 +20,17 @@ var Logger = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/
12
20
  var Schedule = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Schedule"));
13
21
  var TestEnvironment = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/TestContext"));
14
22
  var V = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("vitest"));
23
+ Object.keys(V).forEach(function (key) {
24
+ if (key === "default" || key === "__esModule") return;
25
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
26
+ if (key in exports && exports[key] === V[key]) return;
27
+ Object.defineProperty(exports, key, {
28
+ enumerable: true,
29
+ get: function () {
30
+ return V[key];
31
+ }
32
+ });
33
+ });
15
34
  function _getRequireWildcardCache(e) {
16
35
  if ("function" != typeof WeakMap) return null;
17
36
  var r = new WeakMap(),
@@ -31,7 +50,7 @@ function _interopRequireWildcard(e, r) {
31
50
  __proto__: null
32
51
  },
33
52
  a = Object.defineProperty && Object.getOwnPropertyDescriptor;
34
- for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) {
53
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
35
54
  var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
36
55
  i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
37
56
  }
@@ -41,25 +60,21 @@ function _interopRequireWildcard(e, r) {
41
60
  * @since 1.0.0
42
61
  */
43
62
 
44
- /**
45
- * @since 1.0.0
46
- */
47
- const it = exports.it = V.it;
48
63
  const TestEnv = /*#__PURE__*/TestEnvironment.TestContext.pipe( /*#__PURE__*/Layer.provide( /*#__PURE__*/Logger.remove(Logger.defaultLogger)));
49
64
  /**
50
65
  * @since 1.0.0
51
66
  */
52
67
  const effect = exports.effect = /*#__PURE__*/(() => {
53
- const f = (name, self, timeout = 5000) => it(name, () => (0, _Function.pipe)(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.provide(TestEnv), Effect.runPromise), timeout);
68
+ const f = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout);
54
69
  return Object.assign(f, {
55
- skip: (name, self, timeout = 5000) => it.skip(name, () => (0, _Function.pipe)(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.provide(TestEnv), Effect.runPromise), timeout),
56
- only: (name, self, timeout = 5000) => it.only(name, () => (0, _Function.pipe)(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.provide(TestEnv), Effect.runPromise), timeout)
70
+ skip: (name, self, timeout = 5_000) => it.skip(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout),
71
+ only: (name, self, timeout = 5_000) => it.only(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout)
57
72
  });
58
73
  })();
59
74
  /**
60
75
  * @since 1.0.0
61
76
  */
62
- const live = (name, self, timeout = 5000) => it(name, () => (0, _Function.pipe)(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.runPromise), timeout);
77
+ const live = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.runPromise), timeout);
63
78
  /**
64
79
  * @since 1.0.0
65
80
  */
@@ -69,11 +84,25 @@ const flakyTest = (self, timeout = Duration.seconds(30)) => (0, _Function.pipe)(
69
84
  * @since 1.0.0
70
85
  */
71
86
  exports.flakyTest = flakyTest;
72
- const scoped = (name, self, timeout = 5000) => it(name, () => (0, _Function.pipe)(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.scoped, Effect.provide(TestEnv), Effect.runPromise), timeout);
87
+ const scoped = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.scoped, Effect.provide(TestEnv), Effect.runPromise), timeout);
73
88
  /**
74
89
  * @since 1.0.0
75
90
  */
76
91
  exports.scoped = scoped;
77
- const scopedLive = (name, self, timeout = 5000) => it(name, () => (0, _Function.pipe)(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.scoped, Effect.runPromise), timeout);
92
+ const scopedLive = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.scoped, Effect.runPromise), timeout);
78
93
  exports.scopedLive = scopedLive;
94
+ const methods = {
95
+ effect,
96
+ live,
97
+ flakyTest,
98
+ scoped,
99
+ scopedLive
100
+ };
101
+ /**
102
+ * @since 1.0.0
103
+ */
104
+ const it = exports.it = /*#__PURE__*/Object.assign(V.it, methods);
105
+ /**
106
+ * @since 1.0.0
107
+ */
79
108
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Duration","_interopRequireWildcard","require","Effect","_Function","Layer","Logger","Schedule","TestEnvironment","V","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","it","exports","TestEnv","TestContext","pipe","provide","remove","defaultLogger","effect","f","name","self","timeout","isEffect","suspend","runPromise","assign","skip","only","live","flakyTest","seconds","catchAllDefect","fail","retry","recurs","compose","elapsed","whileOutput","lessThanOrEqualTo","orDie","scoped","scopedLive"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Duration","_interopRequireWildcard","require","Effect","_Function","Layer","Logger","Schedule","TestEnvironment","V","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","TestEnv","TestContext","pipe","provide","remove","defaultLogger","effect","f","name","self","timeout","it","c","suspend","runPromise","assign","skip","only","live","flakyTest","seconds","catchAllDefect","fail","retry","recurs","compose","elapsed","whileOutput","lessThanOrEqualTo","orDie","scoped","scopedLive","methods"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;AAGA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,SAAA,gBAAAF,OAAA;AACA,IAAAG,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,MAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,QAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAEA,IAAAM,eAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAGA,IAAAO,CAAA,gBAAAR,uBAAA,eAAAC,OAAA;AA2JAQ,MAAA,CAAAC,IAAA,CAAAF,CAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,CAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,CAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAAsB,SAAAS,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAtB,wBAAAsB,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAL,GAAA,CAAAE,CAAA;EAAA,IAAAO,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAtB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAuB,wBAAA;EAAA,SAAAC,CAAA,IAAAX,CAAA,oBAAAW,CAAA,OAAAnB,cAAA,CAAAC,IAAA,CAAAO,CAAA,EAAAW,CAAA;IAAA,IAAAC,CAAA,GAAAH,CAAA,GAAAtB,MAAA,CAAAuB,wBAAA,CAAAV,CAAA,EAAAW,CAAA;IAAAC,CAAA,KAAAA,CAAA,CAAAd,GAAA,IAAAc,CAAA,CAAAC,GAAA,IAAA1B,MAAA,CAAAS,cAAA,CAAAW,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAAX,CAAA,CAAAW,CAAA;EAAA;EAAA,OAAAJ,CAAA,CAAAF,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAb,CAAA,EAAAO,CAAA,GAAAA,CAAA;AAAA;AAxKtB;;;;AAoBA,MAAMO,OAAO,gBAAG7B,eAAe,CAAC8B,WAAW,CAACC,IAAI,eAC9ClC,KAAK,CAACmC,OAAO,eAAClC,MAAM,CAACmC,MAAM,CAACnC,MAAM,CAACoC,aAAa,CAAC,CAAC,CACnD;AAED;;;AAGO,MAAMC,MAAM,GAAAzB,OAAA,CAAAyB,MAAA,gBAAG,CAAC,MAAK;EAC1B,MAAMC,CAAC,GAAGA,CACRC,IAAY,EACZC,IAAwG,EACxGC,OAAA,GAAkC,KAAK,KAEvCC,EAAE,CACAH,IAAI,EACHI,CAAC,IACA,IAAA7C,SAAA,CAAAmC,IAAI,EACFpC,MAAM,CAAC+C,OAAO,CAAC,MAAMJ,IAAI,CAACG,CAAC,CAAC,CAAC,EAC7B9C,MAAM,CAACqC,OAAO,CAACH,OAAO,CAAC,EACvBlC,MAAM,CAACgD,UAAU,CAClB,EACHJ,OAAO,CACR;EACH,OAAOrC,MAAM,CAAC0C,MAAM,CAACR,CAAC,EAAE;IACtBS,IAAI,EAAEA,CACJR,IAAY,EACZC,IAAwG,EACxGC,OAAO,GAAG,KAAK,KAEfC,EAAE,CAACK,IAAI,CACLR,IAAI,EACHI,CAAC,IACA,IAAA7C,SAAA,CAAAmC,IAAI,EACFpC,MAAM,CAAC+C,OAAO,CAAC,MAAMJ,IAAI,CAACG,CAAC,CAAC,CAAC,EAC7B9C,MAAM,CAACqC,OAAO,CAACH,OAAO,CAAC,EACvBlC,MAAM,CAACgD,UAAU,CAClB,EACHJ,OAAO,CACR;IACHO,IAAI,EAAEA,CACJT,IAAY,EACZC,IAAwG,EACxGC,OAAO,GAAG,KAAK,KAEfC,EAAE,CAACM,IAAI,CACLT,IAAI,EACHI,CAAC,IACA,IAAA7C,SAAA,CAAAmC,IAAI,EACFpC,MAAM,CAAC+C,OAAO,CAAC,MAAMJ,IAAI,CAACG,CAAC,CAAC,CAAC,EAC7B9C,MAAM,CAACqC,OAAO,CAACH,OAAO,CAAC,EACvBlC,MAAM,CAACgD,UAAU,CAClB,EACHJ,OAAO;GAEZ,CAAC;AACJ,CAAC,EAAC,CAAE;AAEJ;;;AAGO,MAAMQ,IAAI,GAAGA,CAClBV,IAAY,EACZC,IAA6E,EAC7EC,OAAO,GAAG,KAAK,KAEfC,EAAE,CACAH,IAAI,EACHI,CAAC,IACA,IAAA7C,SAAA,CAAAmC,IAAI,EACFpC,MAAM,CAAC+C,OAAO,CAAC,MAAMJ,IAAI,CAACG,CAAC,CAAC,CAAC,EAC7B9C,MAAM,CAACgD,UAAU,CAClB,EACHJ,OAAO,CACR;AAEH;;;AAAA7B,OAAA,CAAAqC,IAAA,GAAAA,IAAA;AAGO,MAAMC,SAAS,GAAGA,CACvBV,IAA4B,EAC5BC,OAAA,GAA6B/C,QAAQ,CAACyD,OAAO,CAAC,EAAE,CAAC,KAEjD,IAAArD,SAAA,CAAAmC,IAAI,EACFpC,MAAM,CAACuD,cAAc,CAACZ,IAAI,EAAE3C,MAAM,CAACwD,IAAI,CAAC,EACxCxD,MAAM,CAACyD,KAAK,CACV,IAAAxD,SAAA,CAAAmC,IAAI,EACFhC,QAAQ,CAACsD,MAAM,CAAC,EAAE,CAAC,EACnBtD,QAAQ,CAACuD,OAAO,CAACvD,QAAQ,CAACwD,OAAO,CAAC,EAClCxD,QAAQ,CAACyD,WAAW,CAAChE,QAAQ,CAACiE,iBAAiB,CAAClB,OAAO,CAAC,CAAC,CAC1D,CACF,EACD5C,MAAM,CAAC+D,KAAK,CACb;AAEH;;;AAAAhD,OAAA,CAAAsC,SAAA,GAAAA,SAAA;AAGO,MAAMW,MAAM,GAAGA,CACpBtB,IAAY,EACZC,IAEiE,EACjEC,OAAO,GAAG,KAAK,KAEfC,EAAE,CACAH,IAAI,EACHI,CAAC,IACA,IAAA7C,SAAA,CAAAmC,IAAI,EACFpC,MAAM,CAAC+C,OAAO,CAAC,MAAMJ,IAAI,CAACG,CAAC,CAAC,CAAC,EAC7B9C,MAAM,CAACgE,MAAM,EACbhE,MAAM,CAACqC,OAAO,CAACH,OAAO,CAAC,EACvBlC,MAAM,CAACgD,UAAU,CAClB,EACHJ,OAAO,CACR;AAEH;;;AAAA7B,OAAA,CAAAiD,MAAA,GAAAA,MAAA;AAGO,MAAMC,UAAU,GAAGA,CACxBvB,IAAY,EACZC,IAA0F,EAC1FC,OAAO,GAAG,KAAK,KAEfC,EAAE,CACAH,IAAI,EACHI,CAAC,IACA,IAAA7C,SAAA,CAAAmC,IAAI,EACFpC,MAAM,CAAC+C,OAAO,CAAC,MAAMJ,IAAI,CAACG,CAAC,CAAC,CAAC,EAC7B9C,MAAM,CAACgE,MAAM,EACbhE,MAAM,CAACgD,UAAU,CAClB,EACHJ,OAAO,CACR;AAAA7B,OAAA,CAAAkD,UAAA,GAAAA,UAAA;AAEH,MAAMC,OAAO,GAAG;EAAE1B,MAAM;EAAEY,IAAI;EAAEC,SAAS;EAAEW,MAAM;EAAEC;AAAU,CAAW;AAExE;;;AAGO,MAAMpB,EAAE,GAAA9B,OAAA,CAAA8B,EAAA,gBAAyBtC,MAAM,CAAC0C,MAAM,CACnD3C,CAAC,CAACuC,EAAE,EACJqB,OAAO,CACR;AAED","ignoreList":[]}
@@ -14,28 +14,42 @@ export type API = TestAPI<{}>;
14
14
  /**
15
15
  * @since 1.0.0
16
16
  */
17
- export declare const it: API;
17
+ export declare const effect: (<E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>, timeout?: number | V.TestOptions) => void) & {
18
+ skip: <E_1, A_1>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_1, E_1, TestServices.TestServices>, timeout?: number) => void;
19
+ only: <E_2, A_2>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_2, E_2, TestServices.TestServices>, timeout?: number) => void;
20
+ };
18
21
  /**
19
22
  * @since 1.0.0
20
23
  */
21
- export declare const effect: (<E, A>(name: string, self: Effect.Effect<A, E, TestServices.TestServices> | (() => Effect.Effect<A, E, TestServices.TestServices>), timeout?: number | V.TestOptions) => void) & {
22
- skip: <E_1, A_1>(name: string, self: Effect.Effect<A_1, E_1, TestServices.TestServices> | (() => Effect.Effect<A_1, E_1, TestServices.TestServices>), timeout?: number) => void;
23
- only: <E_2, A_2>(name: string, self: Effect.Effect<A_2, E_2, TestServices.TestServices> | (() => Effect.Effect<A_2, E_2, TestServices.TestServices>), timeout?: number) => void;
24
- };
24
+ export declare const live: <E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E>, timeout?: number) => void;
25
25
  /**
26
26
  * @since 1.0.0
27
27
  */
28
- export declare const live: <E, A>(name: string, self: Effect.Effect<A, E, never> | (() => Effect.Effect<A, E, never>), timeout?: number) => void;
28
+ export declare const flakyTest: <A, E, R>(self: Effect.Effect<A, E, R>, timeout?: Duration.Duration) => Effect.Effect<A, never, R>;
29
29
  /**
30
30
  * @since 1.0.0
31
31
  */
32
- export declare const flakyTest: <A, E, R>(self: Effect.Effect<A, E, R>, timeout?: Duration.Duration) => Effect.Effect<A, never, R>;
32
+ export declare const scoped: <E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, Scope.Scope | TestServices.TestServices>, timeout?: number) => void;
33
+ /**
34
+ * @since 1.0.0
35
+ */
36
+ export declare const scopedLive: <E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, Scope.Scope>, timeout?: number) => void;
37
+ declare const methods: {
38
+ readonly effect: (<E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>, timeout?: number | V.TestOptions) => void) & {
39
+ skip: <E_1, A_1>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_1, E_1, TestServices.TestServices>, timeout?: number) => void;
40
+ only: <E_2, A_2>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_2, E_2, TestServices.TestServices>, timeout?: number) => void;
41
+ };
42
+ readonly live: <E_1, A_1>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_1, E_1, never>, timeout?: number) => void;
43
+ readonly flakyTest: <A_2, E_2, R>(self: Effect.Effect<A_2, E_2, R>, timeout?: Duration.Duration) => Effect.Effect<A_2, never, R>;
44
+ readonly scoped: <E_3, A_3>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_3, E_3, TestServices.TestServices | Scope.Scope>, timeout?: number) => void;
45
+ readonly scopedLive: <E_4, A_4>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_4, E_4, Scope.Scope>, timeout?: number) => void;
46
+ };
33
47
  /**
34
48
  * @since 1.0.0
35
49
  */
36
- export declare const scoped: <E, A>(name: string, self: Effect.Effect<A, E, TestServices.TestServices | Scope.Scope> | (() => Effect.Effect<A, E, TestServices.TestServices | Scope.Scope>), timeout?: number) => void;
50
+ export declare const it: API & typeof methods;
37
51
  /**
38
52
  * @since 1.0.0
39
53
  */
40
- export declare const scopedLive: <E, A>(name: string, self: Effect.Effect<A, E, Scope.Scope> | (() => Effect.Effect<A, E, Scope.Scope>), timeout?: number) => void;
54
+ export * from "vitest";
41
55
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;AAE7B;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,GAAU,CAAA;AAM3B;;GAEG;AACH,eAAO,MAAM,MAAM,gBAET,MAAM,2HAEH,MAAM,GAAG,EAAE,WAAW;2BAcvB,MAAM;2BAeN,MAAM;CAed,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,IAAI,eACT,MAAM,kGAYX,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS,oDAEX,iBAAiB,+BAYzB,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,eACX,MAAM,sKAgBX,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,eACf,MAAM,8GAeX,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;AAM7B;;GAEG;AACH,eAAO,MAAM,MAAM,gBAET,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,yBAAyB,CAAC,YAC/F,MAAM,GAAG,EAAE,WAAW;2BAcvB,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;2BAc/C,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;CAcvD,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,IAAI,eACT,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,2BAW5E,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS,kBACd,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YACnB,iBAAiB,+BAYzB,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,eACX,MAAM,cAEL,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAC3C,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,yBAAyB,CAAC,2BAahE,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,eACf,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,2BAYzF,CAAA;AAEH,QAAA,MAAM,OAAO;mCA9HH,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,yBAAyB,CAAC,YAC/F,MAAM,GAAG,EAAE,WAAW;+BAcvB,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;+BAc/C,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;;oCAoBnD,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;kFAkB5C,iBAAiB;sCAkBpB,MAAM,cAEL,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;0CAoB1C,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;CAciB,CAAA;AAExE;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,GAAG,GAAG,OAAO,OAG7B,CAAA;AAED;;GAEG;AACH,cAAc,QAAQ,CAAA"}
package/dist/esm/index.js CHANGED
@@ -9,25 +9,21 @@ import * as Logger from "effect/Logger";
9
9
  import * as Schedule from "effect/Schedule";
10
10
  import * as TestEnvironment from "effect/TestContext";
11
11
  import * as V from "vitest";
12
- /**
13
- * @since 1.0.0
14
- */
15
- export const it = V.it;
16
12
  const TestEnv = /*#__PURE__*/TestEnvironment.TestContext.pipe( /*#__PURE__*/Layer.provide( /*#__PURE__*/Logger.remove(Logger.defaultLogger)));
17
13
  /**
18
14
  * @since 1.0.0
19
15
  */
20
16
  export const effect = /*#__PURE__*/(() => {
21
- const f = (name, self, timeout = 5000) => it(name, () => pipe(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.provide(TestEnv), Effect.runPromise), timeout);
17
+ const f = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout);
22
18
  return Object.assign(f, {
23
- skip: (name, self, timeout = 5000) => it.skip(name, () => pipe(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.provide(TestEnv), Effect.runPromise), timeout),
24
- only: (name, self, timeout = 5000) => it.only(name, () => pipe(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.provide(TestEnv), Effect.runPromise), timeout)
19
+ skip: (name, self, timeout = 5_000) => it.skip(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout),
20
+ only: (name, self, timeout = 5_000) => it.only(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout)
25
21
  });
26
22
  })();
27
23
  /**
28
24
  * @since 1.0.0
29
25
  */
30
- export const live = (name, self, timeout = 5000) => it(name, () => pipe(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.runPromise), timeout);
26
+ export const live = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.runPromise), timeout);
31
27
  /**
32
28
  * @since 1.0.0
33
29
  */
@@ -35,9 +31,24 @@ export const flakyTest = (self, timeout = Duration.seconds(30)) => pipe(Effect.c
35
31
  /**
36
32
  * @since 1.0.0
37
33
  */
38
- export const scoped = (name, self, timeout = 5000) => it(name, () => pipe(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.scoped, Effect.provide(TestEnv), Effect.runPromise), timeout);
34
+ export const scoped = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.scoped, Effect.provide(TestEnv), Effect.runPromise), timeout);
35
+ /**
36
+ * @since 1.0.0
37
+ */
38
+ export const scopedLive = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.scoped, Effect.runPromise), timeout);
39
+ const methods = {
40
+ effect,
41
+ live,
42
+ flakyTest,
43
+ scoped,
44
+ scopedLive
45
+ };
46
+ /**
47
+ * @since 1.0.0
48
+ */
49
+ export const it = /*#__PURE__*/Object.assign(V.it, methods);
39
50
  /**
40
51
  * @since 1.0.0
41
52
  */
42
- export const scopedLive = (name, self, timeout = 5000) => it(name, () => pipe(Effect.isEffect(self) ? self : Effect.suspend(self), Effect.scoped, Effect.runPromise), timeout);
53
+ export * from "vitest";
43
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Duration","Effect","pipe","Layer","Logger","Schedule","TestEnvironment","V","it","TestEnv","TestContext","provide","remove","defaultLogger","effect","f","name","self","timeout","isEffect","suspend","runPromise","Object","assign","skip","only","live","flakyTest","seconds","catchAllDefect","fail","retry","recurs","compose","elapsed","whileOutput","lessThanOrEqualTo","orDie","scoped","scopedLive"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Duration","Effect","pipe","Layer","Logger","Schedule","TestEnvironment","V","TestEnv","TestContext","provide","remove","defaultLogger","effect","f","name","self","timeout","it","c","suspend","runPromise","Object","assign","skip","only","live","flakyTest","seconds","catchAllDefect","fail","retry","recurs","compose","elapsed","whileOutput","lessThanOrEqualTo","orDie","scoped","scopedLive","methods"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/vitest",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Set of helpers for testing Effect's with vitest",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,7 +11,7 @@
11
11
  "sideEffects": [],
12
12
  "peerDependencies": {
13
13
  "vitest": "^1.4.0",
14
- "effect": "^2.4.10"
14
+ "effect": "^2.4.12"
15
15
  },
16
16
  "main": "./dist/cjs/index.js",
17
17
  "module": "./dist/esm/index.js",
package/src/index.ts CHANGED
@@ -18,11 +18,6 @@ import * as V from "vitest"
18
18
  */
19
19
  export type API = TestAPI<{}>
20
20
 
21
- /**
22
- * @since 1.0.0
23
- */
24
- export const it: API = V.it
25
-
26
21
  const TestEnv = TestEnvironment.TestContext.pipe(
27
22
  Layer.provide(Logger.remove(Logger.defaultLogger))
28
23
  )
@@ -33,14 +28,14 @@ const TestEnv = TestEnvironment.TestContext.pipe(
33
28
  export const effect = (() => {
34
29
  const f = <E, A>(
35
30
  name: string,
36
- self: Effect.Effect<A, E, TestServices.TestServices> | (() => Effect.Effect<A, E, TestServices.TestServices>),
31
+ self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>,
37
32
  timeout: number | V.TestOptions = 5_000
38
33
  ) =>
39
34
  it(
40
35
  name,
41
- () =>
36
+ (c) =>
42
37
  pipe(
43
- Effect.isEffect(self) ? self : Effect.suspend(self),
38
+ Effect.suspend(() => self(c)),
44
39
  Effect.provide(TestEnv),
45
40
  Effect.runPromise
46
41
  ),
@@ -49,14 +44,14 @@ export const effect = (() => {
49
44
  return Object.assign(f, {
50
45
  skip: <E, A>(
51
46
  name: string,
52
- self: Effect.Effect<A, E, TestServices.TestServices> | (() => Effect.Effect<A, E, TestServices.TestServices>),
47
+ self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>,
53
48
  timeout = 5_000
54
49
  ) =>
55
50
  it.skip(
56
51
  name,
57
- () =>
52
+ (c) =>
58
53
  pipe(
59
- Effect.isEffect(self) ? self : Effect.suspend(self),
54
+ Effect.suspend(() => self(c)),
60
55
  Effect.provide(TestEnv),
61
56
  Effect.runPromise
62
57
  ),
@@ -64,14 +59,14 @@ export const effect = (() => {
64
59
  ),
65
60
  only: <E, A>(
66
61
  name: string,
67
- self: Effect.Effect<A, E, TestServices.TestServices> | (() => Effect.Effect<A, E, TestServices.TestServices>),
62
+ self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>,
68
63
  timeout = 5_000
69
64
  ) =>
70
65
  it.only(
71
66
  name,
72
- () =>
67
+ (c) =>
73
68
  pipe(
74
- Effect.isEffect(self) ? self : Effect.suspend(self),
69
+ Effect.suspend(() => self(c)),
75
70
  Effect.provide(TestEnv),
76
71
  Effect.runPromise
77
72
  ),
@@ -85,14 +80,14 @@ export const effect = (() => {
85
80
  */
86
81
  export const live = <E, A>(
87
82
  name: string,
88
- self: Effect.Effect<A, E> | (() => Effect.Effect<A, E>),
83
+ self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E>,
89
84
  timeout = 5_000
90
85
  ) =>
91
86
  it(
92
87
  name,
93
- () =>
88
+ (c) =>
94
89
  pipe(
95
- Effect.isEffect(self) ? self : Effect.suspend(self),
90
+ Effect.suspend(() => self(c)),
96
91
  Effect.runPromise
97
92
  ),
98
93
  timeout
@@ -122,16 +117,16 @@ export const flakyTest = <A, E, R>(
122
117
  */
123
118
  export const scoped = <E, A>(
124
119
  name: string,
125
- self:
126
- | Effect.Effect<A, E, Scope.Scope | TestServices.TestServices>
127
- | (() => Effect.Effect<A, E, Scope.Scope | TestServices.TestServices>),
120
+ self: (
121
+ ctx: V.TaskContext<V.Test<{}>> & V.TestContext
122
+ ) => Effect.Effect<A, E, Scope.Scope | TestServices.TestServices>,
128
123
  timeout = 5_000
129
124
  ) =>
130
125
  it(
131
126
  name,
132
- () =>
127
+ (c) =>
133
128
  pipe(
134
- Effect.isEffect(self) ? self : Effect.suspend(self),
129
+ Effect.suspend(() => self(c)),
135
130
  Effect.scoped,
136
131
  Effect.provide(TestEnv),
137
132
  Effect.runPromise
@@ -144,18 +139,31 @@ export const scoped = <E, A>(
144
139
  */
145
140
  export const scopedLive = <E, A>(
146
141
  name: string,
147
- self:
148
- | Effect.Effect<A, E, Scope.Scope>
149
- | (() => Effect.Effect<A, E, Scope.Scope>),
142
+ self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, Scope.Scope>,
150
143
  timeout = 5_000
151
144
  ) =>
152
145
  it(
153
146
  name,
154
- () =>
147
+ (c) =>
155
148
  pipe(
156
- Effect.isEffect(self) ? self : Effect.suspend(self),
149
+ Effect.suspend(() => self(c)),
157
150
  Effect.scoped,
158
151
  Effect.runPromise
159
152
  ),
160
153
  timeout
161
154
  )
155
+
156
+ const methods = { effect, live, flakyTest, scoped, scopedLive } as const
157
+
158
+ /**
159
+ * @since 1.0.0
160
+ */
161
+ export const it: API & typeof methods = Object.assign(
162
+ V.it,
163
+ methods
164
+ )
165
+
166
+ /**
167
+ * @since 1.0.0
168
+ */
169
+ export * from "vitest"