UNPKG

fa-toolkit

Version:

a devtool for fast app

1 lines 35 kB
"use strict";var _0x5c2b94=_0x991d;function _0x991d(a,e){var r=_0x52ac();return(_0x991d=function(a,e){return r[a-=453]})(a,e)}function _typeof(a){var r=_0x991d;return(_typeof=r(624)==typeof Symbol&&"symbol"==typeof Symbol[r(637)]?function(a){return typeof a}:function(a){var e=r;return a&&e(624)==typeof Symbol&&a.constructor===Symbol&&a!==Symbol[e(481)]?"symbol":typeof a})(a)}function _0x52ac(){var a=["none","permissionDesc","readdirSync","prototype","float","Please change it.","(the valid enumerated value is: '","basename","exports","original","Object","' contains an invalid value ","1158vqnSZB","view"," In ","warn","WRITE_EXTERNAL_STORAGE","' is invalid,\n ","hasSubSource","menuBarData",": Attribute '","ERROR: manifest.json configuration item '"," Attribute '","widgets","Enter the mandatory attribtes and parameters.","toString","some","isArray","integer","dirname","' color value '","return","forEach"," Attribute '","please ensure minPlatformVersion is '","log","RECORD_AUDIO","please ensure minPlatformVersion >= '","resource","isDirectory","the value must be defined in 'support'.","ERROR: In manifest.json, the '","isPlainObject","concat","' is invalid (the value must be a character string)."," name '","false","(the value can only be an object).","keys","minPlatformVersion","' value is invalid.","ERROR: In manifest.json, the config configuration item '"," | ","' is not a mandatory item of manifest.","15355hQdJAY","ERROR: Page '","45qbpzNP","696064zDRErq","utf-8","only support below values ('","value '","please ensure 'minPlatformVersion' is configured correctly.","' is invalid ."," \n ","./style/emui-style-config","READ_PHONE_STATE","' is invalid.","2864271ntdbqO","(the value must be an array).","srcPath","', ","tabBarList","(the value can only be an array).","transparent","' is invalid (the value must be an integer).","value must less than ","duration","max","push","' value '",", object ","resultBuilder","or the value is 7-digit number and >= '1078000' to enable the feature.","WARNING: Subpackages have been configured for the project. ","includes","' to enable the feature.","WRITE_CALENDAR","Map","' is a character string, which should be an integer instead.","path","match","ERROR: Attribute '","' contains: ","(the value can only be a array).","The name can contain only digits, letters, and underscores. Please modify.","info","CAR_INFO","about","support","options"," is not configured. ","WARNING","url","' is not a configuration item of ","system.request","map","NOTE: Color value '","WARNING: In manifest.json, the display configuration themeMode value ","pages","' is invalid, connot resolve '","require","system.record","constructor","grayMode","./utils","name","390290pAbbhQ","(the value can only be an object)","bind","' is invalid ","[object String]","' is invalid, ","' (the value can only be ","true","1000","checkFns","' is invalid (the value must be an integer or 'device-width' instead).","join","' contains: \n ","adjustResize","(the value must be an object).","reasonBuilder","file directory '","configExit","' has configured for the project, ","quickCard"," resource '","existsSync","ERROR: Manifest.json does not contain configuration item '","parse","appType","reduce","isEmptyObject","length"," resource'","params","function","628075NRiPjz","test"," ' is invalid.","resourcePath","versionNum","slice","' has configured for the quick card project, ","NOTE: Configuration item '","trim","assign","ERROR"," configuration item '","iterator","base","stringify","ERROR: manifest.json configuration item '","array","' is invalid. ","permDesc","ERROR: Subpackge ","standalone","exec","ERROR: '","system.audio","rgba(","language","color","581420TKSdZl","WARNING: In manifest.json, the config configuration item '","dark","replace","hasOwnProperty","standard","NOTE","' are mutually inclusive. Please modify.","ERROR: Subpackage ","which should be an integer or 'device-width' instead.","reason","' is a reserved name of the main package.","data","i18n","call","1070","config","designWidth","list","portrait","type","firstPageSize","enum","CONFIG","adjustPan","errLevel","string","quickCard2.0","readFileSync","exit","network","auto","The name can only be started with a digit or letter and ","' must be an URL.","READ_CONTACT","themeMode","@@iterator","langSupport"," name cannot be blank. Please add one.","boolean","NOTIFYCATION","debug","').","lstatSync","subpackages","CAMERA","Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.","packageName","done","filter"," bytes.","number","8728QMYkTR","ERROR: Attribute '","' exists already.Please change it to another one.","singleTask","Set","toLowerCase","value","6769fIMIcF","split","ERROR: configuration item '","indexOf","ACCESS_FINE_LOCATION","does not contain the mandatory attribute: "," resource name cannot be blank. Please add one."," and subpackage ","versionType","SILENT_NOTIFYCATION","device-width","' is a character string, "];return(_0x52ac=function(){return a})()}function _createForOfIteratorHelper(a,e){var r=_0x991d,t="undefined"!=typeof Symbol&&a[Symbol.iterator]||a[r(688)];if(!t){if(Array[r(505)](a)||(t=_unsupportedIterableToArray(a))||e&&a&&typeof a[r(621)]===r(458)){t&&(a=t);var n=0,e=function(){};return{s:e,n:function(){return n>=a[r(621)]?{done:!0}:{done:!1,value:a[n++]}},e:function(a){throw a},f:e}}throw new TypeError(r(453))}var i,o=!0,u=!1;return{s:function(){t=t[r(666)](a)},n:function(){var a=r,e=t.next();return o=e[a(455)],e},e:function(a){u=!0,i=a},f:function(){var a=r;try{o||null==t[a(509)]||t[a(509)]()}finally{if(u)throw i}}}}function _unsupportedIterableToArray(a,e){var r=_0x991d;if(a){if(typeof a===r(678))return _arrayLikeToArray(a,e);var t=Object[r(481)][r(503)][r(666)](a)[r(630)](8,-1);return(t=t===r(488)&&a[r(590)]?a[r(590)][r(593)]:t)===r(565)||t===r(463)?Array.from(a):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[r(626)](t)?_arrayLikeToArray(a,e):void 0}}function _arrayLikeToArray(a,e){(null==e||e>a.length)&&(e=a[_0x991d(621)]);for(var r=0,t=new Array(e);r<e;r++)t[r]=a[r];return t}!function(){for(var a=_0x991d,e=_0x52ac();;)try{if(595003==+parseInt(a(625))+parseInt(a(652))/2+parseInt(a(545))/3+parseInt(a(535))/4+parseInt(a(532))/5*(-parseInt(a(490))/6)+-parseInt(a(466))/7*(parseInt(a(459))/8)+parseInt(a(534))/9*(parseInt(a(594))/10))break;e.push(e.shift())}catch(a){e.push(e.shift())}}();var currentValidatorMap,manifestPath,fs=require("fs"),path=require(_0x5c2b94(567)),REGEXP_INT=/^[-+]?[0-9]+$/,REGEXP_URL=/^['"]?([^]+?)['"]?$/gi,REGEXP_NAME=/^[a-zA-Z_][a-zA-Z0-9]*$/,REGEXP_PACKAGE_NAME=/^[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$/,REGEXP_COLOR_LONG=/^#[0-9a-fA-F]{6}$/,REGEXP_COLOR_SHORT=/^#[0-9a-fA-F]{3}$/,REGEXP_COLOR_RGB=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,REGEXP_COLOR_RGBA=/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d*\.?\d+)\s*\)$/,REGEXP_NUMBER=/^[0-9]*\.?[0-9]+$/,REGEXP_I18=/^\${([a-zA-Z0-9.]+?)}$/,REGEXP_I18_ALL=/{{(.+?)}}|^\${([a-zA-Z0-9.]+?)}$|\$|/,MAX_LENGTH=_isQuickCardMode||_isFlexibleCardMode?64:255,ARRAY_MAX_LENGTH=2048,MAIN_PKG_NAME=_0x5c2b94(638),invalidTips=function(e,r,t){return{value:!1,reason:function(){var a=_0x991d;return a(460).concat(e,"' value '")[a(521)](r,a(597))+a(484)[a(521)](t[a(605)](a(530)),"')")}}},reasonTips=function(a){var r=_0x5c2b94,t=a[r(677)],e=a[r(559)],n=a[r(609)];return{value:_utils.isEmptyObject(e)?null:JSON[r(639)](e),reason:0<n.length?function(a){var e=r;return"".concat(logTypes[t],": configuration item '")[e(521)](a,e(606))[e(521)](n[e(605)](e(541)))}:null}},_path=require(_0x5c2b94(567)),_fs=require("fs"),_utils=require(_0x5c2b94(592)),logTypes=[_0x5c2b94(658),_0x5c2b94(579),"ERROR"],_require=require(_0x5c2b94(542)),colorNames=_require.colorNames;function makeEnumValidator(a,e){return validator[_0x5c2b94(674)].bind(null,a,e)}function bindArgs(a){for(var e=_0x5c2b94,r=arguments[e(621)],t=new Array(1<r?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];return a[e(596)].apply(a,[null].concat(t))}function validateManifestSubpackages(a,e,t,o,u){var n,i,c,l,r=_0x5c2b94,s=/^\w[\w-/]*$/,d=/^[a-zA-z]*[0-9]*/,v=[],b=[];a.forEach(function(a,e){var r=_0x991d;c=a.name,l=a[r(516)],a[r(645)],n=l&&_path[r(605)](t,l),i=e+1,c?d.test(c)?c===MAIN_PKG_NAME?o[r(556)]({line:1,column:1,reason:r(660).concat(i," name '")[r(521)](c,r(663))+r(483),filePath:u}):-1<b.indexOf(c)?o[r(556)]({line:1,column:1,reason:"ERROR: Subpackage ".concat(i," name '")[r(521)](c,r(461)),filePath:u}):b.push(c):o[r(556)]({line:1,column:1,reason:r(644)[r(521)](i,r(523)).concat(c,r(642))+r(572),filePath:u}):o[r(556)]({line:1,column:1,reason:r(660)[r(521)](i,r(690)),filePath:u}),l?s[r(626)](l)?-1<v[r(469)](l)?o[r(556)]({line:1,column:1,reason:"ERROR: Subpackage ".concat(i,r(614))[r(521)](l,"'has been used. Please change to another one."),filePath:u}):_fs.existsSync(n)?function(a,e){for(var r=_0x991d,t=0,n=v.length;t<n;t++){var i=v[t];if(a.startsWith(i)||i.startsWith(a))return o.push({line:1,column:1,reason:"WARNING: Subpackage "[r(521)](e,r(614))[r(521)](a,"'")+r(473).concat(t+1,r(622))[r(521)](i,r(659)),filePath:u}),1}return 0}(l,i)||v[r(556)](l):o[r(556)]({line:1,column:1,reason:r(660)[r(521)](i,r(614))[r(521)](l,r(548))+r(610)[r(521)](n,"' does not exist. Please modify."),filePath:u}):o[r(556)]({line:1,column:1,reason:"ERROR: Subpackage "[r(521)](i," resource name '")[r(521)](l,r(642))+r(684)+"can consist of only digits, letters, underscores, hyphens, and slashes. Please modify.",filePath:u}):o[r(556)]({line:1,column:1,reason:"ERROR: Subpackage "[r(521)](i,r(472)),filePath:u})}),e<1040&&o[r(556)]({line:1,column:1,reason:r(561)+"To enable the subpackages, ensure that minPlatformVersion >= 1040 is configured in the manifest file",filePath:u})}var validator={integer:function(a){var t=_0x5c2b94,a=a;return"string"==typeof a?a[t(568)](REGEXP_INT)?{value:!0,reason:function(a,e){var r=t;return"WARNING: manifest.json configuration item '"[r(521)](a,"' ")+r(538)[r(521)](e,r(566))}}:{value:!1,reason:function(a,e){var r=t;return r(640)[r(521)](a,"' ")+r(538)[r(521)](e,r(552))}}:(a=(a||"").toString())[t(568)](REGEXP_INT)?{value:!0}:{value:!1,reason:function(a,e){var r=t;return r(640)[r(521)](a,"' ")+r(538)[r(521)](e,r(552))}}},routerPages:function(a){var e=_0x5c2b94,u=[],c=a[e(586)];return Object[e(526)](c)[e(621)]&&Object[e(526)](c).forEach(function(o){for(var a in c[o])!function(e){var a,r=_0x991d;Object[r(481)][r(656)][r(666)](c[o],e)&&(a=routerPagesValidateMap[e],(a=Array[r(505)](a)?a:[a])[r(510)](function(a){var t=r,a=typeof a===t(624)&&a(c[o][e]);if(a&&a[t(662)])try{var n=a[t(662)](e,c[o][e]),i=n.match(/^[A-Z]+\s*:/)[0];u[t(556)]({reason:function(a,e){var r=t;return""[r(521)](i,r(636))[r(521)](a,r(570))+"\n "[r(521)](n.replace(i,""))}})}catch(a){return u}}))}(a)}),u},url:function(a){var t=_0x5c2b94,a=a;return(a=(a||"")[t(503)]()[t(633)]())[t(568)](REGEXP_URL)||new RegExp("{{{(.+?)}}}|{{(.+?)}}","g").test(a)?{value:!0}:{value:!1,reason:function(a,e){var r=t;return r(640)[r(521)](a,r(557))[r(521)](e,r(685))}}},packageName:function(a){var t=_0x5c2b94;return a[t(621)]>MAX_LENGTH?{value:!1,reason:function(a,e){var r=t;return r(640).concat(a,"' ")+r(553)[r(521)](MAX_LENGTH," bytes.")}}:typeof a===t(678)&&a[t(568)](REGEXP_PACKAGE_NAME)?{value:!0}:{value:!1,reason:function(a,e){var r=t;return r(640)[r(521)](a,r(557)).concat(e,r(627))}}},sourceConfigs:function(a){var r=_0x5c2b94;return JSON[r(639)](a).length>ARRAY_MAX_LENGTH?{value:!1,reason:function(a){var e=r;return e(640)[e(521)](a,"' ")+e(553)[e(521)](ARRAY_MAX_LENGTH,e(457))}}:{value:!0}},name:function(a,e){var t=_0x5c2b94,e=(e||"")[t(503)]()[t(633)]();if(e[t(562)]("$")&&!(a?REGEXP_I18_ALL:REGEXP_I18)[t(626)](e))return{value:!1,reason:function(a,e){var r=t;return r(499)[r(521)](a,"' ")+"value '"[r(521)](e,r(544))}};return{value:!0}},string:function(a){var t=_0x5c2b94;return Object[t(481)][t(503)].call(a)!==t(598)?{value:!1,reason:function(a,e){var r=t;return r(640).concat(a,"' ")+r(538)[r(521)](e,r(522))}}:{value:!0}},enum:function(t){var a,n=_0x5c2b94,i=1<arguments[n(621)]&&void 0!==arguments[1]?arguments[1]:n(635),e=2<arguments.length?arguments[2]:void 0,e=Array[n(505)](e)?e:[e],r=t[n(619)](function(a,e){return a[e]=e,a},{}),o=_createForOfIteratorHelper(e);try{for(o.s();!(a=o.n())[n(455)];)if(!r[a[n(465)]])return{value:!1,reason:function(a,e){var r=n;return""[r(521)](i,r(498))[r(521)](a,r(557))[r(521)](e,r(495))+r(537)[r(521)](t[r(605)](r(530)),r(694))}}}catch(a){o.e(a)}finally{o.f()}return{value:e}},config:function(a){var e=_0x5c2b94;if(_utils.isEmptyObject(a))return{value:!0};e=getPropValidateResult(e(668),a,configValidatorMap,[e(691),e(678),e(458)]);return reasonTips(e)},designWidth:function(a){var t=_0x5c2b94,a=a;return t(678)===typeof a?a===t(476)?{value:!0}:a[t(568)](REGEXP_INT)?{value:!0,reason:function(a,e){var r=t;return r(653).concat(a,"' ")+r(538)[r(521)](e,r(477))+r(661)}}:{value:!1,reason:function(a,e){var r=t;return r(529).concat(a,"' ")+r(538)[r(521)](e,r(604))}}:(a=(a||"").toString()).match(REGEXP_INT)?{value:a}:{value:!1,reason:function(a,e){var r=t;return r(529)[r(521)](a,"' ")+r(538)[r(521)](e,r(604))}}},CONFIG:{background:function(r){var t=_0x5c2b94;return _utils[t(520)](r)?Object[t(526)](r)[t(583)](function(a){var e=t;return typeof validator[e(675)][a]===e(624)&&validator[e(675)][a](r[a])}):{value:!1,reason:function(a,e){var r=t;return"ERROR: Attribute '"[r(521)](a,r(557))[r(521)](JSON[r(639)](e),"' is invalid ")+"(the value can only be an object)"}}},features:function(a){var e=_0x5c2b94,r=[e(648),e(589),e(582),"system.geolocation"];return validator.enum(r,e(635),a)}},display:function(){var t=_0x5c2b94,o=0<arguments[t(621)]&&void 0!==arguments[0]?arguments[0]:{},u=[];return Object[t(526)](o).length&&Object[t(526)](o)[t(510)](function(e){var r=t,a=displayValidatorMap[e];(a=Array[r(505)](a)?a:[a]).forEach(function(a){var t=r,a=typeof a===t(624)&&a(o[e]);if(a&&a[t(662)])try{var n=a[t(662)](e,o[e]),i=n.match(/^[A-Z]+\s*:/)[0];u[t(556)]({reason:function(a,e){var r=t;return"".concat(i,r(636)).concat(a,"' contains: ")+"\n "[r(521)](n[r(655)](i,""))}})}catch(a){return u}})}),u},color:function(a){var t=_0x5c2b94,e=a;if((e=(e||"")[t(503)]()).match(REGEXP_COLOR_LONG))return{value:e};if(e.match(REGEXP_COLOR_SHORT)){var n="#"[t(521)](e[1]).concat(e[1])[t(521)](e[2])[t(521)](e[2]).concat(e[3])[t(521)](e[3]);return{value:n,reason:function(a,e){var r=t;return r(584)[r(521)](e,"' is converted to '")[r(521)](n,"'.")}}}if(colorNames[e]){var i=colorNames[e];return{value:i,reason:function(a,e){var r=t;return r(584)[r(521)](e,"' is converted to '")[r(521)](i,"'.")}}}var r=void 0,o=void 0,u=void 0,a=REGEXP_COLOR_RGB[t(646)](e);if(a&&(r=parseInt(a[1]),o=parseInt(a[2]),u=parseInt(a[3]),0<=r&&r<=255&&0<=o&&o<=255&&0<=u&&u<=255))return{value:"rgb(".concat([r,o,u][t(605)](","),")")};if(a=REGEXP_COLOR_RGBA[t(646)](e)){r=parseInt(a[1]),o=parseInt(a[2]),u=parseInt(a[3]),a=parseFloat(a[4]);if(0<=r&&r<=255&&0<=o&&o<=255&&0<=u&&u<=255&&0<=a&&a<=1)return{value:t(649)[t(521)]([r,o,u,a].join(","),")")}}return t(551)===e?{value:"rgba(0,0,0,0)"}:{value:null,reason:function(a,e){var r=t;return"ERROR: Attribute '"[r(521)](a,r(508))[r(521)](e,"' is invalid.")}}},widgets:function(a){var t=_0x5c2b94;if(0===a[t(621)])return{value:!0,reason:function(a,e){var r=t;return r(632)[r(521)](a,r(531))}};a=getPropValidateResult("widgets",a,widgetsValidatorMap,[t(691),t(678),t(458)],!0);return reasonTips(a)},params:function(a){var t=_0x5c2b94;if(!Array[t(505)](a))return{value:!1,reason:function(a,e){var r=t;return"ERROR: Attribute '"[r(521)](a,r(557))[r(521)](e,r(597))+r(571)}};if(0===a[t(621)])return{value:!0};a=getPropValidateResult(t(623),a,paramsValidatorMap,[t(691),"string",t(458)],!0);return reasonTips(a)},list:function(a){var t=_0x5c2b94;if(!Array.isArray(a))return{value:!1,reason:function(a,e){var r=_0x991d;return"ERROR: Attribute '"[r(521)](a,r(557)).concat(e,r(597))+r(571)}};if(0===a[t(621)])return{value:!0};for(var n=[t(470),"WRITE_CALENDAR"],i=[],e=0;e<a[t(621)];e++)-1===n[t(469)](a[e])&&i[t(556)](a[e]);return 0===i[t(621)]?{value:!0}:{value:!1,reason:function(a,e){var r=t;return"ERROR: Attribute '".concat(a,r(489))+"'"[r(521)](i[r(605)](", "),r(600))[r(521)](n[r(605)](", "),").")}}},data:function(a){var t=_0x5c2b94;if(_utils.isPlainObject(a)){var r=[];return Object.keys(a).forEach(function(a){var e=_0x991d,a=a[e(568)](/^\$|^_/);a&&r[e(556)](a[0])}),r[t(621)]?{value:!1,reason:function(a,e){var r=t;return r(460)[r(521)](a,"' key value don't have to started with '$' or '_'.")}}:{value:a}}return{value:!1,reason:function(a,e){var r=t;return"ERROR: Attribute '".concat(a,r(557)).concat(e,r(597))+r(525)}}},array:function(a){var t=_0x5c2b94;return Array[t(505)](a)?{value:a}:{value:!1,reason:function(a,e){var r=t;return r(460)[r(521)](a,r(557))[r(521)](e,r(597))+r(550)}}},pages:function(a){var t=_0x5c2b94;if(!_utils.isPlainObject(a))return{value:!1,reason:function(a,e){var r=_0x991d;return"ERROR: Attribute '"[r(521)](a,"' value '")[r(521)](e,"' is invalid ")+r(525)}};var e=[];Object[t(526)](a)[t(510)](function(a){e.push(a)});for(var n=[],r=0;r<e[t(621)];r++)-1===routerPagesMap.indexOf(e[r])&&n[t(556)](e[r]);if(0<n[t(621)])return{value:!1,reason:function(a,e){var r=t;return r(533)[r(521)](n.join(", "),"' is not defined in router pages.")}};var i,o,u={},c=[],l=0;for(i in a)Object.prototype[t(656)][t(666)](a,i)&&(o=getPropValidateResult(t(586),a[i],pagesValidatorMap,[t(458),t(678)]),c=c[t(521)](o[t(609)]),u=Object[t(634)](u,o[t(559)]),l=Math[t(555)](l,o[t(677)]));return reasonTips({errLevel:l,resultBuilder:u,reasonBuilder:c})},float:function(a){var t=_0x5c2b94;if(0===Number(a)||1===Number(a))return{value:Number(a)};var e=a[t(503)]()[t(568)](REGEXP_NUMBER);return e&&!e[1]?parseFloat(a)<0||1<parseFloat(a)?{value:!1,reason:function(a,e){var r=t;return"ERROR: Attribute '"[r(521)](a,r(557))[r(521)](e,"' is invalid .")}}:{value:parseFloat(a)}:{value:!1,reason:function(a,e){var r=t;return r(460)[r(521)](a,"' value '")[r(521)](e,r(540))}}},themeMode:function(a){var e=_0x5c2b94,r=[-1,0,1],t=Number(a);return r.includes(t)?e(678)===typeof a?{value:!1,reason:function(){return e(585)+"is a character string, which should be an integer instead"}}:{value:t}:invalidTips("themeMode",a,r)},minPlatformVersion:function(t){var n=_0x5c2b94,a=JSON[n(617)](_fs[n(680)](manifestPath,n(536)))[n(527)];return _isQuickCardMode&&!_isFlexibleCardMode?isValidQuickCardVersion(a)?{value:!0}:{reason:function(a,e){var r=n;return r(647).concat(a,r(631))+r(512)[r(521)](t,"' ")+r(560)}}:a<t?{reason:function(a,e){var r=n;return r(647)[r(521)](a,r(612))+r(515)[r(521)](t,r(563))}}:{value:!0}},appType:function(e,r,a){return a!==r?{value:!1,reason:function(){var a=_0x991d;return a(519)[a(521)](e,"' configuration value must be '")[a(521)](r,"'.")}}:{value:!0}},permDesc:function(a){var e=_0x5c2b94,e=getPropValidateResult(e(479),a,permDescValidatorMap,[e(691),e(678)],!0);return reasonTips(e)},menuBarData:function(a){var e=_0x5c2b94;if(_utils[e(620)](a))return{value:!0};e=getPropValidateResult(e(497),a,menuBarDataValidatorMap,[e(691)]);return reasonTips(e)},tabBar:function(a){var t=_0x5c2b94;if(!_utils[t(520)](a))return{value:!1,reason:function(a,e){var r=t;return r(460).concat(a,"' value '")[r(521)](JSON.stringify(e),r(597))+r(595)}};a=getPropValidateResult("tabBar",a,tabBarValidatorMap,["string"],!0);return reasonTips(a)},tabBarList:function(a){var e=_0x5c2b94;if(!Array.isArray(a))return{value:!1,reason:function(a){var e=_0x991d;return e(640)[e(521)](a,e(597))+e(546)}};e=getPropValidateResult("list",a,tabBarListValidatorMap,[e(678)],!0);return reasonTips(e)},filter:function(a){var t=_0x5c2b94;return Object[t(481)].hasOwnProperty[t(666)](a,"view")&&Object[t(481)][t(656)][t(666)](a[t(491)],"uri")?{value:!0}:{value:!1,reason:function(a,e){var r=t;return r(499)[r(521)](a,r(528))}}},about:function(a){var r=_0x5c2b94;if(!Array[r(505)](a))return{value:!1,reason:function(a){var e=r;return"ERROR: manifest.json configuration item '"[e(521)](a,"' is invalid ")+e(546)}};a=getPropValidateResult("aboutPageConfig",a,aboutValidatorMap,[r(678)],!0);return reasonTips(a)},network:function(a){var e=_0x5c2b94;if(_utils.isEmptyObject(a))return{value:!0};a=getPropValidateResult(e(682),a,networkValidatorMap,["number"]);return reasonTips(a)},testData:function(t){var n=_0x5c2b94,a=path[n(605)](path[n(507)](manifestPath),""[n(521)](t,".json"));return fs[n(615)](a)?{value:!0}:{value:!1,reason:function(a,e){var r=n;return r(640)[r(521)](a,"' ")+r(538)[r(521)](e,r(587))[r(521)](t,".json'.")}}},cardId:function(a){var t=_0x5c2b94,n=path[t(485)](path.dirname(manifestPath));return a!==n?{value:!1,reason:function(a,e){var r=t;return"ERROR: manifest.json configuration item '"[r(521)](a,"' ")+r(538)[r(521)](e,"' is invalid, the value must keep pace with card directory name '")[r(521)](n,"'.")}}:{value:!0}},language:function(a){var t=_0x5c2b94;if(!_utils[t(520)](a))return{value:!1,reason:function(a,e){var r=t;return"ERROR: Attribute '".concat(a,r(557))[r(521)](e,r(597))+r(608)}};a=getPropValidateResult(t(650),a,languageValidatorMap,["number"],!0);return reasonTips(a)},langSupport:function(t){var n=_0x5c2b94;if(!_utils[n(520)](t))return{value:!1,reason:function(a,e){var r=n;return r(460)[r(521)](a,"' value '")[r(521)](e,"' is invalid ")+r(608)}};if(_utils.isEmptyObject(t))return{value:!0};var i=[];return Object.keys(t)[n(510)](function(a){var e,r=n;t[a]&&Object[r(481)][r(503)][r(666)](t[a])===r(598)?(e=path[r(605)](path[r(507)](manifestPath),t[a]),fs.existsSync(e)||i[r(556)](r(500)[r(521)](a,r(557))[r(521)](t[a],r(599))+"can not resolve ".concat(e,"."))):i[r(556)](r(500)[r(521)](a,"' value '")[r(521)](t[a],r(597))+"(the value must be a character string).")}),{value:!(0<i[n(621)]),reason:0<i[n(621)]?function(a){var e=n;return e(468)[e(521)](a,"' contains: \n ").concat(i[e(605)](e(541)))}:null}},langDefault:function(a){var t=_0x5c2b94,e=JSON[t(617)](_fs.readFileSync(manifestPath,t(536)));return Object[t(526)](e[t(650)][t(576)]||[])[t(562)](a)?{value:!0}:{value:!1,reason:function(a,e){var r=t;return"ERROR: Attribute '".concat(a,"' value '")[r(521)](e,r(599))+r(518)}}},grayMode:function(a){var t=_0x5c2b94;if(!_utils[t(520)](a))return{value:!1,reason:function(a,e){var r=t;return r(569)[r(521)](a,r(557)).concat(e,r(597))+r(525)}};a=getPropValidateResult(t(591),a,grayModeValidatorMap,["boolean"],!0);return reasonTips(a)},duration:function(a){var t=_0x5c2b94;if(!_utils[t(520)](a))return{value:!1,reason:function(a,e){var r=t;return"ERROR: Attribute '".concat(a,r(557))[r(521)](e,"' is invalid ")+r(525)}};a=getPropValidateResult(t(554),a,durationValidatorMap,[t(691)],!0);return reasonTips(a)},configExit:function(a){var t=_0x5c2b94;if(!_utils[t(520)](a))return{value:!1,reason:function(a,e){var r=t;return r(569).concat(a,r(557))[r(521)](e,r(597))+r(525)}};a=getPropValidateResult(t(681),a,configExitValidatorMap,[t(691),t(678)]);return reasonTips(a)}},validatorMap={package:{checkFns:validator[_0x5c2b94(454)],require:!0},name:{checkFns:bindArgs(validator[_0x5c2b94(593)],!0),require:!0},versionName:{checkFns:validator.string,require:!1},versionCode:{checkFns:validator[_0x5c2b94(506)],require:!0},minPlatformVersion:{checkFns:validator[_0x5c2b94(506)],require:!0},isPlugin:{checkFns:makeEnumValidator([_0x5c2b94(524),_0x5c2b94(601)]),require:!1},"uses-permission":{checkFns:validator[_0x5c2b94(678)],require:!1},icon:{checkFns:validator[_0x5c2b94(580)],require:!0},config:{checkFns:validator[_0x5c2b94(668)],require:!0},router:{checkFns:validator.routerPages,require:!0},display:{checkFns:validator.display,require:!1},widgets:{checkFns:[validator.array,validator[_0x5c2b94(501)]],require:!1},subpackages:{checkFns:validator[_0x5c2b94(696)],require:!1},trustedSslDomains:{checkFns:validator[_0x5c2b94(641)],require:!1},permissionDesc:{checkFns:[validator[_0x5c2b94(641)],validator[_0x5c2b94(643)]],require:!1}},quickCardValidatorMap={cardId:{checkFns:validator.packageName,require:!0},name:{checkFns:validator[_0x5c2b94(678)],require:!0},versionName:{checkFns:validator[_0x5c2b94(678)],require:!1},versionCode:{checkFns:validator.integer,require:!0},minPlatformVersion:{checkFns:[validator[_0x5c2b94(506)],bindArgs(validator.minPlatformVersion,"1078")],require:!0},appType:{checkFns:bindArgs(validator[_0x5c2b94(618)],_0x5c2b94(618),_0x5c2b94(613)),require:!0},testData:{checkFns:[validator[_0x5c2b94(678)],validator.testData],require:!0},entry:{checkFns:validator[_0x5c2b94(678)],require:!0}},flexQuickCardValidatorMap={cardId:{checkFns:[validator[_0x5c2b94(454)],validator.cardId],require:!0},name:{checkFns:validator[_0x5c2b94(678)],require:!0},versionName:{checkFns:validator[_0x5c2b94(678)],require:!1},versionCode:{checkFns:validator[_0x5c2b94(506)],require:!0},minPlatformVersion:{checkFns:[validator[_0x5c2b94(506)],bindArgs(validator[_0x5c2b94(527)],_0x5c2b94(602))],require:!0},type:{checkFns:bindArgs(validator[_0x5c2b94(618)],_0x5c2b94(672),_0x5c2b94(679)),require:!0},entry:{checkFns:validator[_0x5c2b94(678)],require:!0},dataSourceConfigs:{checkFns:[validator[_0x5c2b94(641)],validator.sourceConfigs],require:!1},scriptEngine:{checkFns:makeEnumValidator(["jexl","jslite","v8"]),require:!1},language:{checkFns:validator.language,require:!1}},relatedValidatorMap={hasSubSource:{checkFns:makeEnumValidator(["false",_0x5c2b94(601)]),require:!0},firstPageSize:{checkFns:validator.integer,require:!0},dataSourceFields:{checkFns:validator[_0x5c2b94(641)],require:!0},dataSourceConfigs:{checkFns:[validator[_0x5c2b94(641)],validator.sourceConfigs],require:!1}},widgetsValidatorMap={name:{type:validator[_0x5c2b94(678)],require:!0},id:{type:validator[_0x5c2b94(678)],require:!0},path:{type:validator[_0x5c2b94(678)],require:!0},component:{type:validator[_0x5c2b94(678)],require:!1},targetManufactorys:{type:validator[_0x5c2b94(641)],require:!0},desc:{type:validator[_0x5c2b94(678)],require:!1},params:{type:validator.params,require:!1},"uses-permission":{type:validator[_0x5c2b94(670)],require:!1},minPlatformVersion:{type:validator[_0x5c2b94(506)],require:!0},distribute:{type:validator[_0x5c2b94(678)],require:!1}},paramsValidatorMap={name:{type:validator[_0x5c2b94(678)],require:!0},mandatory:{type:makeEnumValidator(["true","false"]),require:!1},valueSample:{type:validator[_0x5c2b94(678)],require:!0},desc:{type:validator.string,require:!0}},configValidatorMap={logLevel:makeEnumValidator([_0x5c2b94(513),"off","error",_0x5c2b94(493),_0x5c2b94(573),_0x5c2b94(693)]),designWidth:validator.designWidth,data:validator[_0x5c2b94(664)],network:validator[_0x5c2b94(682)],recreateOnFolding:makeEnumValidator([_0x5c2b94(601),_0x5c2b94(524)],logTypes[1]),background:validator[_0x5c2b94(675)].background,aboutPageConfig:validator[_0x5c2b94(575)],grayMode:validator.grayMode,exit:validator[_0x5c2b94(611)],disableDynamicCode:makeEnumValidator([_0x5c2b94(601),_0x5c2b94(524)],logTypes[1])},routerPagesValidateMap={forceDark:[bindArgs(validator.minPlatformVersion,_0x5c2b94(667)),bindArgs(validator.enum,["true",_0x5c2b94(524)],_0x5c2b94(635))],launchMode:makeEnumValidator([_0x5c2b94(657),_0x5c2b94(462)]),filter:validator[_0x5c2b94(456)]},displayValidatorMap={backgroundColor:validator[_0x5c2b94(651)],fullScreen:makeEnumValidator([_0x5c2b94(601),"false"]),titleBar:makeEnumValidator([_0x5c2b94(601),_0x5c2b94(524)]),titleBarBackgroundColor:validator[_0x5c2b94(651)],titleBarTextColor:validator[_0x5c2b94(651)],titleBarText:validator[_0x5c2b94(678)],themeMode:validator[_0x5c2b94(687)],menu:makeEnumValidator(["true",_0x5c2b94(524)]),pages:validator[_0x5c2b94(586)],windowSoftInputMode:makeEnumValidator([_0x5c2b94(676),_0x5c2b94(607)]),orientation:makeEnumValidator([_0x5c2b94(671),"landscape",_0x5c2b94(683)]),statusBarImmersive:makeEnumValidator([_0x5c2b94(524),_0x5c2b94(601)]),statusBarTextStyle:makeEnumValidator([_0x5c2b94(683)]),statusBarBackgroundColor:validator[_0x5c2b94(651)],statusBarBackgroundOpacity:validator.float,titleBarBackgroundOpacity:validator[_0x5c2b94(482)],textSizeAdjust:makeEnumValidator([_0x5c2b94(478),_0x5c2b94(683)]),designWidth:validator[_0x5c2b94(669)],enhancedDisplayMode:makeEnumValidator(["0","1"]),nightMode:makeEnumValidator(["0","1","-1"]),forceDark:[bindArgs(validator.minPlatformVersion,_0x5c2b94(667)),bindArgs(validator[_0x5c2b94(674)],[_0x5c2b94(601),_0x5c2b94(524)],_0x5c2b94(635))],menuBarData:validator[_0x5c2b94(497)],tabBar:validator.tabBar},pagesValidatorMap={backgroundColor:validator[_0x5c2b94(651)],fullScreen:makeEnumValidator([_0x5c2b94(601),_0x5c2b94(524)]),titleBar:makeEnumValidator([_0x5c2b94(601),_0x5c2b94(524)]),titleBarBackgroundColor:validator.color,titleBarTextColor:validator[_0x5c2b94(651)],titleBarText:validator[_0x5c2b94(678)],menu:makeEnumValidator([_0x5c2b94(601),_0x5c2b94(524)]),windowSoftInputMode:makeEnumValidator([_0x5c2b94(676),_0x5c2b94(607)]),orientation:makeEnumValidator([_0x5c2b94(671),"landscape",_0x5c2b94(683)]),statusBarImmersive:makeEnumValidator([_0x5c2b94(524),"true"]),statusBarTextStyle:makeEnumValidator([_0x5c2b94(683)]),statusBarBackgroundColor:validator.color,statusBarBackgroundOpacity:validator[_0x5c2b94(482)],titleBarBackgroundOpacity:validator[_0x5c2b94(482)],designWidth:validator[_0x5c2b94(669)],menuBarData:validator[_0x5c2b94(497)],fitWidthScreenMode:makeEnumValidator([_0x5c2b94(487),"fitScreen","fillScreen"])},permDescValidatorMap={name:{type:makeEnumValidator([_0x5c2b94(564),_0x5c2b94(470),_0x5c2b94(697),_0x5c2b94(514),_0x5c2b94(494),"STORAGE_READ",_0x5c2b94(543),_0x5c2b94(692),_0x5c2b94(475),_0x5c2b94(686),_0x5c2b94(574)]),require:!0},desc:{type:bindArgs(validator[_0x5c2b94(593)],!0),require:!0}},menuBarDataValidatorMap={menuBar:makeEnumValidator([_0x5c2b94(601),_0x5c2b94(524)]),menuBarStyle:makeEnumValidator([_0x5c2b94(654),"light"]),shareTitle:{type:validator[_0x5c2b94(678)],require:!1},shareDescription:{type:validator[_0x5c2b94(678)],require:!1},shareIcon:{type:validator[_0x5c2b94(678)],require:!1},shareCurrentPage:makeEnumValidator([_0x5c2b94(524),"true"]),shareParams:{type:validator.string,require:!1},shareUrl:{type:validator[_0x5c2b94(678)],require:!1},usePageParams:makeEnumValidator(["false",_0x5c2b94(601)])},tabBarValidatorMap={color:{type:validator[_0x5c2b94(651)],require:!1},selectedColor:{type:validator[_0x5c2b94(651)],require:!1},tabbar_backgroundColor:{type:validator[_0x5c2b94(651)],require:!1},list:{type:validator[_0x5c2b94(549)],require:!1}},tabBarListValidatorMap={pagePath:{type:validator[_0x5c2b94(678)],require:!1},pageParams:{type:validator[_0x5c2b94(678)],require:!1},iconPath:{type:validator.string,require:!1},selectedIconPath:{type:validator[_0x5c2b94(678)],require:!1},text:{type:validator[_0x5c2b94(678)],require:!1}},aboutValidatorMap={name:{type:bindArgs(validator[_0x5c2b94(593)],!1),require:!0},url:{type:validator[_0x5c2b94(678)],require:!0}},networkValidatorMap={connectTimeout:validator[_0x5c2b94(506)],readTimeout:validator[_0x5c2b94(506)],writeTimeout:validator[_0x5c2b94(506)]},grayModeValidatorMap={enable:makeEnumValidator([_0x5c2b94(524),_0x5c2b94(601)]),duration:validator[_0x5c2b94(554)],excludedPage:validator[_0x5c2b94(641)]},durationValidatorMap={regular:validator[_0x5c2b94(641)],temporary:validator[_0x5c2b94(641)]},configExitValidatorMap={desc:validator[_0x5c2b94(678)],jumpEntry:makeEnumValidator(["false",_0x5c2b94(601)])},languageValidatorMap={default:{type:validator.langDefault,require:!0},support:{type:validator[_0x5c2b94(689)],require:!0},locale:{type:validator[_0x5c2b94(678)],require:!1}},routerPagesMap=[],requireAttrMap=[];function isValidQuickCardVersion(a){var e=_0x5c2b94;return 1078===Number(a)||7===a[e(503)]()[e(621)]&&1078e3<=a}function getCheckFun(a){var e=_0x5c2b94,r=a;return r=a&&typeof a!==e(624)&&typeof a.type===e(624)?a[e(672)]:r}function getPropValidateResult(v,e,b,f,r){var t=_0x5c2b94,_=0,p={},m=[],x=[],n=[];r&&Object.keys(b)[t(510)](function(a){b[a].require&&n.push(a)});for(var i=Array[t(505)](e)?e:[e],o=0;o<i[t(621)];o++)!function(){var a,s=t,d=i[o];r&&(x=[].concat(n)),d?(Object[s(526)](d)[s(510)](function(a){var e,r=s,t=getCheckFun(b[a]);if(t&&typeof t===r(624)){x&&x.includes(a)&&(e=x[r(469)](a),x.splice(e,1));var n,t=t(d[a]),i=_createForOfIteratorHelper(t=Array.isArray(t)?t:[t]);try{for(i.s();!(n=i.n()).done;){var o,u,c,l=n.value;f[r(562)](_typeof(l[r(465)]))&&(p[a]=l[r(465)]),l[r(662)]&&((u=(o=l[r(662)](a,d[a]))[r(568)](/^([A-Z]+):/))&&(c=logTypes[r(469)](u[1]),_=Math[r(555)](_,c),o=o[r(655)](u[0],"")),m[r(556)](o))}}catch(a){i.e(a)}finally{i.f()}}else _=1,m.push(r(511)[r(521)](a,r(581))[r(521)](v,"."))}),0<x[s(621)]&&(_=2,a=Array[s(505)](e)?"object "[s(521)](o+1," "):"",m[s(556)](" In "[s(521)](v,", ")[s(521)](a,s(471))+""[s(521)](x[s(605)](", "))))):(_=2,m[s(556)](s(492).concat(v,s(558))[s(521)](o+1,s(578))+s(502)))}();return{errLevel:_,resultBuilder:p,reasonBuilder:m}}function i18nValidate(a,e,r,t){var n=_0x5c2b94,c=!1;(function(a){var e,r=_0x991d,t=_createForOfIteratorHelper(_fs[r(480)](a));try{for(t.s();!(e=t.n()).done;){var n=e[r(465)],i=_path.join(a,n)[r(655)](/\\/g,"/"),o=_fs[r(695)](i);if(o[r(517)]()&&!/(node_modules)|(\.quickapp)/[r(626)](i)){var u=i[r(467)]("/");if(u[u[r(621)]-1][r(464)]()===r(665)){c=!0;break}}}}catch(a){t.e(a)}finally{t.f()}})(a),c&&Number(e)<1049&&r[n(556)]({line:1,column:1,reason:"ERROR: i18n has configured for the project, "+n(539),filePath:t})}function validate(t,a){var e=_0x5c2b94,n=a[t],i=[],a=currentValidatorMap[t];return a&&(a=void 0===(a=a[e(603)])?[]:a,(a=Array[e(505)](a)?a:[a])[e(510)](function(a){var r=e,a=a(n);(a=Array[r(505)](a)?a:[a])[r(510)](function(a){var e=r;a.reason&&typeof a.reason===e(624)&&i[e(556)]({reason:a.reason(t,n)})})})),i}function getFlexQCardValidatorMap(a){var e=_0x5c2b94,r=Object[e(634)]({},flexQuickCardValidatorMap),t=[e(496),e(673),"dataSourceFields"];return r=Object[e(526)](a)[e(504)](function(a){return t[e(562)](a)})?Object[e(634)](r,relatedValidatorMap):r}function initValidatorMaps(a){var r=_0x5c2b94;_isFlexibleCardMode?currentValidatorMap=getFlexQCardValidatorMap(a):_isQuickCardMode?currentValidatorMap=quickCardValidatorMap:(currentValidatorMap=validatorMap,Object[r(526)](a.router[r(586)])[r(510)](function(a){routerPagesMap[r(556)](a)})),Object.keys(currentValidatorMap)[r(510)](function(a){var e=r;currentValidatorMap[a][e(588)]&&requireAttrMap[e(556)](a)})}module[_0x5c2b94(486)]=function(a){var t,n=_0x5c2b94,e=this[n(577)],r=e[n(629)],e=e[n(547)],i=this[n(628)],o=JSON[n(617)](a);return manifestPath=i,o&&(t=[],i18nValidate(e,o[n(527)],t,i),initValidatorMaps(o),requireAttrMap[n(510)](function(a){var e=n;void 0!==o[a]||t[e(556)]({line:1,column:1,reason:e(616)[e(521)](a,"'"),filePath:i})}),o.subpackages&&1<=o[n(696)][n(621)]&&validateManifestSubpackages(o[n(696)],r,_path.dirname(i),t,i),Object[n(526)](o)[n(510)](function(a){var r=n;validate(a,o)[r(510)](function(a){var e=r,a=a[e(662)];t[e(556)]({line:1,column:1,reason:a,filePath:i})})}),_utils.logWarn(this,t),o[n(474)]=_versionType,requireAttrMap=[]),JSON[n(639)](o)};