@futdevpro/fsm-dynamo 1.11.1 → 1.11.2

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.
@@ -100,6 +100,25 @@ export declare class DyFM_Shared {
100
100
  static cleanObject(obj: any): void;
101
101
  /** intertwine */
102
102
  static mergeObjects(target: any, source: any): any;
103
+ /**
104
+ * parses the JSON list, if it fails, it returns the answer as a single item in an array
105
+ *
106
+ * (uses {@link DyFM_safeParseJSON})
107
+ */
108
+ static safeParseList<T extends Array<any>>(textedJSON: string, disableErrorLog?: boolean): T;
109
+ /**
110
+ * parses the JSON, if it fails, it returns { unparsableResult: textedJSON }
111
+ *
112
+ * (uses {@link DyFM_failableSafeParseJSON})
113
+ */
114
+ static safeParseJSON<T = any>(textedJSON: string, disableErrorLog?: boolean): T | {
115
+ unparsableResult: string;
116
+ };
117
+ /**
118
+ * parses the JSON, if it fails, it throws an error
119
+ * (also will extract the JSON from "```json ... ```" wrapper)
120
+ */
121
+ static failableSafeParseJSON<T = any>(textedJSON: string): T;
103
122
  }
104
123
  export type DyFM_Object = DyFM_Shared;
105
124
  //# sourceMappingURL=shared.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/shared.util.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,MAAM,CAAC,QAAQ,CAAC,iBAAiB,wCAA2B;IAC5D;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EACP,QAAQ,GAAE,MAAM,EAA4C,EAC5D,IAAI,GAAE,GAAG,EAAO,GAEf,GAAG;IA4BN;;;;;;;;;;OAUG;IACH,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,GAAG,EACT,QAAQ,GAAE,MAAM,EAA4C,EAC5D,IAAI,GAAE,GAAG,EAAO,EAChB,YAAY,GAAE;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,sBAAsB,EAAE,MAAM,EAAE,CAAA;KAAE,EAAO,GACrE;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,sBAAsB,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;IAsBtD;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAUlC,iBAAiB;IACjB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;CA0B7C;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"shared.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/shared.util.ts"],"names":[],"mappings":"AAIA,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,MAAM,CAAC,QAAQ,CAAC,iBAAiB,wCAA2B;IAC5D;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EACP,QAAQ,GAAE,MAAM,EAA4C,EAC5D,IAAI,GAAE,GAAG,EAAO,GAEf,GAAG;IA4BN;;;;;;;;;;OAUG;IACH,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,GAAG,EACT,QAAQ,GAAE,MAAM,EAA4C,EAC5D,IAAI,GAAE,GAAG,EAAO,EAChB,YAAY,GAAE;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,sBAAsB,EAAE,MAAM,EAAE,CAAA;KAAE,EAAO,GACrE;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,sBAAsB,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;IAsBtD;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAUlC,iBAAiB;IACjB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IA2B5C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,EACvC,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,OAAO,GACxB,CAAC;IA+BJ;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,GAAG,EAC1B,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,OAAO,GACxB,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAkBnC;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;CAgB7D;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyFM_Shared = void 0;
4
+ const log_util_1 = require("./log.util");
4
5
  const utilities_util_1 = require("./utilities.util");
5
6
  class DyFM_Shared {
6
7
  /**
@@ -229,6 +230,69 @@ class DyFM_Shared {
229
230
  }
230
231
  return target;
231
232
  }
233
+ /**
234
+ * parses the JSON list, if it fails, it returns the answer as a single item in an array
235
+ *
236
+ * (uses {@link DyFM_safeParseJSON})
237
+ */
238
+ static safeParseList(textedJSON, disableErrorLog) {
239
+ const parsed = this.safeParseJSON(textedJSON, true);
240
+ if (Array.isArray(parsed)) {
241
+ return parsed;
242
+ }
243
+ else if (typeof parsed === 'object') {
244
+ if (!disableErrorLog) {
245
+ log_util_1.DyFM_Log.warn('DyFM_safeParseList result is an object, returning its values', {
246
+ parsed: parsed,
247
+ });
248
+ }
249
+ return Object.values(parsed);
250
+ }
251
+ else {
252
+ if (!disableErrorLog) {
253
+ log_util_1.DyFM_Log.warn('DyFM_safeParseList result is not an array or object, returning it as a single item', {
254
+ parsed: parsed,
255
+ });
256
+ }
257
+ return [parsed];
258
+ }
259
+ }
260
+ /**
261
+ * parses the JSON, if it fails, it returns { unparsableResult: textedJSON }
262
+ *
263
+ * (uses {@link DyFM_failableSafeParseJSON})
264
+ */
265
+ static safeParseJSON(textedJSON, disableErrorLog) {
266
+ try {
267
+ return this.failableSafeParseJSON(textedJSON);
268
+ }
269
+ catch (error) {
270
+ if (!disableErrorLog) {
271
+ log_util_1.DyFM_Log.error('Unable to parse JSON answer:', {
272
+ unparsedJSON: textedJSON,
273
+ error: error,
274
+ });
275
+ }
276
+ return { unparsableResult: textedJSON };
277
+ }
278
+ }
279
+ /**
280
+ * parses the JSON, if it fails, it throws an error
281
+ * (also will extract the JSON from "```json ... ```" wrapper)
282
+ */
283
+ static failableSafeParseJSON(textedJSON) {
284
+ if (!textedJSON) {
285
+ throw new Error(`No content provided to JSON parse ("${textedJSON}")`);
286
+ }
287
+ const match = textedJSON.match(/```json(.*)```/s);
288
+ textedJSON = textedJSON.replaceAll('\n', '');
289
+ if (match) {
290
+ return JSON.parse(match[1].replaceAll('\n', ''));
291
+ }
292
+ else {
293
+ return JSON.parse(textedJSON.replaceAll('```json', '').replaceAll('```', ''));
294
+ }
295
+ }
232
296
  }
233
297
  exports.DyFM_Shared = DyFM_Shared;
234
298
  //# sourceMappingURL=shared.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/shared.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/shared.util.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@
8
8
  * { userIds: { $in: this.userId } }
9
9
  * //
10
10
  * @example
11
+ * // or by userIds:
12
+ * { userId: { $in: userIds } }
13
+ * //
14
+ * @example
11
15
  * // or by number or Date that is Greater Than AND Less Than:
12
16
  * { points: { $gt: 2, $lt: 14 } }
13
17
  * // further tools (syntax matches with $gt):
@@ -1 +1 @@
1
- {"version":3,"file":"db-filter.type.d.ts","sourceRoot":"","sources":["../../../src/_models/types/db-filter.type.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,mBAAmB,CAAC,CAAC,CAAC,GACtB,eAAe,CAAC,CAAC,CAAC,GAClB,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;KAClC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACjE,GAAG;IACF,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC;IACV;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACT;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAGF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B;;OAEG;IACH,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/B,CAAA"}
1
+ {"version":3,"file":"db-filter.type.d.ts","sourceRoot":"","sources":["../../../src/_models/types/db-filter.type.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,mBAAmB,CAAC,CAAC,CAAC,GACtB,eAAe,CAAC,CAAC,CAAC,GAClB,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;KAClC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACjE,GAAG;IACF,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC;IACV;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACT;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAGF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B;;OAEG;IACH,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/B,CAAA"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "01.11.01",
3
+ "version": "01.11.2",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "full-stack-package",
@@ -1,4 +1,5 @@
1
1
 
2
+ import { DyFM_Log } from './log.util';
2
3
  import { DyFM_clone, DyFM_sameObjects } from './utilities.util';
3
4
 
4
5
  export class DyFM_Shared {
@@ -282,7 +283,93 @@ export class DyFM_Shared {
282
283
 
283
284
  return target;
284
285
  }
286
+
287
+
288
+ /**
289
+ * parses the JSON list, if it fails, it returns the answer as a single item in an array
290
+ *
291
+ * (uses {@link DyFM_safeParseJSON})
292
+ */
293
+ static safeParseList<T extends Array<any>>(
294
+ textedJSON: string,
295
+ disableErrorLog?: boolean
296
+ ): T {
297
+ const parsed = this.safeParseJSON<T>(textedJSON, true);
298
+
299
+ if (Array.isArray(parsed)) {
300
+ return parsed;
301
+ } else if (typeof parsed === 'object') {
302
+ if (!disableErrorLog) {
303
+ DyFM_Log.warn(
304
+ 'DyFM_safeParseList result is an object, returning its values',
305
+ {
306
+ parsed: parsed,
307
+ }
308
+ );
309
+ }
310
+
311
+ return Object.values(parsed) as T;
312
+ } else {
313
+
314
+ if (!disableErrorLog) {
315
+ DyFM_Log.warn(
316
+ 'DyFM_safeParseList result is not an array or object, returning it as a single item',
317
+ {
318
+ parsed: parsed,
319
+ }
320
+ );
321
+ }
322
+
323
+ return [ parsed ] as string[] as T;
324
+ }
325
+ }
285
326
 
327
+ /**
328
+ * parses the JSON, if it fails, it returns { unparsableResult: textedJSON }
329
+ *
330
+ * (uses {@link DyFM_failableSafeParseJSON})
331
+ */
332
+ static safeParseJSON<T = any>(
333
+ textedJSON: string,
334
+ disableErrorLog?: boolean
335
+ ): T | { unparsableResult: string } {
336
+ try {
337
+ return this.failableSafeParseJSON(textedJSON);
338
+ } catch (error) {
339
+ if (!disableErrorLog) {
340
+ DyFM_Log.error(
341
+ 'Unable to parse JSON answer:',
342
+ {
343
+ unparsedJSON: textedJSON,
344
+ error: error,
345
+ }
346
+ );
347
+ }
348
+
349
+ return { unparsableResult: textedJSON };
350
+ }
351
+ }
352
+
353
+ /**
354
+ * parses the JSON, if it fails, it throws an error
355
+ * (also will extract the JSON from "```json ... ```" wrapper)
356
+ */
357
+ static failableSafeParseJSON<T = any>(textedJSON: string): T {
358
+ if (!textedJSON) {
359
+ throw new Error(`No content provided to JSON parse ("${textedJSON}")`);
360
+ }
361
+
362
+ const match = textedJSON.match(/```json(.*)```/s);
363
+ textedJSON = textedJSON.replaceAll('\n', '');
364
+
365
+ if (match) {
366
+ return JSON.parse(match[1].replaceAll('\n', ''));
367
+ } else {
368
+ return JSON.parse(
369
+ textedJSON.replaceAll('```json', '').replaceAll('```', '')
370
+ );
371
+ }
372
+ }
286
373
  }
287
374
 
288
375
  export type DyFM_Object = DyFM_Shared;
@@ -9,6 +9,10 @@
9
9
  * { userIds: { $in: this.userId } }
10
10
  * //
11
11
  * @example
12
+ * // or by userIds:
13
+ * { userId: { $in: userIds } }
14
+ * //
15
+ * @example
12
16
  * // or by number or Date that is Greater Than AND Less Than:
13
17
  * { points: { $gt: 2, $lt: 14 } }
14
18
  * // further tools (syntax matches with $gt):
Binary file