lemon-core 3.0.2 → 3.1.0

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 (115) hide show
  1. package/README.md +1 -0
  2. package/dist/common/test-helper.js +19 -11
  3. package/dist/common/test-helper.js.map +1 -1
  4. package/dist/controllers/general-api-controller.js +5 -5
  5. package/dist/controllers/general-api-controller.js.map +1 -1
  6. package/dist/controllers/general-controller.js +2 -1
  7. package/dist/controllers/general-controller.js.map +1 -1
  8. package/dist/controllers/index.js +6 -2
  9. package/dist/controllers/index.js.map +1 -1
  10. package/dist/cores/api-service.js +19 -18
  11. package/dist/cores/api-service.js.map +1 -1
  12. package/dist/cores/aws/aws-kms-service.js +10 -14
  13. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  14. package/dist/cores/aws/aws-s3-service.js +19 -18
  15. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  16. package/dist/cores/aws/aws-sns-service.js +10 -10
  17. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  18. package/dist/cores/aws/aws-sqs-service.js +12 -12
  19. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  20. package/dist/cores/aws/index.js +1 -1
  21. package/dist/cores/cache-service.js +33 -33
  22. package/dist/cores/cache-service.js.map +1 -1
  23. package/dist/cores/config/config-service.js +11 -10
  24. package/dist/cores/config/config-service.js.map +1 -1
  25. package/dist/cores/core-services.js +6 -2
  26. package/dist/cores/core-services.js.map +1 -1
  27. package/dist/cores/dynamo-query-service.js +7 -7
  28. package/dist/cores/dynamo-query-service.js.map +1 -1
  29. package/dist/cores/dynamo-scan-service.js +8 -8
  30. package/dist/cores/dynamo-scan-service.js.map +1 -1
  31. package/dist/cores/dynamo-service.js +19 -19
  32. package/dist/cores/dynamo-service.js.map +1 -1
  33. package/dist/cores/elastic6-query-service.js +7 -7
  34. package/dist/cores/elastic6-query-service.js.map +1 -1
  35. package/dist/cores/elastic6-service.js +57 -65
  36. package/dist/cores/elastic6-service.js.map +1 -1
  37. package/dist/cores/http-storage-service.js +1 -1
  38. package/dist/cores/http-storage-service.js.map +1 -1
  39. package/dist/cores/index.d.ts +4 -4
  40. package/dist/cores/index.js +6 -2
  41. package/dist/cores/index.js.map +1 -1
  42. package/dist/cores/lambda/index.js +8 -4
  43. package/dist/cores/lambda/index.js.map +1 -1
  44. package/dist/cores/lambda/lambda-cognito-handler.js +2 -2
  45. package/dist/cores/lambda/lambda-cognito-handler.js.map +1 -1
  46. package/dist/cores/lambda/lambda-cron-handler.js +2 -2
  47. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  48. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +20 -20
  49. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  50. package/dist/cores/lambda/lambda-handler.js +12 -11
  51. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  52. package/dist/cores/lambda/lambda-notification-handler.js +10 -10
  53. package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
  54. package/dist/cores/lambda/lambda-sns-handler.js +13 -13
  55. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  56. package/dist/cores/lambda/lambda-sqs-handler.js +13 -13
  57. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  58. package/dist/cores/lambda/lambda-web-handler.js +57 -52
  59. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  60. package/dist/cores/lambda/lambda-wss-handler.js +16 -12
  61. package/dist/cores/lambda/lambda-wss-handler.js.map +1 -1
  62. package/dist/cores/model-manager.js +11 -11
  63. package/dist/cores/model-manager.js.map +1 -1
  64. package/dist/cores/protocol/protocol-service.js +34 -33
  65. package/dist/cores/protocol/protocol-service.js.map +1 -1
  66. package/dist/cores/proxy-storage-service.js +7 -10
  67. package/dist/cores/proxy-storage-service.js.map +1 -1
  68. package/dist/cores/redis-storage-service.js +13 -13
  69. package/dist/cores/redis-storage-service.js.map +1 -1
  70. package/dist/cores/storage-service.js +8 -6
  71. package/dist/cores/storage-service.js.map +1 -1
  72. package/dist/engine/builder.js +27 -20
  73. package/dist/engine/builder.js.map +1 -1
  74. package/dist/engine/engine.js +53 -44
  75. package/dist/engine/engine.js.map +1 -1
  76. package/dist/engine/index.js +8 -4
  77. package/dist/engine/index.js.map +1 -1
  78. package/dist/engine/utilities.js +26 -31
  79. package/dist/engine/utilities.js.map +1 -1
  80. package/dist/environ.js +13 -6
  81. package/dist/environ.js.map +1 -1
  82. package/dist/exec-cli.js +26 -26
  83. package/dist/exec-cli.js.map +1 -1
  84. package/dist/helpers/helpers.d.ts +1 -1
  85. package/dist/helpers/helpers.js +18 -12
  86. package/dist/helpers/helpers.js.map +1 -1
  87. package/dist/helpers/index.js +6 -2
  88. package/dist/helpers/index.js.map +1 -1
  89. package/dist/index.d.ts +5 -5
  90. package/dist/index.js +7 -3
  91. package/dist/index.js.map +1 -1
  92. package/dist/lib/dynamo/expressions.js +35 -27
  93. package/dist/lib/dynamo/expressions.js.map +1 -1
  94. package/dist/lib/dynamo/query.js +24 -20
  95. package/dist/lib/dynamo/query.js.map +1 -1
  96. package/dist/lib/dynamo/scan.js +17 -13
  97. package/dist/lib/dynamo/scan.js.map +1 -1
  98. package/dist/lib/dynamo/serializer.js +11 -7
  99. package/dist/lib/dynamo/serializer.js.map +1 -1
  100. package/dist/lib/dynamo/utils.js +19 -14
  101. package/dist/lib/dynamo/utils.js.map +1 -1
  102. package/dist/lib/dynamodb-value.js +3 -3
  103. package/dist/lib/dynamodb-value.js.map +1 -1
  104. package/dist/lib/index.js +6 -2
  105. package/dist/lib/index.js.map +1 -1
  106. package/dist/tools/express.js +21 -15
  107. package/dist/tools/express.js.map +1 -1
  108. package/dist/tools/index.js +6 -2
  109. package/dist/tools/index.js.map +1 -1
  110. package/dist/tools/shared.js +12 -6
  111. package/dist/tools/shared.js.map +1 -1
  112. package/package.json +12 -12
  113. package/dist/tools/helpers.d.ts +0 -243
  114. package/dist/tools/helpers.js +0 -593
  115. package/dist/tools/helpers.js.map +0 -1
@@ -46,7 +46,7 @@ const $sns = (arn) => new aws_sns_service_1.AWSSNSService(arn);
46
46
  * @param context the current running context
47
47
  * @param NS namespace to log
48
48
  */
49
- exports.getHelloArn = (context, NS) => {
49
+ const getHelloArn = (context, NS) => {
50
50
  NS = NS || index_1.$U.NS('HELO');
51
51
  //! use pre-defined env via `serverless.yml`
52
52
  const arn = index_1.$engine.environ('REPORT_ERROR_ARN', '');
@@ -63,14 +63,15 @@ exports.getHelloArn = (context, NS) => {
63
63
  const invokedFunctionArn = `${$ctx.invokedFunctionArn || ''}`; // if called via lambda call ex: 'arn:aws:lambda:ap-northeast-2:085403634746:function:lemon-messages-api-prod-user'
64
64
  const accountId = `${$ncx.accountId || invokedFunctionArn.split(':')[4] || $req.accountId || ''}`;
65
65
  const region = invokedFunctionArn.split(':')[3] || `ap-northeast-2`;
66
- index_1._inf(NS, '! accountId =', accountId);
66
+ (0, index_1._inf)(NS, '! accountId =', accountId);
67
67
  if (!accountId) {
68
- index_1._err(NS, 'ERROR! missing accountId. context =', index_1.$U.json(context));
68
+ (0, index_1._err)(NS, 'ERROR! missing accountId. context =', index_1.$U.json(context));
69
69
  throw new Error('.accountId is missing');
70
70
  }
71
71
  return `arn:aws:sns:${region}:${accountId}:${target}`;
72
72
  }
73
73
  };
74
+ exports.getHelloArn = getHelloArn;
74
75
  /**
75
76
  * report error via `lemon-hello-sns`.
76
77
  *
@@ -79,7 +80,7 @@ exports.getHelloArn = (context, NS) => {
79
80
  * @param event Origin Event Object.
80
81
  * @param data Optinal Data(body).
81
82
  */
82
- exports.doReportError = (e, context, event, data) => __awaiter(void 0, void 0, void 0, function* () {
83
+ const doReportError = (e, context, event, data) => __awaiter(void 0, void 0, void 0, function* () {
83
84
  //! ignore only if local express-run.
84
85
  if (context && context.source === 'express')
85
86
  return '!ignore';
@@ -89,11 +90,11 @@ exports.doReportError = (e, context, event, data) => __awaiter(void 0, void 0, v
89
90
  const m = (e && (e.message || e.statusMessage)) || e;
90
91
  return typeof m == 'object' ? index_1.$U.json(m) : `${m}`;
91
92
  };
92
- index_1._log(NS, `doReportError(${$message(e)})...`);
93
+ (0, index_1._log)(NS, `doReportError(${$message(e)})...`);
93
94
  //! dispatch invoke conditins.
94
95
  try {
95
96
  const message = $message(e);
96
- const $pack = (shared_1.loadJsonSync && shared_1.loadJsonSync('package.json')) || {};
97
+ const $pack = (shared_1.loadJsonSync && (0, shared_1.loadJsonSync)('package.json')) || {};
97
98
  const name = (context && context.name) || process.env.NAME || '';
98
99
  const stage = (context && context.stage) || process.env.STAGE || '';
99
100
  const apiId = (context && context.apiId) || '';
@@ -109,24 +110,25 @@ exports.doReportError = (e, context, event, data) => __awaiter(void 0, void 0, v
109
110
  data,
110
111
  };
111
112
  //! find target arn.
112
- const arn = exports.getHelloArn(context, NS);
113
- index_1._log(NS, `> report-error.arn =`, arn);
113
+ const arn = (0, exports.getHelloArn)(context, NS);
114
+ (0, index_1._log)(NS, `> report-error.arn =`, arn);
114
115
  return $sns(arn)
115
116
  .reportError(e, payload, arn)
116
117
  .then((mid) => {
117
- index_1._inf(NS, '> err.message-id =', mid);
118
+ (0, index_1._inf)(NS, '> err.message-id =', mid);
118
119
  return `${mid}`;
119
120
  })
120
121
  .catch((e) => {
121
- index_1._err(NS, '! err.report =', e);
122
+ (0, index_1._err)(NS, '! err.report =', e);
122
123
  return '';
123
124
  });
124
125
  }
125
126
  catch (e2) {
126
- index_1._err(NS, '! err-ignored =', e2);
127
+ (0, index_1._err)(NS, '! err-ignored =', e2);
127
128
  return `!err - ${e2.message || e2}`;
128
129
  }
129
130
  });
131
+ exports.doReportError = doReportError;
130
132
  /**
131
133
  * send callback data via web-hook endpoint.
132
134
  *
@@ -134,31 +136,32 @@ exports.doReportError = (e, context, event, data) => __awaiter(void 0, void 0, v
134
136
  *
135
137
  * @param data payload
136
138
  */
137
- exports.doReportCallback = (data, service, context) => __awaiter(void 0, void 0, void 0, function* () {
139
+ const doReportCallback = (data, service, context) => __awaiter(void 0, void 0, void 0, function* () {
138
140
  const NS = index_1.$U.NS('callback', 'cyan');
139
141
  try {
140
- const $pack = (shared_1.loadJsonSync && shared_1.loadJsonSync('package.json')) || {};
142
+ const $pack = (shared_1.loadJsonSync && (0, shared_1.loadJsonSync)('package.json')) || {};
141
143
  const stage = `${index_1.$U.env('STAGE', 'local')}`.toLowerCase();
142
144
  const name = `${index_1.$U.env('NAME', '')}`.toLowerCase();
143
145
  service = service || `api://${$pack.name || 'lemon-core'}#${$pack.version || '0.0.0'}/${name}-${stage}`;
144
146
  const payload = { service, data };
145
- const arn = exports.getHelloArn(context, NS);
147
+ const arn = (0, exports.getHelloArn)(context, NS);
146
148
  return $sns(arn)
147
149
  .publish('', 'callback', payload) // subject should be 'callback'
148
150
  .then((mid) => {
149
- index_1._inf(NS, '> callback.res =', mid);
151
+ (0, index_1._inf)(NS, '> callback.res =', mid);
150
152
  return `${mid}`;
151
153
  })
152
154
  .catch((e) => {
153
- index_1._err(NS, '! callback.err =', e);
155
+ (0, index_1._err)(NS, '! callback.err =', e);
154
156
  return '';
155
157
  });
156
158
  }
157
159
  catch (e) {
158
- index_1._err(NS, '> reportCallback.err =', e);
159
- return exports.doReportError(e, context, null, data);
160
+ (0, index_1._err)(NS, '> reportCallback.err =', e);
161
+ return (0, exports.doReportError)(e, context, null, data);
160
162
  }
161
163
  });
164
+ exports.doReportCallback = doReportCallback;
162
165
  /**
163
166
  * report slack message via `lemon-hello-sns`.
164
167
  *
@@ -166,12 +169,12 @@ exports.doReportCallback = (data, service, context) => __awaiter(void 0, void 0,
166
169
  * @param body slack body
167
170
  * @param context current running context.
168
171
  */
169
- exports.doReportSlack = (channel, body, context) => __awaiter(void 0, void 0, void 0, function* () {
172
+ const doReportSlack = (channel, body, context) => __awaiter(void 0, void 0, void 0, function* () {
170
173
  const NS = index_1.$U.NS('RPTS');
171
- index_1._log(NS, `doReportSlack()...`);
174
+ (0, index_1._log)(NS, `doReportSlack()...`);
172
175
  //! dispatch invoke conditins.
173
176
  try {
174
- const $pack = (shared_1.loadJsonSync && shared_1.loadJsonSync('package.json')) || {};
177
+ const $pack = (shared_1.loadJsonSync && (0, shared_1.loadJsonSync)('package.json')) || {};
175
178
  const service = `api://${$pack.name || 'lemon-core'}#${$pack.version || '0.0.0'}`;
176
179
  const stage = (context && context.stage) || '';
177
180
  const apiId = (context && context.apiId) || '';
@@ -188,24 +191,25 @@ exports.doReportSlack = (channel, body, context) => __awaiter(void 0, void 0, vo
188
191
  context: { stage, apiId, resourcePath, identity, domainPrefix },
189
192
  };
190
193
  //! find target arn.
191
- const arn = exports.getHelloArn(context, NS);
192
- index_1._log(NS, `> report-slack.arn =`, arn);
194
+ const arn = (0, exports.getHelloArn)(context, NS);
195
+ (0, index_1._log)(NS, `> report-slack.arn =`, arn);
193
196
  return $sns(arn)
194
197
  .publish(arn, 'slack', payload)
195
198
  .then((mid) => {
196
- index_1._inf(NS, '> sns.message-id =', mid);
199
+ (0, index_1._inf)(NS, '> sns.message-id =', mid);
197
200
  return `${mid}`;
198
201
  })
199
202
  .catch((e) => {
200
- index_1._err(NS, '! err.slack =', e);
203
+ (0, index_1._err)(NS, '! err.slack =', e);
201
204
  return '';
202
205
  });
203
206
  }
204
207
  catch (e2) {
205
- index_1._err(NS, '! err-ignored =', e2);
208
+ (0, index_1._err)(NS, '! err-ignored =', e2);
206
209
  return `!err - ${e2.message || e2}`;
207
210
  }
208
211
  });
212
+ exports.doReportSlack = doReportSlack;
209
213
  /**
210
214
  * report metric-data like chart/graph to record via `lemon-metrics-sns`.
211
215
  *
@@ -214,7 +218,7 @@ exports.doReportSlack = (channel, body, context) => __awaiter(void 0, void 0, vo
214
218
  * @param body any body data
215
219
  * @param context current running context.
216
220
  */
217
- exports.doReportMetric = (ns, id, body, context) => __awaiter(void 0, void 0, void 0, function* () {
221
+ const doReportMetric = (ns, id, body, context) => __awaiter(void 0, void 0, void 0, function* () {
218
222
  const NS = index_1.$U.NS('RPTM');
219
223
  //! validate parameters. (see `lemon-metrics-api`)
220
224
  const reNs = /^[a-zA-Z][a-zA-Z0-9]+$/;
@@ -223,10 +227,10 @@ exports.doReportMetric = (ns, id, body, context) => __awaiter(void 0, void 0, vo
223
227
  throw new Error('Invalid text-format @ns:' + ns);
224
228
  if (!reId.test(id))
225
229
  throw new Error('Invalid text-format @id:' + id);
226
- index_1._log(NS, `doReportMetric(${ns},${id})...`);
230
+ (0, index_1._log)(NS, `doReportMetric(${ns},${id})...`);
227
231
  //! dispatch invoke conditins.
228
232
  try {
229
- const $pack = (shared_1.loadJsonSync && shared_1.loadJsonSync('package.json')) || {};
233
+ const $pack = (shared_1.loadJsonSync && (0, shared_1.loadJsonSync)('package.json')) || {};
230
234
  const service = `api://${$pack.name || 'lemon-core'}#${$pack.version || '0.0.0'}`;
231
235
  const stage = (context && context.stage) || '';
232
236
  const apiId = (context && context.apiId) || '';
@@ -247,26 +251,27 @@ exports.doReportMetric = (ns, id, body, context) => __awaiter(void 0, void 0, vo
247
251
  };
248
252
  //! find metric-arn via error-arn.
249
253
  const target = 'lemon-metrics-sns';
250
- const arn0 = exports.getHelloArn(context, NS);
254
+ const arn0 = (0, exports.getHelloArn)(context, NS);
251
255
  // eslint-disable-next-line prettier/prettier
252
256
  const arn = arn0.startsWith('arn:aws:sns:') && arn0.split(':').length == 6 ? arn0.split(':').map((v, i) => i == 5 ? target : v).join(':') : arn0;
253
- index_1._log(NS, `> report-metric.arn =`, arn);
257
+ (0, index_1._log)(NS, `> report-metric.arn =`, arn);
254
258
  return $sns(arn)
255
259
  .publish(arn || target, 'metric', payload)
256
260
  .then((mid) => {
257
- index_1._inf(NS, '> sns.message-id =', mid);
261
+ (0, index_1._inf)(NS, '> sns.message-id =', mid);
258
262
  return `${mid}`;
259
263
  })
260
264
  .catch((e) => {
261
- index_1._err(NS, '! err.metric =', e);
265
+ (0, index_1._err)(NS, '! err.metric =', e);
262
266
  return '';
263
267
  });
264
268
  }
265
269
  catch (e2) {
266
- index_1._err(NS, '! err-ignored =', e2);
270
+ (0, index_1._err)(NS, '! err-ignored =', e2);
267
271
  return `!err - ${e2.message || e2}`;
268
272
  }
269
273
  });
274
+ exports.doReportMetric = doReportMetric;
270
275
  /**
271
276
  * parrallel actions in list (in batch-size = 10)
272
277
  *
@@ -278,7 +283,7 @@ exports.doReportMetric = (ns, id, body, context) => __awaiter(void 0, void 0, vo
278
283
  * @param pos (optional) current pos
279
284
  * @param result (optional) result set.
280
285
  */
281
- exports.do_parrallel = (param, callback, size = 10, pos = 0, result = []) => {
286
+ const do_parrallel = (param, callback, size = 10, pos = 0, result = []) => {
282
287
  size = size === undefined ? 10 : size;
283
288
  pos = pos === undefined ? 0 : pos;
284
289
  result = result === undefined ? [] : result;
@@ -302,7 +307,7 @@ exports.do_parrallel = (param, callback, size = 10, pos = 0, result = []) => {
302
307
  if (R && typeof R == 'object' && R instanceof Promise) {
303
308
  const R2 = R; // avoid compile error.
304
309
  return R2.catch(e => {
305
- index_1._err(`!ERR@1 node[${index}] =`, e);
310
+ (0, index_1._err)(`!ERR@1 node[${index}] =`, e);
306
311
  //! make sure error instance.
307
312
  return e instanceof Error ? e : new Error(typeof e == 'string' ? e : JSON.stringify(e));
308
313
  });
@@ -310,7 +315,7 @@ exports.do_parrallel = (param, callback, size = 10, pos = 0, result = []) => {
310
315
  return R;
311
316
  }
312
317
  catch (e) {
313
- index_1._err(`!ERR@2 node[${index}] =`, e);
318
+ (0, index_1._err)(`!ERR@2 node[${index}] =`, e);
314
319
  //! make sure error instance.
315
320
  return e instanceof Error ? e : new Error(typeof e == 'string' ? e : JSON.stringify(e));
316
321
  }
@@ -330,7 +335,7 @@ exports.do_parrallel = (param, callback, size = 10, pos = 0, result = []) => {
330
335
  return '';
331
336
  return { error: _.message, node: list2[i] };
332
337
  });
333
- return (reportError ? exports.doReportError(errors[0], context, event, data) : Promise.resolve('')).then(() => {
338
+ return (reportError ? (0, exports.doReportError)(errors[0], context, event, data) : Promise.resolve('')).then(() => {
334
339
  if (ignoreError) {
335
340
  res = res.map((_, i) => (_ instanceof Error ? list2[i] : _));
336
341
  }
@@ -341,33 +346,37 @@ exports.do_parrallel = (param, callback, size = 10, pos = 0, result = []) => {
341
346
  result = result.concat(_);
342
347
  if (!_.length)
343
348
  return Promise.resolve(result);
344
- return exports.do_parrallel(param, callback, size, pos + size, result);
349
+ return (0, exports.do_parrallel)(param, callback, size, pos + size, result);
345
350
  });
346
351
  };
352
+ exports.do_parrallel = do_parrallel;
347
353
  //! default time-zone for this api. (Asia/Seoul - 9 hours)
348
354
  exports.DEFAULT_TIME_ZONE = 9;
349
355
  //! convert to date of input.
350
- exports.convDate = (dt) => index_1.$U.dt(dt, exports.DEFAULT_TIME_ZONE);
356
+ const convDate = (dt) => index_1.$U.dt(dt, exports.DEFAULT_TIME_ZONE);
357
+ exports.convDate = convDate;
351
358
  /**
352
359
  * Convert input to time value (in number)
353
360
  *
354
361
  * @param {*} dt see `conv_date()`
355
362
  * @param {*} name name of property
356
363
  */
357
- exports.convDateToTime = (dt) => {
364
+ const convDateToTime = (dt) => {
358
365
  if (dt === '' || dt === '0' || dt === 0)
359
366
  return 0; // 0 means null (not-set)
360
- const t = exports.convDate(dt);
367
+ const t = (0, exports.convDate)(dt);
361
368
  return t.getTime();
362
369
  };
370
+ exports.convDateToTime = convDateToTime;
363
371
  /**
364
372
  * Convert input (Date) to time-stamp (YYYY-MM-DD hh:mm:ss)
365
373
  * - consider with current time-zone.
366
374
  *
367
375
  * @param {*} dt
368
376
  */
369
- exports.convDateToTS = (dt) => {
370
- const t = exports.convDate(dt);
377
+ const convDateToTS = (dt) => {
378
+ const t = (0, exports.convDate)(dt);
371
379
  return index_1.$U.ts(t, exports.DEFAULT_TIME_ZONE);
372
380
  };
381
+ exports.convDateToTS = convDateToTS;
373
382
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,20 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports._err = exports._inf = exports._log = exports.$U = exports.$engine = void 0;
17
+ exports.buildEngine = exports._err = exports._inf = exports._log = exports.$U = exports.$engine = void 0;
14
18
  /**
15
19
  * `engine/index.tx`
16
20
  * - engine bootloader
@@ -32,7 +36,7 @@ exports._err = exports._inf = exports._log = exports.$U = exports.$engine = void
32
36
  */
33
37
  //! create engine in global scope (WARN! should run top level)
34
38
  const builder_1 = require("./builder");
35
- exports.$engine = builder_1.buildEngine(global, { env: process.env });
39
+ exports.$engine = (0, builder_1.buildEngine)(global, { env: process.env });
36
40
  //! re-use core modules.
37
41
  exports.$U = exports.$engine.U;
38
42
  if (!exports.$U)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,8DAA8D;AAC9D,uCAAwC;AAE3B,QAAA,OAAO,GAAgB,qBAAW,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE9E,wBAAwB;AACX,QAAA,EAAE,GAAG,eAAO,CAAC,CAAC,CAAC;AAC5B,IAAI,CAAC,UAAE;IAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAEvD,gCAAgC;AACnB,QAAA,IAAI,GAAG,eAAO,CAAC,GAAG,CAAC;AACnB,QAAA,IAAI,GAAG,eAAO,CAAC,GAAG,CAAC;AACnB,QAAA,IAAI,GAAG,eAAO,CAAC,GAAG,CAAC;AAEhC,wBAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,qCAAwC;AAA/B,sGAAA,WAAW,OAAA;AAEpB,mBAAmB;AACnB,kBAAe,eAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,8DAA8D;AAC9D,uCAAwC;AAE3B,QAAA,OAAO,GAAgB,IAAA,qBAAW,EAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE9E,wBAAwB;AACX,QAAA,EAAE,GAAG,eAAO,CAAC,CAAC,CAAC;AAC5B,IAAI,CAAC,UAAE;IAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAEvD,gCAAgC;AACnB,QAAA,IAAI,GAAG,eAAO,CAAC,GAAG,CAAC;AACnB,QAAA,IAAI,GAAG,eAAO,CAAC,GAAG,CAAC;AACnB,QAAA,IAAI,GAAG,eAAO,CAAC,GAAG,CAAC;AAEhC,wBAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,qCAAwC;AAA/B,sGAAA,WAAW,OAAA;AAEpB,mBAAmB;AACnB,kBAAe,eAAO,CAAC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
14
18
  var __importStar = (this && this.__importStar) || function (mod) {
15
19
  if (mod && mod.__esModule) return mod;
16
20
  var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
22
  __setModuleDefault(result, mod);
19
23
  return result;
20
24
  };
@@ -106,7 +110,7 @@ class Utilities {
106
110
  const data = dec.substr(MAGIC.length);
107
111
  if (data && !data.startsWith('{') && !data.endsWith('}'))
108
112
  throw new Error('400 INVALID PASSWD - invalid json string!');
109
- var $msg = JSON.parse(data) || {};
113
+ const $msg = JSON.parse(data) || {};
110
114
  return $msg.val;
111
115
  };
112
116
  }
@@ -141,7 +145,7 @@ class Utilities {
141
145
  };
142
146
  this.decrypt = (msg) => {
143
147
  const buffer = Buffer.from(`${msg || ''}`, 'base64');
144
- var key = Buffer.concat([Buffer.from(passwd)], Buffer.alloc(32).length);
148
+ const key = Buffer.concat([Buffer.from(passwd)], Buffer.alloc(32).length);
145
149
  const decipher = crypto_1.default.createDecipheriv(algorithm, key, iv);
146
150
  const dec = Buffer.concat([decipher.update(buffer), decipher.final()]).toString('utf8');
147
151
  if (!dec.startsWith(MAGIC))
@@ -149,7 +153,7 @@ class Utilities {
149
153
  const data = dec.substr(MAGIC.length);
150
154
  if (data && !data.startsWith('{') && !data.endsWith('}'))
151
155
  throw new Error('400 INVALID PASSWD - invalid json string!');
152
- var $msg = JSON.parse(data) || {};
156
+ const $msg = JSON.parse(data) || {};
153
157
  return $msg.val;
154
158
  };
155
159
  }
@@ -221,7 +225,7 @@ class Utilities {
221
225
  if (typeof this._$.environ === 'function')
222
226
  return this._$.environ(name, def_val);
223
227
  // as default, load from proces.env.
224
- let val = (process && process.env[name]) || undefined;
228
+ const val = (process && process.env[name]) || undefined;
225
229
  return val === undefined ? def_val : val;
226
230
  }
227
231
  env(name, def_val) {
@@ -239,10 +243,10 @@ class Utilities {
239
243
  const fname = path_1.default.resolve(__dirname, `../${folder}/` + name + (name.endsWith('.yml') ? '' : '.yml'));
240
244
  this.log(NS, 'load file =', fname);
241
245
  //! prepare promised.
242
- let chain = new Promise(function (resolve, reject) {
246
+ const chain = new Promise(function (resolve, reject) {
243
247
  // Get document, or throw exception on error
244
248
  try {
245
- let doc = js_yaml_1.default.safeLoad(fs_1.default.readFileSync(fname, 'utf8'));
249
+ const doc = js_yaml_1.default.safeLoad(fs_1.default.readFileSync(fname, 'utf8'));
246
250
  resolve(doc);
247
251
  }
248
252
  catch (e) {
@@ -260,7 +264,7 @@ class Utilities {
260
264
  // Get document, or throw exception on error
261
265
  try {
262
266
  this.log(NS, 'load-sync-file =', fname);
263
- let doc = js_yaml_1.default.safeLoad(fs_1.default.readFileSync(fname, 'utf8'));
267
+ const doc = js_yaml_1.default.safeLoad(fs_1.default.readFileSync(fname, 'utf8'));
264
268
  return doc;
265
269
  }
266
270
  catch (e) {
@@ -269,7 +273,7 @@ class Utilities {
269
273
  return {};
270
274
  }
271
275
  extend(a, b) {
272
- for (var x in b)
276
+ for (const x in b)
273
277
  a[x] = b[x];
274
278
  return a;
275
279
  }
@@ -415,8 +419,8 @@ class Utilities {
415
419
  * @returns {number}
416
420
  */
417
421
  current_time_ms(shift) {
418
- var time_shift = this.N(shift, 0);
419
- var ret = new Date().getTime();
422
+ const time_shift = this.N(shift, 0);
423
+ let ret = new Date().getTime();
420
424
  ret += time_shift;
421
425
  return ret;
422
426
  }
@@ -448,11 +452,7 @@ class Utilities {
448
452
  if (typeof str == 'object') {
449
453
  str = JSON.stringify(str);
450
454
  }
451
- str = str
452
- .replace(/\\/g, '\\\\')
453
- .replace(/\$/g, '\\$')
454
- .replace(/'/g, "\\'")
455
- .replace(/"/g, '\\"');
455
+ str = str.replace(/\\/g, '\\\\').replace(/\$/g, '\\$').replace(/'/g, "\\'").replace(/"/g, '\\"');
456
456
  if (urldecode) {
457
457
  // url-decode
458
458
  str = decodeURI(str);
@@ -630,7 +630,7 @@ class Utilities {
630
630
  if (a !== a)
631
631
  return b !== b;
632
632
  // Exhaust primitive checks
633
- let type = typeof a;
633
+ const type = typeof a;
634
634
  if (type !== 'function' && type !== 'object' && typeof b != 'object')
635
635
  return false;
636
636
  return deepEq(a, b, aStack, bStack);
@@ -638,7 +638,7 @@ class Utilities {
638
638
  // Internal recursive comparison function for `isEqual`.
639
639
  function deepEq(a, b, aStack, bStack) {
640
640
  // Compare `[[Class]]` names.
641
- let className = toString.call(a);
641
+ const className = toString.call(a);
642
642
  if (className !== toString.call(b))
643
643
  return false;
644
644
  switch (className) {
@@ -663,13 +663,13 @@ class Utilities {
663
663
  // of `NaN` are not equivalent.
664
664
  return +a === +b;
665
665
  }
666
- let areArrays = className === '[object Array]';
666
+ const areArrays = className === '[object Array]';
667
667
  if (!areArrays) {
668
668
  if (typeof a != 'object' || typeof b != 'object')
669
669
  return false;
670
670
  // Objects with different constructors are not equivalent, but `Object`s or `Array`s
671
671
  // from different frames are.
672
- var aCtor = a.constructor, bCtor = b.constructor;
672
+ const aCtor = a.constructor, bCtor = b.constructor;
673
673
  if (aCtor !== bCtor &&
674
674
  !(isFunction(aCtor) && aCtor instanceof aCtor && isFunction(bCtor) && bCtor instanceof bCtor) &&
675
675
  'constructor' in a &&
@@ -683,7 +683,7 @@ class Utilities {
683
683
  // It's done here since we only need them for objects and arrays comparison.
684
684
  aStack = aStack || [];
685
685
  bStack = bStack || [];
686
- var length = aStack.length;
686
+ let length = aStack.length;
687
687
  while (length--) {
688
688
  // Linear search. Performance is inversely proportional to the number of
689
689
  // unique nested structures.
@@ -707,7 +707,8 @@ class Utilities {
707
707
  }
708
708
  else {
709
709
  // Deep compare objects.
710
- var _keys = keys(a), key;
710
+ const _keys = keys(a);
711
+ let key;
711
712
  length = _keys.length;
712
713
  // Ensure that both objects contain the same number of properties before comparing deep equality.
713
714
  if (keys(b).length !== length)
@@ -799,10 +800,7 @@ class Utilities {
799
800
  */
800
801
  md5(data, digest) {
801
802
  digest = digest === undefined ? 'hex' : digest;
802
- return crypto_1.default
803
- .createHash('md5')
804
- .update(data)
805
- .digest(digest);
803
+ return crypto_1.default.createHash('md5').update(data).digest(digest);
806
804
  }
807
805
  /**
808
806
  * get hmac hash
@@ -811,10 +809,7 @@ class Utilities {
811
809
  KEY = KEY || 'XENI';
812
810
  encoding = encoding || 'base64';
813
811
  algorithm = algorithm || 'sha256';
814
- return crypto_1.default
815
- .createHmac(algorithm, KEY)
816
- .update(data)
817
- .digest(encoding);
812
+ return crypto_1.default.createHmac(algorithm, KEY).update(data).digest(encoding);
818
813
  }
819
814
  /**
820
815
  * parse query-string.