@creator.co/wapi 1.2.2 → 1.2.4

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 (135) hide show
  1. package/.eslintrc.cjs +29 -22
  2. package/.github/workflows/npmpublish.yml +2 -5
  3. package/.github/workflows/prs.yml +1 -1
  4. package/README.md +1 -3
  5. package/dist/index.d.ts +11 -0
  6. package/dist/index.js +24 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/jest.config.d.ts +3 -0
  9. package/dist/jest.config.js +34 -0
  10. package/dist/jest.config.js.map +1 -0
  11. package/dist/package.json +64 -0
  12. package/dist/src/API/Request.d.ts +140 -0
  13. package/dist/src/API/Request.js +182 -0
  14. package/dist/src/API/Request.js.map +1 -0
  15. package/dist/src/API/Response.d.ts +256 -0
  16. package/dist/src/API/Response.js +398 -0
  17. package/dist/src/API/Response.js.map +1 -0
  18. package/dist/src/API/Utils.d.ts +63 -0
  19. package/dist/src/API/Utils.js +104 -0
  20. package/dist/src/API/Utils.js.map +1 -0
  21. package/dist/src/BaseEvent/EventProcessor.d.ts +81 -0
  22. package/dist/src/BaseEvent/EventProcessor.js +182 -0
  23. package/dist/src/BaseEvent/EventProcessor.js.map +1 -0
  24. package/dist/src/BaseEvent/Process.d.ts +74 -0
  25. package/dist/src/BaseEvent/Process.js +142 -0
  26. package/dist/src/BaseEvent/Process.js.map +1 -0
  27. package/dist/src/BaseEvent/Transaction.d.ts +29 -0
  28. package/dist/src/BaseEvent/Transaction.js +244 -0
  29. package/dist/src/BaseEvent/Transaction.js.map +1 -0
  30. package/dist/src/Config/Configuration.d.ts +131 -0
  31. package/dist/src/Config/Configuration.js +153 -0
  32. package/dist/src/Config/Configuration.js.map +1 -0
  33. package/dist/src/Config/EnvironmentVar.d.ts +101 -0
  34. package/dist/src/Config/EnvironmentVar.js +213 -0
  35. package/dist/src/Config/EnvironmentVar.js.map +1 -0
  36. package/dist/src/Crypto/Crypto.d.ts +57 -0
  37. package/dist/src/Crypto/Crypto.js +126 -0
  38. package/dist/src/Crypto/Crypto.js.map +1 -0
  39. package/dist/src/Crypto/JWT.d.ts +64 -0
  40. package/dist/src/Crypto/JWT.js +74 -0
  41. package/dist/src/Crypto/JWT.js.map +1 -0
  42. package/dist/src/Globals.d.ts +161 -0
  43. package/dist/src/Globals.js +173 -0
  44. package/dist/src/Globals.js.map +1 -0
  45. package/dist/src/Logger/Logger.d.ts +180 -0
  46. package/dist/src/Logger/Logger.js +412 -0
  47. package/dist/src/Logger/Logger.js.map +1 -0
  48. package/dist/src/Mailer/Mailer.d.ts +107 -0
  49. package/dist/src/Mailer/Mailer.js +313 -0
  50. package/dist/src/Mailer/Mailer.js.map +1 -0
  51. package/dist/src/Publisher/Publisher.d.ts +47 -0
  52. package/dist/src/Publisher/Publisher.js +141 -0
  53. package/dist/src/Publisher/Publisher.js.map +1 -0
  54. package/dist/src/Server/RouteResolver.d.ts +41 -0
  55. package/dist/src/Server/RouteResolver.js +135 -0
  56. package/dist/src/Server/RouteResolver.js.map +1 -0
  57. package/dist/src/Server/Router.d.ts +104 -0
  58. package/dist/src/Server/Router.js +45 -0
  59. package/dist/src/Server/Router.js.map +1 -0
  60. package/dist/src/Server/lib/ContainerServer.d.ts +58 -0
  61. package/dist/src/Server/lib/ContainerServer.js +143 -0
  62. package/dist/src/Server/lib/ContainerServer.js.map +1 -0
  63. package/dist/src/Server/lib/Server.d.ts +60 -0
  64. package/dist/src/Server/lib/Server.js +137 -0
  65. package/dist/src/Server/lib/Server.js.map +1 -0
  66. package/dist/src/Server/lib/container/GenericHandler.d.ts +4 -0
  67. package/dist/src/Server/lib/container/GenericHandler.js +138 -0
  68. package/dist/src/Server/lib/container/GenericHandler.js.map +1 -0
  69. package/dist/src/Server/lib/container/GenericHandlerEvent.d.ts +67 -0
  70. package/dist/src/Server/lib/container/GenericHandlerEvent.js +189 -0
  71. package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -0
  72. package/dist/src/Server/lib/container/HealthHandler.d.ts +3 -0
  73. package/dist/src/Server/lib/container/HealthHandler.js +45 -0
  74. package/dist/src/Server/lib/container/HealthHandler.js.map +1 -0
  75. package/dist/src/Server/lib/container/Proxy.d.ts +95 -0
  76. package/dist/src/Server/lib/container/Proxy.js +201 -0
  77. package/dist/src/Server/lib/container/Proxy.js.map +1 -0
  78. package/dist/src/Server/lib/container/Utils.d.ts +18 -0
  79. package/dist/src/Server/lib/container/Utils.js +84 -0
  80. package/dist/src/Server/lib/container/Utils.js.map +1 -0
  81. package/dist/src/Validation/Validator.d.ts +21 -0
  82. package/dist/src/Validation/Validator.js +48 -0
  83. package/dist/src/Validation/Validator.js.map +1 -0
  84. package/index.ts +12 -10
  85. package/jest.config.ts +14 -21
  86. package/package.json +3 -3
  87. package/src/API/Request.ts +17 -35
  88. package/src/API/Response.ts +24 -42
  89. package/src/API/Utils.ts +5 -7
  90. package/src/BaseEvent/EventProcessor.ts +16 -24
  91. package/src/BaseEvent/Process.ts +7 -12
  92. package/src/BaseEvent/Transaction.ts +25 -43
  93. package/src/Config/Configuration.ts +8 -14
  94. package/src/Config/EnvironmentVar.ts +10 -20
  95. package/src/Crypto/Crypto.ts +10 -10
  96. package/src/Crypto/JWT.ts +4 -10
  97. package/src/Globals.ts +19 -25
  98. package/src/Logger/Logger.ts +36 -51
  99. package/src/Mailer/Mailer.ts +19 -31
  100. package/src/Publisher/Publisher.ts +7 -12
  101. package/src/Server/RouteResolver.ts +5 -6
  102. package/src/Server/Router.ts +7 -12
  103. package/src/Server/lib/ContainerServer.ts +5 -5
  104. package/src/Server/lib/Server.ts +26 -38
  105. package/src/Server/lib/container/GenericHandler.ts +8 -13
  106. package/src/Server/lib/container/GenericHandlerEvent.ts +21 -35
  107. package/src/Server/lib/container/HealthHandler.ts +2 -2
  108. package/src/Server/lib/container/Proxy.ts +26 -38
  109. package/src/Server/lib/container/Utils.ts +2 -2
  110. package/src/Validation/Validator.ts +6 -6
  111. package/tests/API/Request.test.ts +107 -111
  112. package/tests/API/Response.test.ts +86 -91
  113. package/tests/API/Utils.test.ts +64 -64
  114. package/tests/BaseEvent/EventProcessor.test.ts +68 -84
  115. package/tests/BaseEvent/Process.test.ts +11 -11
  116. package/tests/BaseEvent/Transaction.test.ts +44 -53
  117. package/tests/Config/Config.test.ts +50 -50
  118. package/tests/Config/EnvironmentVar.test.ts +50 -59
  119. package/tests/Crypto/Crypto.test.ts +20 -22
  120. package/tests/Crypto/JWT.test.ts +40 -40
  121. package/tests/Logger/Logger.test.ts +24 -36
  122. package/tests/Mailer/Mailer.test.ts +21 -29
  123. package/tests/Publisher/Publisher.test.ts +18 -18
  124. package/tests/Server/RouteResolver.test.ts +56 -59
  125. package/tests/Server/Router.test.ts +16 -16
  126. package/tests/Server/lib/ContainerServer.test.ts +83 -85
  127. package/tests/Server/lib/Server.test.ts +4 -4
  128. package/tests/Server/lib/container/GenericHandler.test.ts +31 -41
  129. package/tests/Server/lib/container/GenericHandlerEvent.test.ts +35 -36
  130. package/tests/Server/lib/container/HealthHandler.test.ts +7 -7
  131. package/tests/Server/lib/container/Proxy.test.ts +66 -79
  132. package/tests/Server/lib/container/Utils.test.ts +16 -17
  133. package/tests/Test.utils.ts +9 -9
  134. package/tests/Validation/Validator.test.ts +28 -40
  135. package/tests/main.test.ts +2 -2
@@ -1,184 +1,180 @@
1
- import { APIGatewayEvent, Context } from "aws-lambda"
2
- import { expect } from "chai"
1
+ import { APIGatewayEvent, Context } from 'aws-lambda'
2
+ import { expect } from 'chai'
3
3
 
4
- import Request from "../../src/API/Request"
5
- import Logger from "../../src/Logger/Logger"
4
+ import Request from '../../src/API/Request'
5
+ import Logger from '../../src/Logger/Logger'
6
6
 
7
7
  function newReq(event: any, context?: any) {
8
8
  const logger = new Logger(
9
9
  {
10
- logLevel: "DEBUG",
10
+ logLevel: 'DEBUG',
11
11
  },
12
- "123-456",
13
- )
14
- return new Request(
15
- <APIGatewayEvent>(<unknown>event),
16
- <Context>context ? context : {},
17
- logger,
12
+ '123-456'
18
13
  )
14
+ return new Request(<APIGatewayEvent>(<unknown>event), <Context>context ? context : {}, logger)
19
15
  }
20
16
 
21
- describe("Request querystring", () => {
22
- test("Null query string", () => {
17
+ describe('Request querystring', () => {
18
+ test('Null query string', () => {
23
19
  const r = newReq({
24
20
  queryStringParameters: null,
25
21
  })
26
- expect(r.containsQueryParam("123")).to.be.false
27
- expect(r.getQueryParam("123")).to.be.null
22
+ expect(r.containsQueryParam('123')).to.be.false
23
+ expect(r.getQueryParam('123')).to.be.null
28
24
  })
29
25
 
30
- test("Empty query string", () => {
26
+ test('Empty query string', () => {
31
27
  const r = newReq({
32
28
  queryStringParameters: {},
33
29
  })
34
- expect(r.containsQueryParam("123")).to.be.false
35
- expect(r.getQueryParam("123")).to.be.null
30
+ expect(r.containsQueryParam('123')).to.be.false
31
+ expect(r.getQueryParam('123')).to.be.null
36
32
  })
37
33
 
38
- test("Valid query string", () => {
34
+ test('Valid query string', () => {
39
35
  const r = newReq({
40
- queryStringParameters: { "123": "abc" },
36
+ queryStringParameters: { '123': 'abc' },
41
37
  })
42
- expect(r.containsQueryParam("123")).to.be.true
43
- expect(r.getQueryParam("123")).to.be.equals("abc")
38
+ expect(r.containsQueryParam('123')).to.be.true
39
+ expect(r.getQueryParam('123')).to.be.equals('abc')
44
40
  })
45
41
 
46
- test("Valid query string number", () => {
42
+ test('Valid query string number', () => {
47
43
  const r = newReq({
48
- queryStringParameters: { "123": 456 },
44
+ queryStringParameters: { '123': 456 },
49
45
  })
50
- expect(r.containsQueryParam("123")).to.be.true
51
- expect(r.getQueryParam("123")).to.be.equals(456)
46
+ expect(r.containsQueryParam('123')).to.be.true
47
+ expect(r.getQueryParam('123')).to.be.equals(456)
52
48
  })
53
49
  })
54
50
 
55
- describe("Request headers", () => {
56
- test("Null headers", () => {
51
+ describe('Request headers', () => {
52
+ test('Null headers', () => {
57
53
  const r = newReq({ headers: null })
58
- expect(r.getHeader("123")).to.be.null
54
+ expect(r.getHeader('123')).to.be.null
59
55
  })
60
56
 
61
- test("Empty headers", () => {
57
+ test('Empty headers', () => {
62
58
  const r = newReq({ headers: {} })
63
- expect(r.getHeader("123")).to.be.null
59
+ expect(r.getHeader('123')).to.be.null
64
60
  })
65
61
 
66
- test("Valid headers", () => {
67
- const r = newReq({ headers: { "123": "abc" } })
68
- expect(r.getHeader("123")).to.be.equals("abc")
62
+ test('Valid headers', () => {
63
+ const r = newReq({ headers: { '123': 'abc' } })
64
+ expect(r.getHeader('123')).to.be.equals('abc')
69
65
  })
70
66
 
71
- test("Auth headers", () => {
72
- const r = newReq({ headers: { Authorization: "abc" } })
73
- expect(r.getAuthorizationHeader()).to.be.equals("abc")
67
+ test('Auth headers', () => {
68
+ const r = newReq({ headers: { Authorization: 'abc' } })
69
+ expect(r.getAuthorizationHeader()).to.be.equals('abc')
74
70
  })
75
71
  })
76
72
 
77
- describe("Request context", () => {
78
- test("Null context", () => {
73
+ describe('Request context', () => {
74
+ test('Null context', () => {
79
75
  const r = newReq({ requestContext: null })
80
- expect(r.getContextParam("123")).to.be.null
76
+ expect(r.getContextParam('123')).to.be.null
81
77
  })
82
78
 
83
- test("Empty context", () => {
79
+ test('Empty context', () => {
84
80
  const r = newReq({ requestContext: {} })
85
- expect(r.getContextParam("123")).to.be.null
81
+ expect(r.getContextParam('123')).to.be.null
86
82
  })
87
83
 
88
- test("Valid context", () => {
84
+ test('Valid context', () => {
89
85
  const r = newReq({
90
- requestContext: { "123": "abc" },
86
+ requestContext: { '123': 'abc' },
91
87
  })
92
- expect(r.getContextParam("123")).to.be.equals("abc")
88
+ expect(r.getContextParam('123')).to.be.equals('abc')
93
89
  })
94
90
  })
95
91
 
96
- describe("Request path params", () => {
97
- test("Null path params", () => {
92
+ describe('Request path params', () => {
93
+ test('Null path params', () => {
98
94
  const r = newReq({ pathParameters: null })
99
- expect(r.containsPathParam("123")).to.be.false
100
- expect(r.getPathParam("123")).to.be.null
95
+ expect(r.containsPathParam('123')).to.be.false
96
+ expect(r.getPathParam('123')).to.be.null
101
97
  expect(r.getPathParams()).to.be.null
102
98
  })
103
99
 
104
- test("Empty path params", () => {
100
+ test('Empty path params', () => {
105
101
  const r = newReq({ pathParameters: {} })
106
- expect(r.containsPathParam("123")).to.be.false
107
- expect(r.getPathParam("123")).to.be.null
102
+ expect(r.containsPathParam('123')).to.be.false
103
+ expect(r.getPathParam('123')).to.be.null
108
104
  expect(r.getPathParams()).to.be.deep.equal({})
109
105
  })
110
106
 
111
- test("Valid path params", () => {
112
- const v = { "123": "abc" }
107
+ test('Valid path params', () => {
108
+ const v = { '123': 'abc' }
113
109
  const r = newReq({
114
110
  pathParameters: v,
115
111
  })
116
- expect(r.containsPathParam("123")).to.be.true
117
- expect(r.getPathParam("123")).to.be.equals("abc")
112
+ expect(r.containsPathParam('123')).to.be.true
113
+ expect(r.getPathParam('123')).to.be.equals('abc')
118
114
  expect(r.getPathParams()).to.be.deep.equal(v)
119
115
  })
120
116
 
121
- test("Valid path param number", () => {
122
- const v = { "123": 456 }
117
+ test('Valid path param number', () => {
118
+ const v = { '123': 456 }
123
119
  const r = newReq({
124
120
  pathParameters: v,
125
121
  })
126
- expect(r.containsPathParam("123")).to.be.true
127
- expect(r.getPathParam("123")).to.be.equals(456)
122
+ expect(r.containsPathParam('123')).to.be.true
123
+ expect(r.getPathParam('123')).to.be.equals(456)
128
124
  expect(r.getPathParams()).to.be.deep.equal(v)
129
125
  })
130
126
 
131
- test("Fix path params", () => {
132
- const v = { "123": "abc" }
127
+ test('Fix path params', () => {
128
+ const v = { '123': 'abc' }
133
129
  const r = newReq({ pathParameters: null })
134
130
  r.setFixedPathParams(
135
- Object.keys(v).map((k) => ({ name: k })),
136
- ["/"].concat(Object.values(v)),
131
+ Object.keys(v).map(k => ({ name: k })),
132
+ ['/'].concat(Object.values(v))
137
133
  )
138
- expect(r.containsPathParam("123")).to.be.true
139
- expect(r.getPathParam("123")).to.be.equals("abc")
134
+ expect(r.containsPathParam('123')).to.be.true
135
+ expect(r.getPathParam('123')).to.be.equals('abc')
140
136
  expect(r.getPathParams()).to.be.deep.equal(v)
141
137
  })
142
138
  })
143
139
 
144
- describe("Request body", () => {
145
- test("Null body", () => {
140
+ describe('Request body', () => {
141
+ test('Null body', () => {
146
142
  const r = newReq({ body: null })
147
143
  expect(r.getBody()).to.be.null
148
144
  })
149
145
 
150
- test("Empty body", () => {
146
+ test('Empty body', () => {
151
147
  const r = newReq({ body: {} })
152
148
  expect(r.getBody()).to.be.deep.equals({})
153
149
  })
154
150
 
155
- test("Empty string body", () => {
156
- const r = newReq({ body: "{}" })
151
+ test('Empty string body', () => {
152
+ const r = newReq({ body: '{}' })
157
153
  expect(r.getBody()).to.be.deep.equals({})
158
154
  })
159
155
 
160
- test("Broken json string body", () => {
156
+ test('Broken json string body', () => {
161
157
  const r = newReq({ body: '{name": "Joe"}' })
162
158
  expect(r.getBody()).to.be.equals('{name": "Joe"}')
163
159
  })
164
160
 
165
- test("Valid string body", () => {
161
+ test('Valid string body', () => {
166
162
  const r = newReq({ body: '{"name": "Joe"}' })
167
163
  expect(r.getBody()).to.be.deep.equals({
168
- name: "Joe",
164
+ name: 'Joe',
169
165
  })
170
166
  })
171
167
 
172
- test("Valid json body", () => {
173
- const r = newReq({ body: { name: "Joe" } })
168
+ test('Valid json body', () => {
169
+ const r = newReq({ body: { name: 'Joe' } })
174
170
  expect(r.getBody()).to.be.deep.equals({
175
- name: "Joe",
171
+ name: 'Joe',
176
172
  })
177
173
  })
178
174
  })
179
175
 
180
- describe("Request path/method", () => {
181
- test("Null path/method", () => {
176
+ describe('Request path/method', () => {
177
+ test('Null path/method', () => {
182
178
  const r = newReq({
183
179
  path: null,
184
180
  httpMethod: null,
@@ -187,76 +183,76 @@ describe("Request path/method", () => {
187
183
  expect(r.getMethod()).to.be.null
188
184
  })
189
185
 
190
- test("Empty path/method", () => {
186
+ test('Empty path/method', () => {
191
187
  const r = newReq({
192
- path: "",
193
- httpMethod: "",
188
+ path: '',
189
+ httpMethod: '',
194
190
  })
195
- expect(r.getPath()).to.be.a("string")
196
- expect(r.getPath()).to.be.equals("")
197
- expect(r.getMethod()).to.be.a("string")
198
- expect(r.getMethod()).to.be.equals("")
191
+ expect(r.getPath()).to.be.a('string')
192
+ expect(r.getPath()).to.be.equals('')
193
+ expect(r.getMethod()).to.be.a('string')
194
+ expect(r.getMethod()).to.be.equals('')
199
195
  })
200
196
 
201
- test("Valid method/path", () => {
197
+ test('Valid method/path', () => {
202
198
  const r = newReq({
203
- path: "/root",
204
- httpMethod: "GET",
199
+ path: '/root',
200
+ httpMethod: 'GET',
205
201
  })
206
- expect(r.getPath()).to.be.a("string")
207
- expect(r.getPath()).to.be.equals("/root")
208
- expect(r.getMethod()).to.be.a("string")
209
- expect(r.getMethod()).to.be.equals("GET")
202
+ expect(r.getPath()).to.be.a('string')
203
+ expect(r.getPath()).to.be.equals('/root')
204
+ expect(r.getMethod()).to.be.a('string')
205
+ expect(r.getMethod()).to.be.equals('GET')
210
206
  })
211
207
  })
212
208
 
213
- describe("Request ID", () => {
214
- test("From context", () => {
215
- const r = newReq({}, { awsRequestId: "123" })
209
+ describe('Request ID', () => {
210
+ test('From context', () => {
211
+ const r = newReq({}, { awsRequestId: '123' })
216
212
  expect(r.getRequestID()).to.not.be.null
217
- expect(r.getRequestID()).to.be.equals("123")
213
+ expect(r.getRequestID()).to.be.equals('123')
218
214
  })
219
215
 
220
- test("From event", () => {
216
+ test('From event', () => {
221
217
  const r = newReq({
222
- requestContext: { requestId: "123" },
218
+ requestContext: { requestId: '123' },
223
219
  })
224
220
  expect(r.getRequestID()).to.not.be.null
225
- expect(r.getRequestID()).to.be.equals("123")
221
+ expect(r.getRequestID()).to.be.equals('123')
226
222
  })
227
223
 
228
- test("unknown", () => {
224
+ test('unknown', () => {
229
225
  const r = newReq({})
230
226
  expect(r.getRequestID()).to.not.be.null
231
- expect(r.getRequestID()).to.be.equals("unknown")
227
+ expect(r.getRequestID()).to.be.equals('unknown')
232
228
  })
233
229
  })
234
230
 
235
- describe("Request origin IP", () => {
236
- test("From context", () => {
231
+ describe('Request origin IP', () => {
232
+ test('From context', () => {
237
233
  const r = newReq({
238
234
  requestContext: {
239
- identity: { sourceIp: "127.0.0.1" },
235
+ identity: { sourceIp: '127.0.0.1' },
240
236
  },
241
237
  })
242
238
  expect(r.getOriginIP()).to.not.be.null
243
- expect(r.getOriginIP()).to.be.equals("127.0.0.1")
239
+ expect(r.getOriginIP()).to.be.equals('127.0.0.1')
244
240
  })
245
241
 
246
- test("From header", () => {
242
+ test('From header', () => {
247
243
  const r = newReq({
248
244
  headers: {
249
- "X-Forwarded-For": "127.0.0.1",
245
+ 'X-Forwarded-For': '127.0.0.1',
250
246
  },
251
247
  })
252
248
  expect(r.getOriginIP()).to.not.be.null
253
- expect(r.getOriginIP()).to.be.equals("127.0.0.1")
249
+ expect(r.getOriginIP()).to.be.equals('127.0.0.1')
254
250
  })
255
251
 
256
- test("unknown", () => {
252
+ test('unknown', () => {
257
253
  const r = newReq({})
258
254
  expect(r.getOriginIP()).to.not.be.null
259
- expect(r.getOriginIP()).to.be.equals("unknown")
255
+ expect(r.getOriginIP()).to.be.equals('unknown')
260
256
  })
261
257
  })
262
258