@effect/platform 0.18.7 → 0.19.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 (155) hide show
  1. package/Command/dist/effect-platform-Command.cjs.dev.js +419 -26
  2. package/Command/dist/effect-platform-Command.cjs.prod.js +419 -26
  3. package/Command/dist/effect-platform-Command.esm.js +382 -9
  4. package/CommandExecutor/dist/effect-platform-CommandExecutor.cjs.dev.js +72 -7
  5. package/CommandExecutor/dist/effect-platform-CommandExecutor.cjs.prod.js +72 -7
  6. package/CommandExecutor/dist/effect-platform-CommandExecutor.esm.js +71 -2
  7. package/Effectify/dist/effect-platform-Effectify.cjs.dev.js +55 -3
  8. package/Effectify/dist/effect-platform-Effectify.cjs.prod.js +55 -3
  9. package/Effectify/dist/effect-platform-Effectify.esm.js +38 -2
  10. package/Error/dist/effect-platform-Error.cjs.dev.js +87 -5
  11. package/Error/dist/effect-platform-Error.cjs.prod.js +87 -5
  12. package/Error/dist/effect-platform-Error.esm.js +68 -2
  13. package/FileSystem/dist/effect-platform-FileSystem.cjs.dev.js +287 -20
  14. package/FileSystem/dist/effect-platform-FileSystem.cjs.prod.js +287 -20
  15. package/FileSystem/dist/effect-platform-FileSystem.esm.js +256 -9
  16. package/Http/App/dist/effect-platform-Http-App.cjs.dev.js +15 -0
  17. package/Http/App/dist/effect-platform-Http-App.cjs.mjs +6 -1
  18. package/Http/App/dist/effect-platform-Http-App.cjs.prod.js +15 -0
  19. package/Http/App/dist/effect-platform-Http-App.esm.js +6 -1
  20. package/Http/Body/dist/effect-platform-Http-Body.cjs.dev.js +4 -4
  21. package/Http/Body/dist/effect-platform-Http-Body.cjs.prod.js +4 -4
  22. package/Http/Body/dist/effect-platform-Http-Body.esm.js +4 -4
  23. package/Http/Client/dist/effect-platform-Http-Client.cjs.dev.js +6 -6
  24. package/Http/Client/dist/effect-platform-Http-Client.cjs.prod.js +6 -6
  25. package/Http/Client/dist/effect-platform-Http-Client.esm.js +6 -6
  26. package/Http/ClientRequest/dist/effect-platform-Http-ClientRequest.cjs.dev.js +5 -5
  27. package/Http/ClientRequest/dist/effect-platform-Http-ClientRequest.cjs.prod.js +5 -5
  28. package/Http/ClientRequest/dist/effect-platform-Http-ClientRequest.esm.js +5 -5
  29. package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.cjs.dev.js +4 -4
  30. package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.cjs.prod.js +4 -4
  31. package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.esm.js +4 -4
  32. package/Http/FormData/dist/effect-platform-Http-FormData.cjs.dev.js +3 -3
  33. package/Http/FormData/dist/effect-platform-Http-FormData.cjs.prod.js +3 -3
  34. package/Http/FormData/dist/effect-platform-Http-FormData.esm.js +3 -3
  35. package/Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.dev.js +2 -2
  36. package/Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.prod.js +2 -2
  37. package/Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.esm.js +2 -2
  38. package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.dev.js +11 -11
  39. package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.mjs +0 -1
  40. package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.prod.js +11 -11
  41. package/Http/Middleware/dist/effect-platform-Http-Middleware.esm.js +11 -10
  42. package/Http/Platform/dist/effect-platform-Http-Platform.cjs.dev.js +3 -3
  43. package/Http/Platform/dist/effect-platform-Http-Platform.cjs.prod.js +3 -3
  44. package/Http/Platform/dist/effect-platform-Http-Platform.esm.js +2 -2
  45. package/Http/Router/dist/effect-platform-Http-Router.cjs.dev.js +5 -5
  46. package/Http/Router/dist/effect-platform-Http-Router.cjs.prod.js +5 -5
  47. package/Http/Router/dist/effect-platform-Http-Router.esm.js +5 -5
  48. package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.cjs.dev.js +4 -4
  49. package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.cjs.prod.js +4 -4
  50. package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.esm.js +4 -4
  51. package/Http/ServerResponse/dist/effect-platform-Http-ServerResponse.cjs.dev.js +4 -4
  52. package/Http/ServerResponse/dist/effect-platform-Http-ServerResponse.cjs.prod.js +4 -4
  53. package/Http/ServerResponse/dist/effect-platform-Http-ServerResponse.esm.js +4 -4
  54. package/HttpClient/dist/effect-platform-HttpClient.cjs.dev.js +9 -9
  55. package/HttpClient/dist/effect-platform-HttpClient.cjs.prod.js +9 -9
  56. package/HttpClient/dist/effect-platform-HttpClient.esm.js +9 -9
  57. package/HttpServer/dist/effect-platform-HttpServer.cjs.dev.js +15 -15
  58. package/HttpServer/dist/effect-platform-HttpServer.cjs.prod.js +15 -15
  59. package/HttpServer/dist/effect-platform-HttpServer.esm.js +15 -15
  60. package/KeyValueStore/dist/effect-platform-KeyValueStore.cjs.dev.js +227 -18
  61. package/KeyValueStore/dist/effect-platform-KeyValueStore.cjs.prod.js +227 -18
  62. package/KeyValueStore/dist/effect-platform-KeyValueStore.esm.js +199 -10
  63. package/Path/dist/effect-platform-Path.cjs.dev.js +142 -9
  64. package/Path/dist/effect-platform-Path.cjs.prod.js +142 -9
  65. package/Path/dist/effect-platform-Path.esm.js +122 -7
  66. package/Runtime/dist/effect-platform-Runtime.cjs.dev.js +44 -4
  67. package/Runtime/dist/effect-platform-Runtime.cjs.prod.js +44 -4
  68. package/Runtime/dist/effect-platform-Runtime.esm.js +26 -3
  69. package/dist/App-18152f12.cjs.dev.js +93 -0
  70. package/dist/App-1ca51fa7.esm.js +65 -0
  71. package/dist/App-d8b904fa.cjs.prod.js +93 -0
  72. package/dist/{Body-ec1353f9.esm.js → Body-40ced606.esm.js} +1 -1
  73. package/dist/{Body-86ef2922.cjs.dev.js → Body-4a7ad057.cjs.dev.js} +1 -1
  74. package/dist/{Body-b77eac75.cjs.prod.js → Body-c26fa93f.cjs.prod.js} +1 -1
  75. package/dist/{Client-537f76ae.cjs.prod.js → Client-03fea3d9.cjs.prod.js} +3 -3
  76. package/dist/{Client-cdbd4ff7.esm.js → Client-55ef15d5.esm.js} +3 -3
  77. package/dist/{Client-0fbb38ab.cjs.dev.js → Client-c05eadcd.cjs.dev.js} +3 -3
  78. package/dist/{ClientRequest-fc429335.esm.js → ClientRequest-490c76cd.esm.js} +1 -1
  79. package/dist/{ClientRequest-750d8d59.cjs.prod.js → ClientRequest-a729f345.cjs.prod.js} +1 -1
  80. package/dist/{ClientRequest-00e89da8.cjs.dev.js → ClientRequest-c5336a28.cjs.dev.js} +1 -1
  81. package/dist/{ClientResponse-7e4fe7b5.esm.js → ClientResponse-6e84da40.esm.js} +1 -1
  82. package/dist/{ClientResponse-f9f19afb.cjs.prod.js → ClientResponse-c19fd519.cjs.prod.js} +1 -1
  83. package/dist/{ClientResponse-75423399.cjs.dev.js → ClientResponse-df62564e.cjs.dev.js} +1 -1
  84. package/dist/{FormData-ee0b1cf2.cjs.dev.js → FormData-6d030595.cjs.prod.js} +1 -1
  85. package/dist/{FormData-902afd18.cjs.prod.js → FormData-7ea13198.cjs.dev.js} +1 -1
  86. package/dist/{FormData-f54de878.esm.js → FormData-bd727d2f.esm.js} +1 -1
  87. package/dist/{Middleware-f9a073d7.cjs.prod.js → Middleware-6de1c21d.cjs.prod.js} +14 -20
  88. package/dist/{Middleware-e2edf820.cjs.dev.js → Middleware-b1d126b4.cjs.dev.js} +14 -20
  89. package/dist/{Middleware-240f91f6.esm.js → Middleware-d38ef616.esm.js} +15 -20
  90. package/dist/{Router-bf32317a.esm.js → Router-2ee665b4.esm.js} +2 -2
  91. package/dist/{Router-bd2b3014.cjs.dev.js → Router-43e62bd9.cjs.dev.js} +2 -2
  92. package/dist/{Router-6c80a4c9.cjs.prod.js → Router-53ec1aea.cjs.prod.js} +2 -2
  93. package/dist/{ServerRequest-03161edc.esm.js → ServerRequest-a641c507.esm.js} +1 -1
  94. package/dist/{ServerRequest-8d9c2c6b.cjs.dev.js → ServerRequest-cb289dae.cjs.dev.js} +1 -1
  95. package/dist/{ServerRequest-938f3ed0.cjs.prod.js → ServerRequest-ec4da01b.cjs.prod.js} +1 -1
  96. package/dist/{ServerResponse-93038062.esm.js → ServerResponse-03c252ea.esm.js} +2 -2
  97. package/dist/{ServerResponse-b63b7192.cjs.dev.js → ServerResponse-9af42ecb.cjs.dev.js} +2 -2
  98. package/dist/{ServerResponse-eae85b08.cjs.prod.js → ServerResponse-db87bde2.cjs.prod.js} +2 -2
  99. package/dist/{body-33521da5.cjs.prod.js → body-95276637.cjs.prod.js} +3 -3
  100. package/dist/{body-c7d7a944.cjs.dev.js → body-cea7c1c9.cjs.dev.js} +3 -3
  101. package/dist/{body-20d78ec1.esm.js → body-db8cfb3d.esm.js} +1 -1
  102. package/dist/{clientRequest-3e72ec54.cjs.prod.js → clientRequest-539df396.cjs.prod.js} +1 -1
  103. package/dist/{clientRequest-1e9e0b0d.esm.js → clientRequest-6121a7f6.esm.js} +1 -1
  104. package/dist/{clientRequest-423fd562.cjs.dev.js → clientRequest-dae0c34e.cjs.dev.js} +1 -1
  105. package/dist/declarations/src/Http/App.d.ts +28 -1
  106. package/dist/declarations/src/Http/App.d.ts.map +1 -1
  107. package/dist/declarations/src/Http/Middleware.d.ts +0 -5
  108. package/dist/declarations/src/Http/Middleware.d.ts.map +1 -1
  109. package/dist/declarations/src/index.d.ts.map +1 -1
  110. package/dist/effect-platform.cjs.dev.js +49 -68
  111. package/dist/effect-platform.cjs.prod.js +49 -68
  112. package/dist/effect-platform.esm.js +20 -58
  113. package/package.json +8 -5
  114. package/src/Http/App.ts +76 -3
  115. package/src/Http/Middleware.ts +0 -6
  116. package/src/index.ts +10 -10
  117. package/src/internal/http/middleware.ts +21 -19
  118. package/src/internal/http/router.ts +1 -1
  119. package/src/internal/http/serverResponse.ts +1 -1
  120. package/dist/App-0916639a.cjs.prod.js +0 -7
  121. package/dist/App-44aa3275.cjs.dev.js +0 -7
  122. package/dist/App-687366d8.esm.js +0 -5
  123. package/dist/Command-032c414c.cjs.dev.js +0 -446
  124. package/dist/Command-25ef5e94.cjs.prod.js +0 -446
  125. package/dist/Command-d8ab0c8d.esm.js +0 -403
  126. package/dist/CommandExecutor-158ea1d3.cjs.dev.js +0 -87
  127. package/dist/CommandExecutor-5807b66b.esm.js +0 -80
  128. package/dist/CommandExecutor-7fcae408.cjs.prod.js +0 -87
  129. package/dist/Effectify-2d8c3af9.cjs.dev.js +0 -66
  130. package/dist/Effectify-38757ba5.cjs.prod.js +0 -66
  131. package/dist/Effectify-e5a9d266.esm.js +0 -43
  132. package/dist/Error-09496a70.cjs.dev.js +0 -100
  133. package/dist/Error-2c4e6ce2.cjs.prod.js +0 -100
  134. package/dist/Error-3099667c.esm.js +0 -75
  135. package/dist/FileSystem-3d439a05.cjs.prod.js +0 -308
  136. package/dist/FileSystem-4c7daaf0.cjs.dev.js +0 -308
  137. package/dist/FileSystem-7e31dccd.esm.js +0 -271
  138. package/dist/HttpClient-44d9df26.cjs.prod.js +0 -26
  139. package/dist/HttpClient-5179b5b7.esm.js +0 -24
  140. package/dist/HttpClient-6782fcab.cjs.dev.js +0 -26
  141. package/dist/HttpServer-16159c3a.cjs.dev.js +0 -32
  142. package/dist/HttpServer-50f8df76.esm.js +0 -30
  143. package/dist/HttpServer-93c0fbb3.cjs.prod.js +0 -32
  144. package/dist/KeyValueStore-2f9a70bf.esm.js +0 -210
  145. package/dist/KeyValueStore-f6c5b981.cjs.prod.js +0 -244
  146. package/dist/KeyValueStore-f9c93610.cjs.dev.js +0 -244
  147. package/dist/Path-3574641f.cjs.prod.js +0 -154
  148. package/dist/Path-46f84ba7.esm.js +0 -128
  149. package/dist/Path-7ba7e370.cjs.dev.js +0 -154
  150. package/dist/Runtime-1edd577a.cjs.dev.js +0 -55
  151. package/dist/Runtime-515efccf.cjs.prod.js +0 -55
  152. package/dist/Runtime-7265fb98.esm.js +0 -31
  153. /package/dist/{clientResponse-47df36b8.esm.js → clientResponse-0ace0007.esm.js} +0 -0
  154. /package/dist/{clientResponse-2e4c45a9.cjs.dev.js → clientResponse-43bb73b9.cjs.dev.js} +0 -0
  155. /package/dist/{clientResponse-4d53f425.cjs.prod.js → clientResponse-82dae5d8.cjs.prod.js} +0 -0
@@ -2,74 +2,55 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Command_dist_effectPlatformCommand = require('./Command-25ef5e94.cjs.prod.js');
6
- var CommandExecutor_dist_effectPlatformCommandExecutor = require('./CommandExecutor-7fcae408.cjs.prod.js');
7
- var Effectify_dist_effectPlatformEffectify = require('./Effectify-38757ba5.cjs.prod.js');
8
- var Error_dist_effectPlatformError = require('./Error-2c4e6ce2.cjs.prod.js');
9
- var FileSystem_dist_effectPlatformFileSystem = require('./FileSystem-3d439a05.cjs.prod.js');
10
- var HttpClient_dist_effectPlatformHttpClient = require('./HttpClient-44d9df26.cjs.prod.js');
11
- var HttpServer_dist_effectPlatformHttpServer = require('./HttpServer-93c0fbb3.cjs.prod.js');
12
- var KeyValueStore_dist_effectPlatformKeyValueStore = require('./KeyValueStore-f6c5b981.cjs.prod.js');
13
- var Path_dist_effectPlatformPath = require('./Path-3574641f.cjs.prod.js');
14
- var Runtime_dist_effectPlatformRuntime = require('./Runtime-515efccf.cjs.prod.js');
15
- require('effect/Chunk');
16
- require('effect/Effect');
17
- require('effect/Function');
18
- require('effect/HashMap');
19
- require('effect/Option');
20
- require('effect/Pipeable');
21
- require('effect/Stream');
22
- require('./commandExecutor-17a55a1c.cjs.prod.js');
23
- require('effect/Brand');
24
- require('effect/Context');
25
- require('effect/Sink');
26
- require('effect/Data');
27
- require('./Body-b77eac75.cjs.prod.js');
28
- require('./body-33521da5.cjs.prod.js');
29
- require('@effect/schema/Schema');
30
- require('./Client-537f76ae.cjs.prod.js');
31
- require('effect/Layer');
32
- require('../Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.prod.js');
33
- require('@effect/schema/ParseResult');
34
- require('effect/FiberRef');
35
- require('effect/GlobalValue');
36
- require('../Http/Method/dist/effect-platform-Http-Method.cjs.prod.js');
37
- require('./UrlParams-1228a686.cjs.prod.js');
38
- require('./clientError-de103d6a.cjs.prod.js');
39
- require('./clientRequest-3e72ec54.cjs.prod.js');
40
- require('./Headers-122cb877.cjs.prod.js');
41
- require('effect/ReadonlyArray');
42
- require('effect/ReadonlyRecord');
43
- require('./clientResponse-4d53f425.cjs.prod.js');
44
- require('./ClientError-22781879.cjs.prod.js');
45
- require('./ClientRequest-750d8d59.cjs.prod.js');
46
- require('./ClientResponse-f9f19afb.cjs.prod.js');
47
- require('./App-0916639a.cjs.prod.js');
48
- require('./FormData-902afd18.cjs.prod.js');
49
- require('effect/Predicate');
50
- require('./Middleware-f9a073d7.cjs.prod.js');
51
- require('./ServerRequest-938f3ed0.cjs.prod.js');
52
- require('./ServerError-605b2fa2.cjs.prod.js');
53
- require('./ServerResponse-eae85b08.cjs.prod.js');
54
- require('effect/Effectable');
55
- require('../Http/Platform/dist/effect-platform-Http-Platform.cjs.prod.js');
56
- require('../Http/Etag/dist/effect-platform-Http-Etag.cjs.prod.js');
57
- require('./Router-6c80a4c9.cjs.prod.js');
58
- require('effect/Inspectable');
59
- require('find-my-way');
60
- require('path-browserify');
61
- require('effect/Cause');
62
- require('effect/Exit');
5
+ var Command = require('@effect/platform/Command');
6
+ var CommandExecutor = require('@effect/platform/CommandExecutor');
7
+ var Effectify = require('@effect/platform/Effectify');
8
+ var Error = require('@effect/platform/Error');
9
+ var FileSystem = require('@effect/platform/FileSystem');
10
+ var HttpClient = require('@effect/platform/HttpClient');
11
+ var HttpServer = require('@effect/platform/HttpServer');
12
+ var KeyValueStore = require('@effect/platform/KeyValueStore');
13
+ var Path = require('@effect/platform/Path');
14
+ var Runtime = require('@effect/platform/Runtime');
63
15
 
16
+ function _interopNamespace(e) {
17
+ if (e && e.__esModule) return e;
18
+ var n = Object.create(null);
19
+ if (e) {
20
+ Object.keys(e).forEach(function (k) {
21
+ if (k !== 'default') {
22
+ var d = Object.getOwnPropertyDescriptor(e, k);
23
+ Object.defineProperty(n, k, d.get ? d : {
24
+ enumerable: true,
25
+ get: function () { return e[k]; }
26
+ });
27
+ }
28
+ });
29
+ }
30
+ n["default"] = e;
31
+ return Object.freeze(n);
32
+ }
64
33
 
34
+ var Command__namespace = /*#__PURE__*/_interopNamespace(Command);
35
+ var CommandExecutor__namespace = /*#__PURE__*/_interopNamespace(CommandExecutor);
36
+ var Effectify__namespace = /*#__PURE__*/_interopNamespace(Effectify);
37
+ var Error__namespace = /*#__PURE__*/_interopNamespace(Error);
38
+ var FileSystem__namespace = /*#__PURE__*/_interopNamespace(FileSystem);
39
+ var HttpClient__namespace = /*#__PURE__*/_interopNamespace(HttpClient);
40
+ var HttpServer__namespace = /*#__PURE__*/_interopNamespace(HttpServer);
41
+ var KeyValueStore__namespace = /*#__PURE__*/_interopNamespace(KeyValueStore);
42
+ var Path__namespace = /*#__PURE__*/_interopNamespace(Path);
43
+ var Runtime__namespace = /*#__PURE__*/_interopNamespace(Runtime);
65
44
 
66
- exports.Command = Command_dist_effectPlatformCommand.Command;
67
- exports.CommandExecutor = CommandExecutor_dist_effectPlatformCommandExecutor.CommandExecutor;
68
- exports.Effectify = Effectify_dist_effectPlatformEffectify.Effectify;
69
- exports.Error = Error_dist_effectPlatformError.Error;
70
- exports.FileSystem = FileSystem_dist_effectPlatformFileSystem.FileSystem;
71
- exports.HttpClient = HttpClient_dist_effectPlatformHttpClient.HttpClient;
72
- exports.HttpServer = HttpServer_dist_effectPlatformHttpServer.HttpServer;
73
- exports.KeyValueStore = KeyValueStore_dist_effectPlatformKeyValueStore.KeyValueStore;
74
- exports.Path = Path_dist_effectPlatformPath.Path;
75
- exports.Runtime = Runtime_dist_effectPlatformRuntime.Runtime;
45
+
46
+
47
+ exports.Command = Command__namespace;
48
+ exports.CommandExecutor = CommandExecutor__namespace;
49
+ exports.Effectify = Effectify__namespace;
50
+ exports.Error = Error__namespace;
51
+ exports.FileSystem = FileSystem__namespace;
52
+ exports.HttpClient = HttpClient__namespace;
53
+ exports.HttpServer = HttpServer__namespace;
54
+ exports.KeyValueStore = KeyValueStore__namespace;
55
+ exports.Path = Path__namespace;
56
+ exports.Runtime = Runtime__namespace;
@@ -1,58 +1,20 @@
1
- export { C as Command } from './Command-d8ab0c8d.esm.js';
2
- export { C as CommandExecutor } from './CommandExecutor-5807b66b.esm.js';
3
- export { E as Effectify } from './Effectify-e5a9d266.esm.js';
4
- export { E as Error } from './Error-3099667c.esm.js';
5
- export { F as FileSystem } from './FileSystem-7e31dccd.esm.js';
6
- export { H as HttpClient } from './HttpClient-5179b5b7.esm.js';
7
- export { H as HttpServer } from './HttpServer-50f8df76.esm.js';
8
- export { K as KeyValueStore } from './KeyValueStore-2f9a70bf.esm.js';
9
- export { P as Path } from './Path-46f84ba7.esm.js';
10
- export { R as Runtime } from './Runtime-7265fb98.esm.js';
11
- import 'effect/Chunk';
12
- import 'effect/Effect';
13
- import 'effect/Function';
14
- import 'effect/HashMap';
15
- import 'effect/Option';
16
- import 'effect/Pipeable';
17
- import 'effect/Stream';
18
- import './commandExecutor-d6457489.esm.js';
19
- import 'effect/Brand';
20
- import 'effect/Context';
21
- import 'effect/Sink';
22
- import 'effect/Data';
23
- import './Body-ec1353f9.esm.js';
24
- import './body-20d78ec1.esm.js';
25
- import '@effect/schema/Schema';
26
- import './Client-cdbd4ff7.esm.js';
27
- import 'effect/Layer';
28
- import '../Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.esm.js';
29
- import '@effect/schema/ParseResult';
30
- import 'effect/FiberRef';
31
- import 'effect/GlobalValue';
32
- import '../Http/Method/dist/effect-platform-Http-Method.esm.js';
33
- import './UrlParams-1286c728.esm.js';
34
- import './clientError-c4e1466c.esm.js';
35
- import './clientRequest-1e9e0b0d.esm.js';
36
- import './Headers-58b56a08.esm.js';
37
- import 'effect/ReadonlyArray';
38
- import 'effect/ReadonlyRecord';
39
- import './clientResponse-47df36b8.esm.js';
40
- import './ClientError-98b5da8c.esm.js';
41
- import './ClientRequest-fc429335.esm.js';
42
- import './ClientResponse-7e4fe7b5.esm.js';
43
- import './App-687366d8.esm.js';
44
- import './FormData-f54de878.esm.js';
45
- import 'effect/Predicate';
46
- import './Middleware-240f91f6.esm.js';
47
- import './ServerRequest-03161edc.esm.js';
48
- import './ServerError-04ad5b57.esm.js';
49
- import './ServerResponse-93038062.esm.js';
50
- import 'effect/Effectable';
51
- import '../Http/Platform/dist/effect-platform-Http-Platform.esm.js';
52
- import '../Http/Etag/dist/effect-platform-Http-Etag.esm.js';
53
- import './Router-bf32317a.esm.js';
54
- import 'effect/Inspectable';
55
- import 'find-my-way';
56
- import 'path-browserify';
57
- import 'effect/Cause';
58
- import 'effect/Exit';
1
+ import * as Command from '@effect/platform/Command';
2
+ export { Command };
3
+ import * as CommandExecutor from '@effect/platform/CommandExecutor';
4
+ export { CommandExecutor };
5
+ import * as Effectify from '@effect/platform/Effectify';
6
+ export { Effectify };
7
+ import * as Error from '@effect/platform/Error';
8
+ export { Error };
9
+ import * as FileSystem from '@effect/platform/FileSystem';
10
+ export { FileSystem };
11
+ import * as HttpClient from '@effect/platform/HttpClient';
12
+ export { HttpClient };
13
+ import * as HttpServer from '@effect/platform/HttpServer';
14
+ export { HttpServer };
15
+ import * as KeyValueStore from '@effect/platform/KeyValueStore';
16
+ export { KeyValueStore };
17
+ import * as Path from '@effect/platform/Path';
18
+ export { Path };
19
+ import * as Runtime from '@effect/platform/Runtime';
20
+ export { Runtime };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.18.7",
3
+ "version": "0.19.0",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "main": "dist/effect-platform.cjs.js",
6
6
  "module": "dist/effect-platform.esm.js",
@@ -14,6 +14,9 @@
14
14
  "importConditionDefaultExport": "default"
15
15
  }
16
16
  },
17
+ "effect": {
18
+ "generateIndex": true
19
+ },
17
20
  "publishConfig": {
18
21
  "access": "public"
19
22
  },
@@ -31,13 +34,13 @@
31
34
  "path-browserify": "^1.0.1"
32
35
  },
33
36
  "devDependencies": {
34
- "@effect/schema": "^0.39.2",
37
+ "@effect/schema": "^0.40.0",
35
38
  "@types/path-browserify": "^1.0.0",
36
- "effect": "2.0.0-next.42"
39
+ "effect": "2.0.0-next.45"
37
40
  },
38
41
  "peerDependencies": {
39
- "@effect/schema": "^0.39.1",
40
- "effect": "^2.0.0-next.42"
42
+ "@effect/schema": "^0.40.0",
43
+ "effect": "^2.0.0-next.45"
41
44
  },
42
45
  "files": [
43
46
  "src",
package/src/Http/App.ts CHANGED
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import type * as Effect from "effect/Effect"
4
+ import * as Effect from "effect/Effect"
5
+ import * as FiberRef from "effect/FiberRef"
6
+ import { dual } from "effect/Function"
7
+ import { globalValue } from "effect/GlobalValue"
8
+ import * as ReadonlyArray from "effect/ReadonlyArray"
9
+ import type * as ServerError from "./ServerError"
5
10
  import type * as ServerRequest from "./ServerRequest"
6
11
  import type * as ServerResponse from "./ServerResponse"
7
12
 
@@ -9,11 +14,79 @@ import type * as ServerResponse from "./ServerResponse"
9
14
  * @since 1.0.0
10
15
  * @category models
11
16
  */
12
- export interface HttpApp<R, E, A> extends Effect.Effect<R | ServerRequest.ServerRequest, E, A> {
13
- }
17
+ export interface HttpApp<R, E, A> extends Effect.Effect<R | ServerRequest.ServerRequest, E, A> {}
14
18
 
15
19
  /**
16
20
  * @since 1.0.0
17
21
  * @category models
18
22
  */
19
23
  export type Default<R, E> = HttpApp<R, E, ServerResponse.ServerResponse>
24
+
25
+ /**
26
+ * @since 1.0.0
27
+ * @category models
28
+ */
29
+ export type PreResponseHandler = (
30
+ request: ServerRequest.ServerRequest,
31
+ response: ServerResponse.ServerResponse
32
+ ) => Effect.Effect<never, ServerError.ResponseError, ServerResponse.ServerResponse>
33
+
34
+ /**
35
+ * @since 1.0.0
36
+ * @category fiber refs
37
+ */
38
+ export const currentPreResponseHandlers: FiberRef.FiberRef<ReadonlyArray<PreResponseHandler>> = globalValue(
39
+ Symbol.for("@effect/platform/Http/App/preResponseHandlers"),
40
+ () => FiberRef.unsafeMake([])
41
+ )
42
+
43
+ function noopHandler(_request: ServerRequest.ServerRequest, response: ServerResponse.ServerResponse) {
44
+ return Effect.succeed(response)
45
+ }
46
+
47
+ /**
48
+ * @since 1.0.0
49
+ * @category fiber refs
50
+ */
51
+ export const preResponseHandler: Effect.Effect<never, never, PreResponseHandler> = Effect.map(
52
+ FiberRef.get(currentPreResponseHandlers),
53
+ (handlers): PreResponseHandler =>
54
+ handlers.length === 0 ?
55
+ noopHandler :
56
+ handlers.reduce((acc, handler) =>
57
+ function(request, response) {
58
+ return Effect.flatMap(
59
+ acc(request, response),
60
+ function(response) {
61
+ return handler(request, response)
62
+ }
63
+ )
64
+ }
65
+ )
66
+ )
67
+
68
+ /**
69
+ * @since 1.0.0
70
+ * @category fiber refs
71
+ */
72
+ export const appendPreResponseHandler: (handler: PreResponseHandler) => Effect.Effect<never, never, void> = (
73
+ handler: PreResponseHandler
74
+ ) =>
75
+ FiberRef.update(
76
+ currentPreResponseHandlers,
77
+ ReadonlyArray.append(handler)
78
+ )
79
+
80
+ /**
81
+ * @since 1.0.0
82
+ * @category fiber refs
83
+ */
84
+ export const withPreResponseHandler = dual<
85
+ (handler: PreResponseHandler) => <R, E, A>(self: HttpApp<R, E, A>) => HttpApp<R, E, A>,
86
+ <R, E, A>(self: HttpApp<R, E, A>, handler: PreResponseHandler) => HttpApp<R, E, A>
87
+ >(2, (self, handler) =>
88
+ Effect.locallyWith(
89
+ self,
90
+ currentPreResponseHandlers,
91
+ ReadonlyArray.append(handler)
92
+ ))
@@ -30,12 +30,6 @@ export declare namespace Middleware {
30
30
  */
31
31
  export const make: <M extends Middleware>(middleware: M) => M = internal.make
32
32
 
33
- /**
34
- * @since 1.0.0
35
- * @category constructors
36
- */
37
- export const b3Response: <R, E>(httpApp: App.Default<R, E>) => App.Default<R, E> = internal.b3Response
38
-
39
33
  /**
40
34
  * @since 1.0.0
41
35
  * @category constructors
package/src/index.ts CHANGED
@@ -1,49 +1,49 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- export * as Command from "./Command"
4
+ export * as Command from "@effect/platform/Command"
5
5
 
6
6
  /**
7
7
  * @since 1.0.0
8
8
  */
9
- export * as CommandExecutor from "./CommandExecutor"
9
+ export * as CommandExecutor from "@effect/platform/CommandExecutor"
10
10
 
11
11
  /**
12
12
  * @since 1.0.0
13
13
  */
14
- export * as Effectify from "./Effectify"
14
+ export * as Effectify from "@effect/platform/Effectify"
15
15
 
16
16
  /**
17
17
  * @since 1.0.0
18
18
  */
19
- export * as Error from "./Error"
19
+ export * as Error from "@effect/platform/Error"
20
20
 
21
21
  /**
22
22
  * @since 1.0.0
23
23
  */
24
- export * as FileSystem from "./FileSystem"
24
+ export * as FileSystem from "@effect/platform/FileSystem"
25
25
 
26
26
  /**
27
27
  * @since 1.0.0
28
28
  */
29
- export * as HttpClient from "./HttpClient"
29
+ export * as HttpClient from "@effect/platform/HttpClient"
30
30
 
31
31
  /**
32
32
  * @since 1.0.0
33
33
  */
34
- export * as HttpServer from "./HttpServer"
34
+ export * as HttpServer from "@effect/platform/HttpServer"
35
35
 
36
36
  /**
37
37
  * @since 1.0.0
38
38
  */
39
- export * as KeyValueStore from "./KeyValueStore"
39
+ export * as KeyValueStore from "@effect/platform/KeyValueStore"
40
40
 
41
41
  /**
42
42
  * @since 1.0.0
43
43
  */
44
- export * as Path from "./Path"
44
+ export * as Path from "@effect/platform/Path"
45
45
 
46
46
  /**
47
47
  * @since 1.0.0
48
48
  */
49
- export * as Runtime from "./Runtime"
49
+ export * as Runtime from "@effect/platform/Runtime"
@@ -1,5 +1,6 @@
1
1
  import * as Effect from "effect/Effect"
2
2
  import { flow } from "effect/Function"
3
+ import * as App from "../../Http/App"
3
4
  import * as Headers from "../../Http/Headers"
4
5
  import * as IncomingMessage from "../../Http/IncomingMessage"
5
6
  import type * as Middleware from "../../Http/Middleware"
@@ -34,42 +35,43 @@ export const logger = make((httpApp) => {
34
35
  })
35
36
 
36
37
  /** @internal */
37
- export const tracer = make((httpApp) =>
38
- Effect.flatMap(
38
+ export const tracer = make((httpApp) => {
39
+ const appWithStatus = Effect.tap(
40
+ Effect.zipRight(
41
+ App.appendPreResponseHandler(b3Response),
42
+ httpApp
43
+ ),
44
+ (response) => Effect.annotateCurrentSpan("http.status", response.status)
45
+ )
46
+ return Effect.flatMap(
39
47
  ServerRequest.ServerRequest,
40
48
  (request) =>
41
49
  Effect.flatMap(
42
50
  Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined),
43
51
  (parent) =>
44
52
  Effect.withSpan(
45
- Effect.tap(
46
- httpApp,
47
- (response) => Effect.annotateCurrentSpan("http.status", response.status)
48
- ),
53
+ appWithStatus,
49
54
  `http ${request.method}`,
50
55
  { attributes: { "http.method": request.method, "http.url": request.url }, parent }
51
56
  )
52
57
  )
53
58
  )
54
- )
59
+ })
55
60
 
56
- /** @internal */
57
- export const b3Response = make((httpApp) =>
61
+ const b3Response: App.PreResponseHandler = (_request, response) =>
58
62
  Effect.flatMap(
59
63
  Effect.currentSpan,
60
64
  (span) =>
61
65
  span._tag === "Some"
62
- ? Effect.map(httpApp, (res) =>
63
- ServerResponse.setHeader(
64
- res,
65
- "b3",
66
- `${span.value.traceId}-${span.value.spanId}-1${
67
- span.value.parent._tag === "Some" ? `-${span.value.parent.value.spanId}` : ""
68
- }`
69
- ))
70
- : httpApp
66
+ ? ServerResponse.setHeader(
67
+ response,
68
+ "b3",
69
+ `${span.value.traceId}-${span.value.spanId}-1${
70
+ span.value.parent._tag === "Some" ? `-${span.value.parent.value.spanId}` : ""
71
+ }`
72
+ )
73
+ : response
71
74
  )
72
- )
73
75
 
74
76
  /** @internal */
75
77
  export const xForwardedHeaders = make((httpApp) =>
@@ -49,7 +49,7 @@ export const schemaParams = <I extends Readonly<Record<string, string>>, A>(sche
49
49
  )
50
50
  }
51
51
 
52
- class RouterImpl<R, E> extends Effectable.Effectable<
52
+ class RouterImpl<R, E> extends Effectable.StructuralClass<
53
53
  Exclude<R, Router.RouteContext>,
54
54
  E | Error.RouteNotFound,
55
55
  ServerResponse.ServerResponse
@@ -15,7 +15,7 @@ import * as internalBody from "./body"
15
15
  /** @internal */
16
16
  export const TypeId: ServerResponse.TypeId = Symbol.for("@effect/platform/Http/ServerResponse") as ServerResponse.TypeId
17
17
 
18
- class ServerResponseImpl extends Effectable.Effectable<never, never, ServerResponse.ServerResponse>
18
+ class ServerResponseImpl extends Effectable.StructuralClass<never, never, ServerResponse.ServerResponse>
19
19
  implements ServerResponse.ServerResponse
20
20
  {
21
21
  readonly [TypeId]: ServerResponse.TypeId
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- var App = /*#__PURE__*/Object.freeze({
4
- __proto__: null
5
- });
6
-
7
- exports.App = App;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- var App = /*#__PURE__*/Object.freeze({
4
- __proto__: null
5
- });
6
-
7
- exports.App = App;
@@ -1,5 +0,0 @@
1
- var App = /*#__PURE__*/Object.freeze({
2
- __proto__: null
3
- });
4
-
5
- export { App as A };