'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
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