serverless-simple-middleware 0.0.59 → 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 (55) hide show
  1. package/.nvmrc +1 -1
  2. package/README.md +0 -1
  3. package/dist/aws/config.d.ts +1 -1
  4. package/dist/aws/config.js +20 -13
  5. package/dist/aws/define.d.ts +0 -12
  6. package/dist/aws/define.js +5 -2
  7. package/dist/aws/index.d.ts +3 -3
  8. package/dist/aws/index.js +19 -3
  9. package/dist/aws/simple.d.ts +19 -16
  10. package/dist/aws/simple.js +761 -406
  11. package/dist/index.d.ts +3 -3
  12. package/dist/index.js +19 -3
  13. package/dist/internal/AwsError.d.ts +5 -0
  14. package/dist/internal/AwsError.js +33 -0
  15. package/dist/internal/s3.d.ts +38 -0
  16. package/dist/internal/s3.js +2 -0
  17. package/dist/middleware/aws.d.ts +2 -2
  18. package/dist/middleware/aws.js +128 -38
  19. package/dist/middleware/base.d.ts +3 -2
  20. package/dist/middleware/base.js +105 -66
  21. package/dist/middleware/build.d.ts +1 -1
  22. package/dist/middleware/build.js +240 -90
  23. package/dist/middleware/index.d.ts +10 -10
  24. package/dist/middleware/index.js +33 -16
  25. package/dist/middleware/logger.d.ts +2 -2
  26. package/dist/middleware/logger.js +74 -13
  27. package/dist/middleware/mysql.d.ts +5 -10
  28. package/dist/middleware/mysql.js +272 -173
  29. package/dist/middleware/trace.d.ts +4 -4
  30. package/dist/middleware/trace.js +198 -99
  31. package/dist/utils/index.d.ts +2 -2
  32. package/dist/utils/index.js +18 -2
  33. package/dist/utils/logger.d.ts +1 -1
  34. package/dist/utils/logger.js +33 -25
  35. package/dist/utils/misc.d.ts +1 -1
  36. package/dist/utils/misc.js +13 -4
  37. package/package.json +17 -12
  38. package/src/aws/config.ts +2 -2
  39. package/src/aws/define.ts +0 -19
  40. package/src/aws/index.ts +3 -3
  41. package/src/aws/simple.ts +308 -207
  42. package/src/index.ts +3 -3
  43. package/src/internal/AwsError.ts +13 -0
  44. package/src/internal/s3.ts +75 -0
  45. package/src/middleware/aws.ts +4 -4
  46. package/src/middleware/base.ts +20 -12
  47. package/src/middleware/build.ts +34 -34
  48. package/src/middleware/index.ts +10 -10
  49. package/src/middleware/logger.ts +2 -2
  50. package/src/middleware/mysql.ts +16 -79
  51. package/src/middleware/trace.ts +19 -23
  52. package/src/utils/index.ts +2 -2
  53. package/src/utils/logger.ts +1 -1
  54. package/src/utils/misc.ts +11 -2
  55. package/tsconfig.json +4 -5
package/.nvmrc CHANGED
@@ -1 +1 @@
1
- v16
1
+ v18
package/README.md CHANGED
@@ -1,4 +1,3 @@
1
1
  # Serverless simple middleware
2
2
 
3
3
  This is just simple middleware for me to translate the interface of lambda's handler to use `request => response`.
4
-
@@ -1,4 +1,4 @@
1
- import { AWSComponent } from './index.js';
1
+ import { AWSComponent } from './define';
2
2
  export interface AWSConfig {
3
3
  [key: string]: string | boolean | number | undefined;
4
4
  }
@@ -1,24 +1,31 @@
1
- import fetch from 'cross-fetch';
2
- import * as fs from 'fs';
3
- export class SimpleAWSConfig {
4
- constructor(configs) {
5
- this.get = (service) => {
6
- return this.configs ? this.configs[service] : undefined;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadAWSConfig = exports.SimpleAWSConfig = void 0;
4
+ var cross_fetch_1 = require("cross-fetch");
5
+ var fs = require("fs");
6
+ var SimpleAWSConfig = /** @class */ (function () {
7
+ function SimpleAWSConfig(configs) {
8
+ var _this = this;
9
+ this.get = function (service) {
10
+ return _this.configs ? _this.configs[service] : undefined;
7
11
  };
8
12
  this.configs = configs;
9
13
  }
10
- }
11
- export const loadAWSConfig = (newConfigsOrUrl) => {
14
+ return SimpleAWSConfig;
15
+ }());
16
+ exports.SimpleAWSConfig = SimpleAWSConfig;
17
+ var loadAWSConfig = function (newConfigsOrUrl) {
12
18
  if (typeof newConfigsOrUrl === 'string') {
13
19
  if (/^http.*json$/.test(newConfigsOrUrl)) {
14
- return fetch(newConfigsOrUrl)
15
- .then(r => r.json())
16
- .then(loadAWSConfig);
20
+ return (0, cross_fetch_1.default)(newConfigsOrUrl)
21
+ .then(function (r) { return r.json(); })
22
+ .then(exports.loadAWSConfig);
17
23
  }
18
24
  else if (/json$/.test(newConfigsOrUrl)) {
19
- return loadAWSConfig(JSON.parse(fs.readFileSync(newConfigsOrUrl, 'utf-8')));
25
+ return (0, exports.loadAWSConfig)(JSON.parse(fs.readFileSync(newConfigsOrUrl, 'utf-8')));
20
26
  }
21
- return loadAWSConfig(JSON.parse(newConfigsOrUrl));
27
+ return (0, exports.loadAWSConfig)(JSON.parse(newConfigsOrUrl));
22
28
  }
23
29
  return Promise.resolve(new SimpleAWSConfig(newConfigsOrUrl));
24
30
  };
31
+ exports.loadAWSConfig = loadAWSConfig;
@@ -7,15 +7,3 @@ export interface SQSMessageBody<T> {
7
7
  handle: string;
8
8
  body?: T;
9
9
  }
10
- export interface S3SignedUrlParams {
11
- Key?: string;
12
- Expires?: number;
13
- ContentType?: string;
14
- ACL?: 'private' | 'public-read' | 'public-read-write' | 'authenticated-read' | string;
15
- ResponseContentDisposition?: string;
16
- ResponseContentType?: string;
17
- }
18
- export interface S3SignedUrlResult {
19
- key: string;
20
- url: string;
21
- }
@@ -1,6 +1,9 @@
1
- export var AWSComponent;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AWSComponent = void 0;
4
+ var AWSComponent;
2
5
  (function (AWSComponent) {
3
6
  AWSComponent["s3"] = "s3";
4
7
  AWSComponent["sqs"] = "sqs";
5
8
  AWSComponent["dynamodb"] = "dynamodb";
6
- })(AWSComponent || (AWSComponent = {}));
9
+ })(AWSComponent || (exports.AWSComponent = AWSComponent = {}));
@@ -1,3 +1,3 @@
1
- export * from './define.js';
2
- export * from './config.js';
3
- export * from './simple.js';
1
+ export * from './define';
2
+ export * from './config';
3
+ export * from './simple';
package/dist/aws/index.js CHANGED
@@ -1,3 +1,19 @@
1
- export * from './define.js';
2
- export * from './config.js';
3
- export * from './simple.js';
1
+ "use strict";
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
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./define"), exports);
18
+ __exportStar(require("./config"), exports);
19
+ __exportStar(require("./simple"), exports);
@@ -1,7 +1,11 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import * as AWS from 'aws-sdk';
3
- import { SimpleAWSConfig } from './config.js';
4
- import { S3SignedUrlParams, S3SignedUrlResult, SQSMessageBody } from './define.js';
1
+ import { CloudfrontSignedCookiesOutput } from '@aws-sdk/cloudfront-signer';
2
+ import { SimpleAWSConfig } from './config';
3
+ import { SQSMessageBody } from './define';
4
+ import { DynamoDB } from '@aws-sdk/client-dynamodb';
5
+ import { S3 } from '@aws-sdk/client-s3';
6
+ import { SQS } from '@aws-sdk/client-sqs';
7
+ import { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
8
+ import { PresignerOptions } from '../internal/s3';
5
9
  export declare class SimpleAWS {
6
10
  private queueUrls;
7
11
  private config;
@@ -10,14 +14,14 @@ export declare class SimpleAWS {
10
14
  private lazyDynamodb;
11
15
  private lazyDynamodbAdmin;
12
16
  constructor(config?: SimpleAWSConfig);
13
- get s3(): AWS.S3;
14
- get sqs(): AWS.SQS;
15
- get dynamodb(): AWS.DynamoDB.DocumentClient;
16
- get dynamodbAdmin(): AWS.DynamoDB;
17
+ get s3(): S3;
18
+ get sqs(): SQS;
19
+ get dynamodb(): DynamoDBDocument;
20
+ get dynamodbAdmin(): DynamoDB;
17
21
  getQueueUrl: (queueName: string) => Promise<string>;
18
22
  enqueue: (queueName: string, data: any) => Promise<number>;
19
- dequeue: <T>(queueName: string, fetchSize?: number, waitSeconds?: number, visibilityTimeout?: number) => Promise<SQSMessageBody<T>[]>;
20
- dequeueAll: <T>(queueName: string, limitSize?: number, visibilityTimeout?: number) => Promise<SQSMessageBody<T>[]>;
23
+ dequeue: <T>(queueName: string, fetchSize?: number, waitSeconds?: number, visibilityTimeout?: number) => Promise<Array<SQSMessageBody<T>>>;
24
+ dequeueAll: <T>(queueName: string, limitSize?: number, visibilityTimeout?: number) => Promise<Array<SQSMessageBody<T>>>;
21
25
  retainMessage: (queueName: string, handle: string, seconds: number) => Promise<string>;
22
26
  completeMessage: (queueName: string, handle: string) => Promise<string>;
23
27
  completeMessages: (queueName: string, handles: string[]) => Promise<string[]>;
@@ -27,20 +31,19 @@ export declare class SimpleAWS {
27
31
  upload: (bucket: string, localPath: string, key: string) => Promise<string>;
28
32
  uploadFromBuffer: (bucket: string, key: string, buffer: Buffer) => Promise<string>;
29
33
  writeFile: (bucket: string, key: string, content: string) => Promise<void>;
30
- getSignedUrl: (bucketName: string, key: string, operation?: 'getObject' | 'putObject', params?: S3SignedUrlParams) => S3SignedUrlResult;
31
- getSignedCookie: (keyPairId: string, privateKey: string, url: string, expires: number) => AWS.CloudFront.Signer.CustomPolicy;
32
- getAttachmentUrl: (bucketName: string, key: string, fileName: string, params?: S3SignedUrlParams) => S3SignedUrlResult;
34
+ getSignedUrl(options: PresignerOptions): Promise<string>;
35
+ getSignedCookie: (keyPairId: string, privateKey: string, url: string, expires: number) => CloudfrontSignedCookiesOutput;
33
36
  getDynamoDbItem: <T>(tableName: string, key: {
34
37
  [keyColumn: string]: string;
35
- }, defaultValue?: T | undefined) => Promise<T | undefined>;
38
+ }, defaultValue?: T) => Promise<T | undefined>;
36
39
  updateDynamoDbItem: (tableName: string, key: {
37
40
  [keyColumn: string]: string;
38
41
  }, columnValues: {
39
42
  [column: string]: any;
40
- }) => Promise<import("aws-sdk/lib/request.js").PromiseResult<AWS.DynamoDB.DocumentClient.UpdateItemOutput, AWS.AWSError>>;
43
+ }) => Promise<import("@aws-sdk/lib-dynamodb").UpdateCommandOutput>;
41
44
  setupQueue: (queueName: string) => Promise<boolean>;
42
45
  setupStorage: (bucketName: string, cors: {
43
- methods: Array<'GET' | 'POST' | 'PUT' | 'DELETE' | 'HEAD'>;
46
+ methods: Array<"GET" | "POST" | "PUT" | "DELETE" | "HEAD">;
44
47
  origins: string[];
45
48
  }) => Promise<boolean>;
46
49
  setupDynamoDb: (tableName: string, keyColumn: string) => Promise<boolean>;