@hap-toolkit/compiler 2.0.9-alpha.2 → 2.0.9-alpha.3

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkUiData=checkUiData;var _exp=_interopRequireDefault(require("../template/exp")),_forbiddenFeature=require("../common/forbidden-feature");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const RESERVED_PREFIXES=["$","#"];function isReservedKey(e){return RESERVED_PREFIXES.indexOf((e+"").charAt(0))>-1}function isObject(e){return e&&"[object Object]"===Object.prototype.toString.call(e)}function checkKey(e,t){if(isReservedKey(e))throw new Error(`<data> uiData 的 key 不能以 “$” 或 “#” 开头:${t}`);if(_exp.default.isExpr(e))throw new Error(`<data> uiData 的 key 必须为静态字符串,不支持表达式:${t}`)}function checkValue(e,t){if("string"!=typeof e)Array.isArray(e)?e.forEach(((e,r)=>checkValue(e,`${t}[${r}]`))):isObject(e)&&Object.keys(e).forEach((r=>{checkKey(r,`${t}.${r}`),checkValue(e[r],`${t}.${r}`)}));else if(_exp.default.isExpr(e)){const r=(0,_forbiddenFeature.findForbiddenFeature)(e);if(r)throw new Error(`耗时 Feature "${r}" 不允许在 uiData 表达式中使用(uiData 默认值在 UI 线程求值),可通过 create/update params 或数据提供方下发:${t}`)}}function checkUiData(e){if(e&&!isObject(e))throw new Error("<data> uiData 必须为 Object 对象");Object.keys(e||{}).forEach((t=>{checkKey(t,t),checkValue(e[t],t)}))}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkUiData=checkUiData;var _cardExpression=require("@aiot-toolkit/card-expression"),_exp=_interopRequireDefault(require("../template/exp"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const RESERVED_PREFIXES=["$","#"],ALLOWED_CALLS=["$t","$tc"];function isReservedKey(e){return RESERVED_PREFIXES.indexOf((e+"").charAt(0))>-1}function isObject(e){return e&&"[object Object]"===Object.prototype.toString.call(e)}function checkKey(e,r){if(isReservedKey(e))throw new Error(`<data> uiData 的 key 不能以 “$” 或 “#” 开头:${r}`);if(_exp.default.isExpr(e))throw new Error(`<data> uiData 的 key 必须为静态字符串,不支持表达式:${r}`)}function checkExprNode(e,r,t){if(Array.isArray(e)){if("()"===e[0]&&-1===ALLOWED_CALLS.indexOf(e[1]))throw new Error(`<data> uiData 中 "${r}" 的表达式禁止调用 Feature / 函数,仅支持静态系统变量引用(如 system.env.intentInfo)与表达式计算:${t.trim()}`);e.forEach((e=>checkExprNode(e,r,t)))}else isObject(e)&&Object.keys(e).forEach((c=>checkExprNode(e[c],r,t)))}function checkExpression(e,r){let t;try{t=(0,_cardExpression.templateValueToCardCode)(e)}catch(e){throw new Error(`<data> uiData 中 "${r}" 的表达式无法解析:${e.message}`)}checkExprNode(JSON.parse(t),r,e)}function checkValue(e,r){"string"!=typeof e?Array.isArray(e)?e.forEach(((e,t)=>checkValue(e,`${r}[${t}]`))):isObject(e)&&Object.keys(e).forEach((t=>{checkKey(t,`${r}.${t}`),checkValue(e[t],`${r}.${t}`)})):_exp.default.isExpr(e)&&checkExpression(e,r)}function checkUiData(e){if(e&&!isObject(e))throw new Error("<data> uiData 必须为 Object 对象");Object.keys(e||{}).forEach((r=>{checkKey(r,r),checkValue(e[r],r)}))}
2
2
  //# sourceMappingURL=validator.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hap-toolkit/compiler",
3
- "version": "2.0.9-alpha.2",
3
+ "version": "2.0.9-alpha.3",
4
4
  "description": "compiler of hap-toolkit",
5
5
  "engines": {
6
6
  "node": ">=14.0.0"
@@ -22,7 +22,8 @@
22
22
  "lib/**/*.js"
23
23
  ],
24
24
  "dependencies": {
25
- "@hap-toolkit/shared-utils": "2.0.9-alpha.2",
25
+ "@aiot-toolkit/card-expression": "^1.0.15",
26
+ "@hap-toolkit/shared-utils": "2.0.9-alpha.3",
26
27
  "@jayfate/path": "^0.0.13",
27
28
  "css": "^2.2.4",
28
29
  "css-what": "^2.1.3",