@mlightcad/data-model 1.1.2 → 1.1.3

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 (259) hide show
  1. package/dist/data-model.js +5490 -1022
  2. package/dist/data-model.umd.cjs +2 -2
  3. package/lib/base/AcDbHostApplicationServices.d.ts +72 -6
  4. package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -1
  5. package/lib/base/AcDbHostApplicationServices.js +71 -7
  6. package/lib/base/AcDbHostApplicationServices.js.map +1 -1
  7. package/lib/base/AcDbObject.d.ts +160 -25
  8. package/lib/base/AcDbObject.d.ts.map +1 -1
  9. package/lib/base/AcDbObject.js +149 -25
  10. package/lib/base/AcDbObject.js.map +1 -1
  11. package/lib/converter/AcDbBatchProcessing.d.ts +112 -10
  12. package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -1
  13. package/lib/converter/AcDbBatchProcessing.js +110 -11
  14. package/lib/converter/AcDbBatchProcessing.js.map +1 -1
  15. package/lib/converter/AcDbDxfConverter.d.ts +224 -6
  16. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
  17. package/lib/converter/AcDbDxfConverter.js +224 -6
  18. package/lib/converter/AcDbDxfConverter.js.map +1 -1
  19. package/lib/converter/AcDbDxfParseWorker.d.ts +16 -0
  20. package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -1
  21. package/lib/converter/AcDbDxfParseWorker.js +16 -0
  22. package/lib/converter/AcDbDxfParseWorker.js.map +1 -1
  23. package/lib/converter/AcDbEntitiyConverter.d.ts +118 -3
  24. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
  25. package/lib/converter/AcDbEntitiyConverter.js +118 -3
  26. package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
  27. package/lib/converter/AcDbObjectConverter.d.ts +52 -0
  28. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
  29. package/lib/converter/AcDbObjectConverter.js +52 -0
  30. package/lib/converter/AcDbObjectConverter.js.map +1 -1
  31. package/lib/database/AcDbBlockTable.d.ts +35 -3
  32. package/lib/database/AcDbBlockTable.d.ts.map +1 -1
  33. package/lib/database/AcDbBlockTable.js +35 -3
  34. package/lib/database/AcDbBlockTable.js.map +1 -1
  35. package/lib/database/AcDbBlockTableRecord.d.ts +98 -15
  36. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  37. package/lib/database/AcDbBlockTableRecord.js +96 -15
  38. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  39. package/lib/database/AcDbDatabase.d.ts +303 -33
  40. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  41. package/lib/database/AcDbDatabase.js +223 -39
  42. package/lib/database/AcDbDatabase.js.map +1 -1
  43. package/lib/database/AcDbDatabaseConverter.d.ts +77 -12
  44. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
  45. package/lib/database/AcDbDatabaseConverter.js +46 -13
  46. package/lib/database/AcDbDatabaseConverter.js.map +1 -1
  47. package/lib/database/AcDbDatabaseConverterManager.d.ts +97 -15
  48. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
  49. package/lib/database/AcDbDatabaseConverterManager.js +90 -15
  50. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
  51. package/lib/database/AcDbDimStyleTable.d.ts +22 -2
  52. package/lib/database/AcDbDimStyleTable.d.ts.map +1 -1
  53. package/lib/database/AcDbDimStyleTable.js +22 -2
  54. package/lib/database/AcDbDimStyleTable.js.map +1 -1
  55. package/lib/database/AcDbDimStyleTableRecord.d.ts +115 -0
  56. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
  57. package/lib/database/AcDbDimStyleTableRecord.js +44 -0
  58. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
  59. package/lib/database/AcDbLayerTable.d.ts +39 -2
  60. package/lib/database/AcDbLayerTable.d.ts.map +1 -1
  61. package/lib/database/AcDbLayerTable.js +39 -2
  62. package/lib/database/AcDbLayerTable.js.map +1 -1
  63. package/lib/database/AcDbLayerTableRecord.d.ts +198 -18
  64. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
  65. package/lib/database/AcDbLayerTableRecord.js +182 -19
  66. package/lib/database/AcDbLayerTableRecord.js.map +1 -1
  67. package/lib/database/AcDbLinetypeTable.d.ts +21 -2
  68. package/lib/database/AcDbLinetypeTable.d.ts.map +1 -1
  69. package/lib/database/AcDbLinetypeTable.js +21 -2
  70. package/lib/database/AcDbLinetypeTable.js.map +1 -1
  71. package/lib/database/AcDbLinetypeTableRecord.d.ts +46 -14
  72. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
  73. package/lib/database/AcDbLinetypeTableRecord.js +46 -14
  74. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
  75. package/lib/database/AcDbSymbolTable.d.ts +134 -29
  76. package/lib/database/AcDbSymbolTable.d.ts.map +1 -1
  77. package/lib/database/AcDbSymbolTable.js +133 -37
  78. package/lib/database/AcDbSymbolTable.js.map +1 -1
  79. package/lib/database/AcDbSymbolTableRecord.d.ts +47 -2
  80. package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -1
  81. package/lib/database/AcDbSymbolTableRecord.js +40 -2
  82. package/lib/database/AcDbSymbolTableRecord.js.map +1 -1
  83. package/lib/database/AcDbTextStyleTable.d.ts +36 -2
  84. package/lib/database/AcDbTextStyleTable.d.ts.map +1 -1
  85. package/lib/database/AcDbTextStyleTable.js +36 -2
  86. package/lib/database/AcDbTextStyleTable.js.map +1 -1
  87. package/lib/database/AcDbTextStyleTableRecord.d.ts +129 -17
  88. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
  89. package/lib/database/AcDbTextStyleTableRecord.js +127 -17
  90. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
  91. package/lib/database/AcDbViewportTable.d.ts +22 -2
  92. package/lib/database/AcDbViewportTable.d.ts.map +1 -1
  93. package/lib/database/AcDbViewportTable.js +22 -2
  94. package/lib/database/AcDbViewportTable.js.map +1 -1
  95. package/lib/database/AcDbViewportTableRecord.d.ts +74 -9
  96. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
  97. package/lib/database/AcDbViewportTableRecord.js +65 -9
  98. package/lib/database/AcDbViewportTableRecord.js.map +1 -1
  99. package/lib/entity/AcDbArc.d.ts +202 -17
  100. package/lib/entity/AcDbArc.d.ts.map +1 -1
  101. package/lib/entity/AcDbArc.js +201 -17
  102. package/lib/entity/AcDbArc.js.map +1 -1
  103. package/lib/entity/AcDbBlockReference.d.ts +147 -13
  104. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  105. package/lib/entity/AcDbBlockReference.js +142 -13
  106. package/lib/entity/AcDbBlockReference.js.map +1 -1
  107. package/lib/entity/AcDbCircle.d.ts +145 -12
  108. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  109. package/lib/entity/AcDbCircle.js +144 -12
  110. package/lib/entity/AcDbCircle.js.map +1 -1
  111. package/lib/entity/AcDbCurve.d.ts +33 -2
  112. package/lib/entity/AcDbCurve.d.ts.map +1 -1
  113. package/lib/entity/AcDbCurve.js +17 -0
  114. package/lib/entity/AcDbCurve.js.map +1 -1
  115. package/lib/entity/AcDbEllipse.d.ts +168 -16
  116. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  117. package/lib/entity/AcDbEllipse.js +167 -16
  118. package/lib/entity/AcDbEllipse.js.map +1 -1
  119. package/lib/entity/AcDbEntity.d.ts +299 -35
  120. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  121. package/lib/entity/AcDbEntity.js +275 -27
  122. package/lib/entity/AcDbEntity.js.map +1 -1
  123. package/lib/entity/AcDbHatch.d.ts +60 -4
  124. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  125. package/lib/entity/AcDbHatch.js +52 -4
  126. package/lib/entity/AcDbHatch.js.map +1 -1
  127. package/lib/entity/AcDbLeader.d.ts +157 -10
  128. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  129. package/lib/entity/AcDbLeader.js +149 -10
  130. package/lib/entity/AcDbLeader.js.map +1 -1
  131. package/lib/entity/AcDbLine.d.ts +154 -13
  132. package/lib/entity/AcDbLine.d.ts.map +1 -1
  133. package/lib/entity/AcDbLine.js +153 -13
  134. package/lib/entity/AcDbLine.js.map +1 -1
  135. package/lib/entity/AcDbMText.d.ts +127 -11
  136. package/lib/entity/AcDbMText.d.ts.map +1 -1
  137. package/lib/entity/AcDbMText.js +112 -11
  138. package/lib/entity/AcDbMText.js.map +1 -1
  139. package/lib/entity/AcDbPoint.d.ts +86 -7
  140. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  141. package/lib/entity/AcDbPoint.js +85 -7
  142. package/lib/entity/AcDbPoint.js.map +1 -1
  143. package/lib/entity/AcDbPolyline.d.ts +172 -25
  144. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  145. package/lib/entity/AcDbPolyline.js +170 -25
  146. package/lib/entity/AcDbPolyline.js.map +1 -1
  147. package/lib/entity/AcDbRasterImage.d.ts +75 -31
  148. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  149. package/lib/entity/AcDbRasterImage.js +60 -31
  150. package/lib/entity/AcDbRasterImage.js.map +1 -1
  151. package/lib/entity/AcDbRay.d.ts +115 -9
  152. package/lib/entity/AcDbRay.d.ts.map +1 -1
  153. package/lib/entity/AcDbRay.js +113 -9
  154. package/lib/entity/AcDbRay.js.map +1 -1
  155. package/lib/entity/AcDbSpline.d.ts +106 -14
  156. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  157. package/lib/entity/AcDbSpline.js +67 -4
  158. package/lib/entity/AcDbSpline.js.map +1 -1
  159. package/lib/entity/AcDbTable.d.ts +161 -44
  160. package/lib/entity/AcDbTable.d.ts.map +1 -1
  161. package/lib/entity/AcDbTable.js +135 -44
  162. package/lib/entity/AcDbTable.js.map +1 -1
  163. package/lib/entity/AcDbText.d.ts +298 -25
  164. package/lib/entity/AcDbText.d.ts.map +1 -1
  165. package/lib/entity/AcDbText.js +288 -25
  166. package/lib/entity/AcDbText.js.map +1 -1
  167. package/lib/entity/AcDbTrace.d.ts +150 -23
  168. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  169. package/lib/entity/AcDbTrace.js +147 -23
  170. package/lib/entity/AcDbTrace.js.map +1 -1
  171. package/lib/entity/AcDbViewport.d.ts +122 -9
  172. package/lib/entity/AcDbViewport.d.ts.map +1 -1
  173. package/lib/entity/AcDbViewport.js +122 -9
  174. package/lib/entity/AcDbViewport.js.map +1 -1
  175. package/lib/entity/AcDbWipeout.d.ts +29 -1
  176. package/lib/entity/AcDbWipeout.d.ts.map +1 -1
  177. package/lib/entity/AcDbWipeout.js +29 -1
  178. package/lib/entity/AcDbWipeout.js.map +1 -1
  179. package/lib/entity/AcDbXline.d.ts +116 -9
  180. package/lib/entity/AcDbXline.d.ts.map +1 -1
  181. package/lib/entity/AcDbXline.js +114 -9
  182. package/lib/entity/AcDbXline.js.map +1 -1
  183. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +56 -12
  184. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
  185. package/lib/entity/dimension/AcDb3PointAngularDimension.js +56 -12
  186. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
  187. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +158 -17
  188. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
  189. package/lib/entity/dimension/AcDbAlignedDimension.js +153 -17
  190. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
  191. package/lib/entity/dimension/AcDbArcDimension.d.ts +58 -12
  192. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
  193. package/lib/entity/dimension/AcDbArcDimension.js +58 -12
  194. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
  195. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +99 -25
  196. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  197. package/lib/entity/dimension/AcDbDiametricDimension.js +99 -25
  198. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  199. package/lib/entity/dimension/AcDbDimension.d.ts +108 -14
  200. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  201. package/lib/entity/dimension/AcDbDimension.js +99 -14
  202. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  203. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +48 -16
  204. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
  205. package/lib/entity/dimension/AcDbOrdinateDimension.js +48 -16
  206. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
  207. package/lib/entity/dimension/AcDbRadialDimension.d.ts +167 -24
  208. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
  209. package/lib/entity/dimension/AcDbRadialDimension.js +162 -24
  210. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
  211. package/lib/misc/AcDbAngleUnits.d.ts +12 -0
  212. package/lib/misc/AcDbAngleUnits.d.ts.map +1 -1
  213. package/lib/misc/AcDbAngleUnits.js +12 -0
  214. package/lib/misc/AcDbAngleUnits.js.map +1 -1
  215. package/lib/misc/AcDbConstants.d.ts +20 -0
  216. package/lib/misc/AcDbConstants.d.ts.map +1 -1
  217. package/lib/misc/AcDbConstants.js +20 -0
  218. package/lib/misc/AcDbConstants.js.map +1 -1
  219. package/lib/misc/AcDbDimArrowType.d.ts +24 -21
  220. package/lib/misc/AcDbDimArrowType.d.ts.map +1 -1
  221. package/lib/misc/AcDbDimArrowType.js +24 -21
  222. package/lib/misc/AcDbDimArrowType.js.map +1 -1
  223. package/lib/misc/AcDbObjectIterator.d.ts +42 -3
  224. package/lib/misc/AcDbObjectIterator.d.ts.map +1 -1
  225. package/lib/misc/AcDbObjectIterator.js +42 -3
  226. package/lib/misc/AcDbObjectIterator.js.map +1 -1
  227. package/lib/misc/AcDbOsnapMode.d.ts +18 -10
  228. package/lib/misc/AcDbOsnapMode.d.ts.map +1 -1
  229. package/lib/misc/AcDbOsnapMode.js +18 -10
  230. package/lib/misc/AcDbOsnapMode.js.map +1 -1
  231. package/lib/misc/AcDbRenderingCache.d.ts +107 -29
  232. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
  233. package/lib/misc/AcDbRenderingCache.js +105 -29
  234. package/lib/misc/AcDbRenderingCache.js.map +1 -1
  235. package/lib/misc/AcDbUnitsValue.d.ts +58 -8
  236. package/lib/misc/AcDbUnitsValue.d.ts.map +1 -1
  237. package/lib/misc/AcDbUnitsValue.js +58 -8
  238. package/lib/misc/AcDbUnitsValue.js.map +1 -1
  239. package/lib/object/AcDbDictionary.d.ts +128 -30
  240. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  241. package/lib/object/AcDbDictionary.js +126 -30
  242. package/lib/object/AcDbDictionary.js.map +1 -1
  243. package/lib/object/AcDbRasterImageDef.d.ts +38 -9
  244. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
  245. package/lib/object/AcDbRasterImageDef.js +37 -9
  246. package/lib/object/AcDbRasterImageDef.js.map +1 -1
  247. package/lib/object/layout/AcDbLayout.d.ts +152 -13
  248. package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
  249. package/lib/object/layout/AcDbLayout.js +146 -13
  250. package/lib/object/layout/AcDbLayout.js.map +1 -1
  251. package/lib/object/layout/AcDbLayoutDictionary.d.ts +35 -7
  252. package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -1
  253. package/lib/object/layout/AcDbLayoutDictionary.js +35 -7
  254. package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -1
  255. package/lib/object/layout/AcDbLayoutManager.d.ts +103 -31
  256. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
  257. package/lib/object/layout/AcDbLayoutManager.js +98 -31
  258. package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
  259. package/package.json +4 -4
@@ -1,29 +1,95 @@
1
1
  import { AcDbDatabase } from '../database/AcDbDatabase';
2
2
  import { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
3
3
  /**
4
- * Return the singleton instance of the host application services
5
- * @returns
4
+ * Returns the singleton instance of the host application services.
5
+ *
6
+ * This function provides access to the global AcDbHostApplicationServices instance
7
+ * that manages various services for host applications at runtime.
8
+ *
9
+ * @returns The singleton instance of AcDbHostApplicationServices
10
+ * @example
11
+ * ```typescript
12
+ * const services = acdbHostApplicationServices();
13
+ * const database = services.workingDatabase;
14
+ * ```
6
15
  */
7
16
  export declare function acdbHostApplicationServices(): AcDbHostApplicationServices;
8
17
  /**
9
18
  * The AcDbHostApplicationServices class provides various services to host applications at runtime.
19
+ *
20
+ * This class implements the singleton pattern and manages:
21
+ * - Working database reference
22
+ * - Layout manager instance
23
+ * - Other application-wide services
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const services = acdbHostApplicationServices();
28
+ * services.workingDatabase = new AcDbDatabase();
29
+ * const layoutManager = services.layoutManager;
30
+ * ```
10
31
  */
11
32
  export declare class AcDbHostApplicationServices {
33
+ /** The current working database instance */
12
34
  private _workingDatabase;
35
+ /** The layout manager instance */
13
36
  private _layoutManager;
37
+ /** The singleton instance of AcDbHostApplicationServices */
14
38
  static instance: AcDbHostApplicationServices;
39
+ /**
40
+ * Private constructor to enforce singleton pattern.
41
+ * Initializes the layout manager.
42
+ */
15
43
  private constructor();
16
44
  /**
17
- * Get the current working database.
45
+ * Gets the current working database.
46
+ *
47
+ * The working database is the primary database that the application
48
+ * is currently operating on. This must be set before it can be accessed.
49
+ *
50
+ * @returns The current working database
51
+ * @throws {Error} When the working database has not been set
52
+ * @example
53
+ * ```typescript
54
+ * const services = acdbHostApplicationServices();
55
+ * try {
56
+ * const db = services.workingDatabase;
57
+ * // Use the database
58
+ * } catch (error) {
59
+ * console.error('Working database not set');
60
+ * }
61
+ * ```
18
62
  */
19
63
  get workingDatabase(): AcDbDatabase;
20
64
  /**
21
- * Set the working database.
22
- * @param database Database to make the new working database
65
+ * Sets the working database.
66
+ *
67
+ * This method sets the database that will be used as the current working database
68
+ * for the application. This database will be returned by the workingDatabase getter.
69
+ *
70
+ * @param database - The database to make the new working database
71
+ * @example
72
+ * ```typescript
73
+ * const services = acdbHostApplicationServices();
74
+ * const db = new AcDbDatabase();
75
+ * services.workingDatabase = db;
76
+ * ```
23
77
  */
24
78
  set workingDatabase(database: AcDbDatabase);
25
79
  /**
26
- * The one and only instance of the layout manager object.
80
+ * Gets the layout manager instance.
81
+ *
82
+ * The layout manager is responsible for managing layout objects in the application.
83
+ * This is a singleton instance that is created when the AcDbHostApplicationServices
84
+ * is instantiated.
85
+ *
86
+ * @returns The layout manager instance
87
+ * @example
88
+ * ```typescript
89
+ * const services = acdbHostApplicationServices();
90
+ * const layoutManager = services.layoutManager;
91
+ * // Use the layout manager
92
+ * ```
27
93
  */
28
94
  get layoutManager(): AcDbLayoutManager;
29
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbHostApplicationServices.d.ts","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE;;;GAGG;AACH,wBAAgB,2BAA2B,gCAE1C;AAED;;GAEG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAc,QAAQ,EAAE,2BAA2B,CAChB;IAEnC,OAAO;IAIP;;OAEG;IACH,IAAI,eAAe,IAAI,YAAY,CAQlC;IAED;;;OAGG;IACH,IAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,EAEzC;IAED;;OAEG;IACH,IAAI,aAAa,sBAEhB;CACF"}
1
+ {"version":3,"file":"AcDbHostApplicationServices.d.ts","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,gCAE1C;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,2BAA2B;IACtC,4CAA4C;IAC5C,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,kCAAkC;IAClC,OAAO,CAAC,cAAc,CAAmB;IAEzC,4DAA4D;IAC5D,OAAc,QAAQ,EAAE,2BAA2B,CAChB;IAEnC;;;OAGG;IACH,OAAO;IAIP;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,eAAe,IAAI,YAAY,CAQlC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,EAEzC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,aAAa,sBAEhB;CACF"}
@@ -1,23 +1,64 @@
1
1
  import { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
2
2
  /**
3
- * Return the singleton instance of the host application services
4
- * @returns
3
+ * Returns the singleton instance of the host application services.
4
+ *
5
+ * This function provides access to the global AcDbHostApplicationServices instance
6
+ * that manages various services for host applications at runtime.
7
+ *
8
+ * @returns The singleton instance of AcDbHostApplicationServices
9
+ * @example
10
+ * ```typescript
11
+ * const services = acdbHostApplicationServices();
12
+ * const database = services.workingDatabase;
13
+ * ```
5
14
  */
6
15
  export function acdbHostApplicationServices() {
7
16
  return AcDbHostApplicationServices.instance;
8
17
  }
9
18
  /**
10
19
  * The AcDbHostApplicationServices class provides various services to host applications at runtime.
20
+ *
21
+ * This class implements the singleton pattern and manages:
22
+ * - Working database reference
23
+ * - Layout manager instance
24
+ * - Other application-wide services
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const services = acdbHostApplicationServices();
29
+ * services.workingDatabase = new AcDbDatabase();
30
+ * const layoutManager = services.layoutManager;
31
+ * ```
11
32
  */
12
33
  var AcDbHostApplicationServices = /** @class */ (function () {
34
+ /**
35
+ * Private constructor to enforce singleton pattern.
36
+ * Initializes the layout manager.
37
+ */
13
38
  function AcDbHostApplicationServices() {
39
+ /** The current working database instance */
14
40
  this._workingDatabase = null;
15
- // Do nothing
16
41
  this._layoutManager = new AcDbLayoutManager();
17
42
  }
18
43
  Object.defineProperty(AcDbHostApplicationServices.prototype, "workingDatabase", {
19
44
  /**
20
- * Get the current working database.
45
+ * Gets the current working database.
46
+ *
47
+ * The working database is the primary database that the application
48
+ * is currently operating on. This must be set before it can be accessed.
49
+ *
50
+ * @returns The current working database
51
+ * @throws {Error} When the working database has not been set
52
+ * @example
53
+ * ```typescript
54
+ * const services = acdbHostApplicationServices();
55
+ * try {
56
+ * const db = services.workingDatabase;
57
+ * // Use the database
58
+ * } catch (error) {
59
+ * console.error('Working database not set');
60
+ * }
61
+ * ```
21
62
  */
22
63
  get: function () {
23
64
  if (this._workingDatabase == null) {
@@ -28,8 +69,18 @@ var AcDbHostApplicationServices = /** @class */ (function () {
28
69
  }
29
70
  },
30
71
  /**
31
- * Set the working database.
32
- * @param database Database to make the new working database
72
+ * Sets the working database.
73
+ *
74
+ * This method sets the database that will be used as the current working database
75
+ * for the application. This database will be returned by the workingDatabase getter.
76
+ *
77
+ * @param database - The database to make the new working database
78
+ * @example
79
+ * ```typescript
80
+ * const services = acdbHostApplicationServices();
81
+ * const db = new AcDbDatabase();
82
+ * services.workingDatabase = db;
83
+ * ```
33
84
  */
34
85
  set: function (database) {
35
86
  this._workingDatabase = database;
@@ -39,7 +90,19 @@ var AcDbHostApplicationServices = /** @class */ (function () {
39
90
  });
40
91
  Object.defineProperty(AcDbHostApplicationServices.prototype, "layoutManager", {
41
92
  /**
42
- * The one and only instance of the layout manager object.
93
+ * Gets the layout manager instance.
94
+ *
95
+ * The layout manager is responsible for managing layout objects in the application.
96
+ * This is a singleton instance that is created when the AcDbHostApplicationServices
97
+ * is instantiated.
98
+ *
99
+ * @returns The layout manager instance
100
+ * @example
101
+ * ```typescript
102
+ * const services = acdbHostApplicationServices();
103
+ * const layoutManager = services.layoutManager;
104
+ * // Use the layout manager
105
+ * ```
43
106
  */
44
107
  get: function () {
45
108
  return this._layoutManager;
@@ -47,6 +110,7 @@ var AcDbHostApplicationServices = /** @class */ (function () {
47
110
  enumerable: false,
48
111
  configurable: true
49
112
  });
113
+ /** The singleton instance of AcDbHostApplicationServices */
50
114
  AcDbHostApplicationServices.instance = new AcDbHostApplicationServices();
51
115
  return AcDbHostApplicationServices;
52
116
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbHostApplicationServices.js","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,2BAA2B,CAAC,QAAQ,CAAA;AAC7C,CAAC;AAED;;GAEG;AACH;IAME;QALQ,qBAAgB,GAAwB,IAAI,CAAA;QAMlD,aAAa;QACb,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,EAAE,CAAA;IAC/C,CAAC;IAID,sBAAI,wDAAe;QAHnB;;WAEG;aACH;YACE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,gBAAgB,CAAA;YAC9B,CAAC;QACH,CAAC;QAED;;;WAGG;aACH,UAAoB,QAAsB;YACxC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;QAClC,CAAC;;;OARA;IAaD,sBAAI,sDAAa;QAHjB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,cAAc,CAAA;QAC5B,CAAC;;;OAAA;IAjCa,oCAAQ,GACpB,IAAI,2BAA2B,EAAE,AADb,CACa;IAiCrC,kCAAC;CAAA,AArCD,IAqCC;SArCY,2BAA2B"}
1
+ {"version":3,"file":"AcDbHostApplicationServices.js","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,2BAA2B,CAAC,QAAQ,CAAA;AAC7C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH;IAWE;;;OAGG;IACH;QAdA,4CAA4C;QACpC,qBAAgB,GAAwB,IAAI,CAAA;QAclD,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,EAAE,CAAA;IAC/C,CAAC;IAqBD,sBAAI,wDAAe;QAnBnB;;;;;;;;;;;;;;;;;;WAkBG;aACH;YACE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,gBAAgB,CAAA;YAC9B,CAAC;QACH,CAAC;QAED;;;;;;;;;;;;;WAaG;aACH,UAAoB,QAAsB;YACxC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;QAClC,CAAC;;;OAlBA;IAmCD,sBAAI,sDAAa;QAfjB;;;;;;;;;;;;;;WAcG;aACH;YACE,OAAO,IAAI,CAAC,cAAc,CAAA;QAC5B,CAAC;;;OAAA;IA5ED,4DAA4D;IAC9C,oCAAQ,GACpB,IAAI,2BAA2B,EAAE,AADb,CACa;IA2ErC,kCAAC;CAAA,AApFD,IAoFC;SApFY,2BAA2B"}
@@ -1,69 +1,204 @@
1
1
  import { AcCmAttributes, AcCmObject, AcCmStringKey } from '@mlightcad/common';
2
2
  import { AcDbDatabase } from '../database/AcDbDatabase';
3
+ /** Type alias for object ID as string */
3
4
  export type AcDbObjectId = string;
5
+ /**
6
+ * Interface defining the attributes that can be associated with an AcDbObject.
7
+ *
8
+ * Extends the base AcCmAttributes interface and adds object-specific attributes
9
+ * like objectId and ownerId.
10
+ */
4
11
  export interface AcDbObjectAttrs extends AcCmAttributes {
12
+ /** Unique identifier for the object */
5
13
  objectId?: AcDbObjectId;
14
+ /** Identifier of the object that owns this object */
6
15
  ownerId?: AcDbObjectId;
7
16
  }
8
17
  /**
9
- * The base class for all objects that reside in drawing database.
18
+ * The base class for all objects that reside in a drawing database.
19
+ *
20
+ * This class provides the fundamental functionality for all database objects,
21
+ * including attribute management, object identification, and database association.
22
+ * It serves as the foundation for entities, tables, and other database objects.
23
+ *
24
+ * @template ATTRS - The type of attributes this object can have
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * class MyEntity extends AcDbObject<MyEntityAttrs> {
29
+ * constructor(attrs?: Partial<MyEntityAttrs>) {
30
+ * super(attrs);
31
+ * }
32
+ * }
33
+ * ```
10
34
  */
11
35
  export declare class AcDbObject<ATTRS extends AcDbObjectAttrs = AcDbObjectAttrs> {
36
+ /** Reference to the database this object belongs to */
12
37
  private _database?;
38
+ /** The attributes object that stores all object properties */
13
39
  private _attrs;
14
40
  /**
15
- * Default constructor.
16
- * @param attrs Input attribute values of this object
17
- * @param defaultAttrs Input default values of attributes of this object.
41
+ * Creates a new AcDbObject instance.
42
+ *
43
+ * @param attrs - Input attribute values for this object
44
+ * @param defaultAttrs - Default values for attributes of this object
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const obj = new AcDbObject({ objectId: '123' });
49
+ * ```
18
50
  */
19
51
  constructor(attrs?: Partial<ATTRS>, defaultAttrs?: Partial<ATTRS>);
20
52
  /**
21
- * Attributes of this object
53
+ * Gets the attributes object for this AcDbObject.
54
+ *
55
+ * @returns The AcCmObject instance containing all attributes
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const attrs = obj.attrs;
60
+ * const value = attrs.get('someAttribute');
61
+ * ```
22
62
  */
23
63
  get attrs(): AcCmObject<ATTRS>;
24
64
  /**
25
- * Get value of the specified attribute. One exception will be thrown if the specified attribute doesn't exist.
26
- * @param attrName Input attribute name
27
- * @returns Return value of the specified attribute
65
+ * Gets the value of the specified attribute.
66
+ *
67
+ * This method will throw an exception if the specified attribute doesn't exist.
68
+ * Use getAttrWithoutException() if you want to handle missing attributes gracefully.
69
+ *
70
+ * @param attrName - The name of the attribute to retrieve
71
+ * @returns The value of the specified attribute
72
+ * @throws {Error} When the specified attribute doesn't exist
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * try {
77
+ * const value = obj.getAttr('objectId');
78
+ * } catch (error) {
79
+ * console.error('Attribute not found');
80
+ * }
81
+ * ```
28
82
  */
29
83
  getAttr(attrName: AcCmStringKey<ATTRS>): ATTRS[AcCmStringKey<ATTRS>] & ({} | null);
30
84
  /**
31
- * Get value of the specified attribute. Return undefined if the specified attribute doesn't exist.
32
- * @param attrName Input attribute name
33
- * @returns Return value of the specified attribute. Return undefined if the specified attribute
34
- * doesn't exist.
85
+ * Gets the value of the specified attribute without throwing an exception.
86
+ *
87
+ * This method returns undefined if the specified attribute doesn't exist,
88
+ * making it safer for optional attributes.
89
+ *
90
+ * @param attrName - The name of the attribute to retrieve
91
+ * @returns The value of the specified attribute, or undefined if it doesn't exist
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const value = obj.getAttrWithoutException('optionalAttribute');
96
+ * if (value !== undefined) {
97
+ * // Use the value
98
+ * }
99
+ * ```
35
100
  */
36
101
  getAttrWithoutException(attrName: AcCmStringKey<ATTRS>): ATTRS[AcCmStringKey<ATTRS>] | undefined;
37
102
  /**
38
- * Set value of the attribute
39
- * @param attrName Input attribute name
40
- * @param val Input value of the attribute
103
+ * Sets the value of an attribute.
104
+ *
105
+ * @param attrName - The name of the attribute to set
106
+ * @param val - The value to assign to the attribute
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * obj.setAttr('objectId', 'new-id-123');
111
+ * ```
41
112
  */
42
113
  setAttr<A extends AcCmStringKey<ATTRS>>(attrName: A, val?: ATTRS[A]): void;
43
114
  /**
44
- * Object id.
115
+ * Gets the object ID.
45
116
  *
46
- * AutoCAD uses 64-bit integer to represent handle. It exceeds the maximum integer value
47
- * (Number.MAX_SAFE_INTEGER, 0x1F FFFF FFFF FFF) of JavaScript number. So string is used to represent
48
- * the handle of one object.
117
+ * AutoCAD uses 64-bit integers to represent handles, which exceed the maximum
118
+ * integer value of JavaScript. Therefore, strings are used to represent object handles.
119
+ *
120
+ * @returns The object ID as a string
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * const id = obj.objectId;
125
+ * console.log(`Object ID: ${id}`);
126
+ * ```
49
127
  */
50
128
  get objectId(): AcDbObjectId;
129
+ /**
130
+ * Sets the object ID.
131
+ *
132
+ * @param value - The new object ID
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * obj.objectId = 'new-object-id';
137
+ * ```
138
+ */
51
139
  set objectId(value: AcDbObjectId);
52
140
  /**
53
- * The object Id of the owner of the object.
141
+ * Gets the object ID of the owner of this object.
142
+ *
143
+ * @returns The owner object ID
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const ownerId = obj.ownerId;
148
+ * ```
54
149
  */
55
150
  get ownerId(): AcDbObjectId;
151
+ /**
152
+ * Sets the object ID of the owner of this object.
153
+ *
154
+ * @param value - The new owner object ID
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * obj.ownerId = 'parent-object-id';
159
+ * ```
160
+ */
56
161
  set ownerId(value: AcDbObjectId);
57
162
  /**
58
- * The database in which the object is resident. When one object isn't added into database, the database
59
- * property of this object will be current working database. After it is added into database, it will be
60
- * set automatically. So it means you should never set its value by your own.
163
+ * Gets the database in which this object is resident.
164
+ *
165
+ * When an object isn't added to a database, this property returns the current
166
+ * working database. After it is added to a database, it will be set automatically.
167
+ * You should never set this value manually.
168
+ *
169
+ * @returns The database this object belongs to
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * const db = obj.database;
174
+ * ```
61
175
  */
62
176
  get database(): AcDbDatabase;
177
+ /**
178
+ * Sets the database for this object.
179
+ *
180
+ * This is typically set automatically when the object is added to a database.
181
+ * Manual setting should be avoided unless you know what you're doing.
182
+ *
183
+ * @param db - The database to associate with this object
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * obj.database = myDatabase;
188
+ * ```
189
+ */
63
190
  set database(db: AcDbDatabase);
64
191
  /**
65
- * Closes the object. All changes made to the object since it was opened are committed to the database,
66
- * and a "closed" notification is sent.
192
+ * Closes the object.
193
+ *
194
+ * All changes made to the object since it was opened are committed to the database,
195
+ * and a "closed" notification is sent. This method can be overridden by subclasses
196
+ * to provide specific cleanup behavior.
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * obj.close();
201
+ * ```
67
202
  */
68
203
  close(): void;
69
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbObject.d.ts","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EAEd,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;GAEG;AACH,qBAAa,UAAU,CAAC,KAAK,SAAS,eAAe,GAAG,eAAe;IACrE,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,MAAM,CAAmB;IAEjC;;;;OAIG;gBACS,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;IAMjE;;OAEG;IACH,IAAI,KAAK,sBAER;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAUtC;;;;;OAKG;IACH,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAItD;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAInE;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,YAAY,CAE3B;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAE/B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,YAAY,CAE1B;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,EAE9B;IAED;;;;OAIG;IACH,IAAI,QAAQ,IAAI,YAAY,CAI3B;IACD,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,EAE5B;IAED;;;OAGG;IACH,KAAK;CACN"}
1
+ {"version":3,"file":"AcDbObject.d.ts","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EAEd,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,uCAAuC;IACvC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,qDAAqD;IACrD,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU,CAAC,KAAK,SAAS,eAAe,GAAG,eAAe;IACrE,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAmB;IAEjC;;;;;;;;;;OAUG;gBACS,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;IAMjE;;;;;;;;;;OAUG;IACH,IAAI,KAAK,sBAER;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAUtC;;;;;;;;;;;;;;;;OAgBG;IACH,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAItD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAInE;;;;;;;;;;;;;OAaG;IACH,IAAI,QAAQ,IAAI,YAAY,CAE3B;IAED;;;;;;;;;OASG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAE/B;IAED;;;;;;;;;OASG;IACH,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED;;;;;;;;;OASG;IACH,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,EAE9B;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,QAAQ,IAAI,YAAY,CAI3B;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,EAE5B;IAED;;;;;;;;;;;OAWG;IACH,KAAK;CACN"}