@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.
- package/dist/data-model.js +5501 -1021
- package/dist/data-model.umd.cjs +2 -2
- package/lib/base/AcDbHostApplicationServices.d.ts +72 -6
- package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -1
- package/lib/base/AcDbHostApplicationServices.js +71 -7
- package/lib/base/AcDbHostApplicationServices.js.map +1 -1
- package/lib/base/AcDbObject.d.ts +160 -25
- package/lib/base/AcDbObject.d.ts.map +1 -1
- package/lib/base/AcDbObject.js +149 -25
- package/lib/base/AcDbObject.js.map +1 -1
- package/lib/converter/AcDbBatchProcessing.d.ts +112 -10
- package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -1
- package/lib/converter/AcDbBatchProcessing.js +110 -11
- package/lib/converter/AcDbBatchProcessing.js.map +1 -1
- package/lib/converter/AcDbDxfConverter.d.ts +224 -6
- package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
- package/lib/converter/AcDbDxfConverter.js +224 -6
- package/lib/converter/AcDbDxfConverter.js.map +1 -1
- package/lib/converter/AcDbDxfParseWorker.d.ts +16 -0
- package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -1
- package/lib/converter/AcDbDxfParseWorker.js +16 -0
- package/lib/converter/AcDbDxfParseWorker.js.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.d.ts +118 -3
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.js +118 -3
- package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
- package/lib/converter/AcDbObjectConverter.d.ts +52 -0
- package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
- package/lib/converter/AcDbObjectConverter.js +52 -0
- package/lib/converter/AcDbObjectConverter.js.map +1 -1
- package/lib/database/AcDbBlockTable.d.ts +35 -3
- package/lib/database/AcDbBlockTable.d.ts.map +1 -1
- package/lib/database/AcDbBlockTable.js +35 -3
- package/lib/database/AcDbBlockTable.js.map +1 -1
- package/lib/database/AcDbBlockTableRecord.d.ts +98 -15
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbBlockTableRecord.js +96 -15
- package/lib/database/AcDbBlockTableRecord.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +312 -36
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +237 -46
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbDatabaseConverter.d.ts +79 -14
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverter.js +46 -13
- package/lib/database/AcDbDatabaseConverter.js.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.d.ts +97 -15
- package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.js +90 -15
- package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
- package/lib/database/AcDbDimStyleTable.d.ts +22 -2
- package/lib/database/AcDbDimStyleTable.d.ts.map +1 -1
- package/lib/database/AcDbDimStyleTable.js +22 -2
- package/lib/database/AcDbDimStyleTable.js.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.d.ts +115 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.js +44 -0
- package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
- package/lib/database/AcDbLayerTable.d.ts +39 -2
- package/lib/database/AcDbLayerTable.d.ts.map +1 -1
- package/lib/database/AcDbLayerTable.js +39 -2
- package/lib/database/AcDbLayerTable.js.map +1 -1
- package/lib/database/AcDbLayerTableRecord.d.ts +198 -18
- package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLayerTableRecord.js +182 -19
- package/lib/database/AcDbLayerTableRecord.js.map +1 -1
- package/lib/database/AcDbLinetypeTable.d.ts +21 -2
- package/lib/database/AcDbLinetypeTable.d.ts.map +1 -1
- package/lib/database/AcDbLinetypeTable.js +21 -2
- package/lib/database/AcDbLinetypeTable.js.map +1 -1
- package/lib/database/AcDbLinetypeTableRecord.d.ts +46 -14
- package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLinetypeTableRecord.js +46 -14
- package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
- package/lib/database/AcDbSymbolTable.d.ts +134 -29
- package/lib/database/AcDbSymbolTable.d.ts.map +1 -1
- package/lib/database/AcDbSymbolTable.js +133 -37
- package/lib/database/AcDbSymbolTable.js.map +1 -1
- package/lib/database/AcDbSymbolTableRecord.d.ts +47 -2
- package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbSymbolTableRecord.js +40 -2
- package/lib/database/AcDbSymbolTableRecord.js.map +1 -1
- package/lib/database/AcDbTextStyleTable.d.ts +36 -2
- package/lib/database/AcDbTextStyleTable.d.ts.map +1 -1
- package/lib/database/AcDbTextStyleTable.js +36 -2
- package/lib/database/AcDbTextStyleTable.js.map +1 -1
- package/lib/database/AcDbTextStyleTableRecord.d.ts +129 -17
- package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbTextStyleTableRecord.js +127 -17
- package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
- package/lib/database/AcDbViewportTable.d.ts +22 -2
- package/lib/database/AcDbViewportTable.d.ts.map +1 -1
- package/lib/database/AcDbViewportTable.js +22 -2
- package/lib/database/AcDbViewportTable.js.map +1 -1
- package/lib/database/AcDbViewportTableRecord.d.ts +74 -9
- package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbViewportTableRecord.js +65 -9
- package/lib/database/AcDbViewportTableRecord.js.map +1 -1
- package/lib/entity/AcDbArc.d.ts +202 -17
- package/lib/entity/AcDbArc.d.ts.map +1 -1
- package/lib/entity/AcDbArc.js +201 -17
- package/lib/entity/AcDbArc.js.map +1 -1
- package/lib/entity/AcDbBlockReference.d.ts +147 -13
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
- package/lib/entity/AcDbBlockReference.js +142 -13
- package/lib/entity/AcDbBlockReference.js.map +1 -1
- package/lib/entity/AcDbCircle.d.ts +145 -12
- package/lib/entity/AcDbCircle.d.ts.map +1 -1
- package/lib/entity/AcDbCircle.js +144 -12
- package/lib/entity/AcDbCircle.js.map +1 -1
- package/lib/entity/AcDbCurve.d.ts +33 -2
- package/lib/entity/AcDbCurve.d.ts.map +1 -1
- package/lib/entity/AcDbCurve.js +17 -0
- package/lib/entity/AcDbCurve.js.map +1 -1
- package/lib/entity/AcDbEllipse.d.ts +168 -16
- package/lib/entity/AcDbEllipse.d.ts.map +1 -1
- package/lib/entity/AcDbEllipse.js +167 -16
- package/lib/entity/AcDbEllipse.js.map +1 -1
- package/lib/entity/AcDbEntity.d.ts +299 -35
- package/lib/entity/AcDbEntity.d.ts.map +1 -1
- package/lib/entity/AcDbEntity.js +275 -27
- package/lib/entity/AcDbEntity.js.map +1 -1
- package/lib/entity/AcDbHatch.d.ts +60 -4
- package/lib/entity/AcDbHatch.d.ts.map +1 -1
- package/lib/entity/AcDbHatch.js +52 -4
- package/lib/entity/AcDbHatch.js.map +1 -1
- package/lib/entity/AcDbLeader.d.ts +157 -10
- package/lib/entity/AcDbLeader.d.ts.map +1 -1
- package/lib/entity/AcDbLeader.js +149 -10
- package/lib/entity/AcDbLeader.js.map +1 -1
- package/lib/entity/AcDbLine.d.ts +154 -13
- package/lib/entity/AcDbLine.d.ts.map +1 -1
- package/lib/entity/AcDbLine.js +153 -13
- package/lib/entity/AcDbLine.js.map +1 -1
- package/lib/entity/AcDbMText.d.ts +127 -11
- package/lib/entity/AcDbMText.d.ts.map +1 -1
- package/lib/entity/AcDbMText.js +112 -11
- package/lib/entity/AcDbMText.js.map +1 -1
- package/lib/entity/AcDbPoint.d.ts +86 -7
- package/lib/entity/AcDbPoint.d.ts.map +1 -1
- package/lib/entity/AcDbPoint.js +85 -7
- package/lib/entity/AcDbPoint.js.map +1 -1
- package/lib/entity/AcDbPolyline.d.ts +172 -25
- package/lib/entity/AcDbPolyline.d.ts.map +1 -1
- package/lib/entity/AcDbPolyline.js +170 -25
- package/lib/entity/AcDbPolyline.js.map +1 -1
- package/lib/entity/AcDbRasterImage.d.ts +75 -31
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
- package/lib/entity/AcDbRasterImage.js +60 -31
- package/lib/entity/AcDbRasterImage.js.map +1 -1
- package/lib/entity/AcDbRay.d.ts +115 -9
- package/lib/entity/AcDbRay.d.ts.map +1 -1
- package/lib/entity/AcDbRay.js +113 -9
- package/lib/entity/AcDbRay.js.map +1 -1
- package/lib/entity/AcDbSpline.d.ts +106 -14
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +67 -4
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/AcDbTable.d.ts +161 -44
- package/lib/entity/AcDbTable.d.ts.map +1 -1
- package/lib/entity/AcDbTable.js +135 -44
- package/lib/entity/AcDbTable.js.map +1 -1
- package/lib/entity/AcDbText.d.ts +298 -25
- package/lib/entity/AcDbText.d.ts.map +1 -1
- package/lib/entity/AcDbText.js +288 -25
- package/lib/entity/AcDbText.js.map +1 -1
- package/lib/entity/AcDbTrace.d.ts +150 -23
- package/lib/entity/AcDbTrace.d.ts.map +1 -1
- package/lib/entity/AcDbTrace.js +147 -23
- package/lib/entity/AcDbTrace.js.map +1 -1
- package/lib/entity/AcDbViewport.d.ts +122 -9
- package/lib/entity/AcDbViewport.d.ts.map +1 -1
- package/lib/entity/AcDbViewport.js +122 -9
- package/lib/entity/AcDbViewport.js.map +1 -1
- package/lib/entity/AcDbWipeout.d.ts +29 -1
- package/lib/entity/AcDbWipeout.d.ts.map +1 -1
- package/lib/entity/AcDbWipeout.js +29 -1
- package/lib/entity/AcDbWipeout.js.map +1 -1
- package/lib/entity/AcDbXline.d.ts +116 -9
- package/lib/entity/AcDbXline.d.ts.map +1 -1
- package/lib/entity/AcDbXline.js +114 -9
- package/lib/entity/AcDbXline.js.map +1 -1
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +56 -12
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDb3PointAngularDimension.js +56 -12
- package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts +158 -17
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbAlignedDimension.js +153 -17
- package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbArcDimension.d.ts +58 -12
- package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbArcDimension.js +58 -12
- package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts +99 -25
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDiametricDimension.js +99 -25
- package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbDimension.d.ts +108 -14
- package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDimension.js +99 -14
- package/lib/entity/dimension/AcDbDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +48 -16
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.js +48 -16
- package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbRadialDimension.d.ts +167 -24
- package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbRadialDimension.js +162 -24
- package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
- package/lib/misc/AcDbAngleUnits.d.ts +12 -0
- package/lib/misc/AcDbAngleUnits.d.ts.map +1 -1
- package/lib/misc/AcDbAngleUnits.js +12 -0
- package/lib/misc/AcDbAngleUnits.js.map +1 -1
- package/lib/misc/AcDbConstants.d.ts +20 -0
- package/lib/misc/AcDbConstants.d.ts.map +1 -1
- package/lib/misc/AcDbConstants.js +20 -0
- package/lib/misc/AcDbConstants.js.map +1 -1
- package/lib/misc/AcDbDimArrowType.d.ts +24 -21
- package/lib/misc/AcDbDimArrowType.d.ts.map +1 -1
- package/lib/misc/AcDbDimArrowType.js +24 -21
- package/lib/misc/AcDbDimArrowType.js.map +1 -1
- package/lib/misc/AcDbObjectIterator.d.ts +42 -3
- package/lib/misc/AcDbObjectIterator.d.ts.map +1 -1
- package/lib/misc/AcDbObjectIterator.js +42 -3
- package/lib/misc/AcDbObjectIterator.js.map +1 -1
- package/lib/misc/AcDbOsnapMode.d.ts +18 -10
- package/lib/misc/AcDbOsnapMode.d.ts.map +1 -1
- package/lib/misc/AcDbOsnapMode.js +18 -10
- package/lib/misc/AcDbOsnapMode.js.map +1 -1
- package/lib/misc/AcDbRenderingCache.d.ts +107 -29
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
- package/lib/misc/AcDbRenderingCache.js +105 -29
- package/lib/misc/AcDbRenderingCache.js.map +1 -1
- package/lib/misc/AcDbUnitsValue.d.ts +58 -8
- package/lib/misc/AcDbUnitsValue.d.ts.map +1 -1
- package/lib/misc/AcDbUnitsValue.js +58 -8
- package/lib/misc/AcDbUnitsValue.js.map +1 -1
- package/lib/object/AcDbDictionary.d.ts +128 -30
- package/lib/object/AcDbDictionary.d.ts.map +1 -1
- package/lib/object/AcDbDictionary.js +126 -30
- package/lib/object/AcDbDictionary.js.map +1 -1
- package/lib/object/AcDbRasterImageDef.d.ts +38 -9
- package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
- package/lib/object/AcDbRasterImageDef.js +37 -9
- package/lib/object/AcDbRasterImageDef.js.map +1 -1
- package/lib/object/layout/AcDbLayout.d.ts +152 -13
- package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayout.js +146 -13
- package/lib/object/layout/AcDbLayout.js.map +1 -1
- package/lib/object/layout/AcDbLayoutDictionary.d.ts +35 -7
- package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayoutDictionary.js +35 -7
- package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -1
- package/lib/object/layout/AcDbLayoutManager.d.ts +103 -31
- package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayoutManager.js +98 -31
- package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
- package/package.json +4 -4
package/lib/base/AcDbObject.js
CHANGED
|
@@ -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
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @param
|
|
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
|
-
*
|
|
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
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
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
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* @param
|
|
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
|
-
*
|
|
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
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
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.
|
|
106
|
-
*
|
|
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;
|
|
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
|
-
*
|
|
4
|
-
*
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
39
|
-
*
|
|
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
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* @param
|
|
48
|
-
* @param
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA
|
|
1
|
+
{"version":3,"file":"AcDbBatchProcessing.js","sourceRoot":"","sources":["../../src/converter/AcDbBatchProcessing.ts"],"names":[],"mappings":"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"}
|