@wibetter/json-utils 5.0.20 → 5.0.21

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.
package/dist/index.esm.js CHANGED
@@ -7680,6 +7680,14 @@ function getDefaultOptionVal(jsonSchema, multiple) {
7680
7680
  * jsonData: json数据对象,会优先使用此jsonData对应的数值
7681
7681
  * */
7682
7682
 
7683
+ // 用于区分 对象 和 数组 类型
7684
+ function isEqualByType(value1, value2) {
7685
+ return (
7686
+ isObject$1(value1) + '-' + isArray(value1) ===
7687
+ isObject$1(value2) + '-' + isArray(value2)
7688
+ );
7689
+ }
7690
+
7683
7691
  /**
7684
7692
  * 基础类型的schema转jsonData
7685
7693
  * 根据jsonSchema和旧版的jsonData生成一份对应的jsonData
@@ -7691,7 +7699,8 @@ function baseSchema2JsonData(jsonSchema, jsonData) {
7691
7699
  if (
7692
7700
  hasProperties(oldValue) &&
7693
7701
  hasProperties(jsonSchema.default) &&
7694
- typeof oldValue !== typeof jsonSchema.default
7702
+ (typeof oldValue !== typeof jsonSchema.default ||
7703
+ !isEqualByType(oldValue, jsonSchema.default))
7695
7704
  ) {
7696
7705
  // 表示当前数据类型发生变化,则丢弃旧版数据
7697
7706
  oldValue = undefined;
@@ -4771,49 +4771,55 @@ function Kr(e, t) {
4771
4771
  );
4772
4772
  }
4773
4773
  function zr(e, t) {
4774
- var r = '',
4775
- n = t;
4776
- l(n) && l(e.default) && typeof n != typeof e.default && (n = void 0);
4777
- var o = l(n) ? n : e.default;
4774
+ var r,
4775
+ n,
4776
+ o = '',
4777
+ i = t;
4778
+ l(i) &&
4779
+ l(e.default) &&
4780
+ (typeof i != typeof e.default ||
4781
+ ((r = i), (n = e.default), k(r) + '-' + V(r) != k(n) + '-' + V(n))) &&
4782
+ (i = void 0);
4783
+ var a = l(i) ? i : e.default;
4778
4784
  switch (e.type) {
4779
4785
  case 'select':
4780
4786
  case 'radio':
4781
- r = o || Kr(e);
4787
+ o = a || Kr(e);
4782
4788
  break;
4783
4789
  case 'checkboxes':
4784
- r = o || Kr(e, !0);
4790
+ o = a || Kr(e, !0);
4785
4791
  break;
4786
4792
  case 'color':
4787
- ('#fff' !== o && '#FFF' !== o) || (o = '#ffffff'),
4788
- (r = l(o) ? o : '#ffffff');
4793
+ ('#fff' !== a && '#FFF' !== a) || (a = '#ffffff'),
4794
+ (o = l(a) ? a : '#ffffff');
4789
4795
  break;
4790
4796
  case 'boolean':
4791
- r = !!l(o) && o;
4797
+ o = !!l(a) && a;
4792
4798
  break;
4793
4799
  case 'number':
4794
- r = l(o) ? o : void 0;
4800
+ o = l(a) ? a : void 0;
4795
4801
  break;
4796
4802
  case 'json':
4797
- var i = '';
4798
- if (k(o) || V(o)) i = o;
4799
- else if (I(o) || '' === o) i = {};
4803
+ var s = '';
4804
+ if (k(a) || V(a)) s = a;
4805
+ else if (I(a) || '' === a) s = {};
4800
4806
  else
4801
4807
  try {
4802
- i = JSON.parse(o);
4808
+ s = JSON.parse(a);
4803
4809
  } catch (e) {
4804
- i = {};
4810
+ s = {};
4805
4811
  }
4806
- r = i;
4812
+ o = s;
4807
4813
  break;
4808
4814
  default:
4809
- r =
4815
+ o =
4810
4816
  'input' === e.type && '0' === e.default
4811
- ? o || e.default
4812
- : l(o)
4813
- ? o
4817
+ ? a || e.default
4818
+ : l(a)
4819
+ ? a
4814
4820
  : void 0;
4815
4821
  }
4816
- return r;
4822
+ return o;
4817
4823
  }
4818
4824
  function Jr(e, t) {
4819
4825
  var r = {},
package/dist/index.js CHANGED
@@ -1893,49 +1893,55 @@
1893
1893
  );
1894
1894
  }
1895
1895
  function ie(e, t) {
1896
- var r = '',
1897
- a = t;
1898
- p(a) && p(e.default) && typeof a != typeof e.default && (a = void 0);
1899
- var l = p(a) ? a : e.default;
1896
+ var r,
1897
+ a,
1898
+ l = '',
1899
+ i = t;
1900
+ p(i) &&
1901
+ p(e.default) &&
1902
+ (typeof i != typeof e.default ||
1903
+ ((r = i), (a = e.default), P(r) + '-' + q(r) != P(a) + '-' + q(a))) &&
1904
+ (i = void 0);
1905
+ var n = p(i) ? i : e.default;
1900
1906
  switch (e.type) {
1901
1907
  case 'select':
1902
1908
  case 'radio':
1903
- r = l || le(e);
1909
+ l = n || le(e);
1904
1910
  break;
1905
1911
  case 'checkboxes':
1906
- r = l || le(e, !0);
1912
+ l = n || le(e, !0);
1907
1913
  break;
1908
1914
  case 'color':
1909
- ('#fff' !== l && '#FFF' !== l) || (l = '#ffffff'),
1910
- (r = p(l) ? l : '#ffffff');
1915
+ ('#fff' !== n && '#FFF' !== n) || (n = '#ffffff'),
1916
+ (l = p(n) ? n : '#ffffff');
1911
1917
  break;
1912
1918
  case 'boolean':
1913
- r = !!p(l) && l;
1919
+ l = !!p(n) && n;
1914
1920
  break;
1915
1921
  case 'number':
1916
- r = p(l) ? l : void 0;
1922
+ l = p(n) ? n : void 0;
1917
1923
  break;
1918
1924
  case 'json':
1919
- var i = '';
1920
- if (P(l) || q(l)) i = l;
1921
- else if (_(l) || '' === l) i = {};
1925
+ var o = '';
1926
+ if (P(n) || q(n)) o = n;
1927
+ else if (_(n) || '' === n) o = {};
1922
1928
  else
1923
1929
  try {
1924
- i = JSON.parse(l);
1930
+ o = JSON.parse(n);
1925
1931
  } catch (e) {
1926
- i = {};
1932
+ o = {};
1927
1933
  }
1928
- r = i;
1934
+ l = o;
1929
1935
  break;
1930
1936
  default:
1931
- r =
1937
+ l =
1932
1938
  'input' === e.type && '0' === e.default
1933
- ? l || e.default
1934
- : p(l)
1935
- ? l
1939
+ ? n || e.default
1940
+ : p(n)
1941
+ ? n
1936
1942
  : void 0;
1937
1943
  }
1938
- return r;
1944
+ return l;
1939
1945
  }
1940
1946
  function ne(e, t) {
1941
1947
  var r = {},
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * @wibetter/json-utils v5.0.16
2
+ * @wibetter/json-utils v5.0.21
3
3
  * author: wibetter
4
4
  * build tool: AKFun
5
- * build time: Tue Dec 31 2024 16:16:34 GMT+0800 (中国标准时间)
5
+ * build time: Tue Dec 31 2024 17:31:46 GMT+0800 (中国标准时间)
6
6
  * build tool info: https://github.com/wibetter/akfun
7
7
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wibetter/json-utils",
3
- "version": "5.0.20",
3
+ "version": "5.0.21",
4
4
  "description": "提供JSON相关的各类工具方法,比如schema转json、json转schema、json元数据分析等",
5
5
  "keywords": [
6
6
  "json工具包",