@futdevpro/fsm-dynamo 1.9.39 → 1.9.41

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 (43) hide show
  1. package/build/_collections/utils/array.util.d.ts +7 -2
  2. package/build/_collections/utils/array.util.d.ts.map +1 -1
  3. package/build/_collections/utils/array.util.js +50 -5
  4. package/build/_collections/utils/array.util.js.map +1 -1
  5. package/build/_collections/utils/log.util.d.ts +3 -3
  6. package/build/_collections/utils/log.util.d.ts.map +1 -1
  7. package/build/_collections/utils/log.util.js.map +1 -1
  8. package/build/_collections/utils/math/vector2.util.d.ts +1 -0
  9. package/build/_collections/utils/math/vector2.util.d.ts.map +1 -1
  10. package/build/_collections/utils/math/vector2.util.js +3 -0
  11. package/build/_collections/utils/math/vector2.util.js.map +1 -1
  12. package/build/_collections/utils/{shared.static-service.d.ts → shared.util.d.ts} +23 -2
  13. package/build/_collections/utils/shared.util.d.ts.map +1 -0
  14. package/build/_collections/utils/{shared.static-service.js → shared.util.js} +45 -17
  15. package/build/_collections/utils/shared.util.js.map +1 -0
  16. package/build/_collections/utils/time.util.d.ts +1 -0
  17. package/build/_collections/utils/time.util.d.ts.map +1 -1
  18. package/build/_collections/utils/time.util.js +30 -0
  19. package/build/_collections/utils/time.util.js.map +1 -1
  20. package/build/_models/control-models/error.control-model.d.ts +1 -0
  21. package/build/_models/control-models/error.control-model.d.ts.map +1 -1
  22. package/build/_models/control-models/error.control-model.js +110 -63
  23. package/build/_models/control-models/error.control-model.js.map +1 -1
  24. package/build/_models/control-models/error.control-model.spec.js +26 -10
  25. package/build/_models/control-models/error.control-model.spec.js.map +1 -1
  26. package/build/index.d.ts +2 -3
  27. package/build/index.d.ts.map +1 -1
  28. package/build/index.js +2 -3
  29. package/build/index.js.map +1 -1
  30. package/futdevpro-fsm-dynamo-01.09.41.tgz +0 -0
  31. package/package.json +3 -2
  32. package/spec/support/jasmine.json +8 -0
  33. package/src/_collections/utils/array.util.ts +69 -5
  34. package/src/_collections/utils/log.util.ts +3 -3
  35. package/src/_collections/utils/math/vector2.util.ts +4 -0
  36. package/src/_collections/utils/{shared.static-service.ts → shared.util.ts} +63 -16
  37. package/src/_collections/utils/time.util.ts +23 -0
  38. package/src/_models/control-models/error.control-model.spec.ts +45 -13
  39. package/src/_models/control-models/error.control-model.ts +150 -67
  40. package/src/index.ts +2 -3
  41. package/build/_collections/utils/shared.static-service.d.ts.map +0 -1
  42. package/build/_collections/utils/shared.static-service.js.map +0 -1
  43. package/futdevpro-fsm-dynamo-01.09.39.tgz +0 -0
@@ -31,6 +31,7 @@ export interface DyFM_Error_Settings {
31
31
  confidentialContent?: any;
32
32
  stack?: string;
33
33
 
34
+ allowCircular?: boolean;
34
35
  modestLog?: boolean;
35
36
  log?: boolean;
36
37
 
@@ -95,51 +96,94 @@ export class DyFM_Error extends DyFM_Metadata {
95
96
  }
96
97
 
97
98
  /** set simple properties */
98
- this.___handled = Boolean(set?.handled ?? (set?.error as DyFM_Error)?.___handled);
99
- this.___status = set?.status ?? (set?.error as DyFM_Error)?.___status;
100
- this.___issuer = set?.issuer ??
101
- (set?.error as DyFM_Error)?.___issuer ??
99
+ this.___handled = Boolean(set.handled ?? (set.error as DyFM_Error)?.___handled);
100
+ this.___status = set.status ?? (set.error as DyFM_Error)?.___status;
101
+ this.___issuer = set.issuer ??
102
+ (set.error as DyFM_Error)?.___issuer ??
102
103
  DyFM_error_defaults.issuer;
103
- this.___issuerSystem = set?.issuerSystem ??
104
- (set?.error as DyFM_Error)?.___issuerSystem ??
104
+ this.___issuerSystem = set.issuerSystem ??
105
+ (set.error as DyFM_Error)?.___issuerSystem ??
105
106
  DyFM_error_defaults.issuerSystem;
106
- this.___issuerService = set?.issuerService ??
107
- (set?.error as DyFM_Error)?.___issuerService ??
107
+ this.___issuerService = set.issuerService ??
108
+ (set.error as DyFM_Error)?.___issuerService ??
108
109
  DyFM_error_defaults.issuerService;
109
110
 
110
- this.level = set?.level ?? (set?.error as DyFM_Error)?.level ?? DyFM_ErrorLevel.error;
111
-
112
- this.levelUpThis = set?.levelUpThis;
113
-
114
- if (set?.additionalContent && (set?.error as DyFM_Error)?.additionalContent) {
115
- this.additionalContent = {
116
- ...(set?.error as DyFM_Error)?.additionalContent,
117
- ...set.additionalContent,
118
- };
119
- } else if (set?.additionalContent) {
120
- this.additionalContent = set.additionalContent;
121
- } else if ((set?.error as DyFM_Error)?.additionalContent) {
122
- this.additionalContent = (set?.error as DyFM_Error)?.additionalContent;
111
+ this.level = set.level ?? (set.error as DyFM_Error)?.level ?? DyFM_ErrorLevel.error;
112
+
113
+ this.levelUpThis = set.levelUpThis;
114
+
115
+ set.allowCircular = set.allowCircular ??
116
+ set.additionalContent?.allowCircular ??
117
+ (set.error as DyFM_Error)?.additionalContent?.allowCircular ??
118
+ false;
119
+
120
+ if (set.allowCircular) {
121
+ this.additionalContent.allowCircular = true;
123
122
  }
124
123
 
125
- if (set?.confidentialContent && (set?.error as DyFM_Error)?.confidentialContent) {
126
- this.confidentialContent = {
127
- ...(set?.error as DyFM_Error)?.confidentialContent,
128
- ...set.confidentialContent,
129
- };
130
- } else if (set?.confidentialContent) {
131
- this.confidentialContent = set.confidentialContent;
132
- } else if ((set?.error as DyFM_Error)?.confidentialContent) {
133
- this.confidentialContent = (set?.error as DyFM_Error)?.confidentialContent;
124
+ if (
125
+ !set.allowCircular &&
126
+ set.additionalContent &&
127
+ Object.keys(set.additionalContent).length
128
+ ) {
129
+ try {
130
+ JSON.stringify(set.additionalContent);
131
+ } catch (error) {
132
+ DyFM_Log.error(
133
+ 'Internal Dynamo ERROR: additionalContent is not JSON.stringifyable... ' +
134
+ '(it will be removed!)',
135
+ '\nerrorCode:', set.errorCode,
136
+ /* 'additionalContent:', set.additionalContent, */
137
+ );
138
+ delete set.additionalContent;
139
+ }
134
140
  }
135
141
 
136
- /** set default error code */
142
+ if (
143
+ !set.allowCircular &&
144
+ !set.additionalContent?.allowCircular &&
145
+ (set.error as DyFM_Error)?.additionalContent &&
146
+ !(set.error as DyFM_Error)?.additionalContent?.allowCircular &&
147
+ Object.keys((set.error as DyFM_Error)?.additionalContent).length
148
+ ) {
149
+ try {
150
+ JSON.stringify((set.error as DyFM_Error)?.additionalContent);
151
+ } catch (error) {
152
+ DyFM_Log.error(
153
+ 'Internal Dynamo ERROR: additionalContent is not JSON.stringifyable... ' +
154
+ '(it will be removed!)',
155
+ '\nerrorCode:', set.errorCode,
156
+ /* 'additionalContent:', (set.error as DyFM_Error)?.additionalContent, */
157
+ );
158
+ delete (set.error as DyFM_Error)?.additionalContent;
159
+ }
160
+ }
161
+
162
+ // ADDITIONAL CONTENT
163
+ if ((set.error as DyFM_Error)?.additionalContent) {
164
+ Object.assign(this.additionalContent, (set.error as DyFM_Error)?.additionalContent);
165
+ }
166
+
167
+ if (set.additionalContent) {
168
+ Object.assign(this.additionalContent, set.additionalContent);
169
+ }
170
+
171
+ // CONFIDENTIAL CONTENT
172
+ if ((set.error as DyFM_Error)?.confidentialContent) {
173
+ Object.assign(this.confidentialContent, (set.error as DyFM_Error)?.confidentialContent);
174
+ }
175
+
176
+ if (set.confidentialContent) {
177
+ Object.assign(this.confidentialContent, set.confidentialContent);
178
+ }
179
+
180
+ // ERROR CODE
137
181
  if (!set.errorCode) {
138
182
  set.errorCode = DyFM_error_defaults.errorCode;
139
183
  }
140
184
 
141
185
  /** set default error (self defined) */
142
- if (!set?.error) {
186
+ if (!set.error) {
143
187
  set.error = new Error();
144
188
  const errorStack: string[] = set.error.stack?.split('\n');
145
189
 
@@ -158,8 +202,8 @@ export class DyFM_Error extends DyFM_Metadata {
158
202
  /** set errorCodes */
159
203
  let previousErrorCodes: string[] = [];
160
204
 
161
- if ((set?.error as DyFM_Error)?._errorCodes) {
162
- previousErrorCodes.push(...((set?.error as DyFM_Error)?._errorCodes ?? []));
205
+ if ((set.error as DyFM_Error)?._errorCodes) {
206
+ previousErrorCodes.push(...((set.error as DyFM_Error)?._errorCodes ?? []));
163
207
  }
164
208
 
165
209
  if (!set.errorCode) {
@@ -168,7 +212,7 @@ export class DyFM_Error extends DyFM_Metadata {
168
212
  previousErrorCodes = previousErrorCodes.filter(
169
213
  (code: string): boolean => code !== set.errorCode
170
214
  );
171
- this._errorCodes = [ ...previousErrorCodes, set?.errorCode ].filter(Boolean);
215
+ this._errorCodes = [ ...previousErrorCodes, set.errorCode ].filter(Boolean);
172
216
 
173
217
  /** bring up non NTS and non default first error */
174
218
  const filteredErrorCodes: string[] = this._errorCodes.filter(
@@ -183,15 +227,15 @@ export class DyFM_Error extends DyFM_Metadata {
183
227
 
184
228
  /** set message */
185
229
  if (!set.message) {
186
- if (typeof set?.error === 'string') {
230
+ if (typeof set.error === 'string') {
187
231
  /** string error */
188
232
  set.message = set.error;
189
233
  } else if (
190
- !(set?.error as DyFM_Error)?.flag?.includes('DYNAMO') &&
191
- (set?.error as Error)?.message
234
+ !(set.error as DyFM_Error)?.flag?.includes('DYNAMO') &&
235
+ (set.error as Error)?.message
192
236
  ) {
193
237
  /** simple - non-dynamo - error */
194
- set.message = (set?.error as Error)?.message;
238
+ set.message = (set.error as Error)?.message;
195
239
  } else if ((set.error as Error).stack) {
196
240
  /** error not defined - self defining */
197
241
  const posFull: string[] = (set.error as Error).stack?.split('\n')?.[1]?.split('\\');
@@ -202,15 +246,15 @@ export class DyFM_Error extends DyFM_Metadata {
202
246
  /** set messages */
203
247
  let previousMessages: string[] = [];
204
248
 
205
- if ((set?.error as DyFM_Error)?._messages) {
206
- previousMessages.push(...((set?.error as DyFM_Error)?._messages ?? []));
207
- } else if ((set?.error as Error)?.message) {
208
- previousErrorCodes.push((set?.error as Error)?.message);
249
+ if ((set.error as DyFM_Error)?._messages) {
250
+ previousMessages.push(...((set.error as DyFM_Error)?._messages ?? []));
251
+ } else if ((set.error as Error)?.message) {
252
+ previousErrorCodes.push((set.error as Error)?.message);
209
253
  }
210
254
  previousMessages = previousMessages.filter(
211
255
  (msg: string): boolean => msg !== set.message
212
256
  );
213
- this._messages = [ ...previousMessages, set?.message ].filter(Boolean);
257
+ this._messages = [ ...previousMessages, set.message ].filter(Boolean);
214
258
 
215
259
  if (
216
260
  -1 < highlightedErrorCodeIndex &&
@@ -225,8 +269,8 @@ export class DyFM_Error extends DyFM_Metadata {
225
269
  /** set userMessages */
226
270
  let previousUserMessages: string[] = [];
227
271
 
228
- if ((set?.error as DyFM_Error)?.__userMessages) {
229
- previousUserMessages.push(...((set?.error as DyFM_Error)?.__userMessages ?? []));
272
+ if ((set.error as DyFM_Error)?.__userMessages) {
273
+ previousUserMessages.push(...((set.error as DyFM_Error)?.__userMessages ?? []));
230
274
  }
231
275
 
232
276
  if (!set.userMessage) {
@@ -243,7 +287,7 @@ export class DyFM_Error extends DyFM_Metadata {
243
287
  previousUserMessages = previousUserMessages.filter(
244
288
  (msg: string): boolean => msg !== set.userMessage
245
289
  );
246
- this.__userMessages = [ ...previousUserMessages, set?.userMessage ].filter(Boolean);
290
+ this.__userMessages = [ ...previousUserMessages, set.userMessage ].filter(Boolean);
247
291
 
248
292
  if (
249
293
  -1 < highlightedErrorCodeIndex &&
@@ -259,23 +303,23 @@ export class DyFM_Error extends DyFM_Metadata {
259
303
 
260
304
  /** set userMessageTranslateCode */
261
305
  set.userMessageTranslateCode =
262
- set?.userMessageTranslateCode ??
263
- (set?.error as DyFM_Error)?.__userMessageTranslateCode;
306
+ set.userMessageTranslateCode ??
307
+ (set.error as DyFM_Error)?.__userMessageTranslateCode;
264
308
 
265
309
  /** set errors */
266
310
  let previousErrors: DyFM_AnyError[] = [];
267
311
 
268
- if ((set?.error as DyFM_Error)?.errors?.length) {
312
+ if ((set.error as DyFM_Error)?.errors?.length) {
269
313
  previousErrors.push(...(set.error as DyFM_Error).errors);
270
- } else if (typeof (set?.error as DyFM_Error)?.errors == 'object') {
271
- this.additionalContent.errors = (set?.error as DyFM_Error).errors;
314
+ } else if (typeof (set.error as DyFM_Error)?.errors == 'object') {
315
+ this.additionalContent.errors = (set.error as DyFM_Error).errors;
272
316
  }
273
317
  previousErrors = previousErrors.filter(
274
318
  (error: DyFM_AnyError): boolean => error !== set.error
275
319
  );
276
- this.errors = [ ...previousErrors, set?.error ].filter(Boolean);
320
+ this.errors = [ ...previousErrors, set.error ].filter(Boolean);
277
321
 
278
- if (set?.errors) {
322
+ if (set.errors) {
279
323
  if (0 < this.errors.length) {
280
324
  this.errors.push(...(set.errors ?? []));
281
325
  } else {
@@ -286,23 +330,55 @@ export class DyFM_Error extends DyFM_Metadata {
286
330
  }
287
331
  }
288
332
  this.error = this.errors?.[0];
289
- this.errors.map((error: DyFM_AnyError): any => {
290
- if ((error as DyFM_Error)?.flag?.includes('DYNAMO')) {
291
- const subError = { ...(error ?? {}) };
292
-
293
- if ((subError as DyFM_Error)?.errors) {
294
- delete (subError as DyFM_Error).errors;
295
- }
333
+ this.errors = this.errors.map((subError: DyFM_AnyError): any => {
334
+ if ((subError as DyFM_Error)?.errors) {
335
+ subError = { ...subError } as DyFM_Error;
336
+ delete subError.errors;
337
+ delete subError.additionalContent;
338
+ }
296
339
 
297
- return subError;
340
+ if (((subError as DyFM_Error).error as DyFM_Error)?.errors) {
341
+ (subError as DyFM_Error).error = { ...(subError as DyFM_Error).error } as DyFM_Error;
342
+ delete ((subError as DyFM_Error).error as DyFM_Error).errors;
343
+ delete ((subError as DyFM_Error).error as DyFM_Error).additionalContent;
298
344
  }
345
+
346
+ return subError;
299
347
  });
300
348
 
301
- if (set?.modestLog) {
349
+ this.errors = this.errors.filter((error: DyFM_AnyError): boolean =>
350
+ Boolean(error) && (error instanceof Error || Boolean(Object.keys(error).length))
351
+ );
352
+
353
+ if (!set.allowCircular) {
354
+ this.errors = this.errors.filter((subError: DyFM_AnyError): boolean => {
355
+ if (subError instanceof Error) {
356
+ return true;
357
+ }
358
+
359
+ try {
360
+ JSON.stringify(subError);
361
+
362
+ return true;
363
+ } catch (error) {
364
+ DyFM_Log.error(
365
+ 'Internal Dynamo ERROR: error is not JSON.stringifyable... ' +
366
+ '(it will be removed!)',
367
+ '\nerrorCode:', subError._errorCode,
368
+ );
369
+
370
+ return false;
371
+ }
372
+ });
373
+ }
374
+
375
+
376
+
377
+ if (set.modestLog) {
302
378
  console.error(this._message ?? this.__userMessage ?? this.error);
303
379
  }
304
380
 
305
- if (set?.log) {
381
+ if (set.log) {
306
382
  console.error(this);
307
383
  }
308
384
  } catch (error) {
@@ -325,7 +401,7 @@ export class DyFM_Error extends DyFM_Metadata {
325
401
  }
326
402
 
327
403
  getErrorsFlat(): DyFM_Error {
328
- const error: DyFM_Error = { ...this };
404
+ const error: any = { ...this };
329
405
 
330
406
  if ((error.error as DyFM_Error)?.error) {
331
407
  delete (error.error as DyFM_Error).error;
@@ -335,9 +411,12 @@ export class DyFM_Error extends DyFM_Metadata {
335
411
  delete (error.error as DyFM_Error).errors;
336
412
  }
337
413
 
338
- error.errors.map((err: DyFM_Error): void => {
339
- const subError = { ...(err ?? {}) };
414
+ error.errors = error.errors.map(
415
+ (subError: DyFM_Error): Partial<DyFM_Error> =>
416
+ error instanceof Error ? error : ({ ...subError })
417
+ );
340
418
 
419
+ error.errors.forEach((subError: DyFM_Error): void => {
341
420
  if (subError.errors) {
342
421
  delete subError.errors;
343
422
  }
@@ -349,6 +428,10 @@ export class DyFM_Error extends DyFM_Metadata {
349
428
  if ((subError.error as DyFM_Error)?.error) {
350
429
  delete (subError.error as DyFM_Error).error;
351
430
  }
431
+
432
+ if (subError.additionalContent) {
433
+ delete subError.additionalContent;
434
+ }
352
435
  });
353
436
 
354
437
  return error;
package/src/index.ts CHANGED
@@ -10,7 +10,7 @@ export * from './_collections/constants/times.const';
10
10
  export * from './_collections/utils/array.util';
11
11
  export * from './_collections/utils/log.util';
12
12
  export * from './_collections/utils/round-list.util';
13
- export * from './_collections/utils/shared.static-service';
13
+ export * from './_collections/utils/shared.util';
14
14
  export * from './_collections/utils/time.util';
15
15
  export * from './_collections/utils/type-cloning-facility.util';
16
16
  export * from './_collections/utils/utilities.util';
@@ -33,7 +33,6 @@ export * from './_collections/utils/regex/username-regex.util';
33
33
  export * from './_enums/basic-property-type.enum';
34
34
  export * from './_enums/data-model-type.enum';
35
35
  export * from './_enums/error-level.enum';
36
- export * from './_enums/error-level.enum';
37
36
  export * from './_enums/log-style.enum';
38
37
 
39
38
  // enums/PIPE
@@ -61,6 +60,6 @@ export * from './_models/interfaces/route-settings.interface';
61
60
  export * from './_models/interfaces/vector2.interface';
62
61
 
63
62
  // models/interfaces/ENVIRONMENT
64
- export * from './_models/interfaces/environment/global-settings.interface';
65
63
  export * from './_models/interfaces/environment/global-log-settings.interface';
64
+ export * from './_models/interfaces/environment/global-settings.interface';
66
65
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.static-service.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/shared.static-service.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;IAgBjE;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,GAAG;IAYtE;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM;IAe9E;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM;IAerF;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,GAAG,MAAM;IAmBvF;;;;;;;OAOG;IACH,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAC9B,SAAS,EAAE,CAAC,EACZ,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,GAAG,GACb,CAAC;IAiBJ;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EACP,QAAQ,GAAE,MAAM,EAA4C,EAC5D,IAAI,GAAE,GAAG,EAAa,GACrB,GAAG;CAuBP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.static-service.js","sourceRoot":"","sources":["../../../src/_collections/utils/shared.static-service.ts"],"names":[],"mappings":"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"}
Binary file