lemon-core 4.0.2 → 4.0.4
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 +1 -0
- package/dist/cores/aws/aws-kms-service.js +3 -4
- package/dist/cores/aws/aws-kms-service.js.map +1 -1
- package/dist/cores/aws/aws-s3-service.js +3 -3
- package/dist/cores/aws/aws-s3-service.js.map +1 -1
- package/dist/cores/aws/aws-sns-service.d.ts +14 -1
- package/dist/cores/aws/aws-sns-service.js +12 -9
- package/dist/cores/aws/aws-sns-service.js.map +1 -1
- package/dist/cores/aws/aws-sqs-service.d.ts +1 -1
- package/dist/cores/aws/aws-sqs-service.js +15 -9
- package/dist/cores/aws/aws-sqs-service.js.map +1 -1
- package/dist/cores/core-services.d.ts +1 -1
- package/dist/cores/dynamo/dynamo-query-service.js +1 -1
- package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-scan-service.js +1 -1
- package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-service.d.ts +1 -1
- package/dist/cores/dynamo/dynamo-service.js +45 -14
- package/dist/cores/dynamo/dynamo-service.js.map +1 -1
- package/dist/cores/lambda/lambda-handler.d.ts +5 -0
- package/dist/cores/lambda/lambda-handler.js +13 -0
- package/dist/cores/lambda/lambda-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-web-handler.d.ts +10 -2
- package/dist/cores/lambda/lambda-web-handler.js +4 -14
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +2 -1
- package/dist/cores/protocol/protocol-service.js +74 -25
- package/dist/cores/protocol/protocol-service.js.map +1 -1
- package/dist/engine/utilities.d.ts +4 -0
- package/dist/engine/utilities.js +34 -8
- package/dist/engine/utilities.js.map +1 -1
- package/dist/environ.d.ts +9 -30
- package/dist/environ.js +54 -18
- package/dist/environ.js.map +1 -1
- package/dist/extended/abstract-service.d.ts +3 -12
- package/dist/extended/abstract-service.js +1 -28
- package/dist/extended/abstract-service.js.map +1 -1
- package/dist/helpers/helpers.js +2 -7
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/tools/express.d.ts +18 -32
- package/dist/tools/express.js +56 -7
- package/dist/tools/express.js.map +1 -1
- package/dist/tools/shared.d.ts +1 -10
- package/dist/tools/shared.js +26 -13
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/tools.d.ts +39 -2
- package/dist/tools/tools.js +62 -2
- package/dist/tools/tools.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,4 +1,27 @@
|
|
|
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -24,11 +47,12 @@ exports.SQSProtocolTransformer = exports.SNSProtocolTransformer = exports.WEBPro
|
|
|
24
47
|
* @copyright (C) lemoncloud.io 2019 - All Rights Reserved.
|
|
25
48
|
*/
|
|
26
49
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
|
-
const engine_1 = require("../../engine/");
|
|
50
|
+
const engine_1 = __importStar(require("../../engine/"));
|
|
28
51
|
const client_sns_1 = require("@aws-sdk/client-sns");
|
|
29
52
|
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
30
53
|
const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
31
54
|
const lambda_handler_1 = require("./../lambda/lambda-handler");
|
|
55
|
+
const tools_1 = require("../../tools");
|
|
32
56
|
const url_1 = __importDefault(require("url"));
|
|
33
57
|
const config_1 = __importDefault(require("../config/")); // load config-module.
|
|
34
58
|
const aws_1 = __importDefault(require("../aws/")); // load config-module.
|
|
@@ -36,6 +60,7 @@ const qs_1 = __importDefault(require("qs"));
|
|
|
36
60
|
const NS = engine_1.$U.NS('PRTS', 'yellow'); // NAMESPACE TO BE PRINTED.
|
|
37
61
|
/**
|
|
38
62
|
* header name to exchange `next-context`
|
|
63
|
+
* ONLY for internal communication.
|
|
39
64
|
*/
|
|
40
65
|
exports.HEADER_PROTOCOL_CONTEXT = engine_1.$U.env('HEADER_PROTOCOL_CONTEXT', 'x-protocol-context');
|
|
41
66
|
/**
|
|
@@ -277,7 +302,7 @@ class MyProtocolService {
|
|
|
277
302
|
// _log(NS, `> params =`, $U.json(params));
|
|
278
303
|
//* call lambda.
|
|
279
304
|
const region = 'ap-northeast-2'; //TODO - optimize of aws region....
|
|
280
|
-
const lambda = new client_lambda_1.LambdaClient(
|
|
305
|
+
const lambda = new client_lambda_1.LambdaClient((0, tools_1.awsConfig)(engine_1.default, region));
|
|
281
306
|
const response = yield lambda
|
|
282
307
|
.send(new client_lambda_1.InvokeCommand(params))
|
|
283
308
|
.catch((e) => {
|
|
@@ -341,7 +366,7 @@ class MyProtocolService {
|
|
|
341
366
|
(0, engine_1._inf)(NS, `> payload[${arn}] =`, engine_1.$U.json(params));
|
|
342
367
|
//* call sns
|
|
343
368
|
const region = arn.split(':')[3] || 'ap-northeast-2';
|
|
344
|
-
const sns = new client_sns_1.SNSClient(
|
|
369
|
+
const sns = new client_sns_1.SNSClient((0, tools_1.awsConfig)(engine_1.default, region));
|
|
345
370
|
const res = yield sns
|
|
346
371
|
.send(new client_sns_1.PublishCommand(params))
|
|
347
372
|
.catch((e) => {
|
|
@@ -384,7 +409,7 @@ class MyProtocolService {
|
|
|
384
409
|
(0, engine_1._inf)(NS, `> payload[${endpoint}] =`, engine_1.$U.json(params));
|
|
385
410
|
//* call sns
|
|
386
411
|
const region = endpoint.split('.')[1] || 'ap-northeast-2';
|
|
387
|
-
const sqs = new client_sqs_1.SQSClient(
|
|
412
|
+
const sqs = new client_sqs_1.SQSClient((0, tools_1.awsConfig)(engine_1.default, region));
|
|
388
413
|
const res = yield sqs
|
|
389
414
|
.send(new client_sqs_1.SendMessageCommand(params))
|
|
390
415
|
.catch((e) => {
|
|
@@ -433,7 +458,7 @@ class MyProtocolService {
|
|
|
433
458
|
params.MessageAttributes['requestId'] = { DataType: 'String', StringValue: requestId };
|
|
434
459
|
//* call sns
|
|
435
460
|
const region = arn.split(':')[3] || 'ap-northeast-2';
|
|
436
|
-
const sns = new client_sns_1.SNSClient(
|
|
461
|
+
const sns = new client_sns_1.SNSClient((0, tools_1.awsConfig)(engine_1.default, region));
|
|
437
462
|
const res = yield sns
|
|
438
463
|
.send(new client_sns_1.PublishCommand(params))
|
|
439
464
|
.catch((e) => {
|
|
@@ -514,15 +539,40 @@ class WEBProtocolTransformer {
|
|
|
514
539
|
* transform event data to param
|
|
515
540
|
* @param event the lambda compartible event data.
|
|
516
541
|
*/
|
|
517
|
-
transformToParam(event) {
|
|
542
|
+
transformToParam(event, context) {
|
|
543
|
+
var _a, _b, _c;
|
|
544
|
+
const errScope = `web.transformToParam(${(_a = event === null || event === void 0 ? void 0 : event.path) !== null && _a !== void 0 ? _a : ''})`;
|
|
518
545
|
if (!event)
|
|
519
|
-
throw new Error(
|
|
546
|
+
throw new Error(`@event (API Event) is required - ${errScope}`); // avoid null exception.
|
|
520
547
|
const headers = event.headers;
|
|
521
548
|
if (!headers)
|
|
522
|
-
throw new Error(
|
|
549
|
+
throw new Error(`.headers (object) is required - ${errScope}`);
|
|
523
550
|
const requestContext = event.requestContext;
|
|
524
551
|
if (!requestContext)
|
|
525
|
-
throw new Error(
|
|
552
|
+
throw new Error(`.requestContext (object) is required - ${errScope}`);
|
|
553
|
+
/** load next-context */
|
|
554
|
+
const _context = (context) => {
|
|
555
|
+
if (context)
|
|
556
|
+
return context; // use given context.
|
|
557
|
+
const ctx = headers[exports.HEADER_PROTOCOL_CONTEXT];
|
|
558
|
+
if (!ctx)
|
|
559
|
+
return null; // no context.
|
|
560
|
+
if (typeof ctx !== 'string')
|
|
561
|
+
throw new Error(`@context (NextContext) should be string - ${errScope}`);
|
|
562
|
+
try {
|
|
563
|
+
const c = JSON.parse(ctx);
|
|
564
|
+
if (c && typeof c == 'object')
|
|
565
|
+
return c;
|
|
566
|
+
}
|
|
567
|
+
catch (e) {
|
|
568
|
+
(0, engine_1._log)(NS, `> WARN! context[${ctx}] is not valid JSON.`, e);
|
|
569
|
+
throw new Error(`@context[${ctx}] is not valid JSON - ${errScope}`);
|
|
570
|
+
}
|
|
571
|
+
return null; // not valid context.
|
|
572
|
+
};
|
|
573
|
+
context = _context(context);
|
|
574
|
+
if (!context)
|
|
575
|
+
throw new Error(`@context (NextContext) is required - ${errScope}`); // avoid null exception.
|
|
526
576
|
//* extract part
|
|
527
577
|
const { resource, path, httpMethod } = event; // in case of resource: '/session/{id}/{cmd}', path: '/ses-v1/session/t001/test-es6'
|
|
528
578
|
const contType = `${headers['content-type'] || headers['Content-Type'] || ''}`.toLowerCase();
|
|
@@ -534,33 +584,32 @@ class WEBProtocolTransformer {
|
|
|
534
584
|
const isText = body && typeof body == 'string';
|
|
535
585
|
const isJson = type.startsWith('application/json');
|
|
536
586
|
const isForm = type.startsWith('application/x-www-form-urlencoded');
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
587
|
+
try {
|
|
588
|
+
if (isText && isJson)
|
|
589
|
+
return JSON.parse(body);
|
|
590
|
+
if (isText && body.startsWith('{') && body.endsWith('}'))
|
|
591
|
+
return JSON.parse(body);
|
|
592
|
+
if (isText && body.startsWith('[') && body.endsWith(']'))
|
|
593
|
+
return JSON.parse(body);
|
|
594
|
+
}
|
|
595
|
+
catch (e) {
|
|
596
|
+
throw new Error(`@body[${body}] is not valid JSON - ${errScope}`);
|
|
597
|
+
}
|
|
543
598
|
// if (isText && isForm) return queryString.parse(body, { arrayFormat: 'bracket' });
|
|
544
599
|
if (isText && isForm)
|
|
545
600
|
return qs_1.default.parse(body);
|
|
546
601
|
return body;
|
|
547
602
|
})(event.body, contType);
|
|
548
|
-
//* decode context (can be null)
|
|
549
|
-
if (typeof headers[exports.HEADER_PROTOCOL_CONTEXT] === 'undefined')
|
|
550
|
-
throw new Error(`.headers[${exports.HEADER_PROTOCOL_CONTEXT}] is required`);
|
|
551
|
-
const context = headers[exports.HEADER_PROTOCOL_CONTEXT]
|
|
552
|
-
? JSON.parse(headers[exports.HEADER_PROTOCOL_CONTEXT])
|
|
553
|
-
: null;
|
|
554
603
|
//* determine execute mode.
|
|
555
604
|
const service = '';
|
|
556
605
|
const stage = `${requestContext.stage || ''}`;
|
|
557
606
|
const type = $path.type || `${resource || path || ''}`.split('/')[1] || ''; // 1st path param will be type of resource.
|
|
558
607
|
const mode = httpMethod == 'GET' && !$path.id && !$path.cmd ? 'LIST' : `${httpMethod}`.toUpperCase();
|
|
559
608
|
//* validate values.
|
|
560
|
-
if (context
|
|
561
|
-
throw new Error(`400 INVALID CONTEXT - accountId:${context.accountId
|
|
562
|
-
if (context
|
|
563
|
-
throw new Error(`400 INVALID CONTEXT - requestId:${context.requestId
|
|
609
|
+
if ((context === null || context === void 0 ? void 0 : context.accountId) && requestContext.accountId != context.accountId)
|
|
610
|
+
throw new Error(`400 INVALID CONTEXT - accountId:${(_b = context.accountId) !== null && _b !== void 0 ? _b : ''} @${errScope}`);
|
|
611
|
+
if ((context === null || context === void 0 ? void 0 : context.requestId) && requestContext.requestId != context.requestId)
|
|
612
|
+
throw new Error(`400 INVALID CONTEXT - requestId:${(_c = context.requestId) !== null && _c !== void 0 ? _c : ''} @${errScope}`);
|
|
564
613
|
//* pack as protocol-param.
|
|
565
614
|
const res = { service, stage, type, mode, id: $path.id, cmd: $path.cmd, param, body, context };
|
|
566
615
|
return res;
|
|
@@ -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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"}
|
|
@@ -191,9 +191,13 @@ export declare class Utilities {
|
|
|
191
191
|
};
|
|
192
192
|
/**
|
|
193
193
|
* get crypto object.
|
|
194
|
+
*
|
|
195
|
+
* @deprecated since nodejs22, use `crypto2` instead.
|
|
194
196
|
*/
|
|
195
197
|
readonly crypto: (passwd: string, algorithm?: string) => {
|
|
198
|
+
/** @deprecated since nodejs22 */
|
|
196
199
|
encrypt: (val: string) => string;
|
|
200
|
+
/** @deprecated since nodejs22 */
|
|
197
201
|
decrypt: (msg: string) => string;
|
|
198
202
|
};
|
|
199
203
|
/**
|
package/dist/engine/utilities.js
CHANGED
|
@@ -81,33 +81,59 @@ class Utilities {
|
|
|
81
81
|
};
|
|
82
82
|
/**
|
|
83
83
|
* get crypto object.
|
|
84
|
+
*
|
|
85
|
+
* @deprecated since nodejs22, use `crypto2` instead.
|
|
84
86
|
*/
|
|
85
87
|
this.crypto = (passwd, algorithm) => {
|
|
86
88
|
algorithm = algorithm || 'aes-256-ctr';
|
|
87
89
|
const MAGIC = 'LM!#';
|
|
90
|
+
/**
|
|
91
|
+
* Simulate OpenSSL's EVP_BytesToKey method
|
|
92
|
+
*/
|
|
93
|
+
const evpBytesToKey = (password, keyLen, ivLen) => {
|
|
94
|
+
let data = Buffer.alloc(0);
|
|
95
|
+
let prev = Buffer.alloc(0);
|
|
96
|
+
while (data.length < keyLen + ivLen) {
|
|
97
|
+
const hash = crypto_1.default.createHash('md5');
|
|
98
|
+
hash.update(Buffer.concat([prev, password]));
|
|
99
|
+
prev = hash.digest();
|
|
100
|
+
data = Buffer.concat([data, prev]);
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
key: data.slice(0, keyLen),
|
|
104
|
+
iv: data.slice(keyLen, keyLen + ivLen),
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
const getKeyIV = () => {
|
|
108
|
+
const passwordBuf = Buffer.from(passwd, 'binary');
|
|
109
|
+
const keyLen = 32; // for aes-256
|
|
110
|
+
const ivLen = 16; // AES block size
|
|
111
|
+
return evpBytesToKey(passwordBuf, keyLen, ivLen);
|
|
112
|
+
};
|
|
88
113
|
return new (class {
|
|
89
114
|
constructor() {
|
|
115
|
+
/** @deprecated since nodejs22 */
|
|
90
116
|
this.encrypt = (val) => {
|
|
91
117
|
val = val === undefined ? null : val;
|
|
92
118
|
// msg = msg && typeof msg == 'object' ? JSON_TAG+JSON.stringify(msg) : msg;
|
|
93
119
|
//* 어느 데이터 타입이든 저장하기 위해서, object로 만든다음, 암호화 시킨다.
|
|
94
120
|
const msg = JSON.stringify({ alg: algorithm, val: val });
|
|
95
121
|
const buffer = Buffer.from(`${MAGIC}${msg || ''}`, 'utf8');
|
|
96
|
-
|
|
97
|
-
const cipher = crypto_1.default.
|
|
98
|
-
// const cipher = crypto.createCipheriv(algorithm, key, iv);
|
|
122
|
+
const { key, iv } = getKeyIV();
|
|
123
|
+
const cipher = crypto_1.default.createCipheriv(algorithm, key, iv);
|
|
99
124
|
const crypted = Buffer.concat([cipher.update(buffer), cipher.final()]);
|
|
100
125
|
return crypted.toString(1 ? 'base64' : 'utf8');
|
|
101
126
|
};
|
|
127
|
+
/** @deprecated since nodejs22 */
|
|
102
128
|
this.decrypt = (msg) => {
|
|
103
129
|
const buffer = Buffer.from(`${msg || ''}`, 'base64');
|
|
104
|
-
|
|
105
|
-
const decipher = crypto_1.default.
|
|
106
|
-
|
|
107
|
-
const dec =
|
|
130
|
+
const { key, iv } = getKeyIV();
|
|
131
|
+
const decipher = crypto_1.default.createDecipheriv(algorithm, key, iv);
|
|
132
|
+
const decrypted = Buffer.concat([decipher.update(buffer), decipher.final()]);
|
|
133
|
+
const dec = decrypted.toString('utf8');
|
|
108
134
|
if (!dec.startsWith(MAGIC))
|
|
109
135
|
throw new Error('400 INVALID PASSWD - invalid magic string!');
|
|
110
|
-
const data = dec.
|
|
136
|
+
const data = dec.slice(MAGIC.length);
|
|
111
137
|
if (data && !data.startsWith('{') && !data.endsWith('}'))
|
|
112
138
|
throw new Error('400 INVALID PASSWD - invalid json string!');
|
|
113
139
|
const $msg = JSON.parse(data) || {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/engine/utilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/engine/utilities.ts"],"names":[],"mappings":"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"}
|
package/dist/environ.d.ts
CHANGED
|
@@ -1,27 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `environ.ts`
|
|
3
|
-
* - override environ with `env/<profile>.yml`
|
|
4
|
-
* - **NOTE** seperated file from index due to initialization sequence.
|
|
5
|
-
*
|
|
6
|
-
* usage (javascript):
|
|
7
|
-
* ```js
|
|
8
|
-
* const environ = require('lemon-core/dist/environ').default;
|
|
9
|
-
* process.env = environ(process)
|
|
10
|
-
* ```
|
|
11
|
-
*
|
|
12
|
-
* usage (typescript):
|
|
13
|
-
* ```ts
|
|
14
|
-
* import environ from 'lemon-core/dist/environ';
|
|
15
|
-
* const $env = environ(process);
|
|
16
|
-
* process.env = $env;
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* @author Steve Jung <steve@lemoncloud.io>
|
|
20
|
-
* @date 2019-08-09 initial typescript version.
|
|
21
|
-
* @date 2019-11-26 cleanup and optimized for `lemon-core#v2`
|
|
22
|
-
*
|
|
23
|
-
* @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
|
|
24
|
-
*/
|
|
25
1
|
/**
|
|
26
2
|
* type: `CrendentialForAWS`
|
|
27
3
|
* - common interface for AWS credentials.
|
|
@@ -55,7 +31,7 @@ export interface EnvironmentSet {
|
|
|
55
31
|
ENV_PATH?: string;
|
|
56
32
|
}
|
|
57
33
|
/**
|
|
58
|
-
* loader `<profile>.yml`
|
|
34
|
+
* (only for dev) loader `<profile>.yml`
|
|
59
35
|
*
|
|
60
36
|
* **Determine Environ Target**
|
|
61
37
|
* 1. ENV 로부터, 로딩할 `env.yml` 파일을 지정함.
|
|
@@ -66,10 +42,12 @@ export interface EnvironmentSet {
|
|
|
66
42
|
*
|
|
67
43
|
* @param process the main process instance.
|
|
68
44
|
* @param options (optional) default option.
|
|
45
|
+
*
|
|
46
|
+
* @deprecated use `loadEnviron()` from `lemon-devkit` instead.
|
|
69
47
|
*/
|
|
70
|
-
export declare const loadEnviron: (process
|
|
48
|
+
export declare const loadEnviron: (process?: any, options?: EnvironmentSet) => EnvironmentSet;
|
|
71
49
|
/**
|
|
72
|
-
* load AWS credential profile via env.NAME
|
|
50
|
+
* (only for dev) load AWS credential profile via `env.NAME`
|
|
73
51
|
*
|
|
74
52
|
* NOTE! ONLY FOR development purpose.
|
|
75
53
|
*
|
|
@@ -78,13 +56,14 @@ export declare const loadEnviron: (process: any, options?: EnvironmentSet) => En
|
|
|
78
56
|
* $ NAME=lemon npm run test
|
|
79
57
|
* ````
|
|
80
58
|
* @param $proc process (default `global.process`)
|
|
81
|
-
* @param
|
|
59
|
+
* @param options (optional) parameters.
|
|
60
|
+
* @returns {Promise<string>} - loaded profile name.
|
|
82
61
|
*/
|
|
83
62
|
export declare const loadProfile: ($proc?: {
|
|
84
63
|
env?: any;
|
|
85
|
-
},
|
|
64
|
+
}, options?: any) => Promise<string>;
|
|
86
65
|
/**
|
|
87
|
-
* dynamic loading credentials by profile. (search PROFILE -> NAME)
|
|
66
|
+
* (only for dev) dynamic loading credentials by profile. (search PROFILE -> NAME)
|
|
88
67
|
*
|
|
89
68
|
* @deprecated use `asyncCredentials` instead.
|
|
90
69
|
*/
|