@nasl/types 0.1.7-beta.3 → 0.1.8-beta

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/nasl.ui.ast.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  /* eslint-disable @typescript-eslint/naming-convention */
2
2
  /* eslint-disable @typescript-eslint/adjacent-overload-signatures */
3
3
 
4
+
5
+
4
6
  /**
5
7
  * 设置器基类
6
8
  */
7
- export type BaseSetter = InputSetter | SwitchSetter | EnumSelectSetter | CapsulesSetter | NumberInputSetter | IconSetter | ImageSetter | PropertySelectSetter;
9
+ export type BaseSetter = InputSetter | SwitchSetter | EnumSelectSetter | CapsulesSetter | NumberInputSetter | IconSetter | ImageSetter | PropertySelectSetter | PropertyTransformSetter;
8
10
 
9
11
  /**
10
12
  * 输入框设置器
@@ -34,6 +36,45 @@ export interface EnumSelectSetter {
34
36
  * 枚举选项列表
35
37
  */
36
38
  options: Array<SetterOption>;
39
+ /**
40
+ * 是否多选
41
+ */
42
+ multiple: boolean;
43
+ }
44
+
45
+ /**
46
+ * 设置器枚举选项
47
+ */
48
+ export interface SetterOption {
49
+ concept: 'SetterOption';
50
+ /**
51
+ * 选项值
52
+ */
53
+ value: string;
54
+ /**
55
+ * 选项标题
56
+ */
57
+ title: string;
58
+ /**
59
+ * 选项图标
60
+ */
61
+ icon?: string;
62
+ /**
63
+ * 选项工具提示
64
+ */
65
+ tooltip?: string;
66
+ /**
67
+ * 是否显隐
68
+ *
69
+ * 用 TS 写表达式,在 IDE 中直接 eval
70
+ */
71
+ tsIf?: string;
72
+ /**
73
+ * 是否禁用
74
+ *
75
+ * 用 TS 写表达式,在 IDE 中直接 eval
76
+ */
77
+ tsDisabledIf?: string;
37
78
  }
38
79
 
39
80
  /**
@@ -45,6 +86,10 @@ export interface CapsulesSetter {
45
86
  * 枚举选项列表
46
87
  */
47
88
  options: Array<SetterOption>;
89
+ /**
90
+ * 是否多选
91
+ */
92
+ multiple: boolean;
48
93
  }
49
94
 
50
95
  /**
@@ -83,6 +128,14 @@ export interface IconSetter {
83
128
  * 图标标题
84
129
  */
85
130
  title?: string;
131
+ /**
132
+ * 使用自定义 iconfont 库
133
+ */
134
+ customIconFont?: string;
135
+ /**
136
+ * 隐藏上传图标功能
137
+ */
138
+ hideUploadIcon?: boolean;
86
139
  }
87
140
 
88
141
  /**
@@ -101,6 +154,14 @@ export interface PropertySelectSetter {
101
154
 
102
155
  }
103
156
 
157
+ /**
158
+ * 属性选择设置器
159
+ */
160
+ export interface PropertyTransformSetter {
161
+ concept: 'PropertyTransformSetter';
162
+
163
+ }
164
+
104
165
  /**
105
166
  * 页面组件
106
167
  */
@@ -169,7 +230,7 @@ export interface ViewComponentDeclaration {
169
230
  /**
170
231
  * 国际化配置列表
171
232
  */
172
- i18nMap?: Map<string, Map<string, string>>;
233
+ i18nMap?: Partial<Record<string, Map<string, string>>>;
173
234
  }
174
235
 
175
236
  /**
@@ -213,6 +274,14 @@ export interface PropDeclaration {
213
274
  * 仅在属性类型为 string(不包括字符串枚举)的情况下,且 sync 为 falsy 时可配置
214
275
  */
215
276
  implicitToString?: boolean;
277
+ /**
278
+ * 不允许该组件在逻辑中设置
279
+ */
280
+ unsettable: boolean;
281
+ /**
282
+ * 该属性是否为数据源
283
+ */
284
+ isDataSource: boolean;
216
285
  /**
217
286
  * 工具提示链接
218
287
  */
@@ -271,6 +340,100 @@ export interface PropDeclaration {
271
340
  tsOnChange?: string;
272
341
  }
273
342
 
343
+ /**
344
+ * 默认值
345
+ */
346
+ export interface DefaultValue {
347
+ concept: 'DefaultValue';
348
+ /**
349
+ * 根表达式
350
+ */
351
+ expression?: LogicItem;
352
+ /**
353
+ * 草稿态
354
+ */
355
+ playground: Array<LogicItem>;
356
+ }
357
+
358
+ /**
359
+ * 逻辑项
360
+ */
361
+ export type LogicItem = NullLiteral | BooleanLiteral | StringLiteral | NumericLiteral | NewList;
362
+
363
+ /**
364
+ * 类型标注
365
+ */
366
+ export interface TypeAnnotation {
367
+ concept: 'TypeAnnotation';
368
+ /**
369
+ * 类型种类
370
+ */
371
+ typeKind: 'primitive' | 'reference' | 'generic' | 'typeParam' | 'function' | 'union' | 'anonymousStructure';
372
+ /**
373
+ * 类型命名空间
374
+ */
375
+ typeNamespace?: string;
376
+ /**
377
+ * 类型名称
378
+ */
379
+ typeName?: string;
380
+ /**
381
+ * 类型参数
382
+ */
383
+ typeArguments?: Array<TypeAnnotation>;
384
+ /**
385
+ * 返回类型
386
+ */
387
+ returnType?: Array<TypeAnnotation>;
388
+ /**
389
+ * 是否是推断出来的
390
+ */
391
+ inferred?: boolean;
392
+ /**
393
+ * 匿名数据结构属性
394
+ */
395
+ properties?: Array<StructureProperty>;
396
+ /**
397
+ * 规则对象
398
+ */
399
+ ruleMap?: Partial<Record<string, number>>;
400
+ }
401
+
402
+ /**
403
+ * 数据结构属性
404
+ */
405
+ export interface StructureProperty {
406
+ concept: 'StructureProperty';
407
+ /**
408
+ * 数据结构属性名称
409
+ */
410
+ name: string;
411
+ /**
412
+ * 数据结构属性标题
413
+ */
414
+ label?: string;
415
+ /**
416
+ * 数据结构属性描述
417
+ */
418
+ description?: string;
419
+ /**
420
+ * 类型
421
+ */
422
+ typeAnnotation?: TypeAnnotation;
423
+ /**
424
+ * 默认值
425
+ *
426
+ * defaultValue结构体
427
+ */
428
+ defaultValue?: DefaultValue;
429
+ /**
430
+ * 数据结构字段 JSON 的序列化别名
431
+ *
432
+ * JSON 字符串别名
433
+ */
434
+ jsonName?: string;
435
+ }
436
+
274
437
  /**
275
438
  * 组件事件
276
439
  */
@@ -334,179 +497,145 @@ export interface SlotDeclaration {
334
497
  }
335
498
 
336
499
  /**
337
- * 逻辑声明
500
+ * 输入参数
338
501
  */
339
- export interface LogicDeclaration {
340
- concept: 'LogicDeclaration';
502
+ export interface Param {
503
+ concept: 'Param';
341
504
  /**
342
- * 逻辑名称
505
+ * 输入参数名称
343
506
  */
344
507
  name: string;
345
508
  /**
346
- * 逻辑标题
347
- */
348
- title: string;
349
- /**
350
- * 逻辑描述
509
+ * 输入参数描述
351
510
  */
352
- description: string;
511
+ description?: string;
353
512
  /**
354
- * 类型参数列表
513
+ * 是否为展开参数
355
514
  */
356
- typeParams?: Array<TypeParam>;
515
+ spread?: boolean;
357
516
  /**
358
- * 输入参数列表
517
+ * 类型
359
518
  */
360
- params: Array<Param>;
519
+ typeAnnotation?: TypeAnnotation;
361
520
  /**
362
- * 输出参数列表
521
+ * 默认值
363
522
  */
364
- returns: Array<Return>;
365
- }
366
-
367
- /**
368
- * 空字面量
369
- */
370
- export interface NullLiteral {
371
- concept: 'NullLiteral';
372
-
523
+ defaultValue?: DefaultValue;
373
524
  }
374
525
 
375
526
  /**
376
- * 布尔型字面量
527
+ * 页面组件的代码块
377
528
  */
378
- export interface BooleanLiteral {
379
- concept: 'BooleanLiteral';
529
+ export interface ViewBlock {
530
+ concept: 'ViewBlock';
380
531
  /**
381
- * 字面量的值
532
+ * 标题
382
533
  */
383
- value: string;
384
- }
385
-
386
- /**
387
- * 字符串字面量
388
- */
389
- export interface StringLiteral {
390
- concept: 'StringLiteral';
534
+ title: string;
391
535
  /**
392
- * 字面量的值
536
+ * 代码
393
537
  */
394
- value: string;
538
+ code: string;
395
539
  /**
396
- * 国际化键
540
+ * 描述
397
541
  */
398
- i18nKey?: string;
542
+ description?: string;
399
543
  }
400
544
 
401
545
  /**
402
- * 数字字面量
546
+ * 带截图的代码块
403
547
  */
404
- export interface NumericLiteral {
405
- concept: 'NumericLiteral';
548
+ export interface ViewBlockWithImage {
549
+ concept: 'ViewBlockWithImage';
406
550
  /**
407
- * 字面量的值
551
+ * 标题
408
552
  */
409
- value: string;
553
+ title: string;
410
554
  /**
411
- * 类型
555
+ * 代码
412
556
  */
413
- typeAnnotation: TypeAnnotation;
414
- }
415
-
416
- /**
417
- * 列表构造器
418
- */
419
- export interface NewList {
420
- concept: 'NewList';
557
+ code: string;
421
558
  /**
422
- * 类型
559
+ * 描述
423
560
  */
424
- typeAnnotation?: TypeAnnotation;
561
+ description?: string;
425
562
  /**
426
- * 成员表达式
563
+ * 截图
427
564
  */
428
- items: Array<LogicItem>;
565
+ screenshot: string;
566
+ /**
567
+ * 手绘
568
+ */
569
+ drawing: string;
429
570
  }
430
571
 
431
572
  /**
432
- * 设置器枚举选项
573
+ * 逻辑声明
433
574
  */
434
- export interface SetterOption {
435
- concept: 'SetterOption';
575
+ export interface LogicDeclaration {
576
+ concept: 'LogicDeclaration';
436
577
  /**
437
- * 选项值
578
+ * 逻辑名称
438
579
  */
439
- value: string;
580
+ name: string;
440
581
  /**
441
- * 选项标题
582
+ * 逻辑标题
442
583
  */
443
584
  title: string;
444
585
  /**
445
- * 选项图标
586
+ * 逻辑描述
446
587
  */
447
- icon?: string;
588
+ description: string;
448
589
  /**
449
- * 选项工具提示
590
+ * 类型参数列表
450
591
  */
451
- tooltip?: string;
592
+ typeParams?: Array<TypeParam>;
452
593
  /**
453
- * 是否显隐
454
- *
455
- * 用 TS 写表达式,在 IDE 中直接 eval
594
+ * 输入参数列表
456
595
  */
457
- tsIf?: string;
596
+ params: Array<Param>;
458
597
  /**
459
- * 是否禁用
460
- *
461
- * 用 TS 写表达式,在 IDE 中直接 eval
598
+ * 输出参数列表
462
599
  */
463
- tsDisabledIf?: string;
600
+ returns: Array<Return>;
464
601
  }
465
602
 
466
603
  /**
467
- * 带截图的代码块
604
+ * 类型参数
468
605
  */
469
- export interface ViewBlockWithImage {
470
- concept: 'ViewBlockWithImage';
471
- /**
472
- * 标题
473
- */
474
- title: string;
475
- /**
476
- * 代码
477
- */
478
- code: string;
479
- /**
480
- * 描述
481
- */
482
- description?: string;
606
+ export interface TypeParam {
607
+ concept: 'TypeParam';
483
608
  /**
484
- * 截图
609
+ * 类型名称
485
610
  */
486
- screenshot: string;
611
+ name: string;
487
612
  /**
488
- * 手绘
613
+ * 展示名称
489
614
  */
490
- drawing: string;
615
+ displayName?: string;
491
616
  }
492
617
 
493
618
  /**
494
- * 页面组件的代码块
619
+ * 输出参数
495
620
  */
496
- export interface ViewBlock {
497
- concept: 'ViewBlock';
621
+ export interface Return {
622
+ concept: 'Return';
498
623
  /**
499
- * 标题
624
+ * 输出参数名称
500
625
  */
501
- title: string;
626
+ name: string;
502
627
  /**
503
- * 代码
628
+ * 输出参数描述
504
629
  */
505
- code: string;
630
+ description?: string;
506
631
  /**
507
- * 描述
632
+ * 类型
508
633
  */
509
- description?: string;
634
+ typeAnnotation?: TypeAnnotation;
635
+ /**
636
+ * 默认值
637
+ */
638
+ defaultValue?: DefaultValue;
510
639
  }
511
640
 
512
641
  /**
@@ -521,158 +650,178 @@ export interface ThemeVariable {
521
650
  }
522
651
 
523
652
  /**
524
- * 默认值
653
+ * 空字面量
525
654
  */
526
- export interface DefaultValue {
527
- concept: 'DefaultValue';
655
+ export interface NullLiteral {
656
+ concept: 'NullLiteral';
528
657
  /**
529
- * 根表达式
658
+ * 逻辑项标题
530
659
  */
531
- expression: LogicItem;
660
+ label?: string;
532
661
  /**
533
- * 草稿态
662
+ * 逻辑项描述
534
663
  */
535
- playground: Array<LogicItem>;
664
+ description?: string;
665
+ /**
666
+ * 是否折叠
667
+ */
668
+ folded?: boolean;
669
+ /**
670
+ * offsetX
671
+ */
672
+ offsetX?: number;
673
+ /**
674
+ * offsetY
675
+ */
676
+ offsetY?: number;
677
+ /**
678
+ * 类型标注
679
+ */
680
+ typeAnnotation?: TypeAnnotation;
536
681
  }
537
682
 
538
683
  /**
539
- * 设置器基类
540
- */
541
- export type LogicItem = NullLiteral | BooleanLiteral | StringLiteral | NumericLiteral | NewList;
542
-
543
- /**
544
- * 输入参数
684
+ * 布尔型字面量
545
685
  */
546
- export interface Param {
547
- concept: 'Param';
686
+ export interface BooleanLiteral {
687
+ concept: 'BooleanLiteral';
548
688
  /**
549
- * 输入参数名称
689
+ * 逻辑项标题
550
690
  */
551
- name: string;
691
+ label?: string;
552
692
  /**
553
- * 输入参数描述
693
+ * 逻辑项描述
554
694
  */
555
695
  description?: string;
556
696
  /**
557
- * 是否为展开参数
697
+ * 是否折叠
558
698
  */
559
- spread?: boolean;
699
+ folded?: boolean;
560
700
  /**
561
- * 类型
701
+ * offsetX
702
+ */
703
+ offsetX?: number;
704
+ /**
705
+ * offsetY
706
+ */
707
+ offsetY?: number;
708
+ /**
709
+ * 类型标注
562
710
  */
563
711
  typeAnnotation?: TypeAnnotation;
564
712
  /**
565
- * 默认值
713
+ * 字面量的值
566
714
  */
567
- defaultValue?: DefaultValue;
715
+ value: string;
568
716
  }
569
717
 
570
718
  /**
571
- * 类型标注
719
+ * 字符串字面量
572
720
  */
573
- export interface TypeAnnotation {
574
- concept: 'TypeAnnotation';
721
+ export interface StringLiteral {
722
+ concept: 'StringLiteral';
575
723
  /**
576
- * 类型种类
724
+ * 逻辑项标题
577
725
  */
578
- typeKind: 'primitive' | 'reference' | 'generic' | 'typeParam' | 'function' | 'union' | 'anonymousStructure';
726
+ label?: string;
579
727
  /**
580
- * 类型命名空间
728
+ * 逻辑项描述
581
729
  */
582
- typeNamespace: string;
730
+ description?: string;
583
731
  /**
584
- * 类型名称
732
+ * 是否折叠
585
733
  */
586
- typeName: string;
734
+ folded?: boolean;
587
735
  /**
588
- * 类型参数
736
+ * offsetX
589
737
  */
590
- typeArguments?: Array<TypeAnnotation>;
738
+ offsetX?: number;
591
739
  /**
592
- * 返回类型
740
+ * offsetY
593
741
  */
594
- returnType?: Array<TypeAnnotation>;
742
+ offsetY?: number;
595
743
  /**
596
- * 是否是推断出来的
744
+ * 类型标注
597
745
  */
598
- inferred: boolean;
746
+ typeAnnotation?: TypeAnnotation;
599
747
  /**
600
- * 匿名数据结构属性
748
+ * 字面量的值
601
749
  */
602
- properties?: Array<StructureProperty>;
750
+ value: string;
603
751
  /**
604
- * 规则对象
752
+ * 国际化键
605
753
  */
606
- ruleMap: Map<string, number>;
754
+ i18nKey?: string;
607
755
  }
608
756
 
609
757
  /**
610
- * 数据结构属性
758
+ * 数字字面量
611
759
  */
612
- export interface StructureProperty {
613
- concept: 'StructureProperty';
614
- /**
615
- * 数据结构属性名称
616
- */
617
- name: string;
760
+ export interface NumericLiteral {
761
+ concept: 'NumericLiteral';
618
762
  /**
619
- * 数据结构属性标题
763
+ * 逻辑项标题
620
764
  */
621
765
  label?: string;
622
766
  /**
623
- * 数据结构属性描述
767
+ * 逻辑项描述
624
768
  */
625
769
  description?: string;
626
770
  /**
627
- * 类型
771
+ * 是否折叠
628
772
  */
629
- typeAnnotation?: TypeAnnotation;
773
+ folded?: boolean;
630
774
  /**
631
- * 默认值
632
- *
633
- * defaultValue结构体
775
+ * offsetX
634
776
  */
635
- defaultValue?: DefaultValue;
777
+ offsetX?: number;
636
778
  /**
637
- * 数据结构字段 JSON 的序列化别名
638
- *
639
- * JSON 字符串别名
779
+ * offsetY
640
780
  */
641
- jsonName?: string;
642
- }
643
-
644
- /**
645
- * 类型参数
646
- */
647
- export interface TypeParam {
648
- concept: 'TypeParam';
781
+ offsetY?: number;
649
782
  /**
650
- * 类型名称
783
+ * 类型标注
651
784
  */
652
- name: string;
785
+ typeAnnotation?: TypeAnnotation;
786
+ /**
787
+ * 字面量的值
788
+ */
789
+ value: string;
653
790
  }
654
791
 
655
792
  /**
656
- * 输出参数
793
+ * 列表构造器
657
794
  */
658
- export interface Return {
659
- concept: 'Return';
795
+ export interface NewList {
796
+ concept: 'NewList';
660
797
  /**
661
- * 输出参数名称
798
+ * 逻辑项标题
662
799
  */
663
- name: string;
800
+ label?: string;
664
801
  /**
665
- * 输出参数描述
802
+ * 逻辑项描述
666
803
  */
667
- description: string;
804
+ description?: string;
668
805
  /**
669
- * 类型
806
+ * 是否折叠
807
+ */
808
+ folded?: boolean;
809
+ /**
810
+ * offsetX
811
+ */
812
+ offsetX?: number;
813
+ /**
814
+ * offsetY
815
+ */
816
+ offsetY?: number;
817
+ /**
818
+ * 类型标注
670
819
  */
671
820
  typeAnnotation?: TypeAnnotation;
672
821
  /**
673
- * 默认值
822
+ * 成员表达式
674
823
  */
675
- defaultValue?: DefaultValue;
824
+ items: Array<LogicItem>;
676
825
  }
677
826
 
678
827
  export type UILib = Array<ViewComponentDeclaration>;
@@ -101,15 +101,18 @@
101
101
  },
102
102
  "i18nMap": {
103
103
  "type": "object",
104
- "properties": {
105
- "size": {
106
- "type": "number"
107
- }
104
+ "additionalProperties": {
105
+ "type": "object",
106
+ "properties": {
107
+ "size": {
108
+ "type": "number"
109
+ }
110
+ },
111
+ "required": [
112
+ "size"
113
+ ],
114
+ "additionalProperties": false
108
115
  },
109
- "required": [
110
- "size"
111
- ],
112
- "additionalProperties": false,
113
116
  "description": "国际化配置列表"
114
117
  }
115
118
  },
@@ -180,6 +183,14 @@
180
183
  "type": "boolean",
181
184
  "description": "是否将任意类型隐式转换成String\n\n仅在属性类型为 string(不包括字符串枚举)的情况下,且 sync 为 falsy 时可配置"
182
185
  },
186
+ "unsettable": {
187
+ "type": "boolean",
188
+ "description": "不允许该组件在逻辑中设置"
189
+ },
190
+ "isDataSource": {
191
+ "type": "boolean",
192
+ "description": "该属性是否为数据源"
193
+ },
183
194
  "tooltipLink": {
184
195
  "type": "string",
185
196
  "description": "工具提示链接"
@@ -244,6 +255,8 @@
244
255
  "group",
245
256
  "tsType",
246
257
  "sync",
258
+ "unsettable",
259
+ "isDataSource",
247
260
  "bindHide",
248
261
  "bindOpen",
249
262
  "tabKind",
@@ -278,6 +291,9 @@
278
291
  },
279
292
  {
280
293
  "$ref": "#/definitions/PropertySelectSetter"
294
+ },
295
+ {
296
+ "$ref": "#/definitions/PropertyTransformSetter"
281
297
  }
282
298
  ],
283
299
  "description": "设置器基类"
@@ -327,11 +343,16 @@
327
343
  "$ref": "#/definitions/SetterOption"
328
344
  },
329
345
  "description": "枚举选项列表"
346
+ },
347
+ "multiple": {
348
+ "type": "boolean",
349
+ "description": "是否多选"
330
350
  }
331
351
  },
332
352
  "required": [
333
353
  "concept",
334
- "options"
354
+ "options",
355
+ "multiple"
335
356
  ],
336
357
  "additionalProperties": false,
337
358
  "description": "枚举选择设置器"
@@ -389,11 +410,16 @@
389
410
  "$ref": "#/definitions/SetterOption"
390
411
  },
391
412
  "description": "枚举选项列表"
413
+ },
414
+ "multiple": {
415
+ "type": "boolean",
416
+ "description": "是否多选"
392
417
  }
393
418
  },
394
419
  "required": [
395
420
  "concept",
396
- "options"
421
+ "options",
422
+ "multiple"
397
423
  ],
398
424
  "additionalProperties": false,
399
425
  "description": "胶囊设置器"
@@ -442,6 +468,14 @@
442
468
  "title": {
443
469
  "type": "string",
444
470
  "description": "图标标题"
471
+ },
472
+ "customIconFont": {
473
+ "type": "string",
474
+ "description": "使用自定义 iconfont 库"
475
+ },
476
+ "hideUploadIcon": {
477
+ "type": "boolean",
478
+ "description": "隐藏上传图标功能"
445
479
  }
446
480
  },
447
481
  "required": [
@@ -478,6 +512,20 @@
478
512
  "additionalProperties": false,
479
513
  "description": "属性选择设置器"
480
514
  },
515
+ "PropertyTransformSetter": {
516
+ "type": "object",
517
+ "properties": {
518
+ "concept": {
519
+ "type": "string",
520
+ "const": "PropertyTransformSetter"
521
+ }
522
+ },
523
+ "required": [
524
+ "concept"
525
+ ],
526
+ "additionalProperties": false,
527
+ "description": "属性选择设置器"
528
+ },
481
529
  "DefaultValue": {
482
530
  "type": "object",
483
531
  "properties": {
@@ -499,7 +547,6 @@
499
547
  },
500
548
  "required": [
501
549
  "concept",
502
- "expression",
503
550
  "playground"
504
551
  ],
505
552
  "additionalProperties": false,
@@ -523,7 +570,7 @@
523
570
  "$ref": "#/definitions/NewList"
524
571
  }
525
572
  ],
526
- "description": "设置器基类"
573
+ "description": "逻辑项"
527
574
  },
528
575
  "NullLiteral": {
529
576
  "type": "object",
@@ -531,79 +578,37 @@
531
578
  "concept": {
532
579
  "type": "string",
533
580
  "const": "NullLiteral"
534
- }
535
- },
536
- "required": [
537
- "concept"
538
- ],
539
- "additionalProperties": false,
540
- "description": "空字面量"
541
- },
542
- "BooleanLiteral": {
543
- "type": "object",
544
- "properties": {
545
- "concept": {
546
- "type": "string",
547
- "const": "BooleanLiteral"
548
581
  },
549
- "value": {
550
- "type": "string",
551
- "description": "字面量的值"
552
- }
553
- },
554
- "required": [
555
- "concept",
556
- "value"
557
- ],
558
- "additionalProperties": false,
559
- "description": "布尔型字面量"
560
- },
561
- "StringLiteral": {
562
- "type": "object",
563
- "properties": {
564
- "concept": {
582
+ "label": {
565
583
  "type": "string",
566
- "const": "StringLiteral"
584
+ "description": "逻辑项标题"
567
585
  },
568
- "value": {
586
+ "description": {
569
587
  "type": "string",
570
- "description": "字面量的值"
588
+ "description": "逻辑项描述"
571
589
  },
572
- "i18nKey": {
573
- "type": "string",
574
- "description": "国际化键"
575
- }
576
- },
577
- "required": [
578
- "concept",
579
- "value"
580
- ],
581
- "additionalProperties": false,
582
- "description": "字符串字面量"
583
- },
584
- "NumericLiteral": {
585
- "type": "object",
586
- "properties": {
587
- "concept": {
588
- "type": "string",
589
- "const": "NumericLiteral"
590
+ "folded": {
591
+ "type": "boolean",
592
+ "description": "是否折叠"
590
593
  },
591
- "value": {
592
- "type": "string",
593
- "description": "字面量的值"
594
+ "offsetX": {
595
+ "type": "number",
596
+ "description": "offsetX"
597
+ },
598
+ "offsetY": {
599
+ "type": "number",
600
+ "description": "offsetY"
594
601
  },
595
602
  "typeAnnotation": {
596
603
  "$ref": "#/definitions/TypeAnnotation",
597
- "description": "类型"
604
+ "description": "类型标注"
598
605
  }
599
606
  },
600
607
  "required": [
601
- "concept",
602
- "value",
603
- "typeAnnotation"
608
+ "concept"
604
609
  ],
605
610
  "additionalProperties": false,
606
- "description": "数字字面量"
611
+ "description": "空字面量"
607
612
  },
608
613
  "TypeAnnotation": {
609
614
  "type": "object",
@@ -660,25 +665,15 @@
660
665
  },
661
666
  "ruleMap": {
662
667
  "type": "object",
663
- "properties": {
664
- "size": {
665
- "type": "number"
666
- }
668
+ "additionalProperties": {
669
+ "type": "number"
667
670
  },
668
- "required": [
669
- "size"
670
- ],
671
- "additionalProperties": false,
672
671
  "description": "规则对象"
673
672
  }
674
673
  },
675
674
  "required": [
676
675
  "concept",
677
- "typeKind",
678
- "typeNamespace",
679
- "typeName",
680
- "inferred",
681
- "ruleMap"
676
+ "typeKind"
682
677
  ],
683
678
  "additionalProperties": false,
684
679
  "description": "类型标注"
@@ -722,6 +717,139 @@
722
717
  "additionalProperties": false,
723
718
  "description": "数据结构属性"
724
719
  },
720
+ "BooleanLiteral": {
721
+ "type": "object",
722
+ "properties": {
723
+ "concept": {
724
+ "type": "string",
725
+ "const": "BooleanLiteral"
726
+ },
727
+ "label": {
728
+ "type": "string",
729
+ "description": "逻辑项标题"
730
+ },
731
+ "description": {
732
+ "type": "string",
733
+ "description": "逻辑项描述"
734
+ },
735
+ "folded": {
736
+ "type": "boolean",
737
+ "description": "是否折叠"
738
+ },
739
+ "offsetX": {
740
+ "type": "number",
741
+ "description": "offsetX"
742
+ },
743
+ "offsetY": {
744
+ "type": "number",
745
+ "description": "offsetY"
746
+ },
747
+ "typeAnnotation": {
748
+ "$ref": "#/definitions/TypeAnnotation",
749
+ "description": "类型标注"
750
+ },
751
+ "value": {
752
+ "type": "string",
753
+ "description": "字面量的值"
754
+ }
755
+ },
756
+ "required": [
757
+ "concept",
758
+ "value"
759
+ ],
760
+ "additionalProperties": false,
761
+ "description": "布尔型字面量"
762
+ },
763
+ "StringLiteral": {
764
+ "type": "object",
765
+ "properties": {
766
+ "concept": {
767
+ "type": "string",
768
+ "const": "StringLiteral"
769
+ },
770
+ "label": {
771
+ "type": "string",
772
+ "description": "逻辑项标题"
773
+ },
774
+ "description": {
775
+ "type": "string",
776
+ "description": "逻辑项描述"
777
+ },
778
+ "folded": {
779
+ "type": "boolean",
780
+ "description": "是否折叠"
781
+ },
782
+ "offsetX": {
783
+ "type": "number",
784
+ "description": "offsetX"
785
+ },
786
+ "offsetY": {
787
+ "type": "number",
788
+ "description": "offsetY"
789
+ },
790
+ "typeAnnotation": {
791
+ "$ref": "#/definitions/TypeAnnotation",
792
+ "description": "类型标注"
793
+ },
794
+ "value": {
795
+ "type": "string",
796
+ "description": "字面量的值"
797
+ },
798
+ "i18nKey": {
799
+ "type": "string",
800
+ "description": "国际化键"
801
+ }
802
+ },
803
+ "required": [
804
+ "concept",
805
+ "value"
806
+ ],
807
+ "additionalProperties": false,
808
+ "description": "字符串字面量"
809
+ },
810
+ "NumericLiteral": {
811
+ "type": "object",
812
+ "properties": {
813
+ "concept": {
814
+ "type": "string",
815
+ "const": "NumericLiteral"
816
+ },
817
+ "label": {
818
+ "type": "string",
819
+ "description": "逻辑项标题"
820
+ },
821
+ "description": {
822
+ "type": "string",
823
+ "description": "逻辑项描述"
824
+ },
825
+ "folded": {
826
+ "type": "boolean",
827
+ "description": "是否折叠"
828
+ },
829
+ "offsetX": {
830
+ "type": "number",
831
+ "description": "offsetX"
832
+ },
833
+ "offsetY": {
834
+ "type": "number",
835
+ "description": "offsetY"
836
+ },
837
+ "typeAnnotation": {
838
+ "$ref": "#/definitions/TypeAnnotation",
839
+ "description": "类型标注"
840
+ },
841
+ "value": {
842
+ "type": "string",
843
+ "description": "字面量的值"
844
+ }
845
+ },
846
+ "required": [
847
+ "concept",
848
+ "value"
849
+ ],
850
+ "additionalProperties": false,
851
+ "description": "数字字面量"
852
+ },
725
853
  "NewList": {
726
854
  "type": "object",
727
855
  "properties": {
@@ -729,9 +857,29 @@
729
857
  "type": "string",
730
858
  "const": "NewList"
731
859
  },
860
+ "label": {
861
+ "type": "string",
862
+ "description": "逻辑项标题"
863
+ },
864
+ "description": {
865
+ "type": "string",
866
+ "description": "逻辑项描述"
867
+ },
868
+ "folded": {
869
+ "type": "boolean",
870
+ "description": "是否折叠"
871
+ },
872
+ "offsetX": {
873
+ "type": "number",
874
+ "description": "offsetX"
875
+ },
876
+ "offsetY": {
877
+ "type": "number",
878
+ "description": "offsetY"
879
+ },
732
880
  "typeAnnotation": {
733
881
  "$ref": "#/definitions/TypeAnnotation",
734
- "description": "类型"
882
+ "description": "类型标注"
735
883
  },
736
884
  "items": {
737
885
  "type": "array",
@@ -969,6 +1117,10 @@
969
1117
  "name": {
970
1118
  "type": "string",
971
1119
  "description": "类型名称"
1120
+ },
1121
+ "displayName": {
1122
+ "type": "string",
1123
+ "description": "展示名称"
972
1124
  }
973
1125
  },
974
1126
  "required": [
@@ -1004,8 +1156,7 @@
1004
1156
  },
1005
1157
  "required": [
1006
1158
  "concept",
1007
- "name",
1008
- "description"
1159
+ "name"
1009
1160
  ],
1010
1161
  "additionalProperties": false,
1011
1162
  "description": "输出参数"
@@ -4,7 +4,7 @@ declare namespace nasl.ui {
4
4
  /**
5
5
  * 设置器基类
6
6
  */
7
- export type BaseSetter<T extends object, K extends keyof T> = InputSetter | SwitchSetter | EnumSelectSetter<T, K> | CapsulesSetter<T, K> | NumberInputSetter | IconSetter | ImageSetter | PropertySelectSetter;
7
+ export type BaseSetter<T extends object, K extends keyof T> = InputSetter | SwitchSetter | EnumSelectSetter<T, K> | CapsulesSetter<T, K> | NumberInputSetter | IconSetter | ImageSetter | PropertySelectSetter | PropertyTransformSetter;
8
8
 
9
9
  /**
10
10
  * 输入框设置器
@@ -34,6 +34,10 @@ declare namespace nasl.ui {
34
34
  * 枚举选项列表
35
35
  */
36
36
  options: Array<SetterOption<T, K>>;
37
+ /**
38
+ * 是否多选
39
+ */
40
+ multiple: boolean;
37
41
  }
38
42
 
39
43
  /**
@@ -45,6 +49,10 @@ declare namespace nasl.ui {
45
49
  * 枚举选项列表
46
50
  */
47
51
  options: Array<SetterOption<T, K>>;
52
+ /**
53
+ * 是否多选
54
+ */
55
+ multiple: boolean;
48
56
  }
49
57
 
50
58
  /**
@@ -83,6 +91,14 @@ declare namespace nasl.ui {
83
91
  * 图标标题
84
92
  */
85
93
  title?: string;
94
+ /**
95
+ * 使用自定义 iconfont 库
96
+ */
97
+ customIconFont?: string;
98
+ /**
99
+ * 隐藏上传图标功能
100
+ */
101
+ hideUploadIcon?: boolean;
86
102
  }
87
103
 
88
104
  /**
@@ -101,6 +117,14 @@ declare namespace nasl.ui {
101
117
 
102
118
  }
103
119
 
120
+ /**
121
+ * 属性选择设置器
122
+ */
123
+ export interface PropertyTransformSetter {
124
+ concept: 'PropertyTransformSetter';
125
+
126
+ }
127
+
104
128
  /**
105
129
  * 页面组件
106
130
  */
@@ -155,6 +179,14 @@ declare namespace nasl.ui {
155
179
  * 组件属性描述
156
180
  */
157
181
  description?: string;
182
+ /**
183
+ * 不允许该组件在逻辑中设置
184
+ */
185
+ unsettable: boolean;
186
+ /**
187
+ * 该属性是否为数据源
188
+ */
189
+ isDataSource: boolean;
158
190
  /**
159
191
  * 工具提示链接
160
192
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nasl/types",
3
- "version": "0.1.7-beta.3",
3
+ "version": "0.1.8-beta",
4
4
  "description": "NASL types for TypeScript Declaration",
5
5
  "main": "index.d.ts",
6
6
  "scripts": {