@wibetter/json-utils 5.0.2 → 5.0.6
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/README.md +1 -5
- package/dist/index.esm.js +4721 -704
- package/dist/index.esm.min.js +15 -1
- package/dist/index.js +1 -1
- package/dist/index.js.LICENSE.txt +2 -2
- package/package.json +1 -1
package/dist/index.esm.min.js
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
|
-
import{cloneDeep as e,isEqual as t}from"lodash";function r(t){return e(t)}function i(e,r){return t(e,r)}function a(e){var t=!1;return null!=e&&(t=!0),t}function o(e,t,i){var a=t;if(i&&(a=r(t)),e)for(var o=e.split("-"),n=0,p=o.length;n<p;n++){var l=o[n];l&&(a=a&&a[l])}return a}function n(e,t,i){var a=t;if(i&&(a=r(t)),e)for(var o=e.split("-"),n=0,p=o.length;n<p;n++){var l=o[n];if("0"!==l||"array"!==a.format&&"radio"!==a.format&&"single-select"!==a.format&&"select"!==a.format||!a.items){if(l){var d="0";if(a.propertyOrder)d=a.propertyOrder[l];else if(a.properties){d=Object.keys(a.properties)[l]}a=a.properties[d]}}else a=a.items}return a}function p(e,t,i){var a=t;if(i&&(a=r(t)),e&&a)for(var o=e.split("-"),n=0,p=o.length;n<p;n++){var l=o[n];l&&a.properties&&(a=a.properties[l])}return a}function l(e,t){for(var r=t,i="",a=e.split("-"),o=0,n=a.length;o<n;o++){var p=a[o];if("0"===p&&r.items)r=r.items,i=i?i+"-items":"items";else if(p){var l="0";if(r.propertyOrder)l=r.propertyOrder[p];else if(r.properties){l=Object.keys(r.properties)[p]}r=r.properties[l],i=i?i+"-"+l:l}}return i}function d(e,t){for(var r=t,i="",a=e.split("-"),o=0,n=a.length;o<n;o++){var p=a[o];if(p){var l=-1;if(r.propertyOrder)l=r.propertyOrder.indexOf(p),r=r.properties[p];else if(r.properties){l=Object.keys(r.properties).indexOf(p),r=r.properties[p]}else r.items&&(l=0,r=r.items);i=i?i+"-"+l:l.toString()}}return i}var u={type:"object",format:"event",title:"事件",isRequired:!1,readOnly:!1,properties:{type:{type:"string",default:"emit",format:"typeSelect",enum:["on","emit"],enumextra:["on","emit"],title:"事件类型",isRequired:!1,readOnly:!1},trigger:{type:"string",format:"input",default:"eventName",title:"触发事件",description:"用于输入触发事件的名称",placeholder:"请输入触发事件的名称",isRequired:!1,readOnly:!1},eventData:{type:"string",title:"事件数据",format:"json",default:"{}",description:"传递给触发事件的数据对象",isRequired:!1,readOnly:!1}},required:["type","trigger","eventData"],propertyOrder:["type","trigger","eventData"]},s={type:"object",format:"datasource",title:"数据源",readOnly:!1,properties:{type:{type:"string",default:"local",format:"typeSelect",enum:["local","remote"],enumextra:["local","remote"],title:"数据源类型"},data:{type:"string",title:"本地json数据",placeholder:"请输入静态json数据",format:"json",default:"{}",description:"用于设置本地的静态json数据",isRequired:!0},filter:{type:"string",title:"过滤器",format:"codearea",default:"() => {}",description:"用于定义过滤当前数据的函数",isRequired:!0}},required:["type","data","filter"],propertyOrder:["type","data","filter"]},f={type:"local",config:{dataName:"",body:{},filter:"return data;"},data:"{}",localFilter:"return data;"},c={jsonschema:{type:"object",title:"jsonSchemaObject",properties:{func:{type:"object",format:"func",title:"功能设置",readOnly:!0,properties:{a:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["a"],propertyOrder:["a"]},style:{type:"object",format:"style",title:"样式设置",readOnly:!0,properties:{b:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["b"],propertyOrder:["b"]},data:{type:"object",format:"data",title:"数据设置",readOnly:!0,properties:{c:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["c"],propertyOrder:["c"]}},required:["func","style","data"],propertyOrder:["func","style","data"]},input:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},boolean:{type:"boolean",title:"布尔值",format:"boolean",default:!1,description:"",isRequired:!1,readOnly:!1},object:{type:"object",format:"object",title:"对象Object",description:"",isRequired:!1,readOnly:!1,properties:{a:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["a"],propertyOrder:["a"]},array:{type:"array",format:"array",title:"数组Array",description:"",isRequired:!1,readOnly:!1,items:{type:"object",format:"object",title:"数组项",description:"",isRequired:!1,readOnly:!1,properties:{name:{type:"string",format:"input",title:"名字",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["name"],propertyOrder:["name"]}},"empty-array":{type:"array",format:"array",title:"数组Array",description:"",items:{type:"object",format:"object",title:"数组项",description:"",properties:{}}},"empty-object":{type:"object",format:"object",title:"对象Object",description:"",properties:{}},url:{type:"string",title:"链接地址url",format:"url",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},textarea:{type:"string",title:"多行文本框",format:"textarea",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},color:{type:"string",title:"颜色color",format:"color",default:"#ffffff",description:"",isRequired:!1,readOnly:!1},image:{type:"string",title:"图片",format:"image",default:"",description:"上传图片",imgWidth:200,imgHeight:200,imgRatioReadOnly:!0,templateId:"",isRequired:!1},number:{type:"number",title:"数量number",format:"number",default:1,minimum:0,maximum:1e3,description:"",isRequired:!1,readOnly:!1},json:{type:"string",title:"json数据",format:"json",default:"{}",description:"",isRequired:!1,readOnly:!1},codearea:{type:"string",title:"函数类型",format:"codearea",placeholder:"请输入函数方法",default:'function func() { console.log("hello, world!"); }',description:"用于定义函数方法",isRequired:!1,readOnly:!1},htmlarea:{type:"string",title:"富文本",format:"htmlarea",placeholder:"请输入html代码片段",default:"<p>hello,world!</p>",description:"用于放置html代码片段",isRequired:!1,readOnly:!1},"text-editor":{type:"string",title:"富文本",format:"text-editor",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},date:{type:"string",title:"日期Date",format:"date",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},"date-time":{type:"string",title:"日期时间",format:"date-time",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},time:{type:"string",title:"时间Time",format:"time",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},quantity:{type:"object",format:"quantity",title:"单位计量",isRequired:!1,readOnly:!1,properties:{unit:{type:"number",title:"单位数值",format:"number",default:50,minimum:0,maximum:1e3,description:"",isRequired:!1,readOnly:!1},quantity:{type:"string",format:"typeSelect",default:"px",enum:["px","rem","em","%"],enumextra:["px","rem","em","%"],title:"单位类型",isRequired:!1,readOnly:!1}},required:["unit","quantity"],propertyOrder:["unit","quantity"]},"box-style":{type:"object",format:"box-style",title:"盒子模型",isRequired:!1,readOnly:!1,properties:{unit:{type:"string",title:"单位数值",format:"string",default:"0",description:"",isRequired:!1,readOnly:!1},quantity:{type:"string",format:"typeSelect",default:"px",enum:["px","rem","em","%"],enumextra:["px","rem","em","%"],title:"单位类型",isRequired:!1,readOnly:!1}},required:["unit","quantity"],propertyOrder:["unit","quantity"]},radio:{type:"string",title:"单选",format:"radio",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],description:"",isRequired:!1,readOnly:!1},"single-select":{type:"string",title:"下拉单选",format:"single-select",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],description:"",isRequired:!1,readOnly:!1},select:{type:"array",title:"多选",format:"select",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],description:"",isRequired:!1,readOnly:!1},"dynamic-data":{type:"object",format:"dynamic-data",title:"动态数据源",readOnly:!1,properties:{type:{type:"string",default:"local",format:"typeSelect",enum:["local","remote"],enumextra:["本地数据","接口数据"],title:"数据类型"},config:{type:"object",title:"接口配置",format:"object",description:"用于存放接口的配置数据(url、请求参数等)",isRequired:!0,properties:{dataName:{type:"string",default:"local",format:"typeSelect",enum:["local","remote"],enumextra:["本地数据","接口数据"],title:"数据类型"},body:{type:"object",title:"请求参数配置",format:"object",description:"用于配置当前接口的请求参数数值",isRequired:!0},filter:{type:"string",title:"过滤器函数体",format:"codearea",default:"return data;",description:"用于定义过滤接口数据",isRequired:!0}},required:["dataName","body","filter"],propertyOrder:["dataName","body","filter"]},data:{type:"string",title:"数据内容",format:"json",default:"{}",description:"用于存放DynamicData的数据内容",isRequired:!0},localFilter:{type:"string",title:"过滤器",format:"codearea",default:"return data;",description:"用于定义过滤本地数据",isRequired:!0}},required:["type","config","data","localFilter"],propertyOrder:["type","config","data","localFilter"]},datasource:s,event:u,widget:{type:"string",title:"内嵌组件数据",format:"widget",default:"{}",description:"用于存放内嵌组件的渲染相关数据",isRequired:!1,readOnly:!0}},y={on:{type:"object",format:"event",title:"事件",isRequired:!1,readOnly:!1,properties:{type:{type:"string",default:"on",format:"typeSelect",enum:["on","emit"],enumextra:["on","emit"],title:"事件类型",isRequired:!1,readOnly:!1},register:{type:"string",format:"input",default:"eventName",title:"注册事件",description:"用于输入注册事件的名称",placeholder:"请输入注册事件的名称",isRequired:!1,readOnly:!1},actionFunc:{type:"string",title:"执行函数",format:"codearea",default:"() => {}",description:"",isRequired:!1,readOnly:!1}},required:["type","register","actionFunc"],propertyOrder:["type","register","actionFunc"]},emit:u},m={local:s,remote:{type:"object",format:"datasource",title:"数据源",readOnly:!1,properties:{type:{type:"string",default:"remote",format:"typeSelect",enum:["local","remote"],enumextra:["local","remote"],title:"数据源类型"},data:{type:"string",title:"远程json数据",placeholder:"请输入远程json数据源地址",format:"url",default:"http://xxx",isRequired:!0,description:"用于设置获取元素数据的请求地址"},filter:{type:"string",title:"过滤器",format:"codearea",default:"() => {}",description:"用于定义过滤当前数据的函数",isRequired:!0}},required:["type","data","filter"],propertyOrder:["type","data","filter"]}};function g(e){return/^http[s]?:\/\/.*/.test(e)}function v(e){return"String"===Object.prototype.toString.call(e).slice(8,-1)}function b(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function O(e){return"Boolean"===Object.prototype.toString.call(e).slice(8,-1)}function j(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)}function q(e){return/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$/.test(e)||/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/.test(e)}function h(e){return/^\d{2}:\d{2}:\d{2}$/.test(e)||/^\d{2}:\d{2}$/.test(e)}function x(e){var t=!1;return"Array"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function R(e){if(!x(e))return!1;for(var t=0,r=e.length;t<r;t++){if(!v(e[t]))return!1}return!0}function N(e){var t=!1;return"Object"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function S(e){var t=!1;return c.quantity.properties.quantity.enum.indexOf(e)>=0&&(t=!0),t}function F(e){return/^#[0-9a-f]{6}$/.test(e)||/^#[0-9a-f]{3}$/.test(e)}function k(e){var t=!1;return"Function"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function D(e){var t={};return t=e&&N(e)?function(e){var t;if(N(e)){var i=Object.keys(e);e.data&&e.filter&&2===i.length?t=x(e.data)||N(e.data)?r(m.local):r(m.remote):e.trigger&&e.eventData&&2===i.length?t=r(y.emit):e.register&&e.actionFunc&&2===i.length?t=r(y.on):e.quantity&&S(e.quantity)&&2===i.length?t=r(c.quantity):(t=r(c["empty-object"]),Object.keys(e).map((function(r){var i=e[r];t.properties[r]=D(i)})))}return t}(e):e&&x(e)?function(e){var t;if(e&&x(e))if(R(e)){(t=r(c.select)).items.enum=e;var i=t.items.enumextra.length,a=e.length;if(a>i)for(var o=i,n=a;o<n;o++)t.items.enumextra.push("选项"+e(o))}else{t=r(c["empty-array"]);var p=D(e[0]);t.items.properties=p.properties}return t}(e):function(e){var t="";if(O(e))t=r(c.boolean);else if(b(e))t=r(c.number);else if(g(e))t=r(c.url);else if(j(e))t=r(c.date);else if(q(e))t=r(c["date-time"]);else if(h(e))t=r(c.time);else if(F(e))t=r(c.color);else try{t=b(JSON.parse(e))?r(c.input):r(c.json)}catch(i){t=e&&e.length>30?r(c.textarea):r(c.input)}return t}(e),t}function w(e){var t=e&&e.format;return t||(t=e&&e.type?e.type:"input"),t}function $(e){var t=!0;if(!e)return t;var r=w(e);return("object"===r&&e.properties&&e.propertyOrder&&e.propertyOrder.length>0||"array"===r&&e.items&&e.items.properties&&e.items.propertyOrder&&e.items.propertyOrder.length>0||e.type&&"array"!==e.type&&"object"!==e.type||e.format)&&(t=!1),t}function J(e){var t=!0;if(e&&("object"===w(e)&&e.properties&&e.propertyOrder&&e.propertyOrder.length>0)){var r=e.properties.func||{},i=e.properties.style||{},a=e.properties.data||{};(r.propertyOrder&&r.propertyOrder.length>0||i.propertyOrder&&i.propertyOrder.length>0||a.propertyOrder&&a.propertyOrder.length>0)&&(t=!1)}return t}function T(e){var t=!1;e&&("object"===w(e)&&e.properties&&e.propertyOrder&&e.properties.func&&e.properties.style&&e.properties.data&&(t=!0));return t}function A(e){var t=!1,r=e.lastUpdateTime,i=new Date("2020-07-29T07:30:00.691Z").getTime();return r&&new Date(r).getTime()>=i&&(t=!0),t}function U(e){var t=!1;return"object"!==e&&"func"!==e&&"style"!==e&&"data"!==e&&"widgets"!==e&&"func-schema"!==e&&"style-schema"!==e&&"data-schema"!==e&&"event-schema"!==e&&"widgets-schema"!==e||(t=!0),t}function I(e){var t=!1;return"func"!==e&&"style"!==e&&"data"!==e&&"props"!==e&&"event-schema"!==e&&"widgets"!==e||(t=!0),t}function W(e){var t=!0;return"object"===(e.type||w(e))&&e.propertyOrder&&e.properties?e.propertyOrder.map((function(r){var i=e.properties[r];"object"===(e.type||w(i))&&i.propertyOrder&&i.properties||(t=!1)})):t=!1,t}function B(e,t){var r=e.split("-"),i=t.split("-");return r.pop(),i.pop(),r.join("-")===i.join("-")}function E(e,t){for(var r=e.split("-"),i=t.split("-"),a="before",o=0,n=(r.length>i.length?i:r).length;o<n;o+=1){Number(r[o])>Number(i[o])&&(a="after")}return a}function H(e){var t=e.split("-");return t.pop(),t.join("-")}function L(e){var t=e.split("-"),r=t.pop(),i=Number(r)+1;return t.push(""+i),t.join("-")}function Z(e){var t=e.split("-"),r=t.pop();return[t.join("-"),r]}function z(e){var t=e.split("-"),r=t.pop();return t.push(Number(r)-1),t.join("-")}function C(e){var t=e.split("-"),r=t.pop();return t.push(Number(r)+1),t.join("-")}function G(e,t){var r=t||{};if(N(e)&&"object"===e.type&&e.properties){(e.propertyOrder?e.propertyOrder:Object.keys(e.properties)).map((function(t){var i=e.properties[t];r=K(i,r)}))}return r}function K(e,t){var r=!t,i=t||{};if(e&&"{}"!==JSON.stringify(e)){var a=w(e);"object"===a||"func"===a||"style"===a||"data"===a?(!r&&i.object?i.object+=1:r||(i.object=1),i=G(e,i)):"array"===a?(!r&&i.array?i.array+=1:r||(i.array=1),i=G(e=e.items,i)):!r&&i[a]?i[a]+=1:r||(i[a]=1)}return i}function M(e){var t=r(e);if(!t.title&&t.description&&(t.title=t.description),t.format||(t.format=w(t)),"quantity"!==t.format&&"array"!==t.format&&"datasource"!==t.format&&"event"!==t.format&&"object"!==t.format&&"radio"!==t.format&&"select"!==t.format||!a(t.default)||delete t.default,"radio"===t.format&&(t.type="string",t.enum&&t.enumextra&&(t.items={type:"string",enum:r(t.enum),enumextra:r(t.enumextra)},delete t.enum,delete t.enumextra)),"quantity"===t.format){var i=t.properties,o=r(c.quantity);if(i.quantity&&N(i.quantity)&&i.quantity.default){var n=i.quantity.default;o.properties.quantity.default="percent"===n?"%":n}t=o}if("datasource"===t.format){var p=t.properties,l=p.type&&p.type.default,d=p.data&&p.data.default,u=p.filter&&p.filter.default;"local"===l?(t=r(m.local)).properties.data.default=d?r(d):"{}":(t=r(m.remote)).properties.data.default=d?r(d):"http://xxx",t.properties.filter.default=u?r(u):"() => {}"}if("event"===t.format){var s=t.properties,f=s.type&&s.type.default;if("in"===f||"on"===f){var g=s.filter&&s.filter.default||"() => {}";t=r(y.on),s.actionFunc&&N(s.actionFunc)&&(t.properties.actionFunc.default=s.actionFunc.default||r(g))}else{var v=s.filter&&s.filter.default||"{}";t=r(y.emit),s.eventData&&N(s.eventData)&&(t.properties.eventData.default=s.eventData.default||r(v))}}return t.properties&&(t.required=Object.keys(t.properties),t.propertyOrder||(t.propertyOrder=t.required),t.propertyOrder.map((function(e){t.properties[e]=M(t.properties[e])}))),t.items&&(t.items=M(t.items)),t}function P(e,t){var r="",i=t;a(i)&&a(e.default)&&typeof i!=typeof e.default&&(i=void 0);var o=a(i)?i:e.default;switch(e.type){case"string":if("typeSelect"===e.format)r=e.default;else if("color"===e.format)"#fff"!==o&&"#FFF"!==o||(o="#ffffff"),r=o||"#ffffff";else if("json"===e.format||"widget"===e.format){var n="";if(N(t)||x(t))n=t;else if(k(t)||""===t)n={};else try{n=JSON.parse(t)}catch(e){n={}}r=n}else r=a(o)?o:"";break;case"boolean":r=!!a(o)&&o;break;case"number":r=a(o)?o:1;break;default:r=a(o)?o:""}return r}function Q(e,t){var i={},o=w(e);if(N(e)&&"object"===e.type){var n=e,p=t;a(p)&&a(n.default)&&typeof p!=typeof n.default&&(p=void 0);var l=a(p)?p:n.default;if("dynamic-data"===o)i=r(f),l&&N(l)&&"{}"!==JSON.stringify(l)&&(i=Object.assign(i,l));else if("datasource"===o)n.properties&&n.properties.type&&n.properties.type.default&&"local"===n.properties.type.default?(i={data:"{}",filter:"() => {}"},l&&l.data&&(i.data=l.data),l&&l.filter&&(i.filter=l.filter),"http://xxx"===i.data&&(i.data="{}")):(i={data:"http://xxx",filter:"() => {}"},l&&l.data&&(i.data=l.data),l&&l.filter&&(i.filter=l.filter),"{}"===i.data&&(i.data="http://xxx"));else if("event"===o)n.properties&&n.properties.type&&n.properties.type.default&&"emit"===n.properties.type.default?l&&"out"===l.type?i={trigger:l&&l.filter||"eventName",eventData:"{}"}:(i={trigger:"eventName",eventData:"{}"},l&&l.trigger&&(i.trigger=l.trigger),l&&l.eventData&&(i.eventData=l.eventData)):l&&"in"===l.type?i={register:"eventName",actionFunc:l&&l.filter||"() => {}"}:(i={register:"eventName",actionFunc:"() => {}"},l&&l.register&&(i.register=l.register),l&&l.actionFunc&&(i.actionFunc=l.actionFunc));else if(e.properties){(e.propertyOrder?e.propertyOrder:Object.keys(e.properties)).map((function(r){var a=e.properties[r],o=t&&t[r];switch(a.type){case"array":i[r]=V(a,o);break;case"object":i[r]=Q(a,o);break;default:i[r]=P(a,o)}}))}}return i}function V(e,t){var r=[];if(e&&"array"===e.type){var i=t;a(i)&&a(e.default)&&typeof i!=typeof e.default&&(i=void 0);var o=a(i)?i:e.default;if("array"===e.format)if(x(o))o.map((function(t){r.push(Q(e.items,t))}));else{var n=Q(e.items,o);r.push(n)}else r=a(o)?o:[]}return r}function X(e,t){return"object"===e.type?Q(e,t):"array"===e.type?V(e,t):P(e,t)}var Y=c;function _(e,t){var r=t||[];if(e&&"{}"!==JSON.stringify(e))if(N(e))if(e.type&&"remote"===e.type&&e.config&&N(e.config)&&e.config.dataName&&a(e.localFilter)&&a(e.data)){var i=e.config.body;if(i&&!N(i))try{i=JSON.parse(i)}catch(e){i={}}r.push({id:e.config.id,dataName:e.config.dataName,body:i})}else{Object.keys(e).map((function(t){_(e[t],r)}))}else x(e)&&e.map((function(e){_(e,r)}));return r}function ee(e,t){var r=t||"data";return e.split("-").map((function(e){r=/^\d+$/.test(e)?r+"["+e+"]":r+"."+e})),r}function te(e,t){var r=[];N(e)?Object.keys(e).map((function(i){var a=e[i],o=t?t+"-"+i:i;N(a)||x(a)?r.push({title:i,value:o,key:o,children:te(a,o)}):r.push({title:i,value:o,key:o})})):x(e)&&e.map((function(e,i){var a=i.toString(),o=t?t+"-"+i:a;N(e)||x(e)?r.push({title:a,value:o,key:o,children:te(e,o)}):r.push({title:a,value:o,key:o})}));return r}function re(e){var t=e.split("-");return t.pop(),t.join("-")}function ie(e){var t=e.split("-"),r=t.pop();return[t.join("-"),r]}var ae=["key","enum","enumextra","items","input","boolean","number","color","url","textarea","text-editor","radio","single-select","select","date","date-time","time","json","codearea","htmlarea","quantity","box-style","dynamic-data","datasource","event","array","object","widget","widgets","widgetUUID","embedWidgetList"];export{m as DataSourceTypeList,y as EventTypeDataList,ae as KeyWordList,c as TypeDataList,ee as dataRoute2dataPath,_ as dynamicDataAnalyzer,E as getCurPosition,w as getCurrentFormat,o as getJsonDataByKeyRoute,L as getNextIndexRoute,H as getParentIndexRoute,Z as getParentIndexRoute_CurIndex,re as getParentKeyRoute,ie as getParentKeyRoute_CurKey,n as getSchemaByIndexRoute,p as getSchemaByKeyRoute,a as hasProperties,l as indexRoute2keyRoute,x as isArray,O as isBoolean,U as isBoxSchemaData,F as isColor,j as isDateStr,q as isDateTimeStr,$ as isEmptySchema,J as isEmptyWidgetSchema,i as isEqual,I as isFirstSchemaData,k as isFunction,A as isNewSchemaData,b as isNumber,N as isObject,S as isQuantity,B as isSameParent,R as isSelect,v as isString,W as isStructuredSchema,h as isTimeStr,g as isURL,T as isUsedToWidgetConfig,D as json2schema,te as json2treeData,d as keyRoute2indexRoute,K as metaElemAnalyzer,C as moveBackward,z as moveForward,r as objClone,M as oldSchemaToNewSchema,X as schema2json,Y as schemaMetaList};
|
|
1
|
+
import{cloneDeep as e,isEqual as t,truncate as r}from"lodash";function n(t){return e(t)}function o(e,r){return t(e,r)}function i(e){var t=!1;return null!=e&&(t=!0),t}function a(e,t){return r(e,t)}function s(e,t,r){var o=t;if(r&&(o=n(t)),e)for(var i=e.split("-"),a=0,s=i.length;a<s;a++){var u=i[a];u&&(o=o&&o[u])}return o}function u(e,t,r){var o=t;if(r&&(o=n(t)),e)for(var i=e.split("-"),a=0,s=i.length;a<s;a++){var u=i[a];if("0"!==u||"array"!==o.type&&"radio"!==o.type&&"select"!==o.type&&"checkboxes"!==o.type||!o.options&&!o.items){if(u){var c="0";if(o.propertyOrder)c=o.propertyOrder[u];else if(o.properties){c=Object.keys(o.properties)[u]}o=o.properties[c]}}else o=o.options||o.items}return o}function c(e,t,r){var o=t;if(r&&(o=n(t)),e&&o)for(var i=e.split("-"),a=0,s=i.length;a<s;a++){var u=i[a];u&&o.properties&&(o=o.properties[u])}return o}function l(e,t){for(var r=t,n="",o=e.split("-"),i=0,a=o.length;i<a;i++){var s=o[i];if("0"===s&&r.items)r=r.items,n=n?n+"-items":"items";else if("0"===s&&r.options)r=r.options,n=n?n+"-options":"options";else if(s){var u="0";if(r.propertyOrder)u=r.propertyOrder[s];else if(r.properties){u=Object.keys(r.properties)[s]}r=r.properties[u],n=n?n+"-"+u:u}}return n}function p(e,t){for(var r=t,n="",o=e.split("-"),i=0,a=o.length;i<a;i++){var s=o[i];if(s){var u=-1;if(r.propertyOrder)u=r.propertyOrder.indexOf(s),r=r.properties[s];else if(r.properties){u=Object.keys(r.properties).indexOf(s),r=r.properties[s]}else r.items?(u=0,r=r.items):r.options&&(u=0,r=r.options);n=n?n+"-"+u:u.toString()}}return n}var d,f={type:"event",title:"事件",isContainer:!1,properties:{type:{default:"emit",type:"select",options:[{label:"on",value:"on"},{label:"emit",value:"emit"}],title:"事件类型"},trigger:{type:"input",default:"eventName",title:"触发事件",description:"用于输入触发事件的名称",placeholder:"请输入触发事件的名称"},eventData:{title:"事件数据",type:"json",default:"{}",description:"传递给触发事件的数据对象"}},propertyOrder:["type","trigger","eventData"]},h={type:"datasource",title:"数据源",isContainer:!1,properties:{type:{default:"local",type:"select",options:[{label:"本地数据",value:"local"},{label:"接口数据",value:"remote"}],title:"数据源类型"},data:{title:"本地json数据",placeholder:"请输入静态json数据",type:"json",default:"{}",description:"用于设置本地的静态json数据",isRequired:!0},filter:{title:"过滤器",type:"codearea",default:"() => {}",description:"用于定义过滤当前数据的函数",isRequired:!0}},propertyOrder:["type","data","filter"]},v=((d={type:"object"}).type="datasource",d.title="数据源",d.isContainer=!1,d.properties={type:{type:"select",default:"remote",options:[{label:"本地数据",value:"local"},{label:"接口数据",value:"remote"}],title:"数据源类型"},data:{type:"url",title:"远程json数据",placeholder:"请输入远程json数据源地址",default:"http://xxx",isRequired:!0,description:"用于设置获取元素数据的请求地址"},filter:{type:"codearea",title:"过滤器",default:"() => {}",description:"用于定义过滤当前数据的函数",isRequired:!0}},d.propertyOrder=["type","data","filter"],d),y={type:"local",config:{dataName:"",body:{},filter:"return data;"},data:"{}",localFilter:"return data;"},b={jsonschema:{type:"object",title:"jsonSchemaObject",properties:{func:{type:"object",title:"功能设置",isContainer:!1,properties:{a:{title:"单文本框",type:"input",default:"",description:"",placeholder:"",isRequired:!1}},propertyOrder:["a"]},style:{type:"object",title:"样式设置",isContainer:!1,properties:{b:{title:"单文本框",type:"input",default:"",description:"",placeholder:""}},propertyOrder:["b"]},data:{type:"data",title:"数据设置",isContainer:!1,properties:{c:{title:"单文本框",type:"input",default:"",description:"",placeholder:"",isRequired:!1}},propertyOrder:["c"]}},propertyOrder:["func","style","data"]},input:{title:"单文本框",type:"input",default:"",description:"",placeholder:""},boolean:{type:"boolean",title:"布尔值",default:!1,description:""},object:{type:"object",title:"对象Object",description:"",properties:{a:{type:"input",title:"单文本框",default:"",description:"",placeholder:""}},propertyOrder:["a"]},array:{type:"array",title:"数组Array",description:"",default:[],items:{type:"object",title:"数组项",description:"",properties:{name:{type:"input",title:"名字",default:"",description:"",placeholder:""}},propertyOrder:["name"]}},"empty-array":{type:"array",title:"数组Array",description:"",default:[],items:{type:"object",title:"数组项",description:"",properties:{}}},"empty-object":{type:"object",title:"对象Object",description:"",properties:{}},url:{type:"url",title:"链接地址url",default:"",description:"",placeholder:""},textarea:{type:"textarea",title:"多行文本框",default:"",description:"",placeholder:""},color:{type:"color",title:"颜色color",default:"#ffffff",description:""},image:{title:"图片",type:"image",default:"",description:"上传图片",imgWidth:200,imgHeight:200,imgRatioReadOnly:!0},number:{type:"number",title:"数量number",default:1,minimum:0,maximum:1e3,description:""},json:{title:"json数据",type:"json",default:"{}",description:""},codearea:{type:"codearea",title:"函数类型",placeholder:"请输入函数方法",default:'function func() { console.log("hello, world!"); }',description:"用于定义函数方法"},htmlarea:{title:"富文本",type:"htmlarea",placeholder:"请输入html代码片段",default:"<p>hello,world!</p>",description:"用于放置html代码片段"},"text-editor":{type:"text-editor",title:"富文本",default:"",description:"",placeholder:""},date:{type:"date",title:"日期Date",default:"",description:"",placeholder:""},"date-time":{type:"date-time",title:"日期时间",default:"",description:"",placeholder:""},time:{type:"time",title:"时间Time",default:"",description:"",placeholder:""},quantity:{type:"quantity",title:"单位计量",isContainer:!1,properties:{unit:{type:"number",title:"单位数值",default:50,minimum:0,maximum:1e3,description:""},quantity:{type:"select",default:"px",options:[{label:"px",value:"px"},{label:"rem",value:"rem"},{label:"em",value:"em"},{label:"%",value:"%"}],title:"单位类型"}},propertyOrder:["unit","quantity"]},"box-style":{type:"box-style",title:"盒子模型",isContainer:!1,properties:{unit:{title:"单位数值",type:"input",default:"0",description:""},quantity:{type:"select",default:"px",options:[{label:"px",value:"px"},{label:"rem",value:"rem"},{label:"em",value:"em"},{label:"%",value:"%"}],title:"单位类型"}},propertyOrder:["unit","quantity"]},radio:{type:"radio",title:"单选",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],default:"a",description:""},select:{type:"select",title:"下拉选择",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],default:"a",description:""},checkboxes:{type:"checkboxes",title:"多选",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],default:["a"],description:""},"dynamic-data":{type:"dynamic-data",title:"动态数据源",isContainer:!1,properties:{type:{default:"local",type:"select",options:[{label:"本地数据",value:"local"},{label:"接口数据",value:"remote"}],title:"数据类型"},config:{title:"接口配置",type:"object",description:"用于存放接口的配置数据(url、请求参数等)",isRequired:!0,properties:{dataName:{default:"local",type:"select",options:[{label:"本地数据",value:"local"},{label:"接口数据",value:"remote"}],title:"数据类型"},body:{type:"object",title:"请求参数配置",description:"用于配置当前接口的请求参数数值",isRequired:!0},filter:{title:"过滤器函数体",type:"codearea",default:"return data;",description:"用于定义过滤接口数据",isRequired:!0}},propertyOrder:["dataName","body","filter"]},data:{title:"数据内容",type:"json",default:"{}",description:"用于存放DynamicData的数据内容",isRequired:!0},localFilter:{title:"过滤器",type:"codearea",default:"return data;",description:"用于定义过滤本地数据",isRequired:!0}},propertyOrder:["type","config","data","localFilter"]},datasource:h,event:f,"dynamic-config":{type:"dynamic-config",title:"动态配置",description:"",isContainer:!1,properties:{type:{type:"select",title:"数据来源",options:[{label:"模板直接设置",value:"DevDefaults"},{label:"mp后台配置",value:"ContentStaticConfig"},{label:"内容Meta数据",value:"Content"},{label:"全局配置数据",value:"RuntimeConst"},{label:"资源中心配置",value:"ResourceCenter"}],default:"DevDefaults",isConditionProp:!0,description:"目前支持的数据来源包括: 1)模版直接设置:在模版配置直接生效,支持直接输入或图片上传。 2)mp后台配置:选择mp后台配置后,属性会出现在mp后台中,支持属性描述的输入。 3)内容meta数据:支持内容meta数据的获取,页面meta数据。 4)全局配置数据:目前支持的全局配置包括:全局Tab配置及主题包配置。相关属性会挂载至:window.globalConst"},value:{title:"数据值",type:"input",default:"",description:"",placeholder:""},description:{title:"属性名称",type:"input",default:"",description:"",placeholder:""},valueType:{type:"radio",title:"配置方式",options:[{label:"填写",value:"string"},{label:"选择",value:"select"}],default:"string",isConditionProp:!0,description:""},range:{type:"select",title:"可选项",multiple:!0,options:[],description:"这里会使用value中的配置选项作为options"}},propertyOrder:["type","value","description","valueType","range"],showCodeViewBtn:!1},"sohu-source":{type:"sohu-source",title:"组件动态数据",description:"",isContainer:!1,properties:{mainConfig:{type:"object",title:"主要配置",description:"",isContainer:!1,properties:{type:{type:"select",title:"数据来源",isConditionProp:!0,options:[{label:"模板直接配置",value:"RuntimeDataSelfDefine"},{label:"mp后台配置",value:"ContentStaticConfig"},{label:"请求当前页面数据",value:"RuntimeDataSelfContent"},{label:"资源中心配置",value:"ResourceCenter"}],default:"ContentStaticConfig",description:""},description:{title:"数据源名称",type:"input",default:"",description:"",placeholder:""},dataType:{type:"radio",title:"请求方式",options:[{label:"批量请求",value:"FROMCIS"},{label:"组件内部请求",value:"FROMCOMPCIS"},{label:"不请求",value:"false"}],description:""},CONTENTID:{title:"数据源ID",type:"input",default:"",description:"",placeholder:""},CONTENTTYPE:{type:"select",title:"数据源类型",options:[{label:"channle",value:"channle"},{label:"topic",value:"topic"},{label:"block",value:"block"}],description:""}},propertyOrder:["type","description","dataType","CONTENTID","CONTENTTYPE"],showCodeViewBtn:!1},outConfig:{type:"object",title:"出流配置",description:"",isContainer:!1,properties:{PRO:{type:"select",title:"内容类型",options:[{label:"置顶+加精",value:"4"},{label:"长效置顶",value:"5"}],description:""},FEEDTYPE:{type:"select",title:"排序类型",options:[{label:"综合",value:"XTOPIC_SYNTHETICAL"},{label:"最新",value:"XTOPIC_LATEST"},{label:"相关",value:"XTOPIC_RELATED"}],description:""},VIEW:{type:"select",title:"数据裁剪",options:[{label:"相关推荐模式",value:"articleFeedMode"},{label:"文字链裁剪方式",value:"textMode"},{label:"短内容摘录方式",value:"excerptMode"},{label:"互动(点赞/评论)裁剪方式",value:"interactMode"},{label:"评论文字链裁剪方式",value:"commentTextMode"},{label:"摘录方式(无点赞)",value:"excerptCommentMode"},{label:"无限流卡片模式",value:"dynamicFeedMode"},{label:"时间线模式",value:"timeLineMode"},{label:"复合内容流模式",value:"multiFeedMode"},{label:"搜狐号推荐模式",value:"recommendFeedMode"},{label:"作者页内容流模式",value:"operateFeedMode"},{label:"标签内容流模式",value:"tagsFeedMode"},{label:"评论链裁剪方式",value:"commentMode"},{label:"标签摘录方式",value:"excerptTagsMode"},{label:"内容流模式",value:"feedMode"}],description:""},CONTENTCONTEXT:{type:"select",title:"mKey参数",options:[{label:"作者ID+栏目ID",value:"authorColumnId_${#authorColumnId}"},{label:"账号ID",value:"accountId_${#contentData_account_id}"},{label:"mkeyID",value:"mid_${#mkeyConst_mid}"},{label:"mkey名称",value:"mname_${#mkeyConst_mname}"},{label:"城市Code码",value:"cityCode_${#cityInfo_cityCode}"},{label:"城市名称",value:"cityName_${#cityInfo_cityName}"},{label:"焦点城市Code码",value:"focusCityCode_${#focusCityInfo_cityCode}"}],description:""},CONTENTPARAMS:{title:"动态参数",type:"json",default:"{}",description:"请填写JSON格式的参数",placeholder:""}},propertyOrder:["PRO","FEEDTYPE","VIEW","CONTENTCONTEXT","CONTENTPARAMS"],showCodeViewBtn:!1},otherConfig:{type:"object",title:"选配内容",description:"",isContainer:!1,properties:{SIZE:{type:"number",title:"容量",default:1,minimum:0,maximum:1e3,description:""},TITLE:{title:"标题",type:"input",default:"",description:"",placeholder:""},CODE:{title:"Code参数",type:"input",default:"",description:"",placeholder:""},URL:{type:"url",title:"跳转链接",default:"",description:"",placeholder:""}},propertyOrder:["SIZE","TITLE","URL","CODE"],showCodeViewBtn:!1}},propertyOrder:["mainConfig","otherConfig","outConfig"],showCodeViewBtn:!1},"sohu-event":{type:"sohu-event",title:"sohu组件事件",showCodeViewBtn:!1,isContainer:!1,properties:{globalEventMap:{type:"object",title:"全局事件Map",description:"",properties:{eventCode:{type:"input",title:"事件名称",default:"",description:"",placeholder:"",readOnly:!0}},propertyOrder:["eventCode"],showCodeViewBtn:!1},event:{type:"array",title:"监听事件",description:"当前组件监听事件列表",default:[],items:{type:"object",title:"数组项",description:"",properties:{name:{type:"input",title:"事件",default:"",description:"",placeholder:""},code:{title:"事件code",type:"input",default:"",description:"",placeholder:""},listenName:{title:"事件名称",type:"input",default:"",description:"",placeholder:""},desc:{title:"事件描述",type:"input",default:"",description:"",placeholder:""}},propertyOrder:["name","code","listenName","desc"]},showCodeViewBtn:!1}},propertyOrder:["globalEventMap","event"]}},m={on:{type:"event",title:"事件",isContainer:!1,properties:{type:{default:"on",type:"select",options:[{label:"on",value:"on"},{label:"emit",value:"emit"}],title:"事件类型"},register:{type:"input",default:"eventName",title:"注册事件",description:"用于输入注册事件的名称",placeholder:"请输入注册事件的名称"},actionFunc:{title:"执行函数",type:"codearea",default:"() => {}",description:""}},propertyOrder:["type","register","actionFunc"]},emit:f},g={local:h,remote:v};function O(e){return/^http[s]?:\/\/.*/.test(e)}function E(e){return"String"===Object.prototype.toString.call(e).slice(8,-1)}function N(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function _(e){return"Boolean"===Object.prototype.toString.call(e).slice(8,-1)}function w(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)}function x(e){return/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$/.test(e)||/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/.test(e)}function j(e){return/^\d{2}:\d{2}:\d{2}$/.test(e)||/^\d{2}:\d{2}$/.test(e)}function S(e){var t=!1;return"Array"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function D(e){if(!S(e))return!1;for(var t=0,r=e.length;t<r;t++){if(!E(e[t]))return!1}return!0}function A(e){var t=!1;return"Object"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function V(e){var t=!1;return b.quantity.properties.quantity.enum.indexOf(e)>=0&&(t=!0),t}function C(e){return/^#[0-9a-f]{6}$/.test(e)||/^#[0-9a-f]{3}$/.test(e)}function T(e){var t=!1;return"Function"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function k(e){var t={};return t=e&&A(e)?function(e){var t;if(A(e)){var r=Object.keys(e);e.data&&e.filter&&2===r.length?t=S(e.data)||A(e.data)?n(g.local):n(g.remote):e.trigger&&e.eventData&&2===r.length?t=n(m.emit):e.register&&e.actionFunc&&2===r.length?t=n(m.on):e.quantity&&V(e.quantity)&&2===r.length?t=n(b.quantity):(t=n(b["empty-object"]),Object.keys(e).map((function(r){var n=e[r];t.properties[r]=k(n)})))}return t}(e):e&&S(e)?function(e){var t;if(e&&S(e))if(D(e)){(t=n(b.select)).items.enum=e;var r=t.items.enumextra.length,o=e.length;if(o>r)for(var i=r,a=o;i<a;i++)t.items.enumextra.push("选项"+e(i))}else{t=n(b["empty-array"]);var s=k(e[0]);t.items.properties=s.properties}return t}(e):function(e){var t="";if(_(e))t=n(b.boolean);else if(N(e))t=n(b.number);else if(O(e))t=n(b.url);else if(w(e))t=n(b.date);else if(x(e))t=n(b["date-time"]);else if(j(e))t=n(b.time);else if(C(e))t=n(b.color);else try{t=N(JSON.parse(e))?n(b.input):n(b.json)}catch(r){t=e&&e.length>30?n(b.textarea):n(b.input)}return t}(e),t}function R(e,t){var r=t||{};if(A(e)&&"object"===getExpectType(e.type)&&e.properties){(e.propertyOrder?e.propertyOrder:Object.keys(e.properties)).map((function(t){var n=e.properties[t];r=P(n,r)}))}return r}function P(e,t){var r=!t,n=t||{};if(e&&"{}"!==JSON.stringify(e)){var o=e.type;"object"===o||"func"===o||"style"===o||"data"===o?(!r&&n.object?n.object+=1:r||(n.object=1),n=R(e,n)):"array"===o?(!r&&n.array?n.array+=1:r||(n.array=1),n=R(e=e.items,n)):!r&&n[o]?n[o]+=1:r||(n[o]=1)}return n}function I(e){var t=n(e);if(!t.title&&t.description&&(t.title=t.description),t.type||(t.type=t.format),"quantity"!==t.type&&"array"!==t.type&&"datasource"!==t.type&&"event"!==t.type&&"object"!==t.type||!i(t.default)||delete t.default,"radio"===t.type&&(t.type="string",t.enum&&t.enumextra&&(t.items={type:"string",enum:n(t.enum),enumextra:n(t.enumextra)},delete t.enum,delete t.enumextra)),"quantity"===t.type){var r=t.properties,o=n(b.quantity);if(r.quantity&&A(r.quantity)&&r.quantity.default){var a=r.quantity.default;o.properties.quantity.default="percent"===a?"%":a}t=o}if("datasource"===t.type){var s=t.properties,u=s.type&&s.type.default,c=s.data&&s.data.default,l=s.filter&&s.filter.default;"local"===u?(t=n(g.local)).properties.data.default=c?n(c):"{}":(t=n(g.remote)).properties.data.default=c?n(c):"http://xxx",t.properties.filter.default=l?n(l):"() => {}"}if("event"===t.type){var p=t.properties,d=p.type&&p.type.default;if("in"===d||"on"===d){var f=p.filter&&p.filter.default||"() => {}";t=n(m.on),p.actionFunc&&A(p.actionFunc)&&(t.properties.actionFunc.default=p.actionFunc.default||n(f))}else{var h=p.filter&&p.filter.default||"{}";t=n(m.emit),p.eventData&&A(p.eventData)&&(t.properties.eventData.default=p.eventData.default||n(h))}}return t.properties&&(t.propertyOrder||(t.propertyOrder=Object.keys(t.properties)),t.propertyOrder.map((function(e){t.properties[e]=M(t.properties[e])}))),t.items&&(t.items=M(t.items)),t}function M(e){var t=n(e);return t.required||delete t.required,t.type&&t.type&&(t.type=t.type),"quantity"!==t.type&&"array"!==t.type&&"datasource"!==t.type&&"event"!==t.type&&"object"!==t.type||!i(t.default)||delete t.default,"radio"!==t.type&&"checkboxes"!==t.type&&"select"!==t.type||t.items&&t.items.enum&&t.items.enumextra&&(t.options=[],t.items.enum.forEach((function(e,r){t.options.push({label:t.items.enumextra[r]||e,value:e})})),delete t.items),t.properties&&(t.propertyOrder||(t.propertyOrder=Object.keys(t.properties)),t.propertyOrder.map((function(e){t.properties[e]=M(t.properties[e])}))),"array"===t.type&&t.items&&(t.items=M(t.items)),t}var L=[];Object.freeze(L);var B={};function q(){return++ut.mobxGuid}function U(e){throw G(!1,e),"X"}function G(e,t){if(!e)throw new Error("[mobx] "+(t||"An invariant failed, however the error is obfuscated because this is a production build."))}function F(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}Object.freeze(B);var K=function(){};function z(e){return null!==e&&"object"==typeof e}function J(e){if(null===e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function H(e,t,r){Object.defineProperty(e,t,{enumerable:!1,writable:!0,configurable:!0,value:r})}function W(e,t){var r=Object.getOwnPropertyDescriptor(e,t);return!r||!1!==r.configurable&&!1!==r.writable}function $(e,t){var r="isMobX"+e;return t.prototype[r]=!0,function(e){return z(e)&&!0===e[r]}}function X(e){return e instanceof Map}function Y(e){return e instanceof Set}function Z(e){var t=new Set;for(var r in e)t.add(r);return Object.getOwnPropertySymbols(e).forEach((function(r){Object.getOwnPropertyDescriptor(e,r).enumerable&&t.add(r)})),Array.from(t)}function Q(e){return e&&e.toString?e.toString():new String(e).toString()}function ee(e){return null===e?null:"object"==typeof e?""+e:e}var te="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,re=Symbol("mobx administration"),ne=function(){function e(e){void 0===e&&(e="Atom@"+q()),this.name=e,this.isPendingUnobservation=!1,this.isBeingObserved=!1,this.observers=new Set,this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=ke.NOT_TRACKING}return e.prototype.onBecomeObserved=function(){this.onBecomeObservedListeners&&this.onBecomeObservedListeners.forEach((function(e){return e()}))},e.prototype.onBecomeUnobserved=function(){this.onBecomeUnobservedListeners&&this.onBecomeUnobservedListeners.forEach((function(e){return e()}))},e.prototype.reportObserved=function(){return ht(this)},e.prototype.reportChanged=function(){dt(),function(e){if(e.lowestObserverState===ke.STALE)return;e.lowestObserverState=ke.STALE,e.observers.forEach((function(t){t.dependenciesState===ke.UP_TO_DATE&&(t.isTracing!==Re.NONE&&vt(t,e),t.onBecomeStale()),t.dependenciesState=ke.STALE}))}(this),ft()},e.prototype.toString=function(){return this.name},e}(),oe=$("Atom",ne);function ie(e,t,r){void 0===t&&(t=K),void 0===r&&(r=K);var n,o=new ne(e);return t!==K&&Vt("onBecomeObserved",o,t,n),r!==K&&At(o,r),o}var ae={identity:function(e,t){return e===t},structural:function(e,t){return gr(e,t)},default:function(e,t){return Object.is(e,t)},shallow:function(e,t){return gr(e,t,1)}},se=function(e,t){return se=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},se(e,t)};
|
|
2
|
+
/*! *****************************************************************************
|
|
3
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
5
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
6
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
|
|
8
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
9
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
10
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
11
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
12
|
+
|
|
13
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
|
+
and limitations under the License.
|
|
15
|
+
***************************************************************************** */var ue=function(){return ue=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},ue.apply(this,arguments)};function ce(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}function le(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function pe(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(le(arguments[t]));return e}var de=Symbol("mobx did run lazy initializers"),fe=Symbol("mobx pending decorators"),he={},ve={};function ye(e){var t,r;if(!0!==e[de]){var n=e[fe];if(n){H(e,de,!0);var o=pe(Object.getOwnPropertySymbols(n),Object.keys(n));try{for(var i=ce(o),a=i.next();!a.done;a=i.next()){var s=n[a.value];s.propertyCreator(e,s.prop,s.descriptor,s.decoratorTarget,s.decoratorArguments)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}}}}function be(e,t){return function(){var r,n=function(n,o,i,a){if(!0===a)return t(n,o,i,n,r),null;if("production"===process.env.NODE_ENV||me(arguments)||U("This function is a decorator, but it wasn't invoked like a decorator"),!Object.prototype.hasOwnProperty.call(n,fe)){var s=n[fe];H(n,fe,ue({},s))}return n[fe][o]={prop:o,propertyCreator:t,descriptor:i,decoratorTarget:n,decoratorArguments:r},function(e,t){var r=t?he:ve;return r[e]||(r[e]={configurable:!0,enumerable:t,get:function(){return ye(this),this[e]},set:function(t){ye(this),this[e]=t}})}(o,e)};return me(arguments)?(r=L,n.apply(null,arguments)):(r=Array.prototype.slice.call(arguments),n)}}function me(e){return(2===e.length||3===e.length)&&("string"==typeof e[1]||"symbol"==typeof e[1])||4===e.length&&!0===e[3]}function ge(e,t,r){return It(e)?e:Array.isArray(e)?Ce.array(e,{name:r}):J(e)?Ce.object(e,void 0,{name:r}):X(e)?Ce.map(e,{name:r}):Y(e)?Ce.set(e,{name:r}):e}function Oe(e){return e}function Ee(e){G(e);var t=be(!0,(function(t,r,n,o,i){"production"!==process.env.NODE_ENV&&G(!n||!n.get,'@observable cannot be used on getter (property "'+Q(r)+'"), use @computed instead.');var a=n?n.initializer?n.initializer.call(t):n.value:void 0;ur(t).addObservableProp(r,a,e)})),r="undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV?function(){return arguments.length<2?U("Incorrect decorator invocation. @observable decorator doesn't expect any arguments"):t.apply(null,arguments)}:t;return r.enhancer=e,r}var Ne={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function _e(e){/^(deep|name|equals|defaultDecorator|proxy)$/.test(e)||U("invalid option for (extend)observable: "+e)}function we(e){if(null==e)return Ne;if("string"==typeof e)return{name:e,deep:!0,proxy:!0};if("production"!==process.env.NODE_ENV){if("object"!=typeof e)return U("expected options object");Object.keys(e).forEach(_e)}return e}Object.freeze(Ne);var xe=Ee(ge),je=Ee((function(e,t,r){return null==e||fr(e)||Qt(e)||nr(e)||ar(e)?e:Array.isArray(e)?Ce.array(e,{name:r,deep:!1}):J(e)?Ce.object(e,void 0,{name:r,deep:!1}):X(e)?Ce.map(e,{name:r,deep:!1}):Y(e)?Ce.set(e,{name:r,deep:!1}):U("production"!==process.env.NODE_ENV&&"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets")})),Se=Ee(Oe),De=Ee((function(e,t,r){if("production"!==process.env.NODE_ENV&&It(e))throw"observable.struct should not be used with observable values";return gr(e,t)?t:e}));function Ae(e){return e.defaultDecorator?e.defaultDecorator.enhancer:!1===e.deep?Oe:ge}var Ve={box:function(e,t){arguments.length>2&&Te("box");var r=we(t);return new tt(e,Ae(r),r.name,!0,r.equals)},array:function(e,t){arguments.length>2&&Te("array");var r=we(t);return function(e,t,r,n){void 0===r&&(r="ObservableArray@"+q());void 0===n&&(n=!1);var o=new $t(r,t,n);i=o.values,a=re,s=o,Object.defineProperty(i,a,{enumerable:!1,writable:!1,configurable:!0,value:s});var i,a,s;var u=new Proxy(o.values,Wt);if(o.proxy=u,e&&e.length){var c=Qe(!0);o.spliceWithArray(0,0,e),et(c)}return u}(e,Ae(r),r.name)},map:function(e,t){arguments.length>2&&Te("map");var r=we(t);return new rr(e,Ae(r),r.name)},set:function(e,t){arguments.length>2&&Te("set");var r=we(t);return new ir(e,Ae(r),r.name)},object:function(e,t,r){"string"==typeof arguments[1]&&Te("object");var n=we(r);if(!1===n.proxy)return Ct({},e,t,n);var o=Tt(n),i=function(e){var t=new Proxy(e,Ut);return e[re].proxy=t,t}(Ct({},void 0,void 0,n));return kt(i,e,t,o),i},ref:Se,shallow:je,deep:xe,struct:De},Ce=function(e,t,r){if("string"==typeof arguments[1]||"symbol"==typeof arguments[1])return xe.apply(null,arguments);if(It(e))return e;var n=J(e)?Ce.object(e,t,r):Array.isArray(e)?Ce.array(e,t):X(e)?Ce.map(e,t):Y(e)?Ce.set(e,t):e;if(n!==e)return n;U("production"!==process.env.NODE_ENV&&"The provided value could not be converted into an observable. If you want just create an observable reference to the object use 'observable.box(value)'")};function Te(e){U("Expected one or two arguments to observable."+e+". Did you accidentally try to use observable."+e+" as decorator?")}Object.keys(Ve).forEach((function(e){return Ce[e]=Ve[e]}));var ke,Re,Pe=be(!1,(function(e,t,r,n,o){"production"!==process.env.NODE_ENV&&G(r&&r.get,"Trying to declare a computed value for unspecified getter '"+Q(t)+"'");var i=r.get,a=r.set,s=o[0]||{};ur(e).addComputedProp(e,t,ue({get:i,set:a,context:e},s))}));Pe({equals:ae.structural}),function(e){e[e.NOT_TRACKING=-1]="NOT_TRACKING",e[e.UP_TO_DATE=0]="UP_TO_DATE",e[e.POSSIBLY_STALE=1]="POSSIBLY_STALE",e[e.STALE=2]="STALE"}(ke||(ke={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(Re||(Re={}));var Ie=function(e){this.cause=e};function Me(e){return e instanceof Ie}function Le(e){switch(e.dependenciesState){case ke.UP_TO_DATE:return!1;case ke.NOT_TRACKING:case ke.STALE:return!0;case ke.POSSIBLY_STALE:for(var t=ze(!0),r=Fe(),n=e.observing,o=n.length,i=0;i<o;i++){var a=n[i];if(nt(a)){if(ut.disableErrorBoundaries)a.get();else try{a.get()}catch(e){return Ke(r),Je(t),!0}if(e.dependenciesState===ke.STALE)return Ke(r),Je(t),!0}}return He(e),Ke(r),Je(t),!1}}function Be(e){var t=e.observers.size>0;ut.computationDepth>0&&t&&U("production"!==process.env.NODE_ENV&&"Computed values are not allowed to cause side effects by changing observables that are already being observed. Tried to modify: "+e.name),ut.allowStateChanges||!t&&"strict"!==ut.enforceActions||U("production"!==process.env.NODE_ENV&&(ut.enforceActions?"Since strict-mode is enabled, changing observed observable values outside actions is not allowed. Please wrap the code in an `action` if this change is intended. Tried to modify: ":"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, the render function of a React component? Tried to modify: ")+e.name)}function qe(e,t,r){var n=ze(!0);He(e),e.newObserving=new Array(e.observing.length+100),e.unboundDepsCount=0,e.runId=++ut.runId;var o,i=ut.trackingDerivation;if(ut.trackingDerivation=e,!0===ut.disableErrorBoundaries)o=t.call(r);else try{o=t.call(r)}catch(e){o=new Ie(e)}return ut.trackingDerivation=i,function(e){for(var t=e.observing,r=e.observing=e.newObserving,n=ke.UP_TO_DATE,o=0,i=e.unboundDepsCount,a=0;a<i;a++){0===(s=r[a]).diffValue&&(s.diffValue=1,o!==a&&(r[o]=s),o++),s.dependenciesState>n&&(n=s.dependenciesState)}r.length=o,e.newObserving=null,i=t.length;for(;i--;){0===(s=t[i]).diffValue&<(s,e),s.diffValue=0}for(;o--;){var s;1===(s=r[o]).diffValue&&(s.diffValue=0,ct(s,e))}n!==ke.UP_TO_DATE&&(e.dependenciesState=n,e.onBecomeStale())}(e),function(e){if("production"===process.env.NODE_ENV)return;if(0!==e.observing.length)return;(ut.reactionRequiresObservable||e.requiresObservable)&&console.warn("[mobx] Derivation "+e.name+" is created/updated without reading any observable value")}(e),Je(n),o}function Ue(e){var t=e.observing;e.observing=[];for(var r=t.length;r--;)lt(t[r],e);e.dependenciesState=ke.NOT_TRACKING}function Ge(e){var t=Fe();try{return e()}finally{Ke(t)}}function Fe(){var e=ut.trackingDerivation;return ut.trackingDerivation=null,e}function Ke(e){ut.trackingDerivation=e}function ze(e){var t=ut.allowStateReads;return ut.allowStateReads=e,t}function Je(e){ut.allowStateReads=e}function He(e){if(e.dependenciesState!==ke.UP_TO_DATE){e.dependenciesState=ke.UP_TO_DATE;for(var t=e.observing,r=t.length;r--;)t[r].lowestObserverState=ke.UP_TO_DATE}}var We=0,$e=1,Xe=Object.getOwnPropertyDescriptor((function(){}),"name"),Ye=Xe&&Xe.configurable;function Ze(e,t,r){"production"!==process.env.NODE_ENV&&(G("function"==typeof t,"`action` can only be invoked on functions"),"string"==typeof e&&e||U("actions should have valid names, got: '"+e+"'"));var n=function(){return function(e,t,r,n){var o=function(e,t,r){var n=_t()&&!!e,o=0;if(n&&"production"!==process.env.NODE_ENV){o=Date.now();var i=r&&r.length||0,a=new Array(i);if(i>0)for(var s=0;s<i;s++)a[s]=r[s];xt({type:"action",name:e,object:t,arguments:a})}var u=Fe();dt();var c=Qe(!0),l=ze(!0),p={prevDerivation:u,prevAllowStateChanges:c,prevAllowStateReads:l,notifySpy:n,startTime:o,actionId:$e++,parentActionId:We};return We=p.actionId,p}(e,r,n);try{return t.apply(r,n)}catch(e){throw o.error=e,e}finally{!function(e){We!==e.actionId&&U("invalid action stack. did you forget to finish an action?");We=e.parentActionId,void 0!==e.error&&(ut.suppressReactionErrors=!0);et(e.prevAllowStateChanges),Je(e.prevAllowStateReads),ft(),Ke(e.prevDerivation),e.notifySpy&&"production"!==process.env.NODE_ENV&&St({time:Date.now()-e.startTime});ut.suppressReactionErrors=!1}(o)}}(e,t,r||this,arguments)};return n.isMobxAction=!0,"production"!==process.env.NODE_ENV&&Ye&&Object.defineProperty(n,"name",{value:e}),n}function Qe(e){var t=ut.allowStateChanges;return ut.allowStateChanges=e,t}function et(e){ut.allowStateChanges=e}var tt=function(e){function t(t,r,n,o,i){void 0===n&&(n="ObservableValue@"+q()),void 0===o&&(o=!0),void 0===i&&(i=ae.default);var a=e.call(this,n)||this;return a.enhancer=r,a.name=n,a.equals=i,a.hasUnreportedChange=!1,a.value=r(t,void 0,n),o&&_t()&&"production"!==process.env.NODE_ENV&&wt({type:"create",name:a.name,newValue:""+a.value}),a}return function(e,t){function r(){this.constructor=e}se(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.prototype.set=function(e){var t=this.value;if((e=this.prepareNewValue(e))!==ut.UNCHANGED){var r=_t();r&&"production"!==process.env.NODE_ENV&&xt({type:"update",name:this.name,newValue:e,oldValue:t}),this.setNewValue(e),r&&"production"!==process.env.NODE_ENV&&St()}},t.prototype.prepareNewValue=function(e){if(Be(this),Gt(this)){var t=Kt(this,{object:this,type:"update",newValue:e});if(!t)return ut.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value,this.name),this.equals(this.value,e)?ut.UNCHANGED:e},t.prototype.setNewValue=function(e){var t=this.value;this.value=e,this.reportChanged(),zt(this)&&Ht(this,{type:"update",object:this,newValue:e,oldValue:t})},t.prototype.get=function(){return this.reportObserved(),this.dehanceValue(this.value)},t.prototype.intercept=function(e){return Ft(this,e)},t.prototype.observe=function(e,t){return t&&e({object:this,type:"update",newValue:this.value,oldValue:void 0}),Jt(this,e)},t.prototype.toJSON=function(){return this.get()},t.prototype.toString=function(){return this.name+"["+this.value+"]"},t.prototype.valueOf=function(){return ee(this.get())},t.prototype[Symbol.toPrimitive]=function(){return this.valueOf()},t}(ne);$("ObservableValue",tt);var rt=function(){function e(e){this.dependenciesState=ke.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isBeingObserved=!1,this.isPendingUnobservation=!1,this.observers=new Set,this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=ke.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+q(),this.value=new Ie(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=Re.NONE,G(e.get,"missing option for computed: get"),this.derivation=e.get,this.name=e.name||"ComputedValue@"+q(),e.set&&(this.setter=Ze(this.name+"-setter",e.set)),this.equals=e.equals||(e.compareStructural||e.struct?ae.structural:ae.default),this.scope=e.context,this.requiresReaction=!!e.requiresReaction,this.keepAlive=!!e.keepAlive}return e.prototype.onBecomeStale=function(){!function(e){if(e.lowestObserverState!==ke.UP_TO_DATE)return;e.lowestObserverState=ke.POSSIBLY_STALE,e.observers.forEach((function(t){t.dependenciesState===ke.UP_TO_DATE&&(t.dependenciesState=ke.POSSIBLY_STALE,t.isTracing!==Re.NONE&&vt(t,e),t.onBecomeStale())}))}(this)},e.prototype.onBecomeObserved=function(){this.onBecomeObservedListeners&&this.onBecomeObservedListeners.forEach((function(e){return e()}))},e.prototype.onBecomeUnobserved=function(){this.onBecomeUnobservedListeners&&this.onBecomeUnobservedListeners.forEach((function(e){return e()}))},e.prototype.get=function(){this.isComputing&&U("Cycle detected in computation "+this.name+": "+this.derivation),0!==ut.inBatch||0!==this.observers.size||this.keepAlive?(ht(this),Le(this)&&this.trackAndCompute()&&function(e){if(e.lowestObserverState===ke.STALE)return;e.lowestObserverState=ke.STALE,e.observers.forEach((function(t){t.dependenciesState===ke.POSSIBLY_STALE?t.dependenciesState=ke.STALE:t.dependenciesState===ke.UP_TO_DATE&&(e.lowestObserverState=ke.UP_TO_DATE)}))}(this)):Le(this)&&(this.warnAboutUntrackedRead(),dt(),this.value=this.computeValue(!1),ft());var e=this.value;if(Me(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(Me(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){G(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else G(!1,"production"!==process.env.NODE_ENV&&"[ComputedValue '"+this.name+"'] It is not possible to assign a new value to a computed value.")},e.prototype.trackAndCompute=function(){_t()&&"production"!==process.env.NODE_ENV&&wt({object:this.scope,type:"compute",name:this.name});var e=this.value,t=this.dependenciesState===ke.NOT_TRACKING,r=this.computeValue(!0),n=t||Me(e)||Me(r)||!this.equals(e,r);return n&&(this.value=r),n},e.prototype.computeValue=function(e){var t;if(this.isComputing=!0,ut.computationDepth++,e)t=qe(this,this.derivation,this.scope);else if(!0===ut.disableErrorBoundaries)t=this.derivation.call(this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new Ie(e)}return ut.computationDepth--,this.isComputing=!1,t},e.prototype.suspend=function(){this.keepAlive||(Ue(this),this.value=void 0)},e.prototype.observe=function(e,t){var r=this,n=!0,o=void 0;return function(e,t){void 0===t&&(t=B);"production"!==process.env.NODE_ENV&&(G("function"==typeof e,"Autorun expects a function as first argument"),G(!1==("function"==typeof(r=e)&&!0===r.isMobxAction),"Autorun does not accept actions since actions are untrackable"));var r;var n,o=t&&t.name||e.name||"Autorun@"+q();if(t.scheduler||t.delay){var i=function(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Dt}(t),a=!1;n=new bt(o,(function(){a||(a=!0,i((function(){a=!1,n.isDisposed||n.track(s)})))}),t.onError,t.requiresObservable)}else n=new bt(o,(function(){this.track(s)}),t.onError,t.requiresObservable);function s(){e(n)}return n.schedule(),n.getDisposer()}((function(){var i=r.get();if(!n||t){var a=Fe();e({type:"update",object:r,newValue:i,oldValue:o}),Ke(a)}n=!1,o=i}))},e.prototype.warnAboutUntrackedRead=function(){"production"!==process.env.NODE_ENV&&(!0===this.requiresReaction&&U("[mobx] Computed value "+this.name+" is read outside a reactive context"),this.isTracing!==Re.NONE&&console.log("[mobx.trace] '"+this.name+"' is being read outside a reactive context. Doing a full recompute"),ut.computedRequiresReaction&&console.warn("[mobx] Computed value "+this.name+" is being read outside a reactive context. Doing a full recompute"))},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.valueOf=function(){return ee(this.get())},e.prototype[Symbol.toPrimitive]=function(){return this.valueOf()},e}(),nt=$("ComputedValue",rt),ot=function(){this.version=5,this.UNCHANGED={},this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.allowStateReads=!0,this.enforceActions=!1,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.computedConfigurable=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1},it={};function at(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:it}var st=!0,ut=function(){var e=at();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(st=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new ot).version&&(st=!1),st?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new ot):(setTimeout((function(){U("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")}),1),new ot)}();function ct(e,t){e.observers.add(t),e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function lt(e,t){e.observers.delete(t),0===e.observers.size&&pt(e)}function pt(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,ut.pendingUnobservations.push(e))}function dt(){ut.inBatch++}function ft(){if(0==--ut.inBatch){Ot();for(var e=ut.pendingUnobservations,t=0;t<e.length;t++){var r=e[t];r.isPendingUnobservation=!1,0===r.observers.size&&(r.isBeingObserved&&(r.isBeingObserved=!1,r.onBecomeUnobserved()),r instanceof rt&&r.suspend())}ut.pendingUnobservations=[]}}function ht(e){!function(e){"production"!==process.env.NODE_ENV&&!ut.allowStateReads&&ut.observableRequiresReaction&&console.warn("[mobx] Observable "+e.name+" being read outside a reactive context")}(e);var t=ut.trackingDerivation;return null!==t?(t.runId!==e.lastAccessedBy&&(e.lastAccessedBy=t.runId,t.newObserving[t.unboundDepsCount++]=e,e.isBeingObserved||(e.isBeingObserved=!0,e.onBecomeObserved())),!0):(0===e.observers.size&&ut.inBatch>0&&pt(e),!1)}function vt(e,t){if(console.log("[mobx.trace] '"+e.name+"' is invalidated due to a change in: '"+t.name+"'"),e.isTracing===Re.BREAK){var r=[];yt(Rt(hr(e,n)),r,1),new Function("debugger;\n/*\nTracing '"+e.name+"'\n\nYou are entering this break point because derivation '"+e.name+"' is being traced and '"+t.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(e instanceof rt?e.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+r.join("\n")+"\n*/\n ")()}var n}function yt(e,t,r){t.length>=1e3?t.push("(and many more)"):(t.push(""+new Array(r).join("\t")+e.name),e.dependencies&&e.dependencies.forEach((function(e){return yt(e,t,r+1)})))}var bt=function(){function e(e,t,r,n){void 0===e&&(e="Reaction@"+q()),void 0===n&&(n=!1),this.name=e,this.onInvalidate=t,this.errorHandler=r,this.requiresObservable=n,this.observing=[],this.newObserving=[],this.dependenciesState=ke.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+q(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=Re.NONE}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,ut.pendingReactions.push(this),Ot())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){if(!this.isDisposed){if(dt(),this._isScheduled=!1,Le(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending&&_t()&&"production"!==process.env.NODE_ENV&&wt({name:this.name,type:"scheduled-reaction"})}catch(e){this.reportExceptionInDerivation(e)}}ft()}},e.prototype.track=function(e){if(!this.isDisposed){dt();var t,r=_t();r&&"production"!==process.env.NODE_ENV&&(t=Date.now(),xt({name:this.name,type:"reaction"})),this._isRunning=!0;var n=qe(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&Ue(this),Me(n)&&this.reportExceptionInDerivation(n.cause),r&&"production"!==process.env.NODE_ENV&&St({time:Date.now()-t}),ft()}},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)this.errorHandler(e,this);else{if(ut.disableErrorBoundaries)throw e;var r="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";ut.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(r,e),_t()&&wt({type:"error",name:this.name,message:r,error:""+e}),ut.globalReactionErrorHandlers.forEach((function(r){return r(e,t)}))}},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(dt(),Ue(this),ft()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e[re]=this,e},e.prototype.toString=function(){return"Reaction["+this.name+"]"},e.prototype.trace=function(e){void 0===e&&(e=!1),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=!1;"boolean"==typeof e[e.length-1]&&(r=e.pop());var n=function(e){switch(e.length){case 0:return ut.trackingDerivation;case 1:return hr(e[0]);case 2:return hr(e[0],e[1])}}(e);if(!n)return U("production"!==process.env.NODE_ENV&&"'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");n.isTracing===Re.NONE&&console.log("[mobx.trace] '"+n.name+"' tracing enabled");n.isTracing=r?Re.BREAK:Re.LOG}(this,e)},e}(),mt=100,gt=function(e){return e()};function Ot(){ut.inBatch>0||ut.isRunningReactions||gt(Et)}function Et(){ut.isRunningReactions=!0;for(var e=ut.pendingReactions,t=0;e.length>0;){++t===mt&&(console.error("Reaction doesn't converge to a stable state after "+mt+" iterations. Probably there is a cycle in the reactive function: "+e[0]),e.splice(0));for(var r=e.splice(0),n=0,o=r.length;n<o;n++)r[n].runReaction()}ut.isRunningReactions=!1}var Nt=$("Reaction",bt);function _t(){return"production"!==process.env.NODE_ENV&&!!ut.spyListeners.length}function wt(e){if("production"!==process.env.NODE_ENV&&ut.spyListeners.length)for(var t=ut.spyListeners,r=0,n=t.length;r<n;r++)t[r](e)}function xt(e){"production"!==process.env.NODE_ENV&&wt(ue(ue({},e),{spyReportStart:!0}))}var jt={spyReportEnd:!0};function St(e){"production"!==process.env.NODE_ENV&&wt(e?ue(ue({},e),{spyReportEnd:!0}):jt)}var Dt=function(e){return e()};function At(e,t,r){return Vt("onBecomeUnobserved",e,t,r)}function Vt(e,t,r,n){var o="function"==typeof n?hr(t,r):hr(t),i="function"==typeof n?n:r,a=e+"Listeners";return o[a]?o[a].add(i):o[a]=new Set([i]),"function"!=typeof o[e]?U("production"!==process.env.NODE_ENV&&"Not an atom that can be (un)observed"):function(){var e=o[a];e&&(e.delete(i),0===e.size&&delete o[a])}}function Ct(e,t,r,n){"production"!==process.env.NODE_ENV&&(G(arguments.length>=2&&arguments.length<=4,"'extendObservable' expected 2-4 arguments"),G("object"==typeof e,"'extendObservable' expects an object as first argument"),G(!nr(e),"'extendObservable' should not be used on maps, use map.merge instead"));var o=Tt(n=we(n));return ye(e),ur(e,n.name,o.enhancer),t&&kt(e,t,r,o),e}function Tt(e){return e.defaultDecorator||(!1===e.deep?Se:xe)}function kt(e,t,r,n){var o,i,a,s;if("production"!==process.env.NODE_ENV&&(G(!It(t),"Extending an object with another observable (object) is not supported. Please construct an explicit propertymap, using `toJS` if need. See issue #540"),r)){var u=Z(r);try{for(var c=ce(u),l=c.next();!l.done;l=c.next()){(f=l.value)in t||U("Trying to declare a decorator for unspecified property '"+Q(f)+"'")}}catch(e){o={error:e}}finally{try{l&&!l.done&&(i=c.return)&&i.call(c)}finally{if(o)throw o.error}}}dt();try{u=te(t);try{for(var p=ce(u),d=p.next();!d.done;d=p.next()){var f=d.value,h=Object.getOwnPropertyDescriptor(t,f);"production"!==process.env.NODE_ENV&&(J(t)||U("'extendObservable' only accepts plain objects as second argument"),Pt(h.value)&&U("Passing a 'computed' as initial property value is no longer supported by extendObservable. Use a getter or decorator instead"));var v=r&&f in r?r[f]:h.get?Pe:n;"production"!==process.env.NODE_ENV&&"function"!=typeof v&&U("Not a valid decorator for '"+Q(f)+"', got: "+v);var y=v(e,f,h,!0);y&&Object.defineProperty(e,f,y)}}catch(e){a={error:e}}finally{try{d&&!d.done&&(s=p.return)&&s.call(p)}finally{if(a)throw a.error}}}finally{ft()}}function Rt(e){var t,r,n={name:e.name};return e.observing&&e.observing.length>0&&(n.dependencies=(t=e.observing,r=[],t.forEach((function(e){-1===r.indexOf(e)&&r.push(e)})),r).map(Rt)),n}function Pt(e){return arguments.length>1?U("production"!==process.env.NODE_ENV&&"isComputed expects only 1 argument. Use isObservableProp to inspect the observability of a property"):function(e,t){if(null==e)return!1;if(void 0!==t){if(!1===fr(e))return!1;if(!e[re].values.has(t))return!1;var r=hr(e,t);return nt(r)}return nt(e)}(e)}function It(e){return 1!==arguments.length&&U("production"!==process.env.NODE_ENV&&"isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property"),function(e,t){return null!=e&&(void 0!==t?"production"!==process.env.NODE_ENV&&(nr(e)||Qt(e))?U("isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead."):!!fr(e)&&e[re].values.has(t):fr(e)||!!e[re]||oe(e)||Nt(e)||nt(e))}(e)}function Mt(e,t,r){if(2!==arguments.length||ar(e))if(fr(e)){var n=e[re];n.values.get(t)?n.write(t,r):n.addObservableProp(t,r,n.defaultEnhancer)}else if(nr(e))e.set(t,r);else if(ar(e))e.add(t);else{if(!Qt(e))return U("production"!==process.env.NODE_ENV&&"'set()' can only be used on observable objects, arrays and maps");"number"!=typeof t&&(t=parseInt(t,10)),G(t>=0,"Not a valid index: '"+t+"'"),dt(),t>=e.length&&(e.length=t+1),e[t]=r,ft()}else{dt();var o=t;try{for(var i in o)Mt(e,i,o[i])}finally{ft()}}}function Lt(e,t){void 0===t&&(t=void 0),dt();try{return e.apply(t)}finally{ft()}}function Bt(e){return e[re]}function qt(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e}var Ut={has:function(e,t){if(t===re||"constructor"===t||t===de)return!0;var r=Bt(e);return qt(t)?r.has(t):t in e},get:function(e,t){if(t===re||"constructor"===t||t===de)return e[t];var r=Bt(e),n=r.values.get(t);if(n instanceof ne){var o=n.get();return void 0===o&&r.has(t),o}return qt(t)&&r.has(t),e[t]},set:function(e,t,r){return!!qt(t)&&(Mt(e,t,r),!0)},deleteProperty:function(e,t){return!!qt(t)&&(Bt(e).remove(t),!0)},ownKeys:function(e){return Bt(e).keysAtom.reportObserved(),Reflect.ownKeys(e)},preventExtensions:function(e){return U("Dynamic observable objects cannot be frozen"),!1}};function Gt(e){return void 0!==e.interceptors&&e.interceptors.length>0}function Ft(e,t){var r=e.interceptors||(e.interceptors=[]);return r.push(t),F((function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}))}function Kt(e,t){var r=Fe();try{for(var n=pe(e.interceptors||[]),o=0,i=n.length;o<i&&(G(!(t=n[o](t))||t.type,"Intercept handlers should return nothing or a change object"),t);o++);return t}finally{Ke(r)}}function zt(e){return void 0!==e.changeListeners&&e.changeListeners.length>0}function Jt(e,t){var r=e.changeListeners||(e.changeListeners=[]);return r.push(t),F((function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}))}function Ht(e,t){var r=Fe(),n=e.changeListeners;if(n){for(var o=0,i=(n=n.slice()).length;o<i;o++)n[o](t);Ke(r)}}var Wt={get:function(e,t){return t===re?e[re]:"length"===t?e[re].getArrayLength():"number"==typeof t?Xt.get.call(e,t):"string"!=typeof t||isNaN(t)?Xt.hasOwnProperty(t)?Xt[t]:e[t]:Xt.get.call(e,parseInt(t))},set:function(e,t,r){return"length"===t&&e[re].setArrayLength(r),"number"==typeof t&&Xt.set.call(e,t,r),"symbol"==typeof t||isNaN(t)?e[t]=r:Xt.set.call(e,parseInt(t),r),!0},preventExtensions:function(e){return U("Observable arrays cannot be frozen"),!1}};var $t=function(){function e(e,t,r){this.owned=r,this.values=[],this.proxy=void 0,this.lastKnownLength=0,this.atom=new ne(e||"ObservableArray@"+q()),this.enhancer=function(r,n){return t(r,n,e+"[..]")}}return e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.dehanceValues=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},e.prototype.intercept=function(e){return Ft(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.proxy,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),Jt(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||e<0)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;if(e!==t)if(e>t){for(var r=new Array(e-t),n=0;n<e-t;n++)r[n]=void 0;this.spliceWithArray(t,0,r)}else this.spliceWithArray(e,t-e)},e.prototype.updateArrayLength=function(e,t){if(e!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed.");this.lastKnownLength+=t},e.prototype.spliceWithArray=function(e,t,r){var n=this;Be(this.atom);var o=this.values.length;if(void 0===e?e=0:e>o?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:null==t?0:Math.max(0,Math.min(t,o-e)),void 0===r&&(r=L),Gt(this)){var i=Kt(this,{object:this.proxy,type:"splice",index:e,removedCount:t,added:r});if(!i)return L;t=i.removedCount,r=i.added}if(r=0===r.length?r:r.map((function(e){return n.enhancer(e,void 0)})),"production"!==process.env.NODE_ENV){var a=r.length-t;this.updateArrayLength(o,a)}var s=this.spliceItemsIntoValues(e,t,r);return 0===t&&0===r.length||this.notifyArraySplice(e,r,s),this.dehanceValues(s)},e.prototype.spliceItemsIntoValues=function(e,t,r){var n;if(r.length<1e4)return(n=this.values).splice.apply(n,pe([e,t],r));var o=this.values.slice(e,e+t);return this.values=this.values.slice(0,e).concat(r,this.values.slice(e+t)),o},e.prototype.notifyArrayChildUpdate=function(e,t,r){var n=!this.owned&&_t(),o=zt(this),i=o||n?{object:this.proxy,type:"update",index:e,newValue:t,oldValue:r}:null;n&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},i),{name:this.atom.name})),this.atom.reportChanged(),o&&Ht(this,i),n&&"production"!==process.env.NODE_ENV&&St()},e.prototype.notifyArraySplice=function(e,t,r){var n=!this.owned&&_t(),o=zt(this),i=o||n?{object:this.proxy,type:"splice",index:e,removed:r,added:t,removedCount:r.length,addedCount:t.length}:null;n&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},i),{name:this.atom.name})),this.atom.reportChanged(),o&&Ht(this,i),n&&"production"!==process.env.NODE_ENV&&St()},e}(),Xt={intercept:function(e){return this[re].intercept(e)},observe:function(e,t){return void 0===t&&(t=!1),this[re].observe(e,t)},clear:function(){return this.splice(0)},replace:function(e){var t=this[re];return t.spliceWithArray(0,t.values.length,e)},toJS:function(){return this.slice()},toJSON:function(){return this.toJS()},splice:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=this[re];switch(arguments.length){case 0:return[];case 1:return o.spliceWithArray(e);case 2:return o.spliceWithArray(e,t)}return o.spliceWithArray(e,t,r)},spliceWithArray:function(e,t,r){return this[re].spliceWithArray(e,t,r)},push:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=this[re];return r.spliceWithArray(r.values.length,0,e),r.values.length},pop:function(){return this.splice(Math.max(this[re].values.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=this[re];return r.spliceWithArray(0,0,e),r.values.length},reverse:function(){"production"!==process.env.NODE_ENV&&console.warn("[mobx] `observableArray.reverse()` will not update the array in place. Use `observableArray.slice().reverse()` to suppress this warning and perform the operation on a copy, or `observableArray.replace(observableArray.slice().reverse())` to reverse & update in place");var e=this.slice();return e.reverse.apply(e,arguments)},sort:function(e){"production"!==process.env.NODE_ENV&&console.warn("[mobx] `observableArray.sort()` will not update the array in place. Use `observableArray.slice().sort()` to suppress this warning and perform the operation on a copy, or `observableArray.replace(observableArray.slice().sort())` to sort & update in place");var t=this.slice();return t.sort.apply(t,arguments)},remove:function(e){var t=this[re],r=t.dehanceValues(t.values).indexOf(e);return r>-1&&(this.splice(r,1),!0)},get:function(e){var t=this[re];if(t){if(e<t.values.length)return t.atom.reportObserved(),t.dehanceValue(t.values[e]);console.warn("[mobx.array] Attempt to read an array index ("+e+") that is out of bounds ("+t.values.length+"). Please check length first. Out of bound indices will not be tracked by MobX")}},set:function(e,t){var r=this[re],n=r.values;if(e<n.length){Be(r.atom);var o=n[e];if(Gt(r)){var i=Kt(r,{type:"update",object:r.proxy,index:e,newValue:t});if(!i)return;t=i.newValue}(t=r.enhancer(t,o))!==o&&(n[e]=t,r.notifyArrayChildUpdate(e,t,o))}else{if(e!==n.length)throw new Error("[mobx.array] Index out of bounds, "+e+" is larger than "+n.length);r.spliceWithArray(e,0,[t])}}};["concat","flat","includes","indexOf","join","lastIndexOf","slice","toString","toLocaleString"].forEach((function(e){"function"==typeof Array.prototype[e]&&(Xt[e]=function(){var t=this[re];t.atom.reportObserved();var r=t.dehanceValues(t.values);return r[e].apply(r,arguments)})})),["every","filter","find","findIndex","flatMap","forEach","map","some"].forEach((function(e){"function"==typeof Array.prototype[e]&&(Xt[e]=function(t,r){var n=this,o=this[re];return o.atom.reportObserved(),o.dehanceValues(o.values)[e]((function(e,o){return t.call(r,e,o,n)}),r)})})),["reduce","reduceRight"].forEach((function(e){Xt[e]=function(){var t=this,r=this[re];r.atom.reportObserved();var n=arguments[0];return arguments[0]=function(e,o,i){return o=r.dehanceValue(o),n(e,o,i,t)},r.values[e].apply(r.values,arguments)}}));var Yt,Zt=$("ObservableArrayAdministration",$t);function Qt(e){return z(e)&&Zt(e[re])}var er,tr={},rr=function(){function e(e,t,r){if(void 0===t&&(t=ge),void 0===r&&(r="ObservableMap@"+q()),this.enhancer=t,this.name=r,this[Yt]=tr,this._keysAtom=ie(this.name+".keys()"),this[Symbol.toStringTag]="Map","function"!=typeof Map)throw new Error("mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js");this._data=new Map,this._hasMap=new Map,this.merge(e)}return e.prototype._has=function(e){return this._data.has(e)},e.prototype.has=function(e){var t=this;if(!ut.trackingDerivation)return this._has(e);var r=this._hasMap.get(e);if(!r){var n=r=new tt(this._has(e),Oe,this.name+"."+Q(e)+"?",!1);this._hasMap.set(e,n),At(n,(function(){return t._hasMap.delete(e)}))}return r.get()},e.prototype.set=function(e,t){var r=this._has(e);if(Gt(this)){var n=Kt(this,{type:r?"update":"add",object:this,newValue:t,name:e});if(!n)return this;t=n.newValue}return r?this._updateValue(e,t):this._addValue(e,t),this},e.prototype.delete=function(e){var t=this;if((Be(this._keysAtom),Gt(this))&&!(o=Kt(this,{type:"delete",object:this,name:e})))return!1;if(this._has(e)){var r=_t(),n=zt(this),o=n||r?{type:"delete",object:this,oldValue:this._data.get(e).value,name:e}:null;return r&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},o),{name:this.name,key:e})),Lt((function(){t._keysAtom.reportChanged(),t._updateHasMapEntry(e,!1),t._data.get(e).setNewValue(void 0),t._data.delete(e)})),n&&Ht(this,o),r&&"production"!==process.env.NODE_ENV&&St(),!0}return!1},e.prototype._updateHasMapEntry=function(e,t){var r=this._hasMap.get(e);r&&r.setNewValue(t)},e.prototype._updateValue=function(e,t){var r=this._data.get(e);if((t=r.prepareNewValue(t))!==ut.UNCHANGED){var n=_t(),o=zt(this),i=o||n?{type:"update",object:this,oldValue:r.value,name:e,newValue:t}:null;n&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},i),{name:this.name,key:e})),r.setNewValue(t),o&&Ht(this,i),n&&"production"!==process.env.NODE_ENV&&St()}},e.prototype._addValue=function(e,t){var r=this;Be(this._keysAtom),Lt((function(){var n=new tt(t,r.enhancer,r.name+"."+Q(e),!1);r._data.set(e,n),t=n.value,r._updateHasMapEntry(e,!0),r._keysAtom.reportChanged()}));var n=_t(),o=zt(this),i=o||n?{type:"add",object:this,name:e,newValue:t}:null;n&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},i),{name:this.name,key:e})),o&&Ht(this,i),n&&"production"!==process.env.NODE_ENV&&St()},e.prototype.get=function(e){return this.has(e)?this.dehanceValue(this._data.get(e).get()):this.dehanceValue(void 0)},e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.keys=function(){return this._keysAtom.reportObserved(),this._data.keys()},e.prototype.values=function(){var e=this,t=this.keys();return _r({next:function(){var r=t.next(),n=r.done,o=r.value;return{done:n,value:n?void 0:e.get(o)}}})},e.prototype.entries=function(){var e=this,t=this.keys();return _r({next:function(){var r=t.next(),n=r.done,o=r.value;return{done:n,value:n?void 0:[o,e.get(o)]}}})},e.prototype[(Yt=re,Symbol.iterator)]=function(){return this.entries()},e.prototype.forEach=function(e,t){var r,n;try{for(var o=ce(this),i=o.next();!i.done;i=o.next()){var a=le(i.value,2),s=a[0],u=a[1];e.call(t,u,s,this)}}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.merge=function(e){var t=this;return nr(e)&&(e=e.toJS()),Lt((function(){var r=Qe(!0);try{J(e)?Z(e).forEach((function(r){return t.set(r,e[r])})):Array.isArray(e)?e.forEach((function(e){var r=le(e,2),n=r[0],o=r[1];return t.set(n,o)})):X(e)?(e.constructor!==Map&&U("Cannot initialize from classes that inherit from Map: "+e.constructor.name),e.forEach((function(e,r){return t.set(r,e)}))):null!=e&&U("Cannot initialize map from "+e)}finally{et(r)}})),this},e.prototype.clear=function(){var e=this;Lt((function(){Ge((function(){var t,r;try{for(var n=ce(e.keys()),o=n.next();!o.done;o=n.next()){var i=o.value;e.delete(i)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}}))}))},e.prototype.replace=function(e){var t=this;return Lt((function(){var r,n,o,i,a=function(e){if(X(e)||nr(e))return e;if(Array.isArray(e))return new Map(e);if(J(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}return U("Cannot convert to map from '"+e+"'")}(e),s=new Map,u=!1;try{for(var c=ce(t._data.keys()),l=c.next();!l.done;l=c.next()){var p=l.value;if(!a.has(p))if(t.delete(p))u=!0;else{var d=t._data.get(p);s.set(p,d)}}}catch(e){r={error:e}}finally{try{l&&!l.done&&(n=c.return)&&n.call(c)}finally{if(r)throw r.error}}try{for(var f=ce(a.entries()),h=f.next();!h.done;h=f.next()){var v=le(h.value,2),y=(p=v[0],d=v[1],t._data.has(p));if(t.set(p,d),t._data.has(p)){var b=t._data.get(p);s.set(p,b),y||(u=!0)}}}catch(e){o={error:e}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(o)throw o.error}}if(!u)if(t._data.size!==s.size)t._keysAtom.reportChanged();else for(var m=t._data.keys(),g=s.keys(),O=m.next(),E=g.next();!O.done;){if(O.value!==E.value){t._keysAtom.reportChanged();break}O=m.next(),E=g.next()}t._data=s})),this},Object.defineProperty(e.prototype,"size",{get:function(){return this._keysAtom.reportObserved(),this._data.size},enumerable:!0,configurable:!0}),e.prototype.toPOJO=function(){var e,t,r={};try{for(var n=ce(this),o=n.next();!o.done;o=n.next()){var i=le(o.value,2),a=i[0],s=i[1];r["symbol"==typeof a?a:Q(a)]=s}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r},e.prototype.toJS=function(){return new Map(this)},e.prototype.toJSON=function(){return this.toPOJO()},e.prototype.toString=function(){var e=this;return this.name+"[{ "+Array.from(this.keys()).map((function(t){return Q(t)+": "+e.get(t)})).join(", ")+" }]"},e.prototype.observe=function(e,t){return"production"!==process.env.NODE_ENV&&G(!0!==t,"`observe` doesn't support fireImmediately=true in combination with maps."),Jt(this,e)},e.prototype.intercept=function(e){return Ft(this,e)},e}(),nr=$("ObservableMap",rr),or={},ir=function(){function e(e,t,r){if(void 0===t&&(t=ge),void 0===r&&(r="ObservableSet@"+q()),this.name=r,this[er]=or,this._data=new Set,this._atom=ie(this.name),this[Symbol.toStringTag]="Set","function"!=typeof Set)throw new Error("mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js");this.enhancer=function(e,n){return t(e,n,r)},e&&this.replace(e)}return e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.clear=function(){var e=this;Lt((function(){Ge((function(){var t,r;try{for(var n=ce(e._data.values()),o=n.next();!o.done;o=n.next()){var i=o.value;e.delete(i)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}}))}))},e.prototype.forEach=function(e,t){var r,n;try{for(var o=ce(this),i=o.next();!i.done;i=o.next()){var a=i.value;e.call(t,a,a,this)}}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},Object.defineProperty(e.prototype,"size",{get:function(){return this._atom.reportObserved(),this._data.size},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this;if((Be(this._atom),Gt(this))&&!(o=Kt(this,{type:"add",object:this,newValue:e})))return this;if(!this.has(e)){Lt((function(){t._data.add(t.enhancer(e,void 0)),t._atom.reportChanged()}));var r=_t(),n=zt(this),o=n||r?{type:"add",object:this,newValue:e}:null;r&&"production"!==process.env.NODE_ENV&&xt(o),n&&Ht(this,o),r&&"production"!==process.env.NODE_ENV&&St()}return this},e.prototype.delete=function(e){var t=this;if(Gt(this)&&!(o=Kt(this,{type:"delete",object:this,oldValue:e})))return!1;if(this.has(e)){var r=_t(),n=zt(this),o=n||r?{type:"delete",object:this,oldValue:e}:null;return r&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},o),{name:this.name})),Lt((function(){t._atom.reportChanged(),t._data.delete(e)})),n&&Ht(this,o),r&&"production"!==process.env.NODE_ENV&&St(),!0}return!1},e.prototype.has=function(e){return this._atom.reportObserved(),this._data.has(this.dehanceValue(e))},e.prototype.entries=function(){var e=0,t=Array.from(this.keys()),r=Array.from(this.values());return _r({next:function(){var n=e;return e+=1,n<r.length?{value:[t[n],r[n]],done:!1}:{done:!0}}})},e.prototype.keys=function(){return this.values()},e.prototype.values=function(){this._atom.reportObserved();var e=this,t=0,r=Array.from(this._data.values());return _r({next:function(){return t<r.length?{value:e.dehanceValue(r[t++]),done:!1}:{done:!0}}})},e.prototype.replace=function(e){var t=this;return ar(e)&&(e=e.toJS()),Lt((function(){var r=Qe(!0);try{Array.isArray(e)||Y(e)?(t.clear(),e.forEach((function(e){return t.add(e)}))):null!=e&&U("Cannot initialize set from "+e)}finally{et(r)}})),this},e.prototype.observe=function(e,t){return"production"!==process.env.NODE_ENV&&G(!0!==t,"`observe` doesn't support fireImmediately=true in combination with sets."),Jt(this,e)},e.prototype.intercept=function(e){return Ft(this,e)},e.prototype.toJS=function(){return new Set(this)},e.prototype.toString=function(){return this.name+"[ "+Array.from(this).join(", ")+" ]"},e.prototype[(er=re,Symbol.iterator)]=function(){return this.values()},e}(),ar=$("ObservableSet",ir),sr=function(){function e(e,t,r,n){void 0===t&&(t=new Map),this.target=e,this.values=t,this.name=r,this.defaultEnhancer=n,this.keysAtom=new ne(r+".keys")}return e.prototype.read=function(e){return this.values.get(e).get()},e.prototype.write=function(e,t){var r=this.target,n=this.values.get(e);if(n instanceof rt)n.set(t);else{if(Gt(this)){if(!(a=Kt(this,{type:"update",object:this.proxy||r,name:e,newValue:t})))return;t=a.newValue}if((t=n.prepareNewValue(t))!==ut.UNCHANGED){var o=zt(this),i=_t(),a=o||i?{type:"update",object:this.proxy||r,oldValue:n.value,name:e,newValue:t}:null;i&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},a),{name:this.name,key:e})),n.setNewValue(t),o&&Ht(this,a),i&&"production"!==process.env.NODE_ENV&&St()}}},e.prototype.has=function(e){var t=this.pendingKeys||(this.pendingKeys=new Map),r=t.get(e);if(r)return r.get();var n=!!this.values.get(e);return r=new tt(n,Oe,this.name+"."+Q(e)+"?",!1),t.set(e,r),r.get()},e.prototype.addObservableProp=function(e,t,r){void 0===r&&(r=this.defaultEnhancer);var n,o,i=this.target;if(n=i,o=e,"production"===process.env.NODE_ENV||W(n,o)||U("Cannot make property '"+o.toString()+"' observable, it is not configurable and writable in the target object"),Gt(this)){var a=Kt(this,{object:this.proxy||i,name:e,type:"add",newValue:t});if(!a)return;t=a.newValue}var s=new tt(t,r,this.name+"."+Q(e),!1);this.values.set(e,s),t=s.value,Object.defineProperty(i,e,function(e){return cr[e]||(cr[e]={configurable:!0,enumerable:!0,get:function(){return this[re].read(e)},set:function(t){this[re].write(e,t)}})}(e)),this.notifyPropertyAddition(e,t)},e.prototype.addComputedProp=function(e,t,r){var n=this.target;r.name=r.name||this.name+"."+Q(t),this.values.set(t,new rt(r)),(e===n||W(e,t))&&Object.defineProperty(e,t,function(e){return lr[e]||(lr[e]={configurable:ut.computedConfigurable,enumerable:!1,get:function(){return pr(this).read(e)},set:function(t){pr(this).write(e,t)}})}(t))},e.prototype.remove=function(e){if(this.values.has(e)){var t=this.target;if(Gt(this))if(!(s=Kt(this,{object:this.proxy||t,name:e,type:"remove"})))return;try{dt();var r=zt(this),n=_t(),o=this.values.get(e),i=o&&o.get();if(o&&o.set(void 0),this.keysAtom.reportChanged(),this.values.delete(e),this.pendingKeys){var a=this.pendingKeys.get(e);a&&a.set(!1)}delete this.target[e];var s=r||n?{type:"remove",object:this.proxy||t,oldValue:i,name:e}:null;n&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},s),{name:this.name,key:e})),r&&Ht(this,s),n&&"production"!==process.env.NODE_ENV&&St()}finally{ft()}}},e.prototype.illegalAccess=function(e,t){console.warn("Property '"+t+"' of '"+e+"' was accessed through the prototype chain. Use 'decorate' instead to declare the prop or access it statically through it's owner")},e.prototype.observe=function(e,t){return"production"!==process.env.NODE_ENV&&G(!0!==t,"`observe` doesn't support the fire immediately property for observable objects."),Jt(this,e)},e.prototype.intercept=function(e){return Ft(this,e)},e.prototype.notifyPropertyAddition=function(e,t){var r=zt(this),n=_t(),o=r||n?{type:"add",object:this.proxy||this.target,name:e,newValue:t}:null;if(n&&"production"!==process.env.NODE_ENV&&xt(ue(ue({},o),{name:this.name,key:e})),r&&Ht(this,o),n&&"production"!==process.env.NODE_ENV&&St(),this.pendingKeys){var i=this.pendingKeys.get(e);i&&i.set(!0)}this.keysAtom.reportChanged()},e.prototype.getKeys=function(){var e,t;this.keysAtom.reportObserved();var r=[];try{for(var n=ce(this.values),o=n.next();!o.done;o=n.next()){var i=le(o.value,2),a=i[0];i[1]instanceof tt&&r.push(a)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r},e}();function ur(e,t,r){if(void 0===t&&(t=""),void 0===r&&(r=ge),Object.prototype.hasOwnProperty.call(e,re))return e[re];"production"!==process.env.NODE_ENV&&G(Object.isExtensible(e),"Cannot make the designated object observable; it is not extensible"),J(e)||(t=(e.constructor.name||"ObservableObject")+"@"+q()),t||(t="ObservableObject@"+q());var n=new sr(e,new Map,Q(t),r);return H(e,re,n),n}var cr=Object.create(null),lr=Object.create(null);function pr(e){var t=e[re];return t||(ye(e),e[re])}var dr=$("ObservableObjectAdministration",sr);function fr(e){return!!z(e)&&(ye(e),dr(e[re]))}function hr(e,t){if("object"==typeof e&&null!==e){if(Qt(e))return void 0!==t&&U("production"!==process.env.NODE_ENV&&"It is not possible to get index atoms from arrays"),e[re].atom;if(ar(e))return e[re];if(nr(e)){var r=e;return void 0===t?r._keysAtom:((n=r._data.get(t)||r._hasMap.get(t))||U("production"!==process.env.NODE_ENV&&"the entry '"+t+"' does not exist in the observable map '"+yr(e)+"'"),n)}var n;if(ye(e),t&&!e[re]&&e[t],fr(e))return t?((n=e[re].values.get(t))||U("production"!==process.env.NODE_ENV&&"no observable property '"+t+"' found on the observable object '"+yr(e)+"'"),n):U("production"!==process.env.NODE_ENV&&"please specify a property");if(oe(e)||nt(e)||Nt(e))return e}else if("function"==typeof e&&Nt(e[re]))return e[re];return U("production"!==process.env.NODE_ENV&&"Cannot obtain atom from "+e)}function vr(e,t){return e||U("Expecting some object"),void 0!==t?vr(hr(e,t)):oe(e)||nt(e)||Nt(e)||nr(e)||ar(e)?e:(ye(e),e[re]?e[re]:void U("production"!==process.env.NODE_ENV&&"Cannot obtain administration from "+e))}function yr(e,t){return(void 0!==t?hr(e,t):fr(e)||nr(e)||ar(e)?vr(e):hr(e)).name}var br,mr=Object.prototype.toString;function gr(e,t,r){return void 0===r&&(r=-1),Or(e,t,r)}function Or(e,t,r,n,o){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var i=typeof e;if("function"!==i&&"object"!==i&&"object"!=typeof t)return!1;var a=mr.call(e);if(a!==mr.call(t))return!1;switch(a){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!=+e?+t!=+t:0==+e?1/+e==1/t:+e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case"[object Map]":case"[object Set]":r>=0&&r++}e=Er(e),t=Er(t);var s="[object Array]"===a;if(!s){if("object"!=typeof e||"object"!=typeof t)return!1;var u=e.constructor,c=t.constructor;if(u!==c&&!("function"==typeof u&&u instanceof u&&"function"==typeof c&&c instanceof c)&&"constructor"in e&&"constructor"in t)return!1}if(0===r)return!1;r<0&&(r=-1),o=o||[];for(var l=(n=n||[]).length;l--;)if(n[l]===e)return o[l]===t;if(n.push(e),o.push(t),s){if((l=e.length)!==t.length)return!1;for(;l--;)if(!Or(e[l],t[l],r-1,n,o))return!1}else{var p=Object.keys(e),d=void 0;if(l=p.length,Object.keys(t).length!==l)return!1;for(;l--;)if(!Nr(t,d=p[l])||!Or(e[d],t[d],r-1,n,o))return!1}return n.pop(),o.pop(),!0}function Er(e){return Qt(e)?e.slice():X(e)||nr(e)||Y(e)||ar(e)?Array.from(e.entries()):e}function Nr(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function _r(e){return e[Symbol.iterator]=wr,e}function wr(){return this}if("undefined"==typeof Proxy||"undefined"==typeof Symbol)throw new Error("[mobx] MobX 5+ requires Proxy and Symbol objects. If your environment doesn't support Symbol or Proxy objects, please downgrade to MobX 4. For React Native Android, consider upgrading JSCore.");try{process.env.NODE_ENV}catch(e){var xr=at();"undefined"==typeof process&&(xr.process={}),xr.process.env={}}!function(){if("testCodeMinification"!==function(){}.name&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof process&&"true"!==process.env.IGNORE_MOBX_MINIFY_WARNING){var e=["process","env","NODE_ENV"].join(".");console.warn("[mobx] you are running a minified build, but '"+e+"' was not set to 'production' in your bundler. This results in an unnecessarily large and slow bundle")}}(),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return"production"===process.env.NODE_ENV?(console.warn("[mobx.spy] Is a no-op in production builds"),function(){}):(ut.spyListeners.push(e),F((function(){ut.spyListeners=ut.spyListeners.filter((function(t){return t!==e}))})))},extras:{getDebugName:yr},$mobx:re});var jr=((br={array:"array",boolean:"boolean","box-style":"object",codearea:"string",color:"string",datasource:"object",date:"string","date-time":"string","dynamic-data":"object",event:"object","func-body":"string",htmlarea:"string",image:"string",input:"string",json:"string",number:"number",object:"object",quantity:"object",radio:"string",select:"array"}).select="string",br.textarea="string",br["text-editor"]="string",br.time="string",br.url="string",br["dynamic-config"]="object",br["sohu-source"]="object",br["sohu-event"]="object",br);function Sr(e){return jr[e]||e}function Dr(e,t){jr[e]?console.warn("当前已经存在"+e+"("+jr[e]+"),暂时不支持覆盖。"):jr[e]=t}function Ar(e){var t=!0;if(!e)return t;var r=e.type;return("object"===r&&e.properties&&e.propertyOrder&&e.propertyOrder.length>0||"array"===r&&e.items&&e.items.properties&&e.items.propertyOrder&&e.items.propertyOrder.length>0||e.type&&"array"!==e.type&&"object"!==e.type||e.type)&&(t=!1),t}function Vr(e){var t=!1,r=e.lastUpdateTime,n=new Date("2024-10-05T00:01:00.691Z").getTime();return r&&new Date(r).getTime()>=n&&(t=!0),t}function Cr(e){var t=!1,r=Sr(e.type),n=void 0===e.isContainer||e.isContainer;return"object"===r&&n&&(t=!0),t}function Tr(e){var t=!0;return"object"===e.type&&e.propertyOrder&&e.properties?e.propertyOrder.map((function(r){var n=e.properties[r];"object"===e.type&&n.propertyOrder&&n.properties||(t=!1)})):t=!1,t}function kr(e,t){var r=e.split("-"),n=t.split("-");return r.pop(),n.pop(),r.join("-")===n.join("-")}function Rr(e,t){for(var r=e.split("-"),n=t.split("-"),o="before",i=0,a=(r.length>n.length?n:r).length;i<a;i+=1){Number(r[i])>Number(n[i])&&(o="after")}return o}function Pr(e){var t=e.split("-");return t.pop(),t.join("-")}function Ir(e){var t=e.split("-"),r=t.pop(),n=Number(r)+1;return t.push(""+n),t.join("-")}function Mr(e){var t=e.split("-"),r=t.pop();return[t.join("-"),r]}function Lr(e){var t=e.split("-"),r=t.pop();return t.push(Number(r)-1),t.join("-")}function Br(e){var t=e.split("-"),r=t.pop();return t.push(Number(r)+1),t.join("-")}function qr(e,t){var r="",n=!1;return e.options&&e.options[0]&&(r=e.options[0].value,n=!0),(t||e.multiple)&&(r=n?[r]:[]),r}function Ur(e,t){var r="",n=t;i(n)&&i(e.default)&&typeof n!=typeof e.default&&(n=void 0);var o=i(n)?n:e.default;switch(e.type){case"select":case"radio":r=o||qr(e);break;case"checkboxes":r=o||qr(e,!0);break;case"color":"#fff"!==o&&"#FFF"!==o||(o="#ffffff"),r=i(o)?o:"#ffffff";break;case"boolean":r=!!i(o)&&o;break;case"number":r=i(o)?o:1;break;case"json":var a="";if(A(o)||S(o))a=o;else if(T(o)||""===o)a={};else try{a=JSON.parse(o)}catch(e){a={}}r=a;break;default:r="input"===e.type&&"0"===e.default?o||e.default:i(o)?o:""}return r}function Gr(e,t){var r={},o=e.type;if(A(e)&&"object"===Sr(e.type)){var a=e,s=t;i(s)&&i(a.default)&&typeof s!=typeof a.default&&(s=void 0);var u=i(s)?s:a.default;if("dynamic-data"===o)r=n(y),u&&A(u)&&"{}"!==JSON.stringify(u)&&(r=Object.assign(r,u));else if("datasource"===o)a.properties&&a.properties.type&&a.properties.type.default&&"local"===a.properties.type.default?(r={data:"{}",filter:"() => {}"},u&&u.data&&(r.data=u.data),u&&u.filter&&(r.filter=u.filter),"http://xxx"===r.data&&(r.data="{}")):(r={data:"http://xxx",filter:"() => {}"},u&&u.data&&(r.data=u.data),u&&u.filter&&(r.filter=u.filter),"{}"===r.data&&(r.data="http://xxx"));else if("event"===o)a.properties&&a.properties.type&&a.properties.type.default&&"emit"===a.properties.type.default?u&&"out"===u.type?r={trigger:u&&u.filter||"eventName",eventData:"{}"}:(r={trigger:"eventName",eventData:"{}"},u&&u.trigger&&(r.trigger=u.trigger),u&&u.eventData&&(r.eventData=u.eventData)):u&&"in"===u.type?r={register:"eventName",actionFunc:u&&u.filter||"() => {}"}:(r={register:"eventName",actionFunc:"() => {}"},u&&u.register&&(r.register=u.register),u&&u.actionFunc&&(r.actionFunc=u.actionFunc));else if(!1===e.isContainer&&u&&A(u)&&"{}"!==JSON.stringify(u))r=Object.assign(r,u);else if(e.properties){(e.propertyOrder?e.propertyOrder:Object.keys(e.properties)).map((function(n){var o=e.properties[n],i=t&&t[n];switch(Sr(o.type)){case"array":r[n]=Fr(o,i);break;case"object":r[n]=Gr(o,i);break;default:r[n]=Ur(o,i)}}))}}return r}function Fr(e,t){var r=[];if(e&&"array"===Sr(e.type)){var n=t;i(n)&&i(e.default)&&typeof n!=typeof e.default&&(n=void 0);var o=i(n)?n:e.default;if("array"===Sr(e.type))if(S(o))o.map((function(t){r.push(Gr(e.items,t))}));else if(o)r=o;else{var a=Gr(e.items,o);r.push(a)}else r=i(o)?o:[]}return r}function Kr(e,t){return"object"===Sr(e.type)?Gr(e,t):"array"===Sr(e.type)?Fr(e,t):Ur(e,t)}var zr=b;function Jr(e,t){var r=t||[];if(e&&"{}"!==JSON.stringify(e))if(A(e))if(e.type&&"remote"===e.type&&e.config&&A(e.config)&&e.config.dataName&&i(e.localFilter)&&i(e.data)){var n=e.config.body;if(n&&!A(n))try{n=JSON.parse(n)}catch(e){n={}}r.push({id:e.config.id,dataName:e.config.dataName,body:n})}else{Object.keys(e).map((function(t){Jr(e[t],r)}))}else S(e)&&e.map((function(e){Jr(e,r)}));return r}function Hr(e,t){var r=t||"data";return e.split("-").map((function(e){r=/^\d+$/.test(e)?r+"["+e+"]":r+"."+e})),r}function Wr(e,t){var r=[];A(e)?Object.keys(e).map((function(n){var o=e[n],i=t?t+"-"+n:n;A(o)||S(o)?r.push({title:n,value:i,key:i,children:Wr(o,i)}):r.push({title:n,value:i,key:i})})):S(e)&&e.map((function(e,n){var o=n.toString(),i=t?t+"-"+n:o;A(e)||S(e)?r.push({title:o,value:i,key:i,children:Wr(e,i)}):r.push({title:o,value:i,key:i})}));return r}function $r(e){var t=e.split("-");return t.pop(),t.join("-")}function Xr(e){var t=e.split("-"),r=t.pop();return[t.join("-"),r]}var Yr=["key","enum","enumextra","items","input","boolean","number","color","url","textarea","text-editor","radio","select","checkboxes","date","date-time","time","json","codearea","htmlarea","quantity","box-style","dynamic-data","datasource","event","array","object"];export{g as DataSourceTypeList,m as EventTypeDataList,Yr as KeyWordList,b as TypeDataList,Hr as dataRoute2dataPath,Jr as dynamicDataAnalyzer,Rr as getCurPosition,qr as getDefaultOptionVal,Sr as getExpectType,s as getJsonDataByKeyRoute,Ir as getNextIndexRoute,Pr as getParentIndexRoute,Mr as getParentIndexRoute_CurIndex,$r as getParentKeyRoute,Xr as getParentKeyRoute_CurKey,u as getSchemaByIndexRoute,c as getSchemaByKeyRoute,i as hasProperties,l as indexRoute2keyRoute,S as isArray,_ as isBoolean,C as isColor,Cr as isContainerSchema,w as isDateStr,x as isDateTimeStr,Ar as isEmptySchema,o as isEqual,T as isFunction,Vr as isNewSchemaData,N as isNumber,A as isObject,V as isQuantity,kr as isSameParent,D as isSelect,E as isString,Tr as isStructuredSchema,j as isTimeStr,O as isURL,k as json2schema,Wr as json2treeData,p as keyRoute2indexRoute,P as metaElemAnalyzer,Br as moveBackward,Lr as moveForward,n as objClone,M as oldSchemaToNewSchema,I as oldSchemaToNewSchemaV1,Dr as registerExpectType,Kr as schema2json,zr as schemaMetaList,a as truncate};
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.JSONUtils=t():e.JSONUtils=t()}(this,(function(){return function(){"use strict";var e={d:function(t,r){for(var i in r)e.o(r,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:r[i]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DataSourceTypeList:function(){return g},EventTypeDataList:function(){return m},KeyWordList:function(){return ne},TypeDataList:function(){return y},dataRoute2dataPath:function(){return te},dynamicDataAnalyzer:function(){return ee},getCurPosition:function(){return A},getCurrentFormat:function(){return T},getJsonDataByKeyRoute:function(){return o},getNextIndexRoute:function(){return K},getParentIndexRoute:function(){return E},getParentIndexRoute_CurIndex:function(){return W},getParentKeyRoute:function(){return ie},getParentKeyRoute_CurKey:function(){return ae},getSchemaByIndexRoute:function(){return u},getSchemaByKeyRoute:function(){return p},hasProperties:function(){return n},indexRoute2keyRoute:function(){return l},isArray:function(){return x},isBoolean:function(){return j},isBoxSchemaData:function(){return C},isColor:function(){return F},isDateStr:function(){return h},isDateTimeStr:function(){return q},isEmptySchema:function(){return P},isEmptyWidgetSchema:function(){return J},isEqual:function(){return a},isFirstSchemaData:function(){return I},isFunction:function(){return k},isNewSchemaData:function(){return B},isNumber:function(){return O},isObject:function(){return D},isQuantity:function(){return N},isSameParent:function(){return U},isSelect:function(){return S},isString:function(){return v},isStructuredSchema:function(){return L},isTimeStr:function(){return R},isURL:function(){return b},isUsedToWidgetConfig:function(){return $},json2schema:function(){return w},json2treeData:function(){return re},keyRoute2indexRoute:function(){return d},metaElemAnalyzer:function(){return H},moveBackward:function(){return M},moveForward:function(){return _},objClone:function(){return i},oldSchemaToNewSchema:function(){return Q},schema2json:function(){return X},schemaMetaList:function(){return Y}});var r=require("lodash");function i(e){return(0,r.cloneDeep)(e)}function a(e,t){return(0,r.isEqual)(e,t)}function n(e){var t=!1;return null!=e&&(t=!0),t}function o(e,t,r){var a=t;if(r&&(a=i(t)),e)for(var n=e.split("-"),o=0,u=n.length;o<u;o++){var p=n[o];p&&(a=a&&a[p])}return a}function u(e,t,r){var a=t;if(r&&(a=i(t)),e)for(var n=e.split("-"),o=0,u=n.length;o<u;o++){var p=n[o];if("0"!==p||"array"!==a.format&&"radio"!==a.format&&"single-select"!==a.format&&"select"!==a.format||!a.items){if(p){var l="0";a.propertyOrder?l=a.propertyOrder[p]:a.properties&&(l=Object.keys(a.properties)[p]),a=a.properties[l]}}else a=a.items}return a}function p(e,t,r){var a=t;if(r&&(a=i(t)),e&&a)for(var n=e.split("-"),o=0,u=n.length;o<u;o++){var p=n[o];p&&a.properties&&(a=a.properties[p])}return a}function l(e,t){for(var r=t,i="",a=e.split("-"),n=0,o=a.length;n<o;n++){var u=a[n];if("0"===u&&r.items)r=r.items,i=i?i+"-items":"items";else if(u){var p="0";r.propertyOrder?p=r.propertyOrder[u]:r.properties&&(p=Object.keys(r.properties)[u]),r=r.properties[p],i=i?i+"-"+p:p}}return i}function d(e,t){for(var r=t,i="",a=e.split("-"),n=0,o=a.length;n<o;n++){var u=a[n];if(u){var p=-1;r.propertyOrder?(p=r.propertyOrder.indexOf(u),r=r.properties[u]):r.properties?(p=Object.keys(r.properties).indexOf(u),r=r.properties[u]):r.items&&(p=0,r=r.items),i=i?i+"-"+p:p.toString()}}return i}var s={type:"object",format:"event",title:"事件",isRequired:!1,readOnly:!1,properties:{type:{type:"string",default:"emit",format:"typeSelect",enum:["on","emit"],enumextra:["on","emit"],title:"事件类型",isRequired:!1,readOnly:!1},trigger:{type:"string",format:"input",default:"eventName",title:"触发事件",description:"用于输入触发事件的名称",placeholder:"请输入触发事件的名称",isRequired:!1,readOnly:!1},eventData:{type:"string",title:"事件数据",format:"json",default:"{}",description:"传递给触发事件的数据对象",isRequired:!1,readOnly:!1}},required:["type","trigger","eventData"],propertyOrder:["type","trigger","eventData"]},c={type:"object",format:"datasource",title:"数据源",readOnly:!1,properties:{type:{type:"string",default:"local",format:"typeSelect",enum:["local","remote"],enumextra:["local","remote"],title:"数据源类型"},data:{type:"string",title:"本地json数据",placeholder:"请输入静态json数据",format:"json",default:"{}",description:"用于设置本地的静态json数据",isRequired:!0},filter:{type:"string",title:"过滤器",format:"codearea",default:"() => {}",description:"用于定义过滤当前数据的函数",isRequired:!0}},required:["type","data","filter"],propertyOrder:["type","data","filter"]},f={type:"local",config:{dataName:"",body:{},filter:"return data;"},data:"{}",localFilter:"return data;"},y={jsonschema:{type:"object",title:"jsonSchemaObject",properties:{func:{type:"object",format:"func",title:"功能设置",readOnly:!0,properties:{a:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["a"],propertyOrder:["a"]},style:{type:"object",format:"style",title:"样式设置",readOnly:!0,properties:{b:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["b"],propertyOrder:["b"]},data:{type:"object",format:"data",title:"数据设置",readOnly:!0,properties:{c:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["c"],propertyOrder:["c"]}},required:["func","style","data"],propertyOrder:["func","style","data"]},input:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},boolean:{type:"boolean",title:"布尔值",format:"boolean",default:!1,description:"",isRequired:!1,readOnly:!1},object:{type:"object",format:"object",title:"对象Object",description:"",isRequired:!1,readOnly:!1,properties:{a:{type:"string",title:"单文本框",format:"input",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["a"],propertyOrder:["a"]},array:{type:"array",format:"array",title:"数组Array",description:"",isRequired:!1,readOnly:!1,items:{type:"object",format:"object",title:"数组项",description:"",isRequired:!1,readOnly:!1,properties:{name:{type:"string",format:"input",title:"名字",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1}},required:["name"],propertyOrder:["name"]}},"empty-array":{type:"array",format:"array",title:"数组Array",description:"",items:{type:"object",format:"object",title:"数组项",description:"",properties:{}}},"empty-object":{type:"object",format:"object",title:"对象Object",description:"",properties:{}},url:{type:"string",title:"链接地址url",format:"url",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},textarea:{type:"string",title:"多行文本框",format:"textarea",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},color:{type:"string",title:"颜色color",format:"color",default:"#ffffff",description:"",isRequired:!1,readOnly:!1},image:{type:"string",title:"图片",format:"image",default:"",description:"上传图片",imgWidth:200,imgHeight:200,imgRatioReadOnly:!0,templateId:"",isRequired:!1},number:{type:"number",title:"数量number",format:"number",default:1,minimum:0,maximum:1e3,description:"",isRequired:!1,readOnly:!1},json:{type:"string",title:"json数据",format:"json",default:"{}",description:"",isRequired:!1,readOnly:!1},codearea:{type:"string",title:"函数类型",format:"codearea",placeholder:"请输入函数方法",default:'function func() { console.log("hello, world!"); }',description:"用于定义函数方法",isRequired:!1,readOnly:!1},htmlarea:{type:"string",title:"富文本",format:"htmlarea",placeholder:"请输入html代码片段",default:"<p>hello,world!</p>",description:"用于放置html代码片段",isRequired:!1,readOnly:!1},"text-editor":{type:"string",title:"富文本",format:"text-editor",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},date:{type:"string",title:"日期Date",format:"date",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},"date-time":{type:"string",title:"日期时间",format:"date-time",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},time:{type:"string",title:"时间Time",format:"time",default:"",description:"",placeholder:"",isRequired:!1,readOnly:!1},quantity:{type:"object",format:"quantity",title:"单位计量",isRequired:!1,readOnly:!1,properties:{unit:{type:"number",title:"单位数值",format:"number",default:50,minimum:0,maximum:1e3,description:"",isRequired:!1,readOnly:!1},quantity:{type:"string",format:"typeSelect",default:"px",enum:["px","rem","em","%"],enumextra:["px","rem","em","%"],title:"单位类型",isRequired:!1,readOnly:!1}},required:["unit","quantity"],propertyOrder:["unit","quantity"]},"box-style":{type:"object",format:"box-style",title:"盒子模型",isRequired:!1,readOnly:!1,properties:{unit:{type:"string",title:"单位数值",format:"string",default:"0",description:"",isRequired:!1,readOnly:!1},quantity:{type:"string",format:"typeSelect",default:"px",enum:["px","rem","em","%"],enumextra:["px","rem","em","%"],title:"单位类型",isRequired:!1,readOnly:!1}},required:["unit","quantity"],propertyOrder:["unit","quantity"]},radio:{type:"string",title:"单选",format:"radio",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],description:"",isRequired:!1,readOnly:!1},"single-select":{type:"string",title:"下拉单选",format:"single-select",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],description:"",isRequired:!1,readOnly:!1},select:{type:"array",title:"多选",format:"select",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],description:"",isRequired:!1,readOnly:!1},"dynamic-data":{type:"object",format:"dynamic-data",title:"动态数据源",readOnly:!1,properties:{type:{type:"string",default:"local",format:"typeSelect",enum:["local","remote"],enumextra:["本地数据","接口数据"],title:"数据类型"},config:{type:"object",title:"接口配置",format:"object",description:"用于存放接口的配置数据(url、请求参数等)",isRequired:!0,properties:{dataName:{type:"string",default:"local",format:"typeSelect",enum:["local","remote"],enumextra:["本地数据","接口数据"],title:"数据类型"},body:{type:"object",title:"请求参数配置",format:"object",description:"用于配置当前接口的请求参数数值",isRequired:!0},filter:{type:"string",title:"过滤器函数体",format:"codearea",default:"return data;",description:"用于定义过滤接口数据",isRequired:!0}},required:["dataName","body","filter"],propertyOrder:["dataName","body","filter"]},data:{type:"string",title:"数据内容",format:"json",default:"{}",description:"用于存放DynamicData的数据内容",isRequired:!0},localFilter:{type:"string",title:"过滤器",format:"codearea",default:"return data;",description:"用于定义过滤本地数据",isRequired:!0}},required:["type","config","data","localFilter"],propertyOrder:["type","config","data","localFilter"]},datasource:c,event:s,widget:{type:"string",title:"内嵌组件数据",format:"widget",default:"{}",description:"用于存放内嵌组件的渲染相关数据",isRequired:!1,readOnly:!0}},m={on:{type:"object",format:"event",title:"事件",isRequired:!1,readOnly:!1,properties:{type:{type:"string",default:"on",format:"typeSelect",enum:["on","emit"],enumextra:["on","emit"],title:"事件类型",isRequired:!1,readOnly:!1},register:{type:"string",format:"input",default:"eventName",title:"注册事件",description:"用于输入注册事件的名称",placeholder:"请输入注册事件的名称",isRequired:!1,readOnly:!1},actionFunc:{type:"string",title:"执行函数",format:"codearea",default:"() => {}",description:"",isRequired:!1,readOnly:!1}},required:["type","register","actionFunc"],propertyOrder:["type","register","actionFunc"]},emit:s},g={local:c,remote:{type:"object",format:"datasource",title:"数据源",readOnly:!1,properties:{type:{type:"string",default:"remote",format:"typeSelect",enum:["local","remote"],enumextra:["local","remote"],title:"数据源类型"},data:{type:"string",title:"远程json数据",placeholder:"请输入远程json数据源地址",format:"url",default:"http://xxx",isRequired:!0,description:"用于设置获取元素数据的请求地址"},filter:{type:"string",title:"过滤器",format:"codearea",default:"() => {}",description:"用于定义过滤当前数据的函数",isRequired:!0}},required:["type","data","filter"],propertyOrder:["type","data","filter"]}};function b(e){return/^http[s]?:\/\/.*/.test(e)}function v(e){return"String"===Object.prototype.toString.call(e).slice(8,-1)}function O(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function j(e){return"Boolean"===Object.prototype.toString.call(e).slice(8,-1)}function h(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)}function q(e){return/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$/.test(e)||/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/.test(e)}function R(e){return/^\d{2}:\d{2}:\d{2}$/.test(e)||/^\d{2}:\d{2}$/.test(e)}function x(e){var t=!1;return"Array"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function S(e){if(!x(e))return!1;for(var t=0,r=e.length;t<r;t++)if(!v(e[t]))return!1;return!0}function D(e){var t=!1;return"Object"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function N(e){var t=!1;return y.quantity.properties.quantity.enum.indexOf(e)>=0&&(t=!0),t}function F(e){return/^#[0-9a-f]{6}$/.test(e)||/^#[0-9a-f]{3}$/.test(e)}function k(e){var t=!1;return"Function"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function w(e){var t;return t=e&&D(e)?function(e){var t;if(D(e)){var r=Object.keys(e);e.data&&e.filter&&2===r.length?t=x(e.data)||D(e.data)?i(g.local):i(g.remote):e.trigger&&e.eventData&&2===r.length?t=i(m.emit):e.register&&e.actionFunc&&2===r.length?t=i(m.on):e.quantity&&N(e.quantity)&&2===r.length?t=i(y.quantity):(t=i(y["empty-object"]),Object.keys(e).map((function(r){var i=e[r];t.properties[r]=w(i)})))}return t}(e):e&&x(e)?function(e){var t;if(e&&x(e))if(S(e)){(t=i(y.select)).items.enum=e;var r=t.items.enumextra.length,a=e.length;if(a>r)for(var n=r,o=a;n<o;n++)t.items.enumextra.push("选项"+e(n))}else{t=i(y["empty-array"]);var u=w(e[0]);t.items.properties=u.properties}return t}(e):function(e){var t="";if(j(e))t=i(y.boolean);else if(O(e))t=i(y.number);else if(b(e))t=i(y.url);else if(h(e))t=i(y.date);else if(q(e))t=i(y["date-time"]);else if(R(e))t=i(y.time);else if(F(e))t=i(y.color);else try{t=O(JSON.parse(e))?i(y.input):i(y.json)}catch(r){t=e&&e.length>30?i(y.textarea):i(y.input)}return t}(e),t}function T(e){var t=e&&e.format;return t||(t=e&&e.type?e.type:"input"),t}function P(e){var t=!0;if(!e)return t;var r=T(e);return("object"===r&&e.properties&&e.propertyOrder&&e.propertyOrder.length>0||"array"===r&&e.items&&e.items.properties&&e.items.propertyOrder&&e.items.propertyOrder.length>0||e.type&&"array"!==e.type&&"object"!==e.type||e.format)&&(t=!1),t}function J(e){var t=!0;if(e&&"object"===T(e)&&e.properties&&e.propertyOrder&&e.propertyOrder.length>0){var r=e.properties.func||{},i=e.properties.style||{},a=e.properties.data||{};(r.propertyOrder&&r.propertyOrder.length>0||i.propertyOrder&&i.propertyOrder.length>0||a.propertyOrder&&a.propertyOrder.length>0)&&(t=!1)}return t}function $(e){var t=!1;return e&&"object"===T(e)&&e.properties&&e.propertyOrder&&e.properties.func&&e.properties.style&&e.properties.data&&(t=!0),t}function B(e){var t=!1,r=e.lastUpdateTime,i=new Date("2020-07-29T07:30:00.691Z").getTime();return r&&new Date(r).getTime()>=i&&(t=!0),t}function C(e){var t=!1;return"object"!==e&&"func"!==e&&"style"!==e&&"data"!==e&&"widgets"!==e&&"func-schema"!==e&&"style-schema"!==e&&"data-schema"!==e&&"event-schema"!==e&&"widgets-schema"!==e||(t=!0),t}function I(e){var t=!1;return"func"!==e&&"style"!==e&&"data"!==e&&"props"!==e&&"event-schema"!==e&&"widgets"!==e||(t=!0),t}function L(e){var t=!0;return"object"===(e.type||T(e))&&e.propertyOrder&&e.properties?e.propertyOrder.map((function(r){var i=e.properties[r];"object"===(e.type||T(i))&&i.propertyOrder&&i.properties||(t=!1)})):t=!1,t}function U(e,t){var r=e.split("-"),i=t.split("-");return r.pop(),i.pop(),r.join("-")===i.join("-")}function A(e,t){for(var r=e.split("-"),i=t.split("-"),a="before",n=0,o=(r.length>i.length?i:r).length;n<o;n+=1)Number(r[n])>Number(i[n])&&(a="after");return a}function E(e){var t=e.split("-");return t.pop(),t.join("-")}function K(e){var t=e.split("-"),r=t.pop(),i=Number(r)+1;return t.push(""+i),t.join("-")}function W(e){var t=e.split("-"),r=t.pop();return[t.join("-"),r]}function _(e){var t=e.split("-"),r=t.pop();return t.push(Number(r)-1),t.join("-")}function M(e){var t=e.split("-"),r=t.pop();return t.push(Number(r)+1),t.join("-")}function z(e,t){var r=t||{};return D(e)&&"object"===e.type&&e.properties&&(e.propertyOrder?e.propertyOrder:Object.keys(e.properties)).map((function(t){var i=e.properties[t];r=H(i,r)})),r}function H(e,t){var r=!t,i=t||{};if(e&&"{}"!==JSON.stringify(e)){var a=T(e);"object"===a||"func"===a||"style"===a||"data"===a?(!r&&i.object?i.object+=1:r||(i.object=1),i=z(e,i)):"array"===a?(!r&&i.array?i.array+=1:r||(i.array=1),i=z(e=e.items,i)):!r&&i[a]?i[a]+=1:r||(i[a]=1)}return i}function Q(e){var t=i(e);if(!t.title&&t.description&&(t.title=t.description),t.format||(t.format=T(t)),"quantity"!==t.format&&"array"!==t.format&&"datasource"!==t.format&&"event"!==t.format&&"object"!==t.format&&"radio"!==t.format&&"select"!==t.format||!n(t.default)||delete t.default,"radio"===t.format&&(t.type="string",t.enum&&t.enumextra&&(t.items={type:"string",enum:i(t.enum),enumextra:i(t.enumextra)},delete t.enum,delete t.enumextra)),"quantity"===t.format){var r=t.properties,a=i(y.quantity);if(r.quantity&&D(r.quantity)&&r.quantity.default){var o=r.quantity.default;a.properties.quantity.default="percent"===o?"%":o}t=a}if("datasource"===t.format){var u=t.properties,p=u.type&&u.type.default,l=u.data&&u.data.default,d=u.filter&&u.filter.default;"local"===p?(t=i(g.local)).properties.data.default=l?i(l):"{}":(t=i(g.remote)).properties.data.default=l?i(l):"http://xxx",t.properties.filter.default=d?i(d):"() => {}"}if("event"===t.format){var s=t.properties,c=s.type&&s.type.default;if("in"===c||"on"===c){var f=s.filter&&s.filter.default||"() => {}";t=i(m.on),s.actionFunc&&D(s.actionFunc)&&(t.properties.actionFunc.default=s.actionFunc.default||i(f))}else{var b=s.filter&&s.filter.default||"{}";t=i(m.emit),s.eventData&&D(s.eventData)&&(t.properties.eventData.default=s.eventData.default||i(b))}}return t.properties&&(t.required=Object.keys(t.properties),t.propertyOrder||(t.propertyOrder=t.required),t.propertyOrder.map((function(e){t.properties[e]=Q(t.properties[e])}))),t.items&&(t.items=Q(t.items)),t}function Z(e,t){var r="",i=t;n(i)&&n(e.default)&&typeof i!=typeof e.default&&(i=void 0);var a=n(i)?i:e.default;switch(e.type){case"string":if("typeSelect"===e.format)r=e.default;else if("color"===e.format)"#fff"!==a&&"#FFF"!==a||(a="#ffffff"),r=a||"#ffffff";else if("json"===e.format||"widget"===e.format){var o="";if(D(t)||x(t))o=t;else if(k(t)||""===t)o={};else try{o=JSON.parse(t)}catch(e){o={}}r=o}else r=n(a)?a:"";break;case"boolean":r=!!n(a)&&a;break;case"number":r=n(a)?a:1;break;default:r=n(a)?a:""}return r}function G(e,t){var r={},a=T(e);if(D(e)&&"object"===e.type){var o=e,u=t;n(u)&&n(o.default)&&typeof u!=typeof o.default&&(u=void 0);var p=n(u)?u:o.default;"dynamic-data"===a?(r=i(f),p&&D(p)&&"{}"!==JSON.stringify(p)&&(r=Object.assign(r,p))):"datasource"===a?o.properties&&o.properties.type&&o.properties.type.default&&"local"===o.properties.type.default?(r={data:"{}",filter:"() => {}"},p&&p.data&&(r.data=p.data),p&&p.filter&&(r.filter=p.filter),"http://xxx"===r.data&&(r.data="{}")):(r={data:"http://xxx",filter:"() => {}"},p&&p.data&&(r.data=p.data),p&&p.filter&&(r.filter=p.filter),"{}"===r.data&&(r.data="http://xxx")):"event"===a?o.properties&&o.properties.type&&o.properties.type.default&&"emit"===o.properties.type.default?p&&"out"===p.type?r={trigger:p&&p.filter||"eventName",eventData:"{}"}:(r={trigger:"eventName",eventData:"{}"},p&&p.trigger&&(r.trigger=p.trigger),p&&p.eventData&&(r.eventData=p.eventData)):p&&"in"===p.type?r={register:"eventName",actionFunc:p&&p.filter||"() => {}"}:(r={register:"eventName",actionFunc:"() => {}"},p&&p.register&&(r.register=p.register),p&&p.actionFunc&&(r.actionFunc=p.actionFunc)):e.properties&&(e.propertyOrder?e.propertyOrder:Object.keys(e.properties)).map((function(i){var a=e.properties[i],n=t&&t[i];switch(a.type){case"array":r[i]=V(a,n);break;case"object":r[i]=G(a,n);break;default:r[i]=Z(a,n)}}))}return r}function V(e,t){var r=[];if(e&&"array"===e.type){var i=t;n(i)&&n(e.default)&&typeof i!=typeof e.default&&(i=void 0);var a=n(i)?i:e.default;if("array"===e.format)if(x(a))a.map((function(t){r.push(G(e.items,t))}));else{var o=G(e.items,a);r.push(o)}else r=n(a)?a:[]}return r}function X(e,t){return"object"===e.type?G(e,t):"array"===e.type?V(e,t):Z(e,t)}var Y=y;function ee(e,t){var r=t||[];if(e&&"{}"!==JSON.stringify(e))if(D(e))if(e.type&&"remote"===e.type&&e.config&&D(e.config)&&e.config.dataName&&n(e.localFilter)&&n(e.data)){var i=e.config.body;if(i&&!D(i))try{i=JSON.parse(i)}catch(e){i={}}r.push({id:e.config.id,dataName:e.config.dataName,body:i})}else Object.keys(e).map((function(t){ee(e[t],r)}));else x(e)&&e.map((function(e){ee(e,r)}));return r}function te(e,t){var r=t||"data";return e.split("-").map((function(e){r=/^\d+$/.test(e)?r+"["+e+"]":r+"."+e})),r}function re(e,t){var r=[];return D(e)?Object.keys(e).map((function(i){var a=e[i],n=t?t+"-"+i:i;D(a)||x(a)?r.push({title:i,value:n,key:n,children:re(a,n)}):r.push({title:i,value:n,key:n})})):x(e)&&e.map((function(e,i){var a=i.toString(),n=t?t+"-"+i:a;D(e)||x(e)?r.push({title:a,value:n,key:n,children:re(e,n)}):r.push({title:a,value:n,key:n})})),r}function ie(e){var t=e.split("-");return t.pop(),t.join("-")}function ae(e){var t=e.split("-"),r=t.pop();return[t.join("-"),r]}var ne=["key","enum","enumextra","items","input","boolean","number","color","url","textarea","text-editor","radio","single-select","select","date","date-time","time","json","codearea","htmlarea","quantity","box-style","dynamic-data","datasource","event","array","object","widget","widgets","widgetUUID","embedWidgetList"];return t}()}));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.JSONUtils=t():e.JSONUtils=t()}(this,(function(){return function(){"use strict";var e={d:function(t,r){for(var i in r)e.o(r,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:r[i]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DataSourceTypeList:function(){return h},EventTypeDataList:function(){return g},KeyWordList:function(){return ce},TypeDataList:function(){return v},dataRoute2dataPath:function(){return oe},dynamicDataAnalyzer:function(){return ne},getCurPosition:function(){return Y},getDefaultOptionVal:function(){return G},getExpectType:function(){return L},getJsonDataByKeyRoute:function(){return l},getNextIndexRoute:function(){return Z},getParentIndexRoute:function(){return W},getParentIndexRoute_CurIndex:function(){return z},getParentKeyRoute:function(){return pe},getParentKeyRoute_CurKey:function(){return ue},getSchemaByIndexRoute:function(){return p},getSchemaByKeyRoute:function(){return u},hasProperties:function(){return n},indexRoute2keyRoute:function(){return c},isArray:function(){return D},isBoolean:function(){return x},isColor:function(){return q},isContainerSchema:function(){return K},isDateStr:function(){return T},isDateTimeStr:function(){return N},isEmptySchema:function(){return V},isEqual:function(){return a},isFunction:function(){return F},isNewSchemaData:function(){return J},isNumber:function(){return C},isObject:function(){return R},isQuantity:function(){return k},isSameParent:function(){return X},isSelect:function(){return E},isString:function(){return j},isStructuredSchema:function(){return U},isTimeStr:function(){return S},isURL:function(){return O},json2schema:function(){return w},json2treeData:function(){return le},keyRoute2indexRoute:function(){return s},metaElemAnalyzer:function(){return M},moveBackward:function(){return Q},moveForward:function(){return H},objClone:function(){return i},oldSchemaToNewSchema:function(){return _},oldSchemaToNewSchemaV1:function(){return P},registerExpectType:function(){return A},schema2json:function(){return ie},schemaMetaList:function(){return ae},truncate:function(){return o}});var r=require("lodash");function i(e){return(0,r.cloneDeep)(e)}function a(e,t){return(0,r.isEqual)(e,t)}function n(e){var t=!1;return null!=e&&(t=!0),t}function o(e,t){return(0,r.truncate)(e,t)}function l(e,t,r){var a=t;if(r&&(a=i(t)),e)for(var n=e.split("-"),o=0,l=n.length;o<l;o++){var p=n[o];p&&(a=a&&a[p])}return a}function p(e,t,r){var a=t;if(r&&(a=i(t)),e)for(var n=e.split("-"),o=0,l=n.length;o<l;o++){var p=n[o];if("0"!==p||"array"!==a.type&&"radio"!==a.type&&"select"!==a.type&&"checkboxes"!==a.type||!a.options&&!a.items){if(p){var u="0";a.propertyOrder?u=a.propertyOrder[p]:a.properties&&(u=Object.keys(a.properties)[p]),a=a.properties[u]}}else a=a.options||a.items}return a}function u(e,t,r){var a=t;if(r&&(a=i(t)),e&&a)for(var n=e.split("-"),o=0,l=n.length;o<l;o++){var p=n[o];p&&a.properties&&(a=a.properties[p])}return a}function c(e,t){for(var r=t,i="",a=e.split("-"),n=0,o=a.length;n<o;n++){var l=a[n];if("0"===l&&r.items)r=r.items,i=i?i+"-items":"items";else if("0"===l&&r.options)r=r.options,i=i?i+"-options":"options";else if(l){var p="0";r.propertyOrder?p=r.propertyOrder[l]:r.properties&&(p=Object.keys(r.properties)[l]),r=r.properties[p],i=i?i+"-"+p:p}}return i}function s(e,t){for(var r=t,i="",a=e.split("-"),n=0,o=a.length;n<o;n++){var l=a[n];if(l){var p=-1;r.propertyOrder?(p=r.propertyOrder.indexOf(l),r=r.properties[l]):r.properties?(p=Object.keys(r.properties).indexOf(l),r=r.properties[l]):r.items?(p=0,r=r.items):r.options&&(p=0,r=r.options),i=i?i+"-"+p:p.toString()}}return i}var d,f={type:"event",title:"事件",isContainer:!1,properties:{type:{default:"emit",type:"select",options:[{label:"on",value:"on"},{label:"emit",value:"emit"}],title:"事件类型"},trigger:{type:"input",default:"eventName",title:"触发事件",description:"用于输入触发事件的名称",placeholder:"请输入触发事件的名称"},eventData:{title:"事件数据",type:"json",default:"{}",description:"传递给触发事件的数据对象"}},propertyOrder:["type","trigger","eventData"]},y={type:"datasource",title:"数据源",isContainer:!1,properties:{type:{default:"local",type:"select",options:[{label:"本地数据",value:"local"},{label:"接口数据",value:"remote"}],title:"数据源类型"},data:{title:"本地json数据",placeholder:"请输入静态json数据",type:"json",default:"{}",description:"用于设置本地的静态json数据",isRequired:!0},filter:{title:"过滤器",type:"codearea",default:"() => {}",description:"用于定义过滤当前数据的函数",isRequired:!0}},propertyOrder:["type","data","filter"]},m=((d={type:"object"}).type="datasource",d.title="数据源",d.isContainer=!1,d.properties={type:{type:"select",default:"remote",options:[{label:"本地数据",value:"local"},{label:"接口数据",value:"remote"}],title:"数据源类型"},data:{type:"url",title:"远程json数据",placeholder:"请输入远程json数据源地址",default:"http://xxx",isRequired:!0,description:"用于设置获取元素数据的请求地址"},filter:{type:"codearea",title:"过滤器",default:"() => {}",description:"用于定义过滤当前数据的函数",isRequired:!0}},d.propertyOrder=["type","data","filter"],d),b={type:"local",config:{dataName:"",body:{},filter:"return data;"},data:"{}",localFilter:"return data;"},v={jsonschema:{type:"object",title:"jsonSchemaObject",properties:{func:{type:"object",title:"功能设置",isContainer:!1,properties:{a:{title:"单文本框",type:"input",default:"",description:"",placeholder:"",isRequired:!1}},propertyOrder:["a"]},style:{type:"object",title:"样式设置",isContainer:!1,properties:{b:{title:"单文本框",type:"input",default:"",description:"",placeholder:""}},propertyOrder:["b"]},data:{type:"data",title:"数据设置",isContainer:!1,properties:{c:{title:"单文本框",type:"input",default:"",description:"",placeholder:"",isRequired:!1}},propertyOrder:["c"]}},propertyOrder:["func","style","data"]},input:{title:"单文本框",type:"input",default:"",description:"",placeholder:""},boolean:{type:"boolean",title:"布尔值",default:!1,description:""},object:{type:"object",title:"对象Object",description:"",properties:{a:{type:"input",title:"单文本框",default:"",description:"",placeholder:""}},propertyOrder:["a"]},array:{type:"array",title:"数组Array",description:"",default:[],items:{type:"object",title:"数组项",description:"",properties:{name:{type:"input",title:"名字",default:"",description:"",placeholder:""}},propertyOrder:["name"]}},"empty-array":{type:"array",title:"数组Array",description:"",default:[],items:{type:"object",title:"数组项",description:"",properties:{}}},"empty-object":{type:"object",title:"对象Object",description:"",properties:{}},url:{type:"url",title:"链接地址url",default:"",description:"",placeholder:""},textarea:{type:"textarea",title:"多行文本框",default:"",description:"",placeholder:""},color:{type:"color",title:"颜色color",default:"#ffffff",description:""},image:{title:"图片",type:"image",default:"",description:"上传图片",imgWidth:200,imgHeight:200,imgRatioReadOnly:!0},number:{type:"number",title:"数量number",default:1,minimum:0,maximum:1e3,description:""},json:{title:"json数据",type:"json",default:"{}",description:""},codearea:{type:"codearea",title:"函数类型",placeholder:"请输入函数方法",default:'function func() { console.log("hello, world!"); }',description:"用于定义函数方法"},htmlarea:{title:"富文本",type:"htmlarea",placeholder:"请输入html代码片段",default:"<p>hello,world!</p>",description:"用于放置html代码片段"},"text-editor":{type:"text-editor",title:"富文本",default:"",description:"",placeholder:""},date:{type:"date",title:"日期Date",default:"",description:"",placeholder:""},"date-time":{type:"date-time",title:"日期时间",default:"",description:"",placeholder:""},time:{type:"time",title:"时间Time",default:"",description:"",placeholder:""},quantity:{type:"quantity",title:"单位计量",isContainer:!1,properties:{unit:{type:"number",title:"单位数值",default:50,minimum:0,maximum:1e3,description:""},quantity:{type:"select",default:"px",options:[{label:"px",value:"px"},{label:"rem",value:"rem"},{label:"em",value:"em"},{label:"%",value:"%"}],title:"单位类型"}},propertyOrder:["unit","quantity"]},"box-style":{type:"box-style",title:"盒子模型",isContainer:!1,properties:{unit:{title:"单位数值",type:"input",default:"0",description:""},quantity:{type:"select",default:"px",options:[{label:"px",value:"px"},{label:"rem",value:"rem"},{label:"em",value:"em"},{label:"%",value:"%"}],title:"单位类型"}},propertyOrder:["unit","quantity"]},radio:{type:"radio",title:"单选",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],default:"a",description:""},select:{type:"select",title:"下拉选择",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],default:"a",description:""},checkboxes:{type:"checkboxes",title:"多选",options:[{label:"选项a",value:"a"},{label:"选项b",value:"b"},{label:"选项c",value:"c"}],default:["a"],description:""},"dynamic-data":{type:"dynamic-data",title:"动态数据源",isContainer:!1,properties:{type:{default:"local",type:"select",options:[{label:"本地数据",value:"local"},{label:"接口数据",value:"remote"}],title:"数据类型"},config:{title:"接口配置",type:"object",description:"用于存放接口的配置数据(url、请求参数等)",isRequired:!0,properties:{dataName:{default:"local",type:"select",options:[{label:"本地数据",value:"local"},{label:"接口数据",value:"remote"}],title:"数据类型"},body:{type:"object",title:"请求参数配置",description:"用于配置当前接口的请求参数数值",isRequired:!0},filter:{title:"过滤器函数体",type:"codearea",default:"return data;",description:"用于定义过滤接口数据",isRequired:!0}},propertyOrder:["dataName","body","filter"]},data:{title:"数据内容",type:"json",default:"{}",description:"用于存放DynamicData的数据内容",isRequired:!0},localFilter:{title:"过滤器",type:"codearea",default:"return data;",description:"用于定义过滤本地数据",isRequired:!0}},propertyOrder:["type","config","data","localFilter"]},datasource:y,event:f,"dynamic-config":{type:"dynamic-config",title:"动态配置",description:"",isContainer:!1,properties:{type:{type:"select",title:"数据来源",options:[{label:"模板直接设置",value:"DevDefaults"},{label:"mp后台配置",value:"ContentStaticConfig"},{label:"内容Meta数据",value:"Content"},{label:"全局配置数据",value:"RuntimeConst"},{label:"资源中心配置",value:"ResourceCenter"}],default:"DevDefaults",isConditionProp:!0,description:"目前支持的数据来源包括: 1)模版直接设置:在模版配置直接生效,支持直接输入或图片上传。 2)mp后台配置:选择mp后台配置后,属性会出现在mp后台中,支持属性描述的输入。 3)内容meta数据:支持内容meta数据的获取,页面meta数据。 4)全局配置数据:目前支持的全局配置包括:全局Tab配置及主题包配置。相关属性会挂载至:window.globalConst"},value:{title:"数据值",type:"input",default:"",description:"",placeholder:""},description:{title:"属性名称",type:"input",default:"",description:"",placeholder:""},valueType:{type:"radio",title:"配置方式",options:[{label:"填写",value:"string"},{label:"选择",value:"select"}],default:"string",isConditionProp:!0,description:""},range:{type:"select",title:"可选项",multiple:!0,options:[],description:"这里会使用value中的配置选项作为options"}},propertyOrder:["type","value","description","valueType","range"],showCodeViewBtn:!1},"sohu-source":{type:"sohu-source",title:"组件动态数据",description:"",isContainer:!1,properties:{mainConfig:{type:"object",title:"主要配置",description:"",isContainer:!1,properties:{type:{type:"select",title:"数据来源",isConditionProp:!0,options:[{label:"模板直接配置",value:"RuntimeDataSelfDefine"},{label:"mp后台配置",value:"ContentStaticConfig"},{label:"请求当前页面数据",value:"RuntimeDataSelfContent"},{label:"资源中心配置",value:"ResourceCenter"}],default:"ContentStaticConfig",description:""},description:{title:"数据源名称",type:"input",default:"",description:"",placeholder:""},dataType:{type:"radio",title:"请求方式",options:[{label:"批量请求",value:"FROMCIS"},{label:"组件内部请求",value:"FROMCOMPCIS"},{label:"不请求",value:"false"}],description:""},CONTENTID:{title:"数据源ID",type:"input",default:"",description:"",placeholder:""},CONTENTTYPE:{type:"select",title:"数据源类型",options:[{label:"channle",value:"channle"},{label:"topic",value:"topic"},{label:"block",value:"block"}],description:""}},propertyOrder:["type","description","dataType","CONTENTID","CONTENTTYPE"],showCodeViewBtn:!1},outConfig:{type:"object",title:"出流配置",description:"",isContainer:!1,properties:{PRO:{type:"select",title:"内容类型",options:[{label:"置顶+加精",value:"4"},{label:"长效置顶",value:"5"}],description:""},FEEDTYPE:{type:"select",title:"排序类型",options:[{label:"综合",value:"XTOPIC_SYNTHETICAL"},{label:"最新",value:"XTOPIC_LATEST"},{label:"相关",value:"XTOPIC_RELATED"}],description:""},VIEW:{type:"select",title:"数据裁剪",options:[{label:"相关推荐模式",value:"articleFeedMode"},{label:"文字链裁剪方式",value:"textMode"},{label:"短内容摘录方式",value:"excerptMode"},{label:"互动(点赞/评论)裁剪方式",value:"interactMode"},{label:"评论文字链裁剪方式",value:"commentTextMode"},{label:"摘录方式(无点赞)",value:"excerptCommentMode"},{label:"无限流卡片模式",value:"dynamicFeedMode"},{label:"时间线模式",value:"timeLineMode"},{label:"复合内容流模式",value:"multiFeedMode"},{label:"搜狐号推荐模式",value:"recommendFeedMode"},{label:"作者页内容流模式",value:"operateFeedMode"},{label:"标签内容流模式",value:"tagsFeedMode"},{label:"评论链裁剪方式",value:"commentMode"},{label:"标签摘录方式",value:"excerptTagsMode"},{label:"内容流模式",value:"feedMode"}],description:""},CONTENTCONTEXT:{type:"select",title:"mKey参数",options:[{label:"作者ID+栏目ID",value:"authorColumnId_${#authorColumnId}"},{label:"账号ID",value:"accountId_${#contentData_account_id}"},{label:"mkeyID",value:"mid_${#mkeyConst_mid}"},{label:"mkey名称",value:"mname_${#mkeyConst_mname}"},{label:"城市Code码",value:"cityCode_${#cityInfo_cityCode}"},{label:"城市名称",value:"cityName_${#cityInfo_cityName}"},{label:"焦点城市Code码",value:"focusCityCode_${#focusCityInfo_cityCode}"}],description:""},CONTENTPARAMS:{title:"动态参数",type:"json",default:"{}",description:"请填写JSON格式的参数",placeholder:""}},propertyOrder:["PRO","FEEDTYPE","VIEW","CONTENTCONTEXT","CONTENTPARAMS"],showCodeViewBtn:!1},otherConfig:{type:"object",title:"选配内容",description:"",isContainer:!1,properties:{SIZE:{type:"number",title:"容量",default:1,minimum:0,maximum:1e3,description:""},TITLE:{title:"标题",type:"input",default:"",description:"",placeholder:""},CODE:{title:"Code参数",type:"input",default:"",description:"",placeholder:""},URL:{type:"url",title:"跳转链接",default:"",description:"",placeholder:""}},propertyOrder:["SIZE","TITLE","URL","CODE"],showCodeViewBtn:!1}},propertyOrder:["mainConfig","otherConfig","outConfig"],showCodeViewBtn:!1},"sohu-event":{type:"sohu-event",title:"sohu组件事件",showCodeViewBtn:!1,isContainer:!1,properties:{globalEventMap:{type:"object",title:"全局事件Map",description:"",properties:{eventCode:{type:"input",title:"事件名称",default:"",description:"",placeholder:"",readOnly:!0}},propertyOrder:["eventCode"],showCodeViewBtn:!1},event:{type:"array",title:"监听事件",description:"当前组件监听事件列表",default:[],items:{type:"object",title:"数组项",description:"",properties:{name:{type:"input",title:"事件",default:"",description:"",placeholder:""},code:{title:"事件code",type:"input",default:"",description:"",placeholder:""},listenName:{title:"事件名称",type:"input",default:"",description:"",placeholder:""},desc:{title:"事件描述",type:"input",default:"",description:"",placeholder:""}},propertyOrder:["name","code","listenName","desc"]},showCodeViewBtn:!1}},propertyOrder:["globalEventMap","event"]}},g={on:{type:"event",title:"事件",isContainer:!1,properties:{type:{default:"on",type:"select",options:[{label:"on",value:"on"},{label:"emit",value:"emit"}],title:"事件类型"},register:{type:"input",default:"eventName",title:"注册事件",description:"用于输入注册事件的名称",placeholder:"请输入注册事件的名称"},actionFunc:{title:"执行函数",type:"codearea",default:"() => {}",description:""}},propertyOrder:["type","register","actionFunc"]},emit:f},h={local:y,remote:m};function O(e){return/^http[s]?:\/\/.*/.test(e)}function j(e){return"String"===Object.prototype.toString.call(e).slice(8,-1)}function C(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function x(e){return"Boolean"===Object.prototype.toString.call(e).slice(8,-1)}function T(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)}function N(e){return/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$/.test(e)||/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/.test(e)}function S(e){return/^\d{2}:\d{2}:\d{2}$/.test(e)||/^\d{2}:\d{2}$/.test(e)}function D(e){var t=!1;return"Array"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function E(e){if(!D(e))return!1;for(var t=0,r=e.length;t<r;t++)if(!j(e[t]))return!1;return!0}function R(e){var t=!1;return"Object"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function k(e){var t=!1;return v.quantity.properties.quantity.enum.indexOf(e)>=0&&(t=!0),t}function q(e){return/^#[0-9a-f]{6}$/.test(e)||/^#[0-9a-f]{3}$/.test(e)}function F(e){var t=!1;return"Function"===Object.prototype.toString.call(e).slice(8,-1)&&(t=!0),t}function w(e){var t;return t=e&&R(e)?function(e){var t;if(R(e)){var r=Object.keys(e);e.data&&e.filter&&2===r.length?t=D(e.data)||R(e.data)?i(h.local):i(h.remote):e.trigger&&e.eventData&&2===r.length?t=i(g.emit):e.register&&e.actionFunc&&2===r.length?t=i(g.on):e.quantity&&k(e.quantity)&&2===r.length?t=i(v.quantity):(t=i(v["empty-object"]),Object.keys(e).map((function(r){var i=e[r];t.properties[r]=w(i)})))}return t}(e):e&&D(e)?function(e){var t;if(e&&D(e))if(E(e)){(t=i(v.select)).items.enum=e;var r=t.items.enumextra.length,a=e.length;if(a>r)for(var n=r,o=a;n<o;n++)t.items.enumextra.push("选项"+e(n))}else{t=i(v["empty-array"]);var l=w(e[0]);t.items.properties=l.properties}return t}(e):function(e){var t="";if(x(e))t=i(v.boolean);else if(C(e))t=i(v.number);else if(O(e))t=i(v.url);else if(T(e))t=i(v.date);else if(N(e))t=i(v["date-time"]);else if(S(e))t=i(v.time);else if(q(e))t=i(v.color);else try{t=C(JSON.parse(e))?i(v.input):i(v.json)}catch(r){t=e&&e.length>30?i(v.textarea):i(v.input)}return t}(e),t}function I(e,t){var r=t||{};return R(e)&&"object"===getExpectType(e.type)&&e.properties&&(e.propertyOrder?e.propertyOrder:Object.keys(e.properties)).map((function(t){var i=e.properties[t];r=M(i,r)})),r}function M(e,t){var r=!t,i=t||{};if(e&&"{}"!==JSON.stringify(e)){var a=e.type;"object"===a||"func"===a||"style"===a||"data"===a?(!r&&i.object?i.object+=1:r||(i.object=1),i=I(e,i)):"array"===a?(!r&&i.array?i.array+=1:r||(i.array=1),i=I(e=e.items,i)):!r&&i[a]?i[a]+=1:r||(i[a]=1)}return i}function P(e){var t=i(e);if(!t.title&&t.description&&(t.title=t.description),t.type||(t.type=t.format),"quantity"!==t.type&&"array"!==t.type&&"datasource"!==t.type&&"event"!==t.type&&"object"!==t.type||!n(t.default)||delete t.default,"radio"===t.type&&(t.type="string",t.enum&&t.enumextra&&(t.items={type:"string",enum:i(t.enum),enumextra:i(t.enumextra)},delete t.enum,delete t.enumextra)),"quantity"===t.type){var r=t.properties,a=i(v.quantity);if(r.quantity&&R(r.quantity)&&r.quantity.default){var o=r.quantity.default;a.properties.quantity.default="percent"===o?"%":o}t=a}if("datasource"===t.type){var l=t.properties,p=l.type&&l.type.default,u=l.data&&l.data.default,c=l.filter&&l.filter.default;"local"===p?(t=i(h.local)).properties.data.default=u?i(u):"{}":(t=i(h.remote)).properties.data.default=u?i(u):"http://xxx",t.properties.filter.default=c?i(c):"() => {}"}if("event"===t.type){var s=t.properties,d=s.type&&s.type.default;if("in"===d||"on"===d){var f=s.filter&&s.filter.default||"() => {}";t=i(g.on),s.actionFunc&&R(s.actionFunc)&&(t.properties.actionFunc.default=s.actionFunc.default||i(f))}else{var y=s.filter&&s.filter.default||"{}";t=i(g.emit),s.eventData&&R(s.eventData)&&(t.properties.eventData.default=s.eventData.default||i(y))}}return t.properties&&(t.propertyOrder||(t.propertyOrder=Object.keys(t.properties)),t.propertyOrder.map((function(e){t.properties[e]=_(t.properties[e])}))),t.items&&(t.items=_(t.items)),t}function _(e){var t=i(e);return t.required||delete t.required,t.type&&t.type&&(t.type=t.type),"quantity"!==t.type&&"array"!==t.type&&"datasource"!==t.type&&"event"!==t.type&&"object"!==t.type||!n(t.default)||delete t.default,"radio"!==t.type&&"checkboxes"!==t.type&&"select"!==t.type||t.items&&t.items.enum&&t.items.enumextra&&(t.options=[],t.items.enum.forEach((function(e,r){t.options.push({label:t.items.enumextra[r]||e,value:e})})),delete t.items),t.properties&&(t.propertyOrder||(t.propertyOrder=Object.keys(t.properties)),t.propertyOrder.map((function(e){t.properties[e]=_(t.properties[e])}))),"array"===t.type&&t.items&&(t.items=_(t.items)),t}require("mobx");var $,B=(($={array:"array",boolean:"boolean","box-style":"object",codearea:"string",color:"string",datasource:"object",date:"string","date-time":"string","dynamic-data":"object",event:"object","func-body":"string",htmlarea:"string",image:"string",input:"string",json:"string",number:"number",object:"object",quantity:"object",radio:"string",select:"array"}).select="string",$.textarea="string",$["text-editor"]="string",$.time="string",$.url="string",$["dynamic-config"]="object",$["sohu-source"]="object",$["sohu-event"]="object",$);function L(e){return B[e]||e}function A(e,t){B[e]?console.warn("当前已经存在"+e+"("+B[e]+"),暂时不支持覆盖。"):B[e]=t}function V(e){var t=!0;if(!e)return t;var r=e.type;return("object"===r&&e.properties&&e.propertyOrder&&e.propertyOrder.length>0||"array"===r&&e.items&&e.items.properties&&e.items.propertyOrder&&e.items.propertyOrder.length>0||e.type&&"array"!==e.type&&"object"!==e.type||e.type)&&(t=!1),t}function J(e){var t=!1,r=e.lastUpdateTime,i=new Date("2024-10-05T00:01:00.691Z").getTime();return r&&new Date(r).getTime()>=i&&(t=!0),t}function K(e){var t=!1,r=L(e.type),i=void 0===e.isContainer||e.isContainer;return"object"===r&&i&&(t=!0),t}function U(e){var t=!0;return"object"===e.type&&e.propertyOrder&&e.properties?e.propertyOrder.map((function(r){var i=e.properties[r];"object"===e.type&&i.propertyOrder&&i.properties||(t=!1)})):t=!1,t}function X(e,t){var r=e.split("-"),i=t.split("-");return r.pop(),i.pop(),r.join("-")===i.join("-")}function Y(e,t){for(var r=e.split("-"),i=t.split("-"),a="before",n=0,o=(r.length>i.length?i:r).length;n<o;n+=1)Number(r[n])>Number(i[n])&&(a="after");return a}function W(e){var t=e.split("-");return t.pop(),t.join("-")}function Z(e){var t=e.split("-"),r=t.pop(),i=Number(r)+1;return t.push(""+i),t.join("-")}function z(e){var t=e.split("-"),r=t.pop();return[t.join("-"),r]}function H(e){var t=e.split("-"),r=t.pop();return t.push(Number(r)-1),t.join("-")}function Q(e){var t=e.split("-"),r=t.pop();return t.push(Number(r)+1),t.join("-")}function G(e,t){var r="",i=!1;return e.options&&e.options[0]&&(r=e.options[0].value,i=!0),(t||e.multiple)&&(r=i?[r]:[]),r}function ee(e,t){var r="",i=t;n(i)&&n(e.default)&&typeof i!=typeof e.default&&(i=void 0);var a=n(i)?i:e.default;switch(e.type){case"select":case"radio":r=a||G(e);break;case"checkboxes":r=a||G(e,!0);break;case"color":"#fff"!==a&&"#FFF"!==a||(a="#ffffff"),r=n(a)?a:"#ffffff";break;case"boolean":r=!!n(a)&&a;break;case"number":r=n(a)?a:1;break;case"json":var o="";if(R(a)||D(a))o=a;else if(F(a)||""===a)o={};else try{o=JSON.parse(a)}catch(e){o={}}r=o;break;default:r="input"===e.type&&"0"===e.default?a||e.default:n(a)?a:""}return r}function te(e,t){var r={},a=e.type;if(R(e)&&"object"===L(e.type)){var o=e,l=t;n(l)&&n(o.default)&&typeof l!=typeof o.default&&(l=void 0);var p=n(l)?l:o.default;"dynamic-data"===a?(r=i(b),p&&R(p)&&"{}"!==JSON.stringify(p)&&(r=Object.assign(r,p))):"datasource"===a?o.properties&&o.properties.type&&o.properties.type.default&&"local"===o.properties.type.default?(r={data:"{}",filter:"() => {}"},p&&p.data&&(r.data=p.data),p&&p.filter&&(r.filter=p.filter),"http://xxx"===r.data&&(r.data="{}")):(r={data:"http://xxx",filter:"() => {}"},p&&p.data&&(r.data=p.data),p&&p.filter&&(r.filter=p.filter),"{}"===r.data&&(r.data="http://xxx")):"event"===a?o.properties&&o.properties.type&&o.properties.type.default&&"emit"===o.properties.type.default?p&&"out"===p.type?r={trigger:p&&p.filter||"eventName",eventData:"{}"}:(r={trigger:"eventName",eventData:"{}"},p&&p.trigger&&(r.trigger=p.trigger),p&&p.eventData&&(r.eventData=p.eventData)):p&&"in"===p.type?r={register:"eventName",actionFunc:p&&p.filter||"() => {}"}:(r={register:"eventName",actionFunc:"() => {}"},p&&p.register&&(r.register=p.register),p&&p.actionFunc&&(r.actionFunc=p.actionFunc)):!1===e.isContainer&&p&&R(p)&&"{}"!==JSON.stringify(p)?r=Object.assign(r,p):e.properties&&(e.propertyOrder?e.propertyOrder:Object.keys(e.properties)).map((function(i){var a=e.properties[i],n=t&&t[i];switch(L(a.type)){case"array":r[i]=re(a,n);break;case"object":r[i]=te(a,n);break;default:r[i]=ee(a,n)}}))}return r}function re(e,t){var r=[];if(e&&"array"===L(e.type)){var i=t;n(i)&&n(e.default)&&typeof i!=typeof e.default&&(i=void 0);var a=n(i)?i:e.default;if("array"===L(e.type))if(D(a))a.map((function(t){r.push(te(e.items,t))}));else if(a)r=a;else{var o=te(e.items,a);r.push(o)}else r=n(a)?a:[]}return r}function ie(e,t){return"object"===L(e.type)?te(e,t):"array"===L(e.type)?re(e,t):ee(e,t)}var ae=v;function ne(e,t){var r=t||[];if(e&&"{}"!==JSON.stringify(e))if(R(e))if(e.type&&"remote"===e.type&&e.config&&R(e.config)&&e.config.dataName&&n(e.localFilter)&&n(e.data)){var i=e.config.body;if(i&&!R(i))try{i=JSON.parse(i)}catch(e){i={}}r.push({id:e.config.id,dataName:e.config.dataName,body:i})}else Object.keys(e).map((function(t){ne(e[t],r)}));else D(e)&&e.map((function(e){ne(e,r)}));return r}function oe(e,t){var r=t||"data";return e.split("-").map((function(e){r=/^\d+$/.test(e)?r+"["+e+"]":r+"."+e})),r}function le(e,t){var r=[];return R(e)?Object.keys(e).map((function(i){var a=e[i],n=t?t+"-"+i:i;R(a)||D(a)?r.push({title:i,value:n,key:n,children:le(a,n)}):r.push({title:i,value:n,key:n})})):D(e)&&e.map((function(e,i){var a=i.toString(),n=t?t+"-"+i:a;R(e)||D(e)?r.push({title:a,value:n,key:n,children:le(e,n)}):r.push({title:a,value:n,key:n})})),r}function pe(e){var t=e.split("-");return t.pop(),t.join("-")}function ue(e){var t=e.split("-"),r=t.pop();return[t.join("-"),r]}var ce=["key","enum","enumextra","items","input","boolean","number","color","url","textarea","text-editor","radio","select","checkboxes","date","date-time","time","json","codearea","htmlarea","quantity","box-style","dynamic-data","datasource","event","array","object"];return t}()}));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @wibetter/json-utils v5.0.
|
|
2
|
+
* @wibetter/json-utils v5.0.3
|
|
3
3
|
* author: wibetter
|
|
4
4
|
* build tool: AKFun
|
|
5
|
-
* build time:
|
|
5
|
+
* build time: Fri Dec 20 2024 23:28:05 GMT+0800 (中国标准时间)
|
|
6
6
|
* build tool info: https://github.com/wibetter/akfun
|
|
7
7
|
*/
|