@mlightcad/data-model 1.0.0

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 (301) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +116 -0
  3. package/dist/data-model.js +19887 -0
  4. package/dist/data-model.umd.cjs +5 -0
  5. package/lib/base/AcDbHostApplicationServices.d.ts +30 -0
  6. package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -0
  7. package/lib/base/AcDbHostApplicationServices.js +54 -0
  8. package/lib/base/AcDbHostApplicationServices.js.map +1 -0
  9. package/lib/base/AcDbObject.d.ts +70 -0
  10. package/lib/base/AcDbObject.d.ts.map +1 -0
  11. package/lib/base/AcDbObject.js +113 -0
  12. package/lib/base/AcDbObject.js.map +1 -0
  13. package/lib/base/index.d.ts +3 -0
  14. package/lib/base/index.d.ts.map +1 -0
  15. package/lib/base/index.js +3 -0
  16. package/lib/base/index.js.map +1 -0
  17. package/lib/converter/AcDbBatchProcessing.d.ts +43 -0
  18. package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -0
  19. package/lib/converter/AcDbBatchProcessing.js +165 -0
  20. package/lib/converter/AcDbBatchProcessing.js.map +1 -0
  21. package/lib/converter/AcDbDxfConverter.d.ts +39 -0
  22. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -0
  23. package/lib/converter/AcDbDxfConverter.js +567 -0
  24. package/lib/converter/AcDbDxfConverter.js.map +1 -0
  25. package/lib/converter/AcDbDxfParseWorker.d.ts +2 -0
  26. package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -0
  27. package/lib/converter/AcDbDxfParseWorker.js +6 -0
  28. package/lib/converter/AcDbDxfParseWorker.js.map +1 -0
  29. package/lib/converter/AcDbEntitiyConverter.d.ts +36 -0
  30. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -0
  31. package/lib/converter/AcDbEntitiyConverter.js +491 -0
  32. package/lib/converter/AcDbEntitiyConverter.js.map +1 -0
  33. package/lib/converter/AcDbObjectConverter.d.ts +9 -0
  34. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -0
  35. package/lib/converter/AcDbObjectConverter.js +30 -0
  36. package/lib/converter/AcDbObjectConverter.js.map +1 -0
  37. package/lib/converter/index.d.ts +3 -0
  38. package/lib/converter/index.d.ts.map +1 -0
  39. package/lib/converter/index.js +3 -0
  40. package/lib/converter/index.js.map +1 -0
  41. package/lib/database/AcDbBlockTable.d.ts +15 -0
  42. package/lib/database/AcDbBlockTable.d.ts.map +1 -0
  43. package/lib/database/AcDbBlockTable.js +46 -0
  44. package/lib/database/AcDbBlockTable.js.map +1 -0
  45. package/lib/database/AcDbBlockTableRecord.d.ts +49 -0
  46. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -0
  47. package/lib/database/AcDbBlockTableRecord.js +108 -0
  48. package/lib/database/AcDbBlockTableRecord.js.map +1 -0
  49. package/lib/database/AcDbDatabase.d.ts +211 -0
  50. package/lib/database/AcDbDatabase.d.ts.map +1 -0
  51. package/lib/database/AcDbDatabase.js +395 -0
  52. package/lib/database/AcDbDatabase.js.map +1 -0
  53. package/lib/database/AcDbDatabaseConverter.d.ts +120 -0
  54. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -0
  55. package/lib/database/AcDbDatabaseConverter.js +376 -0
  56. package/lib/database/AcDbDatabaseConverter.js.map +1 -0
  57. package/lib/database/AcDbDatabaseConverterManager.d.ts +59 -0
  58. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -0
  59. package/lib/database/AcDbDatabaseConverterManager.js +98 -0
  60. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -0
  61. package/lib/database/AcDbDatabaseConverterRegister.d.ts +54 -0
  62. package/lib/database/AcDbDatabaseConverterRegister.d.ts.map +1 -0
  63. package/lib/database/AcDbDatabaseConverterRegister.js +84 -0
  64. package/lib/database/AcDbDatabaseConverterRegister.js.map +1 -0
  65. package/lib/database/AcDbDimStyleTable.d.ts +11 -0
  66. package/lib/database/AcDbDimStyleTable.d.ts.map +1 -0
  67. package/lib/database/AcDbDimStyleTable.js +29 -0
  68. package/lib/database/AcDbDimStyleTable.js.map +1 -0
  69. package/lib/database/AcDbDimStyleTableRecord.d.ts +682 -0
  70. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -0
  71. package/lib/database/AcDbDimStyleTableRecord.js +1250 -0
  72. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -0
  73. package/lib/database/AcDbLayerTable.d.ts +14 -0
  74. package/lib/database/AcDbLayerTable.d.ts.map +1 -0
  75. package/lib/database/AcDbLayerTable.js +55 -0
  76. package/lib/database/AcDbLayerTable.js.map +1 -0
  77. package/lib/database/AcDbLayerTableRecord.d.ts +98 -0
  78. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -0
  79. package/lib/database/AcDbLayerTableRecord.js +235 -0
  80. package/lib/database/AcDbLayerTableRecord.js.map +1 -0
  81. package/lib/database/AcDbLinetypeTable.d.ts +11 -0
  82. package/lib/database/AcDbLinetypeTable.d.ts.map +1 -0
  83. package/lib/database/AcDbLinetypeTable.js +29 -0
  84. package/lib/database/AcDbLinetypeTable.js.map +1 -0
  85. package/lib/database/AcDbLinetypeTableRecord.d.ts +47 -0
  86. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -0
  87. package/lib/database/AcDbLinetypeTableRecord.js +97 -0
  88. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -0
  89. package/lib/database/AcDbSymbolTable.d.ts +74 -0
  90. package/lib/database/AcDbSymbolTable.d.ts.map +1 -0
  91. package/lib/database/AcDbSymbolTable.js +136 -0
  92. package/lib/database/AcDbSymbolTable.js.map +1 -0
  93. package/lib/database/AcDbSymbolTableRecord.d.ts +16 -0
  94. package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -0
  95. package/lib/database/AcDbSymbolTableRecord.js +44 -0
  96. package/lib/database/AcDbSymbolTableRecord.js.map +1 -0
  97. package/lib/database/AcDbTextStyleTable.d.ts +14 -0
  98. package/lib/database/AcDbTextStyleTable.d.ts.map +1 -0
  99. package/lib/database/AcDbTextStyleTable.js +78 -0
  100. package/lib/database/AcDbTextStyleTable.js.map +1 -0
  101. package/lib/database/AcDbTextStyleTableRecord.d.ts +67 -0
  102. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -0
  103. package/lib/database/AcDbTextStyleTableRecord.js +166 -0
  104. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -0
  105. package/lib/database/AcDbViewportTable.d.ts +11 -0
  106. package/lib/database/AcDbViewportTable.d.ts.map +1 -0
  107. package/lib/database/AcDbViewportTable.js +29 -0
  108. package/lib/database/AcDbViewportTable.js.map +1 -0
  109. package/lib/database/AcDbViewportTableRecord.d.ts +89 -0
  110. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -0
  111. package/lib/database/AcDbViewportTableRecord.js +262 -0
  112. package/lib/database/AcDbViewportTableRecord.js.map +1 -0
  113. package/lib/database/index.d.ts +18 -0
  114. package/lib/database/index.d.ts.map +1 -0
  115. package/lib/database/index.js +18 -0
  116. package/lib/database/index.js.map +1 -0
  117. package/lib/entity/AcDbArc.d.ts +67 -0
  118. package/lib/entity/AcDbArc.d.ts.map +1 -0
  119. package/lib/entity/AcDbArc.js +154 -0
  120. package/lib/entity/AcDbArc.js.map +1 -0
  121. package/lib/entity/AcDbBlockReference.d.ts +54 -0
  122. package/lib/entity/AcDbBlockReference.d.ts.map +1 -0
  123. package/lib/entity/AcDbBlockReference.js +168 -0
  124. package/lib/entity/AcDbBlockReference.js.map +1 -0
  125. package/lib/entity/AcDbCircle.d.ts +51 -0
  126. package/lib/entity/AcDbCircle.d.ts.map +1 -0
  127. package/lib/entity/AcDbCircle.js +115 -0
  128. package/lib/entity/AcDbCircle.js.map +1 -0
  129. package/lib/entity/AcDbCurve.d.ts +9 -0
  130. package/lib/entity/AcDbCurve.d.ts.map +1 -0
  131. package/lib/entity/AcDbCurve.js +25 -0
  132. package/lib/entity/AcDbCurve.js.map +1 -0
  133. package/lib/entity/AcDbEllipse.d.ts +53 -0
  134. package/lib/entity/AcDbEllipse.d.ts.map +1 -0
  135. package/lib/entity/AcDbEllipse.js +119 -0
  136. package/lib/entity/AcDbEllipse.js.map +1 -0
  137. package/lib/entity/AcDbEntity.d.ts +103 -0
  138. package/lib/entity/AcDbEntity.d.ts.map +1 -0
  139. package/lib/entity/AcDbEntity.js +292 -0
  140. package/lib/entity/AcDbEntity.js.map +1 -0
  141. package/lib/entity/AcDbHatch.d.ts +116 -0
  142. package/lib/entity/AcDbHatch.d.ts.map +1 -0
  143. package/lib/entity/AcDbHatch.js +200 -0
  144. package/lib/entity/AcDbHatch.js.map +1 -0
  145. package/lib/entity/AcDbLeader.d.ts +94 -0
  146. package/lib/entity/AcDbLeader.d.ts.map +1 -0
  147. package/lib/entity/AcDbLeader.js +217 -0
  148. package/lib/entity/AcDbLeader.js.map +1 -0
  149. package/lib/entity/AcDbLine.d.ts +55 -0
  150. package/lib/entity/AcDbLine.d.ts.map +1 -0
  151. package/lib/entity/AcDbLine.js +158 -0
  152. package/lib/entity/AcDbLine.js.map +1 -0
  153. package/lib/entity/AcDbMText.d.ts +119 -0
  154. package/lib/entity/AcDbMText.d.ts.map +1 -0
  155. package/lib/entity/AcDbMText.js +300 -0
  156. package/lib/entity/AcDbMText.js.map +1 -0
  157. package/lib/entity/AcDbPoint.d.ts +32 -0
  158. package/lib/entity/AcDbPoint.d.ts.map +1 -0
  159. package/lib/entity/AcDbPoint.js +75 -0
  160. package/lib/entity/AcDbPoint.js.map +1 -0
  161. package/lib/entity/AcDbPolyline.d.ts +72 -0
  162. package/lib/entity/AcDbPolyline.d.ts.map +1 -0
  163. package/lib/entity/AcDbPolyline.js +154 -0
  164. package/lib/entity/AcDbPolyline.js.map +1 -0
  165. package/lib/entity/AcDbRasterImage.d.ts +163 -0
  166. package/lib/entity/AcDbRasterImage.d.ts.map +1 -0
  167. package/lib/entity/AcDbRasterImage.js +406 -0
  168. package/lib/entity/AcDbRasterImage.js.map +1 -0
  169. package/lib/entity/AcDbRay.d.ts +42 -0
  170. package/lib/entity/AcDbRay.d.ts.map +1 -0
  171. package/lib/entity/AcDbRay.js +102 -0
  172. package/lib/entity/AcDbRay.js.map +1 -0
  173. package/lib/entity/AcDbSpline.d.ts +37 -0
  174. package/lib/entity/AcDbSpline.d.ts.map +1 -0
  175. package/lib/entity/AcDbSpline.js +71 -0
  176. package/lib/entity/AcDbSpline.js.map +1 -0
  177. package/lib/entity/AcDbTable.d.ts +141 -0
  178. package/lib/entity/AcDbTable.d.ts.map +1 -0
  179. package/lib/entity/AcDbTable.js +358 -0
  180. package/lib/entity/AcDbTable.js.map +1 -0
  181. package/lib/entity/AcDbText.d.ts +110 -0
  182. package/lib/entity/AcDbText.d.ts.map +1 -0
  183. package/lib/entity/AcDbText.js +255 -0
  184. package/lib/entity/AcDbText.js.map +1 -0
  185. package/lib/entity/AcDbTrace.d.ts +64 -0
  186. package/lib/entity/AcDbTrace.d.ts.map +1 -0
  187. package/lib/entity/AcDbTrace.js +145 -0
  188. package/lib/entity/AcDbTrace.js.map +1 -0
  189. package/lib/entity/AcDbViewport.d.ts +58 -0
  190. package/lib/entity/AcDbViewport.d.ts.map +1 -0
  191. package/lib/entity/AcDbViewport.js +179 -0
  192. package/lib/entity/AcDbViewport.js.map +1 -0
  193. package/lib/entity/AcDbWipeout.d.ts +9 -0
  194. package/lib/entity/AcDbWipeout.d.ts.map +1 -0
  195. package/lib/entity/AcDbWipeout.js +40 -0
  196. package/lib/entity/AcDbWipeout.js.map +1 -0
  197. package/lib/entity/AcDbXline.d.ts +42 -0
  198. package/lib/entity/AcDbXline.d.ts.map +1 -0
  199. package/lib/entity/AcDbXline.js +102 -0
  200. package/lib/entity/AcDbXline.js.map +1 -0
  201. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +46 -0
  202. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -0
  203. package/lib/entity/dimension/AcDb3PointAngularDimension.js +111 -0
  204. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -0
  205. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +77 -0
  206. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -0
  207. package/lib/entity/dimension/AcDbAlignedDimension.js +203 -0
  208. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -0
  209. package/lib/entity/dimension/AcDbArcDimension.d.ts +46 -0
  210. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -0
  211. package/lib/entity/dimension/AcDbArcDimension.js +111 -0
  212. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -0
  213. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +69 -0
  214. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -0
  215. package/lib/entity/dimension/AcDbDiametricDimension.js +199 -0
  216. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -0
  217. package/lib/entity/dimension/AcDbDimension.d.ts +161 -0
  218. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -0
  219. package/lib/entity/dimension/AcDbDimension.js +375 -0
  220. package/lib/entity/dimension/AcDbDimension.js.map +1 -0
  221. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +44 -0
  222. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -0
  223. package/lib/entity/dimension/AcDbOrdinateDimension.js +99 -0
  224. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -0
  225. package/lib/entity/dimension/AcDbRadialDimension.d.ts +69 -0
  226. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -0
  227. package/lib/entity/dimension/AcDbRadialDimension.js +148 -0
  228. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -0
  229. package/lib/entity/dimension/index.d.ts +8 -0
  230. package/lib/entity/dimension/index.d.ts.map +1 -0
  231. package/lib/entity/dimension/index.js +8 -0
  232. package/lib/entity/dimension/index.js.map +1 -0
  233. package/lib/entity/index.d.ts +23 -0
  234. package/lib/entity/index.d.ts.map +1 -0
  235. package/lib/entity/index.js +23 -0
  236. package/lib/entity/index.js.map +1 -0
  237. package/lib/index.d.ts +10 -0
  238. package/lib/index.d.ts.map +1 -0
  239. package/lib/index.js +10 -0
  240. package/lib/index.js.map +1 -0
  241. package/lib/misc/AcDbAngleUnits.d.ts +8 -0
  242. package/lib/misc/AcDbAngleUnits.d.ts.map +1 -0
  243. package/lib/misc/AcDbAngleUnits.js +9 -0
  244. package/lib/misc/AcDbAngleUnits.js.map +1 -0
  245. package/lib/misc/AcDbConstants.d.ts +4 -0
  246. package/lib/misc/AcDbConstants.d.ts.map +1 -0
  247. package/lib/misc/AcDbConstants.js +4 -0
  248. package/lib/misc/AcDbConstants.js.map +1 -0
  249. package/lib/misc/AcDbDimArrowType.d.ts +86 -0
  250. package/lib/misc/AcDbDimArrowType.d.ts.map +1 -0
  251. package/lib/misc/AcDbDimArrowType.js +87 -0
  252. package/lib/misc/AcDbDimArrowType.js.map +1 -0
  253. package/lib/misc/AcDbObjectIterator.d.ts +16 -0
  254. package/lib/misc/AcDbObjectIterator.d.ts.map +1 -0
  255. package/lib/misc/AcDbObjectIterator.js +28 -0
  256. package/lib/misc/AcDbObjectIterator.js.map +1 -0
  257. package/lib/misc/AcDbOsnapMode.d.ts +43 -0
  258. package/lib/misc/AcDbOsnapMode.d.ts.map +1 -0
  259. package/lib/misc/AcDbOsnapMode.js +44 -0
  260. package/lib/misc/AcDbOsnapMode.js.map +1 -0
  261. package/lib/misc/AcDbRenderingCache.d.ts +61 -0
  262. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -0
  263. package/lib/misc/AcDbRenderingCache.js +154 -0
  264. package/lib/misc/AcDbRenderingCache.js.map +1 -0
  265. package/lib/misc/AcDbUnitsValue.d.ts +51 -0
  266. package/lib/misc/AcDbUnitsValue.d.ts.map +1 -0
  267. package/lib/misc/AcDbUnitsValue.js +71 -0
  268. package/lib/misc/AcDbUnitsValue.js.map +1 -0
  269. package/lib/misc/index.d.ts +8 -0
  270. package/lib/misc/index.d.ts.map +1 -0
  271. package/lib/misc/index.js +8 -0
  272. package/lib/misc/index.js.map +1 -0
  273. package/lib/object/AcDbDictionary.d.ts +80 -0
  274. package/lib/object/AcDbDictionary.d.ts.map +1 -0
  275. package/lib/object/AcDbDictionary.js +144 -0
  276. package/lib/object/AcDbDictionary.js.map +1 -0
  277. package/lib/object/AcDbRasterImageDef.d.ts +25 -0
  278. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -0
  279. package/lib/object/AcDbRasterImageDef.js +54 -0
  280. package/lib/object/AcDbRasterImageDef.js.map +1 -0
  281. package/lib/object/index.d.ts +4 -0
  282. package/lib/object/index.d.ts.map +1 -0
  283. package/lib/object/index.js +4 -0
  284. package/lib/object/index.js.map +1 -0
  285. package/lib/object/layout/AcDbLayout.d.ts +51 -0
  286. package/lib/object/layout/AcDbLayout.d.ts.map +1 -0
  287. package/lib/object/layout/AcDbLayout.js +120 -0
  288. package/lib/object/layout/AcDbLayout.js.map +1 -0
  289. package/lib/object/layout/AcDbLayoutDictionary.d.ts +19 -0
  290. package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -0
  291. package/lib/object/layout/AcDbLayoutDictionary.js +94 -0
  292. package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -0
  293. package/lib/object/layout/AcDbLayoutManager.d.ts +101 -0
  294. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -0
  295. package/lib/object/layout/AcDbLayoutManager.js +154 -0
  296. package/lib/object/layout/AcDbLayoutManager.js.map +1 -0
  297. package/lib/object/layout/index.d.ts +4 -0
  298. package/lib/object/layout/index.d.ts.map +1 -0
  299. package/lib/object/layout/index.js +4 -0
  300. package/lib/object/layout/index.js.map +1 -0
  301. package/package.json +46 -0
@@ -0,0 +1,376 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ import { AcCmPerformanceCollector, AcCmTask, AcCmTaskScheduler } from '@mlightcad/common';
53
+ import { AcDbRenderingCache } from '../misc';
54
+ var PERFORMANCE_ENTRY_NAME = 'Load Database';
55
+ /**
56
+ * A specialized task that includes additional data for dwg conversion.
57
+ * @template TIn Input type
58
+ * @template TOut Output type
59
+ */
60
+ var AcDbConversionTask = /** @class */ (function (_super) {
61
+ __extends(AcDbConversionTask, _super);
62
+ function AcDbConversionTask(data, progress) {
63
+ var _this = _super.call(this, data.stage) || this;
64
+ _this.data = data;
65
+ _this.progress = progress;
66
+ return _this;
67
+ }
68
+ /**
69
+ * Executes the task.
70
+ */
71
+ AcDbConversionTask.prototype.run = function (input) {
72
+ return __awaiter(this, void 0, void 0, function () {
73
+ var entry, t, out, outData;
74
+ return __generator(this, function (_a) {
75
+ switch (_a.label) {
76
+ case 0:
77
+ entry = AcCmPerformanceCollector.getInstance().getEntry(PERFORMANCE_ENTRY_NAME);
78
+ t = Date.now();
79
+ if (!this.progress) return [3 /*break*/, 2];
80
+ return [4 /*yield*/, this.progress(this.data.progress.value, this.data.stage, 'START')];
81
+ case 1:
82
+ _a.sent();
83
+ _a.label = 2;
84
+ case 2: return [4 /*yield*/, this.data.task(input)];
85
+ case 3:
86
+ out = _a.sent();
87
+ if (!this.progress) return [3 /*break*/, 5];
88
+ outData = out.data;
89
+ return [4 /*yield*/, this.progress(this.data.progress.value, this.data.stage, 'END', outData)];
90
+ case 4:
91
+ _a.sent();
92
+ this.data.progress.value += this.data.step;
93
+ if (this.data.progress.value > 100) {
94
+ this.data.progress.value = 100;
95
+ }
96
+ _a.label = 5;
97
+ case 5:
98
+ if (entry) {
99
+ ;
100
+ entry.data[this.name] = Date.now() - t;
101
+ }
102
+ return [2 /*return*/, out];
103
+ }
104
+ });
105
+ });
106
+ };
107
+ return AcDbConversionTask;
108
+ }(AcCmTask));
109
+ /**
110
+ * It defines interface that one drawing database convert should follow. One drawing database converter
111
+ * can convert one dxf/dwg file to one instance of AcDbDatabase.
112
+ */
113
+ var AcDbDatabaseConverter = /** @class */ (function () {
114
+ function AcDbDatabaseConverter() {
115
+ }
116
+ /**
117
+ * Read the drawing specified by data and store them into the specified database. It will break up
118
+ * entities in the drawing into smaller chunks that are processed asynchronously to allow the UI to
119
+ * remain responsive.
120
+ * @param data Input drawing data in dxf format
121
+ * @param db Input database to store drawing data
122
+ * @param progress Input optional callback function to update progress
123
+ * @param minimumChunkSize Input the minimum number of entities in one chunk. If it is greater than
124
+ * the total number of entities to process, the total number is used.
125
+ */
126
+ AcDbDatabaseConverter.prototype.read = function (data, db, minimumChunkSize, progress) {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ var loadDbTimeEntry, percentage, scheduler, t;
129
+ var _this = this;
130
+ return __generator(this, function (_a) {
131
+ switch (_a.label) {
132
+ case 0:
133
+ loadDbTimeEntry = {
134
+ name: PERFORMANCE_ENTRY_NAME,
135
+ data: { total: 0 },
136
+ format: function () {
137
+ var _this = this;
138
+ var result = '';
139
+ Object.keys(this.data).forEach(function (key) {
140
+ if (key !== 'total') {
141
+ result += "- ".concat(key, ": ").concat(_this.data[key], " ms\n");
142
+ }
143
+ });
144
+ result += "- total: ".concat(this.data.total, " ms");
145
+ return result;
146
+ }
147
+ };
148
+ AcCmPerformanceCollector.getInstance().collect(loadDbTimeEntry);
149
+ this.progress = progress;
150
+ percentage = { value: 0 };
151
+ scheduler = new AcCmTaskScheduler();
152
+ scheduler.setCompleteCallback(function () { return _this.onFinished(); });
153
+ scheduler.setErrorCallback(function () { return _this.onFinished(); });
154
+ scheduler.addTask(new AcDbConversionTask({
155
+ stage: 'START',
156
+ step: 1,
157
+ progress: percentage,
158
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
159
+ return __generator(this, function (_a) {
160
+ return [2 /*return*/, data];
161
+ });
162
+ }); }
163
+ }, progress));
164
+ scheduler.addTask(new AcDbConversionTask({
165
+ stage: 'PARSE',
166
+ step: 5,
167
+ progress: percentage,
168
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
169
+ var model;
170
+ return __generator(this, function (_a) {
171
+ switch (_a.label) {
172
+ case 0: return [4 /*yield*/, this.parse(data)];
173
+ case 1:
174
+ model = _a.sent();
175
+ return [2 /*return*/, { model: model }];
176
+ }
177
+ });
178
+ }); }
179
+ }, progress));
180
+ scheduler.addTask(new AcDbConversionTask({
181
+ stage: 'FONT',
182
+ step: 5,
183
+ progress: percentage,
184
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
185
+ var fonts;
186
+ return __generator(this, function (_a) {
187
+ fonts = this.getFonts(data.model);
188
+ return [2 /*return*/, { model: data.model, data: fonts }];
189
+ });
190
+ }); }
191
+ }, progress));
192
+ scheduler.addTask(new AcDbConversionTask({
193
+ stage: 'LTYPE',
194
+ step: 1,
195
+ progress: percentage,
196
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
197
+ return __generator(this, function (_a) {
198
+ this.processLineTypes(data.model, db);
199
+ return [2 /*return*/, data];
200
+ });
201
+ }); }
202
+ }, progress));
203
+ scheduler.addTask(new AcDbConversionTask({
204
+ stage: 'STYLE',
205
+ step: 1,
206
+ progress: percentage,
207
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
208
+ return __generator(this, function (_a) {
209
+ this.processTextStyles(data.model, db);
210
+ return [2 /*return*/, data];
211
+ });
212
+ }); }
213
+ }, progress));
214
+ scheduler.addTask(new AcDbConversionTask({
215
+ stage: 'DIMSTYLE',
216
+ step: 1,
217
+ progress: percentage,
218
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
219
+ return __generator(this, function (_a) {
220
+ this.processDimStyles(data.model, db);
221
+ return [2 /*return*/, data];
222
+ });
223
+ }); }
224
+ }, progress));
225
+ scheduler.addTask(new AcDbConversionTask({
226
+ stage: 'LAYER',
227
+ step: 1,
228
+ progress: percentage,
229
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
230
+ return __generator(this, function (_a) {
231
+ this.processLayers(data.model, db);
232
+ return [2 /*return*/, data];
233
+ });
234
+ }); }
235
+ }, progress));
236
+ scheduler.addTask(new AcDbConversionTask({
237
+ stage: 'VPORT',
238
+ step: 1,
239
+ progress: percentage,
240
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
241
+ return __generator(this, function (_a) {
242
+ this.processViewports(data.model, db);
243
+ return [2 /*return*/, data];
244
+ });
245
+ }); }
246
+ }, progress));
247
+ scheduler.addTask(new AcDbConversionTask({
248
+ stage: 'HEADER',
249
+ step: 1,
250
+ progress: percentage,
251
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
252
+ return __generator(this, function (_a) {
253
+ this.processHeader(data.model, db);
254
+ return [2 /*return*/, data];
255
+ });
256
+ }); }
257
+ }, progress));
258
+ scheduler.addTask(new AcDbConversionTask({
259
+ stage: 'BLOCK_RECORD',
260
+ step: 5,
261
+ progress: percentage,
262
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
263
+ return __generator(this, function (_a) {
264
+ this.processBlockTables(data.model, db);
265
+ return [2 /*return*/, data];
266
+ });
267
+ }); }
268
+ }, progress));
269
+ scheduler.addTask(new AcDbConversionTask({
270
+ stage: 'OBJECT',
271
+ step: 5,
272
+ progress: percentage,
273
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
274
+ return __generator(this, function (_a) {
275
+ this.processObjects(data.model, db);
276
+ return [2 /*return*/, data];
277
+ });
278
+ }); }
279
+ }, progress));
280
+ scheduler.addTask(new AcDbConversionTask({
281
+ stage: 'BLOCK',
282
+ step: 5,
283
+ progress: percentage,
284
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
285
+ return __generator(this, function (_a) {
286
+ switch (_a.label) {
287
+ case 0: return [4 /*yield*/, this.processBlocks(data.model, db)];
288
+ case 1:
289
+ _a.sent();
290
+ return [2 /*return*/, data];
291
+ }
292
+ });
293
+ }); }
294
+ }, progress));
295
+ scheduler.addTask(new AcDbConversionTask({
296
+ stage: 'ENTITY',
297
+ step: 100,
298
+ progress: percentage,
299
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
300
+ return __generator(this, function (_a) {
301
+ switch (_a.label) {
302
+ case 0: return [4 /*yield*/, this.processEntities(data.model, db, minimumChunkSize, percentage, progress)];
303
+ case 1:
304
+ _a.sent();
305
+ return [2 /*return*/, data];
306
+ }
307
+ });
308
+ }); }
309
+ }, progress));
310
+ scheduler.addTask(new AcDbConversionTask({
311
+ stage: 'END',
312
+ step: 0,
313
+ progress: percentage,
314
+ task: function (data) { return __awaiter(_this, void 0, void 0, function () {
315
+ return __generator(this, function (_a) {
316
+ return [2 /*return*/, data];
317
+ });
318
+ }); }
319
+ }, progress));
320
+ t = Date.now();
321
+ return [4 /*yield*/, scheduler.run(data)];
322
+ case 1:
323
+ _a.sent();
324
+ loadDbTimeEntry.data.total = Date.now() - t;
325
+ return [2 /*return*/];
326
+ }
327
+ });
328
+ });
329
+ };
330
+ AcDbDatabaseConverter.prototype.onFinished = function () {
331
+ if (this.progress) {
332
+ this.progress(100, 'END', 'END');
333
+ // Clear cache to reduce memory consumption
334
+ AcDbRenderingCache.instance.clear();
335
+ }
336
+ };
337
+ AcDbDatabaseConverter.prototype.parse = function (_data) {
338
+ throw new Error('Not impelemented yet!');
339
+ };
340
+ AcDbDatabaseConverter.prototype.getFonts = function (_model) {
341
+ throw new Error('Not impelemented yet!');
342
+ };
343
+ AcDbDatabaseConverter.prototype.processLineTypes = function (_model, _db) {
344
+ throw new Error('Not impelemented yet!');
345
+ };
346
+ AcDbDatabaseConverter.prototype.processTextStyles = function (_model, _db) {
347
+ throw new Error('Not impelemented yet!');
348
+ };
349
+ AcDbDatabaseConverter.prototype.processDimStyles = function (_model, _db) {
350
+ throw new Error('Not impelemented yet!');
351
+ };
352
+ AcDbDatabaseConverter.prototype.processLayers = function (_model, _db) {
353
+ throw new Error('Not impelemented yet!');
354
+ };
355
+ AcDbDatabaseConverter.prototype.processViewports = function (_model, _db) {
356
+ throw new Error('Not impelemented yet!');
357
+ };
358
+ AcDbDatabaseConverter.prototype.processHeader = function (_model, _db) {
359
+ throw new Error('Not impelemented yet!');
360
+ };
361
+ AcDbDatabaseConverter.prototype.processBlockTables = function (_model, _db) {
362
+ throw new Error('Not impelemented yet!');
363
+ };
364
+ AcDbDatabaseConverter.prototype.processObjects = function (_model, _db) {
365
+ throw new Error('Not impelemented yet!');
366
+ };
367
+ AcDbDatabaseConverter.prototype.processBlocks = function (_model, _db) {
368
+ throw new Error('Not impelemented yet!');
369
+ };
370
+ AcDbDatabaseConverter.prototype.processEntities = function (_model, _db, _minimumChunkSize, _percentage, _progress) {
371
+ throw new Error('Not impelemented yet!');
372
+ };
373
+ return AcDbDatabaseConverter;
374
+ }());
375
+ export { AcDbDatabaseConverter };
376
+ //# sourceMappingURL=AcDbDatabaseConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDatabaseConverter.js","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { AcCmEventManager } from '@mlightcad/common';
2
+ import { AcDbDatabaseConverter } from './AcDbDatabaseConverter';
3
+ /**
4
+ * Drawing file type
5
+ */
6
+ export declare enum AcDbFileType {
7
+ /**
8
+ * DXF file
9
+ */
10
+ DXF = "dxf",
11
+ /**
12
+ * DWG file
13
+ */
14
+ DWG = "dwg"
15
+ }
16
+ export interface AcDbDatabaseConverterManagerEventArgs {
17
+ fileType: AcDbFileType;
18
+ converter: AcDbDatabaseConverter;
19
+ }
20
+ /**
21
+ * Used to register database converter by file type. For example, you can register 'dxf' converter
22
+ * and 'dwg' converter to handle different file types by different converter.
23
+ */
24
+ export declare class AcDbDatabaseConverterManager {
25
+ private static _instance?;
26
+ private _converters;
27
+ readonly events: {
28
+ registered: AcCmEventManager<AcDbDatabaseConverterManagerEventArgs>;
29
+ unregistered: AcCmEventManager<AcDbDatabaseConverterManagerEventArgs>;
30
+ };
31
+ static createInstance(): AcDbDatabaseConverterManager | undefined;
32
+ /**
33
+ * The singlton instance of this class.
34
+ */
35
+ static get instance(): AcDbDatabaseConverterManager;
36
+ private constructor();
37
+ /**
38
+ * All of registered file types
39
+ */
40
+ get fileTypes(): IterableIterator<AcDbFileType>;
41
+ /**
42
+ * Register one database convert for the specified file type
43
+ * @param fileType Input one file type value.
44
+ * @param converter Input the database converter associated with the specified file type.
45
+ */
46
+ register(fileType: AcDbFileType, converter: AcDbDatabaseConverter): void;
47
+ /**
48
+ * Get the database converter associated with the specified file type.
49
+ * @param fileType Input one file type value.
50
+ * @returns Return the database converter associated with the specified file type.
51
+ */
52
+ get(fileType: AcDbFileType): AcDbDatabaseConverter<unknown> | undefined;
53
+ /**
54
+ * Unregister the database converter for the specified file type.
55
+ * @param fileType Input one file type value.
56
+ */
57
+ unregister(fileType: AcDbFileType): void;
58
+ }
59
+ //# sourceMappingURL=AcDbDatabaseConverterManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDatabaseConverterManager.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,qBAAqB,CAAA;CACjC;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAA8B;IACvD,OAAO,CAAC,WAAW,CAA0C;IAE7D,SAAgB,MAAM;;;MAGrB;IAED,MAAM,CAAC,cAAc;IAQrB;;OAEG;IACH,MAAM,KAAK,QAAQ,iCAMlB;IAED,OAAO;IAKP;;OAEG;IACH,IAAI,SAAS,mCAEZ;IAED;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB;IAQxE;;;;OAIG;IACI,GAAG,CAAC,QAAQ,EAAE,YAAY;IAIjC;;;OAGG;IACI,UAAU,CAAC,QAAQ,EAAE,YAAY;CAUzC"}
@@ -0,0 +1,98 @@
1
+ import { AcCmEventManager } from '@mlightcad/common';
2
+ import { AcDbDxfConverter } from '../converter';
3
+ /**
4
+ * Drawing file type
5
+ */
6
+ export var AcDbFileType;
7
+ (function (AcDbFileType) {
8
+ /**
9
+ * DXF file
10
+ */
11
+ AcDbFileType["DXF"] = "dxf";
12
+ /**
13
+ * DWG file
14
+ */
15
+ AcDbFileType["DWG"] = "dwg";
16
+ })(AcDbFileType || (AcDbFileType = {}));
17
+ /**
18
+ * Used to register database converter by file type. For example, you can register 'dxf' converter
19
+ * and 'dwg' converter to handle different file types by different converter.
20
+ */
21
+ var AcDbDatabaseConverterManager = /** @class */ (function () {
22
+ function AcDbDatabaseConverterManager() {
23
+ this.events = {
24
+ registered: new AcCmEventManager(),
25
+ unregistered: new AcCmEventManager()
26
+ };
27
+ this._converters = new Map();
28
+ this.register(AcDbFileType.DXF, new AcDbDxfConverter());
29
+ }
30
+ AcDbDatabaseConverterManager.createInstance = function () {
31
+ if (AcDbDatabaseConverterManager._instance == null) {
32
+ AcDbDatabaseConverterManager._instance =
33
+ new AcDbDatabaseConverterManager();
34
+ }
35
+ return this._instance;
36
+ };
37
+ Object.defineProperty(AcDbDatabaseConverterManager, "instance", {
38
+ /**
39
+ * The singlton instance of this class.
40
+ */
41
+ get: function () {
42
+ if (!AcDbDatabaseConverterManager._instance) {
43
+ AcDbDatabaseConverterManager._instance =
44
+ new AcDbDatabaseConverterManager();
45
+ }
46
+ return AcDbDatabaseConverterManager._instance;
47
+ },
48
+ enumerable: false,
49
+ configurable: true
50
+ });
51
+ Object.defineProperty(AcDbDatabaseConverterManager.prototype, "fileTypes", {
52
+ /**
53
+ * All of registered file types
54
+ */
55
+ get: function () {
56
+ return this._converters.keys();
57
+ },
58
+ enumerable: false,
59
+ configurable: true
60
+ });
61
+ /**
62
+ * Register one database convert for the specified file type
63
+ * @param fileType Input one file type value.
64
+ * @param converter Input the database converter associated with the specified file type.
65
+ */
66
+ AcDbDatabaseConverterManager.prototype.register = function (fileType, converter) {
67
+ this._converters.set(fileType, converter);
68
+ this.events.registered.dispatch({
69
+ fileType: fileType,
70
+ converter: converter
71
+ });
72
+ };
73
+ /**
74
+ * Get the database converter associated with the specified file type.
75
+ * @param fileType Input one file type value.
76
+ * @returns Return the database converter associated with the specified file type.
77
+ */
78
+ AcDbDatabaseConverterManager.prototype.get = function (fileType) {
79
+ return this._converters.get(fileType);
80
+ };
81
+ /**
82
+ * Unregister the database converter for the specified file type.
83
+ * @param fileType Input one file type value.
84
+ */
85
+ AcDbDatabaseConverterManager.prototype.unregister = function (fileType) {
86
+ var converter = this._converters.get(fileType);
87
+ if (converter) {
88
+ this._converters.delete(fileType);
89
+ this.events.unregistered.dispatch({
90
+ fileType: fileType,
91
+ converter: converter
92
+ });
93
+ }
94
+ };
95
+ return AcDbDatabaseConverterManager;
96
+ }());
97
+ export { AcDbDatabaseConverterManager };
98
+ //# sourceMappingURL=AcDbDatabaseConverterManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDatabaseConverterManager.js","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C;;GAEG;AACH,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB;;OAEG;IACH,2BAAW,CAAA;IACX;;OAEG;IACH,2BAAW,CAAA;AACb,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;AAOD;;;GAGG;AACH;IA4BE;QAxBgB,WAAM,GAAG;YACvB,UAAU,EAAE,IAAI,gBAAgB,EAAyC;YACzE,YAAY,EAAE,IAAI,gBAAgB,EAAyC;SAC5E,CAAA;QAsBC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAA;IACzD,CAAC;IAtBM,2CAAc,GAArB;QACE,IAAI,4BAA4B,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YACnD,4BAA4B,CAAC,SAAS;gBACpC,IAAI,4BAA4B,EAAE,CAAA;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAKD,sBAAW,wCAAQ;QAHnB;;WAEG;aACH;YACE,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,CAAC;gBAC5C,4BAA4B,CAAC,SAAS;oBACpC,IAAI,4BAA4B,EAAE,CAAA;YACtC,CAAC;YACD,OAAO,4BAA4B,CAAC,SAAS,CAAA;QAC/C,CAAC;;;OAAA;IAUD,sBAAI,mDAAS;QAHb;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAChC,CAAC;;;OAAA;IAED;;;;OAIG;IACI,+CAAQ,GAAf,UAAgB,QAAsB,EAAE,SAAgC;QACtE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9B,QAAQ,UAAA;YACR,SAAS,WAAA;SACV,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACI,0CAAG,GAAV,UAAW,QAAsB;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACI,iDAAU,GAAjB,UAAkB,QAAsB;QACtC,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACjC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAChC,QAAQ,UAAA;gBACR,SAAS,WAAA;aACV,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACH,mCAAC;AAAD,CAAC,AA5ED,IA4EC"}
@@ -0,0 +1,54 @@
1
+ import { AcCmEventManager } from '@mlightcad/common';
2
+ import { AcDbDatabaseConverter } from './AcDbDatabaseConverter';
3
+ /**
4
+ * Drawing file type
5
+ */
6
+ export declare enum AcDbFileType {
7
+ /**
8
+ * DXF file
9
+ */
10
+ DXF = "dxf",
11
+ /**
12
+ * DWG file
13
+ */
14
+ DWG = "dwg"
15
+ }
16
+ export interface AcDbDatabaseConverterRegisterEventArgs {
17
+ fileType: AcDbFileType;
18
+ converter: AcDbDatabaseConverter;
19
+ }
20
+ /**
21
+ * Used to register database converter by file type. For example, you can register 'dxf' converter
22
+ * and 'dwg' converter to handle different file types by different converter.
23
+ */
24
+ export declare class AcDbDatabaseConverterRegister {
25
+ private static _instance?;
26
+ private _converters;
27
+ readonly events: {
28
+ registered: AcCmEventManager<AcDbDatabaseConverterRegisterEventArgs>;
29
+ unregistered: AcCmEventManager<AcDbDatabaseConverterRegisterEventArgs>;
30
+ };
31
+ static createInstance(): AcDbDatabaseConverterRegister | undefined;
32
+ /**
33
+ * The singlton instance of this class.
34
+ */
35
+ static get instance(): AcDbDatabaseConverterRegister;
36
+ private constructor();
37
+ /**
38
+ * All of registered file types
39
+ */
40
+ get fileTypes(): IterableIterator<AcDbFileType>;
41
+ /**
42
+ * Register one database convert for the specified file type
43
+ * @param fileType Input one file type value.
44
+ * @param converter Input the database converter associated with the specified file type.
45
+ */
46
+ register(fileType: AcDbFileType, converter: AcDbDatabaseConverter): void;
47
+ /**
48
+ * Get the database converter associated with the specified file type.
49
+ * @param fileType Input one file type value.
50
+ * @returns Return the database converter associated with the specified file type.
51
+ */
52
+ get(fileType: AcDbFileType): AcDbDatabaseConverter<unknown> | undefined;
53
+ }
54
+ //# sourceMappingURL=AcDbDatabaseConverterRegister.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDatabaseConverterRegister.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterRegister.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,qBAAqB,CAAA;CACjC;AAED;;;GAGG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAA+B;IACxD,OAAO,CAAC,WAAW,CAA0C;IAE7D,SAAgB,MAAM;;;MAGrB;IAED,MAAM,CAAC,cAAc;IAQrB;;OAEG;IACH,MAAM,KAAK,QAAQ,kCAMlB;IAED,OAAO;IAKP;;OAEG;IACH,IAAI,SAAS,mCAEZ;IAED;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB;IAQxE;;;;OAIG;IACI,GAAG,CAAC,QAAQ,EAAE,YAAY;CAGlC"}