serverless-simple-middleware 0.0.60 → 0.0.61

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 (44) hide show
  1. package/.nvmrc +1 -0
  2. package/README.md +0 -1
  3. package/dist/aws/config.d.ts +2 -2
  4. package/dist/aws/config.js +6 -4
  5. package/dist/aws/define.d.ts +0 -12
  6. package/dist/aws/define.js +2 -1
  7. package/dist/aws/index.js +17 -6
  8. package/dist/aws/simple.d.ts +18 -15
  9. package/dist/aws/simple.js +317 -225
  10. package/dist/index.js +17 -6
  11. package/dist/internal/AwsError.d.ts +5 -0
  12. package/dist/internal/AwsError.js +33 -0
  13. package/dist/internal/s3.d.ts +38 -0
  14. package/dist/internal/s3.js +2 -0
  15. package/dist/middleware/aws.d.ts +2 -2
  16. package/dist/middleware/aws.js +12 -9
  17. package/dist/middleware/base.d.ts +8 -8
  18. package/dist/middleware/base.js +9 -8
  19. package/dist/middleware/build.d.ts +1 -1
  20. package/dist/middleware/build.js +68 -45
  21. package/dist/middleware/index.d.ts +2 -2
  22. package/dist/middleware/index.js +20 -8
  23. package/dist/middleware/logger.js +8 -4
  24. package/dist/middleware/mysql.d.ts +3 -3
  25. package/dist/middleware/mysql.js +17 -13
  26. package/dist/middleware/trace.d.ts +2 -2
  27. package/dist/middleware/trace.js +21 -21
  28. package/dist/utils/index.js +16 -5
  29. package/dist/utils/logger.d.ts +3 -3
  30. package/dist/utils/logger.js +9 -7
  31. package/dist/utils/misc.d.ts +1 -1
  32. package/dist/utils/misc.js +10 -3
  33. package/package.json +18 -10
  34. package/src/aws/config.ts +1 -1
  35. package/src/aws/define.ts +0 -19
  36. package/src/aws/simple.ts +306 -204
  37. package/src/internal/AwsError.ts +13 -0
  38. package/src/internal/s3.ts +75 -0
  39. package/src/middleware/aws.ts +1 -1
  40. package/src/middleware/base.ts +5 -4
  41. package/src/middleware/build.ts +31 -31
  42. package/src/middleware/mysql.ts +11 -7
  43. package/src/middleware/trace.ts +15 -19
  44. package/src/utils/misc.ts +11 -2
package/dist/index.js CHANGED
@@ -1,8 +1,19 @@
1
1
  "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- __export(require("./aws"));
7
- __export(require("./middleware"));
8
- __export(require("./utils"));
17
+ __exportStar(require("./aws"), exports);
18
+ __exportStar(require("./middleware"), exports);
19
+ __exportStar(require("./utils"), exports);
@@ -0,0 +1,5 @@
1
+ export declare class AwsError extends Error {
2
+ readonly name: string;
3
+ readonly service: string;
4
+ constructor(awsError: unknown);
5
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.AwsError = void 0;
19
+ var AwsError = /** @class */ (function (_super) {
20
+ __extends(AwsError, _super);
21
+ function AwsError(awsError) {
22
+ var _this = this;
23
+ var _a, _b, _c;
24
+ var errorObj = awsError;
25
+ var message = (_a = errorObj === null || errorObj === void 0 ? void 0 : errorObj.message) !== null && _a !== void 0 ? _a : 'Unknown AWS Error';
26
+ _this = _super.call(this, message) || this;
27
+ _this.name = (_b = errorObj === null || errorObj === void 0 ? void 0 : errorObj.name) !== null && _b !== void 0 ? _b : 'UnclassifiedError';
28
+ _this.service = (_c = errorObj === null || errorObj === void 0 ? void 0 : errorObj.$service) !== null && _c !== void 0 ? _c : 'UnknownService';
29
+ return _this;
30
+ }
31
+ return AwsError;
32
+ }(Error));
33
+ exports.AwsError = AwsError;
@@ -0,0 +1,38 @@
1
+ import { DeleteObjectCommandInput, GetObjectCommandInput, PutObjectCommandInput, HeadObjectCommandInput, CopyObjectCommandInput, UploadPartCommandInput, UploadPartCopyCommandInput, AbortMultipartUploadCommandInput, CompleteMultipartUploadCommandInput, CreateMultipartUploadCommandInput, ListObjectsV2CommandInput, ListPartsCommandInput } from '@aws-sdk/client-s3/dist-types/commands';
2
+ export type S3Operation = 'putObject' | 'getObject' | 'deleteObject' | 'headObject' | 'copyObject' | 'uploadPart' | 'uploadPartCopy' | 'listObjectsV2' | 'createMultipartUpload' | 'completeMultipartUpload' | 'abortMultipartUpload' | 'listParts';
3
+ export type CommandInputMap = {
4
+ putObject: PutObjectCommandInput;
5
+ getObject: GetObjectCommandInput;
6
+ deleteObject: DeleteObjectCommandInput;
7
+ headObject: HeadObjectCommandInput;
8
+ copyObject: CopyObjectCommandInput;
9
+ uploadPart: UploadPartCommandInput;
10
+ uploadPartCopy: UploadPartCopyCommandInput;
11
+ listObjectsV2: ListObjectsV2CommandInput;
12
+ createMultipartUpload: CreateMultipartUploadCommandInput;
13
+ completeMultipartUpload: CompleteMultipartUploadCommandInput;
14
+ abortMultipartUpload: AbortMultipartUploadCommandInput;
15
+ listParts: ListPartsCommandInput;
16
+ };
17
+ type OpsWithRequiredParams = 'copyObject' | 'uploadPart' | 'uploadPartCopy' | 'createMultipartUpload' | 'completeMultipartUpload' | 'abortMultipartUpload' | 'listParts';
18
+ type OpsWithOptionalParams = Exclude<S3Operation, OpsWithRequiredParams>;
19
+ export type PresignerOptions = {
20
+ [K in OpsWithOptionalParams]: {
21
+ operation: K;
22
+ bucket: string;
23
+ key: string;
24
+ params?: Omit<CommandInputMap[K], 'Bucket' | 'Key'>;
25
+ expiresIn?: number;
26
+ unhoistableHeaders?: Set<string>;
27
+ };
28
+ }[OpsWithOptionalParams] | {
29
+ [K in OpsWithRequiredParams]: {
30
+ operation: K;
31
+ bucket: string;
32
+ key: string;
33
+ params: Omit<CommandInputMap[K], 'Bucket' | 'Key'>;
34
+ expiresIn?: number;
35
+ unhoistableHeaders?: Set<string>;
36
+ };
37
+ }[OpsWithRequiredParams];
38
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,6 @@
1
1
  import { SimpleAWS, SimpleAWSConfig, SimpleAWSConfigLoadParam } from '../aws';
2
2
  import { HandlerAuxBase, HandlerPluginBase } from './base';
3
- declare type InitializerMapper = (aws: SimpleAWS, env: {}) => {
3
+ type InitializerMapper = (aws: SimpleAWS, env: {}) => {
4
4
  [name: string]: () => Promise<boolean>;
5
5
  };
6
6
  export interface AWSPluginOptions {
@@ -21,5 +21,5 @@ export declare class AWSPlugin extends HandlerPluginBase<AWSPluginAux> {
21
21
  awsConfig: SimpleAWSConfig;
22
22
  }>;
23
23
  }
24
- declare const build: (options?: AWSPluginOptions | undefined) => AWSPlugin;
24
+ declare const build: (options?: AWSPluginOptions) => AWSPlugin;
25
25
  export default build;
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -24,10 +26,11 @@ var __assign = (this && this.__assign) || function () {
24
26
  return __assign.apply(this, arguments);
25
27
  };
26
28
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
30
  return new (P || (P = Promise))(function (resolve, reject) {
28
31
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
32
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
34
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
35
  });
33
36
  };
@@ -37,7 +40,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
40
  function verb(n) { return function (v) { return step([n, v]); }; }
38
41
  function step(op) {
39
42
  if (f) throw new TypeError("Generator is already executing.");
40
- while (_) try {
43
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
44
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
45
  if (y = 0, t) op = [op[0] & 2, t.value];
43
46
  switch (op[0]) {
@@ -58,13 +61,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
58
61
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
62
  }
60
63
  };
61
- var _this = this;
62
64
  Object.defineProperty(exports, "__esModule", { value: true });
65
+ exports.AWSPlugin = void 0;
63
66
  var aws_1 = require("../aws");
64
67
  var utils_1 = require("../utils");
65
68
  var base_1 = require("./base");
66
- var logger = utils_1.getLogger(__filename);
67
- var initialize = function (aws, mapper) { return __awaiter(_this, void 0, void 0, function () {
69
+ var logger = (0, utils_1.getLogger)(__filename);
70
+ var initialize = function (aws, mapper) { return __awaiter(void 0, void 0, void 0, function () {
68
71
  var env, mapping, successes;
69
72
  return __generator(this, function (_a) {
70
73
  switch (_a.label) {
@@ -76,7 +79,7 @@ var initialize = function (aws, mapper) { return __awaiter(_this, void 0, void 0
76
79
  successes = _a.sent();
77
80
  return [2 /*return*/, Object.keys(mapping).reduce(function (result, name, index) {
78
81
  var _a;
79
- return (__assign({}, result, (_a = {}, _a[name] = successes[index], _a)));
82
+ return (__assign(__assign({}, result), (_a = {}, _a[name] = successes[index], _a)));
80
83
  }, {})];
81
84
  }
82
85
  });
@@ -96,9 +99,9 @@ var AWSPlugin = /** @class */ (function (_super) {
96
99
  mapper: undefined,
97
100
  }, config = _a.config, mapper = _a.mapper;
98
101
  if (!config) return [3 /*break*/, 2];
99
- logger.debug("Load aws config from " + config);
102
+ logger.debug("Load aws config from ".concat(config));
100
103
  _b = this;
101
- return [4 /*yield*/, aws_1.loadAWSConfig(config)];
104
+ return [4 /*yield*/, (0, aws_1.loadAWSConfig)(config)];
102
105
  case 1:
103
106
  _b.config = _c.sent();
104
107
  _c.label = 2;
@@ -8,12 +8,12 @@ export declare class HandlerRequest {
8
8
  lastError: Error | string | undefined;
9
9
  private lazyBody?;
10
10
  constructor(event: any, context: any);
11
- readonly body: any;
12
- readonly path: {
13
- [key: string]: string;
11
+ get body(): any;
12
+ get path(): {
13
+ [key: string]: string | undefined;
14
14
  };
15
- readonly query: {
16
- [key: string]: string;
15
+ get query(): {
16
+ [key: string]: string | undefined;
17
17
  };
18
18
  header(key: string): string | undefined;
19
19
  records<T, U>(selector?: (each: T) => U): T[] | U[];
@@ -29,7 +29,7 @@ export declare class HandlerResponse {
29
29
  ok(body?: {}, code?: number): any;
30
30
  fail(body?: {}, code?: number): any;
31
31
  addCookie(key: string, value: string, domain?: string, specifyCrossOrigin?: true, path?: string): void;
32
- setCrossOrigin: (origin?: string | undefined) => void;
32
+ setCrossOrigin: (origin?: string) => void;
33
33
  addHeader: (header: string, value: string) => void;
34
34
  }
35
35
  export interface HandlerAuxBase {
@@ -40,7 +40,7 @@ export interface HandlerContext<A extends HandlerAuxBase> {
40
40
  response: HandlerResponse;
41
41
  aux: A;
42
42
  }
43
- export declare type Handler<A extends HandlerAuxBase> = (context: HandlerContext<A>) => any | Promise<any> | undefined;
43
+ export type Handler<A extends HandlerAuxBase> = (context: HandlerContext<A>) => any | Promise<any> | undefined;
44
44
  export interface HandlerPlugin<A extends HandlerAuxBase> {
45
45
  create: () => Promise<A> | A;
46
46
  begin: Handler<A>;
@@ -48,7 +48,7 @@ export interface HandlerPlugin<A extends HandlerAuxBase> {
48
48
  error: Handler<A>;
49
49
  }
50
50
  export declare class HandlerPluginBase<A extends HandlerAuxBase> implements HandlerPlugin<A> {
51
- create: () => A | Promise<A>;
51
+ create: () => Promise<A> | A;
52
52
  begin: (_: HandlerContext<A>) => void;
53
53
  end: (_: HandlerContext<A>) => void;
54
54
  error: (_: HandlerContext<A>) => void;
@@ -11,8 +11,9 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.HandlerPluginBase = exports.HandlerResponse = exports.HandlerRequest = void 0;
14
15
  var logger_1 = require("../utils/logger");
15
- var logger = logger_1.getLogger(__filename);
16
+ var logger = (0, logger_1.getLogger)(__filename);
16
17
  var HandlerRequest = /** @class */ (function () {
17
18
  function HandlerRequest(event, context) {
18
19
  this.event = event;
@@ -29,21 +30,21 @@ var HandlerRequest = /** @class */ (function () {
29
30
  }
30
31
  return this.lazyBody || {};
31
32
  },
32
- enumerable: true,
33
+ enumerable: false,
33
34
  configurable: true
34
35
  });
35
36
  Object.defineProperty(HandlerRequest.prototype, "path", {
36
37
  get: function () {
37
38
  return this.event.pathParameters || {};
38
39
  },
39
- enumerable: true,
40
+ enumerable: false,
40
41
  configurable: true
41
42
  });
42
43
  Object.defineProperty(HandlerRequest.prototype, "query", {
43
44
  get: function () {
44
45
  return this.event.queryStringParameters || {};
45
46
  },
46
- enumerable: true,
47
+ enumerable: false,
47
48
  configurable: true
48
49
  });
49
50
  HandlerRequest.prototype.header = function (key) {
@@ -81,7 +82,7 @@ var HandlerResponse = /** @class */ (function () {
81
82
  if (body === void 0) { body = {}; }
82
83
  if (code === void 0) { code = 200; }
83
84
  logger.stupid("ok", body);
84
- var headers = __assign({}, CORS_HEADERS, this.customHeaders);
85
+ var headers = __assign(__assign({}, CORS_HEADERS), this.customHeaders);
85
86
  if (this.crossOrigin) {
86
87
  headers['Access-Control-Allow-Origin'] = this.crossOrigin;
87
88
  }
@@ -111,11 +112,11 @@ var HandlerResponse = /** @class */ (function () {
111
112
  return result;
112
113
  };
113
114
  HandlerResponse.prototype.addCookie = function (key, value, domain, specifyCrossOrigin, path) {
114
- var keyValueStr = key + "=" + value;
115
- var domainStr = domain ? "Domain=" + domain : '';
115
+ var keyValueStr = "".concat(key, "=").concat(value);
116
+ var domainStr = domain ? "Domain=".concat(domain) : '';
116
117
  var sameSiteStr = specifyCrossOrigin ? 'SameSite=None' : '';
117
118
  var secureStr = specifyCrossOrigin ? 'Secure' : '';
118
- var pathStr = path !== undefined ? "Path=" + path : '';
119
+ var pathStr = path !== undefined ? "Path=".concat(path) : '';
119
120
  var cookieStr = [keyValueStr, domainStr, sameSiteStr, secureStr, pathStr]
120
121
  .filter(function (x) { return x; })
121
122
  .join('; ');
@@ -1,3 +1,3 @@
1
1
  import { Handler, HandlerAuxBase, HandlerPluginBase } from './base';
2
- declare const build: <Aux extends HandlerAuxBase>(plugins: HandlerPluginBase<any>[]) => (handler: Handler<Aux>) => (event: any, context: any, callback: any) => void;
2
+ declare const build: <Aux extends HandlerAuxBase>(plugins: Array<HandlerPluginBase<any>>) => (handler: Handler<Aux>) => (event: any, context: any, callback: any) => void;
3
3
  export default build;
@@ -11,10 +11,11 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
15
  return new (P || (P = Promise))(function (resolve, reject) {
15
16
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
17
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
19
  step((generator = generator.apply(thisArg, _arguments || [])).next());
19
20
  });
20
21
  };
@@ -24,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
24
25
  function verb(n) { return function (v) { return step([n, v]); }; }
25
26
  function step(op) {
26
27
  if (f) throw new TypeError("Generator is already executing.");
27
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
29
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
30
  if (y = 0, t) op = [op[0] & 2, t.value];
30
31
  switch (op[0]) {
@@ -45,11 +46,20 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
47
  }
47
48
  };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
48
58
  Object.defineProperty(exports, "__esModule", { value: true });
49
59
  var logger_1 = require("../utils/logger");
50
60
  var utils_1 = require("../utils");
51
61
  var base_1 = require("./base");
52
- var logger = logger_1.getLogger(__filename);
62
+ var logger = (0, logger_1.getLogger)(__filename);
53
63
  var HandlerMiddleware = /** @class */ (function () {
54
64
  function HandlerMiddleware(plugins) {
55
65
  var _this = this;
@@ -61,7 +71,9 @@ var HandlerMiddleware = /** @class */ (function () {
61
71
  return maybePromise instanceof Promise
62
72
  ? maybePromise
63
73
  : Promise.resolve(maybePromise);
64
- })).then(function (auxes) { return auxes.reduce(function (all, each) { return (__assign({}, all, each)); }, {}); });
74
+ })).then(function (auxes) {
75
+ return auxes.reduce(function (all, each) { return (__assign(__assign({}, all), each)); }, {});
76
+ });
65
77
  };
66
78
  this.plugins = plugins;
67
79
  this.auxPromise = this.createAuxPromise();
@@ -85,7 +97,7 @@ var HandlerProxy = /** @class */ (function () {
85
97
  return [3 /*break*/, 3];
86
98
  case 2:
87
99
  error_1 = _e.sent();
88
- logger.error("Error while initializing plugins' aux: " + utils_1.stringifyError(error_1));
100
+ logger.error("Error while initializing plugins' aux: ".concat((0, utils_1.stringifyError)(error_1)));
89
101
  this.response.fail(error_1 instanceof Error ? { error: error_1.message } : error_1);
90
102
  return [2 /*return*/, [error_1]];
91
103
  case 3:
@@ -99,36 +111,43 @@ var HandlerProxy = /** @class */ (function () {
99
111
  errorHandlers = middleware.plugins.map(function (plugin) {
100
112
  return _this.generateDelegator(plugin.error);
101
113
  });
102
- iterate = function (handlers, okResponsible) {
103
- if (okResponsible === void 0) { okResponsible = false; }
104
- return __awaiter(_this, void 0, void 0, function () {
114
+ iterate = function (handlers_1) {
115
+ var args_1 = [];
116
+ for (var _i = 1; _i < arguments.length; _i++) {
117
+ args_1[_i - 1] = arguments[_i];
118
+ }
119
+ return __awaiter(_this, __spreadArray([handlers_1], args_1, true), void 0, function (handlers, okResponsible) {
105
120
  var _this = this;
121
+ if (okResponsible === void 0) { okResponsible = false; }
106
122
  return __generator(this, function (_a) {
107
- return [2 /*return*/, Promise.all(handlers.map(function (each) { return _this.safeCall(each, okResponsible, errorHandlers); }))];
123
+ return [2 /*return*/, Promise.all(handlers.map(function (each) {
124
+ return _this.safeCall(each, okResponsible, errorHandlers);
125
+ }))];
108
126
  });
109
127
  });
110
128
  };
129
+ _b = [[]];
111
130
  return [4 /*yield*/, iterate(beginHandlers)];
112
131
  case 4:
113
- _c = (_b = (_e.sent())).concat;
132
+ _c = [__spreadArray.apply(void 0, _b.concat([(_e.sent()), true]))];
114
133
  return [4 /*yield*/, iterate(actualHandler, true)];
115
134
  case 5:
116
- _d = [(_e.sent())];
135
+ _d = [__spreadArray.apply(void 0, _c.concat([(_e.sent()), true]))];
117
136
  return [4 /*yield*/, iterate(endHandlers)];
118
137
  case 6:
119
- results = _c.apply(_b, _d.concat([(_e.sent())])).filter(function (x) { return x; });
138
+ results = __spreadArray.apply(void 0, _d.concat([(_e.sent()), true])).filter(function (x) { return x; });
120
139
  // In test phase, throws any exception if there was.
121
140
  if (process.env.NODE_ENV === 'test') {
122
141
  for (_i = 0, results_1 = results; _i < results_1.length; _i++) {
123
142
  each = results_1[_i];
124
143
  if (each instanceof Error) {
125
- logger.error("Error occurred: " + utils_1.stringifyError(each));
144
+ logger.error("Error occurred: ".concat((0, utils_1.stringifyError)(each)));
126
145
  throw each;
127
146
  }
128
147
  }
129
148
  }
130
149
  results.forEach(function (result) {
131
- return logger.silly("middleware result : " + JSON.stringify(result));
150
+ return logger.silly("middleware result : ".concat(JSON.stringify(result)));
132
151
  });
133
152
  return [2 /*return*/];
134
153
  }
@@ -154,34 +173,36 @@ var HandlerProxy = /** @class */ (function () {
154
173
  }
155
174
  });
156
175
  }); };
157
- this.generateDelegator = function (handler) { return function (okResponsible) { return __awaiter(_this, void 0, void 0, function () {
158
- var maybePromise, result, _a;
159
- return __generator(this, function (_b) {
160
- switch (_b.label) {
161
- case 0:
162
- maybePromise = handler({
163
- request: this.request,
164
- response: this.response,
165
- aux: this.aux,
166
- });
167
- if (!(maybePromise instanceof Promise)) return [3 /*break*/, 2];
168
- return [4 /*yield*/, maybePromise];
169
- case 1:
170
- _a = _b.sent();
171
- return [3 /*break*/, 3];
172
- case 2:
173
- _a = maybePromise;
174
- _b.label = 3;
175
- case 3:
176
- result = _a;
177
- logger.stupid("result", result);
178
- if (!this.response.completed && okResponsible) {
179
- this.response.ok(result);
180
- }
181
- return [2 /*return*/, result];
182
- }
183
- });
184
- }); }; };
176
+ this.generateDelegator = function (handler) {
177
+ return function (okResponsible) { return __awaiter(_this, void 0, void 0, function () {
178
+ var maybePromise, result, _a;
179
+ return __generator(this, function (_b) {
180
+ switch (_b.label) {
181
+ case 0:
182
+ maybePromise = handler({
183
+ request: this.request,
184
+ response: this.response,
185
+ aux: this.aux,
186
+ });
187
+ if (!(maybePromise instanceof Promise)) return [3 /*break*/, 2];
188
+ return [4 /*yield*/, maybePromise];
189
+ case 1:
190
+ _a = _b.sent();
191
+ return [3 /*break*/, 3];
192
+ case 2:
193
+ _a = maybePromise;
194
+ _b.label = 3;
195
+ case 3:
196
+ result = _a;
197
+ logger.stupid("result", result);
198
+ if (!this.response.completed && okResponsible) {
199
+ this.response.ok(result);
200
+ }
201
+ return [2 /*return*/, result];
202
+ }
203
+ });
204
+ }); };
205
+ };
185
206
  this.handleError = function (error, errorHandlers) { return __awaiter(_this, void 0, void 0, function () {
186
207
  var _i, errorHandlers_1, handler, ignorable_1;
187
208
  return __generator(this, function (_a) {
@@ -227,8 +248,10 @@ var HandlerProxy = /** @class */ (function () {
227
248
  // It will break type safety because there is no relation between Aux and Plugin.
228
249
  var build = function (plugins) {
229
250
  var middleware = new HandlerMiddleware(plugins);
230
- return function (handler) { return function (event, context, callback) {
231
- new HandlerProxy(event, context, callback).call(middleware, handler);
232
- }; };
251
+ return function (handler) {
252
+ return function (event, context, callback) {
253
+ new HandlerProxy(event, context, callback).call(middleware, handler);
254
+ };
255
+ };
233
256
  };
234
257
  exports.default = build;
@@ -1,6 +1,6 @@
1
1
  export declare const middleware: {
2
- build: <Aux extends import("./base").HandlerAuxBase>(plugins: import("./base").HandlerPluginBase<any>[]) => (handler: import("./base").Handler<Aux>) => (event: any, context: any, callback: any) => void;
3
- aws: (options?: import("./aws").AWSPluginOptions | undefined) => import("./aws").AWSPlugin;
2
+ build: <Aux extends import("./base").HandlerAuxBase>(plugins: Array<import("./base").HandlerPluginBase<any>>) => (handler: import("./base").Handler<Aux>) => (event: any, context: any, callback: any) => void;
3
+ aws: (options?: import("./aws").AWSPluginOptions) => import("./aws").AWSPlugin;
4
4
  trace: (options: import("./trace").TracerPluginOptions) => import("./trace").TracerPlugin;
5
5
  logger: (options: import("./logger").LoggerPluginOptions) => import("./logger").LoggerPlugin;
6
6
  mysql: (options: import("./mysql").MySQLPluginOptions) => import("./mysql").MySQLPlugin;
@@ -1,8 +1,20 @@
1
1
  "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.middleware = void 0;
6
18
  var build_1 = require("./build");
7
19
  var aws_1 = require("./aws");
8
20
  var logger_1 = require("./logger");
@@ -15,8 +27,8 @@ exports.middleware = {
15
27
  logger: logger_1.default,
16
28
  mysql: mysql_1.default,
17
29
  };
18
- __export(require("./base"));
19
- __export(require("./aws"));
20
- __export(require("./trace"));
21
- __export(require("./logger"));
22
- __export(require("./mysql"));
30
+ __exportStar(require("./base"), exports);
31
+ __exportStar(require("./aws"), exports);
32
+ __exportStar(require("./trace"), exports);
33
+ __exportStar(require("./logger"), exports);
34
+ __exportStar(require("./mysql"), exports);
@@ -3,20 +3,23 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
15
  };
14
16
  })();
15
17
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
19
  return new (P || (P = Promise))(function (resolve, reject) {
17
20
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
21
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
23
  step((generator = generator.apply(thisArg, _arguments || [])).next());
21
24
  });
22
25
  };
@@ -26,7 +29,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
26
29
  function verb(n) { return function (v) { return step([n, v]); }; }
27
30
  function step(op) {
28
31
  if (f) throw new TypeError("Generator is already executing.");
29
- while (_) try {
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
30
33
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
34
  if (y = 0, t) op = [op[0] & 2, t.value];
32
35
  switch (op[0]) {
@@ -48,6 +51,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
48
51
  }
49
52
  };
50
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.LoggerPlugin = void 0;
51
55
  var utils_1 = require("../utils");
52
56
  var base_1 = require("./base");
53
57
  var LoggerPlugin = /** @class */ (function (_super) {
@@ -58,7 +62,7 @@ var LoggerPlugin = /** @class */ (function (_super) {
58
62
  var _a, name, level;
59
63
  return __generator(this, function (_b) {
60
64
  _a = this.options, name = _a.name, level = _a.level;
61
- return [2 /*return*/, { logger: utils_1.getLogger(name, level) }];
65
+ return [2 /*return*/, { logger: (0, utils_1.getLogger)(name, level) }];
62
66
  });
63
67
  }); };
64
68
  _this.options = options;
@@ -17,9 +17,9 @@ export declare class ConnectionProxy {
17
17
  private initialized;
18
18
  private dbName?;
19
19
  constructor(config: MySQLPluginOptions);
20
- query: <T>(sql: string, params?: any[] | undefined) => Promise<T | undefined>;
21
- fetch: <T>(sql: string, params?: any[] | undefined) => Promise<T[]>;
22
- fetchOne: <T>(sql: string, params?: any[] | undefined, defaultValue?: T | undefined) => Promise<T>;
20
+ query: <T>(sql: string, params?: any[]) => Promise<T | undefined>;
21
+ fetch: <T>(sql: string, params?: any[]) => Promise<T[]>;
22
+ fetchOne: <T>(sql: string, params?: any[], defaultValue?: T) => Promise<T>;
23
23
  beginTransaction: () => Promise<void>;
24
24
  commit: () => Promise<void>;
25
25
  rollback: () => Promise<void>;