@effect/platform 0.62.5 → 0.63.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 (123) hide show
  1. package/HttpApi/package.json +6 -0
  2. package/HttpApiBuilder/package.json +6 -0
  3. package/HttpApiClient/package.json +6 -0
  4. package/HttpApiEndpoint/package.json +6 -0
  5. package/HttpApiError/package.json +6 -0
  6. package/HttpApiGroup/package.json +6 -0
  7. package/HttpApiSchema/package.json +6 -0
  8. package/HttpApiSecurity/package.json +6 -0
  9. package/HttpApiSwagger/package.json +6 -0
  10. package/OpenApi/package.json +6 -0
  11. package/README.md +863 -302
  12. package/dist/cjs/HttpApi.js +168 -0
  13. package/dist/cjs/HttpApi.js.map +1 -0
  14. package/dist/cjs/HttpApiBuilder.js +471 -0
  15. package/dist/cjs/HttpApiBuilder.js.map +1 -0
  16. package/dist/cjs/HttpApiClient.js +134 -0
  17. package/dist/cjs/HttpApiClient.js.map +1 -0
  18. package/dist/cjs/HttpApiEndpoint.js +181 -0
  19. package/dist/cjs/HttpApiEndpoint.js.map +1 -0
  20. package/dist/cjs/HttpApiError.js +69 -0
  21. package/dist/cjs/HttpApiError.js.map +1 -0
  22. package/dist/cjs/HttpApiGroup.js +151 -0
  23. package/dist/cjs/HttpApiGroup.js.map +1 -0
  24. package/dist/cjs/HttpApiSchema.js +241 -0
  25. package/dist/cjs/HttpApiSchema.js.map +1 -0
  26. package/dist/cjs/HttpApiSecurity.js +83 -0
  27. package/dist/cjs/HttpApiSecurity.js.map +1 -0
  28. package/dist/cjs/HttpApiSwagger.js +50 -0
  29. package/dist/cjs/HttpApiSwagger.js.map +1 -0
  30. package/dist/cjs/HttpMethod.js +1 -1
  31. package/dist/cjs/HttpMethod.js.map +1 -1
  32. package/dist/cjs/HttpRouter.js +6 -1
  33. package/dist/cjs/HttpRouter.js.map +1 -1
  34. package/dist/cjs/OpenApi.js +317 -0
  35. package/dist/cjs/OpenApi.js.map +1 -0
  36. package/dist/cjs/index.js +21 -1
  37. package/dist/cjs/internal/apiSwagger.js +2 -0
  38. package/dist/cjs/internal/apiSwagger.js.map +1 -0
  39. package/dist/cjs/internal/httpRouter.js +6 -1
  40. package/dist/cjs/internal/httpRouter.js.map +1 -1
  41. package/dist/cjs/internal/multipart.js +5 -1
  42. package/dist/cjs/internal/multipart.js.map +1 -1
  43. package/dist/dts/HttpApi.d.ts +156 -0
  44. package/dist/dts/HttpApi.d.ts.map +1 -0
  45. package/dist/dts/HttpApiBuilder.d.ts +296 -0
  46. package/dist/dts/HttpApiBuilder.d.ts.map +1 -0
  47. package/dist/dts/HttpApiClient.d.ts +31 -0
  48. package/dist/dts/HttpApiClient.d.ts.map +1 -0
  49. package/dist/dts/HttpApiEndpoint.d.ts +350 -0
  50. package/dist/dts/HttpApiEndpoint.d.ts.map +1 -0
  51. package/dist/dts/HttpApiError.d.ts +70 -0
  52. package/dist/dts/HttpApiError.d.ts.map +1 -0
  53. package/dist/dts/HttpApiGroup.d.ts +196 -0
  54. package/dist/dts/HttpApiGroup.d.ts.map +1 -0
  55. package/dist/dts/HttpApiSchema.d.ts +223 -0
  56. package/dist/dts/HttpApiSchema.d.ts.map +1 -0
  57. package/dist/dts/HttpApiSecurity.d.ts +122 -0
  58. package/dist/dts/HttpApiSecurity.d.ts.map +1 -0
  59. package/dist/dts/HttpApiSwagger.d.ts +10 -0
  60. package/dist/dts/HttpApiSwagger.d.ts.map +1 -0
  61. package/dist/dts/HttpMethod.d.ts +16 -0
  62. package/dist/dts/HttpMethod.d.ts.map +1 -1
  63. package/dist/dts/HttpRouter.d.ts +8 -0
  64. package/dist/dts/HttpRouter.d.ts.map +1 -1
  65. package/dist/dts/HttpServerResponse.d.ts +3 -3
  66. package/dist/dts/HttpServerResponse.d.ts.map +1 -1
  67. package/dist/dts/OpenApi.d.ts +348 -0
  68. package/dist/dts/OpenApi.d.ts.map +1 -0
  69. package/dist/dts/index.d.ts +40 -0
  70. package/dist/dts/index.d.ts.map +1 -1
  71. package/dist/dts/internal/apiSwagger.d.ts +2 -0
  72. package/dist/dts/internal/apiSwagger.d.ts.map +1 -0
  73. package/dist/dts/internal/httpRouter.d.ts.map +1 -1
  74. package/dist/esm/HttpApi.js +157 -0
  75. package/dist/esm/HttpApi.js.map +1 -0
  76. package/dist/esm/HttpApiBuilder.js +447 -0
  77. package/dist/esm/HttpApiBuilder.js.map +1 -0
  78. package/dist/esm/HttpApiClient.js +124 -0
  79. package/dist/esm/HttpApiClient.js.map +1 -0
  80. package/dist/esm/HttpApiEndpoint.js +169 -0
  81. package/dist/esm/HttpApiEndpoint.js.map +1 -0
  82. package/dist/esm/HttpApiError.js +59 -0
  83. package/dist/esm/HttpApiError.js.map +1 -0
  84. package/dist/esm/HttpApiGroup.js +140 -0
  85. package/dist/esm/HttpApiGroup.js.map +1 -0
  86. package/dist/esm/HttpApiSchema.js +217 -0
  87. package/dist/esm/HttpApiSchema.js.map +1 -0
  88. package/dist/esm/HttpApiSecurity.js +73 -0
  89. package/dist/esm/HttpApiSecurity.js.map +1 -0
  90. package/dist/esm/HttpApiSwagger.js +40 -0
  91. package/dist/esm/HttpApiSwagger.js.map +1 -0
  92. package/dist/esm/HttpMethod.js +1 -1
  93. package/dist/esm/HttpMethod.js.map +1 -1
  94. package/dist/esm/HttpRouter.js +5 -0
  95. package/dist/esm/HttpRouter.js.map +1 -1
  96. package/dist/esm/OpenApi.js +299 -0
  97. package/dist/esm/OpenApi.js.map +1 -0
  98. package/dist/esm/index.js +40 -0
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/internal/apiSwagger.js +2 -0
  101. package/dist/esm/internal/apiSwagger.js.map +1 -0
  102. package/dist/esm/internal/httpRouter.js +5 -0
  103. package/dist/esm/internal/httpRouter.js.map +1 -1
  104. package/dist/esm/internal/multipart.js +5 -1
  105. package/dist/esm/internal/multipart.js.map +1 -1
  106. package/package.json +83 -3
  107. package/src/HttpApi.ts +342 -0
  108. package/src/HttpApiBuilder.ts +869 -0
  109. package/src/HttpApiClient.ts +228 -0
  110. package/src/HttpApiEndpoint.ts +818 -0
  111. package/src/HttpApiError.ts +113 -0
  112. package/src/HttpApiGroup.ts +365 -0
  113. package/src/HttpApiSchema.ts +384 -0
  114. package/src/HttpApiSecurity.ts +169 -0
  115. package/src/HttpApiSwagger.ts +46 -0
  116. package/src/HttpMethod.ts +19 -1
  117. package/src/HttpRouter.ts +9 -0
  118. package/src/HttpServerResponse.ts +3 -3
  119. package/src/OpenApi.ts +665 -0
  120. package/src/index.ts +50 -0
  121. package/src/internal/apiSwagger.ts +7 -0
  122. package/src/internal/httpRouter.ts +9 -0
  123. package/src/internal/multipart.ts +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpApiBuilder.js","names":["AST","_interopRequireWildcard","require","ParseResult","Schema","Chunk","Context","Effect","Encoding","FiberRef","_Function","_GlobalValue","Layer","Option","_Pipeable","Redacted","_Unify","HttpApi","HttpApiEndpoint","_HttpApiError","HttpApiSchema","HttpApp","HttpMethod","HttpMiddleware","HttpRouter","HttpServer","HttpServerRequest","HttpServerResponse","OpenApi","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Router","Tag","exports","serve","middleware","httpApp","pipe","map","unwrapEffect","provide","Live","gen","api","router","apiMiddleware","serviceOption","Middleware","errorSchema","makeErrorSchema","encodeError","encodeUnknown","_tag","value","identity","catchAll","error","matchEffect","onFailure","die","onSuccess","succeed","self","HandlersTypeId","Symbol","for","HandlersProto","_Endpoints","pipeArguments","arguments","makeHandlers","options","create","group","handlers","groupName","build","use","context","findFirst","groups","identifier","Error","result","empty","isEffect","routes","item","route","handler","push","handlerToRoute","endpoint","request","mapInputContext","input","merge","withFullResponse","concat","fromIterable","handle","name","o","endpoints","append","middlewareAdd","current","getOption","withContext","middlewareAddNoContext","middlewareLayer","args","apiFirst","isHttpApi","add","effect","flatMap","middlewareLayerScoped","scoped","middlewareCors","cors","middlewareOpenApi","spec","fromApi","response","json","orDie","path","bearerLen","length","securityDecode","make","headers","authorization","slice","schema","Struct","key","String","decode","unify","in","schemaSearchParams","schemaCookies","schemaHeaders","match","username","password","decodeBase64String","header","parts","split","securitySetCookie","stringValue","appendPreResponseHandler","_req","setCookie","secure","httpOnly","middlewareSecurity","tag","f","provideServiceEffect","middlewareSecurityVoid","zipRight","requestPayload","urlParams","isMultipart","hasBody","method","multipart","isFullResponse","decodePath","pathSchema","decodeUnknown","payloadSchema","getMultipart","ast","getOrElse","decodePayload","decodeHeaders","headersSchema","encoding","getEncoding","successSchema","successStatus","getStatusSuccess","encodeSuccess","schemaSuccess","encode","kind","body","status","contentType","text","data","uint8Array","params","makeRoute","withFiberRuntime","fiber","getFiberRef","currentContext","unsafeGet","routeContext","RouteContext","ParsedSearchParams","HttpApiDecodeError","refailParseError","bindTo","bind","_","raw","pathParams","payload","as","astCache","globalValue","schemas","Set","processSchema","astType","types","annotations","Union","getStatusError","encoded","encodedAST","isEmpty","transformOrFail","Any","__","fail","Forbidden","mapError","Type"],"sources":["../../src/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = void 0;
7
+ var ParseResult = _interopRequireWildcard(require("@effect/schema/ParseResult"));
8
+ var Schema = _interopRequireWildcard(require("@effect/schema/Schema"));
9
+ var Context = _interopRequireWildcard(require("effect/Context"));
10
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
11
+ var _Function = require("effect/Function");
12
+ var Option = _interopRequireWildcard(require("effect/Option"));
13
+ var HttpApi = _interopRequireWildcard(require("./HttpApi.js"));
14
+ var HttpApiSchema = _interopRequireWildcard(require("./HttpApiSchema.js"));
15
+ var HttpClient = _interopRequireWildcard(require("./HttpClient.js"));
16
+ var HttpClientError = _interopRequireWildcard(require("./HttpClientError.js"));
17
+ var HttpClientRequest = _interopRequireWildcard(require("./HttpClientRequest.js"));
18
+ var HttpClientResponse = _interopRequireWildcard(require("./HttpClientResponse.js"));
19
+ var HttpMethod = _interopRequireWildcard(require("./HttpMethod.js"));
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ /**
23
+ * @since 1.0.0
24
+ */
25
+
26
+ /**
27
+ * @since 1.0.0
28
+ * @category constructors
29
+ */
30
+ const make = (api, options) => Effect.gen(function* () {
31
+ const context = yield* Effect.context();
32
+ const httpClient = (yield* HttpClient.HttpClient).pipe(options?.baseUrl === undefined ? _Function.identity : HttpClient.mapRequest(HttpClientRequest.prependUrl(options.baseUrl)), options?.transformClient === undefined ? _Function.identity : options.transformClient);
33
+ const client = {};
34
+ HttpApi.reflect(api, {
35
+ onGroup({
36
+ group
37
+ }) {
38
+ client[group.identifier] = {};
39
+ },
40
+ onEndpoint({
41
+ endpoint,
42
+ errors,
43
+ group,
44
+ successAST,
45
+ successEncoding,
46
+ successStatus
47
+ }) {
48
+ const makeUrl = compilePath(endpoint.path);
49
+ const successDecode = successAST.pipe(Option.map(ast => {
50
+ const schema = Schema.make(ast);
51
+ switch (successEncoding.kind) {
52
+ case "Json":
53
+ {
54
+ return HttpClientResponse.schemaBodyJson(schema);
55
+ }
56
+ case "UrlParams":
57
+ {
58
+ return HttpClientResponse.schemaBodyUrlParams(schema);
59
+ }
60
+ case "Uint8Array":
61
+ {
62
+ return response => response.arrayBuffer.pipe(Effect.map(buffer => new Uint8Array(buffer)), Effect.flatMap(Schema.decodeUnknown(schema)));
63
+ }
64
+ case "Text":
65
+ {
66
+ return response => Effect.flatMap(response.text, Schema.decodeUnknown(schema));
67
+ }
68
+ }
69
+ }));
70
+ const handleError = (request, response) => {
71
+ const error = errors.get(response.status);
72
+ if (error === undefined) {
73
+ return Effect.die(new HttpClientError.ResponseError({
74
+ reason: "Decode",
75
+ request,
76
+ response
77
+ }));
78
+ } else if (Option.isNone(error)) {
79
+ return Effect.fail(new HttpClientError.ResponseError({
80
+ reason: "StatusCode",
81
+ request,
82
+ response
83
+ }));
84
+ }
85
+ const decode = Schema.decodeUnknown(Schema.make(error.value));
86
+ return response.text.pipe(Effect.flatMap(text => text === "" ? Effect.void : Effect.try({
87
+ try: () => JSON.parse(text),
88
+ catch: cause => new HttpClientError.ResponseError({
89
+ reason: "Decode",
90
+ request,
91
+ response,
92
+ cause
93
+ })
94
+ })), Effect.flatMap(json => Effect.mapError(decode(json), cause => new HttpClientError.ResponseError({
95
+ reason: "Decode",
96
+ request,
97
+ response,
98
+ cause
99
+ }))), Effect.flatMap(Effect.fail));
100
+ };
101
+ const isMultipart = endpoint.payloadSchema.pipe(Option.map(schema => HttpApiSchema.getMultipart(schema.ast)), Option.getOrElse(() => false));
102
+ const encodePayload = endpoint.payloadSchema.pipe(Option.filter(() => !isMultipart), Option.map(Schema.encodeUnknown));
103
+ const encodeHeaders = endpoint.headersSchema.pipe(Option.map(Schema.encodeUnknown));
104
+ client[group.identifier][endpoint.name] = request => {
105
+ const url = request && request.path ? makeUrl(request && request.path) : endpoint.path;
106
+ const baseRequest = HttpClientRequest.make(endpoint.method)(url);
107
+ return (isMultipart ? Effect.succeed(baseRequest.pipe(HttpClientRequest.formDataBody(request.payload))) : encodePayload._tag === "Some" ? encodePayload.value(request.payload).pipe(Effect.flatMap(payload => HttpMethod.hasBody(endpoint.method) ? HttpClientRequest.jsonBody(baseRequest, payload) : Effect.succeed(HttpClientRequest.setUrlParams(baseRequest, payload))), Effect.orDie) : Effect.succeed(baseRequest)).pipe(encodeHeaders._tag === "Some" ? Effect.flatMap(httpRequest => encodeHeaders.value(request.headers).pipe(Effect.orDie, Effect.map(headers => HttpClientRequest.setHeaders(httpRequest, headers)))) : _Function.identity, Effect.flatMap(request => Effect.flatMap(httpClient(request), response => response.status !== successStatus ? handleError(request, response) : Effect.succeed(response))), successDecode._tag === "Some" ? Effect.flatMap(successDecode.value) : Effect.asVoid, Effect.scoped, Effect.catchIf(ParseResult.isParseError, Effect.die), Effect.mapInputContext(input => Context.merge(context, input)));
108
+ };
109
+ }
110
+ });
111
+ return client;
112
+ });
113
+ // ----------------------------------------------------------------------------
114
+ exports.make = make;
115
+ const paramsRegex = /:(\w+)[^/]*/g;
116
+ const compilePath = path => {
117
+ const segments = path.split(paramsRegex);
118
+ const len = segments.length;
119
+ if (len === 1) {
120
+ return _ => path;
121
+ }
122
+ return params => {
123
+ let url = segments[0];
124
+ for (let i = 1; i < len; i++) {
125
+ if (i % 2 === 0) {
126
+ url += segments[i];
127
+ } else {
128
+ url += params[segments[i]];
129
+ }
130
+ }
131
+ return url;
132
+ };
133
+ };
134
+ //# sourceMappingURL=HttpApiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpApiClient.js","names":["ParseResult","_interopRequireWildcard","require","Schema","Context","Effect","_Function","Option","HttpApi","HttpApiSchema","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpMethod","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","api","options","gen","context","httpClient","pipe","baseUrl","undefined","identity","mapRequest","prependUrl","transformClient","client","reflect","onGroup","group","identifier","onEndpoint","endpoint","errors","successAST","successEncoding","successStatus","makeUrl","compilePath","path","successDecode","map","ast","schema","kind","schemaBodyJson","schemaBodyUrlParams","response","arrayBuffer","buffer","Uint8Array","flatMap","decodeUnknown","text","handleError","request","error","status","die","ResponseError","reason","isNone","fail","decode","value","void","try","JSON","parse","catch","cause","json","mapError","isMultipart","payloadSchema","getMultipart","getOrElse","encodePayload","filter","encodeUnknown","encodeHeaders","headersSchema","name","url","baseRequest","method","succeed","formDataBody","payload","_tag","hasBody","jsonBody","setUrlParams","orDie","httpRequest","headers","setHeaders","asVoid","scoped","catchIf","isParseError","mapInputContext","input","merge","exports","paramsRegex","segments","split","len","length","_","params"],"sources":["../../src/HttpApiClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setSuccess = exports.setPayload = exports.setPath = exports.setHeaders = exports.schemaSuccess = exports.put = exports.prefix = exports.post = exports.patch = exports.make = exports.isHttpApiEndpoint = exports.get = exports.del = exports.annotateMerge = exports.annotate = exports.addError = exports.TypeId = void 0;
7
+ var Schema = _interopRequireWildcard(require("@effect/schema/Schema"));
8
+ var Context = _interopRequireWildcard(require("effect/Context"));
9
+ var _Function = require("effect/Function");
10
+ var Option = _interopRequireWildcard(require("effect/Option"));
11
+ var _Pipeable = require("effect/Pipeable");
12
+ var Predicate = _interopRequireWildcard(require("effect/Predicate"));
13
+ var HttpApiSchema = _interopRequireWildcard(require("./HttpApiSchema.js"));
14
+ var HttpRouter = _interopRequireWildcard(require("./HttpRouter.js"));
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ /**
18
+ * @since 1.0.0
19
+ */
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ * @category type ids
24
+ */
25
+ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpApiEndpoint");
26
+ /**
27
+ * @since 1.0.0
28
+ * @category guards
29
+ */
30
+ const isHttpApiEndpoint = u => Predicate.hasProperty(u, TypeId);
31
+ exports.isHttpApiEndpoint = isHttpApiEndpoint;
32
+ const Proto = {
33
+ [TypeId]: TypeId,
34
+ pipe() {
35
+ return (0, _Pipeable.pipeArguments)(this, arguments);
36
+ }
37
+ };
38
+ const makeProto = options => Object.assign(Object.create(Proto), options);
39
+ /**
40
+ * @since 1.0.0
41
+ * @category constructors
42
+ */
43
+ const make = method => (name, path) => makeProto({
44
+ name,
45
+ path,
46
+ method,
47
+ pathSchema: Option.none(),
48
+ payloadSchema: Option.none(),
49
+ headersSchema: Option.none(),
50
+ successSchema: HttpApiSchema.NoContent,
51
+ errorSchema: Schema.Never,
52
+ annotations: Context.empty()
53
+ });
54
+ /**
55
+ * @since 1.0.0
56
+ * @category constructors
57
+ */
58
+ exports.make = make;
59
+ const get = exports.get = /*#__PURE__*/make("GET");
60
+ /**
61
+ * @since 1.0.0
62
+ * @category constructors
63
+ */
64
+ const post = exports.post = /*#__PURE__*/make("POST");
65
+ /**
66
+ * @since 1.0.0
67
+ * @category constructors
68
+ */
69
+ const put = exports.put = /*#__PURE__*/make("PUT");
70
+ /**
71
+ * @since 1.0.0
72
+ * @category constructors
73
+ */
74
+ const patch = exports.patch = /*#__PURE__*/make("PATCH");
75
+ /**
76
+ * @since 1.0.0
77
+ * @category constructors
78
+ */
79
+ const del = exports.del = /*#__PURE__*/make("DELETE");
80
+ /**
81
+ * Set the schema for the success response of the endpoint. The status code
82
+ * will be inferred from the schema, otherwise it will default to 200.
83
+ *
84
+ * @since 1.0.0
85
+ * @category result
86
+ */
87
+ const setSuccess = exports.setSuccess = /*#__PURE__*/(0, _Function.dual)(args => isHttpApiEndpoint(args[0]), (self, schema, annotations) => makeProto({
88
+ ...self,
89
+ successSchema: schema.annotations(HttpApiSchema.annotations({
90
+ status: annotations?.status ?? HttpApiSchema.getStatusSuccess(schema)
91
+ }))
92
+ }));
93
+ /**
94
+ * Add an error response schema to the endpoint. The status code
95
+ * will be inferred from the schema, otherwise it will default to 500.
96
+ *
97
+ * @since 1.0.0
98
+ * @category result
99
+ */
100
+ const addError = exports.addError = /*#__PURE__*/(0, _Function.dual)(args => isHttpApiEndpoint(args[0]), (self, schema, annotations) => makeProto({
101
+ ...self,
102
+ errorSchema: HttpApiSchema.UnionUnify(self.errorSchema, schema.pipe(Schema.annotations(HttpApiSchema.annotations({
103
+ status: annotations?.status ?? HttpApiSchema.getStatusError(schema)
104
+ }))))
105
+ }));
106
+ /**
107
+ * Set the schema for the request body of the endpoint. The schema will be
108
+ * used to validate the request body before the handler is called.
109
+ *
110
+ * For endpoints with no request body, the payload will use the url search
111
+ * parameters.
112
+ *
113
+ * You can set a multipart schema to handle file uploads by using the
114
+ * `HttpApiSchema.Multipart` combinator.
115
+ *
116
+ * @since 1.0.0
117
+ * @category request
118
+ */
119
+ const setPayload = exports.setPayload = /*#__PURE__*/(0, _Function.dual)(2, (self, schema) => makeProto({
120
+ ...self,
121
+ payloadSchema: Option.some(schema)
122
+ }));
123
+ /**
124
+ * Set the schema for the path parameters of the endpoint. The schema will be
125
+ * used to validate the path parameters before the handler is called.
126
+ *
127
+ * @since 1.0.0
128
+ * @category request
129
+ */
130
+ const setPath = exports.setPath = /*#__PURE__*/(0, _Function.dual)(2, (self, schema) => makeProto({
131
+ ...self,
132
+ pathSchema: Option.some(schema)
133
+ }));
134
+ /**
135
+ * Set the schema for the headers of the endpoint. The schema will be
136
+ * used to validate the headers before the handler is called.
137
+ *
138
+ * @since 1.0.0
139
+ * @category request
140
+ */
141
+ const setHeaders = exports.setHeaders = /*#__PURE__*/(0, _Function.dual)(2, (self, schema) => makeProto({
142
+ ...self,
143
+ headersSchema: Option.some(schema)
144
+ }));
145
+ /**
146
+ * Add a prefix to the path of the endpoint.
147
+ *
148
+ * @since 1.0.0
149
+ * @category request
150
+ */
151
+ const prefix = exports.prefix = /*#__PURE__*/(0, _Function.dual)(2, (self, prefix) => makeProto({
152
+ ...self,
153
+ path: HttpRouter.prefixPath(self.path, prefix)
154
+ }));
155
+ /**
156
+ * @since 1.0.0
157
+ * @category reflection
158
+ */
159
+ const schemaSuccess = self => HttpApiSchema.isVoid(self.successSchema.ast) ? Option.none() : Option.some(self.successSchema);
160
+ /**
161
+ * Merge the annotations of the endpoint with the provided context.
162
+ *
163
+ * @since 1.0.0
164
+ * @category annotations
165
+ */
166
+ exports.schemaSuccess = schemaSuccess;
167
+ const annotateMerge = exports.annotateMerge = /*#__PURE__*/(0, _Function.dual)(2, (self, context) => makeProto({
168
+ ...self,
169
+ annotations: Context.merge(self.annotations, context)
170
+ }));
171
+ /**
172
+ * Add an annotation to the endpoint.
173
+ *
174
+ * @since 1.0.0
175
+ * @category annotations
176
+ */
177
+ const annotate = exports.annotate = /*#__PURE__*/(0, _Function.dual)(3, (self, tag, value) => makeProto({
178
+ ...self,
179
+ annotations: Context.add(self.annotations, tag, value)
180
+ }));
181
+ //# sourceMappingURL=HttpApiEndpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpApiEndpoint.js","names":["Schema","_interopRequireWildcard","require","Context","_Function","Option","_Pipeable","Predicate","HttpApiSchema","HttpRouter","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isHttpApiEndpoint","hasProperty","Proto","pipe","pipeArguments","arguments","makeProto","options","assign","create","make","method","name","path","pathSchema","none","payloadSchema","headersSchema","successSchema","NoContent","errorSchema","Never","annotations","empty","post","put","patch","del","setSuccess","dual","args","self","schema","status","getStatusSuccess","addError","UnionUnify","getStatusError","setPayload","some","setPath","setHeaders","prefix","prefixPath","schemaSuccess","isVoid","ast","annotateMerge","context","merge","annotate","tag","value","add"],"sources":["../../src/HttpApiEndpoint.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TypeId = exports.PropertyKeysNoSymbol = exports.Issue = exports.HttpApiDecodeError = void 0;
7
+ var ArrayFormatter = _interopRequireWildcard(require("@effect/schema/ArrayFormatter"));
8
+ var Schema = _interopRequireWildcard(require("@effect/schema/Schema"));
9
+ var TreeFormatter = _interopRequireWildcard(require("@effect/schema/TreeFormatter"));
10
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
11
+ var _Function = require("effect/Function");
12
+ var HttpApiSchema = _interopRequireWildcard(require("./HttpApiSchema.js"));
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ /**
16
+ * @since 1.0.0
17
+ */
18
+
19
+ /**
20
+ * @since 1.0.0
21
+ * @category type ids
22
+ */
23
+ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpApiError");
24
+ /**
25
+ * @since 1.0.0
26
+ * @category schemas
27
+ */
28
+ const PropertyKeysNoSymbol = exports.PropertyKeysNoSymbol = /*#__PURE__*/Schema.transform( /*#__PURE__*/Schema.Array( /*#__PURE__*/Schema.Union(Schema.String, Schema.Number)), /*#__PURE__*/Schema.Array( /*#__PURE__*/Schema.Union(Schema.SymbolFromSelf, Schema.String, Schema.Number)), {
29
+ decode: _Function.identity,
30
+ encode: items => items.filter(item => typeof item !== "symbol")
31
+ });
32
+ /**
33
+ * @since 1.0.0
34
+ * @category schemas
35
+ */
36
+ const Issue = exports.Issue = /*#__PURE__*/Schema.Struct({
37
+ _tag: /*#__PURE__*/Schema.Literal("Pointer", "Unexpected", "Missing", "Composite", "Refinement", "Transformation", "Type", "Forbidden"),
38
+ path: PropertyKeysNoSymbol,
39
+ message: Schema.String
40
+ });
41
+ /**
42
+ * @since 1.0.0
43
+ * @category errors
44
+ */
45
+ class HttpApiDecodeError extends /*#__PURE__*/Schema.TaggedError()("HttpApiDecodeError", {
46
+ issues: /*#__PURE__*/Schema.Array(Issue),
47
+ message: Schema.String
48
+ }, /*#__PURE__*/HttpApiSchema.annotations({
49
+ status: 400,
50
+ description: "HttpApiDecodeError: The request did not match the expected schema"
51
+ })) {
52
+ /**
53
+ * @since 1.0.0
54
+ */
55
+ static fromParseError(error) {
56
+ return ArrayFormatter.formatError(error).pipe(Effect.zip(TreeFormatter.formatError(error)), Effect.map(([issues, message]) => new HttpApiDecodeError({
57
+ issues,
58
+ message
59
+ })));
60
+ }
61
+ /**
62
+ * @since 1.0.0
63
+ */
64
+ static refailParseError(error) {
65
+ return Effect.flatMap(HttpApiDecodeError.fromParseError(error), Effect.fail);
66
+ }
67
+ }
68
+ exports.HttpApiDecodeError = HttpApiDecodeError;
69
+ //# sourceMappingURL=HttpApiError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpApiError.js","names":["ArrayFormatter","_interopRequireWildcard","require","Schema","TreeFormatter","Effect","_Function","HttpApiSchema","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","PropertyKeysNoSymbol","transform","Array","Union","String","Number","SymbolFromSelf","decode","identity","encode","items","filter","item","Issue","Struct","_tag","Literal","path","message","HttpApiDecodeError","TaggedError","issues","annotations","status","description","fromParseError","error","formatError","pipe","zip","map","refailParseError","flatMap","fail"],"sources":["../../src/HttpApiError.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.prefix = exports.make = exports.isHttpApiGroup = exports.annotateMerge = exports.annotateEndpointsMerge = exports.annotateEndpoints = exports.annotate = exports.addError = exports.add = exports.TypeId = void 0;
7
+ var Schema = _interopRequireWildcard(require("@effect/schema/Schema"));
8
+ var Chunk = _interopRequireWildcard(require("effect/Chunk"));
9
+ var Context = _interopRequireWildcard(require("effect/Context"));
10
+ var _Function = require("effect/Function");
11
+ var _Pipeable = require("effect/Pipeable");
12
+ var Predicate = _interopRequireWildcard(require("effect/Predicate"));
13
+ var HttpApiEndpoint = _interopRequireWildcard(require("./HttpApiEndpoint.js"));
14
+ var HttpApiSchema = _interopRequireWildcard(require("./HttpApiSchema.js"));
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ /**
18
+ * @since 1.0.0
19
+ */
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ * @category type ids
24
+ */
25
+ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpApiGroup");
26
+ /**
27
+ * @since 1.0.0
28
+ * @category guards
29
+ */
30
+ const isHttpApiGroup = u => Predicate.hasProperty(u, TypeId);
31
+ exports.isHttpApiGroup = isHttpApiGroup;
32
+ const Proto = {
33
+ [TypeId]: TypeId,
34
+ pipe() {
35
+ return (0, _Pipeable.pipeArguments)(this, arguments);
36
+ }
37
+ };
38
+ const makeProto = options => {
39
+ function HttpApiGroup() {}
40
+ Object.setPrototypeOf(HttpApiGroup, Proto);
41
+ return Object.assign(HttpApiGroup, options);
42
+ };
43
+ /**
44
+ * An `HttpApiGroup` is a collection of `HttpApiEndpoint`s. You can use an `HttpApiGroup` to
45
+ * represent a portion of your domain.
46
+ *
47
+ * The endpoints can be implemented later using the `HttpApiBuilder.group` api.
48
+ *
49
+ * @since 1.0.0
50
+ * @category constructors
51
+ */
52
+ const make = identifier => makeProto({
53
+ identifier,
54
+ endpoints: Chunk.empty(),
55
+ errorSchema: Schema.Never,
56
+ annotations: Context.empty()
57
+ });
58
+ /**
59
+ * Add an `HttpApiEndpoint` to an `HttpApiGroup`.
60
+ *
61
+ * @since 1.0.0
62
+ * @category endpoints
63
+ */
64
+ exports.make = make;
65
+ const add = exports.add = /*#__PURE__*/(0, _Function.dual)(2, (self, endpoint) => makeProto({
66
+ identifier: self.identifier,
67
+ errorSchema: self.errorSchema,
68
+ annotations: self.annotations,
69
+ endpoints: Chunk.append(self.endpoints, endpoint)
70
+ }));
71
+ /**
72
+ * Add an error schema to an `HttpApiGroup`, which is shared by all endpoints in the
73
+ * group.
74
+ *
75
+ * @since 1.0.0
76
+ * @category errors
77
+ */
78
+ const addError = exports.addError = /*#__PURE__*/(0, _Function.dual)(args => isHttpApiGroup(args[0]), (self, schema, annotations) => makeProto({
79
+ identifier: self.identifier,
80
+ annotations: self.annotations,
81
+ endpoints: self.endpoints,
82
+ errorSchema: HttpApiSchema.UnionUnify(self.errorSchema, schema.annotations(HttpApiSchema.annotations({
83
+ status: annotations?.status ?? HttpApiSchema.getStatusError(schema)
84
+ })))
85
+ }));
86
+ /**
87
+ * Add a path prefix to all endpoints in an `HttpApiGroup`. Note that this will only
88
+ * add the prefix to the endpoints before this api is called.
89
+ *
90
+ * @since 1.0.0
91
+ * @category endpoints
92
+ */
93
+ const prefix = exports.prefix = /*#__PURE__*/(0, _Function.dual)(2, (self, prefix) => makeProto({
94
+ identifier: self.identifier,
95
+ errorSchema: self.errorSchema,
96
+ annotations: self.annotations,
97
+ endpoints: Chunk.map(self.endpoints, HttpApiEndpoint.prefix(prefix))
98
+ }));
99
+ /**
100
+ * Merge the annotations of an `HttpApiGroup` with a new context.
101
+ *
102
+ * @since 1.0.0
103
+ * @category annotations
104
+ */
105
+ const annotateMerge = exports.annotateMerge = /*#__PURE__*/(0, _Function.dual)(2, (self, context) => makeProto({
106
+ ...self,
107
+ annotations: Context.merge(self.annotations, context)
108
+ }));
109
+ /**
110
+ * Add an annotation to an `HttpApiGroup`.
111
+ *
112
+ * @since 1.0.0
113
+ * @category annotations
114
+ */
115
+ const annotate = exports.annotate = /*#__PURE__*/(0, _Function.dual)(3, (self, tag, value) => makeProto({
116
+ identifier: self.identifier,
117
+ errorSchema: self.errorSchema,
118
+ endpoints: self.endpoints,
119
+ annotations: Context.add(self.annotations, tag, value)
120
+ }));
121
+ /**
122
+ * For each endpoint in an `HttpApiGroup`, update the annotations with a new
123
+ * context.
124
+ *
125
+ * Note that this will only update the annotations before this api is called.
126
+ *
127
+ * @since 1.0.0
128
+ * @category annotations
129
+ */
130
+ const annotateEndpointsMerge = exports.annotateEndpointsMerge = /*#__PURE__*/(0, _Function.dual)(2, (self, context) => makeProto({
131
+ identifier: self.identifier,
132
+ errorSchema: self.errorSchema,
133
+ annotations: self.annotations,
134
+ endpoints: Chunk.map(self.endpoints, HttpApiEndpoint.annotateMerge(context))
135
+ }));
136
+ /**
137
+ * For each endpoint in an `HttpApiGroup`, add an annotation.
138
+ *
139
+ * Note that this will only add the annotation to the endpoints before this api
140
+ * is called.
141
+ *
142
+ * @since 1.0.0
143
+ * @category annotations
144
+ */
145
+ const annotateEndpoints = exports.annotateEndpoints = /*#__PURE__*/(0, _Function.dual)(3, (self, tag, value) => makeProto({
146
+ identifier: self.identifier,
147
+ errorSchema: self.errorSchema,
148
+ annotations: self.annotations,
149
+ endpoints: Chunk.map(self.endpoints, HttpApiEndpoint.annotate(tag, value))
150
+ }));
151
+ //# sourceMappingURL=HttpApiGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpApiGroup.js","names":["Schema","_interopRequireWildcard","require","Chunk","Context","_Function","_Pipeable","Predicate","HttpApiEndpoint","HttpApiSchema","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isHttpApiGroup","hasProperty","Proto","pipe","pipeArguments","arguments","makeProto","options","HttpApiGroup","setPrototypeOf","assign","make","identifier","endpoints","empty","errorSchema","Never","annotations","add","dual","self","endpoint","append","addError","args","schema","UnionUnify","status","getStatusError","prefix","map","annotateMerge","context","merge","annotate","tag","value","annotateEndpointsMerge","annotateEndpoints"],"sources":["../../src/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}