@aloudata/ink-lineage 0.0.1-beta.21 → 0.0.1-beta.22

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 (249) hide show
  1. package/dist/BigDagre.d.ts +15 -0
  2. package/dist/BigDagre.d.ts.map +1 -0
  3. package/dist/BigDagre.js +98 -0
  4. package/dist/BigDagre.js.map +1 -0
  5. package/dist/components/Edges/DefaultEdge.d.ts.map +1 -0
  6. package/dist/components/Edges/DefaultEdge.js +146 -0
  7. package/dist/components/Edges/DefaultEdge.js.map +1 -0
  8. package/dist/components/Edges/FoldEdge.d.ts.map +1 -0
  9. package/dist/components/Edges/FoldEdge.js +76 -0
  10. package/dist/components/Edges/FoldEdge.js.map +1 -0
  11. package/dist/components/Edges/LineageEdge.d.ts.map +1 -0
  12. package/dist/components/Edges/LineageEdge.js +20 -0
  13. package/dist/components/Edges/LineageEdge.js.map +1 -0
  14. package/dist/components/Edges/index.d.ts.map +1 -0
  15. package/dist/components/Nodes/AssetNode.d.ts +19 -0
  16. package/dist/components/Nodes/AssetNode.d.ts.map +1 -0
  17. package/dist/components/Nodes/AssetNode.js +137 -0
  18. package/dist/components/Nodes/AssetNode.js.map +1 -0
  19. package/dist/components/Nodes/DefaultNode.d.ts +28 -0
  20. package/dist/components/Nodes/DefaultNode.d.ts.map +1 -0
  21. package/dist/components/Nodes/DefaultNode.js +106 -0
  22. package/dist/components/Nodes/DefaultNode.js.map +1 -0
  23. package/dist/components/Nodes/Table/AssetBaseNode.d.ts +11 -0
  24. package/dist/components/Nodes/Table/AssetBaseNode.d.ts.map +1 -0
  25. package/dist/components/Nodes/Table/AssetBaseNode.js +40 -0
  26. package/dist/components/Nodes/Table/AssetBaseNode.js.map +1 -0
  27. package/dist/components/Nodes/Table/ColumnNode.d.ts +28 -0
  28. package/dist/components/Nodes/Table/ColumnNode.d.ts.map +1 -0
  29. package/dist/components/Nodes/Table/ColumnNode.js +223 -0
  30. package/dist/components/Nodes/Table/ColumnNode.js.map +1 -0
  31. package/dist/components/Nodes/Table/CustomNode.d.ts +11 -0
  32. package/dist/components/Nodes/Table/CustomNode.d.ts.map +1 -0
  33. package/dist/components/Nodes/Table/CustomNode.js +41 -0
  34. package/dist/components/Nodes/Table/CustomNode.js.map +1 -0
  35. package/dist/components/Nodes/Table/TableNode.d.ts +23 -0
  36. package/dist/components/Nodes/Table/TableNode.d.ts.map +1 -0
  37. package/dist/components/Nodes/Table/TableNode.js +69 -0
  38. package/dist/components/Nodes/Table/TableNode.js.map +1 -0
  39. package/dist/components/Nodes/Task/TaskColumnNode.d.ts +24 -0
  40. package/dist/components/Nodes/Task/TaskColumnNode.d.ts.map +1 -0
  41. package/dist/components/Nodes/Task/TaskColumnNode.js +295 -0
  42. package/dist/components/Nodes/Task/TaskColumnNode.js.map +1 -0
  43. package/dist/components/Nodes/Task/TaskTableNode.d.ts +23 -0
  44. package/dist/components/Nodes/Task/TaskTableNode.d.ts.map +1 -0
  45. package/dist/components/Nodes/Task/TaskTableNode.js +116 -0
  46. package/dist/components/Nodes/Task/TaskTableNode.js.map +1 -0
  47. package/dist/components/Nodes/index.d.ts +6 -0
  48. package/dist/components/Nodes/index.d.ts.map +1 -0
  49. package/dist/components/Nodes/index.js +6 -0
  50. package/dist/components/Nodes/index.js.map +1 -0
  51. package/dist/components/index.d.ts.map +1 -0
  52. package/dist/components/index.js +3 -0
  53. package/dist/components/index.js.map +1 -0
  54. package/dist/constant/index.d.ts.map +1 -0
  55. package/dist/constant/index.js +2 -0
  56. package/dist/constant/index.js.map +1 -0
  57. package/dist/constant/nodeStyle.d.ts +76 -0
  58. package/dist/constant/nodeStyle.d.ts.map +1 -0
  59. package/dist/constant/nodeStyle.js +112 -0
  60. package/dist/constant/nodeStyle.js.map +1 -0
  61. package/dist/decorators/AssetBaseHeader.d.ts +10 -0
  62. package/dist/decorators/AssetBaseHeader.d.ts.map +1 -0
  63. package/dist/decorators/AssetBaseHeader.js +25 -0
  64. package/dist/decorators/AssetBaseHeader.js.map +1 -0
  65. package/dist/decorators/Column/BaseComponent.d.ts +9 -0
  66. package/dist/decorators/Column/BaseComponent.d.ts.map +1 -0
  67. package/dist/decorators/Column/BaseComponent.js +129 -0
  68. package/dist/decorators/Column/BaseComponent.js.map +1 -0
  69. package/dist/decorators/Column/TableColunm.d.ts +11 -0
  70. package/dist/decorators/Column/TableColunm.d.ts.map +1 -0
  71. package/dist/decorators/Column/TableColunm.js +31 -0
  72. package/dist/decorators/Column/TableColunm.js.map +1 -0
  73. package/dist/decorators/Column/TaskColumn.d.ts +7 -0
  74. package/dist/decorators/Column/TaskColumn.d.ts.map +1 -0
  75. package/dist/decorators/Column/TaskColumn.js +12 -0
  76. package/dist/decorators/Column/TaskColumn.js.map +1 -0
  77. package/dist/decorators/CustomHeader.d.ts +10 -0
  78. package/dist/decorators/CustomHeader.d.ts.map +1 -0
  79. package/dist/decorators/CustomHeader.js +26 -0
  80. package/dist/decorators/CustomHeader.js.map +1 -0
  81. package/dist/decorators/RenderColumn.d.ts +3 -0
  82. package/dist/decorators/RenderColumn.d.ts.map +1 -0
  83. package/dist/decorators/RenderColumn.js +30 -0
  84. package/dist/decorators/RenderColumn.js.map +1 -0
  85. package/dist/decorators/RenderContent.d.ts +3 -0
  86. package/dist/decorators/RenderContent.d.ts.map +1 -0
  87. package/dist/decorators/RenderContent.js +162 -0
  88. package/dist/decorators/RenderContent.js.map +1 -0
  89. package/dist/decorators/RenderFooter.d.ts +3 -0
  90. package/dist/decorators/RenderFooter.d.ts.map +1 -0
  91. package/dist/decorators/RenderFooter.js +150 -0
  92. package/dist/decorators/RenderFooter.js.map +1 -0
  93. package/dist/decorators/RenderHeader.d.ts +3 -0
  94. package/dist/decorators/RenderHeader.d.ts.map +1 -0
  95. package/dist/decorators/RenderHeader.js +30 -0
  96. package/dist/decorators/RenderHeader.js.map +1 -0
  97. package/dist/decorators/SideIcon.d.ts +8 -0
  98. package/dist/decorators/SideIcon.d.ts.map +1 -0
  99. package/dist/decorators/SideIcon.js +68 -0
  100. package/dist/decorators/SideIcon.js.map +1 -0
  101. package/dist/decorators/Table/BaseHeaderComponent.d.ts +18 -0
  102. package/dist/decorators/Table/BaseHeaderComponent.d.ts.map +1 -0
  103. package/dist/decorators/Table/BaseHeaderComponent.js +279 -0
  104. package/dist/decorators/Table/BaseHeaderComponent.js.map +1 -0
  105. package/dist/decorators/Table/TableHeader.d.ts +10 -0
  106. package/dist/decorators/Table/TableHeader.d.ts.map +1 -0
  107. package/dist/decorators/Table/TableHeader.js +27 -0
  108. package/dist/decorators/Table/TableHeader.js.map +1 -0
  109. package/dist/decorators/Table/TaskHeader.d.ts +8 -0
  110. package/dist/decorators/Table/TaskHeader.d.ts.map +1 -0
  111. package/dist/decorators/Table/TaskHeader.js +20 -0
  112. package/dist/decorators/Table/TaskHeader.js.map +1 -0
  113. package/dist/decorators/index.d.ts +6 -0
  114. package/dist/decorators/index.d.ts.map +1 -0
  115. package/dist/decorators/index.js +7 -0
  116. package/dist/decorators/index.js.map +1 -0
  117. package/dist/decorators/types.d.ts +6 -0
  118. package/dist/decorators/types.d.ts.map +1 -0
  119. package/dist/decorators/types.js +2 -0
  120. package/dist/decorators/types.js.map +1 -0
  121. package/dist/index.d.ts.map +1 -0
  122. package/dist/index.js +6 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/manager/BaseGraphEventManager.d.ts +10 -0
  125. package/dist/manager/BaseGraphEventManager.d.ts.map +1 -0
  126. package/dist/manager/BaseGraphEventManager.js +65 -0
  127. package/dist/manager/BaseGraphEventManager.js.map +1 -0
  128. package/dist/manager/BaseManager.d.ts +9 -0
  129. package/dist/manager/BaseManager.d.ts.map +1 -0
  130. package/dist/manager/BaseManager.js +10 -0
  131. package/dist/manager/BaseManager.js.map +1 -0
  132. package/dist/manager/BaseRightKeyMenuManager.d.ts +36 -0
  133. package/dist/manager/BaseRightKeyMenuManager.d.ts.map +1 -0
  134. package/dist/manager/BaseRightKeyMenuManager.js +89 -0
  135. package/dist/manager/BaseRightKeyMenuManager.js.map +1 -0
  136. package/dist/manager/ExpandManager.d.ts +19 -0
  137. package/dist/manager/ExpandManager.d.ts.map +1 -0
  138. package/dist/manager/ExpandManager.js +83 -0
  139. package/dist/manager/ExpandManager.js.map +1 -0
  140. package/dist/manager/FoldLineageManager.d.ts +36 -0
  141. package/dist/manager/FoldLineageManager.d.ts.map +1 -0
  142. package/dist/manager/FoldLineageManager.js +209 -0
  143. package/dist/manager/FoldLineageManager.js.map +1 -0
  144. package/dist/manager/LineageManager.d.ts +157 -0
  145. package/dist/manager/LineageManager.d.ts.map +1 -0
  146. package/dist/manager/LineageManager.js +770 -0
  147. package/dist/manager/LineageManager.js.map +1 -0
  148. package/dist/manager/SearchNodeManager.d.ts +11 -0
  149. package/dist/manager/SearchNodeManager.d.ts.map +1 -0
  150. package/dist/manager/SearchNodeManager.js +97 -0
  151. package/dist/manager/SearchNodeManager.js.map +1 -0
  152. package/dist/manager/TableDataProcessor.d.ts +23 -0
  153. package/dist/manager/TableDataProcessor.d.ts.map +1 -0
  154. package/dist/manager/TableDataProcessor.js +569 -0
  155. package/dist/manager/TableDataProcessor.js.map +1 -0
  156. package/dist/manager/TableGraphEventManager.d.ts +6 -0
  157. package/dist/manager/TableGraphEventManager.d.ts.map +1 -0
  158. package/dist/manager/TableGraphEventManager.js +21 -0
  159. package/dist/manager/TableGraphEventManager.js.map +1 -0
  160. package/dist/manager/TableRightKeyMenuManager.d.ts +8 -0
  161. package/dist/manager/TableRightKeyMenuManager.d.ts.map +1 -0
  162. package/dist/manager/TableRightKeyMenuManager.js +20 -0
  163. package/dist/manager/TableRightKeyMenuManager.js.map +1 -0
  164. package/dist/manager/TaskDataProcessor.d.ts +82 -0
  165. package/dist/manager/TaskDataProcessor.d.ts.map +1 -0
  166. package/dist/manager/TaskDataProcessor.js +303 -0
  167. package/dist/manager/TaskDataProcessor.js.map +1 -0
  168. package/dist/manager/TaskGraphEventManager.d.ts +6 -0
  169. package/dist/manager/TaskGraphEventManager.d.ts.map +1 -0
  170. package/dist/manager/TaskGraphEventManager.js +22 -0
  171. package/dist/manager/TaskGraphEventManager.js.map +1 -0
  172. package/dist/manager/TaskRightKeyMenuManager.d.ts +20 -0
  173. package/dist/manager/TaskRightKeyMenuManager.d.ts.map +1 -0
  174. package/dist/manager/TaskRightKeyMenuManager.js +149 -0
  175. package/dist/manager/TaskRightKeyMenuManager.js.map +1 -0
  176. package/dist/manager/ToolbarManager.d.ts +12 -0
  177. package/dist/manager/ToolbarManager.d.ts.map +1 -0
  178. package/dist/manager/ToolbarManager.js +36 -0
  179. package/dist/manager/ToolbarManager.js.map +1 -0
  180. package/dist/manager/index.d.ts +14 -0
  181. package/dist/manager/index.d.ts.map +1 -0
  182. package/dist/manager/index.js +14 -0
  183. package/dist/manager/index.js.map +1 -0
  184. package/dist/manager/nodeManager/AssetEventManager.d.ts.map +1 -0
  185. package/dist/manager/nodeManager/AssetEventManager.js +300 -0
  186. package/dist/manager/nodeManager/AssetEventManager.js.map +1 -0
  187. package/dist/manager/nodeManager/BaseColumnEventManager.d.ts +12 -0
  188. package/dist/manager/nodeManager/BaseColumnEventManager.d.ts.map +1 -0
  189. package/dist/manager/nodeManager/BaseColumnEventManager.js +77 -0
  190. package/dist/manager/nodeManager/BaseColumnEventManager.js.map +1 -0
  191. package/dist/manager/nodeManager/BaseEventManager.d.ts.map +1 -0
  192. package/dist/manager/nodeManager/BaseEventManager.js +89 -0
  193. package/dist/manager/nodeManager/BaseEventManager.js.map +1 -0
  194. package/dist/manager/nodeManager/ColumnEventManager.d.ts +8 -0
  195. package/dist/manager/nodeManager/ColumnEventManager.d.ts.map +1 -0
  196. package/dist/manager/nodeManager/ColumnEventManager.js +280 -0
  197. package/dist/manager/nodeManager/ColumnEventManager.js.map +1 -0
  198. package/dist/manager/nodeManager/CustomEventManager.d.ts.map +1 -0
  199. package/dist/manager/nodeManager/TableEventManager.d.ts.map +1 -0
  200. package/dist/manager/nodeManager/TableEventManager.js +100 -0
  201. package/dist/manager/nodeManager/TableEventManager.js.map +1 -0
  202. package/dist/manager/nodeManager/index.d.ts.map +1 -0
  203. package/dist/manager/nodeManager/index.js +4 -0
  204. package/dist/manager/nodeManager/index.js.map +1 -0
  205. package/dist/manager/nodeManager/task/TaskColumnEventManager.d.ts +6 -0
  206. package/dist/manager/nodeManager/task/TaskColumnEventManager.d.ts.map +1 -0
  207. package/dist/manager/nodeManager/task/TaskColumnEventManager.js +75 -0
  208. package/dist/manager/nodeManager/task/TaskColumnEventManager.js.map +1 -0
  209. package/dist/manager/nodeManager/task/TaskTableEventManager.d.ts +13 -0
  210. package/dist/manager/nodeManager/task/TaskTableEventManager.d.ts.map +1 -0
  211. package/dist/manager/nodeManager/task/TaskTableEventManager.js +198 -0
  212. package/dist/manager/nodeManager/task/TaskTableEventManager.js.map +1 -0
  213. package/dist/types/eventEnum.d.ts +59 -0
  214. package/dist/types/eventEnum.d.ts.map +1 -0
  215. package/dist/types/eventEnum.js +89 -0
  216. package/dist/types/eventEnum.js.map +1 -0
  217. package/dist/types/index.d.ts +5 -0
  218. package/dist/types/index.d.ts.map +1 -0
  219. package/dist/types/index.js +5 -0
  220. package/dist/types/index.js.map +1 -0
  221. package/dist/types/manager.d.ts +116 -0
  222. package/dist/types/manager.d.ts.map +1 -0
  223. package/dist/types/manager.js +53 -0
  224. package/dist/types/manager.js.map +1 -0
  225. package/dist/types/node.d.ts +211 -0
  226. package/dist/types/node.d.ts.map +1 -0
  227. package/dist/types/node.js +120 -0
  228. package/dist/types/node.js.map +1 -0
  229. package/dist/utils/foldNode.d.ts +6 -0
  230. package/dist/utils/foldNode.d.ts.map +1 -0
  231. package/dist/utils/foldNode.js +242 -0
  232. package/dist/utils/foldNode.js.map +1 -0
  233. package/dist/utils/getIconByType.d.ts +4 -0
  234. package/dist/utils/getIconByType.d.ts.map +1 -0
  235. package/dist/utils/getIconByType.js +72 -0
  236. package/dist/utils/getIconByType.js.map +1 -0
  237. package/dist/utils/index.d.ts +5 -0
  238. package/dist/utils/index.d.ts.map +1 -0
  239. package/dist/utils/index.js +5 -0
  240. package/dist/utils/index.js.map +1 -0
  241. package/dist/utils/manager.d.ts +25 -0
  242. package/dist/utils/manager.d.ts.map +1 -0
  243. package/dist/utils/manager.js +158 -0
  244. package/dist/utils/manager.js.map +1 -0
  245. package/dist/utils/node.d.ts +33 -0
  246. package/dist/utils/node.d.ts.map +1 -0
  247. package/dist/utils/node.js +385 -0
  248. package/dist/utils/node.js.map +1 -0
  249. package/package.json +1 -1
@@ -0,0 +1,211 @@
1
+ import { ColumnNode, CustomNode, TableNode, TaskColumnNode, TaskTableNode } from '../components';
2
+ import { IBaseEdgeConfig, IBaseNodeConfig } from "@aloudata/ink-graph-new";
3
+ export type IAssetNode = TableNode | CustomNode;
4
+ export type INode = IAssetNode | ColumnNode | TaskColumnNode | TaskTableNode;
5
+ export declare enum EEntityType {
6
+ TABLE = "TABLE",
7
+ TEMP_TABLE = "TEMP_TABLE",
8
+ CUSTOM = "CUSTOM",
9
+ VIEW = "VIEW"
10
+ }
11
+ export declare enum ETableType {
12
+ VIEW = "VIEW",
13
+ TABLE = "TABLE",
14
+ TEMP_TABLE = "TEMP_TABLE"
15
+ }
16
+ export declare enum EDirection {
17
+ OUTPUT = "OUTPUT",
18
+ INPUT = "INPUT",
19
+ BOTH = "BOTH"
20
+ }
21
+ export declare enum EDataSourceType {
22
+ MYSQL = "MYSQL",
23
+ MARIADB = "MARIADB",
24
+ GAUSS = "GAUSS",
25
+ HIVE = "HIVE",
26
+ KAFKA = "KAFKA",
27
+ POSTGRE = "POSTGRE",
28
+ POSTGRESQL = "POSTGRESQL",
29
+ SNOWFLAKE = "SNOWFLAKE",
30
+ IMPALA = "IMPALA",
31
+ ORACLE = "ORACLE",
32
+ SPARK = "SPARK",
33
+ TERADATA = "TERADATA",
34
+ DB2 = "DB2",
35
+ OTHER = "OTHER",
36
+ DORIS = "DORIS",
37
+ OPEN_GAUSS = "OPENGAUSS",
38
+ FLINK = "FLINK",
39
+ GREEN_PLUM = "GREENPLUM",
40
+ SQLSERVER = "SQLSERVER",
41
+ CLICK_HOUSE = "CLICKHOUSE",
42
+ BYTE_HOUSE = "BYTEHOUSE",
43
+ TIDB = "TIDB",
44
+ GOLDENDB = "GOLDENDB",
45
+ OCEAN_BASE = "OCEANBASE",
46
+ POLAR_DB = "POLARDB",
47
+ DM = "DM",
48
+ TDSQL = "TDSQL",
49
+ SEQUOIA_DB = "SEQUOIADB"
50
+ }
51
+ export declare enum ERelationType {
52
+ TableDirectTable = "TableDirectTable",
53
+ TableIndirectTable = "TableIndirectTable",
54
+ ColumnDirectColumn = "ColumnDirectColumn",
55
+ ColumnIndirectColumn = "ColumnIndirectColumn",
56
+ ColumnIndirectTable = "ColumnIndirectTable",
57
+ ColumnDirectCustom = "ColumnDirectCustom",
58
+ ColumnIndirectCustom = "ColumnIndirectCustom",
59
+ TableDirectCustom = "TableDirectCustom",
60
+ TableIndirectCustom = "TableIndirectCustom",
61
+ CustomDirectCustom = "CustomDirectCustom",
62
+ CustomIndirectCustom = "CustomIndirectCustom",
63
+ CustomIndirectTable = "CustomIndirectTable",
64
+ CustomDirectTable = "CustomDirectTable",
65
+ CustomDirectColumn = "CustomDirectColumn",
66
+ CustomIndirectColumn = "CustomIndirectColumn"
67
+ }
68
+ export declare enum EExpandType {
69
+ EXPAND = "EXPAND",
70
+ FOLD = "FOLD",
71
+ LODING = "LODING"
72
+ }
73
+ export declare const EXPAND_BUTTON_TYPE: {
74
+ EXPAND: string;
75
+ FOLD: string;
76
+ LODING: string;
77
+ };
78
+ export declare enum EElementType {
79
+ TABLE = "TABLE",
80
+ COLUMN = "COLUMN",
81
+ CUSTOM = "CUSTOM",
82
+ DOWNGRADE = "DOWNGRADE"
83
+ }
84
+ export declare enum EOverviewType {
85
+ TABLE = "TABLE",
86
+ VIEW = "VIEW",
87
+ COLUMN = "COLUMN",
88
+ TASK = "TASK",
89
+ TEMP_TABLE = "TEMP_TABLE",
90
+ TEMP_COLUMN = "TEMP_COLUMN",
91
+ CUSTOM = "CUSTOM"
92
+ }
93
+ export declare enum EDashType {
94
+ DIRECT = "DIRECT",
95
+ INDIRECT = "INDIRECT",
96
+ ALL = "ALL"
97
+ }
98
+ export interface ILineageData<TTable, TColumn> {
99
+ entities: IEntity<TTable>[];
100
+ relations: IBaseRelation[];
101
+ }
102
+ export interface IEntity<T> {
103
+ guid: string;
104
+ typeCode: string;
105
+ typeCodeName: string;
106
+ properties: T;
107
+ }
108
+ export interface IBaseRelation {
109
+ srcGuid: string;
110
+ dstGuid: string;
111
+ relationTypeCode: ERelationType;
112
+ fold: boolean;
113
+ }
114
+ export interface ITableResBase<T> {
115
+ guid: string;
116
+ columns?: Array<T>;
117
+ name: string;
118
+ type?: string;
119
+ columnCount?: number;
120
+ typeCodeName?: string;
121
+ icon?: string;
122
+ typeCode?: string;
123
+ displayName?: string;
124
+ datasourceType?: EDataSourceType;
125
+ description?: string;
126
+ assetPath?: string;
127
+ assetChnPath?: string;
128
+ isHotspot?: boolean;
129
+ hotspots?: any[];
130
+ direction?: EDirection;
131
+ }
132
+ export interface IColResBase {
133
+ name: string;
134
+ guid: string;
135
+ tableName: string;
136
+ position: number;
137
+ constraint?: string;
138
+ displayName?: string;
139
+ description?: string;
140
+ direction?: EDirection;
141
+ }
142
+ export interface IParsedGraphData<TData extends ITableResBase<TColumn>, TColumn extends IColResBase> {
143
+ nodes: INodeConfig<TData, TColumn>[];
144
+ edges: IEdgeConfig[];
145
+ }
146
+ /****************************************************************** *******************************************************************/
147
+ export interface IEdgeConfig extends IBaseEdgeConfig {
148
+ id: string;
149
+ type: string;
150
+ relationType: EDashType;
151
+ isFolded: boolean;
152
+ canBeFold: boolean;
153
+ data: {
154
+ srcGuid: string;
155
+ dstGuid: string;
156
+ relationTypeCode: ERelationType;
157
+ fold?: boolean;
158
+ };
159
+ source: string;
160
+ target: string;
161
+ style?: {
162
+ [key: string]: any;
163
+ };
164
+ }
165
+ export interface INodeConfig<T extends ITableResBase<M>, M extends IColResBase> extends IBaseNodeConfig {
166
+ data: T;
167
+ children: IColumnConfig<M>[];
168
+ isStartNode: boolean;
169
+ isOpen: boolean;
170
+ visible: boolean;
171
+ isRelated: boolean;
172
+ isFolded: boolean;
173
+ isFoldInput: boolean;
174
+ isFoldOutput: boolean;
175
+ isExpandOutput: boolean;
176
+ isExpandInput: boolean;
177
+ canExpandInput: boolean;
178
+ canExpandOutput: boolean;
179
+ canFoldInput: boolean;
180
+ canFoldOutput: boolean;
181
+ hasMoreInput: boolean;
182
+ hasMoreOutput: boolean;
183
+ canBeFold: boolean;
184
+ pagination: {
185
+ pageNum: number;
186
+ pageSize: number;
187
+ total: number;
188
+ totalPage: number;
189
+ };
190
+ relatedColumns: IColumnConfig<M>[];
191
+ [key: string]: unknown;
192
+ }
193
+ export interface IColumnConfig<T> extends IBaseNodeConfig {
194
+ id: string;
195
+ tableId: string;
196
+ tableName: string;
197
+ visible: boolean;
198
+ isRelated: boolean;
199
+ isRelatedColumn: boolean;
200
+ isFolded: boolean;
201
+ canBeFold: boolean;
202
+ canExpandInput: boolean;
203
+ canExpandOutput: boolean;
204
+ canFoldInput: boolean;
205
+ canFoldOutput: boolean;
206
+ hasMoreInput: boolean;
207
+ hasMoreOutput: boolean;
208
+ isStartNode: boolean;
209
+ data: T;
210
+ }
211
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/types/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ var _a;
2
+ import { expandIcon, foldIcon, loadingIcon } from '../assets';
3
+ export var EEntityType;
4
+ (function (EEntityType) {
5
+ EEntityType["TABLE"] = "TABLE";
6
+ EEntityType["TEMP_TABLE"] = "TEMP_TABLE";
7
+ EEntityType["CUSTOM"] = "CUSTOM";
8
+ EEntityType["VIEW"] = "VIEW";
9
+ })(EEntityType || (EEntityType = {}));
10
+ export var ETableType;
11
+ (function (ETableType) {
12
+ ETableType["VIEW"] = "VIEW";
13
+ ETableType["TABLE"] = "TABLE";
14
+ ETableType["TEMP_TABLE"] = "TEMP_TABLE";
15
+ })(ETableType || (ETableType = {}));
16
+ export var EDirection;
17
+ (function (EDirection) {
18
+ EDirection["OUTPUT"] = "OUTPUT";
19
+ EDirection["INPUT"] = "INPUT";
20
+ EDirection["BOTH"] = "BOTH";
21
+ })(EDirection || (EDirection = {}));
22
+ export var EDataSourceType;
23
+ (function (EDataSourceType) {
24
+ EDataSourceType["MYSQL"] = "MYSQL";
25
+ EDataSourceType["MARIADB"] = "MARIADB";
26
+ EDataSourceType["GAUSS"] = "GAUSS";
27
+ EDataSourceType["HIVE"] = "HIVE";
28
+ EDataSourceType["KAFKA"] = "KAFKA";
29
+ EDataSourceType["POSTGRE"] = "POSTGRE";
30
+ EDataSourceType["POSTGRESQL"] = "POSTGRESQL";
31
+ EDataSourceType["SNOWFLAKE"] = "SNOWFLAKE";
32
+ EDataSourceType["IMPALA"] = "IMPALA";
33
+ EDataSourceType["ORACLE"] = "ORACLE";
34
+ EDataSourceType["SPARK"] = "SPARK";
35
+ EDataSourceType["TERADATA"] = "TERADATA";
36
+ EDataSourceType["DB2"] = "DB2";
37
+ EDataSourceType["OTHER"] = "OTHER";
38
+ EDataSourceType["DORIS"] = "DORIS";
39
+ EDataSourceType["OPEN_GAUSS"] = "OPENGAUSS";
40
+ EDataSourceType["FLINK"] = "FLINK";
41
+ EDataSourceType["GREEN_PLUM"] = "GREENPLUM";
42
+ EDataSourceType["SQLSERVER"] = "SQLSERVER";
43
+ EDataSourceType["CLICK_HOUSE"] = "CLICKHOUSE";
44
+ EDataSourceType["BYTE_HOUSE"] = "BYTEHOUSE";
45
+ EDataSourceType["TIDB"] = "TIDB";
46
+ EDataSourceType["GOLDENDB"] = "GOLDENDB";
47
+ EDataSourceType["OCEAN_BASE"] = "OCEANBASE";
48
+ EDataSourceType["POLAR_DB"] = "POLARDB";
49
+ EDataSourceType["DM"] = "DM";
50
+ EDataSourceType["TDSQL"] = "TDSQL";
51
+ EDataSourceType["SEQUOIA_DB"] = "SEQUOIADB";
52
+ })(EDataSourceType || (EDataSourceType = {}));
53
+ export var ERelationType;
54
+ (function (ERelationType) {
55
+ // 表到表 直接关系
56
+ ERelationType["TableDirectTable"] = "TableDirectTable";
57
+ // 表到表 间接关系
58
+ ERelationType["TableIndirectTable"] = "TableIndirectTable";
59
+ // 列到列 直接关系
60
+ ERelationType["ColumnDirectColumn"] = "ColumnDirectColumn";
61
+ // 列到列 间接关系
62
+ ERelationType["ColumnIndirectColumn"] = "ColumnIndirectColumn";
63
+ // 列到表 间接关系
64
+ ERelationType["ColumnIndirectTable"] = "ColumnIndirectTable";
65
+ // 列到自定义 直接关系 new
66
+ ERelationType["ColumnDirectCustom"] = "ColumnDirectCustom";
67
+ // 列到自定义 间接关系 new
68
+ ERelationType["ColumnIndirectCustom"] = "ColumnIndirectCustom";
69
+ // 表到自定义 直接关系 new
70
+ ERelationType["TableDirectCustom"] = "TableDirectCustom";
71
+ // 表到自定义 间接关系 new
72
+ ERelationType["TableIndirectCustom"] = "TableIndirectCustom";
73
+ // 自定义到自定义 直接关系 new
74
+ ERelationType["CustomDirectCustom"] = "CustomDirectCustom";
75
+ // 自定义到自定义 间接关系 new
76
+ ERelationType["CustomIndirectCustom"] = "CustomIndirectCustom";
77
+ // 自定义到表 间接关系 new
78
+ ERelationType["CustomIndirectTable"] = "CustomIndirectTable";
79
+ // 自定义到表 直接关系 new
80
+ ERelationType["CustomDirectTable"] = "CustomDirectTable";
81
+ // 自定义到列 直接关系 new
82
+ ERelationType["CustomDirectColumn"] = "CustomDirectColumn";
83
+ // 自定义到列 间接关系 new
84
+ ERelationType["CustomIndirectColumn"] = "CustomIndirectColumn";
85
+ })(ERelationType || (ERelationType = {}));
86
+ export var EExpandType;
87
+ (function (EExpandType) {
88
+ EExpandType["EXPAND"] = "EXPAND";
89
+ EExpandType["FOLD"] = "FOLD";
90
+ EExpandType["LODING"] = "LODING";
91
+ })(EExpandType || (EExpandType = {}));
92
+ export var EXPAND_BUTTON_TYPE = (_a = {},
93
+ _a[EExpandType.EXPAND] = expandIcon,
94
+ _a[EExpandType.FOLD] = foldIcon,
95
+ _a[EExpandType.LODING] = loadingIcon,
96
+ _a);
97
+ export var EElementType;
98
+ (function (EElementType) {
99
+ EElementType["TABLE"] = "TABLE";
100
+ EElementType["COLUMN"] = "COLUMN";
101
+ EElementType["CUSTOM"] = "CUSTOM";
102
+ EElementType["DOWNGRADE"] = "DOWNGRADE";
103
+ })(EElementType || (EElementType = {}));
104
+ export var EOverviewType;
105
+ (function (EOverviewType) {
106
+ EOverviewType["TABLE"] = "TABLE";
107
+ EOverviewType["VIEW"] = "VIEW";
108
+ EOverviewType["COLUMN"] = "COLUMN";
109
+ EOverviewType["TASK"] = "TASK";
110
+ EOverviewType["TEMP_TABLE"] = "TEMP_TABLE";
111
+ EOverviewType["TEMP_COLUMN"] = "TEMP_COLUMN";
112
+ EOverviewType["CUSTOM"] = "CUSTOM";
113
+ })(EOverviewType || (EOverviewType = {}));
114
+ export var EDashType;
115
+ (function (EDashType) {
116
+ EDashType["DIRECT"] = "DIRECT";
117
+ EDashType["INDIRECT"] = "INDIRECT";
118
+ EDashType["ALL"] = "ALL";
119
+ })(EDashType || (EDashType = {}));
120
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/types/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IColResBase, IEdgeConfig, INodeConfig, ITableResBase } from '../types';
2
+ import { IFoldGroup, InkLineageManager } from '..';
3
+ export declare function getFoldNodes<TTableData extends ITableResBase<TColumnData>, TColumnData extends IColResBase>(nodes: INodeConfig<TTableData, TColumnData>[], edges: IEdgeConfig[], lineageMgr: InkLineageManager<TTableData, TColumnData>): INodeConfig<TTableData, TColumnData>[];
4
+ export declare function getFoldNodesGroup<TTableData extends ITableResBase<TColumnData>, TColumnData extends IColResBase>(nodesConfig: INodeConfig<TTableData, TColumnData>[], edgesConfig: IEdgeConfig[]): INodeConfig<TTableData, TColumnData>[][];
5
+ export declare function getFoldNodesGroupMap<TTableData extends ITableResBase<TColumnData>, TColumnData extends IColResBase>(nodesConfigGroup: INodeConfig<TTableData, TColumnData>[][], edgesConfig: IEdgeConfig[]): Map<string, IFoldGroup<TTableData, TColumnData>>;
6
+ //# sourceMappingURL=foldNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foldNode.d.ts","sourceRoot":"","sources":["../../src/utils/foldNode.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,EAEX,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAiInD,wBAAgB,YAAY,CAC1B,UAAU,SAAS,aAAa,CAAC,WAAW,CAAC,EAC7C,WAAW,SAAS,WAAW,EAE/B,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAC7C,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,0CAqEvD;AAGD,wBAAgB,iBAAiB,CAC/B,UAAU,SAAS,aAAa,CAAC,WAAW,CAAC,EAC7C,WAAW,SAAS,WAAW,EAE/B,WAAW,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EACnD,WAAW,EAAE,WAAW,EAAE,GACzB,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,CAsB1C;AAGD,wBAAgB,oBAAoB,CAClC,UAAU,SAAS,aAAa,CAAC,WAAW,CAAC,EAC7C,WAAW,SAAS,WAAW,EAE/B,gBAAgB,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,EAC1D,WAAW,EAAE,WAAW,EAAE,oDA8G3B"}
@@ -0,0 +1,242 @@
1
+ import { __read, __spreadArray, __values } from "tslib";
2
+ import { FOLD_EDGE, LINEAGE_EDGE } from '../constant';
3
+ import { EDashType, ERelationType, } from '../types';
4
+ function getRootNodesId(nodesConfig, allNodesId, edgesConfig) {
5
+ // 所有折叠边的终点
6
+ var downstreamNodesId = new Set(edgesConfig.map(function (edge) { return edge.target; }));
7
+ // 所有折叠边的起点
8
+ var rootNodesId = __spreadArray([], __read(allNodesId), false).filter(function (INodeId) { return !downstreamNodesId.has(INodeId); });
9
+ var rootNodes = nodesConfig.filter(function (nodeCfg) {
10
+ return rootNodesId.includes(nodeCfg.id);
11
+ });
12
+ return rootNodes.map(function (node) { return node.id; });
13
+ }
14
+ function getFoldNodeGroup(nodeId, nodesConfig, edgesConfig) {
15
+ // 找到每段折叠边的终点
16
+ var downstreamNodes = getDownstreamINodes(nodeId, edgesConfig);
17
+ // 所有折叠节点
18
+ var subtree = [nodesConfig.find(function (nodeCfg) { return nodeCfg.id === nodeId; })];
19
+ downstreamNodes.forEach(function (downstreamNodeId) {
20
+ subtree.push.apply(subtree, __spreadArray([], __read(getFoldNodeGroup(downstreamNodeId, nodesConfig, edgesConfig)), false));
21
+ });
22
+ return subtree;
23
+ }
24
+ function getDownstreamINodes(nodeId, edgesConfig) {
25
+ return edgesConfig
26
+ .filter(function (edgeCfg) { return edgeCfg.source === nodeId; })
27
+ .map(function (edgeCfg) { return edgeCfg.target; });
28
+ }
29
+ function getUpstreamTableId(nodeId, edgesConfig) {
30
+ var validEdge = edgesConfig.find(function (edge) {
31
+ return (edge.target === nodeId &&
32
+ (edge.relationType === EDashType.ALL ||
33
+ edge.relationType === EDashType.DIRECT));
34
+ });
35
+ if (!validEdge)
36
+ return '';
37
+ return validEdge.source;
38
+ }
39
+ function getDownstreamTableId(nodeId, edgesConfig) {
40
+ var validEdge = edgesConfig.find(function (edge) {
41
+ return (edge.source === nodeId &&
42
+ (edge.relationType === EDashType.ALL ||
43
+ edge.relationType === EDashType.DIRECT));
44
+ });
45
+ if (!validEdge)
46
+ return '';
47
+ return validEdge.target;
48
+ }
49
+ function findColumnsWithDirectEdges(columns, edges) {
50
+ var e_1, _a;
51
+ var result = [];
52
+ var _loop_1 = function (column) {
53
+ var upstreamEdges = edges.filter(function (edge) {
54
+ return edge.target === column.id &&
55
+ edge.relationType === EDashType.DIRECT &&
56
+ // 后端返回的fold为true的边,表示该边可以被折叠
57
+ edge.data.fold === true;
58
+ });
59
+ var downstreamEdges = edges.filter(function (edge) {
60
+ return edge.source === column.id &&
61
+ edge.relationType === EDashType.DIRECT &&
62
+ edge.data.fold === true;
63
+ });
64
+ if (upstreamEdges.length === 1 && downstreamEdges.length === 1) {
65
+ result.push({
66
+ column: column,
67
+ inputEdge: upstreamEdges[0],
68
+ outputEdge: downstreamEdges[0],
69
+ });
70
+ }
71
+ };
72
+ try {
73
+ for (var columns_1 = __values(columns), columns_1_1 = columns_1.next(); !columns_1_1.done; columns_1_1 = columns_1.next()) {
74
+ var column = columns_1_1.value;
75
+ _loop_1(column);
76
+ }
77
+ }
78
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
79
+ finally {
80
+ try {
81
+ if (columns_1_1 && !columns_1_1.done && (_a = columns_1.return)) _a.call(columns_1);
82
+ }
83
+ finally { if (e_1) throw e_1.error; }
84
+ }
85
+ return result;
86
+ }
87
+ // step 1: find all fold nodes
88
+ export function getFoldNodes(nodes, edges, lineageMgr) {
89
+ var foldNodes = [];
90
+ nodes.forEach(function (node) {
91
+ var _a, _b, _c, _d;
92
+ if (node.isStartNode)
93
+ return;
94
+ var relatedColumns = node.relatedColumns;
95
+ // 多个相关列,不进行折叠
96
+ if (relatedColumns.length > 1)
97
+ return;
98
+ // 只有一个列满足其上下游均为直接边,且直接边只有一条,表示该列可以被折叠
99
+ var canBeFoldColumns = findColumnsWithDirectEdges(relatedColumns, edges);
100
+ if (canBeFoldColumns.length !== 1)
101
+ return;
102
+ // 找到每个节点的上游和下游的直接边
103
+ var tableInputEdges = [];
104
+ var tableOutputEdges = [];
105
+ // 且该列的上下游relation只有一个且只能是fold为true
106
+ edges.forEach(function (edge) {
107
+ if (tableInputEdges.length > 1 || tableOutputEdges.length > 1) {
108
+ return;
109
+ }
110
+ if (edge.target === node.id &&
111
+ (edge.relationType === EDashType.DIRECT ||
112
+ edge.relationType === EDashType.ALL)) {
113
+ tableInputEdges.push(edge);
114
+ }
115
+ if (edge.source === node.id &&
116
+ (edge.relationType === EDashType.DIRECT ||
117
+ edge.relationType === EDashType.ALL)) {
118
+ tableOutputEdges.push(edge);
119
+ }
120
+ });
121
+ // 如果每个表以及这个表的 relatedColumns 的上游和下游的直接边都只有一条,则表示该节点可以被折叠
122
+ if (tableInputEdges.length === 1 && tableOutputEdges.length === 1) {
123
+ var inputNodeConfig = lineageMgr.getNodeConfigById((_a = canBeFoldColumns[0]) === null || _a === void 0 ? void 0 : _a.inputEdge.source);
124
+ var currNodeConfig = lineageMgr.getNodeConfigById((_b = canBeFoldColumns[0]) === null || _b === void 0 ? void 0 : _b.outputEdge.target);
125
+ var inputTableNode = lineageMgr.getNodeConfigById((inputNodeConfig === null || inputNodeConfig === void 0 ? void 0 : inputNodeConfig.tableId) || (inputNodeConfig === null || inputNodeConfig === void 0 ? void 0 : inputNodeConfig.id));
126
+ var currTableNode = lineageMgr.getNodeConfigById((currNodeConfig === null || currNodeConfig === void 0 ? void 0 : currNodeConfig.tableId) || (currNodeConfig === null || currNodeConfig === void 0 ? void 0 : currNodeConfig.id));
127
+ if (((_c = inputTableNode === null || inputTableNode === void 0 ? void 0 : inputTableNode.position) === null || _c === void 0 ? void 0 : _c.x) >= ((_d = currTableNode === null || currTableNode === void 0 ? void 0 : currTableNode.position) === null || _d === void 0 ? void 0 : _d.x))
128
+ return; // FIXME: 这里需要优化 @yunke
129
+ foldNodes.push(node);
130
+ }
131
+ });
132
+ return foldNodes;
133
+ }
134
+ // step 2: find all fold node groups
135
+ export function getFoldNodesGroup(nodesConfig, edgesConfig) {
136
+ var validNodeIds = new Set(nodesConfig.map(function (nodeCfg) { return nodeCfg.id; }));
137
+ // 找出连接每两个折叠节点的边
138
+ var validEdges = edgesConfig.filter(function (edgeCfg) {
139
+ return validNodeIds.has(edgeCfg.source) && validNodeIds.has(edgeCfg.target);
140
+ });
141
+ var rootNodesId = getRootNodesId(nodesConfig, validNodeIds, validEdges);
142
+ var nodesGroup = rootNodesId.map(function (rootNodeId) {
143
+ return getFoldNodeGroup(rootNodeId, nodesConfig, validEdges);
144
+ });
145
+ return nodesGroup;
146
+ }
147
+ // step 3: generate fold nodes map
148
+ export function getFoldNodesGroupMap(nodesConfigGroup, edgesConfig) {
149
+ var foldNodesMap = new Map();
150
+ nodesConfigGroup.forEach(function (nodes) {
151
+ var _a, _b;
152
+ // 获取起始节点的id: 每个子数组的第一个节点的srcId
153
+ var startNode = nodes[0];
154
+ // 从edges中找到startNode的上游table的id
155
+ var upstreamNodeId = getUpstreamTableId(startNode.id, edgesConfig);
156
+ // 获取末尾节点的id:每个子数组的末尾节点的dstId
157
+ var endNode = nodes[nodes.length - 1];
158
+ // 从edges中找到endNode的下游table的id
159
+ var downstreamNodeId = getDownstreamTableId(endNode.id, edgesConfig);
160
+ var srcColumnId = '';
161
+ var dstColumnId = '';
162
+ var startCanBeFoldColumns = findColumnsWithDirectEdges(startNode.relatedColumns, edgesConfig);
163
+ var endCanBeFoldColumns = findColumnsWithDirectEdges(endNode.relatedColumns, edgesConfig);
164
+ srcColumnId = (_a = startCanBeFoldColumns[0]) === null || _a === void 0 ? void 0 : _a.inputEdge.source;
165
+ dstColumnId = (_b = endCanBeFoldColumns[0]) === null || _b === void 0 ? void 0 : _b.outputEdge.target;
166
+ if (!srcColumnId || !dstColumnId)
167
+ return;
168
+ // 生成key "起始节点的id-末尾节点的id"
169
+ var key = "".concat(srcColumnId, "___").concat(dstColumnId);
170
+ // 从edges中挑选出当前子数组的所有边,都会删除
171
+ var foldEdges = [];
172
+ edgesConfig.forEach(function (edge) {
173
+ var _a;
174
+ var source = edge.source, target = edge.target, data = edge.data;
175
+ if ((_a = data === null || data === void 0 ? void 0 : data.relationTypeCode) === null || _a === void 0 ? void 0 : _a.includes('Table'))
176
+ return; // FIXME: 这里的判断条件不够严谨 @yunke
177
+ nodes.forEach(function (node) {
178
+ if (source === node.id ||
179
+ target === node.id ||
180
+ source.startsWith("".concat(node.id, ".")) ||
181
+ target.startsWith("".concat(node.id, "."))) {
182
+ edge.inFoldLink = true;
183
+ edge.foldTableId = key;
184
+ edge.type = FOLD_EDGE;
185
+ foldEdges.push(edge);
186
+ }
187
+ });
188
+ });
189
+ var value = {
190
+ foldNodes: nodes,
191
+ foldEdges: foldEdges,
192
+ foldNodeEdgeConfig: {
193
+ id: "".concat(upstreamNodeId, "___").concat(downstreamNodeId),
194
+ type: LINEAGE_EDGE,
195
+ data: {
196
+ relationTypeCode: ERelationType.TableDirectTable,
197
+ },
198
+ source: upstreamNodeId,
199
+ target: downstreamNodeId,
200
+ relationType: EDashType.DIRECT,
201
+ fold: false,
202
+ foldNodeId: key,
203
+ visible: true,
204
+ isActive: false,
205
+ isFolded: false,
206
+ canBeFold: false,
207
+ style: {
208
+ fill: '#0000',
209
+ stroke: '#B1B1B1',
210
+ lineWidth: 1,
211
+ },
212
+ isExtraFoldEdge: true,
213
+ },
214
+ foldColumnEdgeConfig: {
215
+ id: "".concat(srcColumnId, "___").concat(dstColumnId),
216
+ type: FOLD_EDGE,
217
+ data: {
218
+ relationTypeCode: ERelationType.ColumnDirectColumn,
219
+ },
220
+ source: srcColumnId,
221
+ target: dstColumnId,
222
+ relationType: EDashType.DIRECT,
223
+ fold: false,
224
+ showExpand: true,
225
+ foldNodeId: key,
226
+ visible: true,
227
+ isActive: false,
228
+ isFolded: false,
229
+ canBeFold: false,
230
+ style: {
231
+ fill: '#0000',
232
+ stroke: '#FFB01F',
233
+ lineWidth: 1,
234
+ },
235
+ isExtraFoldEdge: true,
236
+ },
237
+ };
238
+ foldNodesMap.set(key, value);
239
+ });
240
+ return foldNodesMap;
241
+ }
242
+ //# sourceMappingURL=foldNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foldNode.js","sourceRoot":"","sources":["../../src/utils/foldNode.ts"],"names":[],"mappings":"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"}