@mlightcad/data-model 1.1.2 → 1.1.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 (259) hide show
  1. package/dist/data-model.js +5501 -1021
  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 +312 -36
  40. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  41. package/lib/database/AcDbDatabase.js +237 -46
  42. package/lib/database/AcDbDatabase.js.map +1 -1
  43. package/lib/database/AcDbDatabaseConverter.d.ts +79 -14
  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
@@ -2,13 +2,34 @@ import { AcCmObject, defaults } from '@mlightcad/common';
2
2
  import { uid } from 'uid';
3
3
  import { acdbHostApplicationServices } from './AcDbHostApplicationServices';
4
4
  /**
5
- * The base class for all objects that reside in drawing database.
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
+ * ```
6
21
  */
7
22
  var AcDbObject = /** @class */ (function () {
8
23
  /**
9
- * Default constructor.
10
- * @param attrs Input attribute values of this object
11
- * @param defaultAttrs Input default values of attributes of this object.
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
+ * ```
12
33
  */
13
34
  function AcDbObject(attrs, defaultAttrs) {
14
35
  attrs = attrs || {};
@@ -17,7 +38,15 @@ var AcDbObject = /** @class */ (function () {
17
38
  }
18
39
  Object.defineProperty(AcDbObject.prototype, "attrs", {
19
40
  /**
20
- * Attributes of this object
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
+ * ```
21
50
  */
22
51
  get: function () {
23
52
  return this._attrs;
@@ -26,9 +55,23 @@ var AcDbObject = /** @class */ (function () {
26
55
  configurable: true
27
56
  });
28
57
  /**
29
- * Get value of the specified attribute. One exception will be thrown if the specified attribute doesn't exist.
30
- * @param attrName Input attribute name
31
- * @returns Return value of the specified attribute
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
+ * ```
32
75
  */
33
76
  AcDbObject.prototype.getAttr = function (attrName) {
34
77
  var value = this._attrs.get(attrName);
@@ -38,33 +81,67 @@ var AcDbObject = /** @class */ (function () {
38
81
  return value;
39
82
  };
40
83
  /**
41
- * Get value of the specified attribute. Return undefined if the specified attribute doesn't exist.
42
- * @param attrName Input attribute name
43
- * @returns Return value of the specified attribute. Return undefined if the specified attribute
44
- * doesn't exist.
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
+ * ```
45
99
  */
46
100
  AcDbObject.prototype.getAttrWithoutException = function (attrName) {
47
101
  return this._attrs.get(attrName);
48
102
  };
49
103
  /**
50
- * Set value of the attribute
51
- * @param attrName Input attribute name
52
- * @param val Input value of the attribute
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
+ * ```
53
113
  */
54
114
  AcDbObject.prototype.setAttr = function (attrName, val) {
55
115
  this._attrs.set(attrName, val);
56
116
  };
57
117
  Object.defineProperty(AcDbObject.prototype, "objectId", {
58
118
  /**
59
- * Object id.
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.
60
123
  *
61
- * AutoCAD uses 64-bit integer to represent handle. It exceeds the maximum integer value
62
- * (Number.MAX_SAFE_INTEGER, 0x1F FFFF FFFF FFF) of JavaScript number. So string is used to represent
63
- * the handle of one object.
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
+ * ```
64
131
  */
65
132
  get: function () {
66
133
  return this.getAttr('objectId');
67
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
+ */
68
145
  set: function (value) {
69
146
  this._attrs.set('objectId', value);
70
147
  },
@@ -73,11 +150,28 @@ var AcDbObject = /** @class */ (function () {
73
150
  });
74
151
  Object.defineProperty(AcDbObject.prototype, "ownerId", {
75
152
  /**
76
- * The object Id of the owner of the object.
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
+ * ```
77
161
  */
78
162
  get: function () {
79
163
  return this.getAttr('ownerId');
80
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
+ */
81
175
  set: function (value) {
82
176
  this._attrs.set('ownerId', value);
83
177
  },
@@ -86,15 +180,37 @@ var AcDbObject = /** @class */ (function () {
86
180
  });
87
181
  Object.defineProperty(AcDbObject.prototype, "database", {
88
182
  /**
89
- * The database in which the object is resident. When one object isn't added into database, the database
90
- * property of this object will be current working database. After it is added into database, it will be
91
- * set automatically. So it means you should never set its value by your own.
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
+ * ```
92
195
  */
93
196
  get: function () {
94
197
  return this._database
95
198
  ? this._database
96
199
  : acdbHostApplicationServices().workingDatabase;
97
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
+ */
98
214
  set: function (db) {
99
215
  this._database = db;
100
216
  },
@@ -102,8 +218,16 @@ var AcDbObject = /** @class */ (function () {
102
218
  configurable: true
103
219
  });
104
220
  /**
105
- * Closes the object. All changes made to the object since it was opened are committed to the database,
106
- * and a "closed" notification is sent.
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
+ * ```
107
231
  */
108
232
  AcDbObject.prototype.close = function () { };
109
233
  return AcDbObject;
@@ -1 +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;AAS3E;;GAEG;AACH;IAIE;;;;OAIG;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;IAKD,sBAAI,6BAAK;QAHT;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;;;OAAA;IAED;;;;OAIG;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;;;;;OAKG;IACH,4CAAuB,GAAvB,UAAwB,QAA8B;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,4BAAO,GAAP,UAAwC,QAAW,EAAE,GAAc;QACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAChC,CAAC;IASD,sBAAI,gCAAQ;QAPZ;;;;;;WAMG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACjC,CAAC;aACD,UAAa,KAAmB;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;;;OAHA;IAQD,sBAAI,+BAAO;QAHX;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;aACD,UAAY,KAAmB;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACnC,CAAC;;;OAHA;IAUD,sBAAI,gCAAQ;QALZ;;;;WAIG;aACH;YACE,OAAO,IAAI,CAAC,SAAS;gBACnB,CAAC,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,2BAA2B,EAAE,CAAC,eAAe,CAAA;QACnD,CAAC;aACD,UAAa,EAAgB;YAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACrB,CAAC;;;OAHA;IAKD;;;OAGG;IACH,0BAAK,GAAL,cAAS,CAAC;IACZ,iBAAC;AAAD,CAAC,AAnGD,IAmGC"}
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"}
@@ -1,42 +1,144 @@
1
1
  type AcDbChunkProcessingCallback = (start: number, end: number) => Promise<void>;
2
2
  /**
3
- * This class is used to break up the work into smaller chunks that are executed asynchronously.
4
- * This is often referred to "batch processing" or "cooperative multitasking," where the
3
+ * Class used to break up work into smaller chunks that are executed asynchronously.
4
+ *
5
+ * This is often referred to as "batch processing" or "cooperative multitasking," where the
5
6
  * time-consuming task is broken into smaller pieces and executed in small intervals to allow
6
7
  * the UI to remain responsive.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const batchProcessor = new AcDbBatchProcessing(1000, 10, 50);
12
+ * await batchProcessor.processChunk(async (start, end) => {
13
+ * // Process items from start to end
14
+ * for (let i = start; i < end; i++) {
15
+ * // Process item i
16
+ * }
17
+ * });
18
+ * ```
7
19
  */
8
20
  export declare class AcDbBatchProcessing {
21
+ /** Total number of items to process */
9
22
  private _count;
23
+ /** Number of chunks to process */
10
24
  private _numerOfChunk;
25
+ /** Number of items in one chunk */
11
26
  private _chunkSize;
27
+ /** Minimum number of items in one chunk */
12
28
  private _minimumChunkSize;
13
29
  /**
14
- * Construct one instance of this class
15
- * @param count Input the total number of items to process
16
- * @param numerOfChunk Input the number of chunks to process
17
- * @param minimumChunkSize Input the minimum number of items in one chunk. If it is greater
30
+ * Creates a new AcDbBatchProcessing instance.
31
+ *
32
+ * @param count - The total number of items to process
33
+ * @param numerOfChunk - The number of chunks to process
34
+ * @param minimumChunkSize - The minimum number of items in one chunk. If it is greater
18
35
  * than the total number of items to process, the total number is used.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const batchProcessor = new AcDbBatchProcessing(1000, 10, 50);
40
+ * ```
19
41
  */
20
42
  constructor(count: number, numerOfChunk: number, minimumChunkSize: number);
21
43
  /**
22
- * The total number of items to process
44
+ * Gets the total number of items to process.
45
+ *
46
+ * @returns The total number of items to process
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * const totalItems = batchProcessor.count;
51
+ * ```
23
52
  */
24
53
  get count(): number;
25
54
  /**
26
- * The number of chunks to process
55
+ * Gets the number of chunks to process.
56
+ *
57
+ * @returns The number of chunks to process
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const numberOfChunks = batchProcessor.numerOfChunk;
62
+ * ```
27
63
  */
28
64
  get numerOfChunk(): number;
29
65
  /**
30
- * The minimum number of items in one chunk.
66
+ * Gets the minimum number of items in one chunk.
67
+ *
68
+ * @returns The minimum number of items in one chunk
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const minChunkSize = batchProcessor.minimumChunkSize;
73
+ * ```
31
74
  */
32
75
  get minimumChunkSize(): number;
76
+ /**
77
+ * Sets the minimum number of items in one chunk.
78
+ *
79
+ * @param value - The new minimum chunk size
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * batchProcessor.minimumChunkSize = 100;
84
+ * ```
85
+ */
33
86
  set minimumChunkSize(value: number);
34
87
  /**
35
- * The number of items in one chunk
88
+ * Gets the number of items in one chunk.
89
+ *
90
+ * @returns The number of items in one chunk
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * const chunkSize = batchProcessor.chunkSize;
95
+ * ```
36
96
  */
37
97
  get chunkSize(): number;
98
+ /**
99
+ * Calculates the chunk size based on the total count, number of chunks, and minimum chunk size.
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * batchProcessor.calculateChunkSize();
104
+ * ```
105
+ */
38
106
  private calculateChunkSize;
107
+ /**
108
+ * Schedules a task to be executed asynchronously.
109
+ *
110
+ * This method uses requestAnimationFrame in browser environments or setTimeout
111
+ * in Node.js environments to schedule the task.
112
+ *
113
+ * @param callback - The callback function to schedule
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * batchProcessor.scheduleTask(() => {
118
+ * // Task to be executed asynchronously
119
+ * });
120
+ * ```
121
+ */
39
122
  private scheduleTask;
123
+ /**
124
+ * Processes items in chunks using the provided callback function.
125
+ *
126
+ * This method breaks up the work into chunks and processes each chunk
127
+ * asynchronously, allowing the UI to remain responsive.
128
+ *
129
+ * @param callback - The callback function to execute for each chunk
130
+ * @returns Promise that resolves when all chunks have been processed
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * await batchProcessor.processChunk(async (start, end) => {
135
+ * for (let i = start; i < end; i++) {
136
+ * // Process item i
137
+ * await processItem(i);
138
+ * }
139
+ * });
140
+ * ```
141
+ */
40
142
  processChunk(callback: AcDbChunkProcessingCallback): Promise<void>;
41
143
  }
42
144
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBatchProcessing.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbBatchProcessing.ts"],"names":[],"mappings":"AACA,KAAK,2BAA2B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhF;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,iBAAiB,CAAa;IAEtC;;;;;;OAMG;gBACS,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;IAOzE;;OAEG;IACH,IAAI,KAAK,WAER;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED;;OAEG;IACH,IAAI,gBAAgB,IAGQ,MAAM,CADjC;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAGjC;IAED;;OAEG;IACH,IAAI,SAAS,WAEZ;IAED,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;IAcP,YAAY,CAAC,QAAQ,EAAE,2BAA2B;CAqBhE"}
1
+ {"version":3,"file":"AcDbBatchProcessing.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbBatchProcessing.ts"],"names":[],"mappings":"AACA,KAAK,2BAA2B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB;IAC9B,uCAAuC;IACvC,OAAO,CAAC,MAAM,CAAQ;IACtB,kCAAkC;IAClC,OAAO,CAAC,aAAa,CAAQ;IAC7B,mCAAmC;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,2CAA2C;IAC3C,OAAO,CAAC,iBAAiB,CAAa;IAEtC;;;;;;;;;;;;OAYG;gBACS,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;IAOzE;;;;;;;;;OASG;IACH,IAAI,KAAK,WAER;IAED;;;;;;;;;OASG;IACH,IAAI,YAAY,WAEf;IAED;;;;;;;;;OASG;IACH,IAAI,gBAAgB,IAcQ,MAAM,CAZjC;IAED;;;;;;;;;OASG;IACH,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAGjC;IAED;;;;;;;;;OASG;IACH,IAAI,SAAS,WAEZ;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,YAAY;IAapB;;;;;;;;;;;;;;;;;;OAkBG;IACU,YAAY,CAAC,QAAQ,EAAE,2BAA2B;CAqBhE"}
@@ -35,21 +35,41 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  /**
38
- * This class is used to break up the work into smaller chunks that are executed asynchronously.
39
- * This is often referred to "batch processing" or "cooperative multitasking," where the
38
+ * Class used to break up work into smaller chunks that are executed asynchronously.
39
+ *
40
+ * This is often referred to as "batch processing" or "cooperative multitasking," where the
40
41
  * time-consuming task is broken into smaller pieces and executed in small intervals to allow
41
42
  * the UI to remain responsive.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const batchProcessor = new AcDbBatchProcessing(1000, 10, 50);
47
+ * await batchProcessor.processChunk(async (start, end) => {
48
+ * // Process items from start to end
49
+ * for (let i = start; i < end; i++) {
50
+ * // Process item i
51
+ * }
52
+ * });
53
+ * ```
42
54
  */
43
55
  var AcDbBatchProcessing = /** @class */ (function () {
44
56
  /**
45
- * Construct one instance of this class
46
- * @param count Input the total number of items to process
47
- * @param numerOfChunk Input the number of chunks to process
48
- * @param minimumChunkSize Input the minimum number of items in one chunk. If it is greater
57
+ * Creates a new AcDbBatchProcessing instance.
58
+ *
59
+ * @param count - The total number of items to process
60
+ * @param numerOfChunk - The number of chunks to process
61
+ * @param minimumChunkSize - The minimum number of items in one chunk. If it is greater
49
62
  * than the total number of items to process, the total number is used.
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * const batchProcessor = new AcDbBatchProcessing(1000, 10, 50);
67
+ * ```
50
68
  */
51
69
  function AcDbBatchProcessing(count, numerOfChunk, minimumChunkSize) {
70
+ /** Number of items in one chunk */
52
71
  this._chunkSize = -1;
72
+ /** Minimum number of items in one chunk */
53
73
  this._minimumChunkSize = 50;
54
74
  this._count = count;
55
75
  this._numerOfChunk = numerOfChunk < 1 ? 1 : numerOfChunk;
@@ -58,7 +78,14 @@ var AcDbBatchProcessing = /** @class */ (function () {
58
78
  }
59
79
  Object.defineProperty(AcDbBatchProcessing.prototype, "count", {
60
80
  /**
61
- * The total number of items to process
81
+ * Gets the total number of items to process.
82
+ *
83
+ * @returns The total number of items to process
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * const totalItems = batchProcessor.count;
88
+ * ```
62
89
  */
63
90
  get: function () {
64
91
  return this._count;
@@ -68,7 +95,14 @@ var AcDbBatchProcessing = /** @class */ (function () {
68
95
  });
69
96
  Object.defineProperty(AcDbBatchProcessing.prototype, "numerOfChunk", {
70
97
  /**
71
- * The number of chunks to process
98
+ * Gets the number of chunks to process.
99
+ *
100
+ * @returns The number of chunks to process
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * const numberOfChunks = batchProcessor.numerOfChunk;
105
+ * ```
72
106
  */
73
107
  get: function () {
74
108
  return this._numerOfChunk;
@@ -78,11 +112,28 @@ var AcDbBatchProcessing = /** @class */ (function () {
78
112
  });
79
113
  Object.defineProperty(AcDbBatchProcessing.prototype, "minimumChunkSize", {
80
114
  /**
81
- * The minimum number of items in one chunk.
115
+ * Gets the minimum number of items in one chunk.
116
+ *
117
+ * @returns The minimum number of items in one chunk
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * const minChunkSize = batchProcessor.minimumChunkSize;
122
+ * ```
82
123
  */
83
124
  get: function () {
84
125
  return this._minimumChunkSize;
85
126
  },
127
+ /**
128
+ * Sets the minimum number of items in one chunk.
129
+ *
130
+ * @param value - The new minimum chunk size
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * batchProcessor.minimumChunkSize = 100;
135
+ * ```
136
+ */
86
137
  set: function (value) {
87
138
  this._minimumChunkSize = value;
88
139
  this.calculateChunkSize();
@@ -92,7 +143,14 @@ var AcDbBatchProcessing = /** @class */ (function () {
92
143
  });
93
144
  Object.defineProperty(AcDbBatchProcessing.prototype, "chunkSize", {
94
145
  /**
95
- * The number of items in one chunk
146
+ * Gets the number of items in one chunk.
147
+ *
148
+ * @returns The number of items in one chunk
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * const chunkSize = batchProcessor.chunkSize;
153
+ * ```
96
154
  */
97
155
  get: function () {
98
156
  return this._chunkSize;
@@ -100,6 +158,14 @@ var AcDbBatchProcessing = /** @class */ (function () {
100
158
  enumerable: false,
101
159
  configurable: true
102
160
  });
161
+ /**
162
+ * Calculates the chunk size based on the total count, number of chunks, and minimum chunk size.
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * batchProcessor.calculateChunkSize();
167
+ * ```
168
+ */
103
169
  AcDbBatchProcessing.prototype.calculateChunkSize = function () {
104
170
  var demicalChunkSize = this._count / this._numerOfChunk;
105
171
  if (demicalChunkSize < this._minimumChunkSize) {
@@ -108,6 +174,21 @@ var AcDbBatchProcessing = /** @class */ (function () {
108
174
  this._chunkSize =
109
175
  demicalChunkSize < 1 ? this._count : Math.floor(demicalChunkSize);
110
176
  };
177
+ /**
178
+ * Schedules a task to be executed asynchronously.
179
+ *
180
+ * This method uses requestAnimationFrame in browser environments or setTimeout
181
+ * in Node.js environments to schedule the task.
182
+ *
183
+ * @param callback - The callback function to schedule
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * batchProcessor.scheduleTask(() => {
188
+ * // Task to be executed asynchronously
189
+ * });
190
+ * ```
191
+ */
111
192
  AcDbBatchProcessing.prototype.scheduleTask = function (callback) {
112
193
  if (typeof window !== 'undefined' &&
113
194
  typeof window.requestAnimationFrame === 'function') {
@@ -119,7 +200,25 @@ var AcDbBatchProcessing = /** @class */ (function () {
119
200
  setTimeout(callback, 0);
120
201
  }
121
202
  };
122
- // Use the ChunkProcessingCallback type for the callback parameter
203
+ /**
204
+ * Processes items in chunks using the provided callback function.
205
+ *
206
+ * This method breaks up the work into chunks and processes each chunk
207
+ * asynchronously, allowing the UI to remain responsive.
208
+ *
209
+ * @param callback - The callback function to execute for each chunk
210
+ * @returns Promise that resolves when all chunks have been processed
211
+ *
212
+ * @example
213
+ * ```typescript
214
+ * await batchProcessor.processChunk(async (start, end) => {
215
+ * for (let i = start; i < end; i++) {
216
+ * // Process item i
217
+ * await processItem(i);
218
+ * }
219
+ * });
220
+ * ```
221
+ */
123
222
  AcDbBatchProcessing.prototype.processChunk = function (callback) {
124
223
  return __awaiter(this, void 0, void 0, function () {
125
224
  var currentIndex, processNextChunk;
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBatchProcessing.js","sourceRoot":"","sources":["../../src/converter/AcDbBatchProcessing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbBatchProcessing.js","sourceRoot":"","sources":["../../src/converter/AcDbBatchProcessing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH;IAUE;;;;;;;;;;;;OAYG;IACH,6BAAY,KAAa,EAAE,YAAoB,EAAE,gBAAwB;QAlBzE,mCAAmC;QAC3B,eAAU,GAAW,CAAC,CAAC,CAAA;QAC/B,2CAA2C;QACnC,sBAAiB,GAAW,EAAE,CAAA;QAgBpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,aAAa,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QACxD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;QACzC,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAYD,sBAAI,sCAAK;QAVT;;;;;;;;;WASG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;;;OAAA;IAYD,sBAAI,6CAAY;QAVhB;;;;;;;;;WASG;aACH;YACE,OAAO,IAAI,CAAC,aAAa,CAAA;QAC3B,CAAC;;;OAAA;IAYD,sBAAI,iDAAgB;QAVpB;;;;;;;;;WASG;aACH;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAA;QAC/B,CAAC;QAED;;;;;;;;;WASG;aACH,UAAqB,KAAa;YAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;YAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC3B,CAAC;;;OAfA;IA2BD,sBAAI,0CAAS;QAVb;;;;;;;;;WASG;aACH;YACE,OAAO,IAAI,CAAC,UAAU,CAAA;QACxB,CAAC;;;OAAA;IAED;;;;;;;OAOG;IACK,gDAAkB,GAA1B;QACE,IAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAA;QACvD,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC9C,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,CAAC,UAAU;YACb,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACrE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,0CAAY,GAApB,UAAqB,QAAoB;QACvC,IACE,OAAO,MAAM,KAAK,WAAW;YAC7B,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU,EAClD,CAAC;YACD,iDAAiD;YACjD,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACU,0CAAY,GAAzB,UAA0B,QAAqC;;;;;;;wBACzD,YAAY,GAAG,CAAC,CAAA;wBAEd,gBAAgB,GAAG;;;;;wCACjB,KAAK,GAAG,YAAY,CAAA;wCACpB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;wCAEjE,oDAAoD;wCACpD,qBAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAA;;wCAD1B,oDAAoD;wCACpD,SAA0B,CAAA;wCAE1B,YAAY,GAAG,GAAG,CAAA;wCAElB,8DAA8D;wCAC9D,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;4CAC/B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA,CAAC,yDAAyD;wCAC/F,CAAC;;;;6BACF,CAAA;wBAED,mCAAmC;wBACnC,qBAAM,gBAAgB,EAAE,EAAA;;wBADxB,mCAAmC;wBACnC,SAAwB,CAAA;;;;;KACzB;IACH,0BAAC;AAAD,CAAC,AA1LD,IA0LC"}