app-base-react
Version:
react development common base package.
1 lines • 19.1 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.removeDups=exports.getHiddenData=exports.removeHiddenFromResult=exports.dataToKeys=exports.cleanEmpty=exports.completeSchemaWithTheme=exports.parseFunctionString=exports.updateSchemaToNewVersion=exports.translateMessage=exports.generateDataSkeleton=exports.getDescriptorSimple=exports.removeEmptyItemFromList=exports.getDisplayValue=exports.getKeyFromPath=exports.isEmail=exports.getEnum=exports.newSchemaToOld=exports.oldSchemaToNew=exports.isFunctionString=exports.getSaveNumber=exports.getParentProps=exports.parseAllExpression=exports.schemaContainsExpression=exports.parseSingleRootValue=exports.parseRootValueInSchema=exports.evaluateString=exports.parseString=exports.clone=exports.isObject=void 0;var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_slicedToArray=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var r=t,n=[],o=!0,t=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(o=(s=a.next()).done)&&(n.push(s.value),!r||n.length!==r);o=!0);}catch(e){t=!0,i=e}finally{try{!o&&a.return&&a.return()}finally{if(t)throw i}}return n}throw new TypeError("Invalid attempt to destructure non-iterable instance")},_lodash=(exports.getParamByName=getParamByName,exports.isCheckBoxType=isCheckBoxType,exports.getParentPath=getParentPath,exports.getValueByPath=getValueByPath,exports.destructDataPath=destructDataPath,exports.getDataPath=getDataPath,exports.isObjType=isObjType,exports.isBlockType=isBlockType,exports.isListType=isListType,exports.orderProperties=orderProperties,exports.flattenSchema=flattenSchema,exports.getSchemaFromFlatten=getSchemaFromFlatten,exports.isLooselyNumber=isLooselyNumber,exports.isCssLength=isCssLength,exports.isDeepEqual=isDeepEqual,exports.hasRepeat=hasRepeat,exports.combineSchema=combineSchema,exports.isExpression=isExpression,exports.parseSingleExpression=parseSingleExpression,exports.isFunctionSchema=isFunctionSchema,exports.looseJsonParse=looseJsonParse,exports.parseFunction=parseFunction,exports.defaultGetValueFromEvent=defaultGetValueFromEvent,exports.msToTime=msToTime,exports.yymmdd=yymmdd,exports.allPromiseFinish=allPromiseFinish,require("lodash")),_void=require("./void");function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function _objectWithoutProperties(e,t){var r,n={};for(r in e)0<=t.indexOf(r)||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function getParamByName(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:window.location.href;e=e.replace(/[\[\]]/g,"\\$&");e=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)").exec(t);return e?e[2]?decodeURIComponent(e[2].replace(/\+/g," ")):"":null}function isCheckBoxType(e,t){return!t&&("checkbox"===e.widget||(e&&"boolean"===e.type?!e.enum&&void 0===e.widget:void 0))}function removeBrackets(e){return"string"==typeof e?e.replace(/\[\]/g,""):e}function getParentPath(e){return"string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}function getValueByPath(e,t){return"#"!==t&&t?"string"==typeof t?(t=(0,_void.getRealDataPath)(t))&&(0,_lodash.get)(e,t):void console.error("path has to be a string"):e||{}}function destructDataPath(e){var t=void 0,r=void 0;if("#"===e)return{id:"#",dataIndex:[]};if("string"!=typeof e)throw Error("path "+e+" is not a string!!! Something wrong here");var n=/\[[0-9]+\]/g,o=e.match(n);return o?(t=e.replace(n,"[]"),r=o.map(function(e){return Number(e.substring(1,e.length-1))})):t=e,{id:t,dataIndex:r}}function getDataPath(e,t){if("#"===e)return e;if("string"!=typeof e)throw Error("id "+e+" is not a string!!! Something wrong here");var r=e;return Array.isArray(t)&&t.forEach(function(e){r=r.replace(/\[\]/,"["+e+"]")}),removeBrackets((0,_void.getRealDataPath)(r))}function isObjType(e){return e&&"object"===e.type&&e.properties&&!e.widget}function isBlockType(e){return e&&"block"===e.type&&e.widget}function isListType(e){return e&&"array"===e.type&&isObjType(e.items)&&void 0===e.enum}function orderProperties(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"order",n=new Map,o=[];return e.forEach(function(e){var t;"number"!=typeof(t=_slicedToArray(e=e,2)[1])[r]?o.push(e):n.has(t[r])?n.get(t[r]).push(e):n.set(t[r],[e])}),Array.from(n.entries()).sort(function(e,t){return _slicedToArray(e,1)[0]-_slicedToArray(t,1)[0]}).flatMap(function(e){return _slicedToArray(e,2)[1]}).concat(o)}function flattenSchema(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"#",r=arguments[2],n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},e=clone(e),o=t,i=(e.$id||(e.$id=o),[]);return isObjType(e)&&(orderProperties(Object.entries(e.properties)).forEach(function(e){var e=_slicedToArray(e,2),t=e[0],e=e[1],t=isListType(e)?t+"[]":t,t="#"===o?t:o+"."+t;i.push(t),flattenSchema(e,t,o,n)}),e.properties={}),isListType(e)&&(orderProperties(Object.entries(e.items.properties)).forEach(function(e){var e=_slicedToArray(e,2),t=e[0],e=e[1],t=isListType(e)?t+"[]":t,t="#"===o?t:o+"."+t;i.push(t),flattenSchema(e,t,o,n)}),e.items.properties={}),e.type&&(n[o]={parent:r,schema:e,children:i}),n}function getSchemaFromFlatten(r){var n={},e=clone(r[1<arguments.length&&void 0!==arguments[1]?arguments[1]:"#"]);return e&&(n=e.schema,0<e.children.length)&&e.children.forEach(function(e){var t;r[e]&&(t=getKeyFromPath(e),isObjType(n)&&(n.properties[t]=getSchemaFromFlatten(r,e)),isListType(n))&&(n.items.properties[t]=getSchemaFromFlatten(r,e))}),n}function stringContains(e,t){return-1<e.indexOf(t)}var isObject=exports.isObject=function(e){return stringContains(Object.prototype.toString.call(e),"Object")},clone=exports.clone=_lodash.cloneDeep;function isLooselyNumber(e){return"number"==typeof e||"string"==typeof e&&!Number.isNaN(Number(e))}function isCssLength(e){return"string"==typeof e&&e.match(/^([0-9])*(%|px|rem|em)$/i)}function isDeepEqual(e,t){if(void 0!==e||void 0!==t){if(void 0===e||void 0===t)return!1;if(null!==e||null!==t){if(null===e||null===t)return!1;if(e.constructor!==t.constructor)return!1;if(e.constructor===Array){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(e[r].constructor===Array||e[r].constructor===Object){if(!isDeepEqual(e[r],t[r]))return!1}else if(e[r]!==t[r])return!1}else if(e.constructor===Object){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0;n<Object.keys(e).length;n++){var o=Object.keys(e)[n];if(!e[o]||"number"==typeof e[o]||e[o].constructor!==Array&&e[o].constructor!==Object){if(e[o]!==t[o])return!1}else if(!isDeepEqual(e[o],t[o]))return!1}}else if(e.constructor===String||e.constructor===Number)return e===t}}return!0}function hasRepeat(e){return e.find(function(t,e,r){return e!==r.findIndex(function(e){return JSON.stringify(t)===JSON.stringify(e)})})}function combineSchema(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},s=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=getChildren(e).map(function(e){var t=e.name,r=e.schema,n=r.type,o=r.enum,i=r.properties,r=r.items,i="object"===n&&i,t=t&&s[e.name];return t?"array"===n&&r&&!o?(n=combineSchema(r,t.items||{}),_extends({},e,{schema:_extends({},e.schema,t,{items:n})})):i?(o=combineSchema(e.schema,t),_extends({},e,{schema:o})):_extends({},e,{schema:_extends({},e.schema,t)}):e}),r={},n=(t.forEach(function(e){r[e.name]=e.schema}),{});return Object.keys(s).forEach(function(e){"string"==typeof e&&"ui:"===e.substring(0,3)&&(n[e]=s[e])}),(0,_lodash.isEmpty)(r)?_extends({},e,n):_extends({},e,n,{properties:r})}function getChildren(e){var t,r,n;return e&&(t=e.properties,r=e.items,e=e.type,t||r)?(n="array"===e?r:"object"===e?t:{},Object.keys(n).map(function(e){return{schema:n[e],name:e}})):[]}var parseString=exports.parseString=function(e){return Function('"use strict";return ('+e+")")()},evaluateString=exports.evaluateString=function(e,t,r){return Function('"use strict";\n const rootValue = '+JSON.stringify(r)+";\n const formData = "+JSON.stringify(t)+";\n return ("+e+")")()};function isExpression(e){return"string"==typeof e&&e.match(/^{\s*{(.+)}\s*}$/)&&!e.match(/^{\s*{function\(.+}\s*}$/)}var parseRootValueInSchema=exports.parseRootValueInSchema=function r(n,o){var i=clone(n);return isObject(n)?Object.keys(n).forEach(function(e){var t=n[e];isObject(t)?i[e]=r(t,o):"string"==typeof t&&(i[e]=parseSingleRootValue(t,o))}):console.error("schema is not an object:",n),i},parseSingleRootValue=exports.parseSingleRootValue=function(t){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(!("string"==typeof t&&0<t.indexOf("rootValue")))return t;var e="\n return "+t.replace(/^{\s*{/g,"").replace(/}\s*}$/g,"").replace(/rootValue/g,JSON.stringify(r));try{return Function(e)()}catch(e){return console.error(e,"expression:",t,"rootValue:",r),null}};function parseSingleExpression(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2],n=getValueByPath(e,getParentPath(r))||{};if("string"!=typeof t)return t;e="\n return "+t.replace(/^{\s*{/g,"").replace(/}\s*}$/g,"").replace(/formData/g,JSON.stringify(e)).replace(/rootValue/g,JSON.stringify(n));try{return Function(e)()}catch(e){return console.log(e,t,r),null}}var schemaContainsExpression=exports.schemaContainsExpression=function t(r){return!!isObject(r)&&Object.keys(r).some(function(e){e=r[e];return"string"==typeof e?isExpression(e):!!isObject(e)&&t(e)})},parseAllExpression=exports.parseAllExpression=function n(e,o,i){var s=clone(e);return Object.keys(s).forEach(function(t){var r,e=s[t];isObject(e)?s[t]=n(e,o,i):isExpression(e)?s[t]=parseSingleExpression(e,o,i):"string"==typeof t&&-1<t.toLowerCase().indexOf("props")&&(r=s[t],isObject(r))&&Object.keys(r).forEach(function(e){s[t][e]=parseSingleExpression(r[e],o,i)})}),s};function isFunctionSchema(t){return Object.keys(t).some(function(e){return"function"==typeof t[e]||("string"==typeof t[e]?isExpression(t[e]):"object"===_typeof(t[e])&&isFunctionSchema(t[e]))})}var getParentProps=exports.getParentProps=function e(t,r,n){try{var o,i=n[r];return void 0!==i.schema[t]?i.schema[t]:i&&i.parent?void 0!==(o=n[i.parent].schema)[t]?o[t]:e(t,i.parent,n):void 0}catch(e){}},getSaveNumber=exports.getSaveNumber=function(){var e=localStorage.getItem("SAVES");if(!e)return 1;try{var t=JSON.parse(e).length;if(t)return t+1}catch(e){return 1}};function looseJsonParse(e){return Function('"use strict";return ('+e+")")()}var isFunctionString=exports.isFunctionString=function(e){return"string"==typeof e&&0===e.indexOf("function(")};function parseFunction(e){return isFunctionString(e)?Function("return "+e)():e}var oldSchemaToNew=function(e){var t,r;return e&&e.propsSchema?(t=e.propsSchema,r=_objectWithoutProperties(e,["propsSchema"]),_extends({schema:t},r)):e},newSchemaToOld=(exports.oldSchemaToNew=oldSchemaToNew,function(e){var t,r;return e&&e.schema?(t=e.schema,r=_objectWithoutProperties(e,["schema"]),_extends({propsSchema:t},r)):e}),getEnum=(exports.newSchemaToOld=newSchemaToOld,exports.getEnum=function(e){var t;if(e)return t=e&&e.items&&e.items.enum,e=e&&e.enum,t||e}),isEmail=exports.isEmail=function(e){return!(!e||!new RegExp("^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$").test(e))};function defaultGetValueFromEvent(e){var t=arguments.length<=1?void 0:arguments[1];return t&&t.target&&e in t.target?t.target[e]:t}var getKeyFromPath=exports.getKeyFromPath=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"#";try{return e.split(".").slice(-1)[0].replace("[]","")}catch(e){return console.error(e,"getKeyFromPath"),""}},getDisplayValue=exports.getDisplayValue=function(t,e){if("boolean"==typeof t)return t?"yes":"no";if(isObjType(e)||isListType(e))return"-";if(Array.isArray(e.enum)&&Array.isArray(e.enumNames))try{return e.enumNames[e.enum.indexOf(t)]}catch(e){return t}return"object"===(void 0===t?"undefined":_typeof(t))?JSON.stringify(t):t},removeEmptyItemFromList=exports.removeEmptyItemFromList=function t(r){var n={};return isObject(r)?Object.keys(r).forEach(function(e){n[e]=t(r[e])}):n=Array.isArray(r)?r.filter(function(e){return-1<[!1,0,""].indexOf(e)||!(!e||"{}"===JSON.stringify(e))}):r,n},getDescriptorSimple=exports.getDescriptorSimple=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=arguments[1],r={};if(isObject(t)){if(t.type)switch(t.type){case"range":r.type="array";break;case"html":r.type="string";break;default:r.type=t.type}switch(["pattern","min","max","len","required"].forEach(function(e){-1<Object.keys(t).indexOf(e)&&(r[e]=t[e])}),t.format){case"email":case"url":r.type=t.format}var n,o=function(e){return e.pattern&&"string"==typeof e.pattern&&(e.pattern=new RegExp(e.pattern)),e};t.rules?Array.isArray(t.rules)?(n=t.rules.find(function(e){return!0===e.required}),r=(r=[r=n?_extends({},r,n):r].concat(_toConsumableArray(t.rules))).map(o)):isObject(t.rules)&&(r=(r=[r,t.rules]).map(o)):r=[r]}return _defineProperty({},e,r)},generateDataSkeleton=exports.generateDataSkeleton=function n(o,e){var i=clone(e),s=i;return isObjType(o)?(void 0!==i&&"object"===(void 0===i?"undefined":_typeof(i))||(i={},s={}),Object.keys(o.properties).forEach(function(e){var t=o.properties[e],r=i[e],t=n(t,r);s[e]=t})):void 0===i&&(s=void 0!==o.default?clone(o.default):isListType(o)?[n(o.items)]:void("boolean"===o.type&&o.widget)),s},translateMessage=exports.translateMessage=function(e,t){var r;return"string"!=typeof e?"":t&&(e=(e=e.replace("${title}",t.title)).replace("${type}",t.format||t.type),"number"==typeof t.min&&(e=e.replace("${min}",t.min)),"number"==typeof t.max&&(e=e.replace("${max}",t.max)),t.rules)&&((r=t.rules.find(function(e){return void 0!==e.min}))&&(e=e.replace("${min}",r.min)),(r=t.rules.find(function(e){return void 0!==e.max}))&&(e=e.replace("${max}",r.max)),(r=t.rules.find(function(e){return void 0!==e.len}))&&(e=e.replace("${len}",r.len)),r=t.rules.find(function(e){return void 0!==e.pattern}))?e.replace("${pattern}",r.pattern):e},changeSchema=function r(e,n){var o,i=clone(e);return isObjType(i=n(i))?(o=[],Array.isArray(i.required)&&(o=i.required,delete i.required),Object.keys(i.properties).forEach(function(e){var t=i.properties[e];-1<o.indexOf(e)&&(t.required=!0),i.properties[e]=r(t,n)})):isListType(i)&&Object.keys(i.items.properties).forEach(function(e){var t=i.items.properties[e];i.items.properties[e]=r(t,n)}),i},updateSchemaToNewVersion=exports.updateSchemaToNewVersion=function(e){return changeSchema(e,updateSingleSchema)},updateSingleSchema=function(t){try{var e;return t.rules=t.rules||[],t.props=t.props||{},t["ui:options"]&&(t.props=t["ui:options"],delete t["ui:options"]),t.pattern&&(e={pattern:t.pattern},t.message&&t.message.pattern&&(e.message=t.message.pattern),t.rules.push(e),delete t.pattern,delete t.message),t.minLength&&(t.min=t.minLength,delete t.minLength),t.maxLength&&(t.max=t.maxLength,delete t.maxLength),t.minItems&&(t.min=t.minItems,delete t.minItems),t.maxItems&&(t.max=t.maxItems,delete t.maxItems),t.step&&(t.props.step=t.step,delete t.step),t["ui:className"]&&(t.className=t["ui:className"],delete t["ui:className"]),t["ui:hidden"]&&(t.hidden=t["ui:hidden"],delete t["ui:hidden"]),t["ui:readonly"]&&(t.readOnly=t["ui:readonly"],delete t["ui:readonly"]),t["ui:disabled"]&&(t.disabled=t["ui:disabled"],delete t["ui:disabled"]),t["ui:width"]&&(t.width=t["ui:width"],delete t["ui:width"]),t["ui:displayType"]&&(t.displayType=t["ui:displayType"],delete t["ui:displayType"]),t["ui:column"]&&(t.column=t["ui:column"],delete t["ui:column"]),t["ui:widget"]&&(t.widget=t["ui:widget"],delete t["ui:widget"]),t["ui:labelWidth"]&&(t.labelWidth=t["ui:labelWidth"],delete t["ui:labelWidth"]),t.rules&&0===t.rules.length&&delete t.rules,"function"==typeof t.props||isObject(t.props)&&0<Object.keys(t.props).length||delete t.props,t}catch(e){return console.error("schema转换失败!",e),t}},parseFunctionString=exports.parseFunctionString=function(e){var t,r;return"string"==typeof e&&(r=/^{{(.+=>.+)}}$/,e.match(t=/^{{(function.+)}}$/)?e.match(t)[1]:!!e.match(r)&&e.match(r)[1])},completeSchemaWithTheme=exports.completeSchemaWithTheme=function t(){var r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},o={};return isObject(r)?(r.theme&&n[r.theme]&&(o=_extends({},r,n[r.theme])),Object.keys(r).forEach(function(e){o[e]=t(r[e],n)})):o=r,o},cleanEmpty=exports.cleanEmpty=function r(e){return Array.isArray(e)?e.map(function(e){return e&&isObject(e)?r(e):e}).filter(function(e){return!(null==e)}):isObject(e)?Object.entries(e).map(function(e){var e=_slicedToArray(e,2),t=e[0],e=e[1];return[t,e&&isObject(e)?r(e):e]}).reduce(function(e,t){var t=_slicedToArray(t,2),r=t[0],t=t[1];return null==t||(e[r]=t),e},{}):e},dataToKeys=exports.dataToKeys=function r(n){function o(e){return isObject(e)||Array.isArray(e)}var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",s=[];i&&"]"!==i.slice(-1)&&s.push(i);return isObject(n)?Object.keys(n).forEach(function(e){var t=n[e],e=i?i+"."+e:e;o(t)?(t=r(t,e),s=[].concat(_toConsumableArray(s),_toConsumableArray(t))):s.push(e)}):Array.isArray(n)&&n.forEach(function(e,t){t=i?i+"["+t+"]":"["+t+"]";o(e)?(e=r(e,t),s=[].concat(_toConsumableArray(s),_toConsumableArray(e))):s.push(t)}),s},removeHiddenFromResult=exports.removeHiddenFromResult=function(e,r){var n=clone(e);return dataToKeys(n).forEach(function(e){var t=destructDataPath(e).id;r[t]&&(isExpression(t=(r[t].schema||{}).hidden)&&(t=parseSingleExpression(t,n,e)),void 0!==(0,_lodash.get)(n,e))&&t&&(0,_lodash.set)(n,e,void 0)}),n},getHiddenData=exports.getHiddenData=function(e,r){var n=clone(e),o={};return dataToKeys(n).forEach(function(e){var t=destructDataPath(e).id;r[t]&&(t=isExpression(t=(r[t].schema||{}).hidden)?parseSingleExpression(t,n,e):t)&&(o[e]=n[e])}),o};function msToTime(e){var t=Math.floor(e/1e3%60),r=Math.floor(e/6e4%60),e=Math.floor(e/36e5%24);return(e<10?"0"+e:e)+":"+(r<10?"0"+r:r)+":"+(t<10?"0"+t:t)}function yymmdd(e){function t(e){return("0"+e).slice(-2)}var e=new Date(Number(e)),r=t(e.getDate()),n=t(e.getMonth());return e.getFullYear()+"-"+n+"-"+r+" "+t(e.getHours())+":"+t(e.getMinutes())+":"+t(e.getSeconds())}function allPromiseFinish(e){var o=!1,i=e.length,s=[];return e.length?new Promise(function(r,n){e.forEach(function(e,t){e.catch(function(e){return o=!0,e}).then(function(e){--i,s[t]=e,0<i||(o&&n(s),r(s))})})}):Promise.resolve([])}var removeDups=exports.removeDups=function(e){if(Array.isArray(e)){for(var t=[],r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r]);return t}console.log("in removeDups: param is not an array")};