@mlightcad/data-model 1.3.3 → 1.3.4

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 (328) hide show
  1. package/dist/data-model.cjs +5 -0
  2. package/dist/data-model.js +25523 -0
  3. package/dist/dxf-parser-worker.js +1715 -0
  4. package/lib/base/AcDbHostApplicationServices.d.ts +96 -0
  5. package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -0
  6. package/lib/base/AcDbHostApplicationServices.js +118 -0
  7. package/lib/base/AcDbHostApplicationServices.js.map +1 -0
  8. package/lib/base/AcDbObject.d.ts +205 -0
  9. package/lib/base/AcDbObject.d.ts.map +1 -0
  10. package/lib/base/AcDbObject.js +236 -0
  11. package/lib/base/AcDbObject.js.map +1 -0
  12. package/lib/base/index.d.ts +3 -0
  13. package/lib/base/index.d.ts.map +1 -0
  14. package/lib/base/index.js +3 -0
  15. package/lib/base/index.js.map +1 -0
  16. package/lib/converter/AcDbBatchProcessing.d.ts +146 -0
  17. package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -0
  18. package/lib/converter/AcDbBatchProcessing.js +272 -0
  19. package/lib/converter/AcDbBatchProcessing.js.map +1 -0
  20. package/lib/converter/AcDbDxfConverter.d.ts +272 -0
  21. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -0
  22. package/lib/converter/AcDbDxfConverter.js +874 -0
  23. package/lib/converter/AcDbDxfConverter.js.map +1 -0
  24. package/lib/converter/AcDbDxfParser.d.ts +23 -0
  25. package/lib/converter/AcDbDxfParser.d.ts.map +1 -0
  26. package/lib/converter/AcDbDxfParser.js +85 -0
  27. package/lib/converter/AcDbDxfParser.js.map +1 -0
  28. package/lib/converter/AcDbEntitiyConverter.d.ts +159 -0
  29. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -0
  30. package/lib/converter/AcDbEntitiyConverter.js +659 -0
  31. package/lib/converter/AcDbEntitiyConverter.js.map +1 -0
  32. package/lib/converter/AcDbObjectConverter.d.ts +61 -0
  33. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -0
  34. package/lib/converter/AcDbObjectConverter.js +91 -0
  35. package/lib/converter/AcDbObjectConverter.js.map +1 -0
  36. package/lib/converter/AcDbRegenerator.d.ts +101 -0
  37. package/lib/converter/AcDbRegenerator.d.ts.map +1 -0
  38. package/lib/converter/AcDbRegenerator.js +334 -0
  39. package/lib/converter/AcDbRegenerator.js.map +1 -0
  40. package/lib/converter/index.d.ts +5 -0
  41. package/lib/converter/index.d.ts.map +1 -0
  42. package/lib/converter/index.js +5 -0
  43. package/lib/converter/index.js.map +1 -0
  44. package/lib/converter/worker/AcDbBaseWorker.d.ts +36 -0
  45. package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -0
  46. package/lib/converter/worker/AcDbBaseWorker.js +93 -0
  47. package/lib/converter/worker/AcDbBaseWorker.js.map +1 -0
  48. package/lib/converter/worker/AcDbDxfParserWorker.d.ts +11 -0
  49. package/lib/converter/worker/AcDbDxfParserWorker.d.ts.map +1 -0
  50. package/lib/converter/worker/AcDbDxfParserWorker.js +75 -0
  51. package/lib/converter/worker/AcDbDxfParserWorker.js.map +1 -0
  52. package/lib/converter/worker/AcDbWorkerManager.d.ts +107 -0
  53. package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -0
  54. package/lib/converter/worker/AcDbWorkerManager.js +360 -0
  55. package/lib/converter/worker/AcDbWorkerManager.js.map +1 -0
  56. package/lib/converter/worker/index.d.ts +3 -0
  57. package/lib/converter/worker/index.d.ts.map +1 -0
  58. package/lib/converter/worker/index.js +3 -0
  59. package/lib/converter/worker/index.js.map +1 -0
  60. package/lib/database/AcDbBlockTable.d.ts +56 -0
  61. package/lib/database/AcDbBlockTable.d.ts.map +1 -0
  62. package/lib/database/AcDbBlockTable.js +98 -0
  63. package/lib/database/AcDbBlockTable.js.map +1 -0
  64. package/lib/database/AcDbBlockTableRecord.d.ts +185 -0
  65. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -0
  66. package/lib/database/AcDbBlockTableRecord.js +261 -0
  67. package/lib/database/AcDbBlockTableRecord.js.map +1 -0
  68. package/lib/database/AcDbDatabase.d.ts +563 -0
  69. package/lib/database/AcDbDatabase.d.ts.map +1 -0
  70. package/lib/database/AcDbDatabase.js +842 -0
  71. package/lib/database/AcDbDatabase.js.map +1 -0
  72. package/lib/database/AcDbDatabaseConverter.d.ts +292 -0
  73. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -0
  74. package/lib/database/AcDbDatabaseConverter.js +448 -0
  75. package/lib/database/AcDbDatabaseConverter.js.map +1 -0
  76. package/lib/database/AcDbDatabaseConverterManager.d.ts +141 -0
  77. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -0
  78. package/lib/database/AcDbDatabaseConverterManager.js +173 -0
  79. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -0
  80. package/lib/database/AcDbDimStyleTable.d.ts +31 -0
  81. package/lib/database/AcDbDimStyleTable.d.ts.map +1 -0
  82. package/lib/database/AcDbDimStyleTable.js +49 -0
  83. package/lib/database/AcDbDimStyleTable.js.map +1 -0
  84. package/lib/database/AcDbDimStyleTableRecord.d.ts +797 -0
  85. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -0
  86. package/lib/database/AcDbDimStyleTableRecord.js +1294 -0
  87. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -0
  88. package/lib/database/AcDbDwgVersion.d.ts +32 -0
  89. package/lib/database/AcDbDwgVersion.d.ts.map +1 -0
  90. package/lib/database/AcDbDwgVersion.js +126 -0
  91. package/lib/database/AcDbDwgVersion.js.map +1 -0
  92. package/lib/database/AcDbLayerTable.d.ts +51 -0
  93. package/lib/database/AcDbLayerTable.d.ts.map +1 -0
  94. package/lib/database/AcDbLayerTable.js +92 -0
  95. package/lib/database/AcDbLayerTable.js.map +1 -0
  96. package/lib/database/AcDbLayerTableRecord.d.ts +278 -0
  97. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -0
  98. package/lib/database/AcDbLayerTableRecord.js +397 -0
  99. package/lib/database/AcDbLayerTableRecord.js.map +1 -0
  100. package/lib/database/AcDbLinetypeTable.d.ts +30 -0
  101. package/lib/database/AcDbLinetypeTable.d.ts.map +1 -0
  102. package/lib/database/AcDbLinetypeTable.js +48 -0
  103. package/lib/database/AcDbLinetypeTable.js.map +1 -0
  104. package/lib/database/AcDbLinetypeTableRecord.d.ts +79 -0
  105. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -0
  106. package/lib/database/AcDbLinetypeTableRecord.js +129 -0
  107. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -0
  108. package/lib/database/AcDbSymbolTable.d.ts +199 -0
  109. package/lib/database/AcDbSymbolTable.d.ts.map +1 -0
  110. package/lib/database/AcDbSymbolTable.js +264 -0
  111. package/lib/database/AcDbSymbolTable.js.map +1 -0
  112. package/lib/database/AcDbSymbolTableRecord.d.ts +61 -0
  113. package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -0
  114. package/lib/database/AcDbSymbolTableRecord.js +82 -0
  115. package/lib/database/AcDbSymbolTableRecord.js.map +1 -0
  116. package/lib/database/AcDbTextStyleTable.d.ts +48 -0
  117. package/lib/database/AcDbTextStyleTable.d.ts.map +1 -0
  118. package/lib/database/AcDbTextStyleTable.js +112 -0
  119. package/lib/database/AcDbTextStyleTable.js.map +1 -0
  120. package/lib/database/AcDbTextStyleTableRecord.d.ts +179 -0
  121. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -0
  122. package/lib/database/AcDbTextStyleTableRecord.js +276 -0
  123. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -0
  124. package/lib/database/AcDbViewportTable.d.ts +31 -0
  125. package/lib/database/AcDbViewportTable.d.ts.map +1 -0
  126. package/lib/database/AcDbViewportTable.js +49 -0
  127. package/lib/database/AcDbViewportTable.js.map +1 -0
  128. package/lib/database/AcDbViewportTableRecord.d.ts +154 -0
  129. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -0
  130. package/lib/database/AcDbViewportTableRecord.js +318 -0
  131. package/lib/database/AcDbViewportTableRecord.js.map +1 -0
  132. package/lib/database/index.d.ts +19 -0
  133. package/lib/database/index.d.ts.map +1 -0
  134. package/lib/database/index.js +19 -0
  135. package/lib/database/index.js.map +1 -0
  136. package/lib/entity/AcDbArc.d.ts +254 -0
  137. package/lib/entity/AcDbArc.d.ts.map +1 -0
  138. package/lib/entity/AcDbArc.js +340 -0
  139. package/lib/entity/AcDbArc.js.map +1 -0
  140. package/lib/entity/AcDbBlockReference.d.ts +190 -0
  141. package/lib/entity/AcDbBlockReference.d.ts.map +1 -0
  142. package/lib/entity/AcDbBlockReference.js +302 -0
  143. package/lib/entity/AcDbBlockReference.js.map +1 -0
  144. package/lib/entity/AcDbCircle.d.ts +186 -0
  145. package/lib/entity/AcDbCircle.d.ts.map +1 -0
  146. package/lib/entity/AcDbCircle.js +249 -0
  147. package/lib/entity/AcDbCircle.js.map +1 -0
  148. package/lib/entity/AcDbCurve.d.ts +42 -0
  149. package/lib/entity/AcDbCurve.d.ts.map +1 -0
  150. package/lib/entity/AcDbCurve.js +44 -0
  151. package/lib/entity/AcDbCurve.js.map +1 -0
  152. package/lib/entity/AcDbEllipse.d.ts +207 -0
  153. package/lib/entity/AcDbEllipse.d.ts.map +1 -0
  154. package/lib/entity/AcDbEllipse.js +272 -0
  155. package/lib/entity/AcDbEllipse.js.map +1 -0
  156. package/lib/entity/AcDbEntity.d.ts +385 -0
  157. package/lib/entity/AcDbEntity.d.ts.map +1 -0
  158. package/lib/entity/AcDbEntity.js +561 -0
  159. package/lib/entity/AcDbEntity.js.map +1 -0
  160. package/lib/entity/AcDbFace.d.ts +151 -0
  161. package/lib/entity/AcDbFace.d.ts.map +1 -0
  162. package/lib/entity/AcDbFace.js +224 -0
  163. package/lib/entity/AcDbFace.js.map +1 -0
  164. package/lib/entity/AcDbHatch.d.ts +174 -0
  165. package/lib/entity/AcDbHatch.d.ts.map +1 -0
  166. package/lib/entity/AcDbHatch.js +250 -0
  167. package/lib/entity/AcDbHatch.js.map +1 -0
  168. package/lib/entity/AcDbLeader.d.ts +243 -0
  169. package/lib/entity/AcDbLeader.d.ts.map +1 -0
  170. package/lib/entity/AcDbLeader.js +358 -0
  171. package/lib/entity/AcDbLeader.js.map +1 -0
  172. package/lib/entity/AcDbLine.d.ts +198 -0
  173. package/lib/entity/AcDbLine.d.ts.map +1 -0
  174. package/lib/entity/AcDbLine.js +300 -0
  175. package/lib/entity/AcDbLine.js.map +1 -0
  176. package/lib/entity/AcDbMText.d.ts +248 -0
  177. package/lib/entity/AcDbMText.d.ts.map +1 -0
  178. package/lib/entity/AcDbMText.js +414 -0
  179. package/lib/entity/AcDbMText.js.map +1 -0
  180. package/lib/entity/AcDbPoint.d.ts +113 -0
  181. package/lib/entity/AcDbPoint.d.ts.map +1 -0
  182. package/lib/entity/AcDbPoint.js +155 -0
  183. package/lib/entity/AcDbPoint.js.map +1 -0
  184. package/lib/entity/AcDbPolyline.d.ts +221 -0
  185. package/lib/entity/AcDbPolyline.d.ts.map +1 -0
  186. package/lib/entity/AcDbPolyline.js +301 -0
  187. package/lib/entity/AcDbPolyline.js.map +1 -0
  188. package/lib/entity/AcDbRasterImage.d.ts +216 -0
  189. package/lib/entity/AcDbRasterImage.d.ts.map +1 -0
  190. package/lib/entity/AcDbRasterImage.js +451 -0
  191. package/lib/entity/AcDbRasterImage.js.map +1 -0
  192. package/lib/entity/AcDbRay.d.ts +150 -0
  193. package/lib/entity/AcDbRay.d.ts.map +1 -0
  194. package/lib/entity/AcDbRay.js +208 -0
  195. package/lib/entity/AcDbRay.js.map +1 -0
  196. package/lib/entity/AcDbSpline.d.ts +135 -0
  197. package/lib/entity/AcDbSpline.d.ts.map +1 -0
  198. package/lib/entity/AcDbSpline.js +142 -0
  199. package/lib/entity/AcDbSpline.js.map +1 -0
  200. package/lib/entity/AcDbTable.d.ts +260 -0
  201. package/lib/entity/AcDbTable.d.ts.map +1 -0
  202. package/lib/entity/AcDbTable.js +452 -0
  203. package/lib/entity/AcDbTable.js.map +1 -0
  204. package/lib/entity/AcDbText.d.ts +388 -0
  205. package/lib/entity/AcDbText.d.ts.map +1 -0
  206. package/lib/entity/AcDbText.js +523 -0
  207. package/lib/entity/AcDbText.js.map +1 -0
  208. package/lib/entity/AcDbTrace.d.ts +193 -0
  209. package/lib/entity/AcDbTrace.d.ts.map +1 -0
  210. package/lib/entity/AcDbTrace.js +271 -0
  211. package/lib/entity/AcDbTrace.js.map +1 -0
  212. package/lib/entity/AcDbViewport.d.ts +173 -0
  213. package/lib/entity/AcDbViewport.d.ts.map +1 -0
  214. package/lib/entity/AcDbViewport.js +295 -0
  215. package/lib/entity/AcDbViewport.js.map +1 -0
  216. package/lib/entity/AcDbWipeout.d.ts +39 -0
  217. package/lib/entity/AcDbWipeout.d.ts.map +1 -0
  218. package/lib/entity/AcDbWipeout.js +70 -0
  219. package/lib/entity/AcDbWipeout.js.map +1 -0
  220. package/lib/entity/AcDbXline.d.ts +151 -0
  221. package/lib/entity/AcDbXline.d.ts.map +1 -0
  222. package/lib/entity/AcDbXline.js +209 -0
  223. package/lib/entity/AcDbXline.js.map +1 -0
  224. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +92 -0
  225. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -0
  226. package/lib/entity/dimension/AcDb3PointAngularDimension.js +157 -0
  227. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -0
  228. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +220 -0
  229. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -0
  230. package/lib/entity/dimension/AcDbAlignedDimension.js +341 -0
  231. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -0
  232. package/lib/entity/dimension/AcDbArcDimension.d.ts +94 -0
  233. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -0
  234. package/lib/entity/dimension/AcDbArcDimension.js +159 -0
  235. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -0
  236. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +145 -0
  237. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -0
  238. package/lib/entity/dimension/AcDbDiametricDimension.js +275 -0
  239. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -0
  240. package/lib/entity/dimension/AcDbDimension.d.ts +257 -0
  241. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -0
  242. package/lib/entity/dimension/AcDbDimension.js +466 -0
  243. package/lib/entity/dimension/AcDbDimension.js.map +1 -0
  244. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +78 -0
  245. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -0
  246. package/lib/entity/dimension/AcDbOrdinateDimension.js +133 -0
  247. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -0
  248. package/lib/entity/dimension/AcDbRadialDimension.d.ts +214 -0
  249. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -0
  250. package/lib/entity/dimension/AcDbRadialDimension.js +288 -0
  251. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -0
  252. package/lib/entity/dimension/index.d.ts +8 -0
  253. package/lib/entity/dimension/index.d.ts.map +1 -0
  254. package/lib/entity/dimension/index.js +8 -0
  255. package/lib/entity/dimension/index.js.map +1 -0
  256. package/lib/entity/index.d.ts +24 -0
  257. package/lib/entity/index.d.ts.map +1 -0
  258. package/lib/entity/index.js +24 -0
  259. package/lib/entity/index.js.map +1 -0
  260. package/lib/index.d.ts +10 -0
  261. package/lib/index.d.ts.map +1 -0
  262. package/lib/index.js +10 -0
  263. package/lib/index.js.map +1 -0
  264. package/lib/misc/AcDbAngleUnits.d.ts +20 -0
  265. package/lib/misc/AcDbAngleUnits.d.ts.map +1 -0
  266. package/lib/misc/AcDbAngleUnits.js +21 -0
  267. package/lib/misc/AcDbAngleUnits.js.map +1 -0
  268. package/lib/misc/AcDbCodePage.d.ts +50 -0
  269. package/lib/misc/AcDbCodePage.d.ts.map +1 -0
  270. package/lib/misc/AcDbCodePage.js +100 -0
  271. package/lib/misc/AcDbCodePage.js.map +1 -0
  272. package/lib/misc/AcDbConstants.d.ts +24 -0
  273. package/lib/misc/AcDbConstants.d.ts.map +1 -0
  274. package/lib/misc/AcDbConstants.js +24 -0
  275. package/lib/misc/AcDbConstants.js.map +1 -0
  276. package/lib/misc/AcDbDimArrowType.d.ts +89 -0
  277. package/lib/misc/AcDbDimArrowType.d.ts.map +1 -0
  278. package/lib/misc/AcDbDimArrowType.js +90 -0
  279. package/lib/misc/AcDbDimArrowType.js.map +1 -0
  280. package/lib/misc/AcDbObjectIterator.d.ts +64 -0
  281. package/lib/misc/AcDbObjectIterator.d.ts.map +1 -0
  282. package/lib/misc/AcDbObjectIterator.js +84 -0
  283. package/lib/misc/AcDbObjectIterator.js.map +1 -0
  284. package/lib/misc/AcDbOsnapMode.d.ts +51 -0
  285. package/lib/misc/AcDbOsnapMode.d.ts.map +1 -0
  286. package/lib/misc/AcDbOsnapMode.js +52 -0
  287. package/lib/misc/AcDbOsnapMode.js.map +1 -0
  288. package/lib/misc/AcDbRenderingCache.d.ts +141 -0
  289. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -0
  290. package/lib/misc/AcDbRenderingCache.js +239 -0
  291. package/lib/misc/AcDbRenderingCache.js.map +1 -0
  292. package/lib/misc/AcDbUnitsValue.d.ts +101 -0
  293. package/lib/misc/AcDbUnitsValue.d.ts.map +1 -0
  294. package/lib/misc/AcDbUnitsValue.js +121 -0
  295. package/lib/misc/AcDbUnitsValue.js.map +1 -0
  296. package/lib/misc/index.d.ts +9 -0
  297. package/lib/misc/index.d.ts.map +1 -0
  298. package/lib/misc/index.js +9 -0
  299. package/lib/misc/index.js.map +1 -0
  300. package/lib/object/AcDbDictionary.d.ts +178 -0
  301. package/lib/object/AcDbDictionary.d.ts.map +1 -0
  302. package/lib/object/AcDbDictionary.js +264 -0
  303. package/lib/object/AcDbDictionary.js.map +1 -0
  304. package/lib/object/AcDbRasterImageDef.d.ts +54 -0
  305. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -0
  306. package/lib/object/AcDbRasterImageDef.js +82 -0
  307. package/lib/object/AcDbRasterImageDef.js.map +1 -0
  308. package/lib/object/index.d.ts +4 -0
  309. package/lib/object/index.d.ts.map +1 -0
  310. package/lib/object/index.js +4 -0
  311. package/lib/object/index.js.map +1 -0
  312. package/lib/object/layout/AcDbLayout.d.ts +190 -0
  313. package/lib/object/layout/AcDbLayout.d.ts.map +1 -0
  314. package/lib/object/layout/AcDbLayout.js +253 -0
  315. package/lib/object/layout/AcDbLayout.js.map +1 -0
  316. package/lib/object/layout/AcDbLayoutDictionary.d.ts +47 -0
  317. package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -0
  318. package/lib/object/layout/AcDbLayoutDictionary.js +122 -0
  319. package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -0
  320. package/lib/object/layout/AcDbLayoutManager.d.ts +188 -0
  321. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -0
  322. package/lib/object/layout/AcDbLayoutManager.js +245 -0
  323. package/lib/object/layout/AcDbLayoutManager.js.map +1 -0
  324. package/lib/object/layout/index.d.ts +4 -0
  325. package/lib/object/layout/index.d.ts.map +1 -0
  326. package/lib/object/layout/index.js +4 -0
  327. package/lib/object/layout/index.js.map +1 -0
  328. package/package.json +4 -4
@@ -0,0 +1,96 @@
1
+ import { AcDbDatabase } from '../database/AcDbDatabase';
2
+ import { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
3
+ /**
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
+ * ```
15
+ */
16
+ export declare function acdbHostApplicationServices(): AcDbHostApplicationServices;
17
+ /**
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
+ * ```
31
+ */
32
+ export declare class AcDbHostApplicationServices {
33
+ /** The current working database instance */
34
+ private _workingDatabase;
35
+ /** The layout manager instance */
36
+ private _layoutManager;
37
+ /** The singleton instance of AcDbHostApplicationServices */
38
+ static instance: AcDbHostApplicationServices;
39
+ /**
40
+ * Private constructor to enforce singleton pattern.
41
+ * Initializes the layout manager.
42
+ */
43
+ private constructor();
44
+ /**
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
+ * ```
62
+ */
63
+ get workingDatabase(): AcDbDatabase;
64
+ /**
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
+ * ```
77
+ */
78
+ set workingDatabase(database: AcDbDatabase);
79
+ /**
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
+ * ```
93
+ */
94
+ get layoutManager(): AcDbLayoutManager;
95
+ }
96
+ //# sourceMappingURL=AcDbHostApplicationServices.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;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"}
@@ -0,0 +1,118 @@
1
+ import { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
2
+ /**
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
+ * ```
14
+ */
15
+ export function acdbHostApplicationServices() {
16
+ return AcDbHostApplicationServices.instance;
17
+ }
18
+ /**
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
+ * ```
32
+ */
33
+ var AcDbHostApplicationServices = /** @class */ (function () {
34
+ /**
35
+ * Private constructor to enforce singleton pattern.
36
+ * Initializes the layout manager.
37
+ */
38
+ function AcDbHostApplicationServices() {
39
+ /** The current working database instance */
40
+ this._workingDatabase = null;
41
+ this._layoutManager = new AcDbLayoutManager();
42
+ }
43
+ Object.defineProperty(AcDbHostApplicationServices.prototype, "workingDatabase", {
44
+ /**
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
+ * ```
62
+ */
63
+ get: function () {
64
+ if (this._workingDatabase == null) {
65
+ throw new Error('The current working database must be set before using it!');
66
+ }
67
+ else {
68
+ return this._workingDatabase;
69
+ }
70
+ },
71
+ /**
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
+ * ```
84
+ */
85
+ set: function (database) {
86
+ this._workingDatabase = database;
87
+ },
88
+ enumerable: false,
89
+ configurable: true
90
+ });
91
+ Object.defineProperty(AcDbHostApplicationServices.prototype, "layoutManager", {
92
+ /**
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
+ * ```
106
+ */
107
+ get: function () {
108
+ return this._layoutManager;
109
+ },
110
+ enumerable: false,
111
+ configurable: true
112
+ });
113
+ /** The singleton instance of AcDbHostApplicationServices */
114
+ AcDbHostApplicationServices.instance = new AcDbHostApplicationServices();
115
+ return AcDbHostApplicationServices;
116
+ }());
117
+ export { AcDbHostApplicationServices };
118
+ //# sourceMappingURL=AcDbHostApplicationServices.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,205 @@
1
+ import { AcCmAttributes, AcCmObject, AcCmStringKey } from '@mlightcad/common';
2
+ import { AcDbDatabase } from '../database/AcDbDatabase';
3
+ /** Type alias for object ID as string */
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
+ */
11
+ export interface AcDbObjectAttrs extends AcCmAttributes {
12
+ /** Unique identifier for the object */
13
+ objectId?: AcDbObjectId;
14
+ /** Identifier of the object that owns this object */
15
+ ownerId?: AcDbObjectId;
16
+ }
17
+ /**
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
+ * ```
34
+ */
35
+ export declare class AcDbObject<ATTRS extends AcDbObjectAttrs = AcDbObjectAttrs> {
36
+ /** Reference to the database this object belongs to */
37
+ private _database?;
38
+ /** The attributes object that stores all object properties */
39
+ private _attrs;
40
+ /**
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
+ * ```
50
+ */
51
+ constructor(attrs?: Partial<ATTRS>, defaultAttrs?: Partial<ATTRS>);
52
+ /**
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
+ * ```
62
+ */
63
+ get attrs(): AcCmObject<ATTRS>;
64
+ /**
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
+ * ```
82
+ */
83
+ getAttr(attrName: AcCmStringKey<ATTRS>): ATTRS[AcCmStringKey<ATTRS>] & ({} | null);
84
+ /**
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
+ * ```
100
+ */
101
+ getAttrWithoutException(attrName: AcCmStringKey<ATTRS>): ATTRS[AcCmStringKey<ATTRS>] | undefined;
102
+ /**
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
+ * ```
112
+ */
113
+ setAttr<A extends AcCmStringKey<ATTRS>>(attrName: A, val?: ATTRS[A]): void;
114
+ /**
115
+ * Gets the object ID.
116
+ *
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
+ * ```
127
+ */
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
+ */
139
+ set objectId(value: AcDbObjectId);
140
+ /**
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
+ * ```
149
+ */
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
+ */
161
+ set ownerId(value: AcDbObjectId);
162
+ /**
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
+ * ```
175
+ */
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
+ */
190
+ set database(db: AcDbDatabase);
191
+ /**
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
+ * ```
202
+ */
203
+ close(): void;
204
+ }
205
+ //# sourceMappingURL=AcDbObject.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,236 @@
1
+ import { AcCmObject, defaults } from '@mlightcad/common';
2
+ import { uid } from 'uid';
3
+ import { acdbHostApplicationServices } from './AcDbHostApplicationServices';
4
+ /**
5
+ * The base class for all objects that reside in a drawing database.
6
+ *
7
+ * This class provides the fundamental functionality for all database objects,
8
+ * including attribute management, object identification, and database association.
9
+ * It serves as the foundation for entities, tables, and other database objects.
10
+ *
11
+ * @template ATTRS - The type of attributes this object can have
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * class MyEntity extends AcDbObject<MyEntityAttrs> {
16
+ * constructor(attrs?: Partial<MyEntityAttrs>) {
17
+ * super(attrs);
18
+ * }
19
+ * }
20
+ * ```
21
+ */
22
+ var AcDbObject = /** @class */ (function () {
23
+ /**
24
+ * Creates a new AcDbObject instance.
25
+ *
26
+ * @param attrs - Input attribute values for this object
27
+ * @param defaultAttrs - Default values for attributes of this object
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const obj = new AcDbObject({ objectId: '123' });
32
+ * ```
33
+ */
34
+ function AcDbObject(attrs, defaultAttrs) {
35
+ attrs = attrs || {};
36
+ defaults(attrs, { objectId: uid() });
37
+ this._attrs = new AcCmObject(attrs, defaultAttrs);
38
+ }
39
+ Object.defineProperty(AcDbObject.prototype, "attrs", {
40
+ /**
41
+ * Gets the attributes object for this AcDbObject.
42
+ *
43
+ * @returns The AcCmObject instance containing all attributes
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const attrs = obj.attrs;
48
+ * const value = attrs.get('someAttribute');
49
+ * ```
50
+ */
51
+ get: function () {
52
+ return this._attrs;
53
+ },
54
+ enumerable: false,
55
+ configurable: true
56
+ });
57
+ /**
58
+ * Gets the value of the specified attribute.
59
+ *
60
+ * This method will throw an exception if the specified attribute doesn't exist.
61
+ * Use getAttrWithoutException() if you want to handle missing attributes gracefully.
62
+ *
63
+ * @param attrName - The name of the attribute to retrieve
64
+ * @returns The value of the specified attribute
65
+ * @throws {Error} When the specified attribute doesn't exist
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * try {
70
+ * const value = obj.getAttr('objectId');
71
+ * } catch (error) {
72
+ * console.error('Attribute not found');
73
+ * }
74
+ * ```
75
+ */
76
+ AcDbObject.prototype.getAttr = function (attrName) {
77
+ var value = this._attrs.get(attrName);
78
+ if (value === undefined) {
79
+ throw new Error("[AcDbObject] Attribute name '".concat(attrName, "' does't exist in this object!"));
80
+ }
81
+ return value;
82
+ };
83
+ /**
84
+ * Gets the value of the specified attribute without throwing an exception.
85
+ *
86
+ * This method returns undefined if the specified attribute doesn't exist,
87
+ * making it safer for optional attributes.
88
+ *
89
+ * @param attrName - The name of the attribute to retrieve
90
+ * @returns The value of the specified attribute, or undefined if it doesn't exist
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * const value = obj.getAttrWithoutException('optionalAttribute');
95
+ * if (value !== undefined) {
96
+ * // Use the value
97
+ * }
98
+ * ```
99
+ */
100
+ AcDbObject.prototype.getAttrWithoutException = function (attrName) {
101
+ return this._attrs.get(attrName);
102
+ };
103
+ /**
104
+ * Sets the value of an attribute.
105
+ *
106
+ * @param attrName - The name of the attribute to set
107
+ * @param val - The value to assign to the attribute
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * obj.setAttr('objectId', 'new-id-123');
112
+ * ```
113
+ */
114
+ AcDbObject.prototype.setAttr = function (attrName, val) {
115
+ this._attrs.set(attrName, val);
116
+ };
117
+ Object.defineProperty(AcDbObject.prototype, "objectId", {
118
+ /**
119
+ * Gets the object ID.
120
+ *
121
+ * AutoCAD uses 64-bit integers to represent handles, which exceed the maximum
122
+ * integer value of JavaScript. Therefore, strings are used to represent object handles.
123
+ *
124
+ * @returns The object ID as a string
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * const id = obj.objectId;
129
+ * console.log(`Object ID: ${id}`);
130
+ * ```
131
+ */
132
+ get: function () {
133
+ return this.getAttr('objectId');
134
+ },
135
+ /**
136
+ * Sets the object ID.
137
+ *
138
+ * @param value - The new object ID
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * obj.objectId = 'new-object-id';
143
+ * ```
144
+ */
145
+ set: function (value) {
146
+ this._attrs.set('objectId', value);
147
+ },
148
+ enumerable: false,
149
+ configurable: true
150
+ });
151
+ Object.defineProperty(AcDbObject.prototype, "ownerId", {
152
+ /**
153
+ * Gets the object ID of the owner of this object.
154
+ *
155
+ * @returns The owner object ID
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * const ownerId = obj.ownerId;
160
+ * ```
161
+ */
162
+ get: function () {
163
+ return this.getAttr('ownerId');
164
+ },
165
+ /**
166
+ * Sets the object ID of the owner of this object.
167
+ *
168
+ * @param value - The new owner object ID
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * obj.ownerId = 'parent-object-id';
173
+ * ```
174
+ */
175
+ set: function (value) {
176
+ this._attrs.set('ownerId', value);
177
+ },
178
+ enumerable: false,
179
+ configurable: true
180
+ });
181
+ Object.defineProperty(AcDbObject.prototype, "database", {
182
+ /**
183
+ * Gets the database in which this object is resident.
184
+ *
185
+ * When an object isn't added to a database, this property returns the current
186
+ * working database. After it is added to a database, it will be set automatically.
187
+ * You should never set this value manually.
188
+ *
189
+ * @returns The database this object belongs to
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * const db = obj.database;
194
+ * ```
195
+ */
196
+ get: function () {
197
+ return this._database
198
+ ? this._database
199
+ : acdbHostApplicationServices().workingDatabase;
200
+ },
201
+ /**
202
+ * Sets the database for this object.
203
+ *
204
+ * This is typically set automatically when the object is added to a database.
205
+ * Manual setting should be avoided unless you know what you're doing.
206
+ *
207
+ * @param db - The database to associate with this object
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * obj.database = myDatabase;
212
+ * ```
213
+ */
214
+ set: function (db) {
215
+ this._database = db;
216
+ },
217
+ enumerable: false,
218
+ configurable: true
219
+ });
220
+ /**
221
+ * Closes the object.
222
+ *
223
+ * All changes made to the object since it was opened are committed to the database,
224
+ * and a "closed" notification is sent. This method can be overridden by subclasses
225
+ * to provide specific cleanup behavior.
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * obj.close();
230
+ * ```
231
+ */
232
+ AcDbObject.prototype.close = function () { };
233
+ return AcDbObject;
234
+ }());
235
+ export { AcDbObject };
236
+ //# sourceMappingURL=AcDbObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbObject.js","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAGzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAkB3E;;;;;;;;;;;;;;;;;GAiBG;AACH;IAME;;;;;;;;;;OAUG;IACH,oBAAY,KAAsB,EAAE,YAA6B;QAC/D,KAAK,GAAG,KAAK,IAAI,EAAE,CAAA;QACnB,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAQ,KAAK,EAAE,YAAY,CAAC,CAAA;IAC1D,CAAC;IAaD,sBAAI,6BAAK;QAXT;;;;;;;;;;WAUG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;;;OAAA;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,4BAAO,GAAP,UAAQ,QAA8B;QACpC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,uCAAgC,QAAQ,mCAAgC,CACzE,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,4CAAuB,GAAvB,UAAwB,QAA8B;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED;;;;;;;;;;OAUG;IACH,4BAAO,GAAP,UAAwC,QAAW,EAAE,GAAc;QACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAChC,CAAC;IAgBD,sBAAI,gCAAQ;QAdZ;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACjC,CAAC;QAED;;;;;;;;;WASG;aACH,UAAa,KAAmB;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;;;OAdA;IA0BD,sBAAI,+BAAO;QAVX;;;;;;;;;WASG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;QAED;;;;;;;;;WASG;aACH,UAAY,KAAmB;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACnC,CAAC;;;OAdA;IA8BD,sBAAI,gCAAQ;QAdZ;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,IAAI,CAAC,SAAS;gBACnB,CAAC,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,2BAA2B,EAAE,CAAC,eAAe,CAAA;QACnD,CAAC;QAED;;;;;;;;;;;;WAYG;aACH,UAAa,EAAgB;YAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACrB,CAAC;;;OAjBA;IAmBD;;;;;;;;;;;OAWG;IACH,0BAAK,GAAL,cAAS,CAAC;IACZ,iBAAC;AAAD,CAAC,AArND,IAqNC"}
@@ -0,0 +1,3 @@
1
+ export * from './AcDbHostApplicationServices';
2
+ export * from './AcDbObject';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './AcDbHostApplicationServices';
2
+ export * from './AcDbObject';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA"}