@mlightcad/data-model 1.0.0
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/LICENSE +21 -0
- package/README.md +116 -0
- package/dist/data-model.js +19887 -0
- package/dist/data-model.umd.cjs +5 -0
- package/lib/base/AcDbHostApplicationServices.d.ts +30 -0
- package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -0
- package/lib/base/AcDbHostApplicationServices.js +54 -0
- package/lib/base/AcDbHostApplicationServices.js.map +1 -0
- package/lib/base/AcDbObject.d.ts +70 -0
- package/lib/base/AcDbObject.d.ts.map +1 -0
- package/lib/base/AcDbObject.js +113 -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 +43 -0
- package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -0
- package/lib/converter/AcDbBatchProcessing.js +165 -0
- package/lib/converter/AcDbBatchProcessing.js.map +1 -0
- package/lib/converter/AcDbDxfConverter.d.ts +39 -0
- package/lib/converter/AcDbDxfConverter.d.ts.map +1 -0
- package/lib/converter/AcDbDxfConverter.js +567 -0
- package/lib/converter/AcDbDxfConverter.js.map +1 -0
- package/lib/converter/AcDbDxfParseWorker.d.ts +2 -0
- package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -0
- package/lib/converter/AcDbDxfParseWorker.js +6 -0
- package/lib/converter/AcDbDxfParseWorker.js.map +1 -0
- package/lib/converter/AcDbEntitiyConverter.d.ts +36 -0
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -0
- package/lib/converter/AcDbEntitiyConverter.js +491 -0
- package/lib/converter/AcDbEntitiyConverter.js.map +1 -0
- package/lib/converter/AcDbObjectConverter.d.ts +9 -0
- package/lib/converter/AcDbObjectConverter.d.ts.map +1 -0
- package/lib/converter/AcDbObjectConverter.js +30 -0
- package/lib/converter/AcDbObjectConverter.js.map +1 -0
- package/lib/converter/index.d.ts +3 -0
- package/lib/converter/index.d.ts.map +1 -0
- package/lib/converter/index.js +3 -0
- package/lib/converter/index.js.map +1 -0
- package/lib/database/AcDbBlockTable.d.ts +15 -0
- package/lib/database/AcDbBlockTable.d.ts.map +1 -0
- package/lib/database/AcDbBlockTable.js +46 -0
- package/lib/database/AcDbBlockTable.js.map +1 -0
- package/lib/database/AcDbBlockTableRecord.d.ts +49 -0
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbBlockTableRecord.js +108 -0
- package/lib/database/AcDbBlockTableRecord.js.map +1 -0
- package/lib/database/AcDbDatabase.d.ts +211 -0
- package/lib/database/AcDbDatabase.d.ts.map +1 -0
- package/lib/database/AcDbDatabase.js +395 -0
- package/lib/database/AcDbDatabase.js.map +1 -0
- package/lib/database/AcDbDatabaseConverter.d.ts +120 -0
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -0
- package/lib/database/AcDbDatabaseConverter.js +376 -0
- package/lib/database/AcDbDatabaseConverter.js.map +1 -0
- package/lib/database/AcDbDatabaseConverterManager.d.ts +59 -0
- package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -0
- package/lib/database/AcDbDatabaseConverterManager.js +98 -0
- package/lib/database/AcDbDatabaseConverterManager.js.map +1 -0
- package/lib/database/AcDbDatabaseConverterRegister.d.ts +54 -0
- package/lib/database/AcDbDatabaseConverterRegister.d.ts.map +1 -0
- package/lib/database/AcDbDatabaseConverterRegister.js +84 -0
- package/lib/database/AcDbDatabaseConverterRegister.js.map +1 -0
- package/lib/database/AcDbDimStyleTable.d.ts +11 -0
- package/lib/database/AcDbDimStyleTable.d.ts.map +1 -0
- package/lib/database/AcDbDimStyleTable.js +29 -0
- package/lib/database/AcDbDimStyleTable.js.map +1 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts +682 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbDimStyleTableRecord.js +1250 -0
- package/lib/database/AcDbDimStyleTableRecord.js.map +1 -0
- package/lib/database/AcDbLayerTable.d.ts +14 -0
- package/lib/database/AcDbLayerTable.d.ts.map +1 -0
- package/lib/database/AcDbLayerTable.js +55 -0
- package/lib/database/AcDbLayerTable.js.map +1 -0
- package/lib/database/AcDbLayerTableRecord.d.ts +98 -0
- package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbLayerTableRecord.js +235 -0
- package/lib/database/AcDbLayerTableRecord.js.map +1 -0
- package/lib/database/AcDbLinetypeTable.d.ts +11 -0
- package/lib/database/AcDbLinetypeTable.d.ts.map +1 -0
- package/lib/database/AcDbLinetypeTable.js +29 -0
- package/lib/database/AcDbLinetypeTable.js.map +1 -0
- package/lib/database/AcDbLinetypeTableRecord.d.ts +47 -0
- package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbLinetypeTableRecord.js +97 -0
- package/lib/database/AcDbLinetypeTableRecord.js.map +1 -0
- package/lib/database/AcDbSymbolTable.d.ts +74 -0
- package/lib/database/AcDbSymbolTable.d.ts.map +1 -0
- package/lib/database/AcDbSymbolTable.js +136 -0
- package/lib/database/AcDbSymbolTable.js.map +1 -0
- package/lib/database/AcDbSymbolTableRecord.d.ts +16 -0
- package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbSymbolTableRecord.js +44 -0
- package/lib/database/AcDbSymbolTableRecord.js.map +1 -0
- package/lib/database/AcDbTextStyleTable.d.ts +14 -0
- package/lib/database/AcDbTextStyleTable.d.ts.map +1 -0
- package/lib/database/AcDbTextStyleTable.js +78 -0
- package/lib/database/AcDbTextStyleTable.js.map +1 -0
- package/lib/database/AcDbTextStyleTableRecord.d.ts +67 -0
- package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbTextStyleTableRecord.js +166 -0
- package/lib/database/AcDbTextStyleTableRecord.js.map +1 -0
- package/lib/database/AcDbViewportTable.d.ts +11 -0
- package/lib/database/AcDbViewportTable.d.ts.map +1 -0
- package/lib/database/AcDbViewportTable.js +29 -0
- package/lib/database/AcDbViewportTable.js.map +1 -0
- package/lib/database/AcDbViewportTableRecord.d.ts +89 -0
- package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbViewportTableRecord.js +262 -0
- package/lib/database/AcDbViewportTableRecord.js.map +1 -0
- package/lib/database/index.d.ts +18 -0
- package/lib/database/index.d.ts.map +1 -0
- package/lib/database/index.js +18 -0
- package/lib/database/index.js.map +1 -0
- package/lib/entity/AcDbArc.d.ts +67 -0
- package/lib/entity/AcDbArc.d.ts.map +1 -0
- package/lib/entity/AcDbArc.js +154 -0
- package/lib/entity/AcDbArc.js.map +1 -0
- package/lib/entity/AcDbBlockReference.d.ts +54 -0
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -0
- package/lib/entity/AcDbBlockReference.js +168 -0
- package/lib/entity/AcDbBlockReference.js.map +1 -0
- package/lib/entity/AcDbCircle.d.ts +51 -0
- package/lib/entity/AcDbCircle.d.ts.map +1 -0
- package/lib/entity/AcDbCircle.js +115 -0
- package/lib/entity/AcDbCircle.js.map +1 -0
- package/lib/entity/AcDbCurve.d.ts +9 -0
- package/lib/entity/AcDbCurve.d.ts.map +1 -0
- package/lib/entity/AcDbCurve.js +25 -0
- package/lib/entity/AcDbCurve.js.map +1 -0
- package/lib/entity/AcDbEllipse.d.ts +53 -0
- package/lib/entity/AcDbEllipse.d.ts.map +1 -0
- package/lib/entity/AcDbEllipse.js +119 -0
- package/lib/entity/AcDbEllipse.js.map +1 -0
- package/lib/entity/AcDbEntity.d.ts +103 -0
- package/lib/entity/AcDbEntity.d.ts.map +1 -0
- package/lib/entity/AcDbEntity.js +292 -0
- package/lib/entity/AcDbEntity.js.map +1 -0
- package/lib/entity/AcDbHatch.d.ts +116 -0
- package/lib/entity/AcDbHatch.d.ts.map +1 -0
- package/lib/entity/AcDbHatch.js +200 -0
- package/lib/entity/AcDbHatch.js.map +1 -0
- package/lib/entity/AcDbLeader.d.ts +94 -0
- package/lib/entity/AcDbLeader.d.ts.map +1 -0
- package/lib/entity/AcDbLeader.js +217 -0
- package/lib/entity/AcDbLeader.js.map +1 -0
- package/lib/entity/AcDbLine.d.ts +55 -0
- package/lib/entity/AcDbLine.d.ts.map +1 -0
- package/lib/entity/AcDbLine.js +158 -0
- package/lib/entity/AcDbLine.js.map +1 -0
- package/lib/entity/AcDbMText.d.ts +119 -0
- package/lib/entity/AcDbMText.d.ts.map +1 -0
- package/lib/entity/AcDbMText.js +300 -0
- package/lib/entity/AcDbMText.js.map +1 -0
- package/lib/entity/AcDbPoint.d.ts +32 -0
- package/lib/entity/AcDbPoint.d.ts.map +1 -0
- package/lib/entity/AcDbPoint.js +75 -0
- package/lib/entity/AcDbPoint.js.map +1 -0
- package/lib/entity/AcDbPolyline.d.ts +72 -0
- package/lib/entity/AcDbPolyline.d.ts.map +1 -0
- package/lib/entity/AcDbPolyline.js +154 -0
- package/lib/entity/AcDbPolyline.js.map +1 -0
- package/lib/entity/AcDbRasterImage.d.ts +163 -0
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -0
- package/lib/entity/AcDbRasterImage.js +406 -0
- package/lib/entity/AcDbRasterImage.js.map +1 -0
- package/lib/entity/AcDbRay.d.ts +42 -0
- package/lib/entity/AcDbRay.d.ts.map +1 -0
- package/lib/entity/AcDbRay.js +102 -0
- package/lib/entity/AcDbRay.js.map +1 -0
- package/lib/entity/AcDbSpline.d.ts +37 -0
- package/lib/entity/AcDbSpline.d.ts.map +1 -0
- package/lib/entity/AcDbSpline.js +71 -0
- package/lib/entity/AcDbSpline.js.map +1 -0
- package/lib/entity/AcDbTable.d.ts +141 -0
- package/lib/entity/AcDbTable.d.ts.map +1 -0
- package/lib/entity/AcDbTable.js +358 -0
- package/lib/entity/AcDbTable.js.map +1 -0
- package/lib/entity/AcDbText.d.ts +110 -0
- package/lib/entity/AcDbText.d.ts.map +1 -0
- package/lib/entity/AcDbText.js +255 -0
- package/lib/entity/AcDbText.js.map +1 -0
- package/lib/entity/AcDbTrace.d.ts +64 -0
- package/lib/entity/AcDbTrace.d.ts.map +1 -0
- package/lib/entity/AcDbTrace.js +145 -0
- package/lib/entity/AcDbTrace.js.map +1 -0
- package/lib/entity/AcDbViewport.d.ts +58 -0
- package/lib/entity/AcDbViewport.d.ts.map +1 -0
- package/lib/entity/AcDbViewport.js +179 -0
- package/lib/entity/AcDbViewport.js.map +1 -0
- package/lib/entity/AcDbWipeout.d.ts +9 -0
- package/lib/entity/AcDbWipeout.d.ts.map +1 -0
- package/lib/entity/AcDbWipeout.js +40 -0
- package/lib/entity/AcDbWipeout.js.map +1 -0
- package/lib/entity/AcDbXline.d.ts +42 -0
- package/lib/entity/AcDbXline.d.ts.map +1 -0
- package/lib/entity/AcDbXline.js +102 -0
- package/lib/entity/AcDbXline.js.map +1 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +46 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.js +111 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts +77 -0
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbAlignedDimension.js +203 -0
- package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbArcDimension.d.ts +46 -0
- package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbArcDimension.js +111 -0
- package/lib/entity/dimension/AcDbArcDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts +69 -0
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbDiametricDimension.js +199 -0
- package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbDimension.d.ts +161 -0
- package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbDimension.js +375 -0
- package/lib/entity/dimension/AcDbDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +44 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.js +99 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbRadialDimension.d.ts +69 -0
- package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbRadialDimension.js +148 -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 +23 -0
- package/lib/entity/index.d.ts.map +1 -0
- package/lib/entity/index.js +23 -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 +8 -0
- package/lib/misc/AcDbAngleUnits.d.ts.map +1 -0
- package/lib/misc/AcDbAngleUnits.js +9 -0
- package/lib/misc/AcDbAngleUnits.js.map +1 -0
- package/lib/misc/AcDbConstants.d.ts +4 -0
- package/lib/misc/AcDbConstants.d.ts.map +1 -0
- package/lib/misc/AcDbConstants.js +4 -0
- package/lib/misc/AcDbConstants.js.map +1 -0
- package/lib/misc/AcDbDimArrowType.d.ts +86 -0
- package/lib/misc/AcDbDimArrowType.d.ts.map +1 -0
- package/lib/misc/AcDbDimArrowType.js +87 -0
- package/lib/misc/AcDbDimArrowType.js.map +1 -0
- package/lib/misc/AcDbObjectIterator.d.ts +16 -0
- package/lib/misc/AcDbObjectIterator.d.ts.map +1 -0
- package/lib/misc/AcDbObjectIterator.js +28 -0
- package/lib/misc/AcDbObjectIterator.js.map +1 -0
- package/lib/misc/AcDbOsnapMode.d.ts +43 -0
- package/lib/misc/AcDbOsnapMode.d.ts.map +1 -0
- package/lib/misc/AcDbOsnapMode.js +44 -0
- package/lib/misc/AcDbOsnapMode.js.map +1 -0
- package/lib/misc/AcDbRenderingCache.d.ts +61 -0
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -0
- package/lib/misc/AcDbRenderingCache.js +154 -0
- package/lib/misc/AcDbRenderingCache.js.map +1 -0
- package/lib/misc/AcDbUnitsValue.d.ts +51 -0
- package/lib/misc/AcDbUnitsValue.d.ts.map +1 -0
- package/lib/misc/AcDbUnitsValue.js +71 -0
- package/lib/misc/AcDbUnitsValue.js.map +1 -0
- package/lib/misc/index.d.ts +8 -0
- package/lib/misc/index.d.ts.map +1 -0
- package/lib/misc/index.js +8 -0
- package/lib/misc/index.js.map +1 -0
- package/lib/object/AcDbDictionary.d.ts +80 -0
- package/lib/object/AcDbDictionary.d.ts.map +1 -0
- package/lib/object/AcDbDictionary.js +144 -0
- package/lib/object/AcDbDictionary.js.map +1 -0
- package/lib/object/AcDbRasterImageDef.d.ts +25 -0
- package/lib/object/AcDbRasterImageDef.d.ts.map +1 -0
- package/lib/object/AcDbRasterImageDef.js +54 -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 +51 -0
- package/lib/object/layout/AcDbLayout.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayout.js +120 -0
- package/lib/object/layout/AcDbLayout.js.map +1 -0
- package/lib/object/layout/AcDbLayoutDictionary.d.ts +19 -0
- package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayoutDictionary.js +94 -0
- package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -0
- package/lib/object/layout/AcDbLayoutManager.d.ts +101 -0
- package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayoutManager.js +154 -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 +46 -0
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
17
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
18
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
19
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
20
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
21
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
22
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
26
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
27
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
28
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
|
+
function step(op) {
|
|
30
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
|
+
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;
|
|
33
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
|
+
switch (op[0]) {
|
|
35
|
+
case 0: case 1: t = op; break;
|
|
36
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
37
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
38
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
39
|
+
default:
|
|
40
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
41
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
42
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
43
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
44
|
+
if (t[2]) _.ops.pop();
|
|
45
|
+
_.trys.pop(); continue;
|
|
46
|
+
}
|
|
47
|
+
op = body.call(thisArg, _);
|
|
48
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
49
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
import { AcCmPerformanceCollector, AcCmTask, AcCmTaskScheduler } from '@mlightcad/common';
|
|
53
|
+
import { AcDbRenderingCache } from '../misc';
|
|
54
|
+
var PERFORMANCE_ENTRY_NAME = 'Load Database';
|
|
55
|
+
/**
|
|
56
|
+
* A specialized task that includes additional data for dwg conversion.
|
|
57
|
+
* @template TIn Input type
|
|
58
|
+
* @template TOut Output type
|
|
59
|
+
*/
|
|
60
|
+
var AcDbConversionTask = /** @class */ (function (_super) {
|
|
61
|
+
__extends(AcDbConversionTask, _super);
|
|
62
|
+
function AcDbConversionTask(data, progress) {
|
|
63
|
+
var _this = _super.call(this, data.stage) || this;
|
|
64
|
+
_this.data = data;
|
|
65
|
+
_this.progress = progress;
|
|
66
|
+
return _this;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Executes the task.
|
|
70
|
+
*/
|
|
71
|
+
AcDbConversionTask.prototype.run = function (input) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
73
|
+
var entry, t, out, outData;
|
|
74
|
+
return __generator(this, function (_a) {
|
|
75
|
+
switch (_a.label) {
|
|
76
|
+
case 0:
|
|
77
|
+
entry = AcCmPerformanceCollector.getInstance().getEntry(PERFORMANCE_ENTRY_NAME);
|
|
78
|
+
t = Date.now();
|
|
79
|
+
if (!this.progress) return [3 /*break*/, 2];
|
|
80
|
+
return [4 /*yield*/, this.progress(this.data.progress.value, this.data.stage, 'START')];
|
|
81
|
+
case 1:
|
|
82
|
+
_a.sent();
|
|
83
|
+
_a.label = 2;
|
|
84
|
+
case 2: return [4 /*yield*/, this.data.task(input)];
|
|
85
|
+
case 3:
|
|
86
|
+
out = _a.sent();
|
|
87
|
+
if (!this.progress) return [3 /*break*/, 5];
|
|
88
|
+
outData = out.data;
|
|
89
|
+
return [4 /*yield*/, this.progress(this.data.progress.value, this.data.stage, 'END', outData)];
|
|
90
|
+
case 4:
|
|
91
|
+
_a.sent();
|
|
92
|
+
this.data.progress.value += this.data.step;
|
|
93
|
+
if (this.data.progress.value > 100) {
|
|
94
|
+
this.data.progress.value = 100;
|
|
95
|
+
}
|
|
96
|
+
_a.label = 5;
|
|
97
|
+
case 5:
|
|
98
|
+
if (entry) {
|
|
99
|
+
;
|
|
100
|
+
entry.data[this.name] = Date.now() - t;
|
|
101
|
+
}
|
|
102
|
+
return [2 /*return*/, out];
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
return AcDbConversionTask;
|
|
108
|
+
}(AcCmTask));
|
|
109
|
+
/**
|
|
110
|
+
* It defines interface that one drawing database convert should follow. One drawing database converter
|
|
111
|
+
* can convert one dxf/dwg file to one instance of AcDbDatabase.
|
|
112
|
+
*/
|
|
113
|
+
var AcDbDatabaseConverter = /** @class */ (function () {
|
|
114
|
+
function AcDbDatabaseConverter() {
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Read the drawing specified by data and store them into the specified database. It will break up
|
|
118
|
+
* entities in the drawing into smaller chunks that are processed asynchronously to allow the UI to
|
|
119
|
+
* remain responsive.
|
|
120
|
+
* @param data Input drawing data in dxf format
|
|
121
|
+
* @param db Input database to store drawing data
|
|
122
|
+
* @param progress Input optional callback function to update progress
|
|
123
|
+
* @param minimumChunkSize Input the minimum number of entities in one chunk. If it is greater than
|
|
124
|
+
* the total number of entities to process, the total number is used.
|
|
125
|
+
*/
|
|
126
|
+
AcDbDatabaseConverter.prototype.read = function (data, db, minimumChunkSize, progress) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
128
|
+
var loadDbTimeEntry, percentage, scheduler, t;
|
|
129
|
+
var _this = this;
|
|
130
|
+
return __generator(this, function (_a) {
|
|
131
|
+
switch (_a.label) {
|
|
132
|
+
case 0:
|
|
133
|
+
loadDbTimeEntry = {
|
|
134
|
+
name: PERFORMANCE_ENTRY_NAME,
|
|
135
|
+
data: { total: 0 },
|
|
136
|
+
format: function () {
|
|
137
|
+
var _this = this;
|
|
138
|
+
var result = '';
|
|
139
|
+
Object.keys(this.data).forEach(function (key) {
|
|
140
|
+
if (key !== 'total') {
|
|
141
|
+
result += "- ".concat(key, ": ").concat(_this.data[key], " ms\n");
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
result += "- total: ".concat(this.data.total, " ms");
|
|
145
|
+
return result;
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
AcCmPerformanceCollector.getInstance().collect(loadDbTimeEntry);
|
|
149
|
+
this.progress = progress;
|
|
150
|
+
percentage = { value: 0 };
|
|
151
|
+
scheduler = new AcCmTaskScheduler();
|
|
152
|
+
scheduler.setCompleteCallback(function () { return _this.onFinished(); });
|
|
153
|
+
scheduler.setErrorCallback(function () { return _this.onFinished(); });
|
|
154
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
155
|
+
stage: 'START',
|
|
156
|
+
step: 1,
|
|
157
|
+
progress: percentage,
|
|
158
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
159
|
+
return __generator(this, function (_a) {
|
|
160
|
+
return [2 /*return*/, data];
|
|
161
|
+
});
|
|
162
|
+
}); }
|
|
163
|
+
}, progress));
|
|
164
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
165
|
+
stage: 'PARSE',
|
|
166
|
+
step: 5,
|
|
167
|
+
progress: percentage,
|
|
168
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
169
|
+
var model;
|
|
170
|
+
return __generator(this, function (_a) {
|
|
171
|
+
switch (_a.label) {
|
|
172
|
+
case 0: return [4 /*yield*/, this.parse(data)];
|
|
173
|
+
case 1:
|
|
174
|
+
model = _a.sent();
|
|
175
|
+
return [2 /*return*/, { model: model }];
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
}); }
|
|
179
|
+
}, progress));
|
|
180
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
181
|
+
stage: 'FONT',
|
|
182
|
+
step: 5,
|
|
183
|
+
progress: percentage,
|
|
184
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
185
|
+
var fonts;
|
|
186
|
+
return __generator(this, function (_a) {
|
|
187
|
+
fonts = this.getFonts(data.model);
|
|
188
|
+
return [2 /*return*/, { model: data.model, data: fonts }];
|
|
189
|
+
});
|
|
190
|
+
}); }
|
|
191
|
+
}, progress));
|
|
192
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
193
|
+
stage: 'LTYPE',
|
|
194
|
+
step: 1,
|
|
195
|
+
progress: percentage,
|
|
196
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
197
|
+
return __generator(this, function (_a) {
|
|
198
|
+
this.processLineTypes(data.model, db);
|
|
199
|
+
return [2 /*return*/, data];
|
|
200
|
+
});
|
|
201
|
+
}); }
|
|
202
|
+
}, progress));
|
|
203
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
204
|
+
stage: 'STYLE',
|
|
205
|
+
step: 1,
|
|
206
|
+
progress: percentage,
|
|
207
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
208
|
+
return __generator(this, function (_a) {
|
|
209
|
+
this.processTextStyles(data.model, db);
|
|
210
|
+
return [2 /*return*/, data];
|
|
211
|
+
});
|
|
212
|
+
}); }
|
|
213
|
+
}, progress));
|
|
214
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
215
|
+
stage: 'DIMSTYLE',
|
|
216
|
+
step: 1,
|
|
217
|
+
progress: percentage,
|
|
218
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
219
|
+
return __generator(this, function (_a) {
|
|
220
|
+
this.processDimStyles(data.model, db);
|
|
221
|
+
return [2 /*return*/, data];
|
|
222
|
+
});
|
|
223
|
+
}); }
|
|
224
|
+
}, progress));
|
|
225
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
226
|
+
stage: 'LAYER',
|
|
227
|
+
step: 1,
|
|
228
|
+
progress: percentage,
|
|
229
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
230
|
+
return __generator(this, function (_a) {
|
|
231
|
+
this.processLayers(data.model, db);
|
|
232
|
+
return [2 /*return*/, data];
|
|
233
|
+
});
|
|
234
|
+
}); }
|
|
235
|
+
}, progress));
|
|
236
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
237
|
+
stage: 'VPORT',
|
|
238
|
+
step: 1,
|
|
239
|
+
progress: percentage,
|
|
240
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
241
|
+
return __generator(this, function (_a) {
|
|
242
|
+
this.processViewports(data.model, db);
|
|
243
|
+
return [2 /*return*/, data];
|
|
244
|
+
});
|
|
245
|
+
}); }
|
|
246
|
+
}, progress));
|
|
247
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
248
|
+
stage: 'HEADER',
|
|
249
|
+
step: 1,
|
|
250
|
+
progress: percentage,
|
|
251
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
252
|
+
return __generator(this, function (_a) {
|
|
253
|
+
this.processHeader(data.model, db);
|
|
254
|
+
return [2 /*return*/, data];
|
|
255
|
+
});
|
|
256
|
+
}); }
|
|
257
|
+
}, progress));
|
|
258
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
259
|
+
stage: 'BLOCK_RECORD',
|
|
260
|
+
step: 5,
|
|
261
|
+
progress: percentage,
|
|
262
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
263
|
+
return __generator(this, function (_a) {
|
|
264
|
+
this.processBlockTables(data.model, db);
|
|
265
|
+
return [2 /*return*/, data];
|
|
266
|
+
});
|
|
267
|
+
}); }
|
|
268
|
+
}, progress));
|
|
269
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
270
|
+
stage: 'OBJECT',
|
|
271
|
+
step: 5,
|
|
272
|
+
progress: percentage,
|
|
273
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
274
|
+
return __generator(this, function (_a) {
|
|
275
|
+
this.processObjects(data.model, db);
|
|
276
|
+
return [2 /*return*/, data];
|
|
277
|
+
});
|
|
278
|
+
}); }
|
|
279
|
+
}, progress));
|
|
280
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
281
|
+
stage: 'BLOCK',
|
|
282
|
+
step: 5,
|
|
283
|
+
progress: percentage,
|
|
284
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
285
|
+
return __generator(this, function (_a) {
|
|
286
|
+
switch (_a.label) {
|
|
287
|
+
case 0: return [4 /*yield*/, this.processBlocks(data.model, db)];
|
|
288
|
+
case 1:
|
|
289
|
+
_a.sent();
|
|
290
|
+
return [2 /*return*/, data];
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
}); }
|
|
294
|
+
}, progress));
|
|
295
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
296
|
+
stage: 'ENTITY',
|
|
297
|
+
step: 100,
|
|
298
|
+
progress: percentage,
|
|
299
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
300
|
+
return __generator(this, function (_a) {
|
|
301
|
+
switch (_a.label) {
|
|
302
|
+
case 0: return [4 /*yield*/, this.processEntities(data.model, db, minimumChunkSize, percentage, progress)];
|
|
303
|
+
case 1:
|
|
304
|
+
_a.sent();
|
|
305
|
+
return [2 /*return*/, data];
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
}); }
|
|
309
|
+
}, progress));
|
|
310
|
+
scheduler.addTask(new AcDbConversionTask({
|
|
311
|
+
stage: 'END',
|
|
312
|
+
step: 0,
|
|
313
|
+
progress: percentage,
|
|
314
|
+
task: function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
315
|
+
return __generator(this, function (_a) {
|
|
316
|
+
return [2 /*return*/, data];
|
|
317
|
+
});
|
|
318
|
+
}); }
|
|
319
|
+
}, progress));
|
|
320
|
+
t = Date.now();
|
|
321
|
+
return [4 /*yield*/, scheduler.run(data)];
|
|
322
|
+
case 1:
|
|
323
|
+
_a.sent();
|
|
324
|
+
loadDbTimeEntry.data.total = Date.now() - t;
|
|
325
|
+
return [2 /*return*/];
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
AcDbDatabaseConverter.prototype.onFinished = function () {
|
|
331
|
+
if (this.progress) {
|
|
332
|
+
this.progress(100, 'END', 'END');
|
|
333
|
+
// Clear cache to reduce memory consumption
|
|
334
|
+
AcDbRenderingCache.instance.clear();
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
AcDbDatabaseConverter.prototype.parse = function (_data) {
|
|
338
|
+
throw new Error('Not impelemented yet!');
|
|
339
|
+
};
|
|
340
|
+
AcDbDatabaseConverter.prototype.getFonts = function (_model) {
|
|
341
|
+
throw new Error('Not impelemented yet!');
|
|
342
|
+
};
|
|
343
|
+
AcDbDatabaseConverter.prototype.processLineTypes = function (_model, _db) {
|
|
344
|
+
throw new Error('Not impelemented yet!');
|
|
345
|
+
};
|
|
346
|
+
AcDbDatabaseConverter.prototype.processTextStyles = function (_model, _db) {
|
|
347
|
+
throw new Error('Not impelemented yet!');
|
|
348
|
+
};
|
|
349
|
+
AcDbDatabaseConverter.prototype.processDimStyles = function (_model, _db) {
|
|
350
|
+
throw new Error('Not impelemented yet!');
|
|
351
|
+
};
|
|
352
|
+
AcDbDatabaseConverter.prototype.processLayers = function (_model, _db) {
|
|
353
|
+
throw new Error('Not impelemented yet!');
|
|
354
|
+
};
|
|
355
|
+
AcDbDatabaseConverter.prototype.processViewports = function (_model, _db) {
|
|
356
|
+
throw new Error('Not impelemented yet!');
|
|
357
|
+
};
|
|
358
|
+
AcDbDatabaseConverter.prototype.processHeader = function (_model, _db) {
|
|
359
|
+
throw new Error('Not impelemented yet!');
|
|
360
|
+
};
|
|
361
|
+
AcDbDatabaseConverter.prototype.processBlockTables = function (_model, _db) {
|
|
362
|
+
throw new Error('Not impelemented yet!');
|
|
363
|
+
};
|
|
364
|
+
AcDbDatabaseConverter.prototype.processObjects = function (_model, _db) {
|
|
365
|
+
throw new Error('Not impelemented yet!');
|
|
366
|
+
};
|
|
367
|
+
AcDbDatabaseConverter.prototype.processBlocks = function (_model, _db) {
|
|
368
|
+
throw new Error('Not impelemented yet!');
|
|
369
|
+
};
|
|
370
|
+
AcDbDatabaseConverter.prototype.processEntities = function (_model, _db, _minimumChunkSize, _percentage, _progress) {
|
|
371
|
+
throw new Error('Not impelemented yet!');
|
|
372
|
+
};
|
|
373
|
+
return AcDbDatabaseConverter;
|
|
374
|
+
}());
|
|
375
|
+
export { AcDbDatabaseConverter };
|
|
376
|
+
//# sourceMappingURL=AcDbDatabaseConverter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverter.js","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { AcCmEventManager } from '@mlightcad/common';
|
|
2
|
+
import { AcDbDatabaseConverter } from './AcDbDatabaseConverter';
|
|
3
|
+
/**
|
|
4
|
+
* Drawing file type
|
|
5
|
+
*/
|
|
6
|
+
export declare enum AcDbFileType {
|
|
7
|
+
/**
|
|
8
|
+
* DXF file
|
|
9
|
+
*/
|
|
10
|
+
DXF = "dxf",
|
|
11
|
+
/**
|
|
12
|
+
* DWG file
|
|
13
|
+
*/
|
|
14
|
+
DWG = "dwg"
|
|
15
|
+
}
|
|
16
|
+
export interface AcDbDatabaseConverterManagerEventArgs {
|
|
17
|
+
fileType: AcDbFileType;
|
|
18
|
+
converter: AcDbDatabaseConverter;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Used to register database converter by file type. For example, you can register 'dxf' converter
|
|
22
|
+
* and 'dwg' converter to handle different file types by different converter.
|
|
23
|
+
*/
|
|
24
|
+
export declare class AcDbDatabaseConverterManager {
|
|
25
|
+
private static _instance?;
|
|
26
|
+
private _converters;
|
|
27
|
+
readonly events: {
|
|
28
|
+
registered: AcCmEventManager<AcDbDatabaseConverterManagerEventArgs>;
|
|
29
|
+
unregistered: AcCmEventManager<AcDbDatabaseConverterManagerEventArgs>;
|
|
30
|
+
};
|
|
31
|
+
static createInstance(): AcDbDatabaseConverterManager | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* The singlton instance of this class.
|
|
34
|
+
*/
|
|
35
|
+
static get instance(): AcDbDatabaseConverterManager;
|
|
36
|
+
private constructor();
|
|
37
|
+
/**
|
|
38
|
+
* All of registered file types
|
|
39
|
+
*/
|
|
40
|
+
get fileTypes(): IterableIterator<AcDbFileType>;
|
|
41
|
+
/**
|
|
42
|
+
* Register one database convert for the specified file type
|
|
43
|
+
* @param fileType Input one file type value.
|
|
44
|
+
* @param converter Input the database converter associated with the specified file type.
|
|
45
|
+
*/
|
|
46
|
+
register(fileType: AcDbFileType, converter: AcDbDatabaseConverter): void;
|
|
47
|
+
/**
|
|
48
|
+
* Get the database converter associated with the specified file type.
|
|
49
|
+
* @param fileType Input one file type value.
|
|
50
|
+
* @returns Return the database converter associated with the specified file type.
|
|
51
|
+
*/
|
|
52
|
+
get(fileType: AcDbFileType): AcDbDatabaseConverter<unknown> | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Unregister the database converter for the specified file type.
|
|
55
|
+
* @param fileType Input one file type value.
|
|
56
|
+
*/
|
|
57
|
+
unregister(fileType: AcDbFileType): void;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=AcDbDatabaseConverterManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverterManager.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,qBAAqB,CAAA;CACjC;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAA8B;IACvD,OAAO,CAAC,WAAW,CAA0C;IAE7D,SAAgB,MAAM;;;MAGrB;IAED,MAAM,CAAC,cAAc;IAQrB;;OAEG;IACH,MAAM,KAAK,QAAQ,iCAMlB;IAED,OAAO;IAKP;;OAEG;IACH,IAAI,SAAS,mCAEZ;IAED;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB;IAQxE;;;;OAIG;IACI,GAAG,CAAC,QAAQ,EAAE,YAAY;IAIjC;;;OAGG;IACI,UAAU,CAAC,QAAQ,EAAE,YAAY;CAUzC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { AcCmEventManager } from '@mlightcad/common';
|
|
2
|
+
import { AcDbDxfConverter } from '../converter';
|
|
3
|
+
/**
|
|
4
|
+
* Drawing file type
|
|
5
|
+
*/
|
|
6
|
+
export var AcDbFileType;
|
|
7
|
+
(function (AcDbFileType) {
|
|
8
|
+
/**
|
|
9
|
+
* DXF file
|
|
10
|
+
*/
|
|
11
|
+
AcDbFileType["DXF"] = "dxf";
|
|
12
|
+
/**
|
|
13
|
+
* DWG file
|
|
14
|
+
*/
|
|
15
|
+
AcDbFileType["DWG"] = "dwg";
|
|
16
|
+
})(AcDbFileType || (AcDbFileType = {}));
|
|
17
|
+
/**
|
|
18
|
+
* Used to register database converter by file type. For example, you can register 'dxf' converter
|
|
19
|
+
* and 'dwg' converter to handle different file types by different converter.
|
|
20
|
+
*/
|
|
21
|
+
var AcDbDatabaseConverterManager = /** @class */ (function () {
|
|
22
|
+
function AcDbDatabaseConverterManager() {
|
|
23
|
+
this.events = {
|
|
24
|
+
registered: new AcCmEventManager(),
|
|
25
|
+
unregistered: new AcCmEventManager()
|
|
26
|
+
};
|
|
27
|
+
this._converters = new Map();
|
|
28
|
+
this.register(AcDbFileType.DXF, new AcDbDxfConverter());
|
|
29
|
+
}
|
|
30
|
+
AcDbDatabaseConverterManager.createInstance = function () {
|
|
31
|
+
if (AcDbDatabaseConverterManager._instance == null) {
|
|
32
|
+
AcDbDatabaseConverterManager._instance =
|
|
33
|
+
new AcDbDatabaseConverterManager();
|
|
34
|
+
}
|
|
35
|
+
return this._instance;
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(AcDbDatabaseConverterManager, "instance", {
|
|
38
|
+
/**
|
|
39
|
+
* The singlton instance of this class.
|
|
40
|
+
*/
|
|
41
|
+
get: function () {
|
|
42
|
+
if (!AcDbDatabaseConverterManager._instance) {
|
|
43
|
+
AcDbDatabaseConverterManager._instance =
|
|
44
|
+
new AcDbDatabaseConverterManager();
|
|
45
|
+
}
|
|
46
|
+
return AcDbDatabaseConverterManager._instance;
|
|
47
|
+
},
|
|
48
|
+
enumerable: false,
|
|
49
|
+
configurable: true
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(AcDbDatabaseConverterManager.prototype, "fileTypes", {
|
|
52
|
+
/**
|
|
53
|
+
* All of registered file types
|
|
54
|
+
*/
|
|
55
|
+
get: function () {
|
|
56
|
+
return this._converters.keys();
|
|
57
|
+
},
|
|
58
|
+
enumerable: false,
|
|
59
|
+
configurable: true
|
|
60
|
+
});
|
|
61
|
+
/**
|
|
62
|
+
* Register one database convert for the specified file type
|
|
63
|
+
* @param fileType Input one file type value.
|
|
64
|
+
* @param converter Input the database converter associated with the specified file type.
|
|
65
|
+
*/
|
|
66
|
+
AcDbDatabaseConverterManager.prototype.register = function (fileType, converter) {
|
|
67
|
+
this._converters.set(fileType, converter);
|
|
68
|
+
this.events.registered.dispatch({
|
|
69
|
+
fileType: fileType,
|
|
70
|
+
converter: converter
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Get the database converter associated with the specified file type.
|
|
75
|
+
* @param fileType Input one file type value.
|
|
76
|
+
* @returns Return the database converter associated with the specified file type.
|
|
77
|
+
*/
|
|
78
|
+
AcDbDatabaseConverterManager.prototype.get = function (fileType) {
|
|
79
|
+
return this._converters.get(fileType);
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Unregister the database converter for the specified file type.
|
|
83
|
+
* @param fileType Input one file type value.
|
|
84
|
+
*/
|
|
85
|
+
AcDbDatabaseConverterManager.prototype.unregister = function (fileType) {
|
|
86
|
+
var converter = this._converters.get(fileType);
|
|
87
|
+
if (converter) {
|
|
88
|
+
this._converters.delete(fileType);
|
|
89
|
+
this.events.unregistered.dispatch({
|
|
90
|
+
fileType: fileType,
|
|
91
|
+
converter: converter
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
return AcDbDatabaseConverterManager;
|
|
96
|
+
}());
|
|
97
|
+
export { AcDbDatabaseConverterManager };
|
|
98
|
+
//# sourceMappingURL=AcDbDatabaseConverterManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverterManager.js","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C;;GAEG;AACH,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB;;OAEG;IACH,2BAAW,CAAA;IACX;;OAEG;IACH,2BAAW,CAAA;AACb,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;AAOD;;;GAGG;AACH;IA4BE;QAxBgB,WAAM,GAAG;YACvB,UAAU,EAAE,IAAI,gBAAgB,EAAyC;YACzE,YAAY,EAAE,IAAI,gBAAgB,EAAyC;SAC5E,CAAA;QAsBC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAA;IACzD,CAAC;IAtBM,2CAAc,GAArB;QACE,IAAI,4BAA4B,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YACnD,4BAA4B,CAAC,SAAS;gBACpC,IAAI,4BAA4B,EAAE,CAAA;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAKD,sBAAW,wCAAQ;QAHnB;;WAEG;aACH;YACE,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,CAAC;gBAC5C,4BAA4B,CAAC,SAAS;oBACpC,IAAI,4BAA4B,EAAE,CAAA;YACtC,CAAC;YACD,OAAO,4BAA4B,CAAC,SAAS,CAAA;QAC/C,CAAC;;;OAAA;IAUD,sBAAI,mDAAS;QAHb;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAChC,CAAC;;;OAAA;IAED;;;;OAIG;IACI,+CAAQ,GAAf,UAAgB,QAAsB,EAAE,SAAgC;QACtE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9B,QAAQ,UAAA;YACR,SAAS,WAAA;SACV,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACI,0CAAG,GAAV,UAAW,QAAsB;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACI,iDAAU,GAAjB,UAAkB,QAAsB;QACtC,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACjC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAChC,QAAQ,UAAA;gBACR,SAAS,WAAA;aACV,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACH,mCAAC;AAAD,CAAC,AA5ED,IA4EC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { AcCmEventManager } from '@mlightcad/common';
|
|
2
|
+
import { AcDbDatabaseConverter } from './AcDbDatabaseConverter';
|
|
3
|
+
/**
|
|
4
|
+
* Drawing file type
|
|
5
|
+
*/
|
|
6
|
+
export declare enum AcDbFileType {
|
|
7
|
+
/**
|
|
8
|
+
* DXF file
|
|
9
|
+
*/
|
|
10
|
+
DXF = "dxf",
|
|
11
|
+
/**
|
|
12
|
+
* DWG file
|
|
13
|
+
*/
|
|
14
|
+
DWG = "dwg"
|
|
15
|
+
}
|
|
16
|
+
export interface AcDbDatabaseConverterRegisterEventArgs {
|
|
17
|
+
fileType: AcDbFileType;
|
|
18
|
+
converter: AcDbDatabaseConverter;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Used to register database converter by file type. For example, you can register 'dxf' converter
|
|
22
|
+
* and 'dwg' converter to handle different file types by different converter.
|
|
23
|
+
*/
|
|
24
|
+
export declare class AcDbDatabaseConverterRegister {
|
|
25
|
+
private static _instance?;
|
|
26
|
+
private _converters;
|
|
27
|
+
readonly events: {
|
|
28
|
+
registered: AcCmEventManager<AcDbDatabaseConverterRegisterEventArgs>;
|
|
29
|
+
unregistered: AcCmEventManager<AcDbDatabaseConverterRegisterEventArgs>;
|
|
30
|
+
};
|
|
31
|
+
static createInstance(): AcDbDatabaseConverterRegister | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* The singlton instance of this class.
|
|
34
|
+
*/
|
|
35
|
+
static get instance(): AcDbDatabaseConverterRegister;
|
|
36
|
+
private constructor();
|
|
37
|
+
/**
|
|
38
|
+
* All of registered file types
|
|
39
|
+
*/
|
|
40
|
+
get fileTypes(): IterableIterator<AcDbFileType>;
|
|
41
|
+
/**
|
|
42
|
+
* Register one database convert for the specified file type
|
|
43
|
+
* @param fileType Input one file type value.
|
|
44
|
+
* @param converter Input the database converter associated with the specified file type.
|
|
45
|
+
*/
|
|
46
|
+
register(fileType: AcDbFileType, converter: AcDbDatabaseConverter): void;
|
|
47
|
+
/**
|
|
48
|
+
* Get the database converter associated with the specified file type.
|
|
49
|
+
* @param fileType Input one file type value.
|
|
50
|
+
* @returns Return the database converter associated with the specified file type.
|
|
51
|
+
*/
|
|
52
|
+
get(fileType: AcDbFileType): AcDbDatabaseConverter<unknown> | undefined;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=AcDbDatabaseConverterRegister.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverterRegister.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterRegister.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,qBAAqB,CAAA;CACjC;AAED;;;GAGG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAA+B;IACxD,OAAO,CAAC,WAAW,CAA0C;IAE7D,SAAgB,MAAM;;;MAGrB;IAED,MAAM,CAAC,cAAc;IAQrB;;OAEG;IACH,MAAM,KAAK,QAAQ,kCAMlB;IAED,OAAO;IAKP;;OAEG;IACH,IAAI,SAAS,mCAEZ;IAED;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB;IAQxE;;;;OAIG;IACI,GAAG,CAAC,QAAQ,EAAE,YAAY;CAGlC"}
|