lemon-core 3.0.2 → 3.1.2
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 +3 -0
- package/dist/common/test-helper.js +19 -11
- package/dist/common/test-helper.js.map +1 -1
- package/dist/controllers/dummy-controller.d.ts +2 -2
- package/dist/controllers/dummy-controller.js +2 -2
- package/dist/controllers/dummy-controller.js.map +1 -1
- package/dist/controllers/general-api-controller.d.ts +2 -2
- package/dist/controllers/general-api-controller.js +5 -5
- package/dist/controllers/general-api-controller.js.map +1 -1
- package/dist/controllers/general-controller.d.ts +1 -1
- package/dist/controllers/general-controller.js +2 -1
- package/dist/controllers/general-controller.js.map +1 -1
- package/dist/controllers/index.js +6 -2
- package/dist/controllers/index.js.map +1 -1
- package/dist/cores/{api-service.d.ts → api/api-service.d.ts} +0 -0
- package/dist/cores/{api-service.js → api/api-service.js} +22 -21
- package/dist/cores/api/api-service.js.map +1 -0
- package/dist/cores/api/index.d.ts +10 -0
- package/dist/cores/api/index.js +27 -0
- package/dist/cores/api/index.js.map +1 -0
- package/dist/cores/aws/aws-kms-service.d.ts +53 -2
- package/dist/cores/aws/aws-kms-service.js +112 -29
- package/dist/cores/aws/aws-kms-service.js.map +1 -1
- package/dist/cores/aws/aws-s3-service.js +19 -18
- package/dist/cores/aws/aws-s3-service.js.map +1 -1
- package/dist/cores/aws/aws-sns-service.js +10 -10
- package/dist/cores/aws/aws-sns-service.js.map +1 -1
- package/dist/cores/aws/aws-sqs-service.js +12 -12
- package/dist/cores/aws/aws-sqs-service.js.map +1 -1
- package/dist/cores/aws/index.js +1 -1
- package/dist/cores/{cache-service.d.ts → cache/cache-service.d.ts} +77 -25
- package/dist/cores/{cache-service.js → cache/cache-service.js} +77 -47
- package/dist/cores/cache/cache-service.js.map +1 -0
- package/dist/cores/cache/index.d.ts +10 -0
- package/dist/cores/cache/index.js +27 -0
- package/dist/cores/cache/index.js.map +1 -0
- package/dist/cores/config/config-service.js +11 -10
- package/dist/cores/config/config-service.js.map +1 -1
- package/dist/cores/core-services.d.ts +1 -2
- package/dist/cores/core-services.js +0 -21
- package/dist/cores/core-services.js.map +1 -1
- package/dist/cores/{dynamo-query-service.d.ts → dynamo/dynamo-query-service.d.ts} +1 -1
- package/dist/cores/{dynamo-query-service.js → dynamo/dynamo-query-service.js} +10 -10
- package/dist/cores/dynamo/dynamo-query-service.js.map +1 -0
- package/dist/cores/{dynamo-scan-service.d.ts → dynamo/dynamo-scan-service.d.ts} +1 -1
- package/dist/cores/{dynamo-scan-service.js → dynamo/dynamo-scan-service.js} +11 -11
- package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -0
- package/dist/cores/{dynamo-service.d.ts → dynamo/dynamo-service.d.ts} +1 -1
- package/dist/cores/{dynamo-service.js → dynamo/dynamo-service.js} +21 -21
- package/dist/cores/dynamo/dynamo-service.js.map +1 -0
- package/dist/cores/dynamo/index.d.ts +12 -0
- package/dist/cores/dynamo/index.js +29 -0
- package/dist/cores/dynamo/index.js.map +1 -0
- package/dist/cores/{elastic6-query-service.d.ts → elastic/elastic6-query-service.d.ts} +1 -1
- package/dist/cores/{elastic6-query-service.js → elastic/elastic6-query-service.js} +8 -8
- package/dist/cores/elastic/elastic6-query-service.js.map +1 -0
- package/dist/cores/{elastic6-service.d.ts → elastic/elastic6-service.d.ts} +1 -1
- package/dist/cores/{elastic6-service.js → elastic/elastic6-service.js} +60 -68
- package/dist/cores/elastic/elastic6-service.js.map +1 -0
- package/dist/cores/{hangul-service.d.ts → elastic/hangul-service.d.ts} +17 -3
- package/dist/cores/{hangul-service.js → elastic/hangul-service.js} +17 -8
- package/dist/cores/elastic/hangul-service.js.map +1 -0
- package/dist/cores/elastic/index.d.ts +12 -0
- package/dist/cores/elastic/index.js +29 -0
- package/dist/cores/elastic/index.js.map +1 -0
- package/dist/cores/index.d.ts +10 -16
- package/dist/cores/index.js +15 -16
- package/dist/cores/index.js.map +1 -1
- package/dist/cores/lambda/index.js +8 -4
- package/dist/cores/lambda/index.js.map +1 -1
- package/dist/cores/lambda/lambda-cognito-handler.js +2 -2
- package/dist/cores/lambda/lambda-cognito-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-cron-handler.js +2 -2
- package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +3 -3
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js +20 -20
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-handler.d.ts +2 -1
- package/dist/cores/lambda/lambda-handler.js +12 -11
- package/dist/cores/lambda/lambda-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-notification-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-notification-handler.js +10 -10
- package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-sns-handler.js +13 -13
- package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.js +13 -13
- package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-web-handler.d.ts +158 -8
- package/dist/cores/lambda/lambda-web-handler.js +330 -119
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-wss-handler.js +16 -12
- package/dist/cores/lambda/lambda-wss-handler.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +5 -1
- package/dist/cores/protocol/protocol-service.js +46 -40
- package/dist/cores/protocol/protocol-service.js.map +1 -1
- package/dist/cores/{http-storage-service.d.ts → storage/http-storage-service.d.ts} +1 -1
- package/dist/cores/{http-storage-service.js → storage/http-storage-service.js} +6 -6
- package/dist/cores/storage/http-storage-service.js.map +1 -0
- package/dist/cores/storage/index.d.ts +14 -0
- package/dist/cores/storage/index.js +31 -0
- package/dist/cores/storage/index.js.map +1 -0
- package/dist/cores/{model-manager.d.ts → storage/model-manager.d.ts} +2 -1
- package/dist/cores/{model-manager.js → storage/model-manager.js} +12 -12
- package/dist/cores/storage/model-manager.js.map +1 -0
- package/dist/cores/{proxy-storage-service.d.ts → storage/proxy-storage-service.d.ts} +3 -72
- package/dist/cores/{proxy-storage-service.js → storage/proxy-storage-service.js} +13 -19
- package/dist/cores/storage/proxy-storage-service.js.map +1 -0
- package/dist/cores/{redis-storage-service.d.ts → storage/redis-storage-service.d.ts} +0 -0
- package/dist/cores/{redis-storage-service.js → storage/redis-storage-service.js} +14 -14
- package/dist/cores/storage/redis-storage-service.js.map +1 -0
- package/dist/cores/{storage-service.d.ts → storage/storage-service.d.ts} +6 -19
- package/dist/cores/{storage-service.js → storage/storage-service.js} +9 -19
- package/dist/cores/storage/storage-service.js.map +1 -0
- package/dist/engine/builder.js +27 -20
- package/dist/engine/builder.js.map +1 -1
- package/dist/engine/engine.d.ts +1 -1
- package/dist/engine/engine.js +53 -44
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/index.js +8 -4
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/utilities.d.ts +4 -3
- package/dist/engine/utilities.js +32 -37
- package/dist/engine/utilities.js.map +1 -1
- package/dist/environ.d.ts +2 -2
- package/dist/environ.js +20 -10
- package/dist/environ.js.map +1 -1
- package/dist/exec-cli.js +26 -26
- package/dist/exec-cli.js.map +1 -1
- package/dist/extended/abstract-service.d.ts +540 -0
- package/dist/extended/abstract-service.js +924 -0
- package/dist/extended/abstract-service.js.map +1 -0
- package/dist/extended/index.d.ts +10 -0
- package/dist/extended/index.js +27 -0
- package/dist/extended/index.js.map +1 -0
- package/dist/helpers/helpers.d.ts +8 -1
- package/dist/helpers/helpers.js +25 -12
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/helpers/index.js +6 -2
- package/dist/helpers/index.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/dynamo/expressions.js +35 -27
- package/dist/lib/dynamo/expressions.js.map +1 -1
- package/dist/lib/dynamo/query.js +24 -20
- package/dist/lib/dynamo/query.js.map +1 -1
- package/dist/lib/dynamo/scan.js +17 -13
- package/dist/lib/dynamo/scan.js.map +1 -1
- package/dist/lib/dynamo/serializer.js +11 -7
- package/dist/lib/dynamo/serializer.js.map +1 -1
- package/dist/lib/dynamo/utils.js +19 -14
- package/dist/lib/dynamo/utils.js.map +1 -1
- package/dist/lib/dynamodb-value.js +3 -3
- package/dist/lib/dynamodb-value.js.map +1 -1
- package/dist/lib/index.js +6 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/tools/express.js +21 -15
- package/dist/tools/express.js.map +1 -1
- package/dist/tools/index.js +6 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/shared.js +12 -6
- package/dist/tools/shared.js.map +1 -1
- package/package.json +18 -15
- package/dist/cores/api-service.js.map +0 -1
- package/dist/cores/cache-service.js.map +0 -1
- package/dist/cores/core-types.d.ts +0 -368
- package/dist/cores/core-types.js +0 -15
- package/dist/cores/core-types.js.map +0 -1
- package/dist/cores/dynamo-query-service.js.map +0 -1
- package/dist/cores/dynamo-scan-service.js.map +0 -1
- package/dist/cores/dynamo-service.js.map +0 -1
- package/dist/cores/elastic6-query-service.js.map +0 -1
- package/dist/cores/elastic6-service.js.map +0 -1
- package/dist/cores/hangul-service.js.map +0 -1
- package/dist/cores/http-storage-service.js.map +0 -1
- package/dist/cores/model-manager.js.map +0 -1
- package/dist/cores/proxy-storage-service.js.map +0 -1
- package/dist/cores/redis-storage-service.js.map +0 -1
- package/dist/cores/storage-service.js.map +0 -1
- package/dist/tools/helpers.d.ts +0 -243
- package/dist/tools/helpers.js +0 -593
- package/dist/tools/helpers.js.map +0 -1
package/dist/exec-cli.js
CHANGED
|
@@ -31,13 +31,13 @@ const engine_1 = require("./engine");
|
|
|
31
31
|
const tools_1 = require("./tools/");
|
|
32
32
|
//! - initial values.
|
|
33
33
|
const NS = engine_1.$U.NS('EXEC', 'cyan');
|
|
34
|
-
const $pack = tools_1.loadJsonSync('package.json');
|
|
34
|
+
const $pack = (0, tools_1.loadJsonSync)('package.json');
|
|
35
35
|
const NAME = $pack.name || 'LEMON API';
|
|
36
36
|
const VERS = $pack.version || '0.0.0';
|
|
37
37
|
const PORT = engine_1.$U.N($pack.port, 0); // default server port.
|
|
38
38
|
if (!PORT)
|
|
39
39
|
throw new Error('.port is required at package.json!');
|
|
40
|
-
engine_1._log(NS, `###### exec[${NAME}@${engine_1.$U.NS(VERS, 'cyan')}${PORT}] ######`);
|
|
40
|
+
(0, engine_1._log)(NS, `###### exec[${NAME}@${engine_1.$U.NS(VERS, 'cyan')}${PORT}] ######`);
|
|
41
41
|
/** ********************************************************************************************************************
|
|
42
42
|
* main application
|
|
43
43
|
** *******************************************************************************************************************/
|
|
@@ -54,10 +54,10 @@ const do_http = (options) => {
|
|
|
54
54
|
}
|
|
55
55
|
// options.headers.Cookie = (options.headers.Cookie||'') + (options.headers.Cookie ? '; ':'') + cookies;
|
|
56
56
|
return new Promise((resolve, reject) => {
|
|
57
|
-
engine_1._inf(NS, options.method, options.uri);
|
|
58
|
-
request_1.default(options, (error, res, body) => {
|
|
57
|
+
(0, engine_1._inf)(NS, options.method, options.uri);
|
|
58
|
+
(0, request_1.default)(options, (error, res, body) => {
|
|
59
59
|
if (error) {
|
|
60
|
-
engine_1._err(NS, '!ERR=', error);
|
|
60
|
+
(0, engine_1._err)(NS, '!ERR=', error);
|
|
61
61
|
return reject(error);
|
|
62
62
|
}
|
|
63
63
|
const ctype = res.headers['content-type'] || '';
|
|
@@ -71,7 +71,7 @@ const do_http = (options) => {
|
|
|
71
71
|
resolve(body);
|
|
72
72
|
}
|
|
73
73
|
catch (e) {
|
|
74
|
-
engine_1._err(NS, '! invalid json body =', body);
|
|
74
|
+
(0, engine_1._err)(NS, '! invalid json body =', body);
|
|
75
75
|
reject(e);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -97,7 +97,7 @@ const prepare_json = function (method, path, qs, body) {
|
|
|
97
97
|
// if (body) options.body = typeof body == 'object' ? JSON.stringify(body) : body;
|
|
98
98
|
if (body)
|
|
99
99
|
options.method = 'POST';
|
|
100
|
-
body && engine_1._inf(NS, '> json.body =', JSON.stringify(body));
|
|
100
|
+
body && (0, engine_1._inf)(NS, '> json.body =', JSON.stringify(body));
|
|
101
101
|
return options;
|
|
102
102
|
};
|
|
103
103
|
//! wait some
|
|
@@ -121,17 +121,17 @@ const wait_sometime = (that, time) => {
|
|
|
121
121
|
*/
|
|
122
122
|
//! batch-run
|
|
123
123
|
const ENDPOINT = `http://localhost:${PORT}`;
|
|
124
|
-
const METHOD = tools_1.getRunParam('m', 'GET');
|
|
125
|
-
const EP = tools_1.getRunParam('ep', '');
|
|
126
|
-
const ID = tools_1.getRunParam('id', '0');
|
|
127
|
-
const IPP = tools_1.getRunParam('ipp', 0);
|
|
128
|
-
const WAIT = tools_1.getRunParam('wait', 1000);
|
|
129
|
-
const SID = tools_1.getRunParam('sid', '');
|
|
130
|
-
const CMD = tools_1.getRunParam('cmd', '');
|
|
131
|
-
const OPT = tools_1.getRunParam('opt', '');
|
|
124
|
+
const METHOD = (0, tools_1.getRunParam)('m', 'GET');
|
|
125
|
+
const EP = (0, tools_1.getRunParam)('ep', '');
|
|
126
|
+
const ID = (0, tools_1.getRunParam)('id', '0');
|
|
127
|
+
const IPP = (0, tools_1.getRunParam)('ipp', 0);
|
|
128
|
+
const WAIT = (0, tools_1.getRunParam)('wait', 1000);
|
|
129
|
+
const SID = (0, tools_1.getRunParam)('sid', '');
|
|
130
|
+
const CMD = (0, tools_1.getRunParam)('cmd', '');
|
|
131
|
+
const OPT = (0, tools_1.getRunParam)('opt', '');
|
|
132
132
|
const [PAGE, MAX] = (() => {
|
|
133
|
-
let page = tools_1.getRunParam('page', '');
|
|
134
|
-
let max = tools_1.getRunParam('max', 1);
|
|
133
|
+
let page = (0, tools_1.getRunParam)('page', '');
|
|
134
|
+
let max = (0, tools_1.getRunParam)('max', 1);
|
|
135
135
|
if (`${page}`.indexOf('~') > 0) {
|
|
136
136
|
const pages = `${page}`.split('~').map((_) => _.trim());
|
|
137
137
|
page = parseInt(pages[0]) || 0;
|
|
@@ -142,13 +142,13 @@ const [PAGE, MAX] = (() => {
|
|
|
142
142
|
}
|
|
143
143
|
return [page, max];
|
|
144
144
|
})();
|
|
145
|
-
engine_1._log(NS, 'PAGE ~ MAX =', PAGE, '~', MAX);
|
|
145
|
+
(0, engine_1._log)(NS, 'PAGE ~ MAX =', PAGE, '~', MAX);
|
|
146
146
|
//! execute page by page.
|
|
147
147
|
const run_batch = (that) => {
|
|
148
148
|
//! invoke http(json).
|
|
149
149
|
const my_chain_run_page = (that) => {
|
|
150
150
|
const page = engine_1.$U.N(that.page, -1);
|
|
151
|
-
engine_1._inf(NS, '#page := ', page);
|
|
151
|
+
(0, engine_1._inf)(NS, '#page := ', page);
|
|
152
152
|
if (page < 0)
|
|
153
153
|
return Promise.reject(new Error('page is required!'));
|
|
154
154
|
const body = {}; //{map: that.map, default: that.default, layout: that.layout};
|
|
@@ -164,10 +164,10 @@ const run_batch = (that) => {
|
|
|
164
164
|
(OPT ? '&' : '') +
|
|
165
165
|
OPT, null, Object.keys(body).length ? body : null);
|
|
166
166
|
return do_http(req).then((_) => {
|
|
167
|
-
_.layout && engine_1._log(NS, '! that[' + page + '].layout =', _.layout);
|
|
168
|
-
_.range && engine_1._log(NS, '! that[' + page + '].range =', _.range);
|
|
169
|
-
_.list && engine_1._log(NS, '! that[' + page + '].list =', _.list); // if has list.
|
|
170
|
-
_.list || engine_1._inf(NS, '!WARN res =', _); // if not list.
|
|
167
|
+
_.layout && (0, engine_1._log)(NS, '! that[' + page + '].layout =', _.layout);
|
|
168
|
+
_.range && (0, engine_1._log)(NS, '! that[' + page + '].range =', _.range);
|
|
169
|
+
_.list && (0, engine_1._log)(NS, '! that[' + page + '].list =', _.list); // if has list.
|
|
170
|
+
_.list || (0, engine_1._inf)(NS, '!WARN res =', _); // if not list.
|
|
171
171
|
//! attach to that.
|
|
172
172
|
if (_.map)
|
|
173
173
|
that.map = _.map;
|
|
@@ -188,17 +188,17 @@ const run_batch = (that) => {
|
|
|
188
188
|
const list = that.list;
|
|
189
189
|
const cnt = list ? list.length : -1; // '0' means EOF, -1 means N/A.
|
|
190
190
|
const total = engine_1.$U.N(that.total, 0);
|
|
191
|
-
engine_1._inf(NS, '> cnt@page =', cnt + '@' + page, ':', total);
|
|
191
|
+
(0, engine_1._inf)(NS, '> cnt@page =', cnt + '@' + page, ':', total);
|
|
192
192
|
const page2 = METHOD != 'DELETE' && page ? page + 1 : page;
|
|
193
193
|
if (cnt === 0 || (MAX > 0 && page2 > MAX)) {
|
|
194
|
-
engine_1._log(NS, 'FINISHED! Page =', page);
|
|
194
|
+
(0, engine_1._log)(NS, 'FINISHED! Page =', page);
|
|
195
195
|
return list;
|
|
196
196
|
}
|
|
197
197
|
that.page = page2;
|
|
198
198
|
return run_batch(that);
|
|
199
199
|
})
|
|
200
200
|
.catch(e => {
|
|
201
|
-
engine_1._err(NS, '!ERR! FIN=', e);
|
|
201
|
+
(0, engine_1._err)(NS, '!ERR! FIN=', e);
|
|
202
202
|
throw e;
|
|
203
203
|
});
|
|
204
204
|
};
|
package/dist/exec-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-cli.js","sourceRoot":"","sources":["../src/exec-cli.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,sDAA8B;AAE9B;;wHAEwH;AACxH,yBAAyB;AACzB,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AAClC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAE/C,qCAAqC;AACrC,qCAAgD;AAChD,oCAAqD;AAErD,qBAAqB;AACrB,MAAM,EAAE,GAAG,WAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjC,MAAM,KAAK,GAAG,oBAAY,
|
|
1
|
+
{"version":3,"file":"exec-cli.js","sourceRoot":"","sources":["../src/exec-cli.ts"],"names":[],"mappings":"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"}
|