@spytecgps/lambda-utils 0.9.12 → 0.9.13

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/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { APIGatewayEventRequestContext, APIGatewayProxyEvent, APIGatewayProxyWithLambdaAuthorizerEvent, SQSEvent, SQSRecord } from 'aws-lambda';
1
+ import { APIGatewayEventRequestContext, APIGatewayProxyEvent, APIGatewayProxyWithLambdaAuthorizerEvent, SQSEvent, SQSRecord, Context } from 'aws-lambda';
2
2
  import { ObjectSchema } from 'joi';
3
3
  import { APIGatewayProxyEventBase } from 'aws-lambda/trigger/api-gateway-proxy';
4
4
  import * as Joi from 'joi';
@@ -38,6 +38,7 @@ export interface MessageEvent<RecordType extends BaseRecord> {
38
38
  }
39
39
  export interface SQSWrapperArgs<RecordType extends BaseRecord> {
40
40
  event: SQSEvent;
41
+ context?: Context;
41
42
  schema?: Joi.ObjectSchema<MessageEvent<RecordType>>;
42
43
  handler: (e: MessageEvent<RecordType>) => void | Promise<void>;
43
44
  }
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var errors_1 = require("../errors");
4
+ var sdk_1 = require("@spytecgps/sdk");
4
5
  var validateEvent = function (event, schema, validateOptions) {
5
6
  if (!schema) {
6
- console.warn("skipping validation");
7
+ sdk_1.logger.warn("skipping validation");
7
8
  return event;
8
9
  }
9
10
  var _a = schema.validate(event, {
@@ -16,7 +17,7 @@ var validateEvent = function (event, schema, validateOptions) {
16
17
  },
17
18
  }), error = _a.error, value = _a.value;
18
19
  if (error) {
19
- console.error(error);
20
+ sdk_1.logger.error({ error: error }, 'Validation error');
20
21
  throw error.isJoi ? new errors_1.BadRequestError(error.message) : error;
21
22
  }
22
23
  return value;
@@ -49,10 +49,11 @@ var logEvent = function (e) { return ({
49
49
  var apiGatewayEventWrapper = function (_a) {
50
50
  var event = _a.event, context = _a.context, schema = _a.schema, handler = _a.handler;
51
51
  return __awaiter(void 0, void 0, void 0, function () {
52
- var validatedEvent, result, err_1;
52
+ var start, validatedEvent, result, err_1;
53
53
  return __generator(this, function (_b) {
54
54
  switch (_b.label) {
55
55
  case 0:
56
+ start = new Date().getTime();
56
57
  if (event && context) {
57
58
  sdk_1.logger.withRequest(event, context);
58
59
  }
@@ -64,7 +65,7 @@ var apiGatewayEventWrapper = function (_a) {
64
65
  return [4 /*yield*/, handler(validatedEvent)];
65
66
  case 2:
66
67
  result = _b.sent();
67
- sdk_1.logger.info(result, "apiGatewayWrapper - finished");
68
+ sdk_1.logger.info({ result: result, requestTime: new Date().getTime() - start }, "apiGatewayWrapper - finished");
68
69
  return [2 /*return*/, response_1.buildProxyResult(result)];
69
70
  case 3:
70
71
  err_1 = _b.sent();
@@ -1,3 +1,3 @@
1
1
  import { SQSWrapperArgs } from '../types';
2
- declare const sqsEventWrapper: <RecordType extends Pick<import("aws-lambda").SQSRecord, "messageId" | "receiptHandle" | "attributes" | "md5OfBody" | "eventSource" | "eventSourceARN" | "awsRegion">>({ event, schema, handler, }: SQSWrapperArgs<RecordType>) => Promise<void>;
2
+ declare const sqsEventWrapper: <RecordType extends Pick<import("aws-lambda").SQSRecord, "messageId" | "receiptHandle" | "attributes" | "md5OfBody" | "eventSource" | "eventSourceARN" | "awsRegion">>({ event, context, schema, handler, }: SQSWrapperArgs<RecordType>) => Promise<void>;
3
3
  export default sqsEventWrapper;
@@ -39,12 +39,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var validateEvent_1 = require("../validation/validateEvent");
40
40
  var sdk_1 = require("@spytecgps/sdk");
41
41
  var sqsEventWrapper = function (_a) {
42
- var event = _a.event, schema = _a.schema, handler = _a.handler;
42
+ var event = _a.event, context = _a.context, schema = _a.schema, handler = _a.handler;
43
43
  return __awaiter(void 0, void 0, void 0, function () {
44
- var validatedEvent, result, err_1;
44
+ var start, validatedEvent, err_1;
45
45
  return __generator(this, function (_b) {
46
46
  switch (_b.label) {
47
47
  case 0:
48
+ start = new Date().getTime();
49
+ if (event && context) {
50
+ sdk_1.logger.withRequest(event, context);
51
+ }
48
52
  sdk_1.logger.info(event, "sqsEventWrapper - got event");
49
53
  _b.label = 1;
50
54
  case 1:
@@ -52,8 +56,8 @@ var sqsEventWrapper = function (_a) {
52
56
  validatedEvent = validateEvent_1.default(event, schema);
53
57
  return [4 /*yield*/, handler(validatedEvent)];
54
58
  case 2:
55
- result = _b.sent();
56
- sdk_1.logger.info(result, "sqsEventWrapper - finished");
59
+ _b.sent();
60
+ sdk_1.logger.info({ requestTime: new Date().getTime() - start }, "sqsEventWrapper - finished");
57
61
  return [3 /*break*/, 4];
58
62
  case 3:
59
63
  err_1 = _b.sent();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/lambda-utils",
3
- "version": "0.9.12",
3
+ "version": "0.9.13",
4
4
  "description": "Lambda Utils",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "dependencies": {
29
29
  "joi": "^17.4.0",
30
30
  "qs": "^6.10.1",
31
- "@spytecgps/sdk": "0.5.22"
31
+ "@spytecgps/sdk": "0.5.29"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/aws-lambda": "^8.10.76",