effect 2.4.5 → 2.4.7

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 (83) hide show
  1. package/dist/cjs/Channel.js +10 -2
  2. package/dist/cjs/Channel.js.map +1 -1
  3. package/dist/cjs/Effect.js +26 -4
  4. package/dist/cjs/Effect.js.map +1 -1
  5. package/dist/cjs/FiberMap.js +3 -0
  6. package/dist/cjs/FiberMap.js.map +1 -1
  7. package/dist/cjs/FiberSet.js +4 -0
  8. package/dist/cjs/FiberSet.js.map +1 -1
  9. package/dist/cjs/internal/cause.js +2 -2
  10. package/dist/cjs/internal/cause.js.map +1 -1
  11. package/dist/cjs/internal/channel.js +75 -1
  12. package/dist/cjs/internal/channel.js.map +1 -1
  13. package/dist/cjs/internal/core-effect.js +0 -2
  14. package/dist/cjs/internal/core-effect.js.map +1 -1
  15. package/dist/cjs/internal/core.js +148 -126
  16. package/dist/cjs/internal/core.js.map +1 -1
  17. package/dist/cjs/internal/fiberRuntime.js +29 -29
  18. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  19. package/dist/cjs/internal/layer.js +2 -2
  20. package/dist/cjs/internal/layer.js.map +1 -1
  21. package/dist/cjs/internal/runtime.js +4 -6
  22. package/dist/cjs/internal/runtime.js.map +1 -1
  23. package/dist/cjs/internal/stm/core.js +36 -36
  24. package/dist/cjs/internal/stm/core.js.map +1 -1
  25. package/dist/cjs/internal/stream.js +2 -73
  26. package/dist/cjs/internal/stream.js.map +1 -1
  27. package/dist/cjs/internal/version.js +1 -1
  28. package/dist/dts/Channel.d.ts +8 -0
  29. package/dist/dts/Channel.d.ts.map +1 -1
  30. package/dist/dts/Effect.d.ts +38 -2
  31. package/dist/dts/Effect.d.ts.map +1 -1
  32. package/dist/dts/FiberMap.d.ts.map +1 -1
  33. package/dist/dts/FiberSet.d.ts.map +1 -1
  34. package/dist/esm/Channel.js +8 -0
  35. package/dist/esm/Channel.js.map +1 -1
  36. package/dist/esm/Effect.js +22 -0
  37. package/dist/esm/Effect.js.map +1 -1
  38. package/dist/esm/FiberMap.js +3 -0
  39. package/dist/esm/FiberMap.js.map +1 -1
  40. package/dist/esm/FiberSet.js +4 -0
  41. package/dist/esm/FiberSet.js.map +1 -1
  42. package/dist/esm/internal/cause.js +2 -2
  43. package/dist/esm/internal/cause.js.map +1 -1
  44. package/dist/esm/internal/channel.js +73 -0
  45. package/dist/esm/internal/channel.js.map +1 -1
  46. package/dist/esm/internal/core-effect.js +0 -2
  47. package/dist/esm/internal/core-effect.js.map +1 -1
  48. package/dist/esm/internal/core.js +144 -123
  49. package/dist/esm/internal/core.js.map +1 -1
  50. package/dist/esm/internal/fiberRuntime.js +29 -29
  51. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  52. package/dist/esm/internal/layer.js +2 -2
  53. package/dist/esm/internal/layer.js.map +1 -1
  54. package/dist/esm/internal/runtime.js +4 -6
  55. package/dist/esm/internal/runtime.js.map +1 -1
  56. package/dist/esm/internal/stm/core.js +36 -36
  57. package/dist/esm/internal/stm/core.js.map +1 -1
  58. package/dist/esm/internal/stream.js +2 -73
  59. package/dist/esm/internal/stream.js.map +1 -1
  60. package/dist/esm/internal/version.js +1 -1
  61. package/package.json +1 -1
  62. package/src/Channel.ts +17 -0
  63. package/src/Effect.ts +45 -2
  64. package/src/Exit.ts +2 -2
  65. package/src/FiberMap.ts +4 -0
  66. package/src/FiberSet.ts +4 -0
  67. package/src/internal/cause.ts +2 -2
  68. package/src/internal/channel.ts +92 -0
  69. package/src/internal/core-effect.ts +0 -2
  70. package/src/internal/core.ts +167 -134
  71. package/src/internal/fiberRuntime.ts +30 -30
  72. package/src/internal/layer.ts +4 -4
  73. package/src/internal/runtime.ts +4 -6
  74. package/src/internal/stm/core.ts +49 -49
  75. package/src/internal/stream.ts +2 -82
  76. package/src/internal/version.ts +1 -1
  77. package/dist/cjs/internal/internalize.js +0 -15
  78. package/dist/cjs/internal/internalize.js.map +0 -1
  79. package/dist/dts/internal/internalize.d.ts +0 -2
  80. package/dist/dts/internal/internalize.d.ts.map +0 -1
  81. package/dist/esm/internal/internalize.js +0 -8
  82. package/dist/esm/internal/internalize.js.map +0 -1
  83. package/src/internal/internalize.ts +0 -5
@@ -1417,7 +1417,7 @@ export const partitionEither = /*#__PURE__*/dual(args => typeof args[1] === "fun
1417
1417
  /** @internal */
1418
1418
  export const pipeThrough = /*#__PURE__*/dual(2, (self, sink) => new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(_sink.toChannel(sink)))));
1419
1419
  /** @internal */
1420
- export const pipeThroughChannel = /*#__PURE__*/dual(2, (self, channel) => new StreamImpl(pipe(toChannel(self), core.pipeTo(channel))));
1420
+ export const pipeThroughChannel = /*#__PURE__*/dual(2, (self, channel) => new StreamImpl(core.pipeTo(toChannel(self), channel)));
1421
1421
  /** @internal */
1422
1422
  export const pipeThroughChannelOrFail = /*#__PURE__*/dual(2, (self, chan) => new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(chan))));
1423
1423
  /** @internal */
@@ -1813,78 +1813,7 @@ export const splitOnChunk = /*#__PURE__*/dual(2, (self, delimiter) => {
1813
1813
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(next(Option.none(), 0))));
1814
1814
  });
1815
1815
  /** @internal */
1816
- export const splitLines = self => suspend(() => {
1817
- let stringBuilder = "";
1818
- let midCRLF = false;
1819
- const splitLinesChunk = chunk => {
1820
- const chunkBuilder = [];
1821
- Chunk.map(chunk, str => {
1822
- if (str.length !== 0) {
1823
- let from = 0;
1824
- let indexOfCR = str.indexOf("\r");
1825
- let indexOfLF = str.indexOf("\n");
1826
- if (midCRLF) {
1827
- if (indexOfLF === 0) {
1828
- chunkBuilder.push(stringBuilder);
1829
- stringBuilder = "";
1830
- from = 1;
1831
- indexOfLF = str.indexOf("\n", from);
1832
- } else {
1833
- stringBuilder = stringBuilder + "\r";
1834
- }
1835
- midCRLF = false;
1836
- }
1837
- while (indexOfCR !== -1 || indexOfLF !== -1) {
1838
- if (indexOfCR === -1 || indexOfLF !== -1 && indexOfLF < indexOfCR) {
1839
- if (stringBuilder.length === 0) {
1840
- chunkBuilder.push(str.substring(from, indexOfLF));
1841
- } else {
1842
- chunkBuilder.push(stringBuilder + str.substring(from, indexOfLF));
1843
- stringBuilder = "";
1844
- }
1845
- from = indexOfLF + 1;
1846
- indexOfLF = str.indexOf("\n", from);
1847
- } else {
1848
- if (str.length === indexOfCR + 1) {
1849
- midCRLF = true;
1850
- indexOfCR = -1;
1851
- } else {
1852
- if (indexOfLF === indexOfCR + 1) {
1853
- if (stringBuilder.length === 0) {
1854
- chunkBuilder.push(str.substring(from, indexOfCR));
1855
- } else {
1856
- stringBuilder = stringBuilder + str.substring(from, indexOfCR);
1857
- chunkBuilder.push(stringBuilder);
1858
- stringBuilder = "";
1859
- }
1860
- from = indexOfCR + 2;
1861
- indexOfCR = str.indexOf("\r", from);
1862
- indexOfLF = str.indexOf("\n", from);
1863
- } else {
1864
- indexOfCR = str.indexOf("\r", indexOfCR + 1);
1865
- }
1866
- }
1867
- }
1868
- }
1869
- if (midCRLF) {
1870
- stringBuilder = stringBuilder + str.substring(from, str.length - 1);
1871
- } else {
1872
- stringBuilder = stringBuilder + str.substring(from, str.length);
1873
- }
1874
- }
1875
- });
1876
- return Chunk.unsafeFromArray(chunkBuilder);
1877
- };
1878
- const loop = core.readWithCause({
1879
- onInput: input => {
1880
- const out = splitLinesChunk(input);
1881
- return Chunk.isEmpty(out) ? loop : core.flatMap(core.write(out), () => loop);
1882
- },
1883
- onFailure: cause => stringBuilder.length === 0 ? core.failCause(cause) : core.flatMap(core.write(Chunk.of(stringBuilder)), () => core.failCause(cause)),
1884
- onDone: done => stringBuilder.length === 0 ? core.succeed(done) : core.flatMap(core.write(Chunk.of(stringBuilder)), () => core.succeed(done))
1885
- });
1886
- return new StreamImpl(core.pipeTo(toChannel(self), loop));
1887
- });
1816
+ export const splitLines = self => pipeThroughChannel(self, channel.splitLines());
1888
1817
  /** @internal */
1889
1818
  export const succeed = value => fromChunk(Chunk.of(value));
1890
1819
  /** @internal */