lambder 1.0.13 → 1.0.14

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.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { APIGatewayProxyEvent, APIGatewayProxyEventHeaders, Context } from "aws-lambda";
2
2
  import Resolver, { ResolverResponse } from "./Resolver.js";
3
- type RawResolvedContext = {
3
+ type RenderContext = {
4
4
  host: string;
5
5
  url: string;
6
6
  method: string;
@@ -14,9 +14,7 @@ type RawResolvedContext = {
14
14
  [key: string]: any;
15
15
  };
16
16
  headers: APIGatewayProxyEventHeaders;
17
- };
18
- type RenderContext = RawResolvedContext & {
19
- runContext: Context;
17
+ lambdaContext: Context;
20
18
  };
21
19
  type ConditionFunction = (renderContext: RenderContext) => boolean | Promise<boolean>;
22
20
  type ActionFunction = (renderContext: RenderContext, resolver: Resolver) => ResolverResponse | Promise<ResolverResponse>;
@@ -25,7 +23,7 @@ type HookBeforeRenderFunction = (renderContext: RenderContext, resolver: Resolve
25
23
  type HookAfterRenderFunction = (renderContext: RenderContext, resolver: Resolver, renderResult: ResolverResponse) => ResolverResponse | Promise<ResolverResponse>;
26
24
  type HookFallbackFunction = (renderContext: RenderContext, resolver: Resolver) => ResolverResponse | Promise<ResolverResponse>;
27
25
  type HookCompletedFunction = (renderResult: ResolverResponse) => ResolverResponse | Promise<ResolverResponse>;
28
- export declare const resolveEvent: (event: APIGatewayProxyEvent, resolve: Function, reject: Function) => RawResolvedContext;
26
+ export declare const createContext: (event: APIGatewayProxyEvent, lambdaContext: Context, resolve: Function, reject: Function) => RenderContext;
29
27
  export default class Lambder {
30
28
  private apiPath;
31
29
  private apiVersion;
@@ -53,6 +51,6 @@ export default class Lambder {
53
51
  addHook(hookEvent: 'fallback', hookFn: HookFallbackFunction, priority?: number): Promise<void>;
54
52
  addHook(hookEvent: 'completed', hookFn: HookCompletedFunction, priority?: number): Promise<void>;
55
53
  addModule(moduleFn: Function): Promise<void>;
56
- render(event: APIGatewayProxyEvent, runContext: Context): Promise<ResolverResponse>;
54
+ render(event: APIGatewayProxyEvent, lambdaContext: Context): Promise<ResolverResponse>;
57
55
  }
58
56
  export {};
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import querystring from "querystring";
2
2
  import cookieParser from "cookie";
3
3
  import Resolver from "./Resolver.js";
4
- export const resolveEvent = (event, resolve, reject) => {
4
+ export const createContext = (event, lambdaContext, resolve, reject) => {
5
5
  const host = event.headers.Host || event.headers.host || "";
6
6
  const url = event.path;
7
7
  const get = event.queryStringParameters || {};
@@ -22,7 +22,7 @@ export const resolveEvent = (event, resolve, reject) => {
22
22
  if (/^(((\d+\.)+\d+)|(([a-f\d]+:)+[a-f\d]+))$/.test(host)) {
23
23
  reject(new Error("[404] Host cannot be an ip address: " + host));
24
24
  }
25
- return { host, url, method, get, post, cookie, headers };
25
+ return { host, url, method, get, post, cookie, headers, lambdaContext };
26
26
  };
27
27
  export default class Lambder {
28
28
  apiPath;
@@ -110,7 +110,7 @@ export default class Lambder {
110
110
  async addModule(moduleFn) {
111
111
  await moduleFn(this);
112
112
  }
113
- async render(event, runContext) {
113
+ async render(event, lambdaContext) {
114
114
  return await new Promise(async (resolve, reject) => {
115
115
  const resolver = new Resolver({
116
116
  isCorsEnabled: this.isCorsEnabled,
@@ -118,8 +118,7 @@ export default class Lambder {
118
118
  apiVersion: this.apiVersion,
119
119
  resolve, reject,
120
120
  });
121
- const eventContext = resolveEvent(event, resolve, reject);
122
- let renderContext = { ...eventContext, runContext };
121
+ let renderContext = createContext(event, lambdaContext, resolve, reject);
123
122
  if (renderContext.method === "OPTIONS")
124
123
  return resolver.cors();
125
124
  let firstMatchedAction = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lambder",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -4,7 +4,7 @@ import cookieParser from "cookie";
4
4
  import type { APIGatewayProxyEvent, APIGatewayProxyEventHeaders, Context } from "aws-lambda";
5
5
  import Resolver, { ResolverResponse } from "./Resolver.js";
6
6
 
7
- type RawResolvedContext = {
7
+ type RenderContext = {
8
8
  host: string;
9
9
  url: string;
10
10
  method: string;
@@ -12,12 +12,9 @@ type RawResolvedContext = {
12
12
  post: { [key: string]: any };
13
13
  cookie: { [key: string]: any };
14
14
  headers: APIGatewayProxyEventHeaders;
15
+ lambdaContext: Context;
15
16
  };
16
17
 
17
- type RenderContext = RawResolvedContext & {
18
- runContext: Context,
19
- }
20
-
21
18
  type ConditionFunction = (renderContext: RenderContext) => boolean|Promise<boolean>;
22
19
  type ActionFunction = (renderContext: RenderContext, resolver: Resolver) => ResolverResponse|Promise<ResolverResponse>;
23
20
  type ActionType = { conditionFn: ConditionFunction, actionFn: ActionFunction };
@@ -34,11 +31,12 @@ type HookListType = {
34
31
  hookFn: HookCreatedFunction|HookBeforeRenderFunction|HookAfterRenderFunction|HookFallbackFunction|HookCompletedFunction,
35
32
  }[];
36
33
 
37
- export const resolveEvent = (
34
+ export const createContext = (
38
35
  event: APIGatewayProxyEvent,
36
+ lambdaContext: Context,
39
37
  resolve: Function,
40
38
  reject: Function
41
- ):RawResolvedContext => {
39
+ ):RenderContext => {
42
40
  const host = event.headers.Host || event.headers.host || "";
43
41
  const url = event.path;
44
42
  const get: { [key:string]: any } = event.queryStringParameters || {};
@@ -52,7 +50,7 @@ export const resolveEvent = (
52
50
  catch(e){ post = querystring.parse(decodedBody) || {}; }
53
51
  }catch(e){}
54
52
  if(/^(((\d+\.)+\d+)|(([a-f\d]+:)+[a-f\d]+))$/.test(host)){ reject(new Error("[404] Host cannot be an ip address: " + host)); }
55
- return { host, url, method, get, post, cookie, headers };
53
+ return { host, url, method, get, post, cookie, headers, lambdaContext };
56
54
  }
57
55
 
58
56
 
@@ -167,7 +165,7 @@ export default class Lambder {
167
165
 
168
166
  async render(
169
167
  event: APIGatewayProxyEvent,
170
- runContext: Context
168
+ lambdaContext: Context
171
169
  ): Promise<ResolverResponse>{
172
170
  return await new Promise(async (
173
171
  resolve:(renderResult: ResolverResponse)=>void,
@@ -180,8 +178,7 @@ export default class Lambder {
180
178
  apiVersion: this.apiVersion,
181
179
  resolve, reject,
182
180
  });
183
- const eventContext:RawResolvedContext = resolveEvent(event, resolve, reject);
184
- let renderContext:RenderContext = { ...eventContext, runContext };
181
+ let renderContext:RenderContext = createContext(event, lambdaContext, resolve, reject)
185
182
 
186
183
  if(renderContext.method === "OPTIONS") return resolver.cors();
187
184