@leyyo/common 1.0.5 → 1.0.8

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 (222) hide show
  1. package/dist/assertion/common-assertion.d.ts +24 -35
  2. package/dist/assertion/common-assertion.js +73 -142
  3. package/dist/assertion/common-assertion.js.map +1 -1
  4. package/dist/assertion/index-types.d.ts +104 -109
  5. package/dist/assertion/index.d.ts +0 -1
  6. package/dist/assertion/index.js +0 -1
  7. package/dist/assertion/index.js.map +1 -1
  8. package/dist/descriptor/common-descriptor.d.ts +19 -0
  9. package/dist/descriptor/common-descriptor.js +92 -0
  10. package/dist/descriptor/common-descriptor.js.map +1 -0
  11. package/dist/descriptor/index-types.d.ts +21 -0
  12. package/dist/descriptor/index-types.js.map +1 -0
  13. package/dist/descriptor/index.d.ts +1 -0
  14. package/dist/{storage → descriptor}/index.js +0 -1
  15. package/dist/descriptor/index.js.map +1 -0
  16. package/dist/developer/common-developer.d.ts +29 -0
  17. package/dist/developer/common-developer.js +266 -0
  18. package/dist/developer/common-developer.js.map +1 -0
  19. package/dist/developer/index-types.d.ts +77 -0
  20. package/dist/developer/index-types.js.map +1 -0
  21. package/dist/developer/index.d.ts +1 -0
  22. package/dist/{literal → developer}/index.js +0 -15
  23. package/dist/developer/index.js.map +1 -0
  24. package/dist/error/common-error.js +27 -16
  25. package/dist/error/common-error.js.map +1 -1
  26. package/dist/error/index-types.d.ts +19 -0
  27. package/dist/error/index.d.ts +0 -1
  28. package/dist/error/index.js +0 -1
  29. package/dist/error/index.js.map +1 -1
  30. package/dist/exception/assertion-exception.d.ts +2 -2
  31. package/dist/exception/assertion-exception.js +2 -2
  32. package/dist/exception/assertion-exception.js.map +1 -1
  33. package/dist/exception/caused-exception.d.ts +2 -2
  34. package/dist/exception/caused-exception.js +2 -2
  35. package/dist/exception/caused-exception.js.map +1 -1
  36. package/dist/exception/developer-exception.d.ts +2 -2
  37. package/dist/exception/developer-exception.js +2 -2
  38. package/dist/exception/developer-exception.js.map +1 -1
  39. package/dist/exception/exception.d.ts +3 -1
  40. package/dist/exception/exception.js +13 -4
  41. package/dist/exception/exception.js.map +1 -1
  42. package/dist/exception/index-types.d.ts +1 -1
  43. package/dist/exception/index.d.ts +1 -0
  44. package/dist/exception/index.js +1 -0
  45. package/dist/exception/index.js.map +1 -1
  46. package/dist/exception/invalid-value-exception.d.ts +5 -0
  47. package/dist/exception/invalid-value-exception.js +12 -0
  48. package/dist/exception/invalid-value-exception.js.map +1 -0
  49. package/dist/fqn/common-fqn.d.ts +6 -2
  50. package/dist/fqn/common-fqn.js +56 -42
  51. package/dist/fqn/common-fqn.js.map +1 -1
  52. package/dist/fqn/index-types.d.ts +13 -2
  53. package/dist/fqn/index.d.ts +0 -1
  54. package/dist/fqn/index.js +0 -1
  55. package/dist/fqn/index.js.map +1 -1
  56. package/dist/hook/common-hook.d.ts +8 -6
  57. package/dist/hook/common-hook.js +23 -18
  58. package/dist/hook/common-hook.js.map +1 -1
  59. package/dist/hook/index-types.d.ts +27 -12
  60. package/dist/hook/index.d.ts +0 -1
  61. package/dist/hook/index.js +0 -1
  62. package/dist/hook/index.js.map +1 -1
  63. package/dist/index.d.ts +27 -12
  64. package/dist/index.js +37 -23
  65. package/dist/index.js.map +1 -1
  66. package/dist/internal.d.ts +2 -0
  67. package/dist/internal.js +3 -1
  68. package/dist/internal.js.map +1 -1
  69. package/dist/is/common-is.d.ts +14 -0
  70. package/dist/is/common-is.js +53 -9
  71. package/dist/is/common-is.js.map +1 -1
  72. package/dist/is/index-types.d.ts +46 -1
  73. package/dist/is/index.d.ts +0 -1
  74. package/dist/is/index.js +0 -1
  75. package/dist/is/index.js.map +1 -1
  76. package/dist/leyyo/index-types.d.ts +14 -3
  77. package/dist/leyyo/index.d.ts +1 -1
  78. package/dist/leyyo/index.js +1 -1
  79. package/dist/leyyo/index.js.map +1 -1
  80. package/dist/leyyo/leyyo-common-hook.d.ts +10 -0
  81. package/dist/leyyo/leyyo-common-hook.js +18 -0
  82. package/dist/leyyo/leyyo-common-hook.js.map +1 -0
  83. package/dist/leyyo/leyyo.d.ts +17 -10
  84. package/dist/leyyo/leyyo.js +64 -83
  85. package/dist/leyyo/leyyo.js.map +1 -1
  86. package/dist/log/common-log.d.ts +2 -2
  87. package/dist/log/common-log.js +47 -15
  88. package/dist/log/common-log.js.map +1 -1
  89. package/dist/log/index-types.d.ts +55 -1
  90. package/dist/log/index.d.ts +1 -1
  91. package/dist/log/index.js +1 -1
  92. package/dist/log/index.js.map +1 -1
  93. package/dist/log/logger-instance.d.ts +16 -9
  94. package/dist/log/logger-instance.js +36 -8
  95. package/dist/log/logger-instance.js.map +1 -1
  96. package/dist/log/severity.js.map +1 -0
  97. package/dist/repo/common-repo.d.ts +44 -0
  98. package/dist/repo/common-repo.js +180 -0
  99. package/dist/repo/common-repo.js.map +1 -0
  100. package/dist/repo/index-types.d.ts +104 -0
  101. package/dist/repo/index-types.js +3 -0
  102. package/dist/{literal → repo}/index-types.js.map +1 -1
  103. package/dist/repo/index.d.ts +2 -0
  104. package/dist/repo/index.js +19 -0
  105. package/dist/repo/index.js.map +1 -0
  106. package/dist/repo/repo-type.d.ts +8 -0
  107. package/dist/repo/repo-type.js +8 -0
  108. package/dist/repo/repo-type.js.map +1 -0
  109. package/dist/server.js +2 -2
  110. package/dist/server.js.map +1 -1
  111. package/dist/shared/index-types.d.ts +162 -132
  112. package/dist/shared/index-types.js +1 -1
  113. package/dist/shared/index-types.js.map +1 -1
  114. package/dist/shared/index.d.ts +0 -4
  115. package/dist/shared/index.js +0 -4
  116. package/dist/shared/index.js.map +1 -1
  117. package/dist/system/common-system.js +30 -3
  118. package/dist/system/common-system.js.map +1 -1
  119. package/dist/{literal → system}/country-code.js.map +1 -1
  120. package/dist/system/environment.js.map +1 -0
  121. package/dist/system/http-method.js.map +1 -0
  122. package/dist/system/http-place.js.map +1 -0
  123. package/dist/system/index.d.ts +8 -1
  124. package/dist/system/index.js +8 -1
  125. package/dist/system/index.js.map +1 -1
  126. package/dist/system/language-code.js.map +1 -0
  127. package/dist/system/locale-code.js.map +1 -0
  128. package/dist/system/sys-class.js.map +1 -0
  129. package/dist/system/sys-function.js.map +1 -0
  130. package/dist/to/common-to.d.ts +28 -21
  131. package/dist/to/common-to.js +541 -227
  132. package/dist/to/common-to.js.map +1 -1
  133. package/dist/to/index-types.d.ts +36 -16
  134. package/dist/to/index.d.ts +6 -1
  135. package/dist/to/index.js +6 -1
  136. package/dist/to/index.js.map +1 -1
  137. package/dist/to/key-value.js.map +1 -0
  138. package/dist/{shared → to}/list.d.ts +1 -0
  139. package/dist/{shared → to}/list.js +3 -0
  140. package/dist/to/list.js.map +1 -0
  141. package/dist/to/primitive.js.map +1 -0
  142. package/dist/to/real-value.js.map +1 -0
  143. package/dist/to/weak-false.js.map +1 -0
  144. package/dist/to/weak-true.js.map +1 -0
  145. package/dist/wrapper/common-wrapper.d.ts +26 -0
  146. package/dist/wrapper/common-wrapper.js +81 -0
  147. package/dist/wrapper/common-wrapper.js.map +1 -0
  148. package/dist/wrapper/index-types.d.ts +29 -0
  149. package/dist/wrapper/index-types.js +3 -0
  150. package/dist/{storage → wrapper}/index-types.js.map +1 -1
  151. package/dist/wrapper/index.d.ts +2 -0
  152. package/dist/wrapper/index.js +19 -0
  153. package/dist/wrapper/index.js.map +1 -0
  154. package/dist/wrapper/wrap.d.ts +7 -0
  155. package/dist/wrapper/wrap.js +11 -0
  156. package/dist/wrapper/wrap.js.map +1 -0
  157. package/package.json +14 -16
  158. package/dist/literal/environment.js.map +0 -1
  159. package/dist/literal/http-method.js.map +0 -1
  160. package/dist/literal/http-place.js.map +0 -1
  161. package/dist/literal/index-types.d.ts +0 -6
  162. package/dist/literal/index.d.ts +0 -16
  163. package/dist/literal/index.js.map +0 -1
  164. package/dist/literal/key-value.js.map +0 -1
  165. package/dist/literal/language-code.js.map +0 -1
  166. package/dist/literal/locale-code.js.map +0 -1
  167. package/dist/literal/primitive.js.map +0 -1
  168. package/dist/literal/real-value.js.map +0 -1
  169. package/dist/literal/severity.js.map +0 -1
  170. package/dist/literal/storage-type.d.ts +0 -8
  171. package/dist/literal/storage-type.js +0 -8
  172. package/dist/literal/storage-type.js.map +0 -1
  173. package/dist/literal/sys-class.js.map +0 -1
  174. package/dist/literal/sys-function.js.map +0 -1
  175. package/dist/literal/weak-false.js.map +0 -1
  176. package/dist/literal/weak-true.js.map +0 -1
  177. package/dist/shared/assert.d.ts +0 -6
  178. package/dist/shared/assert.js +0 -15
  179. package/dist/shared/assert.js.map +0 -1
  180. package/dist/shared/index-aliases.d.ts +0 -167
  181. package/dist/shared/index-aliases.js +0 -5
  182. package/dist/shared/index-aliases.js.map +0 -1
  183. package/dist/shared/index-constants.d.ts +0 -19
  184. package/dist/shared/index-constants.js +0 -23
  185. package/dist/shared/index-constants.js.map +0 -1
  186. package/dist/shared/list.js.map +0 -1
  187. package/dist/storage/common-storage.d.ts +0 -47
  188. package/dist/storage/common-storage.js +0 -151
  189. package/dist/storage/common-storage.js.map +0 -1
  190. package/dist/storage/index-types.d.ts +0 -87
  191. package/dist/storage/index.d.ts +0 -2
  192. package/dist/storage/index.js.map +0 -1
  193. /package/dist/{literal → descriptor}/index-types.js +0 -0
  194. /package/dist/{storage → developer}/index-types.js +0 -0
  195. /package/dist/{literal → log}/severity.d.ts +0 -0
  196. /package/dist/{literal → log}/severity.js +0 -0
  197. /package/dist/{literal → system}/country-code.d.ts +0 -0
  198. /package/dist/{literal → system}/country-code.js +0 -0
  199. /package/dist/{literal → system}/environment.d.ts +0 -0
  200. /package/dist/{literal → system}/environment.js +0 -0
  201. /package/dist/{literal → system}/http-method.d.ts +0 -0
  202. /package/dist/{literal → system}/http-method.js +0 -0
  203. /package/dist/{literal → system}/http-place.d.ts +0 -0
  204. /package/dist/{literal → system}/http-place.js +0 -0
  205. /package/dist/{literal → system}/language-code.d.ts +0 -0
  206. /package/dist/{literal → system}/language-code.js +0 -0
  207. /package/dist/{literal → system}/locale-code.d.ts +0 -0
  208. /package/dist/{literal → system}/locale-code.js +0 -0
  209. /package/dist/{literal → system}/sys-class.d.ts +0 -0
  210. /package/dist/{literal → system}/sys-class.js +0 -0
  211. /package/dist/{literal → system}/sys-function.d.ts +0 -0
  212. /package/dist/{literal → system}/sys-function.js +0 -0
  213. /package/dist/{literal → to}/key-value.d.ts +0 -0
  214. /package/dist/{literal → to}/key-value.js +0 -0
  215. /package/dist/{literal → to}/primitive.d.ts +0 -0
  216. /package/dist/{literal → to}/primitive.js +0 -0
  217. /package/dist/{literal → to}/real-value.d.ts +0 -0
  218. /package/dist/{literal → to}/real-value.js +0 -0
  219. /package/dist/{literal → to}/weak-false.d.ts +0 -0
  220. /package/dist/{literal → to}/weak-false.js +0 -0
  221. /package/dist/{literal → to}/weak-true.d.ts +0 -0
  222. /package/dist/{literal → to}/weak-true.js +0 -0
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonDeveloper = void 0;
4
+ const internal_1 = require("../internal");
5
+ class CommonDeveloper {
6
+ constructor() {
7
+ this._FQN_FIELDS = ['where', 'func', 'clazz'];
8
+ }
9
+ buildParameters(opt, extra, e) {
10
+ var _a;
11
+ let newOpt = this.checkParameters(opt, extra);
12
+ if (Object.keys(newOpt).length < 1) {
13
+ newOpt = {
14
+ issue: 'invalid.developer.option',
15
+ value: this.secureJson(opt),
16
+ };
17
+ }
18
+ if (newOpt.issue === undefined) {
19
+ newOpt.issue = 'invalid.developer.option';
20
+ }
21
+ let message;
22
+ if (e instanceof Error) {
23
+ message = e.message;
24
+ this.append(newOpt, 'error', [e.message, e.name]);
25
+ }
26
+ else {
27
+ message = (_a = this.fetch(newOpt, 'message')) !== null && _a !== void 0 ? _a : this.fetch(newOpt, 'issue');
28
+ }
29
+ return { message, opt };
30
+ }
31
+ appendAll(opt, extra) {
32
+ if (extra && typeof extra === 'object' && extra.constructor === Object) {
33
+ for (const [k, v] of Object.entries(extra)) {
34
+ opt = this.append(opt, k, v);
35
+ }
36
+ }
37
+ return opt;
38
+ }
39
+ opt(value) {
40
+ return value;
41
+ }
42
+ fetch(opt, field) {
43
+ if (!opt || typeof opt !== 'object') {
44
+ return undefined;
45
+ }
46
+ const found = opt[field];
47
+ if (found !== undefined) {
48
+ delete opt[field];
49
+ if (typeof found !== 'string') {
50
+ return this.secureJson(found);
51
+ }
52
+ }
53
+ return found;
54
+ }
55
+ append(opt, field, value) {
56
+ if (!opt) {
57
+ opt = {};
58
+ }
59
+ if (typeof field !== 'string' || value === undefined) {
60
+ return opt;
61
+ }
62
+ if (opt[field] === undefined) {
63
+ opt[field] = value;
64
+ }
65
+ else if (opt[field] === value) {
66
+ return opt;
67
+ }
68
+ else {
69
+ if (field === 'issue') {
70
+ if (Array.isArray(opt.issue)) {
71
+ if (!opt.issue.includes(value)) {
72
+ opt.issue.push(value);
73
+ }
74
+ }
75
+ else {
76
+ opt.issue = [opt.issue, value];
77
+ }
78
+ }
79
+ else {
80
+ const f2 = `${field}[${Date.now()}]`;
81
+ opt[f2] = value;
82
+ }
83
+ }
84
+ return opt;
85
+ }
86
+ checkParameters(opt, extra) {
87
+ if (!extra || typeof extra !== 'object' || extra.constructor !== Object || Array.isArray(extra)) {
88
+ extra = {};
89
+ }
90
+ if (!opt || typeof opt !== 'object' || opt.constructor !== Object || Array.isArray(opt)) {
91
+ if (Object.keys(extra).length > 0) {
92
+ opt = extra;
93
+ }
94
+ else {
95
+ opt = {
96
+ issue: 'invalid.developer.option',
97
+ value: this.secureJson(opt),
98
+ };
99
+ }
100
+ }
101
+ else if (Object.keys(extra).length > 0) {
102
+ for (const [k, v] of Object.entries(extra)) {
103
+ if (typeof k !== 'string' || v === undefined || v === null) {
104
+ continue;
105
+ }
106
+ this.append(opt, k, v);
107
+ }
108
+ }
109
+ const newOpt = {};
110
+ for (const [k, v] of Object.entries(opt)) {
111
+ if (typeof k !== 'string' || v === undefined || v === null) {
112
+ continue;
113
+ }
114
+ switch (typeof v) {
115
+ case "number":
116
+ case "bigint":
117
+ case "string":
118
+ case "boolean":
119
+ newOpt[k] = v;
120
+ break;
121
+ case "symbol":
122
+ newOpt[k] = `[[${v.description}]]`;
123
+ break;
124
+ case "function":
125
+ newOpt[k] = this.leyyo.fqn.name(v);
126
+ break;
127
+ case "object":
128
+ if (this._FQN_FIELDS.includes(k)) {
129
+ newOpt[k] = this.leyyo.fqn.name(v);
130
+ }
131
+ else {
132
+ newOpt[k] = this.secureJson(v);
133
+ }
134
+ }
135
+ }
136
+ return newOpt;
137
+ }
138
+ raise(opt, extra) {
139
+ const { opt: opt2, message } = this.buildParameters(opt, extra);
140
+ throw new DeveloperError(message, opt2);
141
+ }
142
+ invalid(opt, extra) {
143
+ const { opt: opt2, message } = this.buildParameters(opt, extra);
144
+ throw new InvalidValueError(message, opt2);
145
+ }
146
+ native(e, opt, extra) {
147
+ const { opt: opt2, message } = this.buildParameters(opt, extra, e);
148
+ throw new CausedError(message, opt2);
149
+ }
150
+ log(v1, v2, severity) {
151
+ let e = undefined;
152
+ let opt;
153
+ let extra = undefined;
154
+ if (v1 instanceof Error) {
155
+ e = v1;
156
+ opt = v2;
157
+ }
158
+ else {
159
+ opt = v1;
160
+ extra: v2;
161
+ }
162
+ const { opt: opt2, message } = this.buildParameters(opt, extra, e);
163
+ if (typeof severity !== 'string' || typeof console[severity] !== 'function') {
164
+ severity = 'log';
165
+ }
166
+ console[severity](message, opt2);
167
+ }
168
+ get $secure() {
169
+ return this;
170
+ }
171
+ get $back() {
172
+ return this;
173
+ }
174
+ $init(leyyo) {
175
+ this.leyyo = leyyo;
176
+ leyyo.$secure.$lazyRun(() => {
177
+ leyyo.fqn.register(null, CommonDeveloper, 'class', internal_1.FQN_PCK);
178
+ });
179
+ }
180
+ /**
181
+ * Inner secure json function, it will be used after creating weak set
182
+ * */
183
+ _secureJson(value, level, set) {
184
+ if ([null, undefined].includes(value)) {
185
+ return null;
186
+ }
187
+ switch (typeof value) {
188
+ case 'object':
189
+ if (set.has(value)) {
190
+ return `<circular>${this.leyyo.fqn.name(value === null || value === void 0 ? void 0 : value.constructor)}`;
191
+ }
192
+ if (level >= 10) {
193
+ return `<max-depth>${this.leyyo.fqn.name(value === null || value === void 0 ? void 0 : value.constructor)}`;
194
+ }
195
+ set.add(value);
196
+ if (Array.isArray(value)) {
197
+ return value.map(item => this._secureJson(item, level + 1, set));
198
+ }
199
+ if (value instanceof Set) {
200
+ return Array.from(value).map(item => this._secureJson(item, level + 1, set));
201
+ }
202
+ const obj = {};
203
+ if (value instanceof Map) {
204
+ for (const [k, v] of value.entries()) {
205
+ if (typeof k === 'string') {
206
+ obj[k] = this._secureJson(v, level + 1, set);
207
+ }
208
+ }
209
+ }
210
+ else if ((value === null || value === void 0 ? void 0 : value.constructor) === Object) {
211
+ for (const [k, v] of Object.entries(value)) {
212
+ if (typeof k === 'string') {
213
+ obj[k] = this._secureJson(v, level + 1, set);
214
+ }
215
+ }
216
+ }
217
+ else {
218
+ try {
219
+ return JSON.parse(JSON.stringify(value));
220
+ }
221
+ catch (e) {
222
+ return `<object>${this.leyyo.fqn.name(value)} ==> ${e.message}`;
223
+ }
224
+ }
225
+ return obj;
226
+ case 'function':
227
+ return `<function>${this.leyyo.fqn.name(value)}`;
228
+ case 'symbol':
229
+ return `<symbol>${value.toString()}`;
230
+ }
231
+ return value;
232
+ }
233
+ /** @inheritDoc */
234
+ // noinspection JSUnusedLocalSymbols
235
+ emptyFn(...params) {
236
+ }
237
+ /** @inheritDoc */
238
+ secureJson(value) {
239
+ try {
240
+ return this._secureJson(value, 0, new WeakSet());
241
+ }
242
+ catch (e) {
243
+ return `<error> ==> ${e.message}`;
244
+ }
245
+ }
246
+ }
247
+ exports.CommonDeveloper = CommonDeveloper;
248
+ class DeveloperError extends Error {
249
+ constructor(message, opt) {
250
+ super(message);
251
+ this.params = opt;
252
+ }
253
+ }
254
+ class InvalidValueError extends Error {
255
+ constructor(message, opt) {
256
+ super(message);
257
+ this.params = opt;
258
+ }
259
+ }
260
+ class CausedError extends Error {
261
+ constructor(message, opt) {
262
+ super(message);
263
+ this.params = opt;
264
+ }
265
+ }
266
+ //# sourceMappingURL=common-developer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-developer.js","sourceRoot":"","sources":["../../src/developer/common-developer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { Arr, ClassLike, Func, InitLike, Obj, OneOrMore, ShiftMain, ShiftSecure } from "../shared";
2
+ import { Severity } from "../log";
3
+ export interface CommonDeveloperLike extends ShiftSecure<CommonDeveloperSecure> {
4
+ opt<O extends DevOpt = DevOpt>(value: O): O;
5
+ buildParameters(opt: DevOpt, extra?: DevOpt, e?: Error): DeveloperParamResult;
6
+ append<O extends DevOpt = DevOpt>(opt: O, field: string, value: any): O;
7
+ fetch(opt: DevOpt, field: string): any;
8
+ appendAll<O extends DevOpt = DevOpt>(opt: O, extra: DevOpt): O;
9
+ checkParameters(opt: DevOpt, extra?: DevOpt): DevOpt;
10
+ /**
11
+ * Asserts value is an object
12
+ * @param {DevOpt} opt
13
+ * @param {DevOpt?} extra
14
+ * */
15
+ raise(opt: DevOpt, extra?: DevOpt): void;
16
+ /**
17
+ * Asserts value is an object
18
+ * @param {DevOpt} opt
19
+ * @param {DevOpt?} extra
20
+ * */
21
+ invalid(opt: DevOpt, extra?: DevOpt): void;
22
+ /**
23
+ * Asserts value is an object
24
+ * @param {Error} e
25
+ * @param {DevOpt} opt
26
+ * @param {DevOpt?} extra
27
+ * */
28
+ native(e: Error, opt: DevOpt, extra?: DevOpt): void;
29
+ /**
30
+ * Asserts value is an object
31
+ * @param {Error} e
32
+ * @param {DevOpt} opt
33
+ * @param {Severity?} severity
34
+ * */
35
+ log(e: Error, opt: DevOpt, severity?: Severity): void;
36
+ log(opt: DevOpt, extra: DevOpt, severity?: Severity): void;
37
+ /**
38
+ * Empty function, it can be more useful sometimes
39
+ *
40
+ * @param {Arr} params - insignificant parameters
41
+ * */
42
+ emptyFn(...params: Arr): void;
43
+ /**
44
+ * Converts ant value secure json value
45
+ *
46
+ * Controls:
47
+ * - circular dependency
48
+ * - depth control
49
+ * - handling function and symbol values
50
+ *
51
+ * @param {any} value
52
+ * @returns {any} - it based on generic
53
+ * */
54
+ secureJson<E = unknown>(value: any): E;
55
+ }
56
+ /**
57
+ * Secure assertion methods
58
+ * */
59
+ export type CommonDeveloperSecure = ShiftMain<CommonDeveloperLike> & InitLike;
60
+ export interface DevOpt {
61
+ issue?: OneOrMore<DeveloperReason | string>;
62
+ field?: string;
63
+ param?: string;
64
+ where?: string | Obj | Func | ClassLike;
65
+ value?: any;
66
+ expected?: OneOrMore<string>;
67
+ current?: string;
68
+ type?: string;
69
+ method?: string;
70
+ case?: string;
71
+ [k: string]: any;
72
+ }
73
+ export type DeveloperReason = 'invalid' | 'not.allowed' | 'not.found' | 'duplicated' | 'empty' | 'conflicted';
74
+ export interface DeveloperParamResult {
75
+ message: string;
76
+ opt: DevOpt;
77
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-types.js","sourceRoot":"","sources":["../../src/developer/index-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './index-types';
@@ -14,20 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./country-code"), exports);
18
- __exportStar(require("./environment"), exports);
19
- __exportStar(require("./http-method"), exports);
20
- __exportStar(require("./http-place"), exports);
21
- __exportStar(require("./key-value"), exports);
22
- __exportStar(require("./language-code"), exports);
23
- __exportStar(require("./locale-code"), exports);
24
- __exportStar(require("./primitive"), exports);
25
- __exportStar(require("./real-value"), exports);
26
- __exportStar(require("./severity"), exports);
27
- __exportStar(require("./storage-type"), exports);
28
- __exportStar(require("./sys-class"), exports);
29
- __exportStar(require("./sys-function"), exports);
30
- __exportStar(require("./weak-false"), exports);
31
- __exportStar(require("./weak-true"), exports);
32
17
  __exportStar(require("./index-types"), exports);
33
18
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/developer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommonError = void 0;
4
- const shared_1 = require("../shared");
4
+ const leyyo_1 = require("../leyyo");
5
5
  const exception_1 = require("../exception");
6
+ const internal_1 = require("../internal");
6
7
  // noinspection JSUnusedLocalSymbols
7
8
  class CommonError {
8
9
  get $back() {
@@ -10,21 +11,31 @@ class CommonError {
10
11
  }
11
12
  $init(leyyo) {
12
13
  this.hook = leyyo.hook;
13
- const fields = ['build', 'afterCreate', 'causedBy', 'toObject', 'buildStack', 'copyStack',
14
- 'initSign', 'addSign', 'getSign', 'removeSign', 'hasSign',
15
- 'initOmit', 'addOmit', 'getOmit', 'inheritOmit'];
16
- const rec = { proper: false };
17
- fields.forEach(field => {
18
- rec[field] = this[field];
19
- });
20
- // define itself temporarily for error operations
21
- this.hook.defineProvider(shared_1.LY_ATTACHED_ERROR, CommonError, rec);
22
- // when new error provider is defined, replace all common methods
23
- this.hook.whenProviderDefined(shared_1.LY_ATTACHED_ERROR, CommonError, (ins) => {
14
+ leyyo.$secure.$earlyRun(() => {
15
+ exception_1.Exception.$setLeyyo(leyyo);
16
+ }).$lazyRun(() => {
17
+ const fields = ['build', 'afterCreate', 'causedBy', 'toObject', 'buildStack', 'copyStack',
18
+ 'initSign', 'addSign', 'getSign', 'removeSign', 'hasSign',
19
+ 'initOmit', 'addOmit', 'getOmit', 'inheritOmit'];
20
+ const rec = { proper: false };
24
21
  fields.forEach(field => {
25
- if (typeof ins[field] === 'function') {
26
- this[field] = ins[field];
27
- }
22
+ rec[field] = this[field];
23
+ });
24
+ // define itself temporarily for error operations
25
+ leyyo.hook.defineProvider(leyyo_1.LeyyoCommonHook.errorAttached, CommonError, rec);
26
+ // when new error provider is defined, replace all common methods
27
+ leyyo.hook.whenProviderDefined(leyyo_1.LeyyoCommonHook.errorAttached, CommonError, (ins) => {
28
+ fields.forEach(field => {
29
+ if (typeof ins[field] === 'function') {
30
+ this[field] = ins[field];
31
+ }
32
+ });
33
+ });
34
+ }).$lazyRun(() => {
35
+ leyyo.fqn.register(null, CommonError, 'class', internal_1.FQN_PCK);
36
+ [exception_1.Exception, exception_1.AssertionException, exception_1.CausedException, exception_1.DeveloperException, exception_1.MultipleException, exception_1.InvalidValueException].forEach(cls => {
37
+ leyyo.fqn.register(null, cls, 'class', internal_1.FQN_PCK);
38
+ leyyo.error.register(cls);
28
39
  });
29
40
  });
30
41
  }
@@ -41,7 +52,7 @@ class CommonError {
41
52
  e.$secure.$setName(e.constructor.name);
42
53
  }
43
54
  register(cls) {
44
- this.hook.queueForCallback(shared_1.LY_PENDING_ERROR_REGISTER, cls);
55
+ this.hook.queueForCallback(leyyo_1.LeyyoCommonHook.errorPendingRegister, cls);
45
56
  }
46
57
  build(e) {
47
58
  if (e instanceof exception_1.Exception) {
@@ -1 +1 @@
1
- {"version":3,"file":"common-error.js","sourceRoot":"","sources":["../../src/error/common-error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common-error.js","sourceRoot":"","sources":["../../src/error/common-error.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Dict, InitLike, ShiftMain, ShiftSecure } from "../shared";
2
2
  import { ExceptionLike } from "../exception";
3
+ import { HookDefinedProvider } from "../hook";
3
4
  export interface CommonErrorLike extends ShiftSecure<CommonErrorSecure> {
4
5
  register(cls: Function): void;
5
6
  build(e: Error | string): ExceptionLike;
@@ -19,3 +20,21 @@ export interface CommonErrorLike extends ShiftSecure<CommonErrorSecure> {
19
20
  inheritOmit(clz: Function): Array<string>;
20
21
  }
21
22
  export type CommonErrorSecure = ShiftMain<CommonErrorLike> & InitLike;
23
+ export interface ErrorDefinedProvider extends HookDefinedProvider {
24
+ register(exception: ExceptionLike): void;
25
+ build?(e: Error | string): ExceptionLike;
26
+ afterCreate?(e: ExceptionLike): void;
27
+ causedBy?(e: Error | string): ExceptionLike;
28
+ initSign?(err: Error): boolean;
29
+ addSign?(err: Error, ...keys: Array<string>): boolean;
30
+ getSign?(err: Error): Array<string>;
31
+ removeSign?(err: Error, ...keys: Array<string>): boolean;
32
+ hasSign?(err: Error, key: string): boolean;
33
+ toObject?(e: Error, ...omittedFields: Array<string>): Dict;
34
+ buildStack?(e: Error): void;
35
+ copyStack?(exception: ExceptionLike, error: Error): void;
36
+ initOmit?(clz: Function): boolean;
37
+ addOmit?(clz: Function, ...properties: Array<string>): boolean;
38
+ getOmit?(clz: Function): Array<string>;
39
+ inheritOmit?(clz: Function): Array<string>;
40
+ }
@@ -1,2 +1 @@
1
1
  export * from './index-types';
2
- export * from './common-error';
@@ -15,5 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./index-types"), exports);
18
- __exportStar(require("./common-error"), exports);
19
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
@@ -1,5 +1,5 @@
1
1
  import { Exception } from "./exception";
2
- import { AssertionOpt } from "../shared";
2
+ import { DevOpt } from "../developer";
3
3
  export declare class AssertionException extends Exception {
4
- constructor(indicator?: string, params?: AssertionOpt);
4
+ constructor(issue?: string, params?: DevOpt);
5
5
  }
@@ -4,8 +4,8 @@ exports.AssertionException = void 0;
4
4
  const exception_1 = require("./exception");
5
5
  // noinspection Annotator
6
6
  class AssertionException extends exception_1.Exception {
7
- constructor(indicator, params) {
8
- super(indicator, Object.assign(Object.assign({}, params), { indicator }));
7
+ constructor(issue, params) {
8
+ super(issue, Object.assign(Object.assign({}, params), { issue }));
9
9
  }
10
10
  }
11
11
  exports.AssertionException = AssertionException;
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-exception.js","sourceRoot":"","sources":["../../src/exception/assertion-exception.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAGtC,yBAAyB;AACzB,MAAa,kBAAmB,SAAQ,qBAAS;IAC7C,YAAY,SAAkB,EAAE,MAAqB;QACjD,KAAK,CAAC,SAAS,kCAAM,MAAM,KAAE,SAAS,IAAE,CAAC;IAC7C,CAAC;CACJ;AAJD,gDAIC"}
1
+ {"version":3,"file":"assertion-exception.js","sourceRoot":"","sources":["../../src/exception/assertion-exception.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAGtC,yBAAyB;AACzB,MAAa,kBAAmB,SAAQ,qBAAS;IAC7C,YAAY,KAAc,EAAE,MAAe;QACvC,KAAK,CAAC,KAAK,kCAAM,MAAM,KAAE,KAAK,IAAE,CAAC;IACrC,CAAC;CACJ;AAJD,gDAIC"}
@@ -1,5 +1,5 @@
1
1
  import { Exception } from "./exception";
2
- import { Dict } from "../shared";
2
+ import { DevOpt } from "../developer";
3
3
  export declare class CausedException extends Exception {
4
- constructor(e: Error, indicator?: string, params?: Dict);
4
+ constructor(e: Error, opt?: DevOpt);
5
5
  }
@@ -4,8 +4,8 @@ exports.CausedException = void 0;
4
4
  const exception_1 = require("./exception");
5
5
  // noinspection Annotator
6
6
  class CausedException extends exception_1.Exception {
7
- constructor(e, indicator, params) {
8
- super(e.message, Object.assign(Object.assign({}, params), { indicator }));
7
+ constructor(e, opt) {
8
+ super(e.message, opt);
9
9
  this.causedBy(e);
10
10
  }
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"caused-exception.js","sourceRoot":"","sources":["../../src/exception/caused-exception.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAGtC,yBAAyB;AACzB,MAAa,eAAgB,SAAQ,qBAAS;IAC1C,YAAY,CAAQ,EAAE,SAAkB,EAAE,MAAa;QACnD,KAAK,CAAC,CAAC,CAAC,OAAO,kCAAM,MAAM,KAAE,SAAS,IAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;CACJ;AALD,0CAKC"}
1
+ {"version":3,"file":"caused-exception.js","sourceRoot":"","sources":["../../src/exception/caused-exception.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAGtC,yBAAyB;AACzB,MAAa,eAAgB,SAAQ,qBAAS;IAC1C,YAAY,CAAQ,EAAE,GAAY;QAC9B,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;CACJ;AALD,0CAKC"}
@@ -1,5 +1,5 @@
1
1
  import { Exception } from "./exception";
2
- import { AssertionOpt } from "../shared";
2
+ import { DevOpt } from "../developer";
3
3
  export declare class DeveloperException extends Exception {
4
- constructor(indicator?: string, params?: AssertionOpt);
4
+ constructor(params?: DevOpt);
5
5
  }
@@ -4,8 +4,8 @@ exports.DeveloperException = void 0;
4
4
  const exception_1 = require("./exception");
5
5
  // noinspection Annotator
6
6
  class DeveloperException extends exception_1.Exception {
7
- constructor(indicator, params) {
8
- super(indicator, Object.assign(Object.assign({}, params), { indicator }));
7
+ constructor(params) {
8
+ super('Developer Error', params);
9
9
  }
10
10
  }
11
11
  exports.DeveloperException = DeveloperException;
@@ -1 +1 @@
1
- {"version":3,"file":"developer-exception.js","sourceRoot":"","sources":["../../src/exception/developer-exception.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAGtC,yBAAyB;AACzB,MAAa,kBAAmB,SAAQ,qBAAS;IAC7C,YAAY,SAAkB,EAAE,MAAqB;QACjD,KAAK,CAAC,SAAS,kCAAM,MAAM,KAAE,SAAS,IAAE,CAAC;IAC7C,CAAC;CACJ;AAJD,gDAIC"}
1
+ {"version":3,"file":"developer-exception.js","sourceRoot":"","sources":["../../src/exception/developer-exception.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAGtC,yBAAyB;AACzB,MAAa,kBAAmB,SAAQ,qBAAS;IAC7C,YAAY,MAAe;QACvB,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;CACJ;AAJD,gDAIC"}
@@ -3,10 +3,11 @@ import { Abstract, ClassLike, ClassOrName, Dict } from "../shared";
3
3
  import { LeyyoLike } from "../leyyo";
4
4
  import { ExceptionLike, ExceptionParamsAppend, ExceptionSecure, ExceptionStackLine } from "./index-types";
5
5
  export declare class Exception extends Error implements ExceptionLike, ExceptionSecure {
6
+ private static _leyyo;
6
7
  private static _fqn;
7
8
  private static _error;
8
9
  private static _log;
9
- private static _assertion;
10
+ private static _dev;
10
11
  protected _params: Dict;
11
12
  protected _parsed: Array<ExceptionStackLine>;
12
13
  protected _holder?: ClassOrName;
@@ -32,3 +33,4 @@ export declare class Exception extends Error implements ExceptionLike, Exception
32
33
  get $back(): ExceptionLike;
33
34
  get $secure(): ExceptionSecure;
34
35
  }
36
+ export type ExceptionClass<E extends Exception = Exception> = ClassLike<E>;