lemon-core 4.0.1 → 4.0.3
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/cores/aws/aws-kms-service.js +5 -10
- package/dist/cores/aws/aws-kms-service.js.map +1 -1
- package/dist/cores/aws/aws-s3-service.d.ts +8 -2
- package/dist/cores/aws/aws-s3-service.js +51 -15
- 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 +3 -3
- package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-scan-service.d.ts +7 -1
- package/dist/cores/dynamo/dynamo-scan-service.js +10 -3
- 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/dynamo/tools/expressions.d.ts +0 -10
- package/dist/cores/dynamo/tools/expressions.js +12 -12
- package/dist/cores/dynamo/tools/expressions.js.map +1 -1
- package/dist/cores/dynamo/tools/query.d.ts +0 -10
- package/dist/cores/dynamo/tools/query.js +12 -12
- package/dist/cores/dynamo/tools/query.js.map +1 -1
- package/dist/cores/dynamo/tools/scan.d.ts +0 -10
- package/dist/cores/dynamo/tools/scan.js +12 -12
- package/dist/cores/dynamo/tools/scan.js.map +1 -1
- package/dist/cores/dynamo/tools/serializer.d.ts +0 -10
- package/dist/cores/dynamo/tools/serializer.js +25 -16
- package/dist/cores/dynamo/tools/serializer.js.map +1 -1
- package/dist/cores/dynamo/tools/utils.d.ts +3 -11
- package/dist/cores/dynamo/tools/utils.js +17 -17
- package/dist/cores/dynamo/tools/utils.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/lib/dynamo/expressions.d.ts +14 -0
- package/dist/lib/dynamo/expressions.js +212 -0
- package/dist/lib/dynamo/expressions.js.map +1 -0
- package/dist/lib/dynamo/query.d.ts +43 -0
- package/dist/lib/dynamo/query.js +246 -0
- package/dist/lib/dynamo/query.js.map +1 -0
- package/dist/lib/dynamo/scan.d.ts +33 -0
- package/dist/lib/dynamo/scan.js +172 -0
- package/dist/lib/dynamo/scan.js.map +1 -0
- package/dist/lib/dynamo/serializer.d.ts +12 -0
- package/dist/lib/dynamo/serializer.js +243 -0
- package/dist/lib/dynamo/serializer.js.map +1 -0
- package/dist/lib/dynamo/utils.d.ts +15 -0
- package/dist/lib/dynamo/utils.js +129 -0
- package/dist/lib/dynamo/utils.js.map +1 -0
- 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 -8
- package/dist/tools/shared.js +23 -14
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/tools.d.ts +34 -2
- package/dist/tools/tools.js +52 -2
- package/dist/tools/tools.js.map +1 -1
- package/package.json +7 -6
package/dist/tools/tools.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { CrendentialForAWS } from '../environ';
|
|
2
|
+
import { RuntimeConfigAwsCredentialIdentityProvider } from '@aws-sdk/types/dist-types/identity/AwsCredentialIdentity';
|
|
3
|
+
import { LemonEngine } from '../engine/types';
|
|
4
|
+
/** returns only defined */
|
|
5
|
+
export declare const onlyDefined: <T extends object>(N: T, $def?: T) => T;
|
|
2
6
|
/**
|
|
3
7
|
* load json in sync.
|
|
4
8
|
*/
|
|
@@ -10,6 +14,34 @@ export declare const loadDataYml: <T extends object = any>(file: string, folder?
|
|
|
10
14
|
/**
|
|
11
15
|
* dynamic loading credentials by profile. (search PROFILE -> NAME)
|
|
12
16
|
*
|
|
13
|
-
* @returns {Promise<
|
|
17
|
+
* @returns {Promise<CrendentialForAWS>} - AWS credentials
|
|
14
18
|
*/
|
|
15
|
-
export declare const asyncCredentials: (profile
|
|
19
|
+
export declare const asyncCredentials: (profile?: string) => Promise<CrendentialForAWS>;
|
|
20
|
+
/**
|
|
21
|
+
* type: `AwsConfigParams`
|
|
22
|
+
* - parameters for AWS config.
|
|
23
|
+
* - used for `awsConfig()`
|
|
24
|
+
*/
|
|
25
|
+
export interface AwsConfigParams {
|
|
26
|
+
/** AWS region */
|
|
27
|
+
region?: string;
|
|
28
|
+
/** AWS profile */
|
|
29
|
+
profile?: string;
|
|
30
|
+
/** AWS credentials provider */
|
|
31
|
+
credentials?: RuntimeConfigAwsCredentialIdentityProvider;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* load config for aws sdk
|
|
35
|
+
* - if `profile` is not defined, use `AWS_PROFILE` or `default`
|
|
36
|
+
* - if `region` is not defined, use `AWS_REGION` or `ap-northeast-2`
|
|
37
|
+
*
|
|
38
|
+
* ```
|
|
39
|
+
* # run with default profile
|
|
40
|
+
* $ npm run test:watch
|
|
41
|
+
*
|
|
42
|
+
* # run with `lemon` profile
|
|
43
|
+
* #npm run test:watch.lemon
|
|
44
|
+
*/
|
|
45
|
+
export declare const awsConfig: <T extends AwsConfigParams>($engine: LemonEngine, params?: string | T | (() => string)) => T & {
|
|
46
|
+
credentials?: RuntimeConfigAwsCredentialIdentityProvider;
|
|
47
|
+
};
|
package/dist/tools/tools.js
CHANGED
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.asyncCredentials = exports.loadDataYml = exports.loadJsonSync = void 0;
|
|
15
|
+
exports.awsConfig = exports.asyncCredentials = exports.loadDataYml = exports.loadJsonSync = exports.onlyDefined = void 0;
|
|
16
16
|
/**
|
|
17
17
|
* `tools/tools.ts`
|
|
18
18
|
* - additional helper.
|
|
@@ -33,6 +33,15 @@ exports.asyncCredentials = exports.loadDataYml = exports.loadJsonSync = void 0;
|
|
|
33
33
|
const fs_1 = __importDefault(require("fs"));
|
|
34
34
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
35
35
|
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
36
|
+
/** returns only defined */
|
|
37
|
+
const onlyDefined = (N, $def = null) => N && typeof N === 'object'
|
|
38
|
+
? Object.entries(N).reduce((N, [k, v]) => {
|
|
39
|
+
if (v !== undefined)
|
|
40
|
+
N[k] = v;
|
|
41
|
+
return N;
|
|
42
|
+
}, {})
|
|
43
|
+
: $def;
|
|
44
|
+
exports.onlyDefined = onlyDefined;
|
|
36
45
|
/**
|
|
37
46
|
* load json in sync.
|
|
38
47
|
*/
|
|
@@ -63,7 +72,7 @@ exports.loadDataYml = loadDataYml;
|
|
|
63
72
|
/**
|
|
64
73
|
* dynamic loading credentials by profile. (search PROFILE -> NAME)
|
|
65
74
|
*
|
|
66
|
-
* @returns {Promise<
|
|
75
|
+
* @returns {Promise<CrendentialForAWS>} - AWS credentials
|
|
67
76
|
*/
|
|
68
77
|
const asyncCredentials = (profile) => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
78
|
const provider = (0, credential_providers_1.fromIni)({ profile });
|
|
@@ -71,4 +80,45 @@ const asyncCredentials = (profile) => __awaiter(void 0, void 0, void 0, function
|
|
|
71
80
|
return Object.assign(Object.assign({}, $res), { profile });
|
|
72
81
|
});
|
|
73
82
|
exports.asyncCredentials = asyncCredentials;
|
|
83
|
+
/**
|
|
84
|
+
* load config for aws sdk
|
|
85
|
+
* - if `profile` is not defined, use `AWS_PROFILE` or `default`
|
|
86
|
+
* - if `region` is not defined, use `AWS_REGION` or `ap-northeast-2`
|
|
87
|
+
*
|
|
88
|
+
* ```
|
|
89
|
+
* # run with default profile
|
|
90
|
+
* $ npm run test:watch
|
|
91
|
+
*
|
|
92
|
+
* # run with `lemon` profile
|
|
93
|
+
* #npm run test:watch.lemon
|
|
94
|
+
*/
|
|
95
|
+
const awsConfig = ($engine,
|
|
96
|
+
/** params or region */
|
|
97
|
+
params) => {
|
|
98
|
+
var _a;
|
|
99
|
+
const errScope = `awsConfig(${(_a = $engine === null || $engine === void 0 ? void 0 : $engine.id) !== null && _a !== void 0 ? _a : ''})`;
|
|
100
|
+
const region = params === undefined
|
|
101
|
+
? 'ap-northeast-2'
|
|
102
|
+
: typeof params === 'string'
|
|
103
|
+
? params
|
|
104
|
+
: typeof params === 'function'
|
|
105
|
+
? params()
|
|
106
|
+
: params === null || params === void 0 ? void 0 : params.region;
|
|
107
|
+
const _conf = typeof params === 'object' ? params : null;
|
|
108
|
+
const profile = $engine === null || $engine === void 0 ? void 0 : $engine.environ('NAME', 'none');
|
|
109
|
+
if (typeof profile !== 'string')
|
|
110
|
+
throw new Error(`@env.NAME[${typeof profile}] is invalid (check $engine) - ${errScope}`);
|
|
111
|
+
//* build defualt config.
|
|
112
|
+
const $conf = (0, exports.onlyDefined)(Object.assign({ profile: profile && profile !== 'none' ? profile : undefined, region }, _conf));
|
|
113
|
+
if (typeof $conf.region === 'string' && !$conf.region)
|
|
114
|
+
throw new Error(`.region[${$conf.region}] is invalid (empty) - ${errScope}`);
|
|
115
|
+
//! load the credentials provider(async function).
|
|
116
|
+
const credentials = typeof $conf.credentials === 'function'
|
|
117
|
+
? $conf.credentials
|
|
118
|
+
: $conf.profile
|
|
119
|
+
? (0, credential_providers_1.fromIni)({ profile: $conf.profile })
|
|
120
|
+
: undefined;
|
|
121
|
+
return (0, exports.onlyDefined)(Object.assign(Object.assign({}, $conf), { credentials }));
|
|
122
|
+
};
|
|
123
|
+
exports.awsConfig = awsConfig;
|
|
74
124
|
//# sourceMappingURL=tools.js.map
|
package/dist/tools/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,4CAAoB;AACpB,sDAA2B;AAC3B,wEAAwD;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools/tools.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.0.
|
|
3
|
+
"version": "4.0.3",
|
|
4
4
|
"description": "Lemon Serverless Micro-Service Platform",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"test.lemon": "ENV=lemon npm run test",
|
|
19
19
|
"test:dev": "LS=1 jest --config=jest.config.json --watchAll",
|
|
20
20
|
"!test:watch": "---- custom test with profile -----",
|
|
21
|
-
"test:watch": "LS=1
|
|
21
|
+
"test:watch": "LS=1 jest --config=jest.config.json --watchAll",
|
|
22
22
|
"test:watch.lemon": "ENV=lemon npm run test:watch",
|
|
23
23
|
"!prepare": "------- run self-test with jest -----",
|
|
24
24
|
"prepare": "npm run build",
|
|
25
25
|
"!prepublishOnly": "npm test && npm run lint && npm run format",
|
|
26
|
-
"
|
|
26
|
+
"#prepublishOnly": "npm test && npm run lint",
|
|
27
27
|
"!plato": "----- analysis code complexity -----",
|
|
28
28
|
"plato": "plato -r -d complexity dist"
|
|
29
29
|
},
|
|
@@ -81,7 +81,6 @@
|
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@aws-sdk/types": "^3.804.0",
|
|
84
|
-
"@smithy/types": "^4.3.0",
|
|
85
84
|
"@smithy/util-stream": "^3.3.4",
|
|
86
85
|
"@types/async": "^3.2.15",
|
|
87
86
|
"@types/crypto-js": "^4.2.2",
|
|
@@ -105,12 +104,14 @@
|
|
|
105
104
|
"faker": "^4.1.0",
|
|
106
105
|
"gh-pages": "^5.0.0",
|
|
107
106
|
"husky": "^8.0.3",
|
|
108
|
-
"jest": "^
|
|
107
|
+
"jest": "^28.1.3",
|
|
108
|
+
"jest-jasmine2": "^28.1.3",
|
|
109
|
+
"lemon-devkit": "^0.0.3",
|
|
109
110
|
"lint-staged": "^13.1.0",
|
|
110
111
|
"prettier": "^2.7.1",
|
|
111
112
|
"superagent": "^5.3.1",
|
|
112
113
|
"supertest": "^4.0.2",
|
|
113
|
-
"ts-jest": "^
|
|
114
|
+
"ts-jest": "^28.0.8",
|
|
114
115
|
"ts-node": "^8.10.2",
|
|
115
116
|
"ttypescript": "^1.5.15",
|
|
116
117
|
"typedoc": "^0.23.15",
|