lemon-core 4.2.7 → 5.0.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 (167) hide show
  1. package/README.md +128 -2
  2. package/dist/common/lemon-error.d.ts +34 -0
  3. package/dist/common/lemon-error.js +52 -0
  4. package/dist/common/lemon-error.js.map +1 -0
  5. package/dist/controllers/general-api-controller.d.ts +7 -0
  6. package/dist/controllers/general-api-controller.js +7 -0
  7. package/dist/controllers/general-api-controller.js.map +1 -1
  8. package/dist/cores/api/api-service.js +10 -43
  9. package/dist/cores/api/api-service.js.map +1 -1
  10. package/dist/cores/aws/aws-kms-service.d.ts +13 -5
  11. package/dist/cores/aws/aws-kms-service.js +23 -9
  12. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  13. package/dist/cores/aws/aws-s3-service.d.ts +30 -4
  14. package/dist/cores/aws/aws-s3-service.js +35 -15
  15. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  16. package/dist/cores/aws/aws-sns-service.js +59 -9
  17. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  18. package/dist/cores/aws/aws-sqs-service.d.ts +1 -1
  19. package/dist/cores/aws/aws-sqs-service.js +54 -12
  20. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  21. package/dist/cores/cache/cache-service.d.ts +10 -9
  22. package/dist/cores/cache/cache-service.js +9 -346
  23. package/dist/cores/cache/cache-service.js.map +1 -1
  24. package/dist/cores/config/config-service.d.ts +3 -15
  25. package/dist/cores/config/config-service.js +5 -34
  26. package/dist/cores/config/config-service.js.map +1 -1
  27. package/dist/cores/dynamo/dynamo-query-service.js +42 -2
  28. package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
  29. package/dist/cores/dynamo/dynamo-scan-service.js +42 -2
  30. package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
  31. package/dist/cores/dynamo/dynamo-service.d.ts +45 -14
  32. package/dist/cores/dynamo/dynamo-service.js +48 -21
  33. package/dist/cores/dynamo/dynamo-service.js.map +1 -1
  34. package/dist/cores/dynamo/tools/expressions.js +32 -22
  35. package/dist/cores/dynamo/tools/expressions.js.map +1 -1
  36. package/dist/cores/dynamo/tools/lang.d.ts +30 -0
  37. package/dist/cores/dynamo/tools/lang.js +75 -0
  38. package/dist/cores/dynamo/tools/lang.js.map +1 -0
  39. package/dist/cores/dynamo/tools/query.js +20 -21
  40. package/dist/cores/dynamo/tools/query.js.map +1 -1
  41. package/dist/cores/dynamo/tools/scan.js +15 -16
  42. package/dist/cores/dynamo/tools/scan.js.map +1 -1
  43. package/dist/cores/dynamo/tools/serializer.js +40 -38
  44. package/dist/cores/dynamo/tools/serializer.js.map +1 -1
  45. package/dist/cores/dynamo/tools/utils.d.ts +6 -2
  46. package/dist/cores/dynamo/tools/utils.js +11 -8
  47. package/dist/cores/dynamo/tools/utils.js.map +1 -1
  48. package/dist/cores/elastic/elastic6-query-service.d.ts +1 -104
  49. package/dist/cores/elastic/elastic6-query-service.js +15 -489
  50. package/dist/cores/elastic/elastic6-query-service.js.map +1 -1
  51. package/dist/cores/elastic/elastic6-service.d.ts +1 -482
  52. package/dist/cores/elastic/elastic6-service.js +15 -1153
  53. package/dist/cores/elastic/elastic6-service.js.map +1 -1
  54. package/dist/cores/elastic/index.d.ts +2 -2
  55. package/dist/cores/elastic/index.js +3 -2
  56. package/dist/cores/elastic/index.js.map +1 -1
  57. package/dist/cores/elastic/os2-query-service.d.ts +104 -0
  58. package/dist/cores/elastic/os2-query-service.js +495 -0
  59. package/dist/cores/elastic/os2-query-service.js.map +1 -0
  60. package/dist/cores/elastic/os2-service.d.ts +372 -0
  61. package/dist/cores/elastic/os2-service.js +943 -0
  62. package/dist/cores/elastic/os2-service.js.map +1 -0
  63. package/dist/cores/index.d.ts +6 -1
  64. package/dist/cores/index.js +9 -2
  65. package/dist/cores/index.js.map +1 -1
  66. package/dist/cores/lambda/index.js +2 -1
  67. package/dist/cores/lambda/index.js.map +1 -1
  68. package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -0
  69. package/dist/cores/lambda/lambda-cron-handler.js +5 -1
  70. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  71. package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +5 -4
  72. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +18 -5
  73. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  74. package/dist/cores/lambda/lambda-handler.d.ts +22 -2
  75. package/dist/cores/lambda/lambda-handler.js +85 -23
  76. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  77. package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -0
  78. package/dist/cores/lambda/lambda-sns-handler.js +5 -0
  79. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  80. package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -0
  81. package/dist/cores/lambda/lambda-sqs-handler.js +20 -5
  82. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  83. package/dist/cores/lambda/lambda-web-handler.d.ts +10 -0
  84. package/dist/cores/lambda/lambda-web-handler.js +107 -41
  85. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  86. package/dist/cores/protocol/aws-lambda-helper.js +58 -11
  87. package/dist/cores/protocol/aws-lambda-helper.js.map +1 -1
  88. package/dist/cores/protocol/index.js +3 -0
  89. package/dist/cores/protocol/index.js.map +1 -1
  90. package/dist/cores/protocol/protocol-service.d.ts +26 -5
  91. package/dist/cores/protocol/protocol-service.js +42 -12
  92. package/dist/cores/protocol/protocol-service.js.map +1 -1
  93. package/dist/cores/protocol/protocol-sign.d.ts +72 -0
  94. package/dist/cores/protocol/protocol-sign.js +194 -0
  95. package/dist/cores/protocol/protocol-sign.js.map +1 -0
  96. package/dist/cores/storage/index.d.ts +0 -1
  97. package/dist/cores/storage/index.js +0 -1
  98. package/dist/cores/storage/index.js.map +1 -1
  99. package/dist/cores/storage/model-fields.d.ts +7 -0
  100. package/dist/cores/storage/model-fields.js +21 -0
  101. package/dist/cores/storage/model-fields.js.map +1 -0
  102. package/dist/cores/storage/model-manager.d.ts +3 -2
  103. package/dist/cores/storage/model-manager.js +7 -3
  104. package/dist/cores/storage/model-manager.js.map +1 -1
  105. package/dist/engine/builder.js +20 -2
  106. package/dist/engine/builder.js.map +1 -1
  107. package/dist/engine/engine.d.ts +2 -2
  108. package/dist/engine/engine.js +4 -4
  109. package/dist/engine/engine.js.map +1 -1
  110. package/dist/engine/utilities.d.ts +11 -12
  111. package/dist/engine/utilities.js +30 -82
  112. package/dist/engine/utilities.js.map +1 -1
  113. package/dist/environ.d.ts +0 -6
  114. package/dist/environ.js +1 -12
  115. package/dist/environ.js.map +1 -1
  116. package/dist/esm/index.mjs +140 -0
  117. package/dist/esm/testing.mjs +12 -0
  118. package/dist/extended/abstract-service.d.ts +48 -139
  119. package/dist/extended/abstract-service.js +46 -382
  120. package/dist/extended/abstract-service.js.map +1 -1
  121. package/dist/extended/cores/abstract-controllers.d.ts +170 -0
  122. package/dist/extended/cores/abstract-controllers.js +533 -0
  123. package/dist/extended/cores/abstract-controllers.js.map +1 -0
  124. package/dist/extended/cores/abstract-rest-apis.d.ts +142 -0
  125. package/dist/extended/cores/abstract-rest-apis.js +203 -0
  126. package/dist/extended/cores/abstract-rest-apis.js.map +1 -0
  127. package/dist/extended/cores/abstract-services.d.ts +771 -0
  128. package/dist/extended/cores/abstract-services.js +2042 -0
  129. package/dist/extended/cores/abstract-services.js.map +1 -0
  130. package/dist/extended/cores/browser-cache.d.ts +2 -0
  131. package/dist/extended/cores/browser-cache.js +34 -0
  132. package/dist/extended/cores/browser-cache.js.map +1 -0
  133. package/dist/extended/cores/commons.d.ts +20 -0
  134. package/dist/extended/cores/commons.js +31 -0
  135. package/dist/extended/cores/commons.js.map +1 -0
  136. package/dist/extended/cores/index.d.ts +15 -0
  137. package/dist/extended/cores/index.js +32 -0
  138. package/dist/extended/cores/index.js.map +1 -0
  139. package/dist/extended/cores/types.d.ts +14 -0
  140. package/dist/extended/cores/types.js +31 -0
  141. package/dist/extended/cores/types.js.map +1 -0
  142. package/dist/helpers/helpers.d.ts +10 -5
  143. package/dist/helpers/helpers.js +46 -58
  144. package/dist/helpers/helpers.js.map +1 -1
  145. package/dist/helpers/types.d.ts +22 -10
  146. package/dist/index.d.ts +4 -0
  147. package/dist/index.js +12 -1
  148. package/dist/index.js.map +1 -1
  149. package/dist/lib/http-fetch.d.ts +54 -0
  150. package/dist/lib/http-fetch.js +133 -0
  151. package/dist/lib/http-fetch.js.map +1 -0
  152. package/dist/lib/lazy.d.ts +22 -0
  153. package/dist/lib/lazy.js +54 -0
  154. package/dist/lib/lazy.js.map +1 -0
  155. package/dist/lib/perf.d.ts +35 -0
  156. package/dist/lib/perf.js +52 -0
  157. package/dist/lib/perf.js.map +1 -0
  158. package/dist/tools/tools.d.ts +15 -3
  159. package/dist/tools/tools.js +21 -4
  160. package/dist/tools/tools.js.map +1 -1
  161. package/package.json +96 -39
  162. package/dist/cores/storage/redis-storage-service.d.ts +0 -183
  163. package/dist/cores/storage/redis-storage-service.js +0 -377
  164. package/dist/cores/storage/redis-storage-service.js.map +0 -1
  165. package/dist/generated/field-registry.d.ts +0 -10
  166. package/dist/generated/field-registry.js +0 -17
  167. 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.
@@ -16,12 +17,12 @@ export declare abstract class AbstractManager<T extends CoreModel<ModelType>, S
16
17
  * default constructor
17
18
  * @param type model type string
18
19
  * @param parent service instance which implements StorageMakeable interface
19
- * @param fields list of model field names
20
+ * @param fields list of model field names, or a model class (`fieldsOf(cls)`, v5 B4)
20
21
  * @param uniqueField (optional) unique field name
21
22
  * @param ns (optional) namespace to be printed. pass NULL to suppress all logs.
22
23
  * global NS value will be used if not specified or undefined.
23
24
  */
24
- protected constructor(type: ModelType, parent: S, fields: string[], uniqueField?: string, ns?: string);
25
+ protected constructor(type: ModelType, parent: S, fields: string[] | ModelClass, uniqueField?: string, ns?: string);
25
26
  /**
26
27
  * hello of this service-identity
27
28
  */
@@ -7,12 +7,15 @@ 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()`).
10
11
  *
11
12
  * @copyright (C) 2020 LemonCloud Co Ltd. - All Rights Reserved.
12
13
  */
13
14
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
15
  const engine_1 = require("../../engine/");
15
16
  const proxy_storage_service_1 = require("./proxy-storage-service");
17
+ //* v5 B4: field list from a `string[]` or a model class (`@field()` annotations).
18
+ const model_fields_1 = require("./model-fields");
16
19
  const NS = engine_1.$U.NS('MMGR', 'cyan'); // default namespace name
17
20
  /**
18
21
  * class: `AbstractManager`
@@ -30,16 +33,17 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
30
33
  * default constructor
31
34
  * @param type model type string
32
35
  * @param parent service instance which implements StorageMakeable interface
33
- * @param fields list of model field names
36
+ * @param fields list of model field names, or a model class (`fieldsOf(cls)`, v5 B4)
34
37
  * @param uniqueField (optional) unique field name
35
38
  * @param ns (optional) namespace to be printed. pass NULL to suppress all logs.
36
39
  * global NS value will be used if not specified or undefined.
37
40
  */
38
41
  constructor(type, parent, fields, uniqueField, ns) {
39
- super(fields);
42
+ //* resolve a model class into its field names once; the filter and the storage share the same list.
43
+ super((0, model_fields_1.resolveFields)(fields));
40
44
  this.NS = ns === undefined ? NS : ns;
41
45
  this.parent = parent;
42
- this.storage = parent.makeStorageService(type, fields, this);
46
+ this.storage = parent.makeStorageService(type, this.FIELDS, this);
43
47
  this.$unique = uniqueField ? this.storage.makeUniqueFieldManager(uniqueField) : null;
44
48
  }
45
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/cores/storage/model-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/cores/storage/model-manager.ts"],"names":[],"mappings":"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"}
@@ -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
- constructor() { }
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
- super();
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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"}
@@ -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 declare const DEFAULT_TIME_ZONE = 9;
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 {};
@@ -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 lives 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 time-zone for this api. (Asia/Seoul - 9 hours)
361
- exports.DEFAULT_TIME_ZONE = 9;
362
362
  //* convert to date of input.
363
- const convDate = (dt) => index_1.$U.dt(dt, exports.DEFAULT_TIME_ZONE);
363
+ const convDate = (dt) => index_1.$U.dt(dt, utilities_1.DEFAULT_TIME_ZONE);
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, exports.DEFAULT_TIME_ZONE);
385
+ return index_1.$U.ts(t, utilities_1.DEFAULT_TIME_ZONE);
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,7 @@
10
10
  */
11
11
  import { EngineCore } from './types';
12
12
  import $jwt, { DecodeOptions } from 'jsonwebtoken';
13
+ export declare const DEFAULT_TIME_ZONE = 9;
13
14
  declare const COLORS: {
14
15
  red: string;
15
16
  green: string;
@@ -47,6 +48,11 @@ export declare class Utilities {
47
48
  constructor(_$: EngineCore);
48
49
  get_env(name: string, def_val?: string): any;
49
50
  env(name: string, def_val?: string): any;
51
+ /**
52
+ * v5: local mode — `LOCAL_MODE=1` and not running in Lambda (B5 § 6.3).
53
+ * - read from `process.env` on every call (no cache), never from the event or context.
54
+ */
55
+ isLocalMode(): boolean;
50
56
  is_dev(): boolean;
51
57
  load_data_yaml(name: any, folder?: string): Promise<any>;
52
58
  load_sync_yaml(name: string, folder?: string): any;
@@ -58,11 +64,15 @@ export declare class Utilities {
58
64
  round(a: any): number;
59
65
  json(o: any, isSorted?: any): string;
60
66
  /**
61
- * timestamp string like `2020-02-22`
67
+ * timestamp string like `2020-02-22 12:34:56`
68
+ * - v5: wall clock of `timeZone` (default `DEFAULT_TIME_ZONE` = 9), host TZ and DST free (B5 § 6.8).
69
+ * - v5: never mutates the input `Date`.
62
70
  */
63
71
  static timestamp(date?: undefined | number | Date, timeZone?: number): string;
64
72
  /**
65
73
  * parse timestamp to date.
74
+ * - v5: a string is read as the wall clock of `timeZone` (default `DEFAULT_TIME_ZONE` = 9) via `Date.UTC` (B5 § 6.8).
75
+ * - v5: number/`Date`/`undefined` ignore `timeZone`; a `Date` input returns a copy.
66
76
  */
67
77
  static datetime(dt?: string | number | Date, timeZone?: number): Date;
68
78
  ts(d?: undefined | number | Date, timeZone?: number): string;
@@ -189,17 +199,6 @@ export declare class Utilities {
189
199
  [key: string]: any;
190
200
  }) => string;
191
201
  };
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
202
  /**
204
203
  * get crypto2 object (w/ Cipheriv).
205
204
  * - to avoid `(node:66818) Warning: Use Cipheriv for counter mode of aes-256-ctr`
@@ -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.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,8 @@ 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;
48
50
  const COLORS = {
49
51
  red: '\x1b[31m',
50
52
  green: '\x1b[32m',
@@ -80,6 +82,13 @@ class Utilities {
80
82
  env(name, def_val) {
81
83
  return this.get_env(name, def_val);
82
84
  }
85
+ /**
86
+ * v5: local mode — `LOCAL_MODE=1` and not running in Lambda (B5 § 6.3).
87
+ * - read from `process.env` on every call (no cache), never from the event or context.
88
+ */
89
+ isLocalMode() {
90
+ return process?.env?.LOCAL_MODE === '1' && !process?.env?.AWS_LAMBDA_FUNCTION_NAME;
91
+ }
83
92
  is_dev() {
84
93
  const env = this.get_env('ENV') || this.get_env('NODE_ENV') || this.get_env('STAGE');
85
94
  return env === 'production' || env === 'op' ? false : true;
@@ -154,34 +163,35 @@ class Utilities {
154
163
  return o ? JSON.stringify(o) : typeof o == 'number' ? `${o}` : `${o ?? ''}`;
155
164
  }
156
165
  /**
157
- * timestamp string like `2020-02-22`
166
+ * timestamp string like `2020-02-22 12:34:56`
167
+ * - v5: wall clock of `timeZone` (default `DEFAULT_TIME_ZONE` = 9), host TZ and DST free (B5 § 6.8).
168
+ * - v5: never mutates the input `Date`.
158
169
  */
159
170
  static timestamp(date, timeZone) {
160
- const dt = date && typeof date === 'object' ? date : date ? new Date(date) : new Date();
161
- const now = new Date();
162
- const tzo = now.getTimezoneOffset(); // Asia/Seoul => -540
163
- const diff = (timeZone ?? 0) * 60 + tzo;
164
- if (diff)
165
- dt.setSeconds(dt.getSeconds() + 1 * diff * 60);
166
- const y = dt.getFullYear();
167
- const m = dt.getMonth() + 1; //Months are zero based
168
- const d = dt.getDate();
169
- const h = dt.getHours();
170
- const i = dt.getMinutes();
171
- const s = dt.getSeconds();
171
+ const tz = timeZone ?? exports.DEFAULT_TIME_ZONE;
172
+ //* the instant in ms (a `Date` is read, never changed).
173
+ const ms = date && typeof date === 'object' ? date.getTime() : date ? new Date(date).getTime() : Date.now();
174
+ //* shift by the zone offset, then read the UTC fields (= wall clock of `tz`).
175
+ const dt = new Date(ms + tz * 60 * 60 * 1000);
176
+ const y = dt.getUTCFullYear();
177
+ const m = dt.getUTCMonth() + 1; //Months are zero based
178
+ const d = dt.getUTCDate();
179
+ const h = dt.getUTCHours();
180
+ const i = dt.getUTCMinutes();
181
+ const s = dt.getUTCSeconds();
172
182
  const d2 = (x) => `${x < 10 ? '0' : ''}${x}`;
173
183
  const ret = d2(y) + '-' + d2(m) + '-' + d2(d) + ' ' + d2(h) + ':' + d2(i) + ':' + d2(s);
174
184
  return ret;
175
185
  }
176
186
  /**
177
187
  * parse timestamp to date.
188
+ * - v5: a string is read as the wall clock of `timeZone` (default `DEFAULT_TIME_ZONE` = 9) via `Date.UTC` (B5 § 6.8).
189
+ * - v5: number/`Date`/`undefined` ignore `timeZone`; a `Date` input returns a copy.
178
190
  */
179
191
  static datetime(dt, timeZone) {
180
192
  let ret = null;
181
193
  if (typeof dt == 'string') {
182
- const now = new Date();
183
- const tzo = now.getTimezoneOffset();
184
- const diff = (timeZone ?? 0) * 60 + tzo;
194
+ const tz = timeZone ?? exports.DEFAULT_TIME_ZONE;
185
195
  let tstr = '';
186
196
  if (/^[12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/.test(dt)) {
187
197
  // like 1978-12-01
@@ -233,17 +243,16 @@ class Utilities {
233
243
  const h = parseInt(hh[0]);
234
244
  const i = parseInt(hh[1]);
235
245
  const s = parseInt(hh[2]);
236
- return new Date(y, m, d, h, i, s, 0);
246
+ //* v5: wall clock of `tz` → instant, host TZ and DST free (= `Date.UTC(y, m, d, h - tz, i, s)`).
247
+ return new Date(Date.UTC(y, m, d, h, i, s, 0) - tz * 60 * 60 * 1000);
237
248
  })(tstr);
238
- if (ret && diff)
239
- ret.setSeconds(ret.getSeconds() + -1 * diff * 60);
240
249
  return ret;
241
250
  }
242
251
  else if (typeof dt == 'number') {
243
252
  ret = new Date(dt);
244
253
  }
245
254
  else if (typeof dt == 'object' && dt instanceof Date) {
246
- ret = dt;
255
+ ret = new Date(dt.getTime()); //* v5: a copy, not the same reference (B5 § 6.8).
247
256
  }
248
257
  else if (dt === undefined) {
249
258
  ret = new Date();
@@ -721,67 +730,6 @@ class Utilities {
721
730
  */
722
731
  stringify: (q) => this.qs_stringify(q),
723
732
  };
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
733
  /**
786
734
  * get crypto2 object (w/ Cipheriv).
787
735
  * - to avoid `(node:66818) Warning: Use Cipheriv for counter mode of aes-256-ctr`