schyma 1.0.4 → 1.0.5

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 (35) hide show
  1. package/dist/cjs/components/App.d.ts +2 -7
  2. package/dist/cjs/components/App.js +1 -1
  3. package/dist/cjs/components/App.js.map +1 -1
  4. package/dist/cjs/components/Nodes.js +76 -84
  5. package/dist/cjs/components/Nodes.js.map +1 -1
  6. package/dist/cjs/constants/node.d.ts +2 -0
  7. package/dist/cjs/constants/node.js +6 -0
  8. package/dist/cjs/constants/node.js.map +1 -0
  9. package/dist/cjs/types.d.ts +17 -21
  10. package/dist/cjs/types.js +3 -0
  11. package/dist/cjs/types.js.map +1 -1
  12. package/dist/cjs/utils/dagreUtils.d.ts +5 -0
  13. package/dist/cjs/utils/dagreUtils.js +33 -0
  14. package/dist/cjs/utils/dagreUtils.js.map +1 -0
  15. package/dist/cjs/utils/reusables.d.ts +3 -2
  16. package/dist/cjs/utils/reusables.js +37 -38
  17. package/dist/cjs/utils/reusables.js.map +1 -1
  18. package/dist/esm/components/App.d.ts +2 -7
  19. package/dist/esm/components/App.js +1 -1
  20. package/dist/esm/components/App.js.map +1 -1
  21. package/dist/esm/components/Nodes.js +76 -84
  22. package/dist/esm/components/Nodes.js.map +1 -1
  23. package/dist/esm/constants/node.d.ts +2 -0
  24. package/dist/esm/constants/node.js +3 -0
  25. package/dist/esm/constants/node.js.map +1 -0
  26. package/dist/esm/types.d.ts +17 -21
  27. package/dist/esm/types.js +3 -0
  28. package/dist/esm/types.js.map +1 -1
  29. package/dist/esm/utils/dagreUtils.d.ts +5 -0
  30. package/dist/esm/utils/dagreUtils.js +28 -0
  31. package/dist/esm/utils/dagreUtils.js.map +1 -0
  32. package/dist/esm/utils/reusables.d.ts +3 -2
  33. package/dist/esm/utils/reusables.js +36 -38
  34. package/dist/esm/utils/reusables.js.map +1 -1
  35. package/package.json +6 -9
@@ -1,9 +1,4 @@
1
1
  import React from "react";
2
- import { JSONSchema7Object } from "json-schema";
3
- interface Default {
4
- title: string;
5
- description: string;
6
- schema: JSONSchema7Object;
7
- }
8
- declare function Schyma({ title, description, schema }: Default): React.JSX.Element;
2
+ import { ISchyma } from "../types";
3
+ declare function Schyma({ title, description, schema }: ISchyma): React.JSX.Element;
9
4
  export default Schyma;
@@ -32,7 +32,7 @@ function Schyma({ title, description, schema }) {
32
32
  }, [validate]);
33
33
  return (react_1.default.createElement("div", null, render ? react_1.default.createElement("div", { className: "body-wrapper" },
34
34
  react_1.default.createElement("div", { className: "node-container" },
35
- react_1.default.createElement(Nodes_1.default, { setnNodes: setnNodes, nNodes: nNodes, setCurrentNode: setCurrentNode, initialNode: initialNode, schema: schema })),
35
+ react_1.default.createElement(Nodes_1.default, { setnNodes: setnNodes, setCurrentNode: setCurrentNode, nNodes: nNodes, initialNode: initialNode, schema: schema })),
36
36
  react_1.default.createElement(Panel_1.default, { title: title, description: description, node: currentNode, nodes: nNodes })) : react_1.default.createElement("div", null, "loading")));
37
37
  }
38
38
  exports.default = Schyma;
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/components/App.tsx"],"names":[],"mappings":";;;AAAA,uDAAyC;AAEzC,4DAA4B;AAC5B,iCAAiC;AACjC,4DAA4B;AAE5B,sDAAsB;AACtB,kDAA+C;AAS/C,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAW;IACrD,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAC;IACtB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAQ,CAAC;IACvD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAE,GAAG,IAAA,gBAAQ,EAAsB,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAA,qBAAS,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,WAAW,GAAS;QACxB,EAAE,EAAE,GAAG;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK;YACZ,WAAW;YACX,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,EAAE;SACd;QACD,QAAQ;KACT,CAAA;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAG,QAAQ,EAAC;YACV,SAAS,CAAC,IAAI,CAAC,CAAA;SAChB;IACH,CAAC,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACb,OAAO,CACL,2CACG,MAAM,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAC,cAAc;QACrC,uCAAK,SAAS,EAAC,gBAAgB;YAC/B,8BAAC,eAAK,IAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAI,CACnH;QACN,8BAAC,eAAK,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,GACb,CACE,CAAC,CAAC,CAAC,qDAAkB,CACvB,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/components/App.tsx"],"names":[],"mappings":";;;AAAA,uDAAyC;AAEzC,4DAA4B;AAC5B,iCAAiC;AACjC,4DAA4B;AAC5B,sDAAsB;AACtB,kDAA+C;AAG/C,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAW;IACrD,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAC;IACtB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAQ,CAAC;IACvD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAE,GAAG,IAAA,gBAAQ,EAAsB,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAA,qBAAS,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,WAAW,GAAS;QACxB,EAAE,EAAE,GAAG;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK;YACZ,WAAW;YACX,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,EAAE;SACd;QACD,QAAQ;KACT,CAAA;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAG,QAAQ,EAAC;YACV,SAAS,CAAC,IAAI,CAAC,CAAA;SAChB;IACH,CAAC,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACb,OAAO,CACL,2CACG,MAAM,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAC,cAAc;QACrC,uCAAK,SAAS,EAAC,gBAAgB;YAC7B,8BAAC,eAAK,IAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAI,CACrH;QACN,8BAAC,eAAK,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,GACb,CACE,CAAC,CAAC,CAAC,qDAAkB,CACvB,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,MAAM,CAAA"}
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- /* eslint-disable import/no-anonymous-default-export */
5
4
  const react_1 = tslib_1.__importStar(require("react"));
6
5
  const react_flow_smart_edge_1 = require("@tisoap/react-flow-smart-edge");
7
- const reactflow_1 = tslib_1.__importStar(require("reactflow"));
8
- const dagre_1 = tslib_1.__importDefault(require("dagre"));
6
+ const reactflow_1 = require("reactflow");
9
7
  const reusables_1 = require("../utils/reusables");
10
- const position = { x: 0, y: 50 };
8
+ const dagreUtils_1 = require("../utils/dagreUtils");
9
+ const position = { x: 0, y: 0, zoom: 0.2 };
11
10
  const initialEdges = [
12
11
  {
13
12
  id: 'edges-e5-7',
@@ -17,103 +16,91 @@ const initialEdges = [
17
16
  labelBgPadding: [8, 4],
18
17
  labelBgBorderRadius: 4,
19
18
  animated: true,
19
+ type: 'smart',
20
20
  markerEnd: {
21
21
  type: reactflow_1.MarkerType.ArrowClosed,
22
22
  },
23
23
  },
24
24
  ];
25
- const dagreGraph = new dagre_1.default.graphlib.Graph();
26
- dagreGraph.setDefaultEdgeLabel(() => ({}));
27
- const nodeWidth = 172;
28
- const nodeHeight = 36;
29
- const getLayoutedElements = (nodes, edges, direction = 'LR') => {
30
- dagreGraph.setGraph({ rankdir: direction });
31
- nodes.forEach(node => {
32
- dagreGraph.setNode(node.id, { width: nodeWidth, height: nodeHeight });
33
- });
34
- edges.forEach((edge) => {
35
- dagreGraph.setEdge(edge.source, edge.target);
36
- });
37
- dagre_1.default.layout(dagreGraph);
38
- nodes.forEach((node) => {
39
- const nodeId = node.id;
40
- const nodeWithPosition = dagreGraph.node(nodeId);
41
- node.sourcePosition = reactflow_1.Position.Right;
42
- node.targetPosition = reactflow_1.Position.Left;
43
- node.position = {
44
- x: nodeWithPosition.x - nodeWidth / 3,
45
- y: nodeWithPosition.y - nodeHeight / 3,
46
- };
47
- return node;
48
- });
49
- return { nodes, edges };
50
- };
51
- const Nodes = ({ setCurrentNode, setnNodes, initialNode, nNodes, schema }) => {
52
- const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements([initialNode], initialEdges);
53
- const { setCenter } = (0, reactflow_1.useReactFlow)();
25
+ function Flow({ initialNode, nNodes, setnNodes, setCurrentNode, schema }) {
26
+ const { nodes: layoutedNodes, edges: layoutedEdges } = (0, dagreUtils_1.getLayoutedElements)([initialNode], initialEdges);
54
27
  const [nodes, setNodes, onNodesChange] = (0, reactflow_1.useNodesState)(layoutedNodes);
55
28
  const [edges, setEdges, onEdgesChange] = (0, reactflow_1.useEdgesState)(layoutedEdges);
29
+ const { setCenter } = (0, reactflow_1.useReactFlow)();
56
30
  const onConnect = (0, react_1.useCallback)((connection) => setEdges((eds) => (0, reactflow_1.addEdge)(Object.assign(Object.assign({}, connection), { type: reactflow_1.ConnectionLineType.SmoothStep, animated: true }), eds)),
57
31
  // eslint-disable-next-line react-hooks/exhaustive-deps
58
32
  []);
59
- const focusNode = (children, zoom) => {
60
- const length = children.length;
61
- let middleChild;
62
- if (length % 2 === 0) {
63
- const middleIndex = length / 2;
64
- middleChild = children[middleIndex];
65
- }
66
- else {
67
- const middleIndex = Math.floor(length / 2);
68
- middleChild = children[middleIndex];
69
- }
70
- setCenter(middleChild.position.x, middleChild.position.y, { zoom, duration: 1000 });
71
- };
72
- let initialNodes = [initialNode];
73
- const extractChildren = (props, parent) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
33
+ const extractChildren = (props, parent) => tslib_1.__awaiter(this, void 0, void 0, function* () {
74
34
  const children = [];
75
35
  for (const prop in props) {
76
36
  const id = String(Math.floor(Math.random() * 1000000));
77
37
  if (props[prop].$ref) {
78
38
  const res = yield (0, reusables_1.resolveRef)(props[prop].$ref, schema);
79
- children.push(Object.assign(Object.assign(Object.assign(Object.assign({}, props[prop]), { label: prop, id, parent: parent.id, relations: Object.assign(Object.assign({}, parent.relations), { [parent.id]: 'node' }) }), res), { children: [] }));
39
+ children.push({
40
+ id,
41
+ type: 'input',
42
+ data: Object.assign(Object.assign(Object.assign(Object.assign({}, props[prop]), { label: prop, parent: parent.id, relations: Object.assign(Object.assign({}, parent.relations), { [parent.id]: 'node' }) }), res), { children: [] }),
43
+ position: position,
44
+ sourcePosition: reactflow_1.Position.Right,
45
+ targetPosition: reactflow_1.Position.Left,
46
+ });
80
47
  }
81
48
  else {
82
- children.push(Object.assign(Object.assign({}, props[prop]), { label: prop, id, parent: parent.id, relations: Object.assign(Object.assign({}, parent.relations), { [parent.id]: 'node' }), children: [] }));
49
+ children.push({
50
+ id,
51
+ type: 'input',
52
+ data: Object.assign(Object.assign({}, props[prop]), { label: prop, id, parent: parent.id, relations: Object.assign(Object.assign({}, parent.relations), { [parent.id]: 'node' }), children: [] }),
53
+ position: position,
54
+ sourcePosition: reactflow_1.Position.Right,
55
+ targetPosition: reactflow_1.Position.Left,
56
+ });
83
57
  }
84
58
  }
85
59
  return children;
86
60
  });
87
61
  (0, react_1.useEffect)(() => {
88
- const newNodes = [];
89
- initialNodes.map((item) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
90
- console.log(item.data);
91
- const children = yield extractChildren(item.data.properties, item);
62
+ const fetchInitialChildren = () => tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ const newNodes = [];
64
+ const properties = initialNode.data.properties;
65
+ const children = yield extractChildren(properties, initialNode);
92
66
  newNodes.push({
93
- id: item.id,
94
- type: "input",
67
+ id: initialNode.id,
68
+ type: 'input',
95
69
  data: {
96
70
  children,
97
- label: item.data.label,
98
- description: item.data.description,
99
- properties: Object.assign({}, item.data.properties),
100
- relations: item.data.relations
71
+ label: initialNode.data.label,
72
+ description: initialNode.data.description,
73
+ properties: initialNode.data.properties,
74
+ relations: initialNode.data.relations,
101
75
  },
102
76
  position: { x: 0, y: 0 },
103
77
  sourcePosition: reactflow_1.Position.Right,
104
78
  targetPosition: reactflow_1.Position.Left,
105
79
  });
106
- }));
107
- setNodes(newNodes);
80
+ setNodes(newNodes);
81
+ });
82
+ fetchInitialChildren();
108
83
  // eslint-disable-next-line react-hooks/exhaustive-deps
109
84
  }, []);
110
- const nodeClick = (_event, node) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
85
+ // Node focus when clicked
86
+ const focusNode = (children, zoom) => {
87
+ if (children.length === 0)
88
+ return;
89
+ let middleChild = children[Math.floor(children.length / 2)];
90
+ const middleChildWithLatestPosition = nodes.filter((a) => a.id == middleChild.id)[0];
91
+ if (middleChildWithLatestPosition) {
92
+ middleChild = middleChildWithLatestPosition;
93
+ }
94
+ setCenter(middleChild.position.x, middleChild.position.y, { zoom, duration: 1000 });
95
+ };
96
+ // On Node Click
97
+ const nodeClick = (_event, node) => tslib_1.__awaiter(this, void 0, void 0, function* () {
111
98
  const findChildren = nodes.filter((item) => { var _a; return ((_a = item === null || item === void 0 ? void 0 : item.data) === null || _a === void 0 ? void 0 : _a.parent) === node.id; });
112
99
  if (!findChildren.length) {
113
100
  const itemChildren = node.data.children;
114
101
  const newEdges = [
115
102
  ...edges,
116
- ...node.data.children.map((item) => {
103
+ ...itemChildren.map((item) => {
117
104
  var _a;
118
105
  return {
119
106
  id: String(Math.floor(Math.random() * 1000000)),
@@ -126,8 +113,8 @@ const Nodes = ({ setCurrentNode, setnNodes, initialNode, nNodes, schema }) => {
126
113
  }),
127
114
  ];
128
115
  //TODO: Fix nodes type error
129
- const newNodes = nodes.concat(node.data.children);
130
- const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements(newNodes, newEdges, "LR");
116
+ const newNodes = nodes.concat(itemChildren);
117
+ const { nodes: layoutedNodes, edges: layoutedEdges } = (0, dagreUtils_1.getLayoutedElements)(newNodes, newEdges, 'LR');
131
118
  setNodes([...layoutedNodes]);
132
119
  setEdges([...layoutedEdges]);
133
120
  if (itemChildren.length > 0) {
@@ -136,35 +123,42 @@ const Nodes = ({ setCurrentNode, setnNodes, initialNode, nNodes, schema }) => {
136
123
  }
137
124
  else {
138
125
  const newNodes = (0, reusables_1.removeElementsByParent)(nodes, node.id);
139
- setNodes([...newNodes]);
126
+ const newEdges = (0, reusables_1.removeEdgesByParent)(edges, node.id);
127
+ const { nodes: layoutedNodes, edges: layoutedEdges } = (0, dagreUtils_1.getLayoutedElements)(newNodes, newEdges, 'LR');
128
+ setNodes([...layoutedNodes]);
129
+ setEdges([...layoutedEdges]);
130
+ focusNode([node], 0.9);
140
131
  }
141
132
  });
133
+ //On Node Hover
142
134
  function handleMouseEnter(_e, node) {
143
135
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
144
136
  if (!nNodes[node.id]) {
145
137
  const itemChildren = [];
146
- yield Promise.all(node.data.children.map((item) => tslib_1.__awaiter(this, void 0, void 0, function* () {
138
+ const nodeChildren = node.data.children;
139
+ yield Promise.all(nodeChildren.map((item) => tslib_1.__awaiter(this, void 0, void 0, function* () {
147
140
  let children = [];
148
- const extractProps = (0, reusables_1.propMerge)(item, item.label);
141
+ const label = item.data.label;
142
+ const extractProps = (0, reusables_1.propMerge)(item.data, label);
149
143
  if (Object.keys(extractProps).length > 0) {
150
144
  const res = yield extractChildren(extractProps, item);
151
145
  children = res;
152
146
  }
147
+ const relations = Object.assign(Object.assign({}, node.data.relations), item.data.relations);
153
148
  itemChildren.push({
154
149
  id: item.id,
155
- type: (children === null || children === void 0 ? void 0 : children.length) > 0 ? "default" : "output",
150
+ type: (children === null || children === void 0 ? void 0 : children.length) > 0 ? 'default' : 'output',
156
151
  data: {
157
- label: item.label,
152
+ label: item.data.label,
158
153
  children: children,
159
- parent: item.parent,
160
- examples: item.examples,
161
- description: item.description,
162
- relations: item.relations,
154
+ parent: item.data.parent,
155
+ examples: item.data.examples,
156
+ description: item.data.description,
157
+ relations: relations,
163
158
  },
164
159
  position: position,
165
160
  sourcePosition: reactflow_1.Position.Right,
166
161
  targetPosition: reactflow_1.Position.Left,
167
- draggable: false,
168
162
  });
169
163
  })));
170
164
  node.data.children = itemChildren;
@@ -177,13 +171,11 @@ const Nodes = ({ setCurrentNode, setnNodes, initialNode, nNodes, schema }) => {
177
171
  const edgeTypes = {
178
172
  smart: react_flow_smart_edge_1.SmartBezierEdge,
179
173
  };
180
- return (react_1.default.createElement("div", { className: 'wrapper', style: {
181
- width: '100%',
182
- height: '95vh',
183
- } },
184
- react_1.default.createElement(reactflow_1.default, { nodes: nodes, edges: edges, edgeTypes: edgeTypes, onNodesChange: onNodesChange, connectionLineType: reactflow_1.ConnectionLineType.SmoothStep, onEdgesChange: onEdgesChange, onConnect: onConnect, onNodeClick: nodeClick, onNodeMouseEnter: handleMouseEnter, fitView: true, defaultViewport: { x: 1, y: 1, zoom: 0.9 } })));
185
- };
186
- // eslint-disable-next-line react/display-name
174
+ return (react_1.default.createElement(reactflow_1.ReactFlow, { nodes: nodes, edges: edges, edgeTypes: edgeTypes, onNodesChange: onNodesChange, connectionLineType: reactflow_1.ConnectionLineType.SmoothStep, onEdgesChange: onEdgesChange, onConnect: onConnect, onNodeMouseEnter: handleMouseEnter, onNodeClick: nodeClick, fitView: true, defaultViewport: { x: 1, y: 1, zoom: 0.9 } },
175
+ react_1.default.createElement(reactflow_1.MiniMap, null),
176
+ react_1.default.createElement(reactflow_1.Controls, null),
177
+ react_1.default.createElement(reactflow_1.Background, null)));
178
+ }
187
179
  exports.default = ({ setCurrentNode, setnNodes, nNodes, initialNode, schema }) => (react_1.default.createElement(reactflow_1.ReactFlowProvider, null,
188
- react_1.default.createElement(Nodes, { setnNodes: setnNodes, nNodes: nNodes, setCurrentNode: setCurrentNode, initialNode: initialNode, schema: schema })));
180
+ react_1.default.createElement(Flow, { setnNodes: setnNodes, nNodes: nNodes, setCurrentNode: setCurrentNode, initialNode: initialNode, schema: schema })));
189
181
  //# sourceMappingURL=Nodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Nodes.js","sourceRoot":"","sources":["../../../src/components/Nodes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Nodes.js","sourceRoot":"","sources":["../../../src/components/Nodes.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const nodeWidth = 172;
2
+ export declare const nodeHeight = 36;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodeHeight = exports.nodeWidth = void 0;
4
+ exports.nodeWidth = 172;
5
+ exports.nodeHeight = 36;
6
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/constants/node.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,GAAG,CAAA;AACf,QAAA,UAAU,GAAG,EAAE,CAAA"}
@@ -1,24 +1,20 @@
1
- export type NodeType = {
2
- id: string;
3
- name: string;
4
- parent: number;
5
- description: string;
6
- children: Array<Node>;
7
- $ref?: string;
1
+ import { JSONSchema7Object } from "json-schema";
2
+ import { Node } from "reactflow";
3
+ export interface ISchyma {
8
4
  title: string;
5
+ description: string;
6
+ schema: JSONSchema7Object;
7
+ }
8
+ export interface IObject {
9
+ [x: string]: any;
10
+ }
11
+ export interface NodeData {
9
12
  label: string;
10
- targetPosition?: string;
11
- sourcePosition?: string;
12
- position?: object;
13
- data?: NodeType;
14
- };
15
- export type EdgeType = {
16
13
  id: string;
17
- source: string;
18
- target: string;
19
- label: string;
20
- labelBgPadding: number[];
21
- labelBgBorderRadius: number;
22
- labelBgStyle: object;
23
- markerEnd: object;
24
- };
14
+ children: Node[];
15
+ description?: string;
16
+ properties?: any;
17
+ relations: any;
18
+ examples?: any;
19
+ parent: string;
20
+ }
package/dist/cjs/types.js CHANGED
@@ -1,3 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ // export interface INode extends Node {
4
+ // data: NodeData
5
+ // }
3
6
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;AAwBA,wCAAwC;AACxC,mBAAmB;AACnB,IAAI"}
@@ -0,0 +1,5 @@
1
+ import { Edge, Node } from 'reactflow';
2
+ export declare const getLayoutedElements: (nodes: Node[], edges: Edge[], direction?: string) => {
3
+ nodes: Node<any, string | undefined>[];
4
+ edges: Edge<any>[];
5
+ };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLayoutedElements = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const reactflow_1 = require("reactflow");
6
+ const node_1 = require("../constants/node");
7
+ const dagre_1 = tslib_1.__importDefault(require("@dagrejs/dagre"));
8
+ const getLayoutedElements = (nodes, edges, direction = 'LR') => {
9
+ const dagreGraph = new dagre_1.default.graphlib.Graph();
10
+ dagreGraph.setDefaultEdgeLabel(() => ({}));
11
+ dagreGraph.setGraph({ rankdir: direction });
12
+ nodes.forEach((node) => {
13
+ dagreGraph.setNode(node.id, { width: node_1.nodeWidth, height: node_1.nodeHeight });
14
+ });
15
+ edges.forEach((edge) => {
16
+ dagreGraph.setEdge(edge.source, edge.target);
17
+ });
18
+ dagre_1.default.layout(dagreGraph);
19
+ nodes.forEach((node) => {
20
+ const nodeId = node.id;
21
+ const nodeWithPosition = dagreGraph.node(nodeId);
22
+ node.sourcePosition = reactflow_1.Position.Right;
23
+ node.targetPosition = reactflow_1.Position.Left;
24
+ node.position = {
25
+ x: nodeWithPosition.x - node_1.nodeWidth / 3,
26
+ y: nodeWithPosition.y - node_1.nodeHeight / 3,
27
+ };
28
+ return node;
29
+ });
30
+ return { nodes, edges };
31
+ };
32
+ exports.getLayoutedElements = getLayoutedElements;
33
+ //# sourceMappingURL=dagreUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dagreUtils.js","sourceRoot":"","sources":["../../../src/utils/dagreUtils.ts"],"names":[],"mappings":";;;;AAAA,yCAAgD;AAChD,4CAAyD;AACzD,mEAAkC;AAE3B,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,SAAS,GAAG,IAAI,EAAE,EAAE;IACpF,MAAM,UAAU,GAAG,IAAI,eAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IAE7C,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;IAE3C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,gBAAS,EAAE,MAAM,EAAE,iBAAU,EAAE,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAU,EAAE,EAAE;QAC3B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAExB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAU,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;QACtB,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,cAAc,GAAG,oBAAQ,CAAC,KAAK,CAAA;QACpC,IAAI,CAAC,cAAc,GAAG,oBAAQ,CAAC,IAAI,CAAA;QACnC,IAAI,CAAC,QAAQ,GAAG;YACd,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,gBAAS,GAAG,CAAC;YACrC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,iBAAU,GAAG,CAAC;SACvC,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC,CAAA;AA7BY,QAAA,mBAAmB,uBA6B/B"}
@@ -1,6 +1,7 @@
1
1
  export declare function resolveRef(ref: string, schema: any): Promise<JSONSchema>;
2
- export declare function nameFromRef(string: string): string;
3
- export declare function propMerge(schema: any, label: string): {};
2
+ export declare function nameFromRef(ref: string): string;
3
+ export declare function propMerge(schema: any, label: string): Record<string, unknown>;
4
4
  export declare function arrayToProps(props: any, label: string): any;
5
5
  export declare function removeElementsByParent(nodes: any, id: any): any;
6
+ export declare function removeEdgesByParent(edges: any, id: any): any;
6
7
  export declare function retrieveObj(theObject: any, key: string | undefined): any;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.retrieveObj = exports.removeElementsByParent = exports.arrayToProps = exports.propMerge = exports.nameFromRef = exports.resolveRef = void 0;
3
+ exports.retrieveObj = exports.removeEdgesByParent = exports.removeElementsByParent = exports.arrayToProps = exports.propMerge = exports.nameFromRef = exports.resolveRef = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const reference_resolver_1 = tslib_1.__importDefault(require("@json-schema-tools/reference-resolver"));
6
+ const memoizedNameFromRef = {};
6
7
  function resolveRef(ref, schema) {
7
8
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
9
  const resolver = yield reference_resolver_1.default.resolve(ref, schema);
@@ -10,34 +11,36 @@ function resolveRef(ref, schema) {
10
11
  });
11
12
  }
12
13
  exports.resolveRef = resolveRef;
13
- function nameFromRef(string) {
14
- const newRef = string.split('/').slice(-1)[0];
15
- return newRef.split('.')[0];
14
+ function nameFromRef(ref) {
15
+ if (memoizedNameFromRef[ref]) {
16
+ return memoizedNameFromRef[ref];
17
+ }
18
+ const match = ref.match(/[^/]+$/);
19
+ const name = match ? match[0].split('.')[0] : '';
20
+ memoizedNameFromRef[ref] = name;
21
+ return name;
16
22
  }
17
23
  exports.nameFromRef = nameFromRef;
18
24
  function propMerge(schema, label) {
19
25
  let mergedProps = {};
20
26
  const { properties, patternProperties, additionalProperties, items, oneOf, allOf, anyOf, not } = schema;
21
- const arrWithObject = additionalProperties || items;
22
- const arrExtractor = (items) => {
23
- const props = arrayToProps(items, label);
24
- mergedProps = Object.assign(Object.assign({}, mergedProps), props);
25
- };
26
- if (schema.patternProperties) {
27
- mergedProps = Object.assign(Object.assign({}, mergedProps), patternProperties);
27
+ const combinedOf = oneOf || anyOf || not;
28
+ if (patternProperties) {
29
+ Object.assign(mergedProps, patternProperties);
28
30
  }
29
- if (schema.properties) {
30
- mergedProps = Object.assign(Object.assign({}, mergedProps), properties);
31
+ if (properties) {
32
+ Object.assign(mergedProps, properties);
31
33
  }
32
- if (arrWithObject) {
33
- const { oneOf, allOf, anyOf } = arrWithObject;
34
- if (oneOf || allOf || anyOf) {
35
- const items = oneOf || anyOf || not;
36
- arrExtractor(items);
34
+ if (additionalProperties || items) {
35
+ const arrWithObject = additionalProperties || items;
36
+ if (arrWithObject.oneOf || arrWithObject.allOf || arrWithObject.anyOf) {
37
+ const items = arrWithObject.oneOf || arrWithObject.anyOf || arrWithObject.not;
38
+ const props = arrayToProps(items, label);
39
+ Object.assign(mergedProps, props);
37
40
  }
38
41
  if (arrWithObject.$ref) {
39
42
  const name = nameFromRef(arrWithObject.$ref);
40
- mergedProps = Object.assign(Object.assign({}, mergedProps), { [name]: arrWithObject });
43
+ mergedProps[name] = arrWithObject;
41
44
  }
42
45
  }
43
46
  // handling allOf case seperatly
@@ -46,7 +49,7 @@ function propMerge(schema, label) {
46
49
  for (let i = 0; i < allOf.length; i++) {
47
50
  if (allOf[i].type === 'object') {
48
51
  if (allOf[i].properties) {
49
- propObj = allOf[i].properties;
52
+ propObj = Object.assign(Object.assign({}, propObj), allOf[i].properties);
50
53
  }
51
54
  else {
52
55
  propObj[allOf[i].type] = allOf[i];
@@ -60,11 +63,11 @@ function propMerge(schema, label) {
60
63
  propObj[allOf[i].type] = allOf[i];
61
64
  }
62
65
  }
63
- mergedProps = Object.assign(Object.assign({}, mergedProps), propObj);
66
+ Object.assign(mergedProps, propObj);
64
67
  }
65
- if (oneOf || anyOf || not) {
66
- const items = oneOf || anyOf || not;
67
- arrExtractor(items);
68
+ if (combinedOf) {
69
+ const props = arrayToProps(combinedOf, label);
70
+ Object.assign(mergedProps, props);
68
71
  }
69
72
  return mergedProps;
70
73
  }
@@ -105,6 +108,16 @@ function removeElementsByParent(nodes, id) {
105
108
  return result;
106
109
  }
107
110
  exports.removeElementsByParent = removeElementsByParent;
111
+ function removeEdgesByParent(edges, id) {
112
+ const result = edges.filter((edge) => {
113
+ if (edge.source === id) {
114
+ return false;
115
+ }
116
+ return true;
117
+ });
118
+ return result;
119
+ }
120
+ exports.removeEdgesByParent = removeEdgesByParent;
108
121
  function retrieveObj(theObject, key) {
109
122
  var result = null;
110
123
  if (theObject instanceof Array) {
@@ -132,18 +145,4 @@ function retrieveObj(theObject, key) {
132
145
  return result;
133
146
  }
134
147
  exports.retrieveObj = retrieveObj;
135
- // export function typeCheck(data: any): boolean {
136
- // switch (true) {
137
- // case !!data.oneOf:
138
- // case !!data.anyOf:
139
- // case !!data.allOf:
140
- // case !!data.items:
141
- // case !! data.patternProperties:
142
- // case data.additionalProperties !== undefined && data.additionalProperties !== true:
143
- // case data.additionalItems !== undefined && data.additionalItems !== true:
144
- // return true;
145
- // default:
146
- // return false;
147
- // }
148
- // }
149
148
  //# sourceMappingURL=reusables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reusables.js","sourceRoot":"","sources":["../../../src/utils/reusables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reusables.js","sourceRoot":"","sources":["../../../src/utils/reusables.ts"],"names":[],"mappings":";;;;AAAA,uGAA0D;AAE1D,MAAM,mBAAmB,GAA2B,EAAE,CAAA;AAEtD,SAAsB,UAAU,CAAC,GAAW,EAAE,MAAW;;QACvD,MAAM,QAAQ,GAAG,MAAM,4BAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAClD,OAAO,QAAQ,CAAA;IACjB,CAAC;CAAA;AAHD,gCAGC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE;QAC5B,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAA;KAChC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChD,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC;AARD,kCAQC;AAED,SAAgB,SAAS,CAAC,MAAW,EAAE,KAAa;IAClD,IAAI,WAAW,GAA4B,EAAE,CAAA;IAC7C,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;IACvG,MAAM,UAAU,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,CAAA;IACxC,IAAI,iBAAiB,EAAE;QACrB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;KAC9C;IACD,IAAI,UAAU,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;KACvC;IACD,IAAI,oBAAoB,IAAI,KAAK,EAAE;QACjC,MAAM,aAAa,GAAG,oBAAoB,IAAI,KAAK,CAAA;QACnD,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE;YACrE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,CAAA;YAC7E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACxC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;SAClC;QACD,IAAI,aAAa,CAAC,IAAI,EAAE;YACtB,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YAC5C,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAA;SAClC;KACF;IACD,gCAAgC;IAChC,IAAI,KAAK,EAAE;QACT,IAAI,OAAO,GAA4B,EAAE,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC9B,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;oBACvB,OAAO,mCAAQ,OAAO,GAAK,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAE,CAAA;iBACjD;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;iBAClC;aACF;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBACvC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;aACzB;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;aAClC;SACF;QACD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACrC;IACD,IAAI,UAAU,EAAE;QACd,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;KAClC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AA9CD,8BA8CC;AAED,SAAgB,YAAY,CAAC,KAAU,EAAE,KAAa;IACpD,MAAM,OAAO,GAAQ,EAAE,CAAA;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACjB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;SACzB;aAAM;YACL,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,QAAQ,CAAA;gBACrD,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;aAC/B;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;aAClC;SACF;KACF;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAhBD,oCAgBC;AAED,SAAgB,sBAAsB,CAAC,KAAU,EAAE,EAAO;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QACrC,IAAI,SAAS,EAAE;YACb,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;gBAChC,OAAM;aACP;iBAAM;gBACL,OAAO,IAAI,CAAA;aACZ;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAdD,wDAcC;AAED,SAAgB,mBAAmB,CAAC,KAAU,EAAE,EAAO;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;YACtB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AATD,kDASC;AAGD,SAAgB,WAAW,CAAC,SAAc,EAAE,GAAuB;IACjE,IAAI,MAAM,GAAO,IAAI,CAAC;IACtB,IAAI,SAAS,YAAY,KAAK,EAAE;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,MAAM,EAAE;gBACV,MAAM;aACP;SACF;KACF;SAAM;QACL,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE;YAC1B,IAAI,IAAI,IAAI,GAAG,EAAE;gBACf,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;aACxB;YACD,IACE,SAAS,CAAC,IAAI,CAAC,YAAY,MAAM;gBACjC,SAAS,CAAC,IAAI,CAAC,YAAY,KAAK,EAChC;gBACA,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3C,IAAI,MAAM,EAAE;oBACV,MAAM;iBACP;aACF;SACF;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA1BD,kCA0BC"}