first commit

This commit is contained in:
2026-09-08 20:28:54 +08:00
commit 2ada8d3d5a
37380 changed files with 4886169 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseFragmentsWithCache=parseFragmentsWithCache,exports.parseTemplate=parseTemplate,exports.parseStyle=parseStyle,exports.parseScript=parseScript;var _parse=_interopRequireDefault(require("parse5")),_template=_interopRequireDefault(require("./template")),_style=_interopRequireDefault(require("./style")),_script=_interopRequireDefault(require("./script")),_utils=require("./utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _formatFragment(e,t){let r,a,s,n;const o={};if(t.__location){const e=t.__location;e.startTag&&e.endTag?(r=e.startTag.endOffset||0,a=e.endTag.startOffset||0):(r=e.startOffset||0,a=e.endOffset||0),s=e.line,n=e.col}else r=a=s=n=0;return t.attrs&&t.attrs.length&&t.attrs.forEach((function(e){o[e.name]=e.value})),{type:t.nodeName,attrs:o,content:e.substring(r,a),location:{start:r,end:a,line:s,column:n}}}function parseFragments(e,t){const r={import:[],template:[],style:[],script:[]};return _parse.default.parseFragment(e,{treeAdapter:_parse.default.treeAdapters.default,locationInfo:!0}).childNodes.forEach(a=>{const s=_formatFragment(e,a);if(r[a.nodeName]&&r[a.nodeName].push(s),"import"===a.nodeName&&a.__location&&!a.__location.endTag)throw new Error(`${t} : <import> 组件缺少闭合标签,请检查 @${s.location.line} : ${s.location.column}`)}),r}const fragsCache=new Map;function parseFragmentsWithCache(e,t){return fragsCache.has(t)&&fragsCache.get(t).source===e||fragsCache.set(t,{source:e,frags:parseFragments(e,t)}),fragsCache.get(t).frags}function parseTemplate(e,t){const r=_template.default.parse(e,t),{jsonTemplate:a,log:s,depFiles:n}=r;return{parsed:(0,_utils.serialize)(a,2),log:s,depFiles:n}}function parseStyle(e){const t=_style.default.parse(e),{jsonStyle:r,depList:a,log:s,depFiles:n}=t;return{parsed:JSON.stringify(r,null,2),depList:a,log:s,depFiles:n,jsonStyle:r}}function parseScript(e){return{parsed:_script.default.parse(e)}}
//# sourceMappingURL=index.js.map
+2
View File
@@ -0,0 +1,2 @@
"use strict";function parse(e){return e}function replaceModuleImport(e){let r=e.replace(/require\s*\(\s*(['"])@([\w$_][\w$-.]*?)\1\)/gm,(e,r,p)=>`$app_require$(${r}@app-module/${p}${r})`);return r=r.replace(/import\s+([\w${}]+?)\s+from\s+(['"])@([\w$_][\w$-.]*?)\2/gm,(e,r,p,t)=>`var ${r} = $app_require$(${p}@app-module/${t}${p})`),r}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default={parse:parse,replaceModuleImport:replaceModuleImport};exports.default=_default;
//# sourceMappingURL=index.js.map
+2
View File
@@ -0,0 +1,2 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.compressDescSelector=compressDescSelector,exports.compressCssAttr=compressCssAttr;const cssDescSelectorList=[{newN:"t",oldN:"type",newV:["d","a","t","u","p","pe"],oldV:["descendant","attribute","tag","universal","pseudo","pseudo-element"]},{newN:"n",oldN:"name"},{newN:"i",oldN:"ignoreCase"},{newN:"a",oldN:"action"},{newN:"v",oldN:"value"}],cssAttrMap={width:"w",height:"h",paddingLeft:"pL",paddingRight:"pR",paddingTop:"pT",paddingBottom:"pB",marginLeft:"mL",marginRight:"mR",marginTop:"mT",marginBottom:"mB",borderLeftWidth:"bLW",borderTopWidth:"bTW",borderRightWidth:"bRW",borderBottomWidth:"bBW",borderLeftColor:"bLC",borderTopColor:"bTC",borderRightColor:"bRC",borderBottomColor:"bBC",borderStyle:"bS",borderRadius:"bR",borderBottomLeftRadius:"bBLR",borderBottomRightRadius:"bBRR",borderTopLeftRadius:"bTLR",borderTopRightRadius:"bTRR",indicatorSize:"iS",flex:"f",flexGrow:"fG",flexShrink:"fS",flexBasis:"fB",flexDirection:"fD",flexWrap:"fW",justifyContent:"jC",alignItems:"aI",alignContent:"aC",alignSelf:"aS",position:"p",top:"t",bottom:"b",left:"l",right:"r",zIndex:"zI",opacity:"o",background:"bg",backgroundColor:"bgC",backgroundImage:"bgI",backgroundSize:"bgS",backgroundRepeat:"bgR",backgroundPosition:"bgP",display:"d",visibility:"v",lines:"ls",color:"c",fontSize:"foS",fontStyle:"fSt",fontWeight:"foW",textDecoration:"tD",textAlign:"tA",lineHeight:"lH",textOverflow:"tO",transform:"ts",transformOrigin:"tsO",animationName:"aN",animationDuration:"aD",animationTimingFunction:"aTF",animationDelay:"aDe",animationIterationCount:"aIC",animationFillMode:"aFM",placeholderColor:"pC",selectedColor:"sC",textColor:"tC",timeColor:"tiC",textHighlightColor:"tHC",strokeWidth:"sW",progressColor:"prC",indicatorColor:"iC",indicatorSelectedColor:"iSC",slideWidth:"slW",slideMargin:"sM",resizeMode:"rM",columns:"col",columnSpan:"cS",maskColor:"mC",starBackground:"sB",starForeground:"sF",starSecondary:"sS"};function compressDescSelector(o){o=o[0]||[];for(let t=0;t<o.length;t++){const e=o[t]||{};cssDescSelectorList.forEach((function(o){e.hasOwnProperty(o.oldN)&&(e[o.newN]=e[o.oldN],delete e[o.oldN],o.oldV&&o.oldV.indexOf(e[o.newN])>-1&&(e[o.newN]=o.newV[o.oldV.indexOf(e[o.newN])]))}))}return o}function compressCssAttr(o){for(const t in o){const e=o[t];if("@KEYFRAMES"!==t&&"object"==typeof e)for(const o in e)if(cssAttrMap[o]){e[cssAttrMap[o]]=e[o],delete e[o]}}}
//# sourceMappingURL=compress.js.map
+2
View File
@@ -0,0 +1,2 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _path=_interopRequireDefault(require("path")),_css=_interopRequireDefault(require("css")),_compilationConfig=require("@hap-toolkit/shared-utils/compilation-config"),_validator=require("./validator"),_compress=require("./compress"),_process=require("./process"),_utils=require("../utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){let t;const s={},o=[];let r=[],a=e.code||"";const l=e.filePath,i=_path.default.dirname(l),n=[];a=(0,_process.processImport)(a,i,o,n);const c=_css.default.parse(a,{silent:!0});return c.stylesheet.parsingErrors&&c.stylesheet.parsingErrors.length&&(t=c.stylesheet.parsingErrors,t.forEach((function(e){o.push({line:e.line,column:e.column,reason:e.toString()})}))),c&&"stylesheet"===c.type&&c.stylesheet&&c.stylesheet.rules&&c.stylesheet.rules.length&&c.stylesheet.rules.forEach((function(e){const t=e.type,a={};if("rule"===t&&e.declarations&&e.declarations.length&&(0,_process.processSingleClass)(e,s,a,o,l,r),"media"===t)s["@MEDIA"]||(s["@MEDIA"]=[]),(0,_process.processMediaQueryCss)(e,s["@MEDIA"],o,l,"",r);else if("font-face"===t){if(e.declarations&&e.declarations.length){const t={};e.declarations.forEach((function(e){if("declaration"!==e.type)return;const s=(0,_utils.hyphenedToCamelCase)(e.property),a=e.value;if("fontFamily"===s)t.fontFamily=a.replace(/['"]+/g,"");else if("src"===s){const s=(0,_validator.validate)("fontSrc",a,{filePath:l});s.log&&o.push({line:e.position.start.line,column:e.position.start.column,reason:s.log.reason}),t.src=s.value;const i=s.value||[];r=r.concat(i)}})),s["@FONT-FACE"]||(s["@FONT-FACE"]={}),t.fontName=t.fontFamily,t.fontSrc=t.src,s["@FONT-FACE"][t.fontFamily]=t}}else if("keyframes"===t&&e.keyframes&&e.keyframes.length){const t=e.name,a=[];e.keyframes.forEach((function(s){let i;if("keyframe"===s.type&&s.declarations&&s.declarations.length)if(i={},s.declarations.forEach((function(e){if("declaration"!==e.type)return;const t=e.property,s=e.value,a=(0,_utils.hyphenedToCamelCase)(t),n=(0,_validator.validate)(a,s,{filePath:l});n.value.forEach(e=>{(0,_utils.isValidValue)(e.v)&&(i[e.n]=e.v,(0,_process.shouldAddToDependency)(e.n,e.v)&&r.push(e.v))}),n.log&&o.push({line:e.position.start.line,column:e.position.start.column,reason:n.log.reason})})),(0,_utils.isEmptyObject)(i))o.push({line:e.position.start.line,column:e.position.start.column,reason:"ERROR: 动画 `"+t+"` 的关键帧 `"+JSON.stringify(s.values)+"` 没有有效的属性"});else{let e;s.values.forEach(t=>{e="from"===t?0:"to"===t?100:parseFloat(t.replace("%","")),i.time=e,a.push(i)})}})),a.sort((function(e,t){return e.time-t.time})),s["@KEYFRAMES"]||(s["@KEYFRAMES"]={}),s["@KEYFRAMES"][t]=a}})),_compilationConfig.options.optimizeCssAttr&&(0,_compress.compressCssAttr)(s),{jsonStyle:s,depList:n,log:o,depFiles:r}}var _default={parse:parse,validateDelaration:_validator.validate,mightReferlocalResource:_validator.mightReferlocalResource,shouldAddToDependency:_process.shouldAddToDependency};exports.default=_default;
//# sourceMappingURL=index.js.map
+2
View File
@@ -0,0 +1,2 @@
"use strict";const RE_MEDIA_QUERY=/(?:(only|not)?\s*([^\s()]+)(?:\s*and)?\s*)?(.+)?/i,RE_MEDIA_FEATURE=/^(\(\s*[^()]+\)\s+[a-zA-Z]+\s+)+\(\s*[^()]+\)\s*$|^\(\s*[^()]+\)$/,RE_MQ_DISCRETE_EXPRESSION=/\(\s*([^\s:)]+)\s*(?::\s*([^\s)]+))?\s*\)/,RE_MQ_RANGE_EXPRESSION=/^\((?:([-+]?\d*\.?(?:\d+[a-zA-Z]*|\d+\s*\/\s*\d+))\s*(<|>|<=|>=)?\s*)?(aspect-ratio|resolution|width|height|device-width|device-height)(?:\s*(<|>|<=|>=)?\s*([-+]?\d*\.?(?:\d+[a-zA-Z]*|\d+\s*\/\s*\d+)))?\)$/,mediaQueryTypes=["screen"],featureValidatorMap={height:"number","min-height":"number","max-height":"number",width:"number","min-width":"number","max-width":"number",resolution:"resolution","min-resolution":"resolution","max-resolution":"resolution",orientation:"orientation","aspect-ratio":"ratio","min-aspect-ratio":"ratio","max-aspect-ratio":"ratio","device-height":"number","min-device-height":"number","max-device-height":"number","device-width":"number","min-device-width":"number","max-device-width":"number","prefers-color-scheme":"preferColorScheme"},featureValidator={number(e){const r=e.match(/^(\d+)(px|dp)?$/);if(r){if(r[2]){const t=r[1];return{value:t,reason:function(r){return"WARN: 媒体特征 `"+r+"` 的值 `"+e+"` 无需单位, 已自动转为 `"+t+"`"}}}return{value:e}}return{reason:function(r){return"ERROR: 媒体特征 `"+r+"` 的值 `"+e+"` 不正确, 必须为 `数值`"}}},resolution(e){if(/^\d+(dpi|dppx)$/.test(e))return{value:e};if(/^\d+$/.test(e)){return{value:e+"dpi",reason:function(e){return"WARN: 媒体特征 `"+e+"` 的单位为 `dpi | dppx` 自动补齐为 `dpi`"}}}return{reason:function(r){return"ERROR: 媒体特征 `"+r+"` 的值 `"+e+"` 不正确, 必须为 `数值 + dpi | dppx`"}}},orientation:e=>/^(portrait|landscape)$/.test(e)?{value:e}:{reason:function(r){return"WARN: 媒体特征 `"+r+"` 的值 `"+e+"` 不正确, 必须为 `portrait | landscape`"}},ratio:e=>/^(\d+\s*\/\s*\d+|\d+\.\d+|\d+)$/.test(e)?{value:e}:{reason:function(r){return"WARN: 媒体特征 `"+r+"` 的值 `"+e+"` 不正确, 必须为 `数值 | 数值/数值`"}},preferColorScheme:e=>/^(light|dark|no-preference)$/.test(e)?{value:e}:{reason:function(r){return"WARN: 媒体特征 `"+r+"` 的值 `"+e+"` 不正确, 必须为 `light | dark | no-preference`"}}};function parseQuery(e){const r=[];return{result:e.split(",").map((function(e){const t=(e=e.trim()).match(RE_MEDIA_QUERY),n=t[1],i=t[2],a=t[3]||"";if(!a.match(RE_MEDIA_FEATURE))return void r.push("WARN: 媒体特征格式错误");const o={};o.modifier=n,o.type=i?i.toLowerCase():"screen";let u=a.match(/\([^)]+\)/g)||[];return o.expressions=u.map((function(t){const n=new RegExp(`\\)\\s+([a-zA-Z]+)?\\s+${t.replace(/\(/,"\\(").replace(/\)/,"\\)")}`),i=e.match(n);let a="";if(i&&(a=i[1],"and"!==a&&"or"!==a))return void r.push("WARN: 媒体特征连接符必须为 and 或者 or");let o=t.match(RE_MQ_DISCRETE_EXPRESSION);return o?{type:"discrete",combineSymbol:a,feature:o[1],value:o[2]}:(o=t.match(RE_MQ_RANGE_EXPRESSION),o?{type:"range",combineSymbol:a,beforeValue:o[1],beforeSymbol:o[2],feature:o[3],afterSymbol:o[4],afterValue:o[5]}:void r.push('WARN: 无效的媒体特征表达式: "'+t+'"'))})),o})),error:r}}function validateDiscreteValue(e,r,t,n){const i=featureValidator[t](e.value),{value:a,reason:o}=i;let u="";return o&&o&&n.push(o(r)),a&&(u+=`${r}: ${a}`),u}function validateRangeValue(e,r,t,n){function i(e){let i=featureValidator[t](e);const{reason:a,value:o}=i;return a&&n.push(a(r)),o}let{beforeValue:a,beforeSymbol:o,afterSymbol:u,afterValue:s}=e,d=r;if(a){if(a=i(a),!a)return"";d=`${a} ${o} ${d}`}if(s){if(s=i(s),!s)return"";d=`${d} ${u} ${s}`}return d}function validateMediaCondition(e){if(e){const r=[],t=parseQuery(e);if(t.error.length>0)return t.error.forEach(t=>{t+=", 表达式: `"+e+"` 有错误,请检查",r.push(t)}),{reason:r};const n=[];return t.result.forEach(e=>{const{modifier:t,type:i,expressions:a}=e;if(-1===mediaQueryTypes.indexOf(i))return void r.push("WARN: 媒体类型 `"+i+"` 不支持");let o=t?`${t} ${i} and`:`${i} and`;a.forEach(e=>{const{feature:t,combineSymbol:n,type:i}=e,a=featureValidatorMap[t];if(!a)return o="",void r.push("WARN: 媒体特征 `"+t+"` 不支持");let u="";"discrete"===i?u=validateDiscreteValue(e,t,a,r):"range"===i&&(u=validateRangeValue(e,t,a,r)),u?o+=n?` ${n} (${u})`:` (${u})`:o=""}),n.push(o)}),{value:n.join(" or "),reason:r}}return{value:""}}function findMediaClassByCondition(e,r){if(r){return e.find(e=>e.condition===r)}return null}function wrapMediaCode(e,r){return`@media ${r} {\n${e}\n}`}module.exports={validateMediaCondition:validateMediaCondition,findMediaClassByCondition:findMediaClassByCondition,wrapMediaCode:wrapMediaCode};
//# sourceMappingURL=mediaquery.js.map
+2
View File
@@ -0,0 +1,2 @@
"use strict";var _fs=_interopRequireDefault(require("fs")),_path=_interopRequireDefault(require("path")),_css=_interopRequireDefault(require("css")),_cssWhat=_interopRequireDefault(require("css-what")),_compilationConfig=require("@hap-toolkit/shared-utils/compilation-config"),_validator=require("./validator"),_compress=require("./compress"),_mediaquery=require("./mediaquery"),_utils=require("../utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VALID_IMPORT_FLAG="__VALID_IMPORT__",IMPORT_REG=new RegExp(`@import\\s+${VALID_IMPORT_FLAG}((?:['"]([^()]+?)['"])|(?:(?:url\\(([^()]+?)\\))))((?:\\s*)|(?:\\s+[^;]+))${VALID_IMPORT_FLAG};`,"g"),IMPORT_URL_REG=new RegExp(`${VALID_IMPORT_FLAG}(?:(?:['"]([^()]+?)['"])|(?:(?:url\\(([^()]+?)\\))))(\\s+[^;]+)?${VALID_IMPORT_FLAG};`);function shouldAddToDependency(e,s){return(0,_validator.mightReferlocalResource)(e)&&!/^(data:|http)/.test(s)&&"string"==typeof s}function signValidCssImport(e){let s=!0;const t=_css.default.parse(e);if(t&&"stylesheet"===t.type&&t.stylesheet&&t.stylesheet.rules&&t.stylesheet.rules.length){t.stylesheet.rules.forEach(e=>{const t=e.type;"import"!==t&&"comment"!==t&&(s=!1),"import"===t&&s&&(e.import=VALID_IMPORT_FLAG+e.import+VALID_IMPORT_FLAG)}),e=_css.default.stringify(t)}return e}function processImport(e,s,t,o){let i=signValidCssImport(e);const n=i.match(IMPORT_REG);return n&&n.length>0&&(s?n.forEach(e=>{const n=e.match(IMPORT_URL_REG);if(n.length>1){const r=n[3],a=_path.default.resolve(s,n[1]||n[2]),l=_fs.default.readFileSync(a);if(l){const s=_path.default.dirname(a);let n=processImport(l.toString(),s,t,o);r&&(n=(0,_mediaquery.wrapMediaCode)(n,r)),i=i.replace(e,"\n"+n+"\n"),o.push(a)}else t.push({line:1,column:1,reason:"ERROR: 找不到文件 `"+e+"` , 导入失败"})}}):t.push({line:1,column:1,reason:"ERROR: 找不到资源路径, 无法处理@import"})),i}function processSingleClass(e,s,t,o,i,n){e.declarations.forEach((function(e){if("declaration"!==e.type)return;const s=e.property,r=e.value,a=(0,_utils.hyphenedToCamelCase)(s),l=(0,_validator.validate)(a,r,{filePath:i});l.value.forEach(e=>{(0,_utils.isValidValue)(e.v)&&(t[e.n]=e.v,shouldAddToDependency(e.n,e.v)&&n.push(e.v))}),l.log&&o.push({line:e.position.start.line,column:e.position.start.column,reason:l.log.reason})}));const r=/^[.#]?[A-Za-z0-9_\-:]+$/,a=/^([.#]?[A-Za-z0-9_-]+(\s+|\s*>\s*))+([.#]?[A-Za-z0-9_\-:]+)$/;e.selectors.forEach((function(i){const n={key:i,val:t};if(i.match(r)||i.match(a)){if(!processPseudoClass(n,o,e))return;if(s[n.key]&&i===n.key&&!(0,_utils.equals)(s[n.key],n.val,cssCompare)&&o.push({line:e.position.start.line,column:e.position.start.column,reason:"WARN: 选择器 `"+n.key+"` 已经存在,后者合并前者"}),!_compilationConfig.options.optimizeDescMeta&&i.match(a))try{n.val=Object.assign({},n.val),n.val._meta={},n.val._meta.ruleDef=(0,_compress.compressDescSelector)((0,_cssWhat.default)(n.key))}catch(s){return void o.push({line:e.position.start.line,column:e.position.start.column,reason:"ERROR: 选择器 `"+n.key+"` 不支持"})}s[n.key]=(0,_utils.extend)({},s[n.key]||{},n.val)}else o.push({line:e.position.start.line,column:e.position.start.column,reason:"ERROR: 选择器 `"+i+"` 非法"})}))}function processMediaQueryCss(e,s,t,o,i,n){const r=(0,_mediaquery.validateMediaCondition)(e.media),a=r.value,l=r.reason;if(l&&l.length>0&&r.reason.forEach(s=>{t.push({line:e.position.start.line,column:e.position.start.column,reason:s})}),!a)return;const u=i?`${i} and ${a}`:a;e.rules.forEach(e=>{if("rule"===e.type){if(e.declarations&&e.declarations.length){let i=(0,_mediaquery.findMediaClassByCondition)(s,u);const r=!i;r&&(i={condition:u}),processSingleClass(e,i,{},t,o,n),r&&s.push(i)}}else"media"===e.type&&processMediaQueryCss(e,s,t,o,u,n)})}function processPseudoClass(e,s,t){const o=e.key.indexOf(":");if(o>-1){const i=e.key.slice(o);if(!(0,_validator.validatePseudoClass)(i))return s.push({line:t.position.start.line,column:t.position.start.column,reason:"ERROR: 不支持伪类选择器`"+i+"`"}),!1;e.key=e.key.slice(0,o);const n={};Object.keys(e.val).forEach((function(s){n[s+i]=e.val[s]})),e.val=n}return!0}function cssCompare(e,s,t){if("_meta"===t)return!0}module.exports={processImport:processImport,processSingleClass:processSingleClass,processMediaQueryCss:processMediaQueryCss,shouldAddToDependency:shouldAddToDependency};
//# sourceMappingURL=process.js.map
File diff suppressed because one or more lines are too long
+2
View File
@@ -0,0 +1,2 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.compressTemplateAttr=compressTemplateAttr;const templateAttrMap={type:"t",attr:"a",classList:"cL",style:"s",events:"e",children:"c"};function compressTemplateAttr(t){if(t){if(t.children)for(let e=0,r=t.children.length;e<r;e++){compressTemplateAttr(t.children[e])}for(const e in t)if(templateAttrMap[e]){t[templateAttrMap[e]]=t[e],delete t[e]}}}
//# sourceMappingURL=compress.js.map
+2
View File
@@ -0,0 +1,2 @@
"use strict";var _expression=_interopRequireDefault(require("./lib/expression")),_text=_interopRequireDefault(require("./lib/text")),_filterParser=_interopRequireDefault(require("./lib/filter-parser"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function trimhtml(e){if((e=e.replace(/^\s\s+/," ")).length<=1)return e;const t=" "===e.charAt(0)?1:0;return e.length-(e=e.trim()).length-t>=1&&(e+=" "),(t?" ":"")+e}function transExpr(expContent,toFunc){let ret;const trimExpContent=expContent.trim();if(_text.default.isExpr(trimExpContent)){ret=[];const tokens=_text.default.parseText(trimExpContent),isSingle=1===tokens.length;if(tokens.forEach((function(e){if(e.tag){let t=_expression.default.parseExpression((0,_filterParser.default)(e.value));isSingle||(t="("+t+")"),ret.push(t)}else ret.push("'"+e.value+"'")})),isSingle||ret.unshift("''"),ret=ret.join(" + "),!1!==toFunc)try{ret=eval("(function () {return "+ret+"})")}catch(e){throw e.isExpressionError=!0,e.expression=trimExpContent,e}}else ret=trimhtml(expContent);return ret}transExpr.isExpr=_text.default.isExpr,transExpr.singleExpr=_text.default.singleExpr,transExpr.removeExprffix=_text.default.removeExprffix,transExpr.addExprffix=_text.default.addExprffix,module.exports=transExpr;
//# sourceMappingURL=exp.js.map
File diff suppressed because one or more lines are too long
+2
View File
@@ -0,0 +1,2 @@
"use strict";const allowedKeywords="Infinity,undefined,NaN,null,isFinite,isNaN,true,false,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,this,require",allowedKeywordsRE=new RegExp("^("+allowedKeywords.replace(/,/g,"\\b|")+"\\b)"),improperKeywords="break,case,class,catch,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,let,return,super,switch,throw,try,var,while,with,yield,enum,await,implements,package,protected,static,interface,private,public",improperKeywordsRE=new RegExp("^("+improperKeywords.replace(/,/g,"\\b|")+"\\b)"),wsRE=/\s/g,newlineRE=/\n/g,saveRE=/[{,]\s*[\w$_]+\s*:|('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`)|new |typeof |void /g,restoreRE=/"(\d+)"/g,pathTestRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\]|\[[A-Za-z_$][\w$]*\])*$/,identRE=/[^\w$.](?:[A-Za-z_$][\w$]*)/g,literalValueRE=/^(?:true|false|null|undefined|Infinity|NaN)$/,saveRegRe=/(\/.+\/[gimy]*)/g,restoreRegRe=/"&&&(\d+)"/g,saved=[],savedReg=[];function save(e,t){const r=saved.length;return saved[r]=t?e.replace(newlineRE,"\\n"):e,'"'+r+'"'}function saveReg(e){const t=savedReg.length;return savedReg[t]=e,'"&&&'+t+'"'}function rewrite(e){const t=e.charAt(0);let r=e.slice(1);return allowedKeywordsRE.test(r)?e:(r=r.indexOf('"')>-1?r.replace(restoreRE,restore):r,t+"this."+r)}function restore(e,t){return saved[t]}function restoreReg(e,t){return savedReg[t]}function compileGetter(e){improperKeywordsRE.test(e)&&console.warn("### App Toolkit ### 不要在表达式中使用保留关键字: "+e),saved.length=0;let t=e.replace(saveRE,save).replace(saveRegRe,saveReg).replace(wsRE,"");return t=(" "+t).replace(identRE,rewrite).replace(restoreRegRe,restoreReg).replace(restoreRE,restore),t.trim()}function parseExpression(e){e=e.trim();return/^\/.+\/[gimy]*$/.test(e)?e:isSimplePath(e)&&e.indexOf("[")<0?"this."+e:compileGetter(e)}function isSimplePath(e){return pathTestRE.test(e)&&!literalValueRE.test(e)&&"Math."!==e.slice(0,5)}module.exports={parseExpression:parseExpression};
//# sourceMappingURL=expression.js.map
+2
View File
@@ -0,0 +1,2 @@
"use strict";const validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){let i,r,s,t,a,c,l=!1,o=!1,n=!1,f=!1,h=0,d=0,u=0,b=0;for(s=0;s<e.length;s++)if(r=i,i=e.charCodeAt(s),l)39===i&&92!==r&&(l=!1);else if(o)34===i&&92!==r&&(o=!1);else if(n)96===i&&92!==r&&(n=!1);else if(f)47===i&&92!==r&&(f=!1);else if(124!==i||124===e.charCodeAt(s+1)||124===e.charCodeAt(s-1)||h||d||u){switch(i){case 34:o=!0;break;case 39:l=!0;break;case 96:n=!0;break;case 40:u++;break;case 41:u--;break;case 91:d++;break;case 93:d--;break;case 123:h++;break;case 125:h--}if(47===i){let i=s-1;for(;i>=0&&(c=e.charAt(i)," "===c);i--);c&&validDivisionCharRE.test(c)||(f=!0)}}else void 0===t?(b=s+1,t=e.slice(0,s).trim()):k();function k(){(a||(a=[])).push(e.slice(b,s).trim()),b=s+1}if(void 0===t?t=e.slice(0,s).trim():0!==b&&k(),a)for(s=0;s<a.length;s++)t=wrapFilter(t,a[s]);return t}function wrapFilter(e,i){const r=i.indexOf("(");if(r<0)return`this.${i}(${e})`;{const s=i.slice(0,r),t=i.slice(r+1);return`this.${s}(${e}${")"!==t?","+t:t}`}}module.exports=parseFilters;
//# sourceMappingURL=filter-parser.js.map
+2
View File
@@ -0,0 +1,2 @@
"use strict";const tagSource="{{{([\\s\\S]+?)}}}|{{([\\s\\S]+?)}}",tagRE=new RegExp(tagSource,"g"),expRE=new RegExp(tagSource),htmlRE=new RegExp("^{{{[\\s\\S]*}}}$"),sexpRE=new RegExp("^{{{([\\s\\S]+?)}}}$|^{{([\\s\\S]+?)}}$");function parseText(e){if(e=e.replace(/\n/g,""),!tagRE.test(e))return null;const t=[];let r,s,x,n,p,i,E=tagRE.lastIndex=0;for(;r=tagRE.exec(e);)s=r.index,s>E&&t.push({value:e.slice(E,s)}),x=htmlRE.test(r[0]),n=x?r[1]:r[2],p=n.charCodeAt(0),i=42===p,n=i?n.slice(1):n,t.push({tag:!0,value:n.trim(),html:x,oneTime:i}),E=s+r[0].length;return E<e.length&&t.push({value:e.slice(E)}),t}function isExpr(e){return expRE.test(e)}function singleExpr(e){return sexpRE.test(e.trim())}function removeExprffix(e){return singleExpr(e)?e.replace(/^\s*{{/,"").replace(/}}\s*$/,""):e}function addExprffix(e){return singleExpr(e)||(e="{{"+e+"}}"),e}module.exports={parseText:parseText,isExpr:isExpr,singleExpr:singleExpr,addExprffix:addExprffix,removeExprffix:removeExprffix};
//# sourceMappingURL=text.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long