@aiot-toolkit/parser 2.0.5-widget-provider-beta.2 → 2.0.6-beta.1
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.
- package/README.md +11 -11
- package/lib/utils/ParserUtil.js +15 -15
- package/lib/ux/config/ExtensionConfig.js +2 -2
- package/lib/ux/config/FeatureConfig.js +19 -19
- package/lib/ux/config/vela/ElementConfig.js +0 -8
- package/lib/ux/config/vela/StyleAttributeConfig.js +134 -88
- package/lib/ux/enum/StyleSelectorType.js +6 -6
- package/lib/ux/enum/TemplateNodeType.js +2 -2
- package/lib/ux/enum/android/StyleSelectorName.js +2 -2
- package/lib/ux/interface/IUxAst.d.ts +2 -0
- package/lib/ux/parser/ScriptParser.js +2 -2
- package/lib/ux/parser/StyleParser.js +79 -72
- package/lib/ux/parser/TemplateValueParser.js +49 -49
- package/lib/ux/parser/UxParser.js +18 -12
- package/lib/ux/translate/android/StyleToTypescript.js +51 -51
- package/lib/ux/translate/android/TemplateToTypescript.js +51 -51
- package/lib/ux/translate/android/UxToTypescript.js +14 -14
- package/lib/ux/translate/android/attributeTranslate/ForTranslate.js +17 -17
- package/lib/ux/translate/android/attributeTranslate/IfTranslate.js +9 -9
- package/lib/ux/translate/vela/ScriptToTypescript.js +10 -10
- package/lib/ux/translate/vela/StyleToTypescript.js +10 -10
- package/lib/ux/translate/vela/TemplateToTypescript.js +74 -74
- package/lib/ux/translate/vela/TranslateCache.js +2 -2
- package/lib/ux/translate/vela/UxToTypescript.js +6 -6
- package/lib/ux/translate/vela/VelaContext.js +2 -2
- package/lib/ux/translate/vela/plugins/e2e.js +63 -62
- package/lib/ux/translate/vela/plugins/startPage.js +1 -1
- package/lib/ux/translate/vela/protobuf/BinaryPlugin.js +172 -172
- package/lib/ux/translate/vela/protobuf/protobuf.js +235 -235
- package/lib/ux/translate/vela/protobuf/protobufControl.js +159 -159
- package/lib/ux/translate/vela/protobuf/vdom_pb.js +2374 -2374
- package/lib/ux/translate/vela/runtime/velaTestLibrary.js +104 -104
- package/lib/ux/translate/vela/utils/AttributeConfig.js +15 -15
- package/lib/ux/translate/vela/utils/ExtendedBoxStyle.js +38 -38
- package/lib/ux/translate/vela/utils/SourceMapUtil.d.ts +0 -4
- package/lib/ux/translate/vela/utils/SourceMapUtil.js +30 -36
- package/lib/ux/translate/vela/utils/TemplateUtil.js +180 -180
- package/lib/ux/translate/vela/wrap/CbTranslate.js +8 -8
- package/lib/ux/translate/vela/wrap/CfTranslate.js +14 -14
- package/lib/ux/translate/vela/wrap/CiTranslate.js +11 -11
- package/lib/ux/utils/BabelUtil.js +35 -35
- package/lib/ux/utils/ElementConfigUtil.js +24 -24
- package/lib/ux/utils/StyleMapUtil.js +15 -15
- package/lib/ux/utils/StyleUtil.d.ts +1 -1
- package/lib/ux/utils/StyleUtil.js +192 -248
- package/lib/ux/utils/UxUtil.js +32 -32
- package/lib/ux/validate/ElementValidate.js +2 -2
- package/lib/ux/validate/UxFileValidate.js +2 -2
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# `parser`
|
|
2
|
-
|
|
3
|
-
> TODO: description
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
const parser = require('parser');
|
|
9
|
-
|
|
10
|
-
// TODO: DEMONSTRATE API
|
|
11
|
-
```
|
|
1
|
+
# `parser`
|
|
2
|
+
|
|
3
|
+
> TODO: description
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
const parser = require('parser');
|
|
9
|
+
|
|
10
|
+
// TODO: DEMONSTRATE API
|
|
11
|
+
```
|
package/lib/utils/ParserUtil.js
CHANGED
|
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _tsMorph = require("ts-morph");
|
|
8
|
-
/**
|
|
9
|
-
* ParserUtil
|
|
8
|
+
/**
|
|
9
|
+
* ParserUtil
|
|
10
10
|
*/
|
|
11
11
|
class ParserUtil {
|
|
12
|
-
/**
|
|
13
|
-
* 根据偏移列表,查找 pos 对应的偏移量
|
|
14
|
-
* @param pos
|
|
15
|
-
* @param offsetList
|
|
16
|
-
* @returns
|
|
12
|
+
/**
|
|
13
|
+
* 根据偏移列表,查找 pos 对应的偏移量
|
|
14
|
+
* @param pos
|
|
15
|
+
* @param offsetList
|
|
16
|
+
* @returns
|
|
17
17
|
*/
|
|
18
18
|
static getOffsetPos(pos, offsetList) {
|
|
19
19
|
if (!offsetList.length) {
|
|
@@ -26,14 +26,14 @@ class ParserUtil {
|
|
|
26
26
|
return item ? item.offset : 0;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
/**
|
|
30
|
-
* 获取指定位置的列偏移量
|
|
31
|
-
*
|
|
32
|
-
* 偏移量= 从offsetList 中获取 (在同一行 且 位置小于 position ) 的项,偏移量进行累加。
|
|
33
|
-
*
|
|
34
|
-
* 确保同一行有多个偏移项也可获取正确的偏移量
|
|
35
|
-
* @param position
|
|
36
|
-
* @param offsetList
|
|
29
|
+
/**
|
|
30
|
+
* 获取指定位置的列偏移量
|
|
31
|
+
*
|
|
32
|
+
* 偏移量= 从offsetList 中获取 (在同一行 且 位置小于 position ) 的项,偏移量进行累加。
|
|
33
|
+
*
|
|
34
|
+
* 确保同一行有多个偏移项也可获取正确的偏移量
|
|
35
|
+
* @param position
|
|
36
|
+
* @param offsetList
|
|
37
37
|
*/
|
|
38
38
|
static getOffsetColumn(position, offsetList) {
|
|
39
39
|
if (!offsetList?.length) {
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* FeatureConfig
|
|
7
|
+
/**
|
|
8
|
+
* FeatureConfig
|
|
9
9
|
*/
|
|
10
|
-
/**
|
|
11
|
-
* FeatureConfig
|
|
10
|
+
/**
|
|
11
|
+
* FeatureConfig
|
|
12
12
|
*/
|
|
13
13
|
class FeatureConfig {
|
|
14
14
|
SYSTEM = 'system';
|
|
@@ -18,14 +18,14 @@ class FeatureConfig {
|
|
|
18
18
|
SYSTEM_FEATURE = ['app', 'model', 'router', 'configuration', 'alarm', 'audio', 'barcode', 'bluetooth', 'brightness', 'calendar', 'cipher', 'clipboard', 'contact', 'device', 'fetch', 'file', 'geolocation', 'image', 'keyguard', 'media', 'network', 'notification', 'package', 'prompt', 'record', 'request', 'resident', 'sensor', 'share', 'shortcut', 'sms', 'storage', 'vibrator', 'volume', 'websocketfactory', 'webview', 'battery', 'wifi', 'mediaquery', 'zip', 'telecom', 'decode', 'uploadtask', 'downloadtask', 'interconnect', 'crypto', 'exchange', 'internal.message', 'microphone', 'internal.ota', 'internal.power', 'internal.settings', 'internal.micamera', 'serviceUtil', 'event'].map(item => `${this.SYSTEM}.${item}`);
|
|
19
19
|
SERVICE_FEATURE = ['account', 'alipay', 'ad', 'wxaccount', 'qqaccount', 'wbaccount', 'exchange', 'health', 'pay', 'push', 'qqaccount', 'share', 'stats', 'wbaccount', 'wxaccount', 'wxpay', 'biometriverify', 'texttoaudio', 'wechat', 'internal.audiosync', 'internal.audiofocus', 'internal.alarm', 'mihome', 'bootstrap', 'miai'].map(item => `${this.SERVICE}.${item}`);
|
|
20
20
|
|
|
21
|
-
/**
|
|
22
|
-
* 是否为系统模块
|
|
23
|
-
*
|
|
24
|
-
* 以特定名称开头的为系统模块
|
|
25
|
-
*
|
|
26
|
-
* @example isSystemModule("@system.route")
|
|
27
|
-
* @param modulePath
|
|
28
|
-
* @returns
|
|
21
|
+
/**
|
|
22
|
+
* 是否为系统模块
|
|
23
|
+
*
|
|
24
|
+
* 以特定名称开头的为系统模块
|
|
25
|
+
*
|
|
26
|
+
* @example isSystemModule("@system.route")
|
|
27
|
+
* @param modulePath
|
|
28
|
+
* @returns
|
|
29
29
|
*/
|
|
30
30
|
isSystemModule(modulePath) {
|
|
31
31
|
if (!modulePath) {
|
|
@@ -35,13 +35,13 @@ class FeatureConfig {
|
|
|
35
35
|
return name.findIndex(item => modulePath.startsWith(`@${item}`)) >= 0;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
/**
|
|
39
|
-
* 是否为有效的系统模块
|
|
40
|
-
*
|
|
41
|
-
* 有效系统模块指:显式配置的模块
|
|
42
|
-
*
|
|
43
|
-
* @param modulePath
|
|
44
|
-
* @returns
|
|
38
|
+
/**
|
|
39
|
+
* 是否为有效的系统模块
|
|
40
|
+
*
|
|
41
|
+
* 有效系统模块指:显式配置的模块
|
|
42
|
+
*
|
|
43
|
+
* @param modulePath
|
|
44
|
+
* @returns
|
|
45
45
|
*/
|
|
46
46
|
isEffectSystemModule(modulePath) {
|
|
47
47
|
if (!modulePath) {
|
|
@@ -333,7 +333,10 @@ const STYLE_ATTRIBUTE_CONFIG = exports.STYLE_ATTRIBUTE_CONFIG = {
|
|
|
333
333
|
// 按照一般转换即可,无需额外转换
|
|
334
334
|
},
|
|
335
335
|
zIndex: {
|
|
336
|
-
// csstree-validator
|
|
336
|
+
// csstree-validator可校验,但与1.0校验原理不同,目前按照1.0逻辑进行校验
|
|
337
|
+
validate: sourceNode => {
|
|
338
|
+
return validIntegerNode(sourceNode);
|
|
339
|
+
}
|
|
337
340
|
// 按照一般转换即可,无需额外转换
|
|
338
341
|
},
|
|
339
342
|
// common
|
|
@@ -343,10 +346,10 @@ const STYLE_ATTRIBUTE_CONFIG = exports.STYLE_ATTRIBUTE_CONFIG = {
|
|
|
343
346
|
},
|
|
344
347
|
background: {
|
|
345
348
|
// csstree-validator可校验,但与1.0校验原理不同,目前按照1.0逻辑进行校验
|
|
346
|
-
/**
|
|
347
|
-
* 验证属性值每个参数的格式
|
|
348
|
-
* @param sourceNode
|
|
349
|
-
* @returns
|
|
349
|
+
/**
|
|
350
|
+
* 验证属性值每个参数的格式
|
|
351
|
+
* @param sourceNode
|
|
352
|
+
* @returns
|
|
350
353
|
*/
|
|
351
354
|
validate: sourceNode => {
|
|
352
355
|
let validateInfo = {
|
|
@@ -357,11 +360,11 @@ const STYLE_ATTRIBUTE_CONFIG = exports.STYLE_ATTRIBUTE_CONFIG = {
|
|
|
357
360
|
value,
|
|
358
361
|
name: attributeName
|
|
359
362
|
} = sourceNode;
|
|
360
|
-
/**
|
|
361
|
-
* 创建线性渐变背景的函数
|
|
362
|
-
* 参数分为两类:direction渐变的方向、color-stop渐变颜色的位置
|
|
363
|
-
* @param valueStr
|
|
364
|
-
* @returns
|
|
363
|
+
/**
|
|
364
|
+
* 创建线性渐变背景的函数
|
|
365
|
+
* 参数分为两类:direction渐变的方向、color-stop渐变颜色的位置
|
|
366
|
+
* @param valueStr
|
|
367
|
+
* @returns
|
|
365
368
|
*/
|
|
366
369
|
const validLinearGradient = sourceNode => {
|
|
367
370
|
let validInfo = {
|
|
@@ -502,23 +505,23 @@ const STYLE_ATTRIBUTE_CONFIG = exports.STYLE_ATTRIBUTE_CONFIG = {
|
|
|
502
505
|
}
|
|
503
506
|
return validInfo;
|
|
504
507
|
};
|
|
505
|
-
/**
|
|
506
|
-
* 创建径向渐变背景的函数
|
|
507
|
-
* 参数分为四类:
|
|
508
|
-
* 1. sharp 圆的类型,可选参数
|
|
509
|
-
* 1.1 ellipse
|
|
510
|
-
* 1.2 circle
|
|
511
|
-
* 2. size 渐变尺寸,可选参数
|
|
512
|
-
* 2.1 [farthest-corner、closest-side、closest-corner、farthest-side]
|
|
513
|
-
* 2.2 50% 60px
|
|
514
|
-
* 2.3 30%
|
|
515
|
-
* 3. position 渐变位置,可选参数
|
|
516
|
-
* 3.1 at [center、top、left、right、bottom]
|
|
517
|
-
* 3.2 at 30% 20%
|
|
518
|
-
* 3.3 at center top
|
|
519
|
-
* 4. color 渐变颜色
|
|
520
|
-
* @param sourceNode
|
|
521
|
-
* @returns
|
|
508
|
+
/**
|
|
509
|
+
* 创建径向渐变背景的函数
|
|
510
|
+
* 参数分为四类:
|
|
511
|
+
* 1. sharp 圆的类型,可选参数
|
|
512
|
+
* 1.1 ellipse
|
|
513
|
+
* 1.2 circle
|
|
514
|
+
* 2. size 渐变尺寸,可选参数
|
|
515
|
+
* 2.1 [farthest-corner、closest-side、closest-corner、farthest-side]
|
|
516
|
+
* 2.2 50% 60px
|
|
517
|
+
* 2.3 30%
|
|
518
|
+
* 3. position 渐变位置,可选参数
|
|
519
|
+
* 3.1 at [center、top、left、right、bottom]
|
|
520
|
+
* 3.2 at 30% 20%
|
|
521
|
+
* 3.3 at center top
|
|
522
|
+
* 4. color 渐变颜色
|
|
523
|
+
* @param sourceNode
|
|
524
|
+
* @returns
|
|
522
525
|
*/
|
|
523
526
|
const validRadialGradient = sourceNode => {
|
|
524
527
|
let validInfo = {
|
|
@@ -837,17 +840,17 @@ const STYLE_ATTRIBUTE_CONFIG = exports.STYLE_ATTRIBUTE_CONFIG = {
|
|
|
837
840
|
// 转换扩展,待实现translate
|
|
838
841
|
},
|
|
839
842
|
display: {
|
|
840
|
-
/**
|
|
841
|
-
* sourceNode 示例:
|
|
842
|
-
* {
|
|
843
|
-
* name: 'display',
|
|
844
|
-
* value: [{
|
|
845
|
-
* unit: '',
|
|
846
|
-
* value: 'flex'
|
|
847
|
-
* }]
|
|
848
|
-
* }
|
|
849
|
-
* @param sourceNode
|
|
850
|
-
* @returns
|
|
843
|
+
/**
|
|
844
|
+
* sourceNode 示例:
|
|
845
|
+
* {
|
|
846
|
+
* name: 'display',
|
|
847
|
+
* value: [{
|
|
848
|
+
* unit: '',
|
|
849
|
+
* value: 'flex'
|
|
850
|
+
* }]
|
|
851
|
+
* }
|
|
852
|
+
* @param sourceNode
|
|
853
|
+
* @returns
|
|
851
854
|
*/
|
|
852
855
|
validate: function (sourceNode) {
|
|
853
856
|
const supportValues = ['flex', 'none'];
|
|
@@ -1320,10 +1323,10 @@ const STYLE_ATTRIBUTE_CONFIG = exports.STYLE_ATTRIBUTE_CONFIG = {
|
|
|
1320
1323
|
// 按照一般转换即可,无需额外转换
|
|
1321
1324
|
}
|
|
1322
1325
|
};
|
|
1323
|
-
/**
|
|
1324
|
-
* 校验节点的长度值
|
|
1325
|
-
* @param sourceNode
|
|
1326
|
-
* @returns
|
|
1326
|
+
/**
|
|
1327
|
+
* 校验节点的长度值
|
|
1328
|
+
* @param sourceNode
|
|
1329
|
+
* @returns
|
|
1327
1330
|
*/
|
|
1328
1331
|
function validateLengthNode(sourceNode) {
|
|
1329
1332
|
const {
|
|
@@ -1349,10 +1352,10 @@ function validateLengthNode(sourceNode) {
|
|
|
1349
1352
|
}
|
|
1350
1353
|
return validateInfo;
|
|
1351
1354
|
}
|
|
1352
|
-
/**
|
|
1353
|
-
* 使用css-tree的语法解析来做校验
|
|
1354
|
-
* @param value
|
|
1355
|
-
* @returns
|
|
1355
|
+
/**
|
|
1356
|
+
* 使用css-tree的语法解析来做校验
|
|
1357
|
+
* @param value
|
|
1358
|
+
* @returns
|
|
1356
1359
|
*/
|
|
1357
1360
|
function validLength(value) {
|
|
1358
1361
|
let validateInfo = {
|
|
@@ -1368,8 +1371,8 @@ function validLength(value) {
|
|
|
1368
1371
|
}
|
|
1369
1372
|
return validateInfo;
|
|
1370
1373
|
}
|
|
1371
|
-
/**
|
|
1372
|
-
* 校验枚举值
|
|
1374
|
+
/**
|
|
1375
|
+
* 校验枚举值
|
|
1373
1376
|
*/
|
|
1374
1377
|
function enumValidate(enumList, sourceNode) {
|
|
1375
1378
|
const {
|
|
@@ -1399,8 +1402,8 @@ function enumValidate(enumList, sourceNode) {
|
|
|
1399
1402
|
}
|
|
1400
1403
|
return validateInfo;
|
|
1401
1404
|
}
|
|
1402
|
-
/**
|
|
1403
|
-
* 校验ValueType[]数组中的仅有一个值,且结构为SimpleValueType
|
|
1405
|
+
/**
|
|
1406
|
+
* 校验ValueType[]数组中的仅有一个值,且结构为SimpleValueType
|
|
1404
1407
|
*/
|
|
1405
1408
|
function validSimpleValue(sourceNode) {
|
|
1406
1409
|
const {
|
|
@@ -1428,9 +1431,9 @@ function validSimpleValue(sourceNode) {
|
|
|
1428
1431
|
}
|
|
1429
1432
|
return validateInfo;
|
|
1430
1433
|
}
|
|
1431
|
-
/**
|
|
1432
|
-
* 颜色值校验, 支持 rgb, rgba, hsl, hsla, #fff, #fffa, #ffffff, #ffffffaa, named-color
|
|
1433
|
-
* @param value
|
|
1434
|
+
/**
|
|
1435
|
+
* 颜色值校验, 支持 rgb, rgba, hsl, hsla, #fff, #fffa, #ffffff, #ffffffaa, named-color
|
|
1436
|
+
* @param value
|
|
1434
1437
|
*/
|
|
1435
1438
|
function validColorNode(sourceNode) {
|
|
1436
1439
|
const {
|
|
@@ -1457,10 +1460,35 @@ function validColorNode(sourceNode) {
|
|
|
1457
1460
|
return validateInfo;
|
|
1458
1461
|
}
|
|
1459
1462
|
}
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1463
|
+
function validIntegerNode(sourceNode) {
|
|
1464
|
+
const {
|
|
1465
|
+
value,
|
|
1466
|
+
name: attributeName
|
|
1467
|
+
} = sourceNode;
|
|
1468
|
+
const simpleValueInfo = validSimpleValue(sourceNode);
|
|
1469
|
+
let validateInfo = {
|
|
1470
|
+
level: _sharedUtils.Loglevel.WARN,
|
|
1471
|
+
message: []
|
|
1472
|
+
};
|
|
1473
|
+
if (simpleValueInfo.message.length > 0) {
|
|
1474
|
+
return simpleValueInfo;
|
|
1475
|
+
} else {
|
|
1476
|
+
// 符合单值要求,继续校验
|
|
1477
|
+
value[0] = value[0];
|
|
1478
|
+
const valueStr = value[0].value;
|
|
1479
|
+
const validResult = validInteger(valueStr);
|
|
1480
|
+
if (validResult.message.length > 0) {
|
|
1481
|
+
validateInfo.message = [`The value verification of attribute `, {
|
|
1482
|
+
word: attributeName
|
|
1483
|
+
}, `failed.`, ...validResult.message];
|
|
1484
|
+
}
|
|
1485
|
+
return validateInfo;
|
|
1486
|
+
}
|
|
1487
|
+
}
|
|
1488
|
+
/**
|
|
1489
|
+
* 使用css-tree的语法解析来做校验
|
|
1490
|
+
* @param value
|
|
1491
|
+
* @returns
|
|
1464
1492
|
*/
|
|
1465
1493
|
function validColor(value) {
|
|
1466
1494
|
let validateInfo = {
|
|
@@ -1474,10 +1502,10 @@ function validColor(value) {
|
|
|
1474
1502
|
}
|
|
1475
1503
|
return validateInfo;
|
|
1476
1504
|
}
|
|
1477
|
-
/**
|
|
1478
|
-
* 校验值符合REGEXP_NAME正则表达式
|
|
1479
|
-
* @param sourceNode
|
|
1480
|
-
* @returns
|
|
1505
|
+
/**
|
|
1506
|
+
* 校验值符合REGEXP_NAME正则表达式
|
|
1507
|
+
* @param sourceNode
|
|
1508
|
+
* @returns
|
|
1481
1509
|
*/
|
|
1482
1510
|
function validName(sourceNode) {
|
|
1483
1511
|
const {
|
|
@@ -1504,12 +1532,12 @@ function validName(sourceNode) {
|
|
|
1504
1532
|
}
|
|
1505
1533
|
return validateInfo;
|
|
1506
1534
|
}
|
|
1507
|
-
/**
|
|
1508
|
-
* 校验位置
|
|
1509
|
-
* 1. 位置值长度最多为3
|
|
1510
|
-
* 2. 每一个(旧版本中要求值类型必须为长度值)
|
|
1511
|
-
* @param sourceNode
|
|
1512
|
-
* @returns
|
|
1535
|
+
/**
|
|
1536
|
+
* 校验位置
|
|
1537
|
+
* 1. 位置值长度最多为3
|
|
1538
|
+
* 2. 每一个(旧版本中要求值类型必须为长度值)
|
|
1539
|
+
* @param sourceNode
|
|
1540
|
+
* @returns
|
|
1513
1541
|
*/
|
|
1514
1542
|
function validPosition(sourceNode) {
|
|
1515
1543
|
let validateInfo = {
|
|
@@ -1548,16 +1576,16 @@ function validPosition(sourceNode) {
|
|
|
1548
1576
|
}
|
|
1549
1577
|
return validateInfo;
|
|
1550
1578
|
}
|
|
1551
|
-
/**
|
|
1552
|
-
* 校验mylocation属性
|
|
1553
|
-
* 1. 属性值最多有三个
|
|
1554
|
-
* 2. 扩展值
|
|
1555
|
-
* 2.1 第一次出现的颜色为mylocationFillColor属性值
|
|
1556
|
-
* 2.2 第二次出现的颜色为mylocationStrokeColor属性值
|
|
1557
|
-
* 2.3 url值为mylocationIconPath属性值
|
|
1558
|
-
*
|
|
1559
|
-
* @param sourceNode
|
|
1560
|
-
* @returns
|
|
1579
|
+
/**
|
|
1580
|
+
* 校验mylocation属性
|
|
1581
|
+
* 1. 属性值最多有三个
|
|
1582
|
+
* 2. 扩展值
|
|
1583
|
+
* 2.1 第一次出现的颜色为mylocationFillColor属性值
|
|
1584
|
+
* 2.2 第二次出现的颜色为mylocationStrokeColor属性值
|
|
1585
|
+
* 2.3 url值为mylocationIconPath属性值
|
|
1586
|
+
*
|
|
1587
|
+
* @param sourceNode
|
|
1588
|
+
* @returns
|
|
1561
1589
|
*/
|
|
1562
1590
|
function validMyLocation(sourceNode) {
|
|
1563
1591
|
let validateInfo = {
|
|
@@ -1602,13 +1630,13 @@ function validMyLocation(sourceNode) {
|
|
|
1602
1630
|
}
|
|
1603
1631
|
return validateInfo;
|
|
1604
1632
|
}
|
|
1605
|
-
/**
|
|
1606
|
-
* 校验url值,由于parser时已转换了url值,所以校验步骤修改如下:
|
|
1607
|
-
* 1. 是否绝对路径
|
|
1608
|
-
* 2. 是否为网络值
|
|
1609
|
-
* 3. 是否为none
|
|
1610
|
-
* @param sourceNode
|
|
1611
|
-
* @returns
|
|
1633
|
+
/**
|
|
1634
|
+
* 校验url值,由于parser时已转换了url值,所以校验步骤修改如下:
|
|
1635
|
+
* 1. 是否绝对路径
|
|
1636
|
+
* 2. 是否为网络值
|
|
1637
|
+
* 3. 是否为none
|
|
1638
|
+
* @param sourceNode
|
|
1639
|
+
* @returns
|
|
1612
1640
|
*/
|
|
1613
1641
|
function validUrl(sourceNode) {
|
|
1614
1642
|
let validateInfo = {
|
|
@@ -1636,10 +1664,10 @@ function validUrl(sourceNode) {
|
|
|
1636
1664
|
}
|
|
1637
1665
|
return validateInfo;
|
|
1638
1666
|
}
|
|
1639
|
-
/**
|
|
1640
|
-
* 校验单位
|
|
1641
|
-
* @param sourceNode
|
|
1642
|
-
* @returns
|
|
1667
|
+
/**
|
|
1668
|
+
* 校验单位
|
|
1669
|
+
* @param sourceNode
|
|
1670
|
+
* @returns
|
|
1643
1671
|
*/
|
|
1644
1672
|
function validAngleNode(sourceNode) {
|
|
1645
1673
|
let validateInfo = {
|
|
@@ -1700,4 +1728,22 @@ function translateMyLocation(sourceNode) {
|
|
|
1700
1728
|
});
|
|
1701
1729
|
return targetNode;
|
|
1702
1730
|
}
|
|
1731
|
+
|
|
1732
|
+
/**
|
|
1733
|
+
* 整数校验
|
|
1734
|
+
* @param value 待校验的值
|
|
1735
|
+
* @returns 校验结果信息
|
|
1736
|
+
*/
|
|
1737
|
+
function validInteger(value) {
|
|
1738
|
+
let validateInfo = {
|
|
1739
|
+
level: _sharedUtils.Loglevel.WARN,
|
|
1740
|
+
message: []
|
|
1741
|
+
};
|
|
1742
|
+
if (!Number.isInteger(Number(value))) {
|
|
1743
|
+
validateInfo.message = [`The value`, {
|
|
1744
|
+
word: `'${value}'`
|
|
1745
|
+
}, `is not an integer`];
|
|
1746
|
+
}
|
|
1747
|
+
return validateInfo;
|
|
1748
|
+
}
|
|
1703
1749
|
const STYLE_ATTRIBUTE_LIST = exports.STYLE_ATTRIBUTE_LIST = Object.keys(STYLE_ATTRIBUTE_CONFIG);
|
|
@@ -58,12 +58,12 @@ function findSelectorIndex(type) {
|
|
|
58
58
|
function isMeidaType(type) {
|
|
59
59
|
return Object.values(MediaType).includes(type);
|
|
60
60
|
}
|
|
61
|
-
/**
|
|
62
|
-
* 安卓快应用支持所有的媒体类型,只需要判断媒体类型是否合法
|
|
63
|
-
* vela快应用仅支持 MediaType.SCREEN
|
|
64
|
-
* @param type
|
|
65
|
-
* @param projectType
|
|
66
|
-
* @returns
|
|
61
|
+
/**
|
|
62
|
+
* 安卓快应用支持所有的媒体类型,只需要判断媒体类型是否合法
|
|
63
|
+
* vela快应用仅支持 MediaType.SCREEN
|
|
64
|
+
* @param type
|
|
65
|
+
* @param projectType
|
|
66
|
+
* @returns
|
|
67
67
|
*/
|
|
68
68
|
function isSupportMediaType(type, projectType) {
|
|
69
69
|
let supportedMediaList = [];
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* TemplateNode 类型枚举
|
|
7
|
+
/**
|
|
8
|
+
* TemplateNode 类型枚举
|
|
9
9
|
*/
|
|
10
10
|
var TemplateNodeType = /*#__PURE__*/function (TemplateNodeType) {
|
|
11
11
|
TemplateNodeType["TEMPLATE"] = "template";
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* StyleSelectorName
|
|
7
|
+
/**
|
|
8
|
+
* StyleSelectorName
|
|
9
9
|
*/
|
|
10
10
|
var StyleSelectorName = /*#__PURE__*/function (StyleSelectorName) {
|
|
11
11
|
StyleSelectorName["FONT_FACE"] = "@FONT-FACE";
|