@mlightcad/data-model 1.3.3 → 1.3.5
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.cjs +5 -0
- package/dist/data-model.js +25995 -0
- package/dist/dxf-parser-worker.js +1715 -0
- package/lib/base/AcDbHostApplicationServices.d.ts +96 -0
- package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -0
- package/lib/base/AcDbHostApplicationServices.js +118 -0
- package/lib/base/AcDbHostApplicationServices.js.map +1 -0
- package/lib/base/AcDbObject.d.ts +205 -0
- package/lib/base/AcDbObject.d.ts.map +1 -0
- package/lib/base/AcDbObject.js +236 -0
- package/lib/base/AcDbObject.js.map +1 -0
- package/lib/base/index.d.ts +3 -0
- package/lib/base/index.d.ts.map +1 -0
- package/lib/base/index.js +3 -0
- package/lib/base/index.js.map +1 -0
- package/lib/converter/AcDbBatchProcessing.d.ts +146 -0
- package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -0
- package/lib/converter/AcDbBatchProcessing.js +272 -0
- package/lib/converter/AcDbBatchProcessing.js.map +1 -0
- package/lib/converter/AcDbDxfConverter.d.ts +272 -0
- package/lib/converter/AcDbDxfConverter.d.ts.map +1 -0
- package/lib/converter/AcDbDxfConverter.js +883 -0
- package/lib/converter/AcDbDxfConverter.js.map +1 -0
- package/lib/converter/AcDbDxfParser.d.ts +23 -0
- package/lib/converter/AcDbDxfParser.d.ts.map +1 -0
- package/lib/converter/AcDbDxfParser.js +85 -0
- package/lib/converter/AcDbDxfParser.js.map +1 -0
- package/lib/converter/AcDbEntitiyConverter.d.ts +160 -0
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -0
- package/lib/converter/AcDbEntitiyConverter.js +708 -0
- package/lib/converter/AcDbEntitiyConverter.js.map +1 -0
- package/lib/converter/AcDbObjectConverter.d.ts +61 -0
- package/lib/converter/AcDbObjectConverter.d.ts.map +1 -0
- package/lib/converter/AcDbObjectConverter.js +91 -0
- package/lib/converter/AcDbObjectConverter.js.map +1 -0
- package/lib/converter/AcDbRegenerator.d.ts +101 -0
- package/lib/converter/AcDbRegenerator.d.ts.map +1 -0
- package/lib/converter/AcDbRegenerator.js +334 -0
- package/lib/converter/AcDbRegenerator.js.map +1 -0
- package/lib/converter/index.d.ts +5 -0
- package/lib/converter/index.d.ts.map +1 -0
- package/lib/converter/index.js +5 -0
- package/lib/converter/index.js.map +1 -0
- package/lib/converter/worker/AcDbBaseWorker.d.ts +36 -0
- package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -0
- package/lib/converter/worker/AcDbBaseWorker.js +93 -0
- package/lib/converter/worker/AcDbBaseWorker.js.map +1 -0
- package/lib/converter/worker/AcDbDxfParserWorker.d.ts +11 -0
- package/lib/converter/worker/AcDbDxfParserWorker.d.ts.map +1 -0
- package/lib/converter/worker/AcDbDxfParserWorker.js +75 -0
- package/lib/converter/worker/AcDbDxfParserWorker.js.map +1 -0
- package/lib/converter/worker/AcDbWorkerManager.d.ts +107 -0
- package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -0
- package/lib/converter/worker/AcDbWorkerManager.js +360 -0
- package/lib/converter/worker/AcDbWorkerManager.js.map +1 -0
- package/lib/converter/worker/index.d.ts +3 -0
- package/lib/converter/worker/index.d.ts.map +1 -0
- package/lib/converter/worker/index.js +3 -0
- package/lib/converter/worker/index.js.map +1 -0
- package/lib/database/AcDbBlockTable.d.ts +56 -0
- package/lib/database/AcDbBlockTable.d.ts.map +1 -0
- package/lib/database/AcDbBlockTable.js +98 -0
- package/lib/database/AcDbBlockTable.js.map +1 -0
- package/lib/database/AcDbBlockTableRecord.d.ts +185 -0
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbBlockTableRecord.js +261 -0
- package/lib/database/AcDbBlockTableRecord.js.map +1 -0
- package/lib/database/AcDbDatabase.d.ts +563 -0
- package/lib/database/AcDbDatabase.d.ts.map +1 -0
- package/lib/database/AcDbDatabase.js +842 -0
- package/lib/database/AcDbDatabase.js.map +1 -0
- package/lib/database/AcDbDatabaseConverter.d.ts +292 -0
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -0
- package/lib/database/AcDbDatabaseConverter.js +448 -0
- package/lib/database/AcDbDatabaseConverter.js.map +1 -0
- package/lib/database/AcDbDatabaseConverterManager.d.ts +141 -0
- package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -0
- package/lib/database/AcDbDatabaseConverterManager.js +173 -0
- package/lib/database/AcDbDatabaseConverterManager.js.map +1 -0
- package/lib/database/AcDbDimStyleTable.d.ts +31 -0
- package/lib/database/AcDbDimStyleTable.d.ts.map +1 -0
- package/lib/database/AcDbDimStyleTable.js +49 -0
- package/lib/database/AcDbDimStyleTable.js.map +1 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts +797 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbDimStyleTableRecord.js +1294 -0
- package/lib/database/AcDbDimStyleTableRecord.js.map +1 -0
- package/lib/database/AcDbDwgVersion.d.ts +32 -0
- package/lib/database/AcDbDwgVersion.d.ts.map +1 -0
- package/lib/database/AcDbDwgVersion.js +126 -0
- package/lib/database/AcDbDwgVersion.js.map +1 -0
- package/lib/database/AcDbLayerTable.d.ts +51 -0
- package/lib/database/AcDbLayerTable.d.ts.map +1 -0
- package/lib/database/AcDbLayerTable.js +92 -0
- package/lib/database/AcDbLayerTable.js.map +1 -0
- package/lib/database/AcDbLayerTableRecord.d.ts +278 -0
- package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbLayerTableRecord.js +397 -0
- package/lib/database/AcDbLayerTableRecord.js.map +1 -0
- package/lib/database/AcDbLinetypeTable.d.ts +30 -0
- package/lib/database/AcDbLinetypeTable.d.ts.map +1 -0
- package/lib/database/AcDbLinetypeTable.js +48 -0
- package/lib/database/AcDbLinetypeTable.js.map +1 -0
- package/lib/database/AcDbLinetypeTableRecord.d.ts +79 -0
- package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbLinetypeTableRecord.js +129 -0
- package/lib/database/AcDbLinetypeTableRecord.js.map +1 -0
- package/lib/database/AcDbSymbolTable.d.ts +199 -0
- package/lib/database/AcDbSymbolTable.d.ts.map +1 -0
- package/lib/database/AcDbSymbolTable.js +264 -0
- package/lib/database/AcDbSymbolTable.js.map +1 -0
- package/lib/database/AcDbSymbolTableRecord.d.ts +61 -0
- package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbSymbolTableRecord.js +82 -0
- package/lib/database/AcDbSymbolTableRecord.js.map +1 -0
- package/lib/database/AcDbTextStyleTable.d.ts +48 -0
- package/lib/database/AcDbTextStyleTable.d.ts.map +1 -0
- package/lib/database/AcDbTextStyleTable.js +112 -0
- package/lib/database/AcDbTextStyleTable.js.map +1 -0
- package/lib/database/AcDbTextStyleTableRecord.d.ts +179 -0
- package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbTextStyleTableRecord.js +276 -0
- package/lib/database/AcDbTextStyleTableRecord.js.map +1 -0
- package/lib/database/AcDbViewportTable.d.ts +31 -0
- package/lib/database/AcDbViewportTable.d.ts.map +1 -0
- package/lib/database/AcDbViewportTable.js +49 -0
- package/lib/database/AcDbViewportTable.js.map +1 -0
- package/lib/database/AcDbViewportTableRecord.d.ts +154 -0
- package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbViewportTableRecord.js +318 -0
- package/lib/database/AcDbViewportTableRecord.js.map +1 -0
- package/lib/database/index.d.ts +19 -0
- package/lib/database/index.d.ts.map +1 -0
- package/lib/database/index.js +19 -0
- package/lib/database/index.js.map +1 -0
- package/lib/entity/AcDb2dPolyline.d.ts +146 -0
- package/lib/entity/AcDb2dPolyline.d.ts.map +1 -0
- package/lib/entity/AcDb2dPolyline.js +220 -0
- package/lib/entity/AcDb2dPolyline.js.map +1 -0
- package/lib/entity/AcDb2dVertex.d.ts +143 -0
- package/lib/entity/AcDb2dVertex.d.ts.map +1 -0
- package/lib/entity/AcDb2dVertex.js +210 -0
- package/lib/entity/AcDb2dVertex.js.map +1 -0
- package/lib/entity/AcDb3dPolyline.d.ts +102 -0
- package/lib/entity/AcDb3dPolyline.d.ts.map +1 -0
- package/lib/entity/AcDb3dPolyline.js +158 -0
- package/lib/entity/AcDb3dPolyline.js.map +1 -0
- package/lib/entity/AcDb3dVertex.d.ts +83 -0
- package/lib/entity/AcDb3dVertex.d.ts.map +1 -0
- package/lib/entity/AcDb3dVertex.js +133 -0
- package/lib/entity/AcDb3dVertex.js.map +1 -0
- package/lib/entity/AcDbArc.d.ts +254 -0
- package/lib/entity/AcDbArc.d.ts.map +1 -0
- package/lib/entity/AcDbArc.js +340 -0
- package/lib/entity/AcDbArc.js.map +1 -0
- package/lib/entity/AcDbBlockReference.d.ts +190 -0
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -0
- package/lib/entity/AcDbBlockReference.js +302 -0
- package/lib/entity/AcDbBlockReference.js.map +1 -0
- package/lib/entity/AcDbCircle.d.ts +186 -0
- package/lib/entity/AcDbCircle.d.ts.map +1 -0
- package/lib/entity/AcDbCircle.js +249 -0
- package/lib/entity/AcDbCircle.js.map +1 -0
- package/lib/entity/AcDbCurve.d.ts +42 -0
- package/lib/entity/AcDbCurve.d.ts.map +1 -0
- package/lib/entity/AcDbCurve.js +44 -0
- package/lib/entity/AcDbCurve.js.map +1 -0
- package/lib/entity/AcDbEllipse.d.ts +207 -0
- package/lib/entity/AcDbEllipse.d.ts.map +1 -0
- package/lib/entity/AcDbEllipse.js +272 -0
- package/lib/entity/AcDbEllipse.js.map +1 -0
- package/lib/entity/AcDbEntity.d.ts +385 -0
- package/lib/entity/AcDbEntity.d.ts.map +1 -0
- package/lib/entity/AcDbEntity.js +561 -0
- package/lib/entity/AcDbEntity.js.map +1 -0
- package/lib/entity/AcDbFace.d.ts +151 -0
- package/lib/entity/AcDbFace.d.ts.map +1 -0
- package/lib/entity/AcDbFace.js +224 -0
- package/lib/entity/AcDbFace.js.map +1 -0
- package/lib/entity/AcDbHatch.d.ts +174 -0
- package/lib/entity/AcDbHatch.d.ts.map +1 -0
- package/lib/entity/AcDbHatch.js +250 -0
- package/lib/entity/AcDbHatch.js.map +1 -0
- package/lib/entity/AcDbLeader.d.ts +243 -0
- package/lib/entity/AcDbLeader.d.ts.map +1 -0
- package/lib/entity/AcDbLeader.js +358 -0
- package/lib/entity/AcDbLeader.js.map +1 -0
- package/lib/entity/AcDbLine.d.ts +198 -0
- package/lib/entity/AcDbLine.d.ts.map +1 -0
- package/lib/entity/AcDbLine.js +300 -0
- package/lib/entity/AcDbLine.js.map +1 -0
- package/lib/entity/AcDbMText.d.ts +248 -0
- package/lib/entity/AcDbMText.d.ts.map +1 -0
- package/lib/entity/AcDbMText.js +414 -0
- package/lib/entity/AcDbMText.js.map +1 -0
- package/lib/entity/AcDbPoint.d.ts +113 -0
- package/lib/entity/AcDbPoint.d.ts.map +1 -0
- package/lib/entity/AcDbPoint.js +155 -0
- package/lib/entity/AcDbPoint.js.map +1 -0
- package/lib/entity/AcDbPolyline.d.ts +221 -0
- package/lib/entity/AcDbPolyline.d.ts.map +1 -0
- package/lib/entity/AcDbPolyline.js +301 -0
- package/lib/entity/AcDbPolyline.js.map +1 -0
- package/lib/entity/AcDbRasterImage.d.ts +216 -0
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -0
- package/lib/entity/AcDbRasterImage.js +451 -0
- package/lib/entity/AcDbRasterImage.js.map +1 -0
- package/lib/entity/AcDbRay.d.ts +150 -0
- package/lib/entity/AcDbRay.d.ts.map +1 -0
- package/lib/entity/AcDbRay.js +208 -0
- package/lib/entity/AcDbRay.js.map +1 -0
- package/lib/entity/AcDbSpline.d.ts +135 -0
- package/lib/entity/AcDbSpline.d.ts.map +1 -0
- package/lib/entity/AcDbSpline.js +142 -0
- package/lib/entity/AcDbSpline.js.map +1 -0
- package/lib/entity/AcDbTable.d.ts +260 -0
- package/lib/entity/AcDbTable.d.ts.map +1 -0
- package/lib/entity/AcDbTable.js +452 -0
- package/lib/entity/AcDbTable.js.map +1 -0
- package/lib/entity/AcDbText.d.ts +388 -0
- package/lib/entity/AcDbText.d.ts.map +1 -0
- package/lib/entity/AcDbText.js +523 -0
- package/lib/entity/AcDbText.js.map +1 -0
- package/lib/entity/AcDbTrace.d.ts +193 -0
- package/lib/entity/AcDbTrace.d.ts.map +1 -0
- package/lib/entity/AcDbTrace.js +271 -0
- package/lib/entity/AcDbTrace.js.map +1 -0
- package/lib/entity/AcDbViewport.d.ts +173 -0
- package/lib/entity/AcDbViewport.d.ts.map +1 -0
- package/lib/entity/AcDbViewport.js +295 -0
- package/lib/entity/AcDbViewport.js.map +1 -0
- package/lib/entity/AcDbWipeout.d.ts +39 -0
- package/lib/entity/AcDbWipeout.d.ts.map +1 -0
- package/lib/entity/AcDbWipeout.js +70 -0
- package/lib/entity/AcDbWipeout.js.map +1 -0
- package/lib/entity/AcDbXline.d.ts +151 -0
- package/lib/entity/AcDbXline.d.ts.map +1 -0
- package/lib/entity/AcDbXline.js +209 -0
- package/lib/entity/AcDbXline.js.map +1 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +92 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.js +157 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts +220 -0
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbAlignedDimension.js +341 -0
- package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbArcDimension.d.ts +94 -0
- package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbArcDimension.js +159 -0
- package/lib/entity/dimension/AcDbArcDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts +145 -0
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbDiametricDimension.js +275 -0
- package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbDimension.d.ts +257 -0
- package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbDimension.js +466 -0
- package/lib/entity/dimension/AcDbDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +78 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.js +133 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbRadialDimension.d.ts +214 -0
- package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbRadialDimension.js +288 -0
- package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -0
- package/lib/entity/dimension/index.d.ts +8 -0
- package/lib/entity/dimension/index.d.ts.map +1 -0
- package/lib/entity/dimension/index.js +8 -0
- package/lib/entity/dimension/index.js.map +1 -0
- package/lib/entity/index.d.ts +28 -0
- package/lib/entity/index.d.ts.map +1 -0
- package/lib/entity/index.js +28 -0
- package/lib/entity/index.js.map +1 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -0
- package/lib/misc/AcDbAngleUnits.d.ts +20 -0
- package/lib/misc/AcDbAngleUnits.d.ts.map +1 -0
- package/lib/misc/AcDbAngleUnits.js +21 -0
- package/lib/misc/AcDbAngleUnits.js.map +1 -0
- package/lib/misc/AcDbCodePage.d.ts +50 -0
- package/lib/misc/AcDbCodePage.d.ts.map +1 -0
- package/lib/misc/AcDbCodePage.js +100 -0
- package/lib/misc/AcDbCodePage.js.map +1 -0
- package/lib/misc/AcDbConstants.d.ts +24 -0
- package/lib/misc/AcDbConstants.d.ts.map +1 -0
- package/lib/misc/AcDbConstants.js +24 -0
- package/lib/misc/AcDbConstants.js.map +1 -0
- package/lib/misc/AcDbDimArrowType.d.ts +89 -0
- package/lib/misc/AcDbDimArrowType.d.ts.map +1 -0
- package/lib/misc/AcDbDimArrowType.js +90 -0
- package/lib/misc/AcDbDimArrowType.js.map +1 -0
- package/lib/misc/AcDbObjectIterator.d.ts +64 -0
- package/lib/misc/AcDbObjectIterator.d.ts.map +1 -0
- package/lib/misc/AcDbObjectIterator.js +84 -0
- package/lib/misc/AcDbObjectIterator.js.map +1 -0
- package/lib/misc/AcDbOsnapMode.d.ts +51 -0
- package/lib/misc/AcDbOsnapMode.d.ts.map +1 -0
- package/lib/misc/AcDbOsnapMode.js +52 -0
- package/lib/misc/AcDbOsnapMode.js.map +1 -0
- package/lib/misc/AcDbRenderingCache.d.ts +141 -0
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -0
- package/lib/misc/AcDbRenderingCache.js +239 -0
- package/lib/misc/AcDbRenderingCache.js.map +1 -0
- package/lib/misc/AcDbUnitsValue.d.ts +101 -0
- package/lib/misc/AcDbUnitsValue.d.ts.map +1 -0
- package/lib/misc/AcDbUnitsValue.js +121 -0
- package/lib/misc/AcDbUnitsValue.js.map +1 -0
- package/lib/misc/index.d.ts +9 -0
- package/lib/misc/index.d.ts.map +1 -0
- package/lib/misc/index.js +9 -0
- package/lib/misc/index.js.map +1 -0
- package/lib/object/AcDbDictionary.d.ts +178 -0
- package/lib/object/AcDbDictionary.d.ts.map +1 -0
- package/lib/object/AcDbDictionary.js +264 -0
- package/lib/object/AcDbDictionary.js.map +1 -0
- package/lib/object/AcDbRasterImageDef.d.ts +54 -0
- package/lib/object/AcDbRasterImageDef.d.ts.map +1 -0
- package/lib/object/AcDbRasterImageDef.js +82 -0
- package/lib/object/AcDbRasterImageDef.js.map +1 -0
- package/lib/object/index.d.ts +4 -0
- package/lib/object/index.d.ts.map +1 -0
- package/lib/object/index.js +4 -0
- package/lib/object/index.js.map +1 -0
- package/lib/object/layout/AcDbLayout.d.ts +190 -0
- package/lib/object/layout/AcDbLayout.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayout.js +253 -0
- package/lib/object/layout/AcDbLayout.js.map +1 -0
- package/lib/object/layout/AcDbLayoutDictionary.d.ts +47 -0
- package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayoutDictionary.js +122 -0
- package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -0
- package/lib/object/layout/AcDbLayoutManager.d.ts +188 -0
- package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayoutManager.js +245 -0
- package/lib/object/layout/AcDbLayoutManager.js.map +1 -0
- package/lib/object/layout/index.d.ts +4 -0
- package/lib/object/layout/index.d.ts.map +1 -0
- package/lib/object/layout/index.js +4 -0
- package/lib/object/layout/index.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
type AcDbChunkProcessingCallback = (start: number, end: number) => Promise<void>;
|
|
2
|
+
/**
|
|
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
|
|
6
|
+
* time-consuming task is broken into smaller pieces and executed in small intervals to allow
|
|
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
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare class AcDbBatchProcessing {
|
|
21
|
+
/** Total number of items to process */
|
|
22
|
+
private _count;
|
|
23
|
+
/** Number of chunks to process */
|
|
24
|
+
private _numerOfChunk;
|
|
25
|
+
/** Number of items in one chunk */
|
|
26
|
+
private _chunkSize;
|
|
27
|
+
/** Minimum number of items in one chunk */
|
|
28
|
+
private _minimumChunkSize;
|
|
29
|
+
/**
|
|
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
|
|
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
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
constructor(count: number, numerOfChunk: number, minimumChunkSize: number);
|
|
43
|
+
/**
|
|
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
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
get count(): number;
|
|
54
|
+
/**
|
|
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
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
get numerOfChunk(): number;
|
|
65
|
+
/**
|
|
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
|
+
* ```
|
|
74
|
+
*/
|
|
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
|
+
*/
|
|
86
|
+
set minimumChunkSize(value: number);
|
|
87
|
+
/**
|
|
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
|
+
* ```
|
|
96
|
+
*/
|
|
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
|
+
*/
|
|
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
|
+
* @returns Promise that resolves when the task completes
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* await batchProcessor.scheduleTask(async () => {
|
|
119
|
+
* // Task to be executed asynchronously
|
|
120
|
+
* });
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
private scheduleTask;
|
|
124
|
+
/**
|
|
125
|
+
* Processes items in chunks using the provided callback function.
|
|
126
|
+
*
|
|
127
|
+
* This method breaks up the work into chunks and processes each chunk
|
|
128
|
+
* asynchronously, allowing the UI to remain responsive.
|
|
129
|
+
*
|
|
130
|
+
* @param callback - The callback function to execute for each chunk
|
|
131
|
+
* @returns Promise that resolves when all chunks have been processed
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* await batchProcessor.processChunk(async (start, end) => {
|
|
136
|
+
* for (let i = start; i < end; i++) {
|
|
137
|
+
* // Process item i
|
|
138
|
+
* await processItem(i);
|
|
139
|
+
* }
|
|
140
|
+
* });
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
processChunk(callback: AcDbChunkProcessingCallback): Promise<void>;
|
|
144
|
+
}
|
|
145
|
+
export {};
|
|
146
|
+
//# sourceMappingURL=AcDbBatchProcessing.d.ts.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;;;;;;;;;;;;;;;;OAkBG;IACU,YAAY,CAAC,QAAQ,EAAE,2BAA2B;CAqBhE"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
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
|
|
41
|
+
* time-consuming task is broken into smaller pieces and executed in small intervals to allow
|
|
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
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
var AcDbBatchProcessing = /** @class */ (function () {
|
|
56
|
+
/**
|
|
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
|
|
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
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
function AcDbBatchProcessing(count, numerOfChunk, minimumChunkSize) {
|
|
70
|
+
/** Number of items in one chunk */
|
|
71
|
+
this._chunkSize = -1;
|
|
72
|
+
/** Minimum number of items in one chunk */
|
|
73
|
+
this._minimumChunkSize = 50;
|
|
74
|
+
this._count = count;
|
|
75
|
+
this._numerOfChunk = numerOfChunk < 1 ? 1 : numerOfChunk;
|
|
76
|
+
this._minimumChunkSize = minimumChunkSize;
|
|
77
|
+
this.calculateChunkSize();
|
|
78
|
+
}
|
|
79
|
+
Object.defineProperty(AcDbBatchProcessing.prototype, "count", {
|
|
80
|
+
/**
|
|
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
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
get: function () {
|
|
91
|
+
return this._count;
|
|
92
|
+
},
|
|
93
|
+
enumerable: false,
|
|
94
|
+
configurable: true
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(AcDbBatchProcessing.prototype, "numerOfChunk", {
|
|
97
|
+
/**
|
|
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
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
get: function () {
|
|
108
|
+
return this._numerOfChunk;
|
|
109
|
+
},
|
|
110
|
+
enumerable: false,
|
|
111
|
+
configurable: true
|
|
112
|
+
});
|
|
113
|
+
Object.defineProperty(AcDbBatchProcessing.prototype, "minimumChunkSize", {
|
|
114
|
+
/**
|
|
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
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
get: function () {
|
|
125
|
+
return this._minimumChunkSize;
|
|
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
|
+
*/
|
|
137
|
+
set: function (value) {
|
|
138
|
+
this._minimumChunkSize = value;
|
|
139
|
+
this.calculateChunkSize();
|
|
140
|
+
},
|
|
141
|
+
enumerable: false,
|
|
142
|
+
configurable: true
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(AcDbBatchProcessing.prototype, "chunkSize", {
|
|
145
|
+
/**
|
|
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
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
get: function () {
|
|
156
|
+
return this._chunkSize;
|
|
157
|
+
},
|
|
158
|
+
enumerable: false,
|
|
159
|
+
configurable: true
|
|
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
|
+
*/
|
|
169
|
+
AcDbBatchProcessing.prototype.calculateChunkSize = function () {
|
|
170
|
+
var demicalChunkSize = this._count / this._numerOfChunk;
|
|
171
|
+
if (demicalChunkSize < this._minimumChunkSize) {
|
|
172
|
+
demicalChunkSize = Math.min(this._minimumChunkSize, this._count);
|
|
173
|
+
}
|
|
174
|
+
this._chunkSize =
|
|
175
|
+
demicalChunkSize < 1 ? this._count : Math.floor(demicalChunkSize);
|
|
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
|
+
* @returns Promise that resolves when the task completes
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```typescript
|
|
188
|
+
* await batchProcessor.scheduleTask(async () => {
|
|
189
|
+
* // Task to be executed asynchronously
|
|
190
|
+
* });
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
AcDbBatchProcessing.prototype.scheduleTask = function (callback) {
|
|
194
|
+
return new Promise(function (resolve, reject) {
|
|
195
|
+
var executeCallback = function () {
|
|
196
|
+
// Execute the callback and handle the result
|
|
197
|
+
Promise.resolve(callback()).then(resolve).catch(reject);
|
|
198
|
+
};
|
|
199
|
+
if (typeof window !== 'undefined' &&
|
|
200
|
+
typeof window.requestAnimationFrame === 'function') {
|
|
201
|
+
// Browser environment with requestAnimationFrame
|
|
202
|
+
window.requestAnimationFrame(executeCallback);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
// Node.js or fallback to setTimeout
|
|
206
|
+
setTimeout(executeCallback, 0);
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Processes items in chunks using the provided callback function.
|
|
212
|
+
*
|
|
213
|
+
* This method breaks up the work into chunks and processes each chunk
|
|
214
|
+
* asynchronously, allowing the UI to remain responsive.
|
|
215
|
+
*
|
|
216
|
+
* @param callback - The callback function to execute for each chunk
|
|
217
|
+
* @returns Promise that resolves when all chunks have been processed
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```typescript
|
|
221
|
+
* await batchProcessor.processChunk(async (start, end) => {
|
|
222
|
+
* for (let i = start; i < end; i++) {
|
|
223
|
+
* // Process item i
|
|
224
|
+
* await processItem(i);
|
|
225
|
+
* }
|
|
226
|
+
* });
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
AcDbBatchProcessing.prototype.processChunk = function (callback) {
|
|
230
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
231
|
+
var currentIndex, processNextChunk;
|
|
232
|
+
var _this = this;
|
|
233
|
+
return __generator(this, function (_a) {
|
|
234
|
+
switch (_a.label) {
|
|
235
|
+
case 0:
|
|
236
|
+
currentIndex = 0;
|
|
237
|
+
processNextChunk = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
238
|
+
var start, end;
|
|
239
|
+
return __generator(this, function (_a) {
|
|
240
|
+
switch (_a.label) {
|
|
241
|
+
case 0:
|
|
242
|
+
start = currentIndex;
|
|
243
|
+
end = Math.min(currentIndex + this._chunkSize, this._count);
|
|
244
|
+
// Call the provided callback with the chunk's range
|
|
245
|
+
return [4 /*yield*/, callback(start, end)];
|
|
246
|
+
case 1:
|
|
247
|
+
// Call the provided callback with the chunk's range
|
|
248
|
+
_a.sent();
|
|
249
|
+
currentIndex = end;
|
|
250
|
+
if (!(currentIndex < this._count)) return [3 /*break*/, 3];
|
|
251
|
+
return [4 /*yield*/, this.scheduleTask(processNextChunk)]; // Schedule the next chunk to be processed asynchronously
|
|
252
|
+
case 2:
|
|
253
|
+
_a.sent(); // Schedule the next chunk to be processed asynchronously
|
|
254
|
+
_a.label = 3;
|
|
255
|
+
case 3: return [2 /*return*/];
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
}); };
|
|
259
|
+
// Start processing the first chunk and wait for all chunks to complete
|
|
260
|
+
return [4 /*yield*/, processNextChunk()];
|
|
261
|
+
case 1:
|
|
262
|
+
// Start processing the first chunk and wait for all chunks to complete
|
|
263
|
+
_a.sent();
|
|
264
|
+
return [2 /*return*/];
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
});
|
|
268
|
+
};
|
|
269
|
+
return AcDbBatchProcessing;
|
|
270
|
+
}());
|
|
271
|
+
export { AcDbBatchProcessing };
|
|
272
|
+
//# sourceMappingURL=AcDbBatchProcessing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbBatchProcessing.js","sourceRoot":"","sources":["../../src/converter/AcDbBatchProcessing.ts"],"names":[],"mappings":"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"}
|