lemon-core 4.3.0 → 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 (160) hide show
  1. package/README.md +127 -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.js +7 -7
  122. package/dist/extended/cores/abstract-controllers.js.map +1 -1
  123. package/dist/extended/cores/abstract-rest-apis.d.ts +2 -1
  124. package/dist/extended/cores/abstract-rest-apis.js +2 -1
  125. package/dist/extended/cores/abstract-rest-apis.js.map +1 -1
  126. package/dist/extended/cores/abstract-services.d.ts +48 -87
  127. package/dist/extended/cores/abstract-services.js +105 -244
  128. package/dist/extended/cores/abstract-services.js.map +1 -1
  129. package/dist/extended/cores/commons.d.ts +4 -113
  130. package/dist/extended/cores/commons.js +26 -180
  131. package/dist/extended/cores/commons.js.map +1 -1
  132. package/dist/extended/cores/types.d.ts +3 -225
  133. package/dist/extended/cores/types.js +28 -0
  134. package/dist/extended/cores/types.js.map +1 -1
  135. package/dist/helpers/helpers.d.ts +10 -5
  136. package/dist/helpers/helpers.js +46 -58
  137. package/dist/helpers/helpers.js.map +1 -1
  138. package/dist/helpers/types.d.ts +22 -10
  139. package/dist/index.d.ts +1 -5
  140. package/dist/index.js +8 -14
  141. package/dist/index.js.map +1 -1
  142. package/dist/lib/http-fetch.d.ts +54 -0
  143. package/dist/lib/http-fetch.js +133 -0
  144. package/dist/lib/http-fetch.js.map +1 -0
  145. package/dist/lib/lazy.d.ts +22 -0
  146. package/dist/lib/lazy.js +54 -0
  147. package/dist/lib/lazy.js.map +1 -0
  148. package/dist/lib/perf.d.ts +35 -0
  149. package/dist/lib/perf.js +52 -0
  150. package/dist/lib/perf.js.map +1 -0
  151. package/dist/tools/tools.d.ts +15 -3
  152. package/dist/tools/tools.js +21 -4
  153. package/dist/tools/tools.js.map +1 -1
  154. package/package.json +96 -39
  155. package/dist/cores/storage/redis-storage-service.d.ts +0 -183
  156. package/dist/cores/storage/redis-storage-service.js +0 -377
  157. package/dist/cores/storage/redis-storage-service.js.map +0 -1
  158. package/dist/generated/field-registry.d.ts +0 -12
  159. package/dist/generated/field-registry.js +0 -21
  160. package/dist/generated/field-registry.js.map +0 -1
@@ -52,6 +52,7 @@ exports.parseRange = parseRange;
52
52
  * @date 2021-12-21 protocol support `//self` url.
53
53
  * @date 2021-12-23 optimize types of $protocol.
54
54
  * @date 2022-03-17 addition text processing. (S2, P)
55
+ * @date 2026-10-28 v5 B3: single `$T` (L1/L2 merged), single `parseListParam`/`parsePaginateParam`.
55
56
  *
56
57
  * @copyright (C) 2021 LemonCloud Co Ltd. - All Rights Reserved.
57
58
  */
@@ -60,7 +61,7 @@ const engine_1 = __importStar(require("../engine/"));
60
61
  const test_helper_1 = require("../common/test-helper");
61
62
  const sig_v4_1 = require("../extended/libs/sig-v4");
62
63
  const perf_hooks_1 = require("perf_hooks");
63
- const request_1 = __importDefault(require("request"));
64
+ const http_fetch_1 = require("../lib/http-fetch");
64
65
  const query_string_1 = __importDefault(require("query-string"));
65
66
  const _B = (val, def = 0) => {
66
67
  if (val === null || val === undefined)
@@ -75,6 +76,18 @@ const _N = (val, def = 0) => {
75
76
  const n = engine_1.$U.N(val, def);
76
77
  return Number.isNaN(n) ? def : n;
77
78
  };
79
+ //* the former L1 `$T.S2` body (with `delim`) — kept local as the base of the L2 `S2`/`SS`.
80
+ const _S2 = (val, def = '', delim = ' ') => `${val ?? def}`.replace(/\s+/g, delim).trim();
81
+ //* the former L1 `$T.SS` body — kept local: the L2 `SS` splits a non-array value with it.
82
+ const _SS = (val, def = []) => {
83
+ if (val === null || val === undefined)
84
+ return def;
85
+ if (typeof val === 'string')
86
+ return val ? val.split(',').map(_ => _S2(_)) : def;
87
+ if (Array.isArray(val))
88
+ return val.length > 0 ? val.map(_ => exports.$T.S(_, '')) : def;
89
+ return [exports.$T.S(val)];
90
+ };
78
91
  /**
79
92
  * list param parser
80
93
  * @param param
@@ -119,27 +132,31 @@ options) {
119
132
  /**
120
133
  * Helpers to transform data-types.
121
134
  */
135
+ //* v5 B3: the single `$T` (32 members; L1 + the L2 `S2`/`SS`/`N`/`US`). `extended/cores/commons.ts` re-exports it.
122
136
  exports.$T = {
123
137
  /**
124
138
  * transform to string w/ trim()
125
139
  */
126
140
  S: (val, def = '') => `${val ?? def}`.trim(),
127
141
  /**
128
- * as string w/o white-space.
142
+ * clear white-spaces and trim.
129
143
  */
130
- S2: (val, def = '', delim = ' ') => `${val ?? def}`.replace(/\s+/g, delim).trim(),
144
+ //* v5 B3: L2 body (the root `$T` already had it) — a 3rd `delim` argument is no longer honoured.
145
+ S2: (v, def = '') => _S2(v, def).trim(),
131
146
  /**
132
- * transform to string[]
147
+ * array string with clear white-spaces and trim
133
148
  */
134
- SS: (val, def = []) => {
135
- if (val === null || val === undefined)
136
- return def;
137
- if (typeof val === 'string')
138
- return val ? val.split(',').map(_ => exports.$T.S2(_)) : def;
139
- if (Array.isArray(val))
140
- return val.length > 0 ? val.map(_ => exports.$T.S(_, '')) : def;
141
- return [exports.$T.S(val)];
142
- },
149
+ //* v5 B3: L2 body — `def` is not taken; array items get their inner white-spaces collapsed too.
150
+ SS: (v) => (v && Array.isArray(v) ? v : _SS(v)).map(v => _S2(v, '').trim()),
151
+ /**
152
+ * remove duplicates from string array using reduce
153
+ */
154
+ //* v5 B3: moved from the L2 `$T` (`extended/cores/commons.ts`) so one object has all 32 members.
155
+ US: (arr) => arr?.reduce((acc, v) => {
156
+ if (!acc.includes(v))
157
+ acc.push(v);
158
+ return acc;
159
+ }, []) ?? [],
143
160
  /**
144
161
  * text to Plain text (remove html tag)
145
162
  */
@@ -154,6 +171,7 @@ exports.$T = {
154
171
  /**
155
172
  * transform to number(integer).
156
173
  */
174
+ //* v5 B3: L2 signature (`unknown` accepted); same result as before.
157
175
  N: (v, def = 0) => typeof v === 'boolean' ? (v ? 1 : 0) : typeof v === 'number' || typeof v === 'string' ? _N(v, def) : def,
158
176
  /**
159
177
  * number array
@@ -715,7 +733,8 @@ exports.$event = $event;
715
733
  */
716
734
  function getIdentityId(context) {
717
735
  const identityId = context?.identity?.identityId;
718
- if (!identityId && context?.domain === 'localhost') {
736
+ //* v5: `env[LOCAL_ACCOUNT]` only in local mode, never from `context.domain` (B5 § 6.3).
737
+ if (!identityId && engine_1.$U.isLocalMode()) {
719
738
  //* use `env[LOCAL_ACCOUNT]` only if runs in local server.
720
739
  return engine_1.$U.env('LOCAL_ACCOUNT', '');
721
740
  }
@@ -731,8 +750,8 @@ function getIdentityId(context) {
731
750
  */
732
751
  function isUserAuthorized(context, params) {
733
752
  const identityId = getIdentityId(context);
734
- //WARN - in local server, override the identity w/ param
735
- if (context?.domain === 'localhost') {
753
+ //WARN - in local server, override the identity w/ param (v5: local mode only — B5 § 6.3)
754
+ if (engine_1.$U.isLocalMode()) {
736
755
  //!* override with optional parameter.
737
756
  if (context) {
738
757
  context.identity = {
@@ -911,14 +930,17 @@ options) => {
911
930
  (_isNa(path1) ? '' : `/${encoder('host', path1)}`) +
912
931
  (_isNa(path1) && _isNa(path2) ? '' : `/${encoder('path', path2)}`) +
913
932
  (!query_string ? '' : '?' + query_string);
914
- const request = request_1.default;
933
+ //* serialize the body once: the same string is signed and sent.
934
+ const json = (0, http_fetch_1.isJsonBody)($body);
935
+ const payload = (0, http_fetch_1.toPayload)($body, json);
915
936
  const options = {
916
937
  method,
917
938
  uri: url,
918
939
  headers: { ...this.headers },
919
- body: $body === null ? undefined : $body,
920
- json: typeof $body === 'string' ? false : true,
940
+ body: payload,
941
+ json,
921
942
  };
943
+ //* sign with SigV4 (the signed body is the exact `payload` string)
922
944
  if (sigClient) {
923
945
  const signedRequest = sigClient.signRequest({
924
946
  method,
@@ -926,7 +948,7 @@ options) => {
926
948
  (_isNa(path1) && _isNa(path2) ? '' : `/${encoder('path', path2)}`),
927
949
  queryParams: $param,
928
950
  headers: options.headers,
929
- body: $body,
951
+ body: payload,
930
952
  });
931
953
  options.headers = { ...options.headers, ...signedRequest.headers };
932
954
  options.uri = signedRequest.url;
@@ -945,44 +967,10 @@ options) => {
945
967
  _log(NS, ' url :=', options.method, url);
946
968
  _log(NS, '*', options.method, url, options.json ? 'json' : 'plain');
947
969
  _log(NS, '> options =', engine_1.$U.json(options));
948
- //* returns promise
949
- return new Promise((resolve, reject) => {
950
- //* start request..
951
- request(options, function (error, response, body) {
952
- error && _err(NS, '>>>>> requested! err=', error);
953
- if (error)
954
- return reject(error instanceof Error ? error : new Error((0, test_helper_1.GETERR)(error)));
955
- //* detect trouble.
956
- const statusCode = response.statusCode;
957
- const statusMessage = response.statusMessage;
958
- //* if not in success
959
- if (statusCode !== 200 && statusCode !== 201) {
960
- const msg = body ? (0, test_helper_1.GETERR)(body) : `${statusMessage || ''}`;
961
- if (statusCode === 400 || statusCode === 404) {
962
- const title = `${(statusCode == 404 ? '' : statusMessage) || 'NOT FOUND'}`.toUpperCase();
963
- const message = msg.startsWith('404 NOT FOUND') ? msg : `${statusCode} ${title} - ${msg}`;
964
- return reject(new Error(message));
965
- }
966
- statusMessage && _log(NS, `> statusMessage[${statusCode}] =`, statusMessage);
967
- body && _log(NS, `> body[${statusCode}] =`, engine_1.$U.json(body));
968
- return reject(new Error(`${statusCode} ${statusMessage || 'FAILURE'} - ${msg}`));
969
- }
970
- //* try to parse body.
971
- try {
972
- if (body && typeof body == 'string' && body.startsWith('{') && body.endsWith('}')) {
973
- body = JSON.parse(body);
974
- }
975
- else if (body && typeof body == 'string' && body.startsWith('[') && body.endsWith(']')) {
976
- body = JSON.parse(body);
977
- }
978
- }
979
- catch (e) {
980
- _err(NS, '!WARN! parse(body) =', e instanceof Error ? e : engine_1.$U.json(e));
981
- }
982
- //* ok! succeeded.
983
- resolve(body);
984
- });
985
- }).then((res) => {
970
+ //* send via `fetch` (status check, error format and body parse in `http-fetch`)
971
+ const logger = { log: (...a) => _log(NS, ...a), err: (...a) => _err(NS, ...a) };
972
+ const req = { method, url: options.uri, headers: options.headers, payload, json };
973
+ return (0, http_fetch_1.fetchProxyBody)(req, logger).then((res) => {
986
974
  if (resultKey && res && res[resultKey] !== undefined)
987
975
  return res[resultKey];
988
976
  return res;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,13 @@
8
8
  * @date 2023-01-18 optimized with `lemon-core@3.2.4`
9
9
  * @date 2023-02-15 optimized with `lemon-core@3.2.5`
10
10
  * @date 2024-11-14 optimized `IdentityToken`.
11
+ * @date 2026-10-28 v5 B3: the single definition (L2 content; `extended/cores/types.ts` re-exports it).
11
12
  *
12
13
  * @copyright (C) 2022 LemonCloud Co Ltd. - All Rights Reserved.
13
14
  * @origin `@lemoncloud/lemon-templates-api/cores`
14
15
  */
15
16
  import { NextIdentity, CoreModel, View, Body } from 'lemon-model';
16
- export { CoreModel, View, Body };
17
+ export type { CoreModel, View, Body };
17
18
  /** type: `IdentityTokenSite` */
18
19
  export interface IdentityTokenSite {
19
20
  /** site-code (ex: kwonsun) */
@@ -46,6 +47,12 @@ export interface IdentityTokenGroup {
46
47
  * - 세션토큰 검사는 `proxy.getCurrentSession()` 이용하기
47
48
  */
48
49
  export interface IdentityToken<T = any, U extends IdentityTokenUser = IdentityTokenUser, S extends IdentityTokenSite = IdentityTokenSite, G extends IdentityTokenGroup = IdentityTokenGroup> extends NextIdentity<T> {
50
+ /**
51
+ * cloud-id (= id in `AWS ACCOUNT_NO`)
52
+ * - `#` 일경우, 무시됨.
53
+ * - aws 계정 수준의 cloud-id
54
+ */
55
+ cid: string;
49
56
  /**
50
57
  * site-id (= id in `SiteModel(사이트)`)
51
58
  * - `#` 일경우, 특정 site에 엮이지 않음 (무시됨)
@@ -78,17 +85,17 @@ export interface IdentityToken<T = any, U extends IdentityTokenUser = IdentityTo
78
85
  */
79
86
  aid: string;
80
87
  /**
81
- * list of roles (like `user`, `admin`, `super`)
88
+ * (optional) delegator-id (= 위임된 게스트 User ID)
89
+ * - **중계서버(`backend-api`)에서만 유효한 필드.** 다른 시스템(socials 등)은 이 필드를 신뢰하지 말 것.
90
+ * - 소셜 로그인 세션에서 원본 디바이스 게스트 User ID를 가리킴 (= `AuthModel.linkUserId`).
91
+ * - 채팅(개인 채팅방) 도메인은 본 신원이 아닌 `did`를 채택하여 게스트의 데이터를 그대로 이용함.
92
+ * - 게스트 세션이거나 위임이 없을 때는 `undefined`.
82
93
  */
83
- roles: string[];
94
+ did?: string;
84
95
  /**
85
- * (optional) internal `identity-id` (= delegated identity)
86
- * - `.identityId` 는 aws cognito 인증을 통해서, 현재 인증된 `identity-id`를 알 수 있음
87
- * - 다만, `delegated`된 경우에는 위임된 id 가 들어감.
88
- *
89
- * @deprecated 삭제될 예정! @241114
96
+ * list of roles (like `user`, `admin`, `super`)
90
97
  */
91
- iid?: string;
98
+ roles: string[];
92
99
  /**
93
100
  * service-name of issuer
94
101
  * ex) `lemon-backend-api`
@@ -128,7 +135,12 @@ export interface ListResult<T, R = any> {
128
135
  /**
129
136
  * (optional) aggr list
130
137
  */
131
- aggr?: R[];
138
+ aggr?: R | R[];
139
+ }
140
+ export interface AggrResult {
141
+ [key: string]: {
142
+ [key: string]: number;
143
+ };
132
144
  }
133
145
  export interface AggrKeyCount {
134
146
  /** name of key(or bucket name) */
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@
13
13
  */
14
14
  export * from './common/types';
15
15
  export * from './common/test-helper';
16
+ export { LemonError } from './common/lemon-error';
16
17
  export * from './engine/';
17
18
  export * from './cores/';
18
19
  export * from './tools/';
@@ -24,13 +25,8 @@ export { lib, tools };
24
25
  export * from './helpers/';
25
26
  export * from './extended/';
26
27
  export * from './extended/cores/';
27
- export { $T } from './extended/cores/commons';
28
- export { onlyDefined } from './common/test-helper';
29
- export { sourceToItem, $ES6 } from './extended/abstract-service';
30
28
  export { withBrowserCache } from './extended/cores/browser-cache';
31
29
  export { $ES6Routed } from './extended/cores/abstract-services';
32
- export type { IdentityToken, IdentityTokenSite, IdentityTokenUser, IdentityTokenGroup, ListResult, PaginatedListResult, AggrKeyCount, ListParam, PaginateParam, BulkUpdateBody, BulkBody, BodyList, BulkItemsResult, } from './extended/cores/types';
33
- export { parseListParam, parsePaginateParam } from './extended/cores/commons';
34
30
  declare const _default: {
35
31
  engine: import("./engine/types").LemonEngine;
36
32
  cores: {
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.parsePaginateParam = exports.parseListParam = exports.$ES6Routed = exports.withBrowserCache = exports.$ES6 = exports.sourceToItem = exports.onlyDefined = exports.$T = exports.tools = exports.lib = void 0;
42
+ exports.$ES6Routed = exports.withBrowserCache = exports.tools = exports.lib = exports.LemonError = void 0;
43
43
  /**
44
44
  * `index.ts`
45
45
  * - main index
@@ -56,6 +56,8 @@ exports.parsePaginateParam = exports.parseListParam = exports.$ES6Routed = expor
56
56
  //NOTE! - if loading this index.ts, it will trigger `bootloader` in `/engine`.
57
57
  __exportStar(require("./common/types"), exports);
58
58
  __exportStar(require("./common/test-helper"), exports);
59
+ var lemon_error_1 = require("./common/lemon-error"); //* v5 B5: the only new root name (status-carrying error, SPEC § 6.6)
60
+ Object.defineProperty(exports, "LemonError", { enumerable: true, get: function () { return lemon_error_1.LemonError; } });
59
61
  __exportStar(require("./engine/"), exports);
60
62
  __exportStar(require("./cores/"), exports);
61
63
  __exportStar(require("./tools/"), exports);
@@ -63,6 +65,7 @@ __exportStar(require("./controllers/"), exports);
63
65
  //* init an instance of core modules.
64
66
  const engine_1 = __importDefault(require("./engine/"));
65
67
  const cores_1 = __importDefault(require("./cores/"));
68
+ const engine_2 = require("./engine/");
66
69
  //* export as group.
67
70
  const lib = __importStar(require("./lib/"));
68
71
  exports.lib = lib;
@@ -71,23 +74,14 @@ exports.tools = tools;
71
74
  const controllers = __importStar(require("./controllers/"));
72
75
  __exportStar(require("./helpers/"), exports);
73
76
  __exportStar(require("./extended/"), exports);
74
- //* export the L2 template layer. explicit lines below pin the name collisions with L1:
77
+ //* export the L2 template layer. v5 B3: every L1/L2 name has one definition, so no collision pins are needed.
75
78
  __exportStar(require("./extended/cores/"), exports);
76
- var commons_1 = require("./extended/cores/commons"); //* L2 wins — 4.2.x semantics (`asLut`/`BN`/`asMeta`, `S2` trims)
77
- Object.defineProperty(exports, "$T", { enumerable: true, get: function () { return commons_1.$T; } });
78
- var test_helper_1 = require("./common/test-helper"); //* L1 wins — signature compat (`(N, $def)`)
79
- Object.defineProperty(exports, "onlyDefined", { enumerable: true, get: function () { return test_helper_1.onlyDefined; } });
80
- var abstract_service_1 = require("./extended/abstract-service"); //* L1 wins — keep existing behavior
81
- Object.defineProperty(exports, "sourceToItem", { enumerable: true, get: function () { return abstract_service_1.sourceToItem; } });
82
- Object.defineProperty(exports, "$ES6", { enumerable: true, get: function () { return abstract_service_1.$ES6; } });
83
79
  var browser_cache_1 = require("./extended/cores/browser-cache"); //* not in the cores barrel (optional util)
84
80
  Object.defineProperty(exports, "withBrowserCache", { enumerable: true, get: function () { return browser_cache_1.withBrowserCache; } });
85
- var abstract_services_1 = require("./extended/cores/abstract-services"); //* explicit name only — root `$ES6` above must stay non-OS2 (decision #3); prevents silent search-backend swap
81
+ var abstract_services_1 = require("./extended/cores/abstract-services"); //* v5 B2-b: the same lazy object as `$OS2` (root `$ES6` is removed)
86
82
  Object.defineProperty(exports, "$ES6Routed", { enumerable: true, get: function () { return abstract_services_1.$ES6Routed; } });
87
- //* same L2-wins rationale as `$T` above — these call the same underlying parsing, duplicated verbatim.
88
- var commons_2 = require("./extended/cores/commons");
89
- Object.defineProperty(exports, "parseListParam", { enumerable: true, get: function () { return commons_2.parseListParam; } });
90
- Object.defineProperty(exports, "parsePaginateParam", { enumerable: true, get: function () { return commons_2.parsePaginateParam; } });
91
83
  //* export as default.
92
84
  exports.default = { engine: engine_1.default, cores: cores_1.default, tools, controllers };
85
+ //* PERF (D40): process time at the end of this barrel (the baseline to compare the lazy loads against).
86
+ (0, engine_2._inf)(engine_2.$U.NS('PERF', 'cyan'), '>', 'loaded lemon-core', `${(process.uptime() * 1000).toFixed(1)} ms`);
93
87
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;GAYG;AACH,8EAA8E;AAC9E,iDAA+B;AAC/B,uDAAqC;AACrC,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAE/B,qCAAqC;AACrC,uDAA+B;AAC/B,qDAA6B;AAE7B,oBAAoB;AACpB,4CAA8B;AAKrB,kBAAG;AAJZ,gDAAkC;AAIpB,sBAAK;AAHnB,4DAA8C;AAI9C,6CAA2B;AAC3B,8CAA4B;AAE5B,uFAAuF;AACvF,oDAAkC;AAClC,oDAA8C,CAAC,iEAAiE;AAAvG,6FAAA,EAAE,OAAA;AACX,oDAAmD,CAAC,4CAA4C;AAAvF,0GAAA,WAAW,OAAA;AACpB,gEAAiE,CAAC,oCAAoC;AAA7F,gHAAA,YAAY,OAAA;AAAE,wGAAA,IAAI,OAAA;AAC3B,gEAAkE,CAAC,2CAA2C;AAArG,iHAAA,gBAAgB,OAAA;AACzB,wEAAgE,CAAC,+GAA+G;AAAvK,+GAAA,UAAU,OAAA;AAsBnB,uGAAuG;AACvG,oDAA8E;AAArE,yGAAA,cAAc,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAE3C,sBAAsB;AACtB,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,KAAK,EAAL,eAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;GAYG;AACH,8EAA8E;AAC9E,iDAA+B;AAC/B,uDAAqC;AACrC,oDAAkD,CAAC,qEAAqE;AAA/G,yGAAA,UAAU,OAAA;AACnB,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAE/B,qCAAqC;AACrC,uDAA+B;AAC/B,qDAA6B;AAC7B,sCAAqC;AAErC,oBAAoB;AACpB,4CAA8B;AAKrB,kBAAG;AAJZ,gDAAkC;AAIpB,sBAAK;AAHnB,4DAA8C;AAI9C,6CAA2B;AAC3B,8CAA4B;AAE5B,8GAA8G;AAC9G,oDAAkC;AAClC,gEAAkE,CAAC,2CAA2C;AAArG,iHAAA,gBAAgB,OAAA;AACzB,wEAAgE,CAAC,oEAAoE;AAA5H,+GAAA,UAAU,OAAA;AAEnB,sBAAsB;AACtB,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,KAAK,EAAL,eAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAErD,wGAAwG;AACxG,IAAA,aAAI,EAAC,WAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ export declare const DEFAULT_FETCH_TIMEOUT = 25000;
2
+ /** one request to send (the payload is serialized already, see `toPayload()`) */
3
+ export interface HttpFetchRequest {
4
+ /** http method (GET, PUT, POST, ...) */
5
+ method: string;
6
+ /** full url with query-string */
7
+ url: string;
8
+ /** headers to send (`undefined`/`null` values are skipped) */
9
+ headers?: {
10
+ [key: string]: any;
11
+ };
12
+ /** serialized body sent as-is (for SigV4 it must be the exact signed string) */
13
+ payload?: string;
14
+ /** json mode, same meaning as `request` option `json:true` */
15
+ json: boolean;
16
+ /** (optional) timeout in ms (v5 default `DEFAULT_FETCH_TIMEOUT` = 25000) */
17
+ timeout?: number;
18
+ }
19
+ /** optional log hooks, so each factory keeps its own namespace and verbosity */
20
+ export interface HttpFetchLogger {
21
+ /** normal log */
22
+ log?: (...args: any[]) => void;
23
+ /** error log */
24
+ err?: (...args: any[]) => void;
25
+ }
26
+ /** json mode rule of the factories: a string body goes plain, anything else as json */
27
+ export declare const isJsonBody: ($body: any) => boolean;
28
+ /** serialize the body once: `null`/`undefined` → no body, json → `JSON.stringify`, string → as-is */
29
+ export declare const toPayload: ($body: any, json: boolean) => string | undefined;
30
+ /** turn a `fetch` failure into an Error whose message starts with the errno (ex: `ECONNREFUSED ...`) */
31
+ export declare const asFetchError: (e: any, timeout?: number) => Error;
32
+ /** parse response text like `request` did: json → try `JSON.parse` on any text (empty → `undefined`), else the text */
33
+ export declare const parseResponseText: (text: string, json: boolean) => any;
34
+ /** build fetch headers: string values, last one wins case-insensitively, json defaults added if absent */
35
+ export declare const buildHeaders: (req: HttpFetchRequest) => Headers;
36
+ /** the raw response: status and the parsed body (`statusMessage` is `res.statusText`) */
37
+ export interface HttpFetchResponse {
38
+ /** http status code */
39
+ statusCode: number;
40
+ /** http status text */
41
+ statusMessage: string;
42
+ /** body parsed by `parseResponseText()` */
43
+ body: any;
44
+ }
45
+ /** send one request with `fetch`, and read the body. network errors (and timeout) are rethrown by `asFetchError()` */
46
+ export declare const sendRequest: (req: HttpFetchRequest) => Promise<HttpFetchResponse>;
47
+ /** re-parse a string body that looks like a json object or array (kept from the v4 code) */
48
+ export declare const reparseBody: (body: any, logger?: HttpFetchLogger) => any;
49
+ /** turn a non-success response into the v4 error message (400·404 and other formats) — v5: a `LemonError` with the peer status */
50
+ export declare const asStatusError: (res: HttpFetchResponse, logger?: HttpFetchLogger) => Error;
51
+ /** v5: any 2xx is a success (B5 § 6.6) */
52
+ export declare const isSuccessStatus: (status: number) => boolean;
53
+ /** send a request and resolve the body: v5 success on any 2xx (204, or another 2xx with no body → `null`), other status codes reject */
54
+ export declare const fetchProxyBody: <T = any>(req: HttpFetchRequest, logger?: HttpFetchLogger) => Promise<T>;