ducjs 2.0.1 → 2.2.2

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 (224) hide show
  1. package/README.md +1 -1
  2. package/dist/flatbuffers/duc/duc-block-collection-entry.d.ts +16 -0
  3. package/dist/flatbuffers/duc/duc-block-collection-entry.js +48 -0
  4. package/dist/flatbuffers/duc/duc-block-collection.d.ts +31 -0
  5. package/dist/flatbuffers/duc/duc-block-collection.js +97 -0
  6. package/dist/flatbuffers/duc/duc-block-instance-element.d.ts +0 -20
  7. package/dist/flatbuffers/duc/duc-block-instance-element.js +0 -66
  8. package/dist/flatbuffers/duc/duc-block-instance.d.ts +32 -0
  9. package/dist/flatbuffers/duc/duc-block-instance.js +100 -0
  10. package/dist/flatbuffers/duc/duc-block-metadata.d.ts +23 -0
  11. package/dist/flatbuffers/duc/duc-block-metadata.js +72 -0
  12. package/dist/flatbuffers/duc/duc-block.d.ts +9 -7
  13. package/dist/flatbuffers/duc/duc-block.js +31 -30
  14. package/dist/flatbuffers/duc/duc-element-base.d.ts +9 -0
  15. package/dist/flatbuffers/duc/duc-element-base.js +29 -1
  16. package/dist/flatbuffers/duc/duc-feature-control-frame-style.d.ts +0 -3
  17. package/dist/flatbuffers/duc/duc-feature-control-frame-style.js +0 -8
  18. package/dist/flatbuffers/duc/duc-leader-style.d.ts +0 -3
  19. package/dist/flatbuffers/duc/duc-leader-style.js +0 -8
  20. package/dist/flatbuffers/duc/duc-plot-style.d.ts +1 -4
  21. package/dist/flatbuffers/duc/duc-plot-style.js +1 -10
  22. package/dist/flatbuffers/duc/duc-table-style.d.ts +0 -3
  23. package/dist/flatbuffers/duc/duc-table-style.js +0 -8
  24. package/dist/flatbuffers/duc/duc-text-style.d.ts +0 -3
  25. package/dist/flatbuffers/duc/duc-text-style.js +0 -8
  26. package/dist/flatbuffers/duc/duc-viewport-style.d.ts +1 -4
  27. package/dist/flatbuffers/duc/duc-viewport-style.js +1 -10
  28. package/dist/flatbuffers/duc/duc-xray-style.d.ts +1 -4
  29. package/dist/flatbuffers/duc/duc-xray-style.js +1 -10
  30. package/dist/flatbuffers/duc/exported-data-state.d.ts +15 -0
  31. package/dist/flatbuffers/duc/exported-data-state.js +52 -1
  32. package/dist/flatbuffers/duc.d.ts +4 -0
  33. package/dist/flatbuffers/duc.js +4 -0
  34. package/dist/index.d.ts +0 -1
  35. package/dist/index.js +0 -1
  36. package/dist/parse.d.ts +2 -2
  37. package/dist/parse.js +149 -37
  38. package/dist/restore/restoreDataState.d.ts +29 -3
  39. package/dist/restore/restoreDataState.js +188 -25
  40. package/dist/restore/restoreElements.js +16 -9
  41. package/dist/serialize.d.ts +2 -1
  42. package/dist/serialize.js +136 -55
  43. package/dist/types/elements/index.d.ts +96 -27
  44. package/dist/types/elements/typeChecks.d.ts +2 -2
  45. package/dist/types/elements/typeChecks.js +4 -5
  46. package/dist/types/index.d.ts +7 -2
  47. package/dist/types/index.js +1 -0
  48. package/dist/types/typeChecks.d.ts +5 -0
  49. package/dist/types/typeChecks.js +10 -0
  50. package/dist/utils/bounds.js +1 -1
  51. package/dist/utils/constants.d.ts +14 -2
  52. package/dist/utils/constants.js +19 -5
  53. package/dist/utils/elements/frameElement.d.ts +1 -0
  54. package/dist/utils/elements/frameElement.js +13 -1
  55. package/dist/utils/elements/index.js +12 -15
  56. package/dist/utils/elements/newElement.d.ts +1 -7
  57. package/dist/utils/elements/newElement.js +26 -28
  58. package/dist/utils/elements/textElement.js +3 -1
  59. package/dist/utils/functionCodec.js +2 -2
  60. package/dist/utils/index.d.ts +1 -0
  61. package/dist/utils/index.js +1 -0
  62. package/dist/utils/traverse.d.ts +22 -0
  63. package/dist/utils/traverse.js +87 -0
  64. package/package.json +4 -2
  65. package/dist/legacy/index.d.ts +0 -1
  66. package/dist/legacy/index.js +0 -1
  67. package/dist/legacy/v1/duc/app-state.d.ts +0 -124
  68. package/dist/legacy/v1/duc/app-state.js +0 -388
  69. package/dist/legacy/v1/duc/binary-file-data.d.ts +0 -27
  70. package/dist/legacy/v1/duc/binary-file-data.js +0 -90
  71. package/dist/legacy/v1/duc/binary-files-entry.d.ts +0 -16
  72. package/dist/legacy/v1/duc/binary-files-entry.js +0 -43
  73. package/dist/legacy/v1/duc/binary-files.d.ts +0 -17
  74. package/dist/legacy/v1/duc/binary-files.js +0 -55
  75. package/dist/legacy/v1/duc/binding-point.d.ts +0 -15
  76. package/dist/legacy/v1/duc/binding-point.js +0 -48
  77. package/dist/legacy/v1/duc/bound-element.d.ts +0 -17
  78. package/dist/legacy/v1/duc/bound-element.js +0 -48
  79. package/dist/legacy/v1/duc/duc-block-attribute-details.d.ts +0 -22
  80. package/dist/legacy/v1/duc/duc-block-attribute-details.js +0 -57
  81. package/dist/legacy/v1/duc/duc-block-attribute.d.ts +0 -16
  82. package/dist/legacy/v1/duc/duc-block-attribute.js +0 -43
  83. package/dist/legacy/v1/duc/duc-block-instance-element-override.d.ts +0 -17
  84. package/dist/legacy/v1/duc/duc-block-instance-element-override.js +0 -48
  85. package/dist/legacy/v1/duc/duc-block.d.ts +0 -34
  86. package/dist/legacy/v1/duc/duc-block.js +0 -110
  87. package/dist/legacy/v1/duc/duc-element.d.ts +0 -273
  88. package/dist/legacy/v1/duc/duc-element.js +0 -865
  89. package/dist/legacy/v1/duc/duc-group.d.ts +0 -40
  90. package/dist/legacy/v1/duc/duc-group.js +0 -114
  91. package/dist/legacy/v1/duc/duc-line-reference.d.ts +0 -15
  92. package/dist/legacy/v1/duc/duc-line-reference.js +0 -43
  93. package/dist/legacy/v1/duc/duc-line.d.ts +0 -15
  94. package/dist/legacy/v1/duc/duc-line.js +0 -43
  95. package/dist/legacy/v1/duc/duc-path.d.ts +0 -26
  96. package/dist/legacy/v1/duc/duc-path.js +0 -69
  97. package/dist/legacy/v1/duc/duc-table-cell.d.ts +0 -22
  98. package/dist/legacy/v1/duc/duc-table-cell.js +0 -57
  99. package/dist/legacy/v1/duc/duc-table-column.d.ts +0 -18
  100. package/dist/legacy/v1/duc/duc-table-column.js +0 -50
  101. package/dist/legacy/v1/duc/duc-table-row.d.ts +0 -18
  102. package/dist/legacy/v1/duc/duc-table-row.js +0 -50
  103. package/dist/legacy/v1/duc/duc-table-style-props.d.ts +0 -39
  104. package/dist/legacy/v1/duc/duc-table-style-props.js +0 -114
  105. package/dist/legacy/v1/duc/duc-table-style.d.ts +0 -14
  106. package/dist/legacy/v1/duc/duc-table-style.js +0 -41
  107. package/dist/legacy/v1/duc/element-background.d.ts +0 -14
  108. package/dist/legacy/v1/duc/element-background.js +0 -41
  109. package/dist/legacy/v1/duc/element-content-base.d.ts +0 -22
  110. package/dist/legacy/v1/duc/element-content-base.js +0 -64
  111. package/dist/legacy/v1/duc/element-stroke.d.ts +0 -23
  112. package/dist/legacy/v1/duc/element-stroke.js +0 -66
  113. package/dist/legacy/v1/duc/exported-data-state.d.ts +0 -51
  114. package/dist/legacy/v1/duc/exported-data-state.js +0 -155
  115. package/dist/legacy/v1/duc/image-crop.d.ts +0 -23
  116. package/dist/legacy/v1/duc/image-crop.js +0 -80
  117. package/dist/legacy/v1/duc/linear-element-editor.d.ts +0 -44
  118. package/dist/legacy/v1/duc/linear-element-editor.js +0 -119
  119. package/dist/legacy/v1/duc/point-binding.d.ts +0 -25
  120. package/dist/legacy/v1/duc/point-binding.js +0 -72
  121. package/dist/legacy/v1/duc/point.d.ts +0 -20
  122. package/dist/legacy/v1/duc/point.js +0 -63
  123. package/dist/legacy/v1/duc/pointer-down-state.d.ts +0 -32
  124. package/dist/legacy/v1/duc/pointer-down-state.js +0 -90
  125. package/dist/legacy/v1/duc/renderer-state.d.ts +0 -17
  126. package/dist/legacy/v1/duc/renderer-state.js +0 -54
  127. package/dist/legacy/v1/duc/segment-midpoint-state.d.ts +0 -18
  128. package/dist/legacy/v1/duc/segment-midpoint-state.js +0 -57
  129. package/dist/legacy/v1/duc/simple-point.d.ts +0 -15
  130. package/dist/legacy/v1/duc/simple-point.js +0 -48
  131. package/dist/legacy/v1/duc/stroke-sides.d.ts +0 -23
  132. package/dist/legacy/v1/duc/stroke-sides.js +0 -66
  133. package/dist/legacy/v1/duc/stroke-style.d.ts +0 -31
  134. package/dist/legacy/v1/duc/stroke-style.js +0 -102
  135. package/dist/legacy/v1/duc/tiling-properties.d.ts +0 -21
  136. package/dist/legacy/v1/duc/tiling-properties.js +0 -75
  137. package/dist/legacy/v1/duc.d.ts +0 -35
  138. package/dist/legacy/v1/duc.js +0 -37
  139. package/dist/legacy/v1/index.d.ts +0 -1
  140. package/dist/legacy/v1/index.js +0 -1
  141. package/dist/legacy/v1/parse/index.d.ts +0 -67
  142. package/dist/legacy/v1/parse/index.js +0 -101
  143. package/dist/legacy/v1/parse/parseAppStateFromBinary.d.ts +0 -3
  144. package/dist/legacy/v1/parse/parseAppStateFromBinary.js +0 -139
  145. package/dist/legacy/v1/parse/parseBinaryFilesFromBinary.d.ts +0 -4
  146. package/dist/legacy/v1/parse/parseBinaryFilesFromBinary.js +0 -32
  147. package/dist/legacy/v1/parse/parseBlockFromBinary.d.ts +0 -3
  148. package/dist/legacy/v1/parse/parseBlockFromBinary.js +0 -70
  149. package/dist/legacy/v1/parse/parseElementFromBinary.d.ts +0 -8
  150. package/dist/legacy/v1/parse/parseElementFromBinary.js +0 -387
  151. package/dist/legacy/v1/parse/parseGroupFromBinary.d.ts +0 -4
  152. package/dist/legacy/v1/parse/parseGroupFromBinary.js +0 -36
  153. package/dist/legacy/v1/parse/parseRendererStateFromBinary.d.ts +0 -4
  154. package/dist/legacy/v1/parse/parseRendererStateFromBinary.js +0 -15
  155. package/dist/legacy/v1/serialize/index.d.ts +0 -5
  156. package/dist/legacy/v1/serialize/index.js +0 -81
  157. package/dist/legacy/v1/serialize/serializationUtils.d.ts +0 -17
  158. package/dist/legacy/v1/serialize/serializationUtils.js +0 -27
  159. package/dist/legacy/v1/serialize/serializeAppStateFromDuc.d.ts +0 -4
  160. package/dist/legacy/v1/serialize/serializeAppStateFromDuc.js +0 -145
  161. package/dist/legacy/v1/serialize/serializeBinaryFilesFromDuc.d.ts +0 -4
  162. package/dist/legacy/v1/serialize/serializeBinaryFilesFromDuc.js +0 -46
  163. package/dist/legacy/v1/serialize/serializeBlockFromDuc.d.ts +0 -3
  164. package/dist/legacy/v1/serialize/serializeBlockFromDuc.js +0 -60
  165. package/dist/legacy/v1/serialize/serializeElementFromDuc.d.ts +0 -8
  166. package/dist/legacy/v1/serialize/serializeElementFromDuc.js +0 -435
  167. package/dist/legacy/v1/serialize/serializeGroupFromDuc.d.ts +0 -3
  168. package/dist/legacy/v1/serialize/serializeGroupFromDuc.js +0 -37
  169. package/dist/legacy/v1/serialize/serializeRendererStateFromDuc.d.ts +0 -4
  170. package/dist/legacy/v1/serialize/serializeRendererStateFromDuc.js +0 -7
  171. package/dist/legacy/v1/types/elements/index.d.ts +0 -480
  172. package/dist/legacy/v1/types/elements/index.js +0 -1
  173. package/dist/legacy/v1/types/elements/typeChecks.d.ts +0 -40
  174. package/dist/legacy/v1/types/elements/typeChecks.js +0 -179
  175. package/dist/legacy/v1/types/geometryTypes.d.ts +0 -78
  176. package/dist/legacy/v1/types/geometryTypes.js +0 -1
  177. package/dist/legacy/v1/types/index.d.ts +0 -496
  178. package/dist/legacy/v1/types/index.js +0 -1
  179. package/dist/legacy/v1/types/utility-types.d.ts +0 -31
  180. package/dist/legacy/v1/types/utility-types.js +0 -1
  181. package/dist/legacy/v1/utils/bounds.d.ts +0 -76
  182. package/dist/legacy/v1/utils/bounds.js +0 -415
  183. package/dist/legacy/v1/utils/constants.d.ts +0 -370
  184. package/dist/legacy/v1/utils/constants.js +0 -571
  185. package/dist/legacy/v1/utils/elements/index.d.ts +0 -26
  186. package/dist/legacy/v1/utils/elements/index.js +0 -108
  187. package/dist/legacy/v1/utils/elements/linearElement.d.ts +0 -133
  188. package/dist/legacy/v1/utils/elements/linearElement.js +0 -544
  189. package/dist/legacy/v1/utils/elements/textElement.d.ts +0 -89
  190. package/dist/legacy/v1/utils/elements/textElement.js +0 -563
  191. package/dist/legacy/v1/utils/index.d.ts +0 -26
  192. package/dist/legacy/v1/utils/index.js +0 -40
  193. package/dist/legacy/v1/utils/math/algebra/ga.d.ts +0 -63
  194. package/dist/legacy/v1/utils/math/algebra/ga.js +0 -268
  195. package/dist/legacy/v1/utils/math/algebra/gadirections.d.ts +0 -9
  196. package/dist/legacy/v1/utils/math/algebra/gadirections.js +0 -18
  197. package/dist/legacy/v1/utils/math/algebra/galines.d.ts +0 -23
  198. package/dist/legacy/v1/utils/math/algebra/galines.js +0 -32
  199. package/dist/legacy/v1/utils/math/algebra/gapoints.d.ts +0 -8
  200. package/dist/legacy/v1/utils/math/algebra/gapoints.js +0 -30
  201. package/dist/legacy/v1/utils/math/algebra/gatransforms.d.ts +0 -10
  202. package/dist/legacy/v1/utils/math/algebra/gatransforms.js +0 -23
  203. package/dist/legacy/v1/utils/math/bbox.d.ts +0 -10
  204. package/dist/legacy/v1/utils/math/bbox.js +0 -42
  205. package/dist/legacy/v1/utils/math/geometry.d.ts +0 -102
  206. package/dist/legacy/v1/utils/math/geometry.js +0 -790
  207. package/dist/legacy/v1/utils/math/index.d.ts +0 -309
  208. package/dist/legacy/v1/utils/math/index.js +0 -1140
  209. package/dist/legacy/v1/utils/math/random.d.ts +0 -4
  210. package/dist/legacy/v1/utils/math/random.js +0 -25
  211. package/dist/legacy/v1/utils/measurements.d.ts +0 -33
  212. package/dist/legacy/v1/utils/measurements.js +0 -65
  213. package/dist/legacy/v1/utils/normalize.d.ts +0 -14
  214. package/dist/legacy/v1/utils/normalize.js +0 -49
  215. package/dist/legacy/v1/utils/restore.d.ts +0 -197
  216. package/dist/legacy/v1/utils/restore.js +0 -1255
  217. package/dist/legacy/v1/utils/scopes.d.ts +0 -260
  218. package/dist/legacy/v1/utils/scopes.js +0 -661
  219. package/dist/legacy/v1/utils/standards.d.ts +0 -12
  220. package/dist/legacy/v1/utils/standards.js +0 -10
  221. package/dist/legacy/v1/utils/state/index.d.ts +0 -2
  222. package/dist/legacy/v1/utils/state/index.js +0 -68
  223. package/dist/legacy/v1/utils/url.d.ts +0 -8
  224. package/dist/legacy/v1/utils/url.js +0 -33
@@ -1,179 +0,0 @@
1
- import { assertNever } from "../../utils";
2
- export const isInitializedImageElement = (element) => {
3
- return !!element && element.type === "image" && !!element.fileId;
4
- };
5
- export const isImageElement = (element) => {
6
- return !!element && element.type === "image";
7
- };
8
- export const isEmbeddableElement = (element) => {
9
- return !!element && element.type === "embeddable";
10
- };
11
- export const isTableElement = (element) => {
12
- return !!element && element.type === "table";
13
- };
14
- export const isIframeLikeElement = (element) => {
15
- return (!!element && (element.type === "embeddable" ||
16
- element.type === "table" ||
17
- element.type === "doc"));
18
- };
19
- export const isTextElement = (element) => {
20
- return element != null && element.type === "text";
21
- };
22
- export const isFrameElement = (element) => {
23
- return element != null && element.type === "frame";
24
- };
25
- export const isFrameLikeElement = (element) => {
26
- return (element != null &&
27
- (element.type === "frame"));
28
- };
29
- export const isFreeDrawElement = (element) => {
30
- return element != null && isFreeDrawElementType(element.type);
31
- };
32
- export const isEllipseElement = (element) => {
33
- return element != null && element.type === "ellipse";
34
- };
35
- export const isPolygonElement = (element) => {
36
- return element != null && element.type === "polygon";
37
- };
38
- export const isFreeDrawElementType = (elementType) => {
39
- return elementType === "freedraw";
40
- };
41
- export const isLinearElement = (element) => {
42
- return element != null && isLinearElementType(element.type);
43
- };
44
- export const isLinearElementType = (elementType) => {
45
- return (elementType === "arrow" || elementType === "line");
46
- };
47
- export const isFlowchartNodeElement = (element) => {
48
- return (element.type === "rectangle" ||
49
- element.type === "ellipse" ||
50
- element.type === "polygon");
51
- };
52
- export const isShapeToLinearElementPossible = (element) => {
53
- return (element.type === "rectangle" ||
54
- element.type === "ellipse" ||
55
- element.type === "polygon");
56
- };
57
- export const isArrowElement = (element) => {
58
- return element != null && element.type === "arrow";
59
- };
60
- export const isElbowArrow = (element) => {
61
- return isArrowElement(element) && element.elbowed;
62
- };
63
- export const isBindingElement = (element, includeLocked = true) => {
64
- return (element != null &&
65
- (!element.locked || includeLocked === true) &&
66
- isBindingElementType(element.type));
67
- };
68
- export const isBindingElementType = (elementType) => {
69
- return elementType === "arrow";
70
- };
71
- export const isBindableElement = (element, includeLocked = true) => {
72
- return (element != null &&
73
- (!element.locked || includeLocked === true) &&
74
- (element.type === "rectangle" ||
75
- element.type === "polygon" ||
76
- element.type === "ellipse" ||
77
- element.type === "image" ||
78
- element.type === "embeddable" ||
79
- element.type === "frame" ||
80
- element.type === "line" ||
81
- element.type === "arrow" ||
82
- (element.type === "text" && !element.containerId)));
83
- };
84
- export const isRectanguloidElement = (element) => {
85
- return (element != null &&
86
- (element.type === "rectangle" ||
87
- element.type === "image" ||
88
- element.type === "embeddable" ||
89
- element.type === "frame" ||
90
- element.type === "table" ||
91
- (element.type === "text" && !element.containerId)));
92
- };
93
- export const isBlockInstanceElement = (element) => {
94
- return element != null && element.type === "blockinstance";
95
- };
96
- // TODO: Remove this when proper distance calculation is introduced
97
- // @see binding.ts:distanceToBindableElement()
98
- export const isRectangularElement = (element) => {
99
- return (element != null &&
100
- (element.type === "rectangle" ||
101
- element.type === "image" ||
102
- element.type === "text" ||
103
- element.type === "embeddable" ||
104
- element.type === "frame" ||
105
- element.type === "table"));
106
- };
107
- export const isTextBindableContainer = (element, includeLocked = true) => {
108
- return (element != null &&
109
- (!element.locked || includeLocked === true) &&
110
- (element.type === "rectangle" ||
111
- element.type === "polygon" ||
112
- element.type === "ellipse" ||
113
- isArrowElement(element)));
114
- };
115
- export const isDucElement = (element) => {
116
- const type = element === null || element === void 0 ? void 0 : element.type;
117
- if (!type) {
118
- return false;
119
- }
120
- switch (type) {
121
- case "text":
122
- case "polygon":
123
- case "rectangle":
124
- case "embeddable":
125
- case "ellipse":
126
- case "arrow":
127
- case "freedraw":
128
- case "line":
129
- case "frame":
130
- case "image":
131
- case "table":
132
- case "doc":
133
- case "blockinstance":
134
- case "selection": {
135
- return true;
136
- }
137
- default: {
138
- assertNever(type, null);
139
- return false;
140
- }
141
- }
142
- };
143
- export const hasBoundTextElement = (element) => {
144
- var _a;
145
- return (isTextBindableContainer(element) &&
146
- !!((_a = element.boundElements) === null || _a === void 0 ? void 0 : _a.some(({ type }) => type === "text")));
147
- };
148
- export const isBoundToContainer = (element) => {
149
- return (element !== null &&
150
- "containerId" in element &&
151
- element.containerId !== null &&
152
- isTextElement(element));
153
- };
154
- export const isUsingAdaptiveRadius = (type) => type === "rectangle" ||
155
- type === "embeddable" ||
156
- type === "image" ||
157
- type === "table";
158
- export const isUsingProportionalRadius = (type) => type === "line" || type === "arrow" || type === "diamond";
159
- // TODO: Move this to @excalidraw/math
160
- export const isPoint = (point) => Array.isArray(point) && point.length === 2;
161
- // TODO: Move this to @excalidraw/math
162
- export const isBounds = (box) => Array.isArray(box) &&
163
- box.length === 4 &&
164
- typeof box[0] === "number" &&
165
- typeof box[1] === "number" &&
166
- typeof box[2] === "number" &&
167
- typeof box[3] === "number";
168
- // TODO: Move this to @excalidraw/math
169
- export const isLineSegment = (segment) => Array.isArray(segment) &&
170
- segment.length === 2 &&
171
- isPoint(segment[0]) &&
172
- isPoint(segment[0]);
173
- export const isFixedPointBinding = (binding) => {
174
- return binding.fixedPoint != null;
175
- };
176
- export const isTable = (element) => {
177
- return (element === null || element === void 0 ? void 0 : element.type) === "table";
178
- };
179
- export const isNonDeletedElement = (element) => !element.isDeleted;
@@ -1,78 +0,0 @@
1
- import { ScopedValue } from "./";
2
- /**
3
- * x and y position of top left corner, x and y position of bottom right corner
4
- */
5
- export type Bounds = readonly [
6
- minX: ScopedValue,
7
- minY: ScopedValue,
8
- maxX: ScopedValue,
9
- maxY: ScopedValue
10
- ];
11
- /**
12
- * Angle in Radian
13
- * Ranges from 0 to 2π: 0 - 360°
14
- */
15
- export type Radian = number & {
16
- __brand: "Radian";
17
- };
18
- /**
19
- * Percentage
20
- * Ranges from 0 to 1: 0% - 100%
21
- */
22
- export type Percentage = number & {
23
- __brand: "Percentage";
24
- };
25
- export type GeometricPoint = {
26
- x: number;
27
- y: number;
28
- };
29
- export type GeometricVector = GeometricPoint;
30
- export type TuplePoint = [number, number];
31
- export type ElementsSegmentsMap = Map<string, GeometricPoint[]>;
32
- export type Line = [GeometricPoint, GeometricPoint];
33
- export type LineSegment = Line;
34
- export type Polyline = Line[];
35
- export type Curve = [GeometricPoint, GeometricPoint, GeometricPoint, GeometricPoint];
36
- export type Polycurve = Curve[];
37
- export type Polygon = GeometricPoint[];
38
- export type Ellipse = {
39
- center: GeometricPoint;
40
- angle: number;
41
- halfWidth: number;
42
- halfHeight: number;
43
- };
44
- export type GeometricShape = {
45
- type: "line";
46
- data: Line;
47
- } | {
48
- type: "polygon";
49
- data: Polygon;
50
- } | {
51
- type: "curve";
52
- data: Curve;
53
- } | {
54
- type: "ellipse";
55
- data: Ellipse;
56
- } | {
57
- type: "polyline";
58
- data: Polyline;
59
- } | {
60
- type: "polycurve";
61
- data: Polycurve;
62
- };
63
- /**
64
- * Defines the possible headings using the new Point interface.
65
- */
66
- export type Heading = {
67
- x: 1;
68
- y: 0;
69
- } | {
70
- x: 0;
71
- y: 1;
72
- } | {
73
- x: -1;
74
- y: 0;
75
- } | {
76
- x: 0;
77
- y: -1;
78
- };
@@ -1 +0,0 @@
1
- export {};