lemon-core 4.2.5 → 4.2.6

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/README.md CHANGED
@@ -69,6 +69,7 @@ See [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md)
69
69
 
70
70
  | Version | Description
71
71
  |-- |--
72
+ | 4.2.6 | optimized `$protocol.execute()` to support async lambda invocation.
72
73
  | 4.2.5 | optimized `isBase64Encoded` to support apigwBinary. (from `4.1.17`)
73
74
  | 4.2.4 | optimized `doReportError` to ignore in local dev. (from `4.1.16`)
74
75
  | 4.2.3 | optimized `ManagerProxy.inc()` w/ `string[]` parameters.
@@ -114,6 +114,20 @@ export interface ProtocolTransformer<TEventParam = any, TLambdaEvent = TEventPar
114
114
  */
115
115
  transformToParam(event: TLambdaEvent, $ctx?: NextContext): ProtocolParam;
116
116
  }
117
+ /**
118
+ * type: `ProtocolExecuteOptions`
119
+ * - options for `ProtocolService.execute()`
120
+ */
121
+ export interface ProtocolExecuteOptions {
122
+ /** custom uri to provide */
123
+ uri?: string;
124
+ /**
125
+ * if true, invoke lambda asynchronously with InvocationType 'Event'.
126
+ *
127
+ * NOTE - ONLY for AWS Lambda, if useEvent is true, then `execute()` will return directly.
128
+ */
129
+ useEvent?: boolean;
130
+ }
117
131
  /**
118
132
  * class: `ProtocolService`
119
133
  * - support inter communication (sync or async) between micro-services.
@@ -138,7 +152,7 @@ export interface ProtocolService {
138
152
  * @param config (optional) custom config
139
153
  * @param uri (optional) custom uri to provide.
140
154
  */
141
- execute<T>(param: ProtocolParam, config?: CoreConfigService, uri?: string): Promise<T>;
155
+ execute<T>(param: ProtocolParam, config?: CoreConfigService, uri?: string | ProtocolExecuteOptions): Promise<T>;
142
156
  /**
143
157
  * asynchronous call to target function via 'SNS'.
144
158
  *
@@ -0,0 +1,12 @@
1
+ import { ProtocolParam } from '../core-services';
2
+ import { AwsConfigParams } from '../../tools/tools';
3
+ import { APIGatewayProxyEvent } from 'aws-lambda';
4
+ /**
5
+ * invoke lambda function with given payload.
6
+ * - `param` is used for logging and error reporting.
7
+ */
8
+ export declare function invokeLambda<T>(target: string, payload: APIGatewayProxyEvent | string, options?: {
9
+ param?: ProtocolParam;
10
+ config?: AwsConfigParams;
11
+ useEvent?: boolean;
12
+ }): Promise<T>;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invokeLambda = invokeLambda;
4
+ const engine_1 = require("../../engine/");
5
+ const test_helper_1 = require("../../common/test-helper");
6
+ const client_lambda_1 = require("@aws-sdk/client-lambda");
7
+ const NS = engine_1.$U.NS('PRTL', 'yellow'); // NAMESPACE TO BE PRINTED.
8
+ const asPayloadText = (payload) => payload ? Buffer.from(payload).toString() : undefined;
9
+ const asInvokeLogData = (data) => ({
10
+ ...data,
11
+ Payload: asPayloadText(data.Payload),
12
+ });
13
+ /**
14
+ * invoke lambda function with given payload.
15
+ * - `param` is used for logging and error reporting.
16
+ */
17
+ async function invokeLambda(target, payload, options) {
18
+ const param = options?.param;
19
+ const config = options?.config ?? {};
20
+ const useEvent = options?.useEvent ?? false;
21
+ const errScope = `invokeLambda(${target ?? ''})`;
22
+ if (!target)
23
+ throw new Error(`@target(function) is required - ${errScope}`);
24
+ //* prepare lambda payload.
25
+ const params = (0, test_helper_1.onlyDefined)({
26
+ FunctionName: target,
27
+ Payload: payload
28
+ ? new TextEncoder().encode(typeof payload === 'string' ? payload : engine_1.$U.json(payload))
29
+ : undefined,
30
+ ClientContext: undefined,
31
+ InvocationType: useEvent ? 'Event' : undefined,
32
+ });
33
+ // _log(NS, `> params =`, $U.json(params));
34
+ //* call lambda.
35
+ const lambda = new client_lambda_1.LambdaClient(config);
36
+ const response = await lambda
37
+ .send(new client_lambda_1.InvokeCommand(params))
38
+ .catch((e) => {
39
+ (0, engine_1._err)(NS, `! execute[${param?.service ?? ''}].err =`, typeof e, e);
40
+ // return this.doReportError(e, param.context, null, { protocol: uri, param });
41
+ throw e;
42
+ })
43
+ .then((data) => {
44
+ const payloadText = asPayloadText(data?.Payload);
45
+ (0, engine_1._log)(NS, `! execute[${param?.service ?? ''}].res =`, engine_1.$U.S(asInvokeLogData(data), 320, 64, ' .... '));
46
+ const payload = payloadText ? JSON.parse(payloadText) : {};
47
+ const statusCode = engine_1.$U.N(payload.statusCode || (data && data.StatusCode), 200);
48
+ (0, engine_1._log)(NS, `> Lambda[${params.FunctionName}].StatusCode :=`, statusCode);
49
+ (0, engine_1._log)(NS, `> Lambda[${params.FunctionName}].ContentSize :=`, payloadText ? payloadText.length : 0);
50
+ //* if useEvent is true and status code is 202, then return directly without parsing payload.
51
+ if (useEvent && statusCode == 202)
52
+ return asInvokeLogData(data);
53
+ //* for debug, print whole data if status code is not 200 or 201.
54
+ const hasWarn = ![200, 201].includes(statusCode);
55
+ if (hasWarn)
56
+ (0, engine_1._inf)(NS, `> WARN! status[${statusCode}] data =`, engine_1.$U.S(asInvokeLogData(data)));
57
+ //* safe parse payload.body.
58
+ const body = (() => {
59
+ try {
60
+ if (payload.text && typeof payload.text == 'string')
61
+ return payload.text;
62
+ return payload.body && typeof payload.body == 'string' ? JSON.parse(payload.body) : payload.body;
63
+ }
64
+ catch (e) {
65
+ (0, engine_1._log)(NS, `> WARN! payload.body =`, engine_1.$U.S(payload.body));
66
+ return payload.body;
67
+ }
68
+ })();
69
+ //* returns
70
+ if (statusCode == 400 || statusCode == 404)
71
+ return Promise.reject(new Error(engine_1.$U.S(body) || '404 NOT FOUND'));
72
+ else if (statusCode != 200 && statusCode != 201) {
73
+ if (typeof body == 'string' && body.startsWith('404 NOT FOUND'))
74
+ throw new Error(body);
75
+ throw new Error(engine_1.$U.S(body) || `Lambda Error. status:${statusCode}`);
76
+ }
77
+ return body;
78
+ });
79
+ const res = response;
80
+ return res;
81
+ }
82
+ //# sourceMappingURL=aws-lambda-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-lambda-helper.js","sourceRoot":"","sources":["../../../src/cores/protocol/aws-lambda-helper.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { NextContext } from 'lemon-model';
2
- import { STAGE, ProtocolService, ProtocolParam, ProtocolTransformer, ProtocolBody, CallbackParam } from './../core-services';
2
+ import { STAGE, ProtocolService, ProtocolParam, ProtocolTransformer, ProtocolBody, CallbackParam, ProtocolExecuteOptions } from './../core-services';
3
3
  import { PublishCommandInput } from '@aws-sdk/client-sns';
4
4
  import { SendMessageCommandInput } from '@aws-sdk/client-sqs';
5
5
  import { APIGatewayProxyEvent, SNSMessage, SQSRecord } from 'aws-lambda';
@@ -116,7 +116,7 @@ export declare class MyProtocolService implements ProtocolService {
116
116
  * @param config config service (for debug)
117
117
  * @param uri (optional) if useing custom uri.
118
118
  */
119
- execute<T>(param: ProtocolParam, config?: ConfigService, uri?: string): Promise<T>;
119
+ execute<T>(param: ProtocolParam, config?: ConfigService, options?: string | ProtocolExecuteOptions): Promise<T>;
120
120
  /**
121
121
  * Asynchronized call to target function via `SNS`
122
122
  *
@@ -51,13 +51,13 @@ exports.SQSProtocolTransformer = exports.SNSProtocolTransformer = exports.WEBPro
51
51
  const engine_1 = __importStar(require("../../engine/"));
52
52
  const client_sns_1 = require("@aws-sdk/client-sns");
53
53
  const client_sqs_1 = require("@aws-sdk/client-sqs");
54
- const client_lambda_1 = require("@aws-sdk/client-lambda");
55
54
  const lambda_handler_1 = require("./../lambda/lambda-handler");
56
55
  const tools_1 = require("../../tools");
57
56
  const url_1 = __importDefault(require("url"));
58
57
  const config_1 = __importDefault(require("../config/")); // load config-module.
59
58
  const aws_1 = __importDefault(require("../aws/")); // load config-module.
60
59
  const qs_1 = __importDefault(require("qs"));
60
+ const aws_lambda_helper_1 = require("./aws-lambda-helper");
61
61
  const NS = engine_1.$U.NS('PRTS', 'yellow'); // NAMESPACE TO BE PRINTED.
62
62
  /**
63
63
  * header name to exchange `next-context`
@@ -306,66 +306,20 @@ class MyProtocolService {
306
306
  * @param config config service (for debug)
307
307
  * @param uri (optional) if useing custom uri.
308
308
  */
309
- async execute(param, config, uri) {
309
+ async execute(param, config, options) {
310
310
  // const _log = console.info;
311
311
  config = config || this.config;
312
312
  (0, engine_1._log)(NS, `execute(${param.service || ''})..`);
313
+ const url = typeof options == 'string' ? options : options?.uri;
314
+ const useEvent = options != null && typeof options == 'object' ? options.useEvent : undefined;
313
315
  //* execute via lambda call.
314
- uri = uri || this.asProtocolURI('web', param, config);
316
+ const uri = url || this.asProtocolURI('web', param, config);
315
317
  (0, engine_1._inf)(NS, `> uri =`, uri);
316
318
  // const url = new URL(uri);
317
- const url = url_1.default.parse(uri);
319
+ const $url = url_1.default.parse(uri);
318
320
  const payload = this.transformEvent(uri, param);
319
- //* prepare lambda payload.
320
- const params = {
321
- FunctionName: url.hostname,
322
- Payload: payload ? new TextEncoder().encode(engine_1.$U.json(payload)) : undefined,
323
- ClientContext: undefined,
324
- // InvocationType: 'Event',
325
- };
326
- // _log(NS, `> params =`, $U.json(params));
327
- //* call lambda.
328
- const region = 'ap-northeast-2'; //TODO - optimize of aws region....
329
- const lambda = new client_lambda_1.LambdaClient((0, tools_1.awsConfig)(engine_1.default, region));
330
- const response = await lambda
331
- .send(new client_lambda_1.InvokeCommand(params))
332
- .catch((e) => {
333
- (0, engine_1._err)(NS, `! execute[${param.service || ''}].err =`, typeof e, e);
334
- // return this.doReportError(e, param.context, null, { protocol: uri, param });
335
- throw e;
336
- })
337
- .then((data) => {
338
- (0, engine_1._log)(NS, `! execute[${param.service || ''}].res =`, engine_1.$U.S(data, 320, 64, ' .... '));
339
- const payload = data && data?.Payload ? JSON.parse(Buffer.from(data.Payload).toString()) : {};
340
- const statusCode = engine_1.$U.N(payload.statusCode || (data && data.StatusCode), 200);
341
- (0, engine_1._log)(NS, `> Lambda[${params.FunctionName}].StatusCode :=`, statusCode);
342
- [200, 201].includes(statusCode) || (0, engine_1._inf)(NS, `> WARN! status[${statusCode}] data =`, engine_1.$U.S(data)); // print whole data if not 200.
343
- //* safe parse payload.body.
344
- const body = (() => {
345
- try {
346
- if (payload.text && typeof payload.text == 'string')
347
- return payload.text;
348
- return payload.body && typeof payload.body == 'string'
349
- ? JSON.parse(payload.body)
350
- : payload.body;
351
- }
352
- catch (e) {
353
- (0, engine_1._log)(NS, `> WARN! payload.body =`, engine_1.$U.S(payload.body));
354
- return payload.body;
355
- }
356
- })();
357
- //* returns
358
- if (statusCode == 400 || statusCode == 404)
359
- return Promise.reject(new Error(engine_1.$U.S(body) || '404 NOT FOUND'));
360
- else if (statusCode != 200 && statusCode != 201) {
361
- if (typeof body == 'string' && body.startsWith('404 NOT FOUND'))
362
- throw new Error(body);
363
- throw new Error(engine_1.$U.S(body) || `Lambda Error. status:${statusCode}`);
364
- }
365
- return body;
366
- });
367
- const res = response;
368
- return res;
321
+ const awsCfg = (0, tools_1.awsConfig)(engine_1.default);
322
+ return (0, aws_lambda_helper_1.invokeLambda)($url.hostname, payload, { param, config: awsCfg, useEvent });
369
323
  }
370
324
  /**
371
325
  * Asynchronized call to target function via `SNS`
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-service.js","sourceRoot":"","sources":["../../../src/cores/protocol/protocol-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-service.js","sourceRoot":"","sources":["../../../src/cores/protocol/protocol-service.ts"],"names":[],"mappings":"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"}
@@ -151,7 +151,7 @@ class Utilities {
151
151
  });
152
152
  o = output;
153
153
  }
154
- return o ? JSON.stringify(o) : typeof o == 'number' ? `${o}` : `${o || ''}`;
154
+ return o ? JSON.stringify(o) : typeof o == 'number' ? `${o}` : `${o ?? ''}`;
155
155
  }
156
156
  /**
157
157
  * timestamp string like `2020-02-22`
@@ -392,7 +392,7 @@ class Utilities {
392
392
  /**
393
393
  * convert and cut string like `abcd....z`
394
394
  */
395
- S = (_, h, t = 32, delim = '...') => [typeof _ == 'string' ? _ : `${this.json(_) || ''}`]
395
+ S = (_, h, t = 32, delim = '...') => [typeof _ == 'string' ? _ : `${this.json(_) ?? ''}`]
396
396
  .map(s => h && s.length > h + t
397
397
  ? s.substring(0, h) + delim + (s.length > h + t ? s.substring(s.length - t) : '')
398
398
  : s)
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /**
7
+ * `aws-lambda-helper.example.ts`
8
+ * - runnable example for `invokeLambda()`.
9
+ *
10
+ * Examples:
11
+ * ```sh
12
+ * npx ts-node src/tools/aws-lambda-helper.example.ts
13
+ * npx ts-node src/tools/aws-lambda-helper.example.ts --target lemon-hello-api-dev-lambda --profile lemon
14
+ * npx ts-node src/tools/aws-lambda-helper.example.ts --target lemon-hello-api-dev-lambda --payload-json '{"httpMethod":"GET","path":"/hello"}'
15
+ * npx ts-node src/tools/aws-lambda-helper.example.ts --target lemon-hello-api-dev-lambda --raw-payload '{"ping":"pong"}'
16
+ * npx ts-node src/tools/aws-lambda-helper.example.ts --target lemon-hello-api-dev-lambda --payload-file ./data/samples/events/sample.event.web.api.json
17
+ * npx ts-node src/tools/aws-lambda-helper.example.ts --target lemon-hello-api-dev-lambda --use-event
18
+ * ```
19
+ */
20
+ const fs_1 = __importDefault(require("fs"));
21
+ const credential_providers_1 = require("@aws-sdk/credential-providers");
22
+ const engine_1 = require("../engine");
23
+ const aws_lambda_helper_1 = require("../cores/protocol/aws-lambda-helper");
24
+ const NS = '[lambda-example]';
25
+ const DEFAULT_ARGS = {
26
+ target: 'lemon-hello-api-dev-lambda',
27
+ region: 'ap-northeast-2',
28
+ profile: undefined,
29
+ useEvent: false,
30
+ };
31
+ const HELP = `
32
+ Usage:
33
+ npx ts-node src/tools/aws-lambda-helper.example.ts [options]
34
+
35
+ Options:
36
+ --target <name> Lambda function name. default: ${DEFAULT_ARGS.target}
37
+ --profile <name> AWS profile name. default: AWS SDK default credential chain
38
+ --region <region> AWS region. default: ${DEFAULT_ARGS.region}
39
+ --payload-json <json> APIGatewayProxyEvent JSON payload
40
+ --payload-file <path> APIGatewayProxyEvent JSON file path
41
+ --raw-payload <string> Raw string payload
42
+ --use-event Invoke asynchronously with InvocationType 'Event'. default: ${DEFAULT_ARGS.useEvent}
43
+ --help Print this help
44
+ `;
45
+ const parseJson = (label, value) => {
46
+ try {
47
+ return JSON.parse(value);
48
+ }
49
+ catch (e) {
50
+ const message = e instanceof Error ? e.message : `${e}`;
51
+ throw new Error(`${label} is not valid JSON - ${message}`);
52
+ }
53
+ };
54
+ const defaultEvent = () => ({
55
+ resource: '/hello/public/slack',
56
+ path: '/hello/public/slack',
57
+ httpMethod: 'POST',
58
+ headers: {
59
+ 'content-type': 'application/json',
60
+ 'x-protocol-context': JSON.stringify({ requestId: 'local-example', accountId: '' }),
61
+ },
62
+ multiValueHeaders: {},
63
+ queryStringParameters: null,
64
+ multiValueQueryStringParameters: null,
65
+ pathParameters: { type: 'hello', id: 'public', cmd: 'slack' },
66
+ stageVariables: null,
67
+ requestContext: {
68
+ accountId: '',
69
+ apiId: 'local-example',
70
+ authorizer: undefined,
71
+ protocol: 'HTTP/1.1',
72
+ httpMethod: 'POST',
73
+ identity: null,
74
+ path: '/hello/public/slack',
75
+ stage: '',
76
+ requestId: 'local-example',
77
+ requestTimeEpoch: Date.now(),
78
+ resourceId: 'local-example',
79
+ resourcePath: '/hello/public/slack',
80
+ },
81
+ body: engine_1.$U.json({ text: `[${engine_1.$U.ts()}] Hello from \`aws-lambda-helper.example.ts\`.` }),
82
+ isBase64Encoded: false,
83
+ });
84
+ const parseArgs = (argv) => {
85
+ const args = { ...DEFAULT_ARGS };
86
+ const aliases = {
87
+ '--target': 'target',
88
+ '--function-name': 'target',
89
+ '--profile': 'profile',
90
+ '--region': 'region',
91
+ '--payload-json': 'payloadJson',
92
+ '--payload-file': 'payloadFile',
93
+ '--raw-payload': 'rawPayload',
94
+ };
95
+ const flags = {
96
+ '--use-event': 'useEvent',
97
+ };
98
+ for (let i = 0; i < argv.length; i++) {
99
+ const token = argv[i];
100
+ if (token == '--help' || token == '-h') {
101
+ console.info(HELP.trim());
102
+ process.exit(0);
103
+ }
104
+ const eqIndex = token.indexOf('=');
105
+ const key = eqIndex > 0 ? token.substring(0, eqIndex) : token;
106
+ const flag = flags[key];
107
+ if (flag) {
108
+ args[flag] = eqIndex > 0 ? token.substring(eqIndex + 1) == 'true' : true;
109
+ continue;
110
+ }
111
+ const prop = aliases[key];
112
+ if (!prop)
113
+ throw new Error(`Unknown option: ${token}`);
114
+ const value = eqIndex > 0 ? token.substring(eqIndex + 1) : argv[++i];
115
+ if (value === undefined || value.startsWith('--')) {
116
+ throw new Error(`${key} requires a value.`);
117
+ }
118
+ args[prop] = value;
119
+ }
120
+ return args;
121
+ };
122
+ const loadPayload = (args) => {
123
+ if (args.rawPayload)
124
+ return args.rawPayload;
125
+ if (args.payloadJson)
126
+ return parseJson('payloadJson', args.payloadJson);
127
+ if (args.payloadFile) {
128
+ const raw = fs_1.default.readFileSync(args.payloadFile, 'utf8');
129
+ return parseJson(`payloadFile(${args.payloadFile})`, raw);
130
+ }
131
+ return defaultEvent();
132
+ };
133
+ const buildConfig = (args) => {
134
+ const region = args.region;
135
+ const profile = args.profile;
136
+ return {
137
+ region,
138
+ profile,
139
+ credentials: profile ? (0, credential_providers_1.fromIni)({ profile }) : undefined,
140
+ };
141
+ };
142
+ const main = async () => {
143
+ const args = parseArgs(process.argv.slice(2));
144
+ const target = args.target;
145
+ const payload = loadPayload(args);
146
+ const config = buildConfig(args);
147
+ const param = {
148
+ service: target,
149
+ type: 'lambda-helper-example',
150
+ mode: (typeof payload === 'string' ? 'POST' : payload.httpMethod || 'GET'),
151
+ context: { requestId: `local-${Date.now()}`, accountId: '' },
152
+ };
153
+ console.info(NS, 'start invokeLambda()');
154
+ console.info(NS, 'target =', target);
155
+ console.info(NS, 'region =', config.region);
156
+ console.info(NS, 'profile =', config.profile || '(default credential chain)');
157
+ console.info(NS, 'useEvent =', args.useEvent);
158
+ console.info(NS, 'payload.type =', typeof payload);
159
+ console.info(NS, 'payload.preview =', engine_1.$U.S(payload, 720, 96, ' .... '));
160
+ const startedAt = Date.now();
161
+ try {
162
+ const result = await (0, aws_lambda_helper_1.invokeLambda)(target, payload, { param, config, useEvent: args.useEvent });
163
+ console.info(NS, 'success = true');
164
+ console.info(NS, 'elapsed.ms =', Date.now() - startedAt);
165
+ console.info(NS, 'result =', engine_1.$U.S(result, 1200, 128, ' .... '));
166
+ }
167
+ catch (e) {
168
+ console.error(NS, 'success = false');
169
+ console.error(NS, 'elapsed.ms =', Date.now() - startedAt);
170
+ console.error(NS, 'error =', e instanceof Error ? e.stack || e.message : e);
171
+ process.exitCode = 1;
172
+ }
173
+ };
174
+ main().catch(e => {
175
+ console.error(NS, 'fatal =', e instanceof Error ? e.stack || e.message : e);
176
+ process.exitCode = 1;
177
+ });
178
+ //# sourceMappingURL=aws-lambda-helper.example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-lambda-helper.example.js","sourceRoot":"","sources":["../../src/tools/aws-lambda-helper.example.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lemon-core",
3
- "version": "4.2.5",
3
+ "version": "4.2.6",
4
4
  "description": "Lemon Serverless Micro-Service Platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",