udm-rules-vue 0.0.2 → 0.0.4

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.
Files changed (171) hide show
  1. package/dist/EventBus.d.ts +1 -0
  2. package/dist/FileDeployPackageBuilder.d.ts +0 -2
  3. package/dist/FileUtils.d.ts +17 -22
  4. package/dist/OutputChannelManager.d.ts +37 -6
  5. package/dist/ServerRequestResponse.d.ts +6 -0
  6. package/dist/assets/builtin/Constants.bom +9 -0
  7. package/dist/assets/builtin/Constants_zh_CN.voc +11 -1
  8. package/dist/assets/builtin/Scorecard.bom +8 -0
  9. package/dist/assets/builtin/Scorecard_zh_CN.voc +10 -0
  10. package/dist/assets/builtin/StaticMethod.bom +1 -0
  11. package/dist/assets/builtin/StaticMethod_zh_CN.voc +1 -0
  12. package/dist/assets/css/index.css +1 -1
  13. package/dist/bom/bomSerialize.d.ts +2 -1
  14. package/dist/bom/model.d.ts +2 -1
  15. package/dist/brl/PureWebRuleEditor.vue.d.ts +4 -3
  16. package/dist/brl/RuleDocument.d.ts +1 -1
  17. package/dist/brl/RuleEditor.vue.d.ts +2 -2
  18. package/dist/brl/RuleEditorComponent.vue.d.ts +3 -3
  19. package/dist/brl/RuleUtils.d.ts +1 -1
  20. package/dist/command/CompileB2xFilesCommand.d.ts +4 -0
  21. package/dist/command/CompileRuleFilesCommand.d.ts +9 -4
  22. package/dist/command/DiagnoseFileCommand.d.ts +6 -0
  23. package/dist/command/SyncCompiledFilesCommand.d.ts +3 -0
  24. package/dist/command/UpdateUuidCommand.d.ts +2 -2
  25. package/dist/compile/BomCompiler.d.ts +96 -0
  26. package/dist/compile/DecisionTableCompiler.d.ts +4 -4
  27. package/dist/compile/ExpressionBuilder.d.ts +0 -3
  28. package/dist/compile/FileCompiler.d.ts +11 -2
  29. package/dist/compile/FlowCompiler.d.ts +20 -4
  30. package/dist/compile/PureWebCompiler.d.ts +1 -0
  31. package/dist/compile/RuleCompiler.d.ts +2 -2
  32. package/dist/compile/ScoreCardCompiler.d.ts +14 -0
  33. package/dist/compile/compileRuleScript.d.ts +6 -1
  34. package/dist/components/message/Toast.vue.d.ts +6 -0
  35. package/dist/components/message/events.d.ts +20 -0
  36. package/dist/components/process/events.d.ts +0 -3
  37. package/dist/components/tree/TreeNode.vue.d.ts +2 -0
  38. package/dist/content.d.ts +2 -0
  39. package/dist/dta/DecisionTableDeserialize.d.ts +2 -1
  40. package/dist/dta/DecisionTableJsonSerialize.d.ts +2 -0
  41. package/dist/dta/DecisionTableXmlSerialize.d.ts +2 -0
  42. package/dist/dta/component/DecisionTable.d.ts +1 -0
  43. package/dist/dta/model/DecisionTableModel.d.ts +3 -0
  44. package/dist/dta/webview/DecisionTableDocument.d.ts +1 -1
  45. package/dist/dtr/webview/DecisionTreeDocument.d.ts +1 -1
  46. package/dist/extension.d.ts +2 -1
  47. package/dist/grammar/BusinessParseRuleContext.d.ts +5 -0
  48. package/dist/grammar/ParserHelper.d.ts +20 -2
  49. package/dist/grammar/TokenAssertor.d.ts +0 -4
  50. package/dist/grammar/bom/BomLexer.d.ts +33 -32
  51. package/dist/grammar/bom/BomParser.d.ts +35 -33
  52. package/dist/grammar/diagnostic/SemanticDiagnostic.d.ts +13 -2
  53. package/dist/grammar/parser/BoostRuleParser.d.ts +36 -2
  54. package/dist/grammar/rule/RuleParser.d.ts +42 -35
  55. package/dist/index.d.ts +12 -4
  56. package/dist/index.js +91342 -80573
  57. package/dist/index.umd.js +398 -313
  58. package/dist/model/BO.d.ts +15 -1
  59. package/dist/model/Datatype.d.ts +1 -0
  60. package/dist/model/NavigationTree.d.ts +3 -3
  61. package/dist/model/VscodeBuiltinObjectsLoader.d.ts +2 -0
  62. package/dist/model/WebBuiltinObjectsLoader.d.ts +3 -1
  63. package/dist/model/WebViewBomFilesReader.d.ts +1 -1
  64. package/dist/model/expression/ArithExpression.d.ts +2 -1
  65. package/dist/model/expression/BatchExpression.d.ts +2 -1
  66. package/dist/model/expression/Expression.d.ts +2 -1
  67. package/dist/model/expression/MethodExpression.d.ts +5 -3
  68. package/dist/model/expression/PredefineExpression.d.ts +2 -1
  69. package/dist/model/expression/RuleExpression.d.ts +3 -2
  70. package/dist/model/expression/compile/commonMethodScriptCompile.d.ts +2 -1
  71. package/dist/model/expression/compile/compareMethodScriptCompile.d.ts +2 -1
  72. package/dist/monaco/ExpressionFinder.d.ts +4 -3
  73. package/dist/monaco/MonacoHoverProvider.d.ts +0 -2
  74. package/dist/monaco/parseTargetPartRuleScript.d.ts +1 -1
  75. package/dist/projectprops/ProjectProperties.d.ts +2 -0
  76. package/dist/projectprops/ProjectPropertiesEditor.vue.d.ts +20 -0
  77. package/dist/projectprops/PureWebProjectPropertiesEditor.vue.d.ts +20 -0
  78. package/dist/projectprops/Ruleset.vue.d.ts +10 -0
  79. package/dist/quicktest/TestUtils.d.ts +12 -4
  80. package/dist/rfl/MenuFactory.d.ts +3 -3
  81. package/dist/rfl/config/Enums.d.ts +2 -1
  82. package/dist/rfl/data/ActionNodeData.d.ts +1 -0
  83. package/dist/rfl/data/ConnectionData.d.ts +7 -4
  84. package/dist/rfl/data/NodeData.d.ts +7 -0
  85. package/dist/rfl/data/RuleFile.d.ts +4 -1
  86. package/dist/rfl/data/RuleNodeData.d.ts +1 -0
  87. package/dist/rfl/data/SubflowNodeData.d.ts +1 -0
  88. package/dist/rfl/data/TaskNodeData.d.ts +5 -0
  89. package/dist/rfl/definition/ProcessDef.d.ts +53 -7
  90. package/dist/rfl/definition/ProcessNodeDef.d.ts +11 -0
  91. package/dist/rfl/definition/node/ActionTaskNodeDef.d.ts +1 -6
  92. package/dist/rfl/definition/node/ConnectionFactoryDef.d.ts +2 -1
  93. package/dist/rfl/definition/node/CustomTaskNodeDef.d.ts +32 -0
  94. package/dist/rfl/definition/node/FlowConnectionDef.d.ts +12 -0
  95. package/dist/rfl/definition/node/FlowProcessNodeDef.d.ts +1 -0
  96. package/dist/rfl/definition/node/ForkNodeDef.d.ts +7 -0
  97. package/dist/rfl/definition/node/JoinNodeDef.d.ts +11 -0
  98. package/dist/rfl/definition/node/NodeType.d.ts +16 -3
  99. package/dist/rfl/definition/node/RuleTaskNodeDef.d.ts +5 -0
  100. package/dist/rfl/definition/node/StartTaskNodeDef.d.ts +1 -5
  101. package/dist/rfl/definition/node/StopTaskNodeDef.d.ts +1 -0
  102. package/dist/rfl/definition/node/SubflowTaskNodeDef.d.ts +5 -0
  103. package/dist/rfl/designer/Designer.vue.d.ts +2 -2
  104. package/dist/rfl/designer/DesignerComponent.vue.d.ts +2 -2
  105. package/dist/rfl/designer/ProcessUtils.d.ts +2 -2
  106. package/dist/rfl/designer/PureWebFlowEditor.vue.d.ts +4 -2
  107. package/dist/rfl/designer/editor/BezierEdge.vue.d.ts +5 -0
  108. package/dist/rfl/designer/editor/HelperLines.vue.d.ts +9 -0
  109. package/dist/rfl/designer/editor/HelperLinseUtils.d.ts +8 -0
  110. package/dist/rfl/designer/editor/ProcessEditor.vue.d.ts +1 -1
  111. package/dist/rfl/designer/editor/SmoothStepEdge.vue.d.ts +5 -0
  112. package/dist/rfl/events.d.ts +7 -1
  113. package/dist/rfl/node/NodeUtils.d.ts +10 -4
  114. package/dist/rfl/props/ConnectionProperty.vue.d.ts +2 -1
  115. package/dist/rfl/props/ForkNodeProperty.vue.d.ts +1 -1
  116. package/dist/rfl/props/JoinNodeProperty.vue.d.ts +1 -1
  117. package/dist/rfl/props/SchemaFormProperty.vue.d.ts +13 -0
  118. package/dist/rfl/registry/TaskNodeTypeRegistry.d.ts +195 -0
  119. package/dist/rfl/webview/RuleFlowDocument.d.ts +1 -1
  120. package/dist/rfl/webview/RuleFlowEditorProvider.d.ts +5 -0
  121. package/dist/sca/AvaliablePredefineBuilder.d.ts +4 -0
  122. package/dist/sca/ContentEditableController.d.ts +50 -0
  123. package/dist/sca/PureWebScoreCardEditor.vue.d.ts +71 -0
  124. package/dist/sca/ScoreCardComponent.vue.d.ts +45 -0
  125. package/dist/sca/ScoreCardDeserialize.d.ts +5 -0
  126. package/dist/sca/ScoreCardEditor.vue.d.ts +24 -0
  127. package/dist/sca/ScoreCardModelInitializer.d.ts +8 -0
  128. package/dist/sca/ScoreCardSettingDialog.vue.d.ts +15 -0
  129. package/dist/sca/ScoreCardWebEditor.d.ts +1 -0
  130. package/dist/sca/component/ScoreCardTable.d.ts +81 -0
  131. package/dist/sca/component/ScoreCardTableCrossHeader.d.ts +11 -0
  132. package/dist/sca/component/ScoreCardTableHeader.d.ts +27 -0
  133. package/dist/sca/component/ScoreCardTableRowIndicate.d.ts +26 -0
  134. package/dist/sca/component/contextMenuBuilder.d.ts +3 -0
  135. package/dist/sca/component/edit/ScoreCardChangeEdit.d.ts +4 -0
  136. package/dist/sca/model/ScoreCardAttribute.d.ts +86 -0
  137. package/dist/sca/model/ScoreCardTableModel.d.ts +67 -0
  138. package/dist/sca/webview/ScoreCardDocument.d.ts +1 -1
  139. package/dist/sca/webview/ScoreCardEditorProvider.d.ts +1 -1
  140. package/dist/sync/SyncFileUitls.d.ts +1 -0
  141. package/dist/tst/PredictFormDialog.vue.d.ts +1 -1
  142. package/dist/utils.d.ts +28 -1
  143. package/dist/webviewFiles.d.ts +4 -0
  144. package/dist/webviewFilesOperator.d.ts +3 -2
  145. package/package.json +10 -3
  146. package/dist/FileSystemEventBus.d.ts +0 -6
  147. package/dist/components/process/Connection.d.ts +0 -122
  148. package/dist/components/process/Menu.d.ts +0 -12
  149. package/dist/components/process/MenuItemFactory.d.ts +0 -5
  150. package/dist/components/process/MergeGroup.d.ts +0 -12
  151. package/dist/components/process/OrthogonalPath.d.ts +0 -225
  152. package/dist/components/process/Process.d.ts +0 -111
  153. package/dist/components/process/ProcessNode.d.ts +0 -340
  154. package/dist/components/process/Tooltip.d.ts +0 -20
  155. package/dist/components/process/colors.d.ts +0 -2
  156. package/dist/dta/DecisionTableSerialize.d.ts +0 -2
  157. package/dist/rfl/FlowProcess.d.ts +0 -85
  158. package/dist/rfl/node/ActionTaskNode.d.ts +0 -22
  159. package/dist/rfl/node/BasicNode.d.ts +0 -8
  160. package/dist/rfl/node/BranchNode.d.ts +0 -48
  161. package/dist/rfl/node/ConnectionFactory.d.ts +0 -10
  162. package/dist/rfl/node/FlowConnection.d.ts +0 -52
  163. package/dist/rfl/node/FlowProcessNode.d.ts +0 -128
  164. package/dist/rfl/node/ForkNode.d.ts +0 -54
  165. package/dist/rfl/node/JoinNode.d.ts +0 -54
  166. package/dist/rfl/node/ProcessNodeFactory.d.ts +0 -41
  167. package/dist/rfl/node/RuleTaskNode.d.ts +0 -76
  168. package/dist/rfl/node/StartTaskNode.d.ts +0 -74
  169. package/dist/rfl/node/StopTaskNode.d.ts +0 -84
  170. package/dist/rfl/node/SubflowTaskNode.d.ts +0 -70
  171. package/dist/rfl/node/TaskNode.d.ts +0 -42
@@ -1,2 +1,3 @@
1
- import { BomTreeNode } from './model';
1
+ import { BomTreeNode, ClassData } from './model';
2
2
  export declare const buildBomB2xVocJson: (bomTreeNodeList: BomTreeNode[], bomFileUuid: string, vocFileUuid: string, b2xFileUuid: string) => string;
3
+ export declare const buildClassB2x: (classData: ClassData, runtime: boolean) => string;
@@ -37,7 +37,7 @@ export type PackageData = {
37
37
  };
38
38
  export declare const findTargetClass: (className: string, packageData: PackageData) => ClassData | undefined;
39
39
  export declare const findTargetField: (classData: ClassData, memberName: string) => FieldData | undefined;
40
- export declare const findTargetMethod: (classData: ClassData, methodName: string) => MethodData | undefined;
40
+ export declare const findTargetMethod: (classData: ClassData, methodName: string, methodParameterCount: number) => MethodData | undefined;
41
41
  export type ClassData = {
42
42
  name: string;
43
43
  oldName?: string;
@@ -83,6 +83,7 @@ export type FieldData = {
83
83
  setterScript: string;
84
84
  final: boolean;
85
85
  static: boolean;
86
+ private: boolean;
86
87
  readonly: boolean;
87
88
  writeonly: boolean;
88
89
  deprecated: boolean;
@@ -21,6 +21,7 @@ type __VLS_Props = {
21
21
  };
22
22
  declare const _default: DefineComponent<__VLS_Props, {
23
23
  serializeToXml: () => any;
24
+ serializeToJson: () => any;
24
25
  showQuickTestDialog: () => any;
25
26
  setShowFloatingActions: (value: boolean) => void;
26
27
  setReadonlyMode: (value: boolean) => void;
@@ -32,7 +33,7 @@ declare const _default: DefineComponent<__VLS_Props, {
32
33
  }> & Readonly<{
33
34
  "onRule-editor-mounted"?: (() => any) | undefined;
34
35
  }>, {
35
- serializeToXml: () => string;
36
+ serialize: () => string;
36
37
  setShowFloatingActions: (value: boolean) => void;
37
38
  setReadonlyMode: (value: boolean) => void;
38
39
  getReadonlyMode: () => boolean;
@@ -42,7 +43,7 @@ declare const _default: DefineComponent<__VLS_Props, {
42
43
  "rule-editor-mounted": () => any;
43
44
  }, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
44
45
  codeEditorContainer: HTMLDivElement;
45
- }, any, ComponentProvideOptions, {
46
+ }, HTMLDivElement, ComponentProvideOptions, {
46
47
  P: {};
47
48
  B: {};
48
49
  D: {};
@@ -55,7 +56,7 @@ declare const _default: DefineComponent<__VLS_Props, {
55
56
  }> & Readonly<{
56
57
  "onRule-editor-mounted"?: (() => any) | undefined;
57
58
  }>, {
58
- serializeToXml: () => string;
59
+ serialize: () => string;
59
60
  setShowFloatingActions: (value: boolean) => void;
60
61
  setReadonlyMode: (value: boolean) => void;
61
62
  getReadonlyMode: () => boolean;
@@ -1,4 +1,4 @@
1
- import { CancellationToken, CustomDocument, CustomDocumentBackup, Uri, ExtensionContext, Event } from 'vscode';
1
+ import { CancellationToken, CustomDocument, CustomDocumentBackup, ExtensionContext, Uri, Event } from 'vscode';
2
2
  import { DocumentDelegate, ViewEdit } from '../view&document';
3
3
  export declare class RuleDocument implements CustomDocument {
4
4
  private readonly _context;
@@ -4,7 +4,7 @@ type __VLS_Props = {
4
4
  readonly?: boolean;
5
5
  };
6
6
  declare const _default: DefineComponent<__VLS_Props, {
7
- serializeToXml: () => string;
7
+ serialize: () => string;
8
8
  setShowFloatingActions: (value: boolean) => void;
9
9
  setReadonlyMode: (value: boolean) => void;
10
10
  getReadonlyMode: () => boolean;
@@ -16,5 +16,5 @@ declare const _default: DefineComponent<__VLS_Props, {
16
16
  "onRule-editor-mounted"?: (() => any) | undefined;
17
17
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
18
18
  codeEditorContainer: HTMLDivElement;
19
- }, any>;
19
+ }, HTMLDivElement>;
20
20
  export default _default;
@@ -6,7 +6,7 @@ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixi
6
6
  }> & Readonly<{
7
7
  "onRule-editor-mounted"?: (() => any) | undefined;
8
8
  }>, {
9
- serializeToXml: () => string;
9
+ serialize: () => string;
10
10
  setShowFloatingActions: (value: boolean) => void;
11
11
  setReadonlyMode: (value: boolean) => void;
12
12
  getReadonlyMode: () => boolean;
@@ -16,7 +16,7 @@ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixi
16
16
  "rule-editor-mounted": () => any;
17
17
  }, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
18
18
  codeEditorContainer: HTMLDivElement;
19
- }, any, ComponentProvideOptions, {
19
+ }, HTMLDivElement, ComponentProvideOptions, {
20
20
  P: {};
21
21
  B: {};
22
22
  D: {};
@@ -29,7 +29,7 @@ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixi
29
29
  }> & Readonly<{
30
30
  "onRule-editor-mounted"?: (() => any) | undefined;
31
31
  }>, {
32
- serializeToXml: () => string;
32
+ serialize: () => string;
33
33
  setShowFloatingActions: (value: boolean) => void;
34
34
  setReadonlyMode: (value: boolean) => void;
35
35
  getReadonlyMode: () => boolean;
@@ -8,5 +8,5 @@ export type RuleData = {
8
8
  priority?: string;
9
9
  status?: string;
10
10
  document?: string;
11
- script?: string;
11
+ definition?: string;
12
12
  };
@@ -0,0 +1,4 @@
1
+ import { Uri, Disposable } from 'vscode';
2
+ export declare const COMPILE_B2X_FILES_COMMAND_NAME = "udmp.compileB2xFiles";
3
+ export declare const registerCompileB2xFilesCommand: () => Disposable;
4
+ export declare const doCompileB2xFile: (b2xFileUri: Uri) => Promise<void>;
@@ -1,15 +1,20 @@
1
- import { ExtensionContext, Uri, Disposable, FileStat } from 'vscode';
1
+ import { ExtensionContext, Progress, Uri, Disposable, FileStat } from 'vscode';
2
+ import { CompileContext } from '../compile/FileCompiler';
2
3
  export declare const COMPILE_RULE_FILES_COMMAND_NAME = "udmp.compileRuleFiles";
3
4
  export declare const registerCompileRuleFilesCommand: () => Disposable;
4
5
  export declare const doCompileFiles: (currentFileUri: Uri | null, targetOutFolder?: string) => Promise<false | undefined>;
5
- export declare const compileRuleFilesData: (uris: Uri[], parentFolder: string) => Promise<FileData[]>;
6
+ export declare const compileRuleFilesData: (uris: Uri[], parentFolder: string, compileContext: CompileContext) => Promise<FileData[]>;
6
7
  /**
7
8
  * 解析规则文件数据,找出规则文件中可能存在的各种类型的错误信息
8
9
  * @param uris 规则文件的uri列表
9
10
  * @param parentFolder 规则文件所在的父目录
11
+ * @param progress 进度条对象
10
12
  */
11
- export declare const resolveRuleFilesData: (uris: Uri[], parentFolder: string) => Promise<void>;
12
- export declare const doCompileFile: (context: ExtensionContext, content: Uint8Array, targetUri: Uri) => Promise<void>;
13
+ export declare const resolveRuleFilesData: (uris: Uri[], parentFolder: string, progress: Progress<{
14
+ message?: string;
15
+ increment?: number;
16
+ }>) => Promise<void>;
17
+ export declare const doCompileFile: (context: ExtensionContext, content: Uint8Array, targetUri: Uri, compileContext: CompileContext) => Promise<void>;
13
18
  export declare const checkFileExists: (uri: Uri) => Promise<false | FileStat>;
14
19
  type FileData = {
15
20
  outExtName: string;
@@ -0,0 +1,6 @@
1
+ import { Disposable } from 'vscode';
2
+ export declare const DIAGNOSE_COMMAND = "udmp.diagnoseFile";
3
+ /**
4
+ * 注册诊断决策流命令
5
+ */
6
+ export declare const registerDiagnoseFileCommand: () => Disposable;
@@ -0,0 +1,3 @@
1
+ import { Disposable } from 'vscode';
2
+ export declare const SYNC_COMPILED_FILES_COMMAND = "udmp.projectSyncCompiledFiles";
3
+ export declare const registerSyncComiledFilesCommand: () => Disposable;
@@ -1,3 +1,3 @@
1
- import { Disposable } from 'vscode';
1
+ import { ExtensionContext, Disposable } from 'vscode';
2
2
  export declare const UPDATE_UUID_COMMAND = "udmp.updateUuid";
3
- export declare const registerUpdateUuidCommand: () => Disposable;
3
+ export declare const registerUpdateUuidCommand: (context: ExtensionContext) => Disposable;
@@ -0,0 +1,96 @@
1
+ import { DomainValue, ObjectProperty } from '../model/BO';
2
+ export declare const compileBomB2xXml: (bomContent: string, vocContent: string, b2xContent: string) => string;
3
+ export declare const parseBomFile: (content: string) => {
4
+ bomFileUuid: string;
5
+ vocFileUuid: string;
6
+ b2xFileUuid: string;
7
+ packageDataMap: Map<string, PackageData>;
8
+ };
9
+ export type PackageData = {
10
+ packageName: string;
11
+ classes: ClassData[];
12
+ children: PackageData[];
13
+ };
14
+ export declare const findTargetClass: (className: string, packageData: PackageData) => ClassData | undefined;
15
+ export declare const findTargetField: (classData: ClassData, memberName: string) => FieldData | undefined;
16
+ export declare const findTargetMethod: (classData: ClassData, methodName: string, methodParameterCount: number) => MethodData | undefined;
17
+ export type ClassData = {
18
+ name: string;
19
+ oldName?: string;
20
+ verbalization?: string;
21
+ oldVerbalization?: string;
22
+ documentation?: string;
23
+ domain?: DomainValue;
24
+ packageName: string;
25
+ oldPackageName: string;
26
+ staticClass: boolean;
27
+ abstractClass: boolean;
28
+ interfaceClass: boolean;
29
+ enumClass: boolean;
30
+ innerClass: boolean;
31
+ extends?: string;
32
+ implements?: string;
33
+ fields: FieldData[];
34
+ methods: MethodData[];
35
+ innerClasses: ClassData[];
36
+ importClasses: string[];
37
+ extenderName: string;
38
+ executionName: string;
39
+ categories: string[];
40
+ properties: ObjectProperty[];
41
+ };
42
+ export type FieldData = {
43
+ name: string;
44
+ type: string;
45
+ classData: ClassData;
46
+ verbalization?: string;
47
+ oldVerbalization?: string;
48
+ actionDocumentation?: string;
49
+ navigationDocumentation?: string;
50
+ actionVerbalization?: string;
51
+ oldActionVerbalization?: string;
52
+ actionVerbalizationError?: string;
53
+ navigationVerbalization?: string;
54
+ oldNavigationVerbalization?: string;
55
+ navigationVerbalizationError?: string;
56
+ documentation?: string;
57
+ domain?: DomainValue;
58
+ getterScript: string;
59
+ setterScript: string;
60
+ final: boolean;
61
+ static: boolean;
62
+ private: boolean;
63
+ readonly: boolean;
64
+ writeonly: boolean;
65
+ deprecated: boolean;
66
+ update: boolean;
67
+ array: boolean;
68
+ collection: boolean;
69
+ categories: string[];
70
+ properties: ObjectProperty[];
71
+ };
72
+ export type ParameterData = {
73
+ name: string;
74
+ type: string;
75
+ array: boolean;
76
+ domain?: DomainValue;
77
+ };
78
+ export type MethodData = {
79
+ name: string;
80
+ classData: ClassData;
81
+ verbalization?: string;
82
+ verbalizationError?: string;
83
+ oldVerbalization?: string;
84
+ documentation?: string;
85
+ methodScript: string;
86
+ returnType: string;
87
+ static: boolean;
88
+ final: boolean;
89
+ deprecated: boolean;
90
+ update: boolean;
91
+ throws?: string;
92
+ domain?: DomainValue;
93
+ categories: string[];
94
+ parameters: ParameterData[];
95
+ properties: ObjectProperty[];
96
+ };
@@ -1,10 +1,10 @@
1
1
  import { Datatype } from '../model/Datatype';
2
2
  import { PlaceholderExpression } from '../model/expression/PlaceholderExpression';
3
- import { default as FileCompiler } from './FileCompiler';
3
+ import { default as FileCompiler, CompileContext } from './FileCompiler';
4
4
  export default class implements FileCompiler {
5
5
  support(url: string): boolean;
6
- doCompile(path: string, content: string, absolutePath: string): string;
7
- doDiagnose(path: string, content: string, absolutePath: string): void;
6
+ doCompile(path: string, content: string, absolutePath: string, compileContext: CompileContext): string;
7
+ doDiagnose(path: string, content: string, absolutePath: string, cacheMap: Map<string, any>): void;
8
8
  getOutExtName(): string;
9
9
  }
10
10
  export declare const replaceTargetScriptPlaceholder: (targetScript: string, placeholderExpressions: PlaceholderExpression[], params: string[]) => string | undefined;
@@ -27,7 +27,7 @@ export declare class ConditionData {
27
27
  */
28
28
  children: ConditionData[];
29
29
  constructor(conditionScript: string, parent?: ConditionData);
30
- buildCurrentOtherwiseCondition(parentScript?: string): string;
30
+ buildCurrentOtherwiseCondition(): string;
31
31
  buildNegationCondition(root: boolean, parentScript?: string): string;
32
32
  }
33
33
  export declare class OtherwiseRule {
@@ -8,9 +8,6 @@ declare class ExpressionBuilder {
8
8
  parseExpression(context: ExpressionContext, avaliablePredefineVariablesMap: Map<string, Datatype>, semanticErrorDatas: SemanticErrorData[]): Expression | undefined;
9
9
  private parseArithmetic;
10
10
  private parseMethod;
11
- private findTargetMethodNodesByDescriptor;
12
- private doFindTargetMethodNodesByDescriptor;
13
- private findTargetDefines;
14
11
  private parseBasic;
15
12
  private parseObject;
16
13
  private parsePlaceholder;
@@ -1,7 +1,16 @@
1
+ import { Expression } from '../model/expression/Expression';
2
+ import { PredefineExpression } from '../model/expression/PredefineExpression';
1
3
  export default interface FileCompiler {
2
- doCompile(relativePath: string, content: string, absolutePath: string): string;
3
- doDiagnose(relativePath: string, content: string, absolutePath: string): void;
4
+ doCompile(relativePath: string, content: string, absolutePath: string, compileContext: CompileContext): string;
5
+ doDiagnose(relativePath: string, content: string, absolutePath: string, cacheMap: Map<string, any>): void;
4
6
  support(url: string): boolean;
5
7
  getOutExtName(): string;
6
8
  }
9
+ export declare class CompileContext {
10
+ /**
11
+ * 用来缓存编译后的表达式,避免重复编译,这里的key是表达式的字符串,value是编译后的表达式
12
+ */
13
+ compiledExpressionsMap: Map<string, string>;
14
+ }
15
+ export declare const compileExpressionWithCache: (expression: Expression, predefineVariableExpressionMap: Map<string, PredefineExpression>, compileContext: CompileContext) => string;
7
16
  export declare const parseXml: (xml: string) => any;
@@ -1,13 +1,29 @@
1
1
  import { SemanticErrorData } from '../grammar/diagnostic/SemanticDiagnostic';
2
2
  import { default as FlowProcessDef } from '../rfl/definition/ProcessDef';
3
3
  import { default as ProcessNodeDef } from '../rfl/definition/ProcessNodeDef';
4
- import { default as FileCompiler } from './FileCompiler';
4
+ import { default as FileCompiler, CompileContext } from './FileCompiler';
5
5
  export declare class FlowCompiler implements FileCompiler {
6
- doCompile(path: string, content: string, absolutePath: string): string;
6
+ doCompile(path: string, content: string, absolutePath: string, compileContext: CompileContext): string;
7
7
  doDiagnose(path: string, content: string, absolutePath: string): void;
8
- buildFlowCompiledContent(processDef: FlowProcessDef, absolutePath: string): string;
9
- builderNodeXml(nodeId: string, nodeDef: ProcessNodeDef, semanticErrorDatas: SemanticErrorData[], grammarDiagnostic?: boolean): string;
8
+ buildFlowCompiledContent(processDef: FlowProcessDef, absolutePath: string, compileContext: CompileContext): string;
9
+ /**
10
+ * 转换节点语义错误数据为关联问题位置列表
11
+ * @param msg 错误消息
12
+ * @param semanticErrorDatas 语义错误数据数组
13
+ * @returns 转换后的语义错误数据或null
14
+ */
15
+ convertToNodeSemanticErrorDatas(msg: string, semanticErrorDatas: SemanticErrorData[]): SemanticErrorData | null;
16
+ builderNodeXml(nodeId: string, nodeDef: ProcessNodeDef, semanticErrorDatas: SemanticErrorData[], compileContext: CompileContext, grammarDiagnostic?: boolean): string;
10
17
  private buildTaskNodeAttributes;
18
+ /**
19
+ * 构建自定义任务节点的属性
20
+ * 从注册表的 propertySchema 中读取字段定义,将值序列化为 XML 属性
21
+ */
22
+ private buildCustomTaskNodeAttributes;
23
+ /**
24
+ * XML 属性值转义
25
+ */
26
+ private escapeXmlAttr;
11
27
  private buildCommonElements;
12
28
  private compileActionScripts;
13
29
  private compileSingleAction;
@@ -1 +1,2 @@
1
1
  export declare const pureWebCompileFile: (path: string, content: string) => string | undefined;
2
+ export declare const pureWebDiagnoseFile: (path: string, content: string, cacheMap: Map<string, any>) => void;
@@ -1,7 +1,7 @@
1
- import { default as FileCompiler } from './FileCompiler';
1
+ import { default as FileCompiler, CompileContext } from './FileCompiler';
2
2
  export default class RuleCompiler implements FileCompiler {
3
3
  support(url: string): boolean;
4
- doCompile(path: string, content: string, absolutePath: string): string;
4
+ doCompile(path: string, content: string, absolutePath: string, compileContext: CompileContext): string;
5
5
  doDiagnose(path: string, content: string, absolutePath: string): void;
6
6
  getOutExtName(): string;
7
7
  }
@@ -0,0 +1,14 @@
1
+ import { default as FileCompiler, CompileContext } from './FileCompiler';
2
+ export default class ScoreCardCompiler implements FileCompiler {
3
+ support(url: string): boolean;
4
+ doCompile(path: string, xmlContent: string, absolutePath: string, compileContext: CompileContext): string;
5
+ private buildPostActionsScript;
6
+ private buildScoreCardScript;
7
+ private buildExpressionScript;
8
+ private buildPredefineVariableExpressionMap;
9
+ private buildConditionScript;
10
+ private buildPredefineScript;
11
+ buildHeaderVisibleMap(resources: any): Map<number, boolean>;
12
+ doDiagnose(path: string, content: string, absolutePath: string): void;
13
+ getOutExtName(): string;
14
+ }
@@ -1,5 +1,10 @@
1
1
  import { SemanticErrorData } from '../grammar/diagnostic/SemanticDiagnostic';
2
+ import { PredefineStatementContext } from '../grammar/rule/RuleParser';
3
+ import { Datatype } from '../model/Datatype';
4
+ import { PredefineExpression } from '../model/expression/PredefineExpression';
2
5
  import { RuleExpression } from '../model/expression/RuleExpression';
3
- export declare const buildRulesCompiledContent: (ruleExpressions: RuleExpression[], path: string) => string;
6
+ import { CompileContext } from './FileCompiler';
7
+ export declare const buildRulesCompiledContent: (ruleExpressions: RuleExpression[], path: string, compileContext: CompileContext) => string;
4
8
  export declare const buildRuleExpression: (ruleScript: string, location: string, semanticErrorDatas: SemanticErrorData[], grammarDiagnostic?: boolean) => RuleExpression;
9
+ export declare const parsePredefineStatement: (predefineStatementContext: PredefineStatementContext | null, avaliablePredefineVariablesMap: Map<string, Datatype>, semanticErrorDatas: SemanticErrorData[]) => PredefineExpression[] | undefined;
5
10
  export declare const buildPackageName: (folder: string) => string;
@@ -0,0 +1,6 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from '../../../npmconfig/vue/dist/vue.esm-bundler.js';
2
+ type __VLS_Props = {
3
+ darkMode?: boolean;
4
+ };
5
+ declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -4,13 +4,33 @@ export declare const SHOW_LOADING = "show_loading";
4
4
  export declare const HIDE_LOADING = "hide_loading";
5
5
  export declare const CHANGE_LOAD_LOADING_TIP = "change_loading_tip";
6
6
  export declare const SHOW_CONFIRM = "show_confirm";
7
+ export declare const SHOW_TOAST = "show_toast";
7
8
  export declare function showAlert(msg: string, title?: string): void;
9
+ export declare function showError(msg: string, stackTrace: string): void;
8
10
  export declare function showConfirm(msg: string, callback: (confirm: boolean) => void, title?: string): void;
9
11
  export declare function showLoading(keepLoadingTip?: boolean): void;
10
12
  export declare function hideLoading(): void;
13
+ export declare function toast(msg: string, type?: ToastType, duration?: number): void;
14
+ export declare function toastSuccess(msg: string, duration?: number): void;
15
+ export declare function toastError(msg: string, duration?: number): void;
16
+ export declare function toastWarning(msg: string, duration?: number): void;
17
+ export declare function toastInfo(msg: string, duration?: number): void;
18
+ export type ToastType = "success" | "error" | "warning" | "info";
19
+ export type ToastConfig = {
20
+ msg: string;
21
+ type?: ToastType;
22
+ duration?: number;
23
+ };
24
+ export type ToastMessage = {
25
+ id: number;
26
+ msg: string;
27
+ type: ToastType;
28
+ duration?: number;
29
+ };
11
30
  export type AlertMessage = {
12
31
  title?: string;
13
32
  msg: string;
33
+ stackTrace?: string;
14
34
  };
15
35
  export type ConfirmMessage = {
16
36
  title?: string;
@@ -1,7 +1,4 @@
1
- export declare const SELECT_NODE = "select_node";
2
1
  export declare const SELECT_STAGE = "select_stage";
3
- export declare const SELECT_PROCESS = "select_process";
4
- export declare const SELECT_CONNECTION = "select_connection";
5
2
  export declare const MULTI_SELECT_NODES = "multi_select_nodes";
6
3
  export declare const REMOVE_CONNECTION = "remove_connection";
7
4
  export declare const NODE_NAME_CHANGE = "node_name_change";
@@ -6,6 +6,7 @@ type __VLS_Props = {
6
6
  paddingLeft?: number;
7
7
  marginLeft?: number;
8
8
  marginBlock?: number;
9
+ depth?: number;
9
10
  darkMode?: boolean;
10
11
  nodeFilterCallback?: (key: string, node: any) => boolean;
11
12
  };
@@ -15,5 +16,6 @@ declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOp
15
16
  paddingLeft: number;
16
17
  marginLeft: number;
17
18
  marginBlock: number;
19
+ depth: number;
18
20
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLUListElement>;
19
21
  export default _default;
package/dist/content.d.ts CHANGED
@@ -23,3 +23,5 @@ export declare enum BINDING_FILE_TYPE {
23
23
  * XML头部
24
24
  */
25
25
  export declare const XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
26
+ export declare const SCA_FULL_CLASSNAME = "udm.Scorecard";
27
+ export declare const CURRENT_SCA_NAME = "'\u5F53\u524D\u8FD9\u4E2A\u8BB0\u5206\u5361'";
@@ -1,3 +1,4 @@
1
1
  import { Datatype } from '../model/Datatype';
2
2
  import { DecisionTableModel } from './model/DecisionTableModel';
3
- export declare const deserializeDecisionTable: (xml: string, decisionTableModel: DecisionTableModel) => Map<string, Datatype>;
3
+ export declare const deserializeDecisionTableFromJson: (json: string, decisionTableModel: DecisionTableModel) => Map<string, Datatype>;
4
+ export declare const deserializeDecisionTableFromXml: (xml: string, decisionTableModel: DecisionTableModel) => Map<string, Datatype>;
@@ -0,0 +1,2 @@
1
+ import { DecisionTableModel } from './model/DecisionTableModel';
2
+ export declare const serializeDecisionTableToJson: (model: DecisionTableModel) => string;
@@ -0,0 +1,2 @@
1
+ import { DecisionTableModel } from './model/DecisionTableModel';
2
+ export declare const serializeDecisionTableToXml: (model: DecisionTableModel) => string;
@@ -93,6 +93,7 @@ export declare class DecisionTable {
93
93
  private bindingEditor;
94
94
  private bindingCellEvents;
95
95
  private checkCellContentError;
96
+ private enumDatatypeCompatibilityTest;
96
97
  private cleanCellError;
97
98
  private setCellError;
98
99
  buildResizeRowCallback(): (rowIndex: number, newHeight: number) => void;
@@ -4,6 +4,7 @@ import { Definition } from './Definition';
4
4
  import { Partition } from './Partition';
5
5
  import { ResourceData } from './ResourceData';
6
6
  export declare class DecisionTableModel {
7
+ private filePath;
7
8
  private name;
8
9
  private uuid;
9
10
  private effectiveDate;
@@ -59,6 +60,8 @@ export declare class DecisionTableModel {
59
60
  setPartition(partition: Partition): void;
60
61
  setName(name: string): void;
61
62
  getName(): string;
63
+ setFilePath(filePath: string): void;
64
+ getFilePath(): string;
62
65
  setUuid(uuid: string): void;
63
66
  getUuid(): string;
64
67
  setStatus(status: string): void;
@@ -1,4 +1,4 @@
1
- import { CancellationToken, CustomDocument, CustomDocumentBackup, Uri, ExtensionContext, Event } from 'vscode';
1
+ import { CancellationToken, CustomDocument, CustomDocumentBackup, ExtensionContext, Uri, Event } from 'vscode';
2
2
  import { DocumentDelegate, ViewEdit } from '../../view&document';
3
3
  export declare class DecisionTableDocument implements CustomDocument {
4
4
  private readonly _context;
@@ -1,4 +1,4 @@
1
- import { CancellationToken, CustomDocument, CustomDocumentBackup, Uri, ExtensionContext, Event } from 'vscode';
1
+ import { CancellationToken, CustomDocument, CustomDocumentBackup, ExtensionContext, Uri, Event } from 'vscode';
2
2
  import { DocumentDelegate, ViewEdit } from '../../view&document';
3
3
  export declare class DecisionTreeDocument implements CustomDocument {
4
4
  private readonly _context;
@@ -2,9 +2,10 @@ import { RuleEditorProvider } from './brl/RuleEditorProvider';
2
2
  import { DecisionTableEditorProvider } from './dta/webview/DecisionTableEditorProvider';
3
3
  import { RuleFlowEditorProvider } from './rfl/webview/RuleFlowEditorProvider';
4
4
  import { DecisionTreeEditorProvider } from './dtr/webview/DecisionTreeEditorProvider';
5
+ import { ScoreCardEditorProvider } from './sca/webview/ScoreCardEditorProvider';
5
6
  import * as vscode from "vscode";
6
7
  export declare function activate(context: vscode.ExtensionContext): void;
7
8
  export declare const getExtensionPath: () => string;
8
- export declare const refactorListener: (ruleProvider: RuleEditorProvider, ruleFlowProvider: RuleFlowEditorProvider, decisionTableProvider: DecisionTableEditorProvider, decisionTreeProvider: DecisionTreeEditorProvider) => Promise<void>;
9
+ export declare const refactorListener: (ruleProvider: RuleEditorProvider, scoreCardProvider: ScoreCardEditorProvider, ruleFlowProvider: RuleFlowEditorProvider, decisionTableProvider: DecisionTableEditorProvider, decisionTreeProvider: DecisionTreeEditorProvider) => Promise<void>;
9
10
  export declare const deleteDeployFolder: () => void;
10
11
  export declare function deactivate(): void;
@@ -0,0 +1,5 @@
1
+ import { ParserRuleContext } from 'antlr4ng';
2
+ export declare class BusinessParseRuleContext extends ParserRuleContext {
3
+ _obj: any;
4
+ constructor(parent: ParserRuleContext | null, invokingStateNumber?: number);
5
+ }
@@ -2,6 +2,7 @@ import { Token } from 'antlr4ng';
2
2
  import { ObjectDefine } from '../model/BO';
3
3
  import { Datatype } from '../model/Datatype';
4
4
  import { NavigationNode } from '../model/NavigationTree';
5
+ import { default as BoostRuleParser } from './parser/BoostRuleParser';
5
6
  import { RuleLexer } from './rule/RuleLexer';
6
7
  import { ParsePosition } from './TokenAssertor';
7
8
  export declare class ParserHelper {
@@ -18,11 +19,17 @@ export declare class ParserHelper {
18
19
  * 用来记录匹配到的方法导航节点,将匹配的方法导航节点保存到这里,以备在Parser中使用,因为Parser在拿到当前的方法描述符对应的Token时,
19
20
  * 也需要根据这个Token来找到对应的目标方法,所以为了在Parser中少查询一次,就将匹配的方法导航节点保存到这里。
20
21
  */
21
- private currentMatchedMethodNode;
22
+ private currentMatchedMethodNextNodes;
22
23
  /**
23
24
  * 记录当前匹配的变量导航树节点,以为下次匹配判断做准备。
24
25
  */
25
26
  private matchedVariableNavigationNodes;
27
+ /**
28
+ * 记录在语法解析中遇到的方法返回值对应的类型可能存在的对应的变量导航树节点,
29
+ * 这样在方法解析完成后,如果后面出现字段描述,那么就可以通过解析这里记录的节点信息解析出对应的字段Token
30
+ */
31
+ private parserMethodVariableNavigationNodes;
32
+ boostRuleParser: BoostRuleParser | undefined;
26
33
  private clean;
27
34
  /**
28
35
  * 词法解析中每次解析一个Token都需要通过这个方法来判断当前解析的位置,
@@ -38,6 +45,16 @@ export declare class ParserHelper {
38
45
  * @param avaliablePredefineVariablesMap 当前位置上可用的预定义变量信息
39
46
  */
40
47
  encounterVariableName(variableName: string, avaliablePredefineVariablesMap: Map<string, Datatype>): void;
48
+ getParserMethodVariableNavigationNodes(): NavigationNode[];
49
+ /**
50
+ * 应用Parser中解析出来的已完成的方法的返回值类型,如果这个类型存在对应的业务对象,就将这个业务对象的属性节点作为后续匹配节点
51
+ * @param matchedMethodNodes Parser中解析出来的已完成的方法的导航节点
52
+ * @param clean 是否需要先清空可能存在的变量字段节点信息
53
+ * @returns void
54
+ */
55
+ applyCurrentParserMethodReturnDatatype(matchedMethodNodes?: NavigationNode[]): void;
56
+ applyOldCurrentParserMethodReturnDatatype(matchedMethodNodes?: NavigationNode[]): void;
57
+ private buildParserMethodVariableNavigationNodes;
41
58
  assertEnumDescriptor(lexer: RuleLexer): boolean;
42
59
  assertFieldDescriptor(lexer: RuleLexer): boolean;
43
60
  assertMethodDescriptor(lexer: RuleLexer): boolean;
@@ -50,7 +67,8 @@ export declare class ParserHelper {
50
67
  */
51
68
  private loadTargetIndexMatchedMethodNodes;
52
69
  private aheadTokenDetection;
53
- getCurrentMatchedMethodNode(): NavigationNode | undefined;
70
+ private aheadTokenDetectionByIndex;
71
+ getCurrentMatchedMethodNextNodes(): NavigationNode[];
54
72
  allowSearch(type: AllowSearchType): boolean;
55
73
  get currentPrsePosition(): ParsePosition;
56
74
  set currentAllowSearchType(type: AllowSearchType);
@@ -15,10 +15,6 @@ export declare const isLiteralToken: (token: Token) => boolean;
15
15
  * 用于在词法解析时标记当前解析的位置
16
16
  */
17
17
  export declare enum ParsePosition {
18
- /**
19
- * 当前解析处于规则开始部分
20
- */
21
- Property = "Property",
22
18
  /**
23
19
  * 当前解析处于预定义部分
24
20
  */