@konker.dev/middleware-fp 0.1.9 → 0.1.11

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 (259) hide show
  1. package/dist/contrib/base64BodyDecoder.d.ts +3 -6
  2. package/dist/contrib/base64BodyDecoder.d.ts.map +1 -1
  3. package/dist/contrib/base64BodyDecoder.js +3 -2
  4. package/dist/contrib/base64BodyDecoder.js.map +1 -1
  5. package/dist/contrib/base64BodyDecoder.test.d.ts +1 -4
  6. package/dist/contrib/base64BodyDecoder.test.d.ts.map +1 -1
  7. package/dist/contrib/base64BodyDecoder.test.js +40 -19
  8. package/dist/contrib/base64BodyDecoder.test.js.map +1 -1
  9. package/dist/contrib/basicAuthAuthenticator.d.ts +6 -4
  10. package/dist/contrib/basicAuthAuthenticator.d.ts.map +1 -1
  11. package/dist/contrib/basicAuthAuthenticator.js.map +1 -1
  12. package/dist/contrib/basicAuthAuthenticator.test.d.ts.map +1 -1
  13. package/dist/contrib/basicAuthAuthenticator.test.js +29 -15
  14. package/dist/contrib/basicAuthAuthenticator.test.js.map +1 -1
  15. package/dist/contrib/basicAuthDecoder.d.ts +6 -5
  16. package/dist/contrib/basicAuthDecoder.d.ts.map +1 -1
  17. package/dist/contrib/basicAuthDecoder.js +2 -2
  18. package/dist/contrib/basicAuthDecoder.js.map +1 -1
  19. package/dist/contrib/basicAuthDecoder.test.js +27 -12
  20. package/dist/contrib/basicAuthDecoder.test.js.map +1 -1
  21. package/dist/contrib/bodyValidator.d.ts +4 -7
  22. package/dist/contrib/bodyValidator.d.ts.map +1 -1
  23. package/dist/contrib/bodyValidator.js +3 -3
  24. package/dist/contrib/bodyValidator.js.map +1 -1
  25. package/dist/contrib/bodyValidator.test.d.ts +0 -3
  26. package/dist/contrib/bodyValidator.test.d.ts.map +1 -1
  27. package/dist/contrib/bodyValidator.test.js +21 -7
  28. package/dist/contrib/bodyValidator.test.js.map +1 -1
  29. package/dist/contrib/cacheInMemory.d.ts +2 -2
  30. package/dist/contrib/cacheInMemory.d.ts.map +1 -1
  31. package/dist/contrib/cacheInMemory.js.map +1 -1
  32. package/dist/contrib/cacheInMemory.test.d.ts +1 -3
  33. package/dist/contrib/cacheInMemory.test.d.ts.map +1 -1
  34. package/dist/contrib/cacheInMemory.test.js +20 -7
  35. package/dist/contrib/cacheInMemory.test.js.map +1 -1
  36. package/dist/contrib/cacheMomento.d.ts +4 -3
  37. package/dist/contrib/cacheMomento.d.ts.map +1 -1
  38. package/dist/contrib/cacheMomento.js +5 -2
  39. package/dist/contrib/cacheMomento.js.map +1 -1
  40. package/dist/contrib/cacheMomento.test.d.ts +1 -3
  41. package/dist/contrib/cacheMomento.test.d.ts.map +1 -1
  42. package/dist/contrib/cacheMomento.test.js +30 -18
  43. package/dist/contrib/cacheMomento.test.js.map +1 -1
  44. package/dist/contrib/envValidator.d.ts +2 -2
  45. package/dist/contrib/envValidator.d.ts.map +1 -1
  46. package/dist/contrib/envValidator.js +3 -13
  47. package/dist/contrib/envValidator.js.map +1 -1
  48. package/dist/contrib/envValidator.test.d.ts +0 -3
  49. package/dist/contrib/envValidator.test.d.ts.map +1 -1
  50. package/dist/contrib/envValidator.test.js +20 -6
  51. package/dist/contrib/envValidator.test.js.map +1 -1
  52. package/dist/contrib/headerSignatureAuthorizer/index.d.ts +2 -3
  53. package/dist/contrib/headerSignatureAuthorizer/index.d.ts.map +1 -1
  54. package/dist/contrib/headerSignatureAuthorizer/index.js.map +1 -1
  55. package/dist/contrib/headerSignatureAuthorizer/index.test.d.ts.map +1 -1
  56. package/dist/contrib/headerSignatureAuthorizer/index.test.js +21 -14
  57. package/dist/contrib/headerSignatureAuthorizer/index.test.js.map +1 -1
  58. package/dist/contrib/headerSignatureAuthorizer/lib.d.ts +2 -2
  59. package/dist/contrib/headerSignatureAuthorizer/lib.d.ts.map +1 -1
  60. package/dist/contrib/headerSignatureAuthorizer/lib.js +3 -0
  61. package/dist/contrib/headerSignatureAuthorizer/lib.js.map +1 -1
  62. package/dist/contrib/headerSignatureAuthorizer/lib.test.js +4 -0
  63. package/dist/contrib/headerSignatureAuthorizer/lib.test.js.map +1 -1
  64. package/dist/contrib/headersNormalizer/index.d.ts +4 -4
  65. package/dist/contrib/headersNormalizer/index.d.ts.map +1 -1
  66. package/dist/contrib/headersNormalizer/index.js +1 -1
  67. package/dist/contrib/headersNormalizer/index.js.map +1 -1
  68. package/dist/contrib/headersNormalizer/index.test.d.ts +1 -8
  69. package/dist/contrib/headersNormalizer/index.test.d.ts.map +1 -1
  70. package/dist/contrib/headersNormalizer/index.test.js +38 -35
  71. package/dist/contrib/headersNormalizer/index.test.js.map +1 -1
  72. package/dist/contrib/headersNormalizer/lib.d.ts +5 -4
  73. package/dist/contrib/headersNormalizer/lib.d.ts.map +1 -1
  74. package/dist/contrib/headersNormalizer/lib.js +8 -11
  75. package/dist/contrib/headersNormalizer/lib.js.map +1 -1
  76. package/dist/contrib/headersNormalizer/lib.test.d.ts +1 -3
  77. package/dist/contrib/headersNormalizer/lib.test.d.ts.map +1 -1
  78. package/dist/contrib/headersNormalizer/lib.test.js +6 -15
  79. package/dist/contrib/headersNormalizer/lib.test.js.map +1 -1
  80. package/dist/contrib/headersNormalizer/types.d.ts +4 -13
  81. package/dist/contrib/headersNormalizer/types.d.ts.map +1 -1
  82. package/dist/contrib/headersValidator.d.ts +4 -5
  83. package/dist/contrib/headersValidator.d.ts.map +1 -1
  84. package/dist/contrib/headersValidator.js +3 -3
  85. package/dist/contrib/headersValidator.js.map +1 -1
  86. package/dist/contrib/headersValidator.test.d.ts +0 -3
  87. package/dist/contrib/headersValidator.test.d.ts.map +1 -1
  88. package/dist/contrib/headersValidator.test.js +33 -8
  89. package/dist/contrib/headersValidator.test.js.map +1 -1
  90. package/dist/contrib/helmetJsHeaders.d.ts +2 -6
  91. package/dist/contrib/helmetJsHeaders.d.ts.map +1 -1
  92. package/dist/contrib/helmetJsHeaders.js +2 -12
  93. package/dist/contrib/helmetJsHeaders.js.map +1 -1
  94. package/dist/contrib/helmetJsHeaders.test.d.ts +1 -3
  95. package/dist/contrib/helmetJsHeaders.test.d.ts.map +1 -1
  96. package/dist/contrib/helmetJsHeaders.test.js +4 -4
  97. package/dist/contrib/helmetJsHeaders.test.js.map +1 -1
  98. package/dist/contrib/identity.d.ts +2 -2
  99. package/dist/contrib/identity.d.ts.map +1 -1
  100. package/dist/contrib/identity.js.map +1 -1
  101. package/dist/contrib/identity.test.d.ts +1 -3
  102. package/dist/contrib/identity.test.d.ts.map +1 -1
  103. package/dist/contrib/identity.test.js +16 -6
  104. package/dist/contrib/identity.test.js.map +1 -1
  105. package/dist/contrib/index.d.ts +1 -4
  106. package/dist/contrib/index.d.ts.map +1 -1
  107. package/dist/contrib/index.js +1 -4
  108. package/dist/contrib/index.js.map +1 -1
  109. package/dist/contrib/jsonBodyParser.d.ts +4 -7
  110. package/dist/contrib/jsonBodyParser.d.ts.map +1 -1
  111. package/dist/contrib/jsonBodyParser.js +3 -3
  112. package/dist/contrib/jsonBodyParser.js.map +1 -1
  113. package/dist/contrib/jsonBodyParser.test.d.ts +1 -3
  114. package/dist/contrib/jsonBodyParser.test.d.ts.map +1 -1
  115. package/dist/contrib/jsonBodyParser.test.js +31 -15
  116. package/dist/contrib/jsonBodyParser.test.js.map +1 -1
  117. package/dist/contrib/jwtAuthenticator.d.ts +6 -5
  118. package/dist/contrib/jwtAuthenticator.d.ts.map +1 -1
  119. package/dist/contrib/jwtAuthenticator.js +3 -3
  120. package/dist/contrib/jwtAuthenticator.js.map +1 -1
  121. package/dist/contrib/jwtAuthenticator.test.d.ts.map +1 -1
  122. package/dist/contrib/jwtAuthenticator.test.js +33 -19
  123. package/dist/contrib/jwtAuthenticator.test.js.map +1 -1
  124. package/dist/contrib/jwtAuthenticatorRsa.d.ts +6 -5
  125. package/dist/contrib/jwtAuthenticatorRsa.d.ts.map +1 -1
  126. package/dist/contrib/jwtAuthenticatorRsa.js +3 -3
  127. package/dist/contrib/jwtAuthenticatorRsa.js.map +1 -1
  128. package/dist/contrib/jwtAuthenticatorRsa.test.d.ts.map +1 -1
  129. package/dist/contrib/jwtAuthenticatorRsa.test.js +28 -14
  130. package/dist/contrib/jwtAuthenticatorRsa.test.js.map +1 -1
  131. package/dist/contrib/jwtDecoder.d.ts +6 -5
  132. package/dist/contrib/jwtDecoder.d.ts.map +1 -1
  133. package/dist/contrib/jwtDecoder.js +2 -2
  134. package/dist/contrib/jwtDecoder.js.map +1 -1
  135. package/dist/contrib/jwtDecoder.test.js +30 -14
  136. package/dist/contrib/jwtDecoder.test.js.map +1 -1
  137. package/dist/contrib/momentoClientInit.d.ts +2 -2
  138. package/dist/contrib/momentoClientInit.d.ts.map +1 -1
  139. package/dist/contrib/momentoClientInit.js.map +1 -1
  140. package/dist/contrib/momentoClientInit.test.d.ts +1 -3
  141. package/dist/contrib/momentoClientInit.test.d.ts.map +1 -1
  142. package/dist/contrib/momentoClientInit.test.js +16 -6
  143. package/dist/contrib/momentoClientInit.test.js.map +1 -1
  144. package/dist/contrib/pathParametersValidator.d.ts +4 -6
  145. package/dist/contrib/pathParametersValidator.d.ts.map +1 -1
  146. package/dist/contrib/pathParametersValidator.js +4 -4
  147. package/dist/contrib/pathParametersValidator.js.map +1 -1
  148. package/dist/contrib/pathParametersValidator.test.d.ts +0 -3
  149. package/dist/contrib/pathParametersValidator.test.d.ts.map +1 -1
  150. package/dist/contrib/pathParametersValidator.test.js +20 -11
  151. package/dist/contrib/pathParametersValidator.test.js.map +1 -1
  152. package/dist/contrib/pathTokenAuthorizer.d.ts +2 -3
  153. package/dist/contrib/pathTokenAuthorizer.d.ts.map +1 -1
  154. package/dist/contrib/pathTokenAuthorizer.js.map +1 -1
  155. package/dist/contrib/pathTokenAuthorizer.test.d.ts.map +1 -1
  156. package/dist/contrib/pathTokenAuthorizer.test.js +17 -19
  157. package/dist/contrib/pathTokenAuthorizer.test.js.map +1 -1
  158. package/dist/contrib/queryStringValidator.d.ts +3 -6
  159. package/dist/contrib/queryStringValidator.d.ts.map +1 -1
  160. package/dist/contrib/queryStringValidator.js +3 -3
  161. package/dist/contrib/queryStringValidator.js.map +1 -1
  162. package/dist/contrib/queryStringValidator.test.d.ts +0 -3
  163. package/dist/contrib/queryStringValidator.test.d.ts.map +1 -1
  164. package/dist/contrib/queryStringValidator.test.js +20 -11
  165. package/dist/contrib/queryStringValidator.test.js.map +1 -1
  166. package/dist/contrib/requestResponseLogger.d.ts +2 -2
  167. package/dist/contrib/requestResponseLogger.d.ts.map +1 -1
  168. package/dist/contrib/requestResponseLogger.js.map +1 -1
  169. package/dist/contrib/requestResponseLogger.test.js +7 -10
  170. package/dist/contrib/requestResponseLogger.test.js.map +1 -1
  171. package/dist/contrib/responseProcessor.d.ts +4 -0
  172. package/dist/contrib/responseProcessor.d.ts.map +1 -0
  173. package/dist/contrib/{awsSimpleAuthorizerProcessor.js → responseProcessor.js} +5 -8
  174. package/dist/contrib/responseProcessor.js.map +1 -0
  175. package/dist/contrib/responseProcessor.test.d.ts +5 -0
  176. package/dist/contrib/responseProcessor.test.d.ts.map +1 -0
  177. package/dist/contrib/{awsApiGatewayProcessor.test.js → responseProcessor.test.js} +14 -23
  178. package/dist/contrib/responseProcessor.test.js.map +1 -0
  179. package/dist/contrib/trivial.d.ts +3 -3
  180. package/dist/contrib/trivial.d.ts.map +1 -1
  181. package/dist/contrib/trivial.js +5 -4
  182. package/dist/contrib/trivial.js.map +1 -1
  183. package/dist/contrib/trivial.test.d.ts +1 -3
  184. package/dist/contrib/trivial.test.d.ts.map +1 -1
  185. package/dist/contrib/trivial.test.js +17 -6
  186. package/dist/contrib/trivial.test.js.map +1 -1
  187. package/dist/index.d.ts +3 -1
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/lib/HttpApiError.d.ts +3 -0
  190. package/dist/lib/HttpApiError.d.ts.map +1 -1
  191. package/dist/lib/HttpApiError.js +15 -0
  192. package/dist/lib/HttpApiError.js.map +1 -1
  193. package/dist/lib/HttpApiError.test.js +1 -1
  194. package/dist/lib/HttpApiError.test.js.map +1 -1
  195. package/dist/lib/http.d.ts +19 -45
  196. package/dist/lib/http.d.ts.map +1 -1
  197. package/dist/lib/http.js +38 -40
  198. package/dist/lib/http.js.map +1 -1
  199. package/dist/lib/http.test.js +108 -43
  200. package/dist/lib/http.test.js.map +1 -1
  201. package/dist/test/test-common.d.ts +10 -6
  202. package/dist/test/test-common.d.ts.map +1 -1
  203. package/dist/test/test-common.js +18 -17
  204. package/dist/test/test-common.js.map +1 -1
  205. package/dist/test/unit/auth-1.test.js +7 -4
  206. package/dist/test/unit/auth-1.test.js.map +1 -1
  207. package/dist/test/unit/basic-1.test.js +7 -5
  208. package/dist/test/unit/basic-1.test.js.map +1 -1
  209. package/dist/test/unit/basic-2.test.d.ts.map +1 -1
  210. package/dist/test/unit/basic-2.test.js +7 -5
  211. package/dist/test/unit/basic-2.test.js.map +1 -1
  212. package/dist/test/unit/basic-3.test.js +7 -5
  213. package/dist/test/unit/basic-3.test.js.map +1 -1
  214. package/dist/test/unit/kitchen-sink.test.d.ts.map +1 -1
  215. package/dist/test/unit/kitchen-sink.test.js +62 -16
  216. package/dist/test/unit/kitchen-sink.test.js.map +1 -1
  217. package/package.json +28 -48
  218. package/dist/contrib/awsApiGatewayProcessor.d.ts +0 -5
  219. package/dist/contrib/awsApiGatewayProcessor.d.ts.map +0 -1
  220. package/dist/contrib/awsApiGatewayProcessor.js +0 -27
  221. package/dist/contrib/awsApiGatewayProcessor.js.map +0 -1
  222. package/dist/contrib/awsApiGatewayProcessor.test.d.ts +0 -6
  223. package/dist/contrib/awsApiGatewayProcessor.test.d.ts.map +0 -1
  224. package/dist/contrib/awsApiGatewayProcessor.test.js.map +0 -1
  225. package/dist/contrib/awsIamAuthorizerProcessor.d.ts +0 -6
  226. package/dist/contrib/awsIamAuthorizerProcessor.d.ts.map +0 -1
  227. package/dist/contrib/awsIamAuthorizerProcessor.js +0 -13
  228. package/dist/contrib/awsIamAuthorizerProcessor.js.map +0 -1
  229. package/dist/contrib/awsIamAuthorizerProcessor.test.d.ts +0 -6
  230. package/dist/contrib/awsIamAuthorizerProcessor.test.d.ts.map +0 -1
  231. package/dist/contrib/awsIamAuthorizerProcessor.test.js +0 -96
  232. package/dist/contrib/awsIamAuthorizerProcessor.test.js.map +0 -1
  233. package/dist/contrib/awsSimpleAuthorizerProcessor.d.ts +0 -5
  234. package/dist/contrib/awsSimpleAuthorizerProcessor.d.ts.map +0 -1
  235. package/dist/contrib/awsSimpleAuthorizerProcessor.js.map +0 -1
  236. package/dist/contrib/awsSimpleAuthorizerProcessor.test.d.ts +0 -7
  237. package/dist/contrib/awsSimpleAuthorizerProcessor.test.d.ts.map +0 -1
  238. package/dist/contrib/awsSimpleAuthorizerProcessor.test.js +0 -56
  239. package/dist/contrib/awsSimpleAuthorizerProcessor.test.js.map +0 -1
  240. package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.d.ts +0 -6
  241. package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.d.ts.map +0 -1
  242. package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.js +0 -16
  243. package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.js.map +0 -1
  244. package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.d.ts +0 -13
  245. package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.d.ts.map +0 -1
  246. package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.js +0 -65
  247. package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.js.map +0 -1
  248. package/dist/contrib/dynamodbDocClientInit/index.d.ts +0 -7
  249. package/dist/contrib/dynamodbDocClientInit/index.d.ts.map +0 -1
  250. package/dist/contrib/dynamodbDocClientInit/index.js +0 -7
  251. package/dist/contrib/dynamodbDocClientInit/index.js.map +0 -1
  252. package/dist/contrib/dynamodbDocClientInit/index.test.d.ts +0 -4
  253. package/dist/contrib/dynamodbDocClientInit/index.test.d.ts.map +0 -1
  254. package/dist/contrib/dynamodbDocClientInit/index.test.js +0 -29
  255. package/dist/contrib/dynamodbDocClientInit/index.test.js.map +0 -1
  256. package/dist/test/unit/auth-2.test.d.ts +0 -2
  257. package/dist/test/unit/auth-2.test.d.ts.map +0 -1
  258. package/dist/test/unit/auth-2.test.js +0 -50
  259. package/dist/test/unit/auth-2.test.js.map +0 -1
@@ -1,15 +1,16 @@
1
- import { defaultDynamoDBDocumentClientFactoryDeps } from '@konker.dev/aws-client-effect-dynamodb/lib/client';
2
1
  import { mockMomentoClientFactoryDeps } from '@konker.dev/momento-cache-client-effect/lib/test';
3
2
  import { TEST_JWT_ISS, TEST_JWT_NOW_MS, TEST_JWT_SIGNING_SECRET, } from '@konker.dev/tiny-auth-utils-fp/test/fixtures/jwt';
4
3
  import { TEST_TOKEN } from '@konker.dev/tiny-auth-utils-fp/test/fixtures/test-jwt-tokens';
4
+ import { JsonCache } from '@konker.dev/tiny-cache-fp';
5
5
  import { JsonHashCacheKeyResolver } from '@konker.dev/tiny-cache-fp/lib/CacheKeyResolver/JsonHashCacheKeyResolver';
6
- import { MomentoStringCacheJson } from '@konker.dev/tiny-cache-fp/momento/MomentoStringCacheJson';
6
+ import { MomentoStringCache } from '@konker.dev/tiny-cache-fp/momento/MomentoStringCache';
7
7
  import { pipe, Schema } from 'effect';
8
8
  import * as Effect from 'effect/Effect';
9
9
  import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
10
10
  import * as M from '../../contrib/index.js';
11
11
  import * as unit from '../../contrib/jwtAuthenticator.js';
12
12
  import { PathTokenAuthorizerDeps } from '../../contrib/pathTokenAuthorizer.js';
13
+ import { makeResponseW } from '../../lib/http.js';
13
14
  export const CORRECT_TEST_PATH_TOKEN_VALUE = 'test-token-value';
14
15
  export const TEST_SECRET_TOKEN_ENV_NAME = 'test-secret-token-env-name';
15
16
  export const JWT_AUTHENTICATOR_TEST_DEPS = unit.JwtAuthenticatorDeps.of({
@@ -59,12 +60,13 @@ describe('kitchen sink', () => {
59
60
  });
60
61
  it('should work as expected', async () => {
61
62
  function echoCore(i) {
62
- return Effect.succeed({
63
+ return Effect.succeed(makeResponseW({
63
64
  statusCode: 200,
64
65
  headers: { 'content-type': 'application/json; charset=UTF-8' },
65
66
  multiValueHeaders: {},
66
67
  isBase64Encoded: false,
67
- body: {
68
+ i: JSON.stringify(i, null, 2),
69
+ body: JSON.stringify({
68
70
  foo: i.body.foo.toUpperCase(),
69
71
  bar: i.body.bar * 2,
70
72
  baz: !i.body.baz,
@@ -72,15 +74,16 @@ describe('kitchen sink', () => {
72
74
  q: i.queryStringParameters.q,
73
75
  h: i.headers['content-type'].toUpperCase(),
74
76
  u: i.userId,
75
- },
76
- });
77
+ }),
78
+ }));
77
79
  }
78
- const stack = pipe(echoCore, M.dynamodbDocClientInit.middleware({ region: 'eu-west-1' }), M.bodyValidator.middleware(Body), M.jsonBodyParser.middleware(), M.base64BodyDecoder.middleware(), M.jwtAuthenticator.middleware(), M.headersValidator.middleware(Headers), M.headersNormalizer.middleware(), M.helmetJsHeaders.middleware(), M.queryStringValidator.middleware(QueryParams), M.pathTokenAuthorizer.middleware(), M.pathParametersValidator.middleware(PathParams), M.identity.middleware(), M.trivial.middleware(), M.awsApiGatewayProcessor.middleware(), M.requestResponseLogger.middleware(), M.cacheInMemory.middleware(JsonHashCacheKeyResolver()), M.cacheMomento.middleware(JsonHashCacheKeyResolver(), MomentoStringCacheJson()), M.momentoClientInit.middleware({}), M.envValidator.middleware(Env));
80
+ const stack = pipe(echoCore, M.bodyValidator.middleware(Body), M.jsonBodyParser.middleware(), M.base64BodyDecoder.middleware(() => false), M.jwtAuthenticator.middleware(), M.headersValidator.middleware(Headers), M.headersNormalizer.middleware(), M.queryStringValidator.middleware(QueryParams), M.pathTokenAuthorizer.middleware(), M.pathParametersValidator.middleware(PathParams), M.identity.middleware(), M.trivial.middleware(), M.helmetJsHeaders.middleware(), M.responseProcessor.middleware(), M.requestResponseLogger.middleware(), M.cacheInMemory.middleware(JsonHashCacheKeyResolver()), M.cacheMomento.middleware(JsonHashCacheKeyResolver(), JsonCache(MomentoStringCache)), M.momentoClientInit.middleware({}), M.envValidator.middleware(Env));
79
81
  const actual1 = stack({
80
- version: 'string',
81
- routeKey: 'string',
82
- rawPath: 'string',
83
- rawQueryString: 'string',
82
+ // version: 'string',
83
+ // routeKey: 'string',
84
+ // rawPath: 'string',
85
+ // rawQueryString: 'string',
86
+ method: 'POST',
84
87
  // cookies?: [],
85
88
  headers: {
86
89
  'content-type': 'application/json; charset=UTF-8',
@@ -89,16 +92,15 @@ describe('kitchen sink', () => {
89
92
  queryStringParameters: {
90
93
  q: 'wtf',
91
94
  },
92
- requestContext: {},
95
+ // requestContext: {} as any,
93
96
  body: '{ "foo": "abc", "bar": 123, "baz": true }',
94
97
  pathParameters: {
95
98
  id: 'test-id',
96
99
  pathToken: CORRECT_TEST_PATH_TOKEN_VALUE,
97
100
  },
98
- isBase64Encoded: false,
99
101
  // stageVariables?: {},
100
102
  });
101
- await expect(Effect.runPromise(pipe(actual1, defaultDynamoDBDocumentClientFactoryDeps, mockMomentoClientFactoryDeps(__cache), mockPathTokenAuthorizerDeps, mockJwtAuthenticatorDeps))).resolves.toStrictEqual({
103
+ await expect(Effect.runPromise(pipe(actual1, mockPathTokenAuthorizerDeps, mockJwtAuthenticatorDeps, mockMomentoClientFactoryDeps(__cache)))).resolves.toStrictEqual({
102
104
  statusCode: 200,
103
105
  headers: {
104
106
  'Content-Type': 'application/json; charset=UTF-8',
@@ -116,11 +118,55 @@ describe('kitchen sink', () => {
116
118
  'X-Permitted-Cross-Domain-Policies': 'none',
117
119
  'X-XSS-Protection': '0',
118
120
  },
119
- multiValueHeaders: {},
120
121
  isBase64Encoded: false,
122
+ multiValueHeaders: {},
121
123
  body: '{"foo":"ABC","bar":246,"baz":false,"pt":"test-token-value","q":"wtf","h":"APPLICATION/JSON; CHARSET=UTF-8","u":"test-sub"}',
124
+ i: `{
125
+ "method": "POST",
126
+ "headers": {
127
+ "content-type": "application/json; charset=UTF-8",
128
+ "authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJzdWIiOiJ0ZXN0LXN1YiIsImlhdCI6MTY3MTU3MzgwOCwiZXhwIjoxNjcxNTc3NDA4LCJpc3MiOiJ0ZXN0LWlzcyJ9.IfZ_IlbKl2S7pkKBqTis0kyBmDuXGbBkCdCkrDdLq_Q"
129
+ },
130
+ "queryStringParameters": {
131
+ "q": "wtf"
132
+ },
133
+ "body": {
134
+ "foo": "abc",
135
+ "bar": 123,
136
+ "baz": true
137
+ },
138
+ "pathParameters": {
139
+ "id": "test-id",
140
+ "pathToken": "test-token-value"
141
+ },
142
+ "validatedEnv": {
143
+ "MOMENTO_AUTH_TOKEN": "TEST_MOMENTO_AUTH_TOKEN"
144
+ },
145
+ "pathParametersValidatorRaw": {
146
+ "id": "test-id",
147
+ "pathToken": "test-token-value"
148
+ },
149
+ "queryStringValidatorRaw": {
150
+ "q": "wtf"
151
+ },
152
+ "headersNormalizerRequestRaw": {
153
+ "content-type": "application/json; charset=UTF-8",
154
+ "authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJzdWIiOiJ0ZXN0LXN1YiIsImlhdCI6MTY3MTU3MzgwOCwiZXhwIjoxNjcxNTc3NDA4LCJpc3MiOiJ0ZXN0LWlzcyJ9.IfZ_IlbKl2S7pkKBqTis0kyBmDuXGbBkCdCkrDdLq_Q"
155
+ },
156
+ "headersValidatorRaw": {
157
+ "content-type": "application/json; charset=UTF-8",
158
+ "authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJzdWIiOiJ0ZXN0LXN1YiIsImlhdCI6MTY3MTU3MzgwOCwiZXhwIjoxNjcxNTc3NDA4LCJpc3MiOiJ0ZXN0LWlzcyJ9.IfZ_IlbKl2S7pkKBqTis0kyBmDuXGbBkCdCkrDdLq_Q"
159
+ },
160
+ "userId": "test-sub",
161
+ "jsonBodyParserRaw": "{ \\"foo\\": \\"abc\\", \\"bar\\": 123, \\"baz\\": true }",
162
+ "bodyValidatorRaw": {
163
+ "foo": "abc",
164
+ "bar": 123,
165
+ "baz": true
166
+ }
167
+ }`,
122
168
  });
123
- expect(__cache).toHaveProperty('default-cache_d3dc0612e0b4841fccb17c34342c1b38');
169
+ expect(__cache).toHaveProperty('default-cache_89f05974dfc4a3ae4af70ea0fee174e1');
124
170
  });
125
171
  });
126
172
  //# sourceMappingURL=kitchen-sink.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kitchen-sink.test.js","sourceRoot":"","sources":["../../../src/test/unit/kitchen-sink.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kitchen-sink.test.js","sourceRoot":"","sources":["../../../src/test/unit/kitchen-sink.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konker.dev/middleware-fp",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "type": "module",
5
5
  "author": "Konrad Markus <mail@konker.dev>",
6
6
  "license": "ISC",
@@ -24,22 +24,6 @@
24
24
  "types": "./dist/index.d.ts",
25
25
  "import": "./dist/index.js"
26
26
  },
27
- "./contrib/awsApiGatewayProcessor": {
28
- "types": "./dist/contrib/awsApiGatewayProcessor.d.ts",
29
- "import": "./dist/contrib/awsApiGatewayProcessor.js"
30
- },
31
- "./contrib/awsIamAuthorizerProcessor": {
32
- "types": "./dist/contrib/awsIamAuthorizerProcessor.d.ts",
33
- "import": "./dist/contrib/awsIamAuthorizerProcessor.js"
34
- },
35
- "./contrib/awsSimpleAuthorizerProcessor": {
36
- "types": "./dist/contrib/awsSimpleAuthorizerProcessor.d.ts",
37
- "import": "./dist/contrib/awsSimpleAuthorizerProcessor.js"
38
- },
39
- "./contrib/awsSimpleAuthorizerWithContextProcessor": {
40
- "types": "./dist/contrib/awsSimpleAuthorizerWithContextProcessor.d.ts",
41
- "import": "./dist/contrib/awsSimpleAuthorizerWithContextProcessor.js"
42
- },
43
27
  "./contrib/base64BodyDecoder": {
44
28
  "types": "./dist/contrib/base64BodyDecoder.d.ts",
45
29
  "import": "./dist/contrib/base64BodyDecoder.js"
@@ -64,10 +48,6 @@
64
48
  "types": "./dist/contrib/cacheMomento.d.ts",
65
49
  "import": "./dist/contrib/cacheMomento.js"
66
50
  },
67
- "./contrib/dynamodbDocClientInit": {
68
- "types": "./dist/contrib/dynamodbDocClientInit/index.d.ts",
69
- "import": "./dist/contrib/dynamodbDocClientInit/index.js"
70
- },
71
51
  "./contrib/envValidator": {
72
52
  "types": "./dist/contrib/envValidator.d.ts",
73
53
  "import": "./dist/contrib/envValidator.js"
@@ -144,6 +124,10 @@
144
124
  "types": "./dist/contrib/requestResponseLogger.d.ts",
145
125
  "import": "./dist/contrib/requestResponseLogger.js"
146
126
  },
127
+ "./contrib/responseProcessor": {
128
+ "types": "./dist/contrib/responseProcessor.d.ts",
129
+ "import": "./dist/contrib/responseProcessor.js"
130
+ },
147
131
  "./contrib/trivial": {
148
132
  "types": "./dist/contrib/trivial.d.ts",
149
133
  "import": "./dist/contrib/trivial.js"
@@ -175,47 +159,43 @@
175
159
  "aws-lambda": "^1.0.7"
176
160
  },
177
161
  "dependencies": {
178
- "@effect/schema": "^0.72.4",
179
- "effect": "^3.11.3",
162
+ "effect": "^3.17.7",
180
163
  "lesslog": "^0.2.7",
181
- "@konker.dev/aws-client-effect-dynamodb": "0.1.9",
182
- "@konker.dev/momento-cache-client-effect": "0.1.9",
183
- "@konker.dev/tiny-auth-utils-fp": "0.1.9",
184
- "@konker.dev/tiny-cache-fp": "0.1.9",
185
- "@konker.dev/tiny-error-fp": "0.1.9",
186
- "@konker.dev/tiny-utils-fp": "0.1.9"
164
+ "@konker.dev/momento-cache-client-effect": "0.1.10",
165
+ "@konker.dev/tiny-auth-utils-fp": "0.1.10",
166
+ "@konker.dev/tiny-cache-fp": "0.1.11",
167
+ "@konker.dev/tiny-error-fp": "0.1.10",
168
+ "@konker.dev/tiny-utils-fp": "0.1.10"
187
169
  },
188
170
  "devDependencies": {
189
- "@arethetypeswrong/cli": "^0.17.1",
190
- "@aws-sdk/client-dynamodb": "^3.637.0",
191
- "@aws-sdk/types": "^3.696.0",
192
- "@aws-sdk/util-stream-node": "^3.374.0",
171
+ "@arethetypeswrong/cli": "^0.17.4",
172
+ "@aws-sdk/client-dynamodb": "^3.864.0",
173
+ "@aws-sdk/types": "^3.862.0",
193
174
  "@effect/language-service": "^0.0.21",
194
- "@eslint/js": "^9.17.0",
195
- "@gomomento/sdk": "^1.102.0",
196
- "@konker.dev/common-config": "^0.2.1",
175
+ "@eslint/js": "^9.33.0",
176
+ "@gomomento/sdk": "^1.111.0",
177
+ "@konker.dev/common-config": "0.2.4",
197
178
  "@smithy/smithy-client": "^2.5.1",
198
- "@swc/core": "^1.10.0",
199
- "@types/aws-lambda": "^8.10.146",
179
+ "@swc/core": "^1.13.3",
180
+ "@types/aws-lambda": "^8.10.152",
200
181
  "@types/micromatch": "^4.0.9",
201
- "@types/node": "^20.17.9",
202
- "@vitest/coverage-istanbul": "^2.1.8",
182
+ "@types/node": "^24.2.1",
183
+ "@vitest/coverage-istanbul": "^3.2.4",
203
184
  "aws-lambda": "^1.0.7",
204
185
  "aws-sdk-client-mock": "^3.1.0",
205
- "codecov": "^3.8.3",
206
- "eslint": "^9.17.0",
186
+ "eslint": "^9.33.0",
207
187
  "eslint-plugin-fp": "^2.3.0",
208
- "eslint-plugin-prettier": "^5.2.1",
188
+ "eslint-plugin-prettier": "^5.5.4",
209
189
  "eslint-plugin-simple-import-sort": "^12.1.1",
210
190
  "eslint-plugin-sort-destructure-keys": "^1.6.0",
211
191
  "leasot": "^13.3.0",
212
192
  "madge": "^6.1.0",
213
- "micromatch": "^4.0.5",
214
- "prettier": "^3.4.2",
193
+ "micromatch": "^4.0.8",
194
+ "prettier": "^3.6.2",
215
195
  "type-coverage": "^2.29.7",
216
- "typescript": "^5.7.2",
217
- "typescript-eslint": "^8.18.0",
218
- "vitest": "^2.1.8"
196
+ "typescript": "^5.9.2",
197
+ "typescript-eslint": "^8.39.0",
198
+ "vitest": "^3.2.4"
219
199
  },
220
200
  "scripts": {
221
201
  "test": "vitest run --coverage",
@@ -1,5 +0,0 @@
1
- import type { APIGatewayProxyEventV2, APIGatewayProxyResult } from 'aws-lambda';
2
- import type { Handler } from '../index.js';
3
- import type { BaseResponse } from '../lib/http.js';
4
- export declare const middleware: () => <I extends APIGatewayProxyEventV2, O extends BaseResponse, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, APIGatewayProxyResult, never, R>;
5
- //# sourceMappingURL=awsApiGatewayProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsApiGatewayProcessor.d.ts","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAIhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD,eAAO,MAAM,UAAU,SAEpB,CAAC,SAAS,sBAAsB,EAAE,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,CAAC,WACpD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,OAAO,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CA8C5C,CAAC"}
@@ -1,27 +0,0 @@
1
- import { pipe, Schema } from 'effect';
2
- import * as Effect from 'effect/Effect';
3
- import { UNKNOWN_STRING_EFFECT } from '../lib/http.js';
4
- import { toHttpApiError } from '../lib/HttpApiError.js';
5
- const TAG = 'awsApiGatewayProcessor';
6
- export const middleware = () => (wrapped) => (i) => {
7
- return pipe(Effect.succeed(i), Effect.tap(Effect.logDebug(`[${TAG}] IN`)), Effect.flatMap(wrapped), Effect.tap(Effect.logDebug(`[${TAG}] OUT`)), Effect.matchEffect({
8
- onFailure: (e) => pipe(Effect.succeed(e), Effect.tap(Effect.logError('Error', e)), Effect.map(toHttpApiError), Effect.flatMap((apiError) => pipe(
9
- // Formulate response body
10
- { message: `${apiError.name}: ${apiError.message}`, statusCode: apiError.statusCode }, Schema.encode(Schema.parseJson()), Effect.orElse(UNKNOWN_STRING_EFFECT), Effect.map((body) => ({
11
- statusCode: apiError.statusCode,
12
- headers: {
13
- 'Content-Type': 'application/json',
14
- },
15
- body,
16
- }))))),
17
- onSuccess: (o) => pipe(o.body, (body) => Effect.if(typeof body === 'string', {
18
- onTrue: () => Effect.succeed(body),
19
- onFalse: () => pipe(body, Schema.encode(Schema.parseJson())),
20
- }), Effect.orElse(UNKNOWN_STRING_EFFECT), Effect.map((body) => ({
21
- statusCode: 200, // default
22
- ...o,
23
- body,
24
- }))),
25
- }));
26
- };
27
- //# sourceMappingURL=awsApiGatewayProcessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsApiGatewayProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,GAAG,GAAG,wBAAwB,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CACE,OAA4B,EACiB,EAAE,CACjD,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,IAAI,CACT,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,EAC3C,MAAM,CAAC,WAAW,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,IAAI,CACF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EACvC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,IAAI;QACF,0BAA0B;QAC1B,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,EACrF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EACjC,MAAM,CAAC,MAAM,CAAmB,qBAAqB,CAAC,EACtD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;SACL,CAAC,CAAC,CACJ,CACF,CACF;QACH,SAAS,EAAE,CAAC,CAAI,EAAE,EAAE,CAClB,IAAI,CACF,CAAC,CAAC,IAAI,EACN,CAAC,IAAI,EAAE,EAAE,CACP,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE;YAClC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC;YAC5C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SAC7D,CAAC,EACJ,MAAM,CAAC,MAAM,CAAmB,qBAAqB,CAAC,EACtD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpB,UAAU,EAAE,GAAG,EAAE,UAAU;YAC3B,GAAG,CAAC;YACJ,IAAI;SACL,CAAC,CAAC,CACJ;KACJ,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { APIGatewayProxyEventV2 } from 'aws-lambda';
2
- import type { Handler } from '../index.js';
3
- import type { BaseResponse } from '../lib/http.js';
4
- export declare const testCoreL: (out: any) => Handler<APIGatewayProxyEventV2, BaseResponse, Error, unknown>;
5
- export declare const testCoreR: (out: any) => Handler<APIGatewayProxyEventV2, BaseResponse, Error, unknown>;
6
- //# sourceMappingURL=awsApiGatewayProcessor.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsApiGatewayProcessor.test.d.ts","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAKzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAoCnD,eAAO,MAAM,SAAS,QACd,GAAG,KAAG,OAAO,CAAC,sBAAsB,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAEtD,CAAC;AAErB,eAAO,MAAM,SAAS,QACd,GAAG,KAAG,OAAO,CAAC,sBAAsB,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAEnD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsApiGatewayProcessor.test.js","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { APIGatewayAuthorizerResult, APIGatewayRequestAuthorizerEventV2 } from 'aws-lambda';
2
- import type { Handler } from '../index.js';
3
- export declare const ANON_PRINCIPAL_ID = "anon";
4
- export declare const DEFAULT_ROUTE_ARN = "*";
5
- export declare const middleware: () => <I extends APIGatewayRequestAuthorizerEventV2, O extends APIGatewayAuthorizerResult, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, APIGatewayAuthorizerResult, never, R>;
6
- //# sourceMappingURL=awsIamAuthorizerProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsIamAuthorizerProcessor.d.ts","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAIjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,eAAO,MAAM,UAAU,SAEpB,CAAC,SAAS,kCAAkC,EAAE,CAAC,SAAS,0BAA0B,EAAE,CAAC,EAAE,CAAC,WAC9E,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,OAAO,CAAC,CAAC,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAiBjD,CAAC"}
@@ -1,13 +0,0 @@
1
- import { generateLambdaAuthResultDeny } from '@konker.dev/tiny-auth-utils-fp/aws-authorizer';
2
- import { pipe } from 'effect';
3
- import * as Effect from 'effect/Effect';
4
- const TAG = 'awsIamAuthorizerProcessor';
5
- export const ANON_PRINCIPAL_ID = 'anon';
6
- export const DEFAULT_ROUTE_ARN = '*';
7
- export const middleware = () => (wrapped) => (i) => {
8
- return pipe(Effect.succeed(i), Effect.tap(Effect.logDebug(`[${TAG}] IN`)), Effect.flatMap(wrapped), Effect.tap(Effect.logDebug(`[${TAG}] OUT`)), Effect.matchEffect({
9
- onFailure: (e) => pipe(Effect.succeed(e), Effect.tap(Effect.logError('Internal server error', e)), Effect.map((_) => generateLambdaAuthResultDeny(ANON_PRINCIPAL_ID, DEFAULT_ROUTE_ARN))),
10
- onSuccess: (o) => Effect.succeed(o),
11
- }));
12
- };
13
- //# sourceMappingURL=awsIamAuthorizerProcessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsIamAuthorizerProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,GAAG,GAAG,2BAA2B,CAAC;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CACE,OAA4B,EACsB,EAAE,CACtD,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,IAAI,CACT,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,EAC3C,MAAM,CAAC,WAAW,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,IAAI,CACF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EACvD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CACtF;QACH,SAAS,EAAE,CAAC,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;KACvC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { APIGatewayAuthorizerResult, APIGatewayRequestAuthorizerEventV2 } from 'aws-lambda';
2
- import type { Handler } from '../index.js';
3
- export declare const testCoreL: (e: Error) => Handler<APIGatewayRequestAuthorizerEventV2, APIGatewayAuthorizerResult, Error, never>;
4
- export declare const testCoreRA: (out: any) => Handler<APIGatewayRequestAuthorizerEventV2, APIGatewayAuthorizerResult, Error, never>;
5
- export declare const testCoreRD: (out: any) => Handler<APIGatewayRequestAuthorizerEventV2, APIGatewayAuthorizerResult, Error, never>;
6
- //# sourceMappingURL=awsIamAuthorizerProcessor.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsIamAuthorizerProcessor.test.d.ts","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAKjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAoB3C,eAAO,MAAM,SAAS,MAChB,KAAK,KAAG,OAAO,CAAC,kCAAkC,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAEhF,CAAC;AAEnB,eAAO,MAAM,UAAU,QACf,GAAG,KAAG,OAAO,CAAC,kCAAkC,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAElB,CAAC;AAEjF,eAAO,MAAM,UAAU,QACf,GAAG,KAAG,OAAO,CAAC,kCAAkC,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAEnB,CAAC"}
@@ -1,96 +0,0 @@
1
- import { generateLambdaAuthResultAllow, generateLambdaAuthResultDeny, } from '@konker.dev/tiny-auth-utils-fp/aws-authorizer';
2
- import { toError } from '@konker.dev/tiny-error-fp/lib';
3
- import { pipe } from 'effect';
4
- import * as Effect from 'effect/Effect';
5
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
6
- import * as unit from './awsIamAuthorizerProcessor.js';
7
- // https://stackoverflow.com/a/72885576/203284
8
- // https://github.com/vitest-dev/vitest/issues/6099
9
- vi.mock('effect/Effect', { spy: true });
10
- const TEST_IN = {
11
- headers: {},
12
- requestContext: {},
13
- routeArn: 'SOME_ARN',
14
- };
15
- const TEST_OUT_1 = {
16
- principalId: 'SOME_PRINCIPAL',
17
- routeArn: 'SOME_ARN',
18
- };
19
- const TEST_OUT_2 = toError('Some Error Message');
20
- export const testCoreL = (e) => (_) => Effect.fail(e);
21
- export const testCoreRA = (out) => (_) => Effect.succeed(generateLambdaAuthResultAllow(out.principalId, out.routeArn));
22
- export const testCoreRD = (out) => (_) => Effect.succeed(generateLambdaAuthResultDeny(out.principalId, out.routeArn));
23
- describe('middleware/aws-iam-authorizer-processor', () => {
24
- let errorSpy;
25
- beforeEach(() => {
26
- vi.spyOn(Effect, 'logDebug').mockReturnValue(Effect.succeed(undefined));
27
- errorSpy = vi.spyOn(Effect, 'logError').mockReturnValue(Effect.succeed(undefined));
28
- });
29
- afterEach(() => {
30
- vi.restoreAllMocks();
31
- });
32
- it('should work as expected in an success case (Allow)', async () => {
33
- const stack = pipe(testCoreRA(TEST_OUT_1), unit.middleware());
34
- const result = await pipe(stack(TEST_IN), Effect.runPromise);
35
- expect(result).toStrictEqual({
36
- context: {
37
- principalId: 'SOME_PRINCIPAL',
38
- },
39
- policyDocument: {
40
- Statement: [
41
- {
42
- Action: 'execute-api:Invoke',
43
- Effect: 'Allow',
44
- Resource: 'SOME_ARN',
45
- },
46
- ],
47
- Version: '2012-10-17',
48
- },
49
- principalId: 'SOME_PRINCIPAL',
50
- });
51
- expect(errorSpy).toHaveBeenCalledTimes(0);
52
- });
53
- it('should work as expected in an success case (Deny)', async () => {
54
- const stack = pipe(testCoreRD(TEST_OUT_1), unit.middleware());
55
- const result = await pipe(stack(TEST_IN), Effect.runPromise);
56
- expect(result).toStrictEqual({
57
- context: {
58
- principalId: 'SOME_PRINCIPAL',
59
- },
60
- policyDocument: {
61
- Statement: [
62
- {
63
- Action: 'execute-api:Invoke',
64
- Effect: 'Deny',
65
- Resource: 'SOME_ARN',
66
- },
67
- ],
68
- Version: '2012-10-17',
69
- },
70
- principalId: 'SOME_PRINCIPAL',
71
- });
72
- expect(errorSpy).toHaveBeenCalledTimes(0);
73
- });
74
- it('should work as expected in an error case', async () => {
75
- const stack = pipe(testCoreL(TEST_OUT_2), unit.middleware());
76
- const result = await pipe(stack(TEST_IN), Effect.runPromise);
77
- expect(result).toStrictEqual({
78
- context: {
79
- principalId: 'anon',
80
- },
81
- policyDocument: {
82
- Statement: [
83
- {
84
- Action: 'execute-api:Invoke',
85
- Effect: 'Deny',
86
- Resource: '*',
87
- },
88
- ],
89
- Version: '2012-10-17',
90
- },
91
- principalId: 'anon',
92
- });
93
- expect(errorSpy).toHaveBeenCalledTimes(1);
94
- });
95
- });
96
- //# sourceMappingURL=awsIamAuthorizerProcessor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsIamAuthorizerProcessor.test.js","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { APIGatewayRequestAuthorizerEventV2, APIGatewaySimpleAuthorizerResult } from 'aws-lambda';
2
- import type { Handler } from '../index.js';
3
- import type { BaseSimpleAuthResponse } from '../lib/http.js';
4
- export declare const middleware: () => <I extends APIGatewayRequestAuthorizerEventV2, O extends BaseSimpleAuthResponse, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, APIGatewaySimpleAuthorizerResult, never, R>;
5
- //# sourceMappingURL=awsSimpleAuthorizerProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsSimpleAuthorizerProcessor.d.ts","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAIvG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,eAAO,MAAM,UAAU,SAEpB,CAAC,SAAS,kCAAkC,EAAE,CAAC,SAAS,sBAAsB,EAAE,CAAC,EAAE,CAAC,WAC1E,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,OAAO,CAAC,CAAC,EAAE,gCAAgC,EAAE,KAAK,EAAE,CAAC,CAsBvD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsSimpleAuthorizerProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,MAAM,GAAG,GAAG,8BAA8B,CAAC;AAE3C,MAAM,CAAC,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CACE,OAA4B,EAC4B,EAAE,CAC5D,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,IAAI,CACT,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,EAC3C,MAAM,CAAC,WAAW,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,IAAI,CACF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EACvD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC,CACJ;QACH,SAAS,EAAE,CAAC,CAAI,EAAE,EAAE,CAClB,MAAM,CAAC,OAAO,CAAC;YACb,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7B,CAAC;KACL,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { APIGatewayRequestAuthorizerEventV2 } from 'aws-lambda';
2
- import type { Handler } from '../index.js';
3
- import type { BaseSimpleAuthResponse } from '../lib/http.js';
4
- export declare const testCoreL: (e: Error) => Handler<APIGatewayRequestAuthorizerEventV2, BaseSimpleAuthResponse, Error, never>;
5
- export declare const testCoreRA: (out: any) => Handler<APIGatewayRequestAuthorizerEventV2, BaseSimpleAuthResponse, Error, never>;
6
- export declare const testCoreRD: (out: any) => Handler<APIGatewayRequestAuthorizerEventV2, BaseSimpleAuthResponse, Error, never>;
7
- //# sourceMappingURL=awsSimpleAuthorizerProcessor.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsSimpleAuthorizerProcessor.test.d.ts","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerProcessor.test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAKrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAoB7D,eAAO,MAAM,SAAS,MAChB,KAAK,KAAG,OAAO,CAAC,kCAAkC,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,CAE5E,CAAC;AAEnB,eAAO,MAAM,UAAU,QACf,GAAG,KAAG,OAAO,CAAC,kCAAkC,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,CAKxF,CAAC;AAEP,eAAO,MAAM,UAAU,QACf,GAAG,KAAG,OAAO,CAAC,kCAAkC,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,CAKxF,CAAC"}
@@ -1,56 +0,0 @@
1
- import { toError } from '@konker.dev/tiny-error-fp/lib';
2
- import { pipe } from 'effect';
3
- import * as Effect from 'effect/Effect';
4
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
- import * as unit from './awsSimpleAuthorizerProcessor.js';
6
- // https://stackoverflow.com/a/72885576/203284
7
- // https://github.com/vitest-dev/vitest/issues/6099
8
- vi.mock('effect/Effect', { spy: true });
9
- const TEST_IN = {
10
- headers: {},
11
- requestContext: {},
12
- routeArn: 'SOME_ARN',
13
- };
14
- const TEST_OUT_1 = {
15
- foo: 'abc',
16
- bar: 123,
17
- };
18
- const TEST_OUT_2 = toError('Some Error Message');
19
- export const testCoreL = (e) => (_) => Effect.fail(e);
20
- export const testCoreRA = (out) => (_) => Effect.succeed({
21
- ...out,
22
- isAuthorized: true,
23
- });
24
- export const testCoreRD = (out) => (_) => Effect.succeed({
25
- ...out,
26
- isAuthorized: false,
27
- });
28
- describe('middleware/aws-simple-authorizer-processor', () => {
29
- let errorSpy;
30
- beforeEach(() => {
31
- vi.spyOn(Effect, 'logDebug').mockReturnValue(Effect.succeed(undefined));
32
- errorSpy = vi.spyOn(Effect, 'logError').mockReturnValue(Effect.succeed(undefined));
33
- });
34
- afterEach(() => {
35
- vi.restoreAllMocks();
36
- });
37
- it('should work as expected in an success case (Allow)', async () => {
38
- const stack = pipe(testCoreRA(TEST_OUT_1), unit.middleware());
39
- const result = await pipe(stack(TEST_IN), Effect.runPromise);
40
- expect(result).toStrictEqual({ isAuthorized: true });
41
- expect(errorSpy).toHaveBeenCalledTimes(0);
42
- });
43
- it('should work as expected in an success case (Deny)', async () => {
44
- const stack = pipe(testCoreRD(TEST_OUT_1), unit.middleware());
45
- const result = await pipe(stack(TEST_IN), Effect.runPromise);
46
- expect(result).toStrictEqual({ isAuthorized: false });
47
- expect(errorSpy).toHaveBeenCalledTimes(0);
48
- });
49
- it('should work as expected in an error case', async () => {
50
- const stack = pipe(testCoreL(TEST_OUT_2), unit.middleware());
51
- const result = await pipe(stack(TEST_IN), Effect.runPromise);
52
- expect(result).toStrictEqual({ isAuthorized: false });
53
- expect(errorSpy).toHaveBeenCalledTimes(1);
54
- });
55
- });
56
- //# sourceMappingURL=awsSimpleAuthorizerProcessor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsSimpleAuthorizerProcessor.test.js","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerProcessor.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { APIGatewayRequestAuthorizerEventV2, APIGatewaySimpleAuthorizerWithContextResult } from 'aws-lambda';
2
- import type { LazyArg } from 'effect/Function';
3
- import type { Handler } from '../index.js';
4
- import type { BaseSimpleAuthResponseWithContext } from '../lib/http.js';
5
- export declare const middleware: <C>(defaultErrorContext: LazyArg<C>) => <I extends APIGatewayRequestAuthorizerEventV2, O extends BaseSimpleAuthResponseWithContext<C>, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, APIGatewaySimpleAuthorizerWithContextResult<C>, never, R>;
6
- //# sourceMappingURL=awsSimpleAuthorizerWithContextProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsSimpleAuthorizerWithContextProcessor.d.ts","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerWithContextProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,2CAA2C,EAAE,MAAM,YAAY,CAAC;AAGlH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAIxE,eAAO,MAAM,UAAU,GACpB,CAAC,uBAAuB,OAAO,CAAC,CAAC,CAAC,MAClC,CAAC,SAAS,kCAAkC,EAAE,CAAC,SAAS,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WACxF,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,OAAO,CAAC,CAAC,EAAE,2CAA2C,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAwBrE,CAAC"}