@effect-app/infra 2.31.2 → 2.32.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 (84) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/Emailer/Sendgrid.cjs +3 -4
  3. package/_cjs/Emailer/Sendgrid.cjs.map +1 -1
  4. package/_cjs/Emailer/fake.cjs +0 -3
  5. package/_cjs/Emailer/fake.cjs.map +1 -1
  6. package/_cjs/Emailer/service.cjs +3 -5
  7. package/_cjs/Emailer/service.cjs.map +1 -1
  8. package/_cjs/Model/dsl.cjs +0 -3
  9. package/_cjs/Model/dsl.cjs.map +1 -1
  10. package/_cjs/QueueMaker/memQueue.cjs +0 -3
  11. package/_cjs/QueueMaker/memQueue.cjs.map +1 -1
  12. package/_cjs/QueueMaker/sbqueue.cjs +0 -6
  13. package/_cjs/QueueMaker/sbqueue.cjs.map +1 -1
  14. package/_cjs/QueueMaker/service.cjs.map +1 -1
  15. package/_cjs/RequestContext.cjs +0 -4
  16. package/_cjs/RequestContext.cjs.map +1 -1
  17. package/_cjs/Store/index.cjs +0 -3
  18. package/_cjs/Store/index.cjs.map +1 -1
  19. package/_cjs/Store/service.cjs +0 -8
  20. package/_cjs/Store/service.cjs.map +1 -1
  21. package/_cjs/adapters/memQueue.cjs +0 -4
  22. package/_cjs/adapters/memQueue.cjs.map +1 -1
  23. package/_cjs/arbs.cjs +0 -6
  24. package/_cjs/arbs.cjs.map +1 -1
  25. package/_cjs/rateLimit.cjs +0 -22
  26. package/_cjs/rateLimit.cjs.map +1 -1
  27. package/dist/CUPS.d.ts +1 -1
  28. package/dist/Emailer/Sendgrid.d.ts +0 -3
  29. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  30. package/dist/Emailer/Sendgrid.js +6 -7
  31. package/dist/Emailer/fake.d.ts +0 -3
  32. package/dist/Emailer/fake.d.ts.map +1 -1
  33. package/dist/Emailer/fake.js +1 -4
  34. package/dist/Emailer/service.d.ts +13 -10
  35. package/dist/Emailer/service.d.ts.map +1 -1
  36. package/dist/Emailer/service.js +4 -6
  37. package/dist/Model/Repository/service.d.ts +0 -3
  38. package/dist/Model/Repository/service.d.ts.map +1 -1
  39. package/dist/Model/dsl.d.ts +0 -9
  40. package/dist/Model/dsl.d.ts.map +1 -1
  41. package/dist/Model/dsl.js +1 -4
  42. package/dist/QueueMaker/memQueue.d.ts +0 -3
  43. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  44. package/dist/QueueMaker/memQueue.js +1 -4
  45. package/dist/QueueMaker/sbqueue.d.ts +2 -8
  46. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  47. package/dist/QueueMaker/sbqueue.js +1 -7
  48. package/dist/QueueMaker/service.d.ts +0 -3
  49. package/dist/QueueMaker/service.d.ts.map +1 -1
  50. package/dist/QueueMaker/service.js +1 -1
  51. package/dist/RequestContext.d.ts +1 -5
  52. package/dist/RequestContext.d.ts.map +1 -1
  53. package/dist/RequestContext.js +1 -5
  54. package/dist/Store/index.d.ts +0 -3
  55. package/dist/Store/index.d.ts.map +1 -1
  56. package/dist/Store/index.js +1 -4
  57. package/dist/Store/service.d.ts +1 -9
  58. package/dist/Store/service.d.ts.map +1 -1
  59. package/dist/Store/service.js +1 -9
  60. package/dist/adapters/ServiceBus.d.ts +1 -1
  61. package/dist/adapters/memQueue.d.ts +0 -4
  62. package/dist/adapters/memQueue.d.ts.map +1 -1
  63. package/dist/adapters/memQueue.js +1 -5
  64. package/dist/arbs.d.ts +0 -6
  65. package/dist/arbs.d.ts.map +1 -1
  66. package/dist/arbs.js +1 -7
  67. package/dist/rateLimit.d.ts +0 -15
  68. package/dist/rateLimit.d.ts.map +1 -1
  69. package/dist/rateLimit.js +1 -23
  70. package/package.json +2 -2
  71. package/src/Emailer/Sendgrid.ts +17 -18
  72. package/src/Emailer/fake.ts +0 -3
  73. package/src/Emailer/service.ts +6 -6
  74. package/src/Model/Repository/service.ts +0 -3
  75. package/src/Model/dsl.ts +0 -9
  76. package/src/QueueMaker/memQueue.ts +0 -3
  77. package/src/QueueMaker/sbqueue.ts +0 -6
  78. package/src/QueueMaker/service.ts +0 -3
  79. package/src/RequestContext.ts +0 -4
  80. package/src/Store/index.ts +0 -3
  81. package/src/Store/service.ts +0 -8
  82. package/src/adapters/memQueue.ts +0 -4
  83. package/src/arbs.ts +0 -6
  84. package/src/rateLimit.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../src/adapters/memQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;;0BAQ5B,MAAM;;0BAAN,MAAM;;0BAAN,MAAM;;;;;;;;;;;;;;;;8BAAN,MAAM;;;AAWlC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAA0D;IACtF,MAAM,CAAC,QAAQ,CAAC,IAAI,uDAAiB;CACtC"}
1
+ {"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../src/adapters/memQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;;0BAQ5B,MAAM;;0BAAN,MAAM;;0BAAN,MAAM;;;;;;;;;;;;;;;;8BAAN,MAAM;;;AAWlC,qBAAa,QAAS,SAAQ,aAA0D;IACtF,MAAM,CAAC,QAAQ,CAAC,IAAI,uDAAiB;CACtC"}
@@ -14,11 +14,7 @@ const make = Effect
14
14
  })
15
15
  };
16
16
  });
17
- /**
18
- * @tsplus type MemQueue
19
- * @tsplus companion MemQueue.Ops
20
- */
21
17
  export class MemQueue extends Context.TagMakeId("effect-app/MemQueue", make)() {
22
18
  static Live = this.toLayer();
23
19
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhcHRlcnMvbWVtUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxZQUFZLENBQUE7QUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFFakMsTUFBTSxJQUFJLEdBQUcsTUFBTTtLQUNoQixHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ1osTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBK0IsQ0FBQyxDQUFBO0lBRTlFLE9BQU87UUFDTCxnQkFBZ0IsRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLENBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdEIsSUFBSSxDQUFDO2dCQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ2YsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBVSxDQUFBO1lBQ3pDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ2xCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQyxDQUFDO0tBQ0wsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUo7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFFBQVMsU0FBUSxPQUFPLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxFQUFZO0lBQ3RGLE1BQU0sQ0FBVSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBIn0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhcHRlcnMvbWVtUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxZQUFZLENBQUE7QUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFFakMsTUFBTSxJQUFJLEdBQUcsTUFBTTtLQUNoQixHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ1osTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBK0IsQ0FBQyxDQUFBO0lBRTlFLE9BQU87UUFDTCxnQkFBZ0IsRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLENBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdEIsSUFBSSxDQUFDO2dCQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ2YsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBVSxDQUFBO1lBQ3pDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ2xCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQyxDQUFDO0tBQ0wsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUosTUFBTSxPQUFPLFFBQVMsU0FBUSxPQUFPLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxFQUFZO0lBQ3RGLE1BQU0sQ0FBVSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBIn0=
package/dist/arbs.d.ts CHANGED
@@ -1,11 +1,5 @@
1
1
  import type { A } from "effect-app/Schema";
2
2
  import * as FastCheck from "effect/FastCheck";
3
- /**
4
- * @tsplus getter FastCheck generateRandom
5
- */
6
3
  export declare function generate<T>(arb: FastCheck.Arbitrary<T>): FastCheck.Value<T>;
7
- /**
8
- * @tsplus getter effect/schema/Arbitrary generate
9
- */
10
4
  export declare function generateFromArbitrary<T>(arb: A.LazyArbitrary<T>): FastCheck.Value<T>;
11
5
  //# sourceMappingURL=arbs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arbs.d.ts","sourceRoot":"","sources":["../src/arbs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAQ7C;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,sBAEtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,sBAE/D"}
1
+ {"version":3,"file":"arbs.d.ts","sourceRoot":"","sources":["../src/arbs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAQ7C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,sBAEtD;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,sBAE/D"}
package/dist/arbs.js CHANGED
@@ -6,16 +6,10 @@ import { Random } from "fast-check";
6
6
  import * as rand from "pure-rand";
7
7
  const rnd = new Random(rand.congruential32(5));
8
8
  setFaker(faker);
9
- /**
10
- * @tsplus getter FastCheck generateRandom
11
- */
12
9
  export function generate(arb) {
13
10
  return arb.generate(rnd, undefined);
14
11
  }
15
- /**
16
- * @tsplus getter effect/schema/Arbitrary generate
17
- */
18
12
  export function generateFromArbitrary(arb) {
19
13
  return generate(arb(FastCheck));
20
14
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcmJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUU1QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTNDLE9BQU8sS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUVqQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFOUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFJLEdBQTJCO0lBQ3JELE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFJLEdBQXVCO0lBQzlELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMifQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcmJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUU1QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTNDLE9BQU8sS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUVqQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFOUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWYsTUFBTSxVQUFVLFFBQVEsQ0FBSSxHQUEyQjtJQUNyRCxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUksR0FBdUI7SUFDOUQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7QUFDakMsQ0FBQyJ9
@@ -6,24 +6,9 @@ import type { Semaphore } from "effect-app/Effect";
6
6
  * immediately before the effect begins execution and releasing them
7
7
  * delayed by duration after the effect completes execution, whether by success,
8
8
  * failure, or interruption.
9
- *
10
- * @tsplus static effect/io/Effect/Semaphore.Ops withPermitsDuration
11
- * @tsplus pipeable effect/io/Effect/Semaphore withPermitsDuration
12
9
  */
13
10
  export declare function SEM_withPermitsDuration(permits: number, duration: Duration): (self: Semaphore) => <R, E, A>(effect: Effect<A, E, R>) => Effect<A, E, R>;
14
- /**
15
- * @tsplus pipeable Iterable batchPar
16
- * @tsplus static Collection.Ops batchPar
17
- */
18
11
  export declare function batchPar<R, E, A, R2, E2, A2, T>(n: number, forEachItem: (item: T, iWithinBatch: number, batchI: number) => Effect<A, E, R>, forEachBatch: (a: NonEmptyArray<A>, i: number) => Effect<A2, E2, R2>): (items: Iterable<T>) => Effect.Effect<A2[], E | E2, R | R2>;
19
- /**
20
- * @tsplus pipeable Iterable batch
21
- * @tsplus static Collection.Ops batch
22
- */
23
12
  export declare function batch<R, E, A, R2, E2, A2, T>(n: number, forEachItem: (item: T, iWithinBatch: number, batchI: number) => Effect<A, E, R>, forEachBatch: (a: NonEmptyArray<A>, i: number) => Effect<A2, E2, R2>): (items: Iterable<T>) => Effect.Effect<A2[], E | E2, R | R2>;
24
- /**
25
- * @tsplus pipeable Iterable naiveRateLimit
26
- * @tsplus static Collection.Ops naiveRateLimit
27
- */
28
13
  export declare function naiveRateLimit(n: number, d: Duration): <T>(items: Iterable<T>) => <R, E, A, R2, E2, A2>(forEachItem: (i: T) => Effect<A, E, R>, forEachBatch: (a: A[]) => Effect<A2, E2, R2>) => Effect.Effect<A2[], E | E2, R | R2>;
29
14
  //# sourceMappingURL=rateLimit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../src/rateLimit.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,UAC3D,SAAS,KAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAahF;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/E,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,WAErD,QAAQ,CAAC,CAAC,CAAC,yCAS3B;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC1C,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/E,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,WAErD,QAAQ,CAAC,CAAC,CAAC,yCAQ3B;AAsBD;;;GAGG;AAEH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,QAAQ,IAEH,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,MAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,eACxC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gBACxB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,yCAc/C"}
1
+ {"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../src/rateLimit.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,UAC3D,SAAS,KAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAahF;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/E,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,WAErD,QAAQ,CAAC,CAAC,CAAC,yCAS3B;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC1C,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/E,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,WAErD,QAAQ,CAAC,CAAC,CAAC,yCAQ3B;AAkBD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,QAAQ,IAEH,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,MAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,eACxC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gBACxB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,yCAc/C"}
package/dist/rateLimit.js CHANGED
@@ -3,9 +3,6 @@
3
3
  // * immediately before the effect begins execution and releasing them
4
4
  // * delayed by duration after the effect completes execution, whether by success,
5
5
  // * failure, or interruption.
6
- // *
7
- // * @tsplus static effect/stm/TSemaphore.Ops withPermitsDuration
8
- // * @tsplus pipeable effect/stm/TSemaphore withPermitsDuration
9
6
  // */
10
7
  // export function withPermitsDuration(permits: number, duration: Duration) {
11
8
  // return (self: TSemaphore): <R, E, A>(effect: Effect<R, E, A>) => Effect<R, E, A> => {
@@ -28,9 +25,6 @@ import { Array, Effect } from "effect-app";
28
25
  * immediately before the effect begins execution and releasing them
29
26
  * delayed by duration after the effect completes execution, whether by success,
30
27
  * failure, or interruption.
31
- *
32
- * @tsplus static effect/io/Effect/Semaphore.Ops withPermitsDuration
33
- * @tsplus pipeable effect/io/Effect/Semaphore withPermitsDuration
34
28
  */
35
29
  export function SEM_withPermitsDuration(permits, duration) {
36
30
  return (self) => {
@@ -39,28 +33,16 @@ export function SEM_withPermitsDuration(permits, duration) {
39
33
  .pipe(Effect.ensuring(Effect.delay(self.release(permits), duration))))));
40
34
  };
41
35
  }
42
- /**
43
- * @tsplus pipeable Iterable batchPar
44
- * @tsplus static Collection.Ops batchPar
45
- */
46
36
  export function batchPar(n, forEachItem, forEachBatch) {
47
37
  return (items) => Effect.forEach(Array.chunk_(items, n), (_, i) => Effect
48
38
  .forEach(_, (_, j) => forEachItem(_, j, i), { concurrency: "inherit" })
49
39
  .pipe(Effect.flatMap((_) => forEachBatch(_, i))), { concurrency: "inherit" });
50
40
  }
51
- /**
52
- * @tsplus pipeable Iterable batch
53
- * @tsplus static Collection.Ops batch
54
- */
55
41
  export function batch(n, forEachItem, forEachBatch) {
56
42
  return (items) => Effect.forEach(Array.chunk_(items, n), (_, i) => Effect
57
43
  .forEach(_, (_, j) => forEachItem(_, j, i), { concurrency: "inherit" })
58
44
  .pipe(Effect.flatMap((_) => forEachBatch(_, i))));
59
45
  }
60
- // /**
61
- // * @tsplus pipeable Iterable rateLimit
62
- // * @tsplus static Collection.Ops rateLimit
63
- // */
64
46
  // export function rateLimit(
65
47
  // n: number,
66
48
  // d: DUR
@@ -76,10 +58,6 @@ export function batch(n, forEachItem, forEachBatch) {
76
58
  // .mapChunksEffect(_ => _.forEachEffectPar(forEachItem).tap(forEachBatch))
77
59
  // .runCollect
78
60
  // }
79
- /**
80
- * @tsplus pipeable Iterable naiveRateLimit
81
- * @tsplus static Collection.Ops naiveRateLimit
82
- */
83
61
  export function naiveRateLimit(n, d) {
84
62
  return (items) => ((forEachItem, forEachBatch) => Effect.forEach(Array.chunk_(items, n), (batch, i) => ((i === 0)
85
63
  ? Effect.void
@@ -88,4 +66,4 @@ export function naiveRateLimit(n, d) {
88
66
  .forEach(batch, forEachItem, { concurrency: n })
89
67
  .pipe(Effect.flatMap(forEachBatch))))));
90
68
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZUxpbWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JhdGVMaW1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNO0FBQ04sOEVBQThFO0FBQzlFLHVFQUF1RTtBQUN2RSxtRkFBbUY7QUFDbkYsK0JBQStCO0FBQy9CLEtBQUs7QUFDTCxrRUFBa0U7QUFDbEUsZ0VBQWdFO0FBQ2hFLE1BQU07QUFDTiw2RUFBNkU7QUFDN0UsMEZBQTBGO0FBQzFGLHVCQUF1QjtBQUN2QixvQ0FBb0M7QUFDcEMscUJBQXFCO0FBQ3JCLG1EQUFtRDtBQUNuRCxnQ0FBZ0M7QUFDaEMsMkJBQTJCO0FBQzNCLHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDNUIscUNBQXFDO0FBQ3JDLGtCQUFrQjtBQUNsQixVQUFVO0FBQ1YsTUFBTTtBQUNOLElBQUk7QUFHSixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUcxQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUFlLEVBQUUsUUFBa0I7SUFDekUsT0FBTyxDQUFDLElBQWUsRUFBeUQsRUFBRTtRQUNoRixPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDaEIsTUFBTSxDQUFDLG1CQUFtQixDQUN4QixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2xCLE9BQU8sQ0FBQyxNQUFNLENBQUM7YUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUM5QyxDQUFDLENBQ0wsQ0FBQyxDQUNQLENBQUE7SUFDTCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQ7OztHQUdH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
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZUxpbWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JhdGVMaW1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNO0FBQ04sOEVBQThFO0FBQzlFLHVFQUF1RTtBQUN2RSxtRkFBbUY7QUFDbkYsK0JBQStCO0FBQy9CLE1BQU07QUFDTiw2RUFBNkU7QUFDN0UsMEZBQTBGO0FBQzFGLHVCQUF1QjtBQUN2QixvQ0FBb0M7QUFDcEMscUJBQXFCO0FBQ3JCLG1EQUFtRDtBQUNuRCxnQ0FBZ0M7QUFDaEMsMkJBQTJCO0FBQzNCLHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDNUIscUNBQXFDO0FBQ3JDLGtCQUFrQjtBQUNsQixVQUFVO0FBQ1YsTUFBTTtBQUNOLElBQUk7QUFHSixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUcxQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUFlLEVBQUUsUUFBa0I7SUFDekUsT0FBTyxDQUFDLElBQWUsRUFBeUQsRUFBRTtRQUNoRixPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDaEIsTUFBTSxDQUFDLG1CQUFtQixDQUN4QixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2xCLE9BQU8sQ0FBQyxNQUFNLENBQUM7YUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUM5QyxDQUFDLENBQ0wsQ0FBQyxDQUNQLENBQUE7SUFDTCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsQ0FBUyxFQUNULFdBQStFLEVBQy9FLFlBQW9FO0lBRXBFLE9BQU8sQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FDNUIsTUFBTSxDQUFDLE9BQU8sQ0FDWixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDUCxNQUFNO1NBQ0gsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDO1NBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3hFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUMzQixDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQ25CLENBQVMsRUFDVCxXQUErRSxFQUMvRSxZQUFvRTtJQUVwRSxPQUFPLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQ1osS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQ3RCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ1AsTUFBTTtTQUNILE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQztTQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6RSxDQUFBO0FBQ0wsQ0FBQztBQUVELDZCQUE2QjtBQUM3QixlQUFlO0FBQ2YsV0FBVztBQUNYLE1BQU07QUFDTixzQ0FBc0M7QUFDdEMsNkJBQTZCO0FBQzdCLGdEQUFnRDtBQUNoRCwwREFBMEQ7QUFDMUQsV0FBVztBQUNYLHFDQUFxQztBQUNyQyxzQkFBc0I7QUFDdEIsd0NBQXdDO0FBQ3hDLG1GQUFtRjtBQUNuRixzQkFBc0I7QUFDdEIsSUFBSTtBQUVKLE1BQU0sVUFBVSxjQUFjLENBQzVCLENBQVMsRUFDVCxDQUFXO0lBRVgsT0FBTyxDQUFJLEtBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDakMsV0FBc0MsRUFDdEMsWUFBNEMsRUFDNUMsRUFBRSxDQUNGLE1BQU0sQ0FBQyxPQUFPLENBQ1osS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQ3RCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ1gsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDYixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbkIsTUFBTTtTQUNILE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQ3RDLENBQUMsQ0FDUCxDQUFDLENBQUE7QUFDTixDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "2.31.2",
3
+ "version": "2.32.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -13,7 +13,7 @@
13
13
  "proper-lockfile": "^4.1.2",
14
14
  "pure-rand": "6.1.0",
15
15
  "query-string": "^9.1.1",
16
- "effect-app": "2.19.4"
16
+ "effect-app": "2.19.5"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@azure/cosmos": "^4.2.0",
@@ -5,7 +5,7 @@ import { Array, Effect, Equivalence, Redacted } from "effect-app"
5
5
  import { dropUndefinedT } from "effect-app/utils"
6
6
  import { inspect } from "util"
7
7
  import { InfraLogger } from "../logger.js"
8
- import { Emailer } from "./service.js"
8
+ import { Emailer, SendMailError } from "./service.js"
9
9
  import type { EmailMsg, EmailMsgOptionalFrom, SendgridConfig } from "./service.js"
10
10
 
11
11
  const makeSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPrefix }: SendgridConfig) =>
@@ -32,20 +32,22 @@ const makeSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPr
32
32
  }
33
33
  yield* InfraLogger.logDebug("Sending email").pipe(Effect.annotateLogs("msg", inspect(renderedMsg, false, 5)))
34
34
 
35
- const ret = yield* Effect.async<
36
- [sgMail.ClientResponse, Record<string, unknown>],
37
- Error | sgMail.ResponseError
38
- >(
39
- (cb) =>
40
- void sgMail.send(
41
- renderedMsg as any, // sue me
42
- msg.isMultiple ?? true,
43
- (err, result) =>
44
- err
45
- ? cb(Effect.fail(err))
46
- : cb(Effect.sync(() => result))
47
- )
48
- )
35
+ const ret = yield* Effect
36
+ .async<
37
+ [sgMail.ClientResponse, Record<string, unknown>],
38
+ Error | sgMail.ResponseError
39
+ >(
40
+ (cb) =>
41
+ void sgMail.send(
42
+ renderedMsg as any, // sue me
43
+ msg.isMultiple ?? true,
44
+ (err, result) =>
45
+ err
46
+ ? cb(Effect.fail(err))
47
+ : cb(Effect.sync(() => result))
48
+ )
49
+ )
50
+ .pipe(Effect.mapError((raw) => new SendMailError({ raw })))
49
51
 
50
52
  // const event = {
51
53
  // name: "EmailSent",
@@ -62,9 +64,6 @@ const makeSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPr
62
64
  })
63
65
  })
64
66
 
65
- /**
66
- * @tsplus static Emailer.Ops SendgridLayer
67
- */
68
67
  export function Sendgrid(config: SendgridConfig) {
69
68
  return Emailer.toLayer(makeSendgrid(config))
70
69
  }
@@ -15,7 +15,4 @@ const makeFake = InfraLogger
15
15
  })
16
16
  ))
17
17
 
18
- /**
19
- * @tsplus static Emailer.Ops Fake
20
- */
21
18
  export const FakeSendgrid = Emailer.toLayer(makeFake)
@@ -1,15 +1,15 @@
1
1
  import type { MailContent, MailData } from "@sendgrid/helpers/classes/mail.js"
2
2
  import type { ResponseError } from "@sendgrid/mail"
3
3
  import type { Effect, NonEmptyReadonlyArray, Redacted } from "effect-app"
4
- import { Context } from "effect-app"
4
+ import { Context, Data } from "effect-app"
5
5
  import type { Email } from "effect-app/Schema"
6
6
 
7
- /**
8
- * @tsplus type Emailer
9
- * @tsplus companion Emailer.Ops
10
- */
7
+ export class SendMailError extends Data.TaggedError("SendMailError")<{
8
+ readonly raw: Error | ResponseError
9
+ }> {}
10
+
11
11
  export class Emailer extends Context.TagId("effect-app/Emailer")<Emailer, {
12
- sendMail: (msg: EmailMsgOptionalFrom) => Effect<void, Error | ResponseError>
12
+ sendMail: (msg: EmailMsgOptionalFrom) => Effect<void, SendMailError>
13
13
  }>() {}
14
14
 
15
15
  export type EmailData = Email | {
@@ -6,9 +6,6 @@ import type { FieldValues, ResolveFirstLevel } from "../filter/types.js"
6
6
  import type { QAll, Query, QueryProjection } from "../query.js"
7
7
  import type { Mapped } from "./legacy.js"
8
8
 
9
- /**
10
- * @tsplus type Repository
11
- */
12
9
  export interface Repository<
13
10
  T,
14
11
  Encoded extends FieldValues,
package/src/Model/dsl.ts CHANGED
@@ -25,9 +25,6 @@ export type AllDSL<T, Evt> =
25
25
  ) => Effect<A, E, FixEnv<R, Evt, S1[], S2[]>>)
26
26
  & AllDSLExt<T, Evt>
27
27
 
28
- /**
29
- * @tsplus type DSLExt
30
- */
31
28
  export interface AllDSLExt<T, Evt> {
32
29
  modify: <R, E, A, S1 extends T, S2 extends T>(
33
30
  pure: (items: readonly S1[], dsl: PureDSL<readonly S1[], readonly S2[], Evt>) => Effect<A, E, R>
@@ -51,9 +48,6 @@ export type OneDSL<T, Evt> =
51
48
  ) => Effect<A, E, FixEnv<R, Evt, S1, S2>>)
52
49
  & OneDSLExt<T, Evt>
53
50
 
54
- /**
55
- * @tsplus type DSLExt
56
- */
57
51
  export interface OneDSLExt<T, Evt> {
58
52
  modify: <R, E, A, S1 extends T, S2 extends T>(
59
53
  pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => Effect<A, E, FixEnv<R, Evt, S1, S2>>
@@ -128,9 +122,6 @@ export function ifAny<T, R, E, A>(fn: (items: NonEmptyReadonlyArray<T>) => Effec
128
122
  return (items: Iterable<T>) => Effect.flatMapOption(Effect.sync(() => toNonEmptyArray([...items])), fn)
129
123
  }
130
124
 
131
- /**
132
- * @tsplus fluent Iterable ifAny
133
- */
134
125
  export function ifAny_<T, R, E, A>(items: Iterable<T>, fn: (items: NonEmptyReadonlyArray<T>) => Effect<A, E, R>) {
135
126
  return Effect.flatMapOption(Effect.sync(() => toNonEmptyArray([...items])), fn)
136
127
  }
@@ -7,9 +7,6 @@ import { InfraLogger } from "../logger.js"
7
7
  import { reportNonInterruptedFailure } from "./errors.js"
8
8
  import { type QueueBase, QueueMeta } from "./service.js"
9
9
 
10
- /**
11
- * @tsplus static QueueMaker.Ops makeMem
12
- */
13
10
  export function makeMemQueue<
14
11
  Evt extends { id: S.StringId; _tag: string },
15
12
  DrainEvt extends { id: S.StringId; _tag: string },
@@ -15,9 +15,6 @@ import { InfraLogger } from "../logger.js"
15
15
  import { reportNonInterruptedFailure, reportNonInterruptedFailureCause, reportQueueError } from "./errors.js"
16
16
  import { type QueueBase, QueueMeta } from "./service.js"
17
17
 
18
- /**
19
- * @tsplus static QueueMaker.Ops makeServiceBus
20
- */
21
18
  export function makeServiceBusQueue<
22
19
  Evt extends { id: StringId; _tag: string },
23
20
  DrainEvt extends { id: StringId; _tag: string },
@@ -152,9 +149,6 @@ export function makeServiceBusQueue<
152
149
  })
153
150
  }
154
151
 
155
- /**
156
- * @tsplus static QueueMaker.Ops makeServiceBusLayers
157
- */
158
152
  export function makeServiceBusLayers(url: string, queueName: string, queueDrainName: string) {
159
153
  return Layer.merge(ServiceBusReceiverFactory.Live(queueDrainName), LiveSender(queueName)).pipe(
160
154
  Layer.provide(LiveServiceBusClient(url))
@@ -11,9 +11,6 @@ export interface QueueBase<Evt, DrainEvt> {
11
11
  ) => Effect<void>
12
12
  }
13
13
 
14
- /**
15
- * @tsplus type QueueMaker.Ops
16
- */
17
14
  export interface QueueMakerOps {}
18
15
  export const QueueMaker: QueueMakerOps = {}
19
16
 
@@ -7,10 +7,6 @@ export type Locale = typeof Locale.Type
7
7
 
8
8
  export const LocaleRef = FiberRef.unsafeMake<Locale>("en")
9
9
 
10
- /**
11
- * @tsplus type RequestContext
12
- * @tsplus companion RequestContext.Ops
13
- */
14
10
  export class RequestContext extends S.ExtendedClass<
15
11
  RequestContext,
16
12
  RequestContext.Encoded
@@ -6,9 +6,6 @@ import { MemoryStoreLive } from "./Memory.js"
6
6
  // import { RedisStoreLayer } from "./Redis.js"
7
7
  import type { StorageConfig } from "./service.js"
8
8
 
9
- /**
10
- * @tsplus static StoreMaker.Ops Layer
11
- */
12
9
  export function StoreMakerLayer(cfg: StorageConfig) {
13
10
  const storageUrl = Redacted.value(cfg.url)
14
11
  if (storageUrl.startsWith("mem://")) {
@@ -91,10 +91,6 @@ export interface Store<
91
91
  remove: (e: Encoded) => Effect<void>
92
92
  }
93
93
 
94
- /**
95
- * @tsplus type StoreMaker
96
- * @tsplus companion StoreMaker.Ops
97
- */
98
94
  export class StoreMaker extends Context.TagId("effect-app/StoreMaker")<StoreMaker, {
99
95
  make: <IdKey extends keyof Encoded, Encoded extends FieldValues, R = never, E = never>(
100
96
  name: string,
@@ -172,10 +168,6 @@ export const makeContextMap = () => {
172
168
 
173
169
  const makeMap = Effect.sync(() => makeContextMap())
174
170
 
175
- /**
176
- * @tsplus type ContextMap
177
- * @tsplus companion ContextMap.Ops
178
- */
179
171
  export class ContextMap extends Context.TagMakeId("effect-app/ContextMap", makeMap)<ContextMap>() {
180
172
  }
181
173
 
@@ -17,10 +17,6 @@ const make = Effect
17
17
  }
18
18
  })
19
19
 
20
- /**
21
- * @tsplus type MemQueue
22
- * @tsplus companion MemQueue.Ops
23
- */
24
20
  export class MemQueue extends Context.TagMakeId("effect-app/MemQueue", make)<MemQueue>() {
25
21
  static readonly Live = this.toLayer()
26
22
  }
package/src/arbs.ts CHANGED
@@ -11,16 +11,10 @@ const rnd = new Random(rand.congruential32(5))
11
11
 
12
12
  setFaker(faker)
13
13
 
14
- /**
15
- * @tsplus getter FastCheck generateRandom
16
- */
17
14
  export function generate<T>(arb: FastCheck.Arbitrary<T>) {
18
15
  return arb.generate(rnd, undefined)
19
16
  }
20
17
 
21
- /**
22
- * @tsplus getter effect/schema/Arbitrary generate
23
- */
24
18
  export function generateFromArbitrary<T>(arb: A.LazyArbitrary<T>) {
25
19
  return generate(arb(FastCheck))
26
20
  }
package/src/rateLimit.ts CHANGED
@@ -3,9 +3,6 @@
3
3
  // * immediately before the effect begins execution and releasing them
4
4
  // * delayed by duration after the effect completes execution, whether by success,
5
5
  // * failure, or interruption.
6
- // *
7
- // * @tsplus static effect/stm/TSemaphore.Ops withPermitsDuration
8
- // * @tsplus pipeable effect/stm/TSemaphore withPermitsDuration
9
6
  // */
10
7
  // export function withPermitsDuration(permits: number, duration: Duration) {
11
8
  // return (self: TSemaphore): <R, E, A>(effect: Effect<R, E, A>) => Effect<R, E, A> => {
@@ -32,9 +29,6 @@ import type { Semaphore } from "effect-app/Effect"
32
29
  * immediately before the effect begins execution and releasing them
33
30
  * delayed by duration after the effect completes execution, whether by success,
34
31
  * failure, or interruption.
35
- *
36
- * @tsplus static effect/io/Effect/Semaphore.Ops withPermitsDuration
37
- * @tsplus pipeable effect/io/Effect/Semaphore withPermitsDuration
38
32
  */
39
33
  export function SEM_withPermitsDuration(permits: number, duration: Duration) {
40
34
  return (self: Semaphore): <R, E, A>(effect: Effect<A, E, R>) => Effect<A, E, R> => {
@@ -52,10 +46,6 @@ export function SEM_withPermitsDuration(permits: number, duration: Duration) {
52
46
  }
53
47
  }
54
48
 
55
- /**
56
- * @tsplus pipeable Iterable batchPar
57
- * @tsplus static Collection.Ops batchPar
58
- */
59
49
  export function batchPar<R, E, A, R2, E2, A2, T>(
60
50
  n: number,
61
51
  forEachItem: (item: T, iWithinBatch: number, batchI: number) => Effect<A, E, R>,
@@ -72,10 +62,6 @@ export function batchPar<R, E, A, R2, E2, A2, T>(
72
62
  )
73
63
  }
74
64
 
75
- /**
76
- * @tsplus pipeable Iterable batch
77
- * @tsplus static Collection.Ops batch
78
- */
79
65
  export function batch<R, E, A, R2, E2, A2, T>(
80
66
  n: number,
81
67
  forEachItem: (item: T, iWithinBatch: number, batchI: number) => Effect<A, E, R>,
@@ -91,10 +77,6 @@ export function batch<R, E, A, R2, E2, A2, T>(
91
77
  )
92
78
  }
93
79
 
94
- // /**
95
- // * @tsplus pipeable Iterable rateLimit
96
- // * @tsplus static Collection.Ops rateLimit
97
- // */
98
80
  // export function rateLimit(
99
81
  // n: number,
100
82
  // d: DUR
@@ -111,11 +93,6 @@ export function batch<R, E, A, R2, E2, A2, T>(
111
93
  // .runCollect
112
94
  // }
113
95
 
114
- /**
115
- * @tsplus pipeable Iterable naiveRateLimit
116
- * @tsplus static Collection.Ops naiveRateLimit
117
- */
118
-
119
96
  export function naiveRateLimit(
120
97
  n: number,
121
98
  d: Duration