lemon-core 4.3.0 → 5.0.1
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 +127 -2
- package/dist/common/lemon-error.d.ts +34 -0
- package/dist/common/lemon-error.js +52 -0
- package/dist/common/lemon-error.js.map +1 -0
- package/dist/controllers/general-api-controller.d.ts +7 -0
- package/dist/controllers/general-api-controller.js +7 -0
- package/dist/controllers/general-api-controller.js.map +1 -1
- package/dist/cores/api/api-service.js +10 -43
- package/dist/cores/api/api-service.js.map +1 -1
- package/dist/cores/aws/aws-kms-service.d.ts +13 -5
- package/dist/cores/aws/aws-kms-service.js +23 -9
- package/dist/cores/aws/aws-kms-service.js.map +1 -1
- package/dist/cores/aws/aws-s3-service.d.ts +30 -4
- package/dist/cores/aws/aws-s3-service.js +35 -15
- package/dist/cores/aws/aws-s3-service.js.map +1 -1
- package/dist/cores/aws/aws-sns-service.js +59 -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 +54 -12
- package/dist/cores/aws/aws-sqs-service.js.map +1 -1
- package/dist/cores/cache/cache-service.d.ts +10 -9
- package/dist/cores/cache/cache-service.js +9 -346
- package/dist/cores/cache/cache-service.js.map +1 -1
- package/dist/cores/config/config-service.d.ts +3 -15
- package/dist/cores/config/config-service.js +5 -34
- package/dist/cores/config/config-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-query-service.js +42 -2
- package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-scan-service.js +42 -2
- package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-service.d.ts +45 -14
- package/dist/cores/dynamo/dynamo-service.js +48 -21
- package/dist/cores/dynamo/dynamo-service.js.map +1 -1
- package/dist/cores/dynamo/tools/expressions.js +32 -22
- package/dist/cores/dynamo/tools/expressions.js.map +1 -1
- package/dist/cores/dynamo/tools/lang.d.ts +30 -0
- package/dist/cores/dynamo/tools/lang.js +75 -0
- package/dist/cores/dynamo/tools/lang.js.map +1 -0
- package/dist/cores/dynamo/tools/query.js +20 -21
- package/dist/cores/dynamo/tools/query.js.map +1 -1
- package/dist/cores/dynamo/tools/scan.js +15 -16
- package/dist/cores/dynamo/tools/scan.js.map +1 -1
- package/dist/cores/dynamo/tools/serializer.js +40 -38
- package/dist/cores/dynamo/tools/serializer.js.map +1 -1
- package/dist/cores/dynamo/tools/utils.d.ts +6 -2
- package/dist/cores/dynamo/tools/utils.js +11 -8
- package/dist/cores/dynamo/tools/utils.js.map +1 -1
- package/dist/cores/elastic/elastic6-query-service.d.ts +1 -104
- package/dist/cores/elastic/elastic6-query-service.js +15 -489
- package/dist/cores/elastic/elastic6-query-service.js.map +1 -1
- package/dist/cores/elastic/elastic6-service.d.ts +1 -482
- package/dist/cores/elastic/elastic6-service.js +15 -1153
- package/dist/cores/elastic/elastic6-service.js.map +1 -1
- package/dist/cores/elastic/index.d.ts +2 -2
- package/dist/cores/elastic/index.js +3 -2
- package/dist/cores/elastic/index.js.map +1 -1
- package/dist/cores/elastic/os2-query-service.d.ts +104 -0
- package/dist/cores/elastic/os2-query-service.js +495 -0
- package/dist/cores/elastic/os2-query-service.js.map +1 -0
- package/dist/cores/elastic/os2-service.d.ts +372 -0
- package/dist/cores/elastic/os2-service.js +943 -0
- package/dist/cores/elastic/os2-service.js.map +1 -0
- package/dist/cores/index.d.ts +6 -1
- package/dist/cores/index.js +9 -2
- package/dist/cores/index.js.map +1 -1
- package/dist/cores/lambda/index.js +2 -1
- package/dist/cores/lambda/index.js.map +1 -1
- package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -0
- package/dist/cores/lambda/lambda-cron-handler.js +5 -1
- package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +5 -4
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js +18 -5
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-handler.d.ts +22 -2
- package/dist/cores/lambda/lambda-handler.js +85 -23
- package/dist/cores/lambda/lambda-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -0
- package/dist/cores/lambda/lambda-sns-handler.js +5 -0
- package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -0
- package/dist/cores/lambda/lambda-sqs-handler.js +20 -5
- package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-web-handler.d.ts +10 -0
- package/dist/cores/lambda/lambda-web-handler.js +107 -41
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/protocol/aws-lambda-helper.js +58 -11
- package/dist/cores/protocol/aws-lambda-helper.js.map +1 -1
- package/dist/cores/protocol/index.js +3 -0
- package/dist/cores/protocol/index.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +26 -5
- package/dist/cores/protocol/protocol-service.js +42 -12
- package/dist/cores/protocol/protocol-service.js.map +1 -1
- package/dist/cores/protocol/protocol-sign.d.ts +72 -0
- package/dist/cores/protocol/protocol-sign.js +194 -0
- package/dist/cores/protocol/protocol-sign.js.map +1 -0
- package/dist/cores/storage/index.d.ts +0 -1
- package/dist/cores/storage/index.js +0 -1
- package/dist/cores/storage/index.js.map +1 -1
- package/dist/cores/storage/model-fields.d.ts +7 -0
- package/dist/cores/storage/model-fields.js +21 -0
- package/dist/cores/storage/model-fields.js.map +1 -0
- package/dist/cores/storage/model-manager.d.ts +5 -2
- package/dist/cores/storage/model-manager.js +11 -3
- package/dist/cores/storage/model-manager.js.map +1 -1
- package/dist/engine/builder.js +20 -2
- package/dist/engine/builder.js.map +1 -1
- package/dist/engine/engine.d.ts +2 -2
- package/dist/engine/engine.js +5 -5
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/utilities.d.ts +20 -12
- package/dist/engine/utilities.js +57 -86
- package/dist/engine/utilities.js.map +1 -1
- package/dist/environ.d.ts +0 -6
- package/dist/environ.js +1 -12
- package/dist/environ.js.map +1 -1
- package/dist/esm/index.mjs +141 -0
- package/dist/esm/testing.mjs +12 -0
- package/dist/extended/abstract-service.d.ts +48 -139
- package/dist/extended/abstract-service.js +46 -382
- package/dist/extended/abstract-service.js.map +1 -1
- package/dist/extended/cores/abstract-controllers.d.ts +25 -0
- package/dist/extended/cores/abstract-controllers.js +77 -7
- package/dist/extended/cores/abstract-controllers.js.map +1 -1
- package/dist/extended/cores/abstract-rest-apis.d.ts +2 -1
- package/dist/extended/cores/abstract-rest-apis.js +2 -1
- package/dist/extended/cores/abstract-rest-apis.js.map +1 -1
- package/dist/extended/cores/abstract-services.d.ts +48 -87
- package/dist/extended/cores/abstract-services.js +121 -248
- package/dist/extended/cores/abstract-services.js.map +1 -1
- package/dist/extended/cores/commons.d.ts +4 -113
- package/dist/extended/cores/commons.js +26 -180
- package/dist/extended/cores/commons.js.map +1 -1
- package/dist/extended/cores/fields-admin.d.ts +91 -0
- package/dist/extended/cores/fields-admin.js +142 -0
- package/dist/extended/cores/fields-admin.js.map +1 -0
- package/dist/extended/cores/index.d.ts +2 -0
- package/dist/extended/cores/index.js +2 -0
- package/dist/extended/cores/index.js.map +1 -1
- package/dist/extended/cores/types.d.ts +3 -225
- package/dist/extended/cores/types.js +28 -0
- package/dist/extended/cores/types.js.map +1 -1
- package/dist/helpers/helpers.d.ts +10 -5
- package/dist/helpers/helpers.js +46 -58
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/helpers/types.d.ts +22 -10
- package/dist/index.d.ts +1 -5
- package/dist/index.js +8 -14
- package/dist/index.js.map +1 -1
- package/dist/lib/http-fetch.d.ts +54 -0
- package/dist/lib/http-fetch.js +133 -0
- package/dist/lib/http-fetch.js.map +1 -0
- package/dist/lib/lazy.d.ts +22 -0
- package/dist/lib/lazy.js +54 -0
- package/dist/lib/lazy.js.map +1 -0
- package/dist/lib/perf.d.ts +35 -0
- package/dist/lib/perf.js +52 -0
- package/dist/lib/perf.js.map +1 -0
- package/dist/tools/tools.d.ts +15 -3
- package/dist/tools/tools.js +21 -4
- package/dist/tools/tools.js.map +1 -1
- package/package.json +96 -39
- package/dist/cores/storage/redis-storage-service.d.ts +0 -183
- package/dist/cores/storage/redis-storage-service.js +0 -377
- package/dist/cores/storage/redis-storage-service.js.map +0 -1
- package/dist/generated/field-registry.d.ts +0 -12
- package/dist/generated/field-registry.js +0 -21
- package/dist/generated/field-registry.js.map +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveFields = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* `model-fields.ts`
|
|
6
|
+
* - field list of a model manager: a `string[]` as is, or a model class read by `fieldsOf()` (lemon-model).
|
|
7
|
+
* - v5 B4: not in the storage barrel, so these names stay off the package root (deep path only).
|
|
8
|
+
*
|
|
9
|
+
* @author Steve Jung <steve@lemoncloud.io>
|
|
10
|
+
* @date 2026-10-28 initial version (lemon-core v5 B4)
|
|
11
|
+
*
|
|
12
|
+
* @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
|
|
13
|
+
*/
|
|
14
|
+
const lemon_model_1 = require("lemon-model");
|
|
15
|
+
/**
|
|
16
|
+
* resolve the field names given to a manager.
|
|
17
|
+
* @param fields list of field names (returned as is), or a model class (`fieldsOf(cls)`)
|
|
18
|
+
*/
|
|
19
|
+
const resolveFields = (fields) => typeof fields === 'function' ? (0, lemon_model_1.fieldsOf)(fields) : fields;
|
|
20
|
+
exports.resolveFields = resolveFields;
|
|
21
|
+
//# sourceMappingURL=model-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-fields.js","sourceRoot":"","sources":["../../../src/cores/storage/model-fields.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,6CAAuC;AAKvC;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAC,MAA6B,EAAY,EAAE,CACrE,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,sBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AADhD,QAAA,aAAa,iBACmC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CoreModel } from 'lemon-model';
|
|
2
2
|
import { StorageMakeable, GeneralModelFilter, TypedStorageService, UniqueFieldManager } from './proxy-storage-service';
|
|
3
|
+
import { ModelClass } from './model-fields';
|
|
3
4
|
/**
|
|
4
5
|
* class: `AbstractManager`
|
|
5
6
|
* - abstract model manager to cover all models which extend CoreModel.
|
|
@@ -12,16 +13,18 @@ export declare abstract class AbstractManager<T extends CoreModel<ModelType>, S
|
|
|
12
13
|
readonly parent: S;
|
|
13
14
|
readonly storage: TypedStorageService<T, ModelType>;
|
|
14
15
|
readonly $unique: UniqueFieldManager<T, ModelType>;
|
|
16
|
+
/** v5 B4: where `FIELDS` came from - `class` (`fieldsOf(cls)`) or `list` (a `string[]` as is) */
|
|
17
|
+
readonly fieldsSource: 'class' | 'list';
|
|
15
18
|
/**
|
|
16
19
|
* default constructor
|
|
17
20
|
* @param type model type string
|
|
18
21
|
* @param parent service instance which implements StorageMakeable interface
|
|
19
|
-
* @param fields list of model field names
|
|
22
|
+
* @param fields list of model field names, or a model class (`fieldsOf(cls)`, v5 B4)
|
|
20
23
|
* @param uniqueField (optional) unique field name
|
|
21
24
|
* @param ns (optional) namespace to be printed. pass NULL to suppress all logs.
|
|
22
25
|
* global NS value will be used if not specified or undefined.
|
|
23
26
|
*/
|
|
24
|
-
protected constructor(type: ModelType, parent: S, fields: string[], uniqueField?: string, ns?: string);
|
|
27
|
+
protected constructor(type: ModelType, parent: S, fields: string[] | ModelClass, uniqueField?: string, ns?: string);
|
|
25
28
|
/**
|
|
26
29
|
* hello of this service-identity
|
|
27
30
|
*/
|
|
@@ -7,12 +7,16 @@ exports.AbstractManager = void 0;
|
|
|
7
7
|
*
|
|
8
8
|
* @author Tim Hong <tim@lemoncloud.io>
|
|
9
9
|
* @date 2020-06-05 initial version
|
|
10
|
+
* @date 2026-10-28 v5 B4: `fields` may be a model class (`resolveFields()`).
|
|
11
|
+
* @date 2026-10-28 v5 B4: `fieldsSource` keeps whether `FIELDS` came from a class or a list.
|
|
10
12
|
*
|
|
11
13
|
* @copyright (C) 2020 LemonCloud Co Ltd. - All Rights Reserved.
|
|
12
14
|
*/
|
|
13
15
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
16
|
const engine_1 = require("../../engine/");
|
|
15
17
|
const proxy_storage_service_1 = require("./proxy-storage-service");
|
|
18
|
+
//* v5 B4: field list from a `string[]` or a model class (`@field()` annotations).
|
|
19
|
+
const model_fields_1 = require("./model-fields");
|
|
16
20
|
const NS = engine_1.$U.NS('MMGR', 'cyan'); // default namespace name
|
|
17
21
|
/**
|
|
18
22
|
* class: `AbstractManager`
|
|
@@ -26,20 +30,24 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
|
|
|
26
30
|
parent;
|
|
27
31
|
storage;
|
|
28
32
|
$unique;
|
|
33
|
+
/** v5 B4: where `FIELDS` came from - `class` (`fieldsOf(cls)`) or `list` (a `string[]` as is) */
|
|
34
|
+
fieldsSource;
|
|
29
35
|
/**
|
|
30
36
|
* default constructor
|
|
31
37
|
* @param type model type string
|
|
32
38
|
* @param parent service instance which implements StorageMakeable interface
|
|
33
|
-
* @param fields list of model field names
|
|
39
|
+
* @param fields list of model field names, or a model class (`fieldsOf(cls)`, v5 B4)
|
|
34
40
|
* @param uniqueField (optional) unique field name
|
|
35
41
|
* @param ns (optional) namespace to be printed. pass NULL to suppress all logs.
|
|
36
42
|
* global NS value will be used if not specified or undefined.
|
|
37
43
|
*/
|
|
38
44
|
constructor(type, parent, fields, uniqueField, ns) {
|
|
39
|
-
|
|
45
|
+
//* resolve a model class into its field names once; the filter and the storage share the same list.
|
|
46
|
+
super((0, model_fields_1.resolveFields)(fields));
|
|
47
|
+
this.fieldsSource = typeof fields === 'function' ? 'class' : 'list'; //* v5 B4: same test as `resolveFields()`.
|
|
40
48
|
this.NS = ns === undefined ? NS : ns;
|
|
41
49
|
this.parent = parent;
|
|
42
|
-
this.storage = parent.makeStorageService(type,
|
|
50
|
+
this.storage = parent.makeStorageService(type, this.FIELDS, this);
|
|
43
51
|
this.$unique = uniqueField ? this.storage.makeUniqueFieldManager(uniqueField) : null;
|
|
44
52
|
}
|
|
45
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/cores/storage/model-manager.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/cores/storage/model-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/builder.js
CHANGED
|
@@ -120,11 +120,22 @@ exports.do_serialize = do_serialize;
|
|
|
120
120
|
* - local implementation of EngineModules
|
|
121
121
|
*/
|
|
122
122
|
class MyEngineModules {
|
|
123
|
+
notice;
|
|
123
124
|
mods = [];
|
|
124
125
|
inited = false;
|
|
125
|
-
|
|
126
|
+
/** `notice` prints the skipped duplicate registrations (optional). */
|
|
127
|
+
constructor(notice) {
|
|
128
|
+
this.notice = notice;
|
|
129
|
+
}
|
|
130
|
+
/** register a module once per name; a later module of the same name is ignored. */
|
|
126
131
|
register(mod) {
|
|
127
132
|
// console.info(`! mod.reg(${mod.getModuleName()})..`);
|
|
133
|
+
const name = mod.getModuleName();
|
|
134
|
+
//NOTE - keep the first module of the same name (e.g. two copies of lemon-core on one engine).
|
|
135
|
+
if (this.mods.some(_ => _.getModuleName() == name)) {
|
|
136
|
+
this.notice && this.notice(`! mod.reg(${name}) is already registered - ignored`);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
128
139
|
this.mods.push(mod);
|
|
129
140
|
}
|
|
130
141
|
module(name) {
|
|
@@ -137,6 +148,8 @@ class MyEngineModules {
|
|
|
137
148
|
return;
|
|
138
149
|
// console.info(`! EngineModules.init()..`);
|
|
139
150
|
this.inited = true;
|
|
151
|
+
//* PERF (D40): start time (inline: this file takes no value import).
|
|
152
|
+
const perf0 = process.hrtime.bigint();
|
|
140
153
|
//* setup init level per each module.
|
|
141
154
|
const mods = await Promise.all(this.mods.map(async (mod) => {
|
|
142
155
|
const level = await mod.initModule();
|
|
@@ -168,6 +181,10 @@ class MyEngineModules {
|
|
|
168
181
|
.then(() => mod.getModuleName())
|
|
169
182
|
.catch(e => catchModError(e, mod)))));
|
|
170
183
|
// console.info(`! engine[${res.length}].inited =`, res);
|
|
184
|
+
//* PERF (D40): one line via the engine's own `inf` and `U.NS` (`this` is the engine at runtime).
|
|
185
|
+
const $e = this;
|
|
186
|
+
const perfMs = (Number(process.hrtime.bigint() - perf0) / 1e6).toFixed(1);
|
|
187
|
+
$e.inf && $e.inf($e.U ? $e.U.NS('PERF', 'cyan') : 'PERF:', '>', 'initialize', `${perfMs} ms`);
|
|
171
188
|
return res;
|
|
172
189
|
}
|
|
173
190
|
}
|
|
@@ -209,7 +226,8 @@ const buildEngine = (scope, options) => {
|
|
|
209
226
|
const createEngine = () => {
|
|
210
227
|
const $engine = new (class extends MyEngineModules {
|
|
211
228
|
constructor() {
|
|
212
|
-
|
|
229
|
+
//* report ignored duplicate module registrations via `_inf`.
|
|
230
|
+
super(_inf);
|
|
213
231
|
this.U = new utilities_1.Utilities(this);
|
|
214
232
|
}
|
|
215
233
|
STAGE = STAGE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/engine/builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/engine/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/engine.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextContext } from 'lemon-model';
|
|
2
|
+
import { DEFAULT_TIME_ZONE } from './utilities';
|
|
2
3
|
import { SlackPostBody, MetricPostBody, CallbackData } from '../common/types';
|
|
3
4
|
import * as $lambda from 'aws-lambda';
|
|
4
5
|
type Context = $lambda.Context;
|
|
@@ -75,7 +76,7 @@ export declare const do_parallel: <T, U>(param: T[] | ParrallelParam<T>, callbac
|
|
|
75
76
|
* - compatibility for typo in previous version.
|
|
76
77
|
*/
|
|
77
78
|
export declare const do_parrallel: <T, U>(param: T[] | ParrallelParam<T>, callback: ParrallelCallback<T, U>, size?: number, pos?: number, result?: (U | Error)[]) => Promise<(U | Error)[]>;
|
|
78
|
-
export
|
|
79
|
+
export { DEFAULT_TIME_ZONE };
|
|
79
80
|
export declare const convDate: (dt: string | number | Date) => Date;
|
|
80
81
|
/**
|
|
81
82
|
* Convert input to time value (in number)
|
|
@@ -90,4 +91,3 @@ export declare const convDateToTime: (dt: string | number | Date) => number;
|
|
|
90
91
|
* @param {*} dt
|
|
91
92
|
*/
|
|
92
93
|
export declare const convDateToTS: (dt: string | number | Date) => string;
|
|
93
|
-
export {};
|
package/dist/engine/engine.js
CHANGED
|
@@ -28,6 +28,8 @@ exports.convDateToTS = exports.convDateToTime = exports.convDate = exports.DEFAU
|
|
|
28
28
|
* @copyright (C) lemoncloud.io 2019 - All Rights Reserved.
|
|
29
29
|
*/
|
|
30
30
|
const index_1 = require("./index");
|
|
31
|
+
const utilities_1 = require("./utilities"); //* v5: the constant and its env helper live with `$U.dt`/`$U.ts` (B5 § 6.8).
|
|
32
|
+
Object.defineProperty(exports, "DEFAULT_TIME_ZONE", { enumerable: true, get: function () { return utilities_1.DEFAULT_TIME_ZONE; } });
|
|
31
33
|
const tools_1 = require("../tools/");
|
|
32
34
|
const aws_sns_service_1 = require("../cores/aws/aws-sns-service");
|
|
33
35
|
//* create SNS Service
|
|
@@ -357,10 +359,8 @@ exports.do_parallel = do_parallel;
|
|
|
357
359
|
* - compatibility for typo in previous version.
|
|
358
360
|
*/
|
|
359
361
|
exports.do_parrallel = exports.do_parallel;
|
|
360
|
-
//* default
|
|
361
|
-
|
|
362
|
-
//* convert to date of input.
|
|
363
|
-
const convDate = (dt) => index_1.$U.dt(dt, exports.DEFAULT_TIME_ZONE);
|
|
362
|
+
//* convert to date of input. v5: the default zone follows env `DEFAULT_TIME_ZONE` like `$U.dt()` (B5 § 6.8).
|
|
363
|
+
const convDate = (dt) => index_1.$U.dt(dt, (0, utilities_1.defaultTimeZone)());
|
|
364
364
|
exports.convDate = convDate;
|
|
365
365
|
/**
|
|
366
366
|
* Convert input to time value (in number)
|
|
@@ -382,7 +382,7 @@ exports.convDateToTime = convDateToTime;
|
|
|
382
382
|
*/
|
|
383
383
|
const convDateToTS = (dt) => {
|
|
384
384
|
const t = (0, exports.convDate)(dt);
|
|
385
|
-
return index_1.$U.ts(t,
|
|
385
|
+
return index_1.$U.ts(t, (0, utilities_1.defaultTimeZone)()); //* v5: same default zone as `$U.ts()` (B5 § 6.8).
|
|
386
386
|
};
|
|
387
387
|
exports.convDateToTS = convDateToTS;
|
|
388
388
|
//# 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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"}
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { EngineCore } from './types';
|
|
12
12
|
import $jwt, { DecodeOptions } from 'jsonwebtoken';
|
|
13
|
+
export declare const DEFAULT_TIME_ZONE = 9;
|
|
14
|
+
export declare const defaultTimeZone: () => number;
|
|
15
|
+
export declare const dateOnlyClock: () => " 12:00:00" | " 00:00:00";
|
|
13
16
|
declare const COLORS: {
|
|
14
17
|
red: string;
|
|
15
18
|
green: string;
|
|
@@ -47,6 +50,17 @@ export declare class Utilities {
|
|
|
47
50
|
constructor(_$: EngineCore);
|
|
48
51
|
get_env(name: string, def_val?: string): any;
|
|
49
52
|
env(name: string, def_val?: string): any;
|
|
53
|
+
/**
|
|
54
|
+
* v5: local mode — `LOCAL_MODE=1` and not running in Lambda (B5 § 6.3).
|
|
55
|
+
* - read from `process.env` on every call (no cache), never from the event or context.
|
|
56
|
+
*/
|
|
57
|
+
isLocalMode(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* v5: who may update/delete a `sid`-less record — env `SID_LEGACY_ACCESS` (B5 § 6.4).
|
|
60
|
+
* - `admin` (default, unknown value too): admin only. `open`: the v4 rule. `deny`: nobody, not even admin.
|
|
61
|
+
* - read from `process.env` on every call (no cache). read/list stay open in every mode.
|
|
62
|
+
*/
|
|
63
|
+
sidLegacyAccess(): 'admin' | 'open' | 'deny';
|
|
50
64
|
is_dev(): boolean;
|
|
51
65
|
load_data_yaml(name: any, folder?: string): Promise<any>;
|
|
52
66
|
load_sync_yaml(name: string, folder?: string): any;
|
|
@@ -58,11 +72,16 @@ export declare class Utilities {
|
|
|
58
72
|
round(a: any): number;
|
|
59
73
|
json(o: any, isSorted?: any): string;
|
|
60
74
|
/**
|
|
61
|
-
* timestamp string like `2020-02-22`
|
|
75
|
+
* timestamp string like `2020-02-22 12:34:56`
|
|
76
|
+
* - v5: wall clock of `timeZone` (default `defaultTimeZone()`: env `DEFAULT_TIME_ZONE`, else 9), host TZ and DST free (B5 § 6.8).
|
|
77
|
+
* - v5: never mutates the input `Date`.
|
|
62
78
|
*/
|
|
63
79
|
static timestamp(date?: undefined | number | Date, timeZone?: number): string;
|
|
64
80
|
/**
|
|
65
81
|
* parse timestamp to date.
|
|
82
|
+
* - v5: a string is read as the wall clock of `timeZone` (default `defaultTimeZone()`: env `DEFAULT_TIME_ZONE`, else 9) via `Date.UTC` (B5 § 6.8).
|
|
83
|
+
* - v5: a date-only string is read at `dateOnlyClock()` (env `DATE_ONLY_CLOCK`, default noon).
|
|
84
|
+
* - v5: number/`Date`/`undefined` ignore `timeZone`; a `Date` input returns a copy.
|
|
66
85
|
*/
|
|
67
86
|
static datetime(dt?: string | number | Date, timeZone?: number): Date;
|
|
68
87
|
ts(d?: undefined | number | Date, timeZone?: number): string;
|
|
@@ -189,17 +208,6 @@ export declare class Utilities {
|
|
|
189
208
|
[key: string]: any;
|
|
190
209
|
}) => string;
|
|
191
210
|
};
|
|
192
|
-
/**
|
|
193
|
-
* get crypto object.
|
|
194
|
-
*
|
|
195
|
-
* @deprecated since nodejs22, use `crypto2` instead.
|
|
196
|
-
*/
|
|
197
|
-
readonly crypto: (passwd: string, algorithm?: string) => {
|
|
198
|
-
/** @deprecated since nodejs22 */
|
|
199
|
-
encrypt: (val?: string | null) => string;
|
|
200
|
-
/** @deprecated since nodejs22 */
|
|
201
|
-
decrypt: (msg: string) => string;
|
|
202
|
-
};
|
|
203
211
|
/**
|
|
204
212
|
* get crypto2 object (w/ Cipheriv).
|
|
205
213
|
* - to avoid `(node:66818) Warning: Use Cipheriv for counter mode of aes-256-ctr`
|
package/dist/engine/utilities.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.Utilities = void 0;
|
|
39
|
+
exports.Utilities = exports.dateOnlyClock = exports.defaultTimeZone = exports.DEFAULT_TIME_ZONE = void 0;
|
|
40
40
|
const fs_1 = __importDefault(require("fs"));
|
|
41
41
|
const path_1 = __importDefault(require("path"));
|
|
42
42
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
@@ -45,6 +45,19 @@ const query_string_1 = __importDefault(require("query-string"));
|
|
|
45
45
|
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
46
46
|
const uuid = __importStar(require("uuid"));
|
|
47
47
|
const NS = 'util';
|
|
48
|
+
//* default time-zone for this api (Asia/Seoul +9 hours). v5: the default of `$U.ts()`/`$U.dt()` (B5 § 6.8).
|
|
49
|
+
exports.DEFAULT_TIME_ZONE = 9;
|
|
50
|
+
//* v5: default time-zone of `$U.ts()`/`$U.dt()` — env `DEFAULT_TIME_ZONE` (hours) at call time, else 9 (B5 § 6.8).
|
|
51
|
+
const defaultTimeZone = () => {
|
|
52
|
+
const val = `${process?.env?.DEFAULT_TIME_ZONE ?? ''}`.trim();
|
|
53
|
+
//* a blank value is unset (`Number('')` would be 0).
|
|
54
|
+
const num = val ? Number(val) : NaN;
|
|
55
|
+
return Number.isFinite(num) ? num : exports.DEFAULT_TIME_ZONE;
|
|
56
|
+
};
|
|
57
|
+
exports.defaultTimeZone = defaultTimeZone;
|
|
58
|
+
//* v5: clock of a date-only string — env `DATE_ONLY_CLOCK` `midnight` → 00:00:00, else noon (B5 § 6.8).
|
|
59
|
+
const dateOnlyClock = () => process?.env?.DATE_ONLY_CLOCK === 'midnight' ? ' 00:00:00' : ' 12:00:00';
|
|
60
|
+
exports.dateOnlyClock = dateOnlyClock;
|
|
48
61
|
const COLORS = {
|
|
49
62
|
red: '\x1b[31m',
|
|
50
63
|
green: '\x1b[32m',
|
|
@@ -80,6 +93,22 @@ class Utilities {
|
|
|
80
93
|
env(name, def_val) {
|
|
81
94
|
return this.get_env(name, def_val);
|
|
82
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* v5: local mode — `LOCAL_MODE=1` and not running in Lambda (B5 § 6.3).
|
|
98
|
+
* - read from `process.env` on every call (no cache), never from the event or context.
|
|
99
|
+
*/
|
|
100
|
+
isLocalMode() {
|
|
101
|
+
return process?.env?.LOCAL_MODE === '1' && !process?.env?.AWS_LAMBDA_FUNCTION_NAME;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* v5: who may update/delete a `sid`-less record — env `SID_LEGACY_ACCESS` (B5 § 6.4).
|
|
105
|
+
* - `admin` (default, unknown value too): admin only. `open`: the v4 rule. `deny`: nobody, not even admin.
|
|
106
|
+
* - read from `process.env` on every call (no cache). read/list stay open in every mode.
|
|
107
|
+
*/
|
|
108
|
+
sidLegacyAccess() {
|
|
109
|
+
const val = process?.env?.SID_LEGACY_ACCESS;
|
|
110
|
+
return val === 'open' || val === 'deny' ? val : 'admin';
|
|
111
|
+
}
|
|
83
112
|
is_dev() {
|
|
84
113
|
const env = this.get_env('ENV') || this.get_env('NODE_ENV') || this.get_env('STAGE');
|
|
85
114
|
return env === 'production' || env === 'op' ? false : true;
|
|
@@ -154,46 +183,50 @@ class Utilities {
|
|
|
154
183
|
return o ? JSON.stringify(o) : typeof o == 'number' ? `${o}` : `${o ?? ''}`;
|
|
155
184
|
}
|
|
156
185
|
/**
|
|
157
|
-
* timestamp string like `2020-02-22`
|
|
186
|
+
* timestamp string like `2020-02-22 12:34:56`
|
|
187
|
+
* - v5: wall clock of `timeZone` (default `defaultTimeZone()`: env `DEFAULT_TIME_ZONE`, else 9), host TZ and DST free (B5 § 6.8).
|
|
188
|
+
* - v5: never mutates the input `Date`.
|
|
158
189
|
*/
|
|
159
190
|
static timestamp(date, timeZone) {
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
const
|
|
168
|
-
const
|
|
169
|
-
const
|
|
170
|
-
const
|
|
171
|
-
const s = dt.getSeconds();
|
|
191
|
+
const tz = timeZone ?? (0, exports.defaultTimeZone)();
|
|
192
|
+
//* the instant in ms (a `Date` is read, never changed).
|
|
193
|
+
const ms = date && typeof date === 'object' ? date.getTime() : date ? new Date(date).getTime() : Date.now();
|
|
194
|
+
//* shift by the zone offset, then read the UTC fields (= wall clock of `tz`).
|
|
195
|
+
const dt = new Date(ms + tz * 60 * 60 * 1000);
|
|
196
|
+
const y = dt.getUTCFullYear();
|
|
197
|
+
const m = dt.getUTCMonth() + 1; //Months are zero based
|
|
198
|
+
const d = dt.getUTCDate();
|
|
199
|
+
const h = dt.getUTCHours();
|
|
200
|
+
const i = dt.getUTCMinutes();
|
|
201
|
+
const s = dt.getUTCSeconds();
|
|
172
202
|
const d2 = (x) => `${x < 10 ? '0' : ''}${x}`;
|
|
173
203
|
const ret = d2(y) + '-' + d2(m) + '-' + d2(d) + ' ' + d2(h) + ':' + d2(i) + ':' + d2(s);
|
|
174
204
|
return ret;
|
|
175
205
|
}
|
|
176
206
|
/**
|
|
177
207
|
* parse timestamp to date.
|
|
208
|
+
* - v5: a string is read as the wall clock of `timeZone` (default `defaultTimeZone()`: env `DEFAULT_TIME_ZONE`, else 9) via `Date.UTC` (B5 § 6.8).
|
|
209
|
+
* - v5: a date-only string is read at `dateOnlyClock()` (env `DATE_ONLY_CLOCK`, default noon).
|
|
210
|
+
* - v5: number/`Date`/`undefined` ignore `timeZone`; a `Date` input returns a copy.
|
|
178
211
|
*/
|
|
179
212
|
static datetime(dt, timeZone) {
|
|
180
213
|
let ret = null;
|
|
181
214
|
if (typeof dt == 'string') {
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
const
|
|
215
|
+
const tz = timeZone ?? (0, exports.defaultTimeZone)();
|
|
216
|
+
//* v5: the clock of a date-only string, read once per call.
|
|
217
|
+
const clock = (0, exports.dateOnlyClock)();
|
|
185
218
|
let tstr = '';
|
|
186
219
|
if (/^[12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/.test(dt)) {
|
|
187
220
|
// like 1978-12-01
|
|
188
|
-
tstr = dt +
|
|
221
|
+
tstr = dt + clock;
|
|
189
222
|
}
|
|
190
223
|
else if (/^[4-9][0-9]-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/.test(dt)) {
|
|
191
224
|
// like 79-12-01
|
|
192
|
-
tstr = '19' + dt +
|
|
225
|
+
tstr = '19' + dt + clock;
|
|
193
226
|
}
|
|
194
227
|
else if (/^[0-3][0-9]-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/.test(dt)) {
|
|
195
228
|
// like 19-12-01
|
|
196
|
-
tstr = '20' + dt +
|
|
229
|
+
tstr = '20' + dt + clock;
|
|
197
230
|
}
|
|
198
231
|
else if (/^[12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]) ([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(dt)) {
|
|
199
232
|
// like 1978-12-01 12:34
|
|
@@ -205,7 +238,7 @@ class Utilities {
|
|
|
205
238
|
}
|
|
206
239
|
else if (/^[12]\d{3}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])$/.test(dt)) {
|
|
207
240
|
// like 19781201
|
|
208
|
-
tstr = dt.substr(0, 4) + '-' + dt.substr(4, 2) + '-' + dt.substr(6, 2) +
|
|
241
|
+
tstr = dt.substr(0, 4) + '-' + dt.substr(4, 2) + '-' + dt.substr(6, 2) + clock;
|
|
209
242
|
}
|
|
210
243
|
else if (/^[12]\d{3}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01]) ([01]?[0-9]|2[0-3])[0-5][0-9]$/.test(dt)) {
|
|
211
244
|
// like 19781201 1234
|
|
@@ -233,17 +266,16 @@ class Utilities {
|
|
|
233
266
|
const h = parseInt(hh[0]);
|
|
234
267
|
const i = parseInt(hh[1]);
|
|
235
268
|
const s = parseInt(hh[2]);
|
|
236
|
-
|
|
269
|
+
//* v5: wall clock of `tz` → instant, host TZ and DST free (= `Date.UTC(y, m, d, h - tz, i, s)`).
|
|
270
|
+
return new Date(Date.UTC(y, m, d, h, i, s, 0) - tz * 60 * 60 * 1000);
|
|
237
271
|
})(tstr);
|
|
238
|
-
if (ret && diff)
|
|
239
|
-
ret.setSeconds(ret.getSeconds() + -1 * diff * 60);
|
|
240
272
|
return ret;
|
|
241
273
|
}
|
|
242
274
|
else if (typeof dt == 'number') {
|
|
243
275
|
ret = new Date(dt);
|
|
244
276
|
}
|
|
245
277
|
else if (typeof dt == 'object' && dt instanceof Date) {
|
|
246
|
-
ret = dt;
|
|
278
|
+
ret = new Date(dt.getTime()); //* v5: a copy, not the same reference (B5 § 6.8).
|
|
247
279
|
}
|
|
248
280
|
else if (dt === undefined) {
|
|
249
281
|
ret = new Date();
|
|
@@ -721,67 +753,6 @@ class Utilities {
|
|
|
721
753
|
*/
|
|
722
754
|
stringify: (q) => this.qs_stringify(q),
|
|
723
755
|
};
|
|
724
|
-
/**
|
|
725
|
-
* get crypto object.
|
|
726
|
-
*
|
|
727
|
-
* @deprecated since nodejs22, use `crypto2` instead.
|
|
728
|
-
*/
|
|
729
|
-
crypto = (passwd, algorithm) => {
|
|
730
|
-
algorithm = algorithm || 'aes-256-ctr';
|
|
731
|
-
const MAGIC = 'LM!#';
|
|
732
|
-
/**
|
|
733
|
-
* Simulate OpenSSL's EVP_BytesToKey method
|
|
734
|
-
*/
|
|
735
|
-
const evpBytesToKey = (password, keyLen, ivLen) => {
|
|
736
|
-
let data = Buffer.alloc(0);
|
|
737
|
-
let prev = Buffer.alloc(0);
|
|
738
|
-
while (data.length < keyLen + ivLen) {
|
|
739
|
-
const hash = crypto_1.default.createHash('md5');
|
|
740
|
-
hash.update(Buffer.concat([prev, password]));
|
|
741
|
-
prev = hash.digest();
|
|
742
|
-
data = Buffer.concat([data, prev]);
|
|
743
|
-
}
|
|
744
|
-
return {
|
|
745
|
-
key: data.slice(0, keyLen),
|
|
746
|
-
iv: data.slice(keyLen, keyLen + ivLen),
|
|
747
|
-
};
|
|
748
|
-
};
|
|
749
|
-
const getKeyIV = () => {
|
|
750
|
-
const passwordBuf = Buffer.from(passwd, 'binary');
|
|
751
|
-
const keyLen = 32; // for aes-256
|
|
752
|
-
const ivLen = 16; // AES block size
|
|
753
|
-
return evpBytesToKey(passwordBuf, keyLen, ivLen);
|
|
754
|
-
};
|
|
755
|
-
return new (class {
|
|
756
|
-
/** @deprecated since nodejs22 */
|
|
757
|
-
encrypt = (val) => {
|
|
758
|
-
val = val === undefined ? null : val;
|
|
759
|
-
// msg = msg && typeof msg == 'object' ? JSON_TAG+JSON.stringify(msg) : msg;
|
|
760
|
-
//* 어느 데이터 타입이든 저장하기 위해서, object로 만든다음, 암호화 시킨다.
|
|
761
|
-
const msg = JSON.stringify({ alg: algorithm, val: val });
|
|
762
|
-
const buffer = Buffer.from(`${MAGIC}${msg || ''}`, 'utf8');
|
|
763
|
-
const { key, iv } = getKeyIV();
|
|
764
|
-
const cipher = crypto_1.default.createCipheriv(algorithm, key, iv);
|
|
765
|
-
const crypted = Buffer.concat([cipher.update(buffer), cipher.final()]);
|
|
766
|
-
return crypted.toString(1 ? 'base64' : 'utf8');
|
|
767
|
-
};
|
|
768
|
-
/** @deprecated since nodejs22 */
|
|
769
|
-
decrypt = (msg) => {
|
|
770
|
-
const buffer = Buffer.from(`${msg || ''}`, 'base64');
|
|
771
|
-
const { key, iv } = getKeyIV();
|
|
772
|
-
const decipher = crypto_1.default.createDecipheriv(algorithm, key, iv);
|
|
773
|
-
const decrypted = Buffer.concat([decipher.update(buffer), decipher.final()]);
|
|
774
|
-
const dec = decrypted.toString('utf8');
|
|
775
|
-
if (!dec.startsWith(MAGIC))
|
|
776
|
-
throw new Error('400 INVALID PASSWD - invalid magic string!');
|
|
777
|
-
const data = dec.slice(MAGIC.length);
|
|
778
|
-
if (data && !data.startsWith('{') && !data.endsWith('}'))
|
|
779
|
-
throw new Error('400 INVALID PASSWD - invalid json string!');
|
|
780
|
-
const $msg = JSON.parse(data) || {};
|
|
781
|
-
return $msg.val;
|
|
782
|
-
};
|
|
783
|
-
})();
|
|
784
|
-
};
|
|
785
756
|
/**
|
|
786
757
|
* get crypto2 object (w/ Cipheriv).
|
|
787
758
|
* - to avoid `(node:66818) Warning: Use Cipheriv for counter mode of aes-256-ctr`
|