namirasoft-site-react 1.4.516 → 1.4.517

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.
@@ -2,5 +2,6 @@ import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
2
  import { TableColumnInfo, TableRowInfo } from "../main";
3
3
  export declare class JsonFormatter extends BaseColumnFormatter {
4
4
  constructor(width?: string);
5
+ private isJsonSerializable;
5
6
  format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any;
6
7
  }
@@ -7,14 +7,34 @@ export class JsonFormatter extends BaseColumnFormatter {
7
7
  if (width)
8
8
  this.width = width;
9
9
  }
10
- format(value, _, __, printable) {
10
+ isJsonSerializable(v) {
11
11
  try {
12
- let parsed = JSON.parse(String(value).trim());
13
- if (!printable)
14
- return _jsx(JsonView, { value: parsed });
12
+ JSON.stringify(v);
13
+ return true;
14
+ }
15
+ catch (_a) {
16
+ return false;
17
+ }
18
+ }
19
+ format(value, _, __, printable) {
20
+ let parsed = value;
21
+ if (typeof value === "string")
22
+ try {
23
+ parsed = JSON.parse(value.trim());
24
+ }
25
+ catch (_a) {
26
+ return value;
27
+ }
28
+ if (printable)
29
+ return parsed;
30
+ if (parsed === null || typeof parsed !== "object")
15
31
  return parsed;
32
+ if (!this.isJsonSerializable(parsed))
33
+ return value;
34
+ try {
35
+ return _jsx(JsonView, { value: parsed });
16
36
  }
17
- catch (error) {
37
+ catch (_b) {
18
38
  return value;
19
39
  }
20
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JsonFormatter.js","sourceRoot":"","sources":["../../src/formatter/JsonFormatter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,OAAO,aAAc,SAAQ,mBAAmB;IAElD,YAAY,QAAgB,OAAO;QAE/B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEQ,MAAM,CAAC,KAAU,EAAE,CAAkB,EAAE,EAAqB,EAAE,SAAkB;QAErF,IACA,CAAC;YACG,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,SAAS;gBACV,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,GAAI,CAAC;YAEvC,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,EACZ,CAAC;YACG,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"JsonFormatter.js","sourceRoot":"","sources":["../../src/formatter/JsonFormatter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,OAAO,aAAc,SAAQ,mBAAmB;IAElD,YAAY,QAAgB,OAAO;QAE/B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEO,kBAAkB,CAAC,CAAU;QAEjC,IACA,CAAC;YACG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,WACA,CAAC;YACG,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEQ,MAAM,CAAC,KAAU,EAAE,CAAkB,EAAE,EAAqB,EAAE,SAAkB;QAErF,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,OAAO,KAAK,KAAK,QAAQ;YACzB,IACA,CAAC;gBACG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,WACA,CAAC;gBACG,OAAO,KAAK,CAAC;YACjB,CAAC;QAEL,IAAI,SAAS;YACT,OAAO,MAAM,CAAC;QAElB,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC7C,OAAO,MAAM,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAChC,OAAO,KAAK,CAAC;QAEjB,IACA,CAAC;YACG,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,GAAI,CAAC;QACvC,CAAC;QACD,WACA,CAAC;YACG,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.516",
11
+ "version": "1.4.517",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -11,18 +11,47 @@ export class JsonFormatter extends BaseColumnFormatter
11
11
  this.width = width;
12
12
  }
13
13
 
14
- override format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any
14
+ private isJsonSerializable(v: unknown): boolean
15
15
  {
16
16
  try
17
17
  {
18
- let parsed = JSON.parse(String(value).trim());
18
+ JSON.stringify(v);
19
+ return true;
20
+ }
21
+ catch
22
+ {
23
+ return false;
24
+ }
25
+ }
26
+
27
+ override format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any
28
+ {
29
+ let parsed = value;
19
30
 
20
- if (!printable)
21
- return <JsonView value={parsed} />;
31
+ if (typeof value === "string")
32
+ try
33
+ {
34
+ parsed = JSON.parse(value.trim());
35
+ }
36
+ catch
37
+ {
38
+ return value;
39
+ }
22
40
 
41
+ if (printable)
23
42
  return parsed;
43
+
44
+ if (parsed === null || typeof parsed !== "object")
45
+ return parsed;
46
+
47
+ if (!this.isJsonSerializable(parsed))
48
+ return value;
49
+
50
+ try
51
+ {
52
+ return <JsonView value={parsed} />;
24
53
  }
25
- catch (error)
54
+ catch
26
55
  {
27
56
  return value;
28
57
  }