@mlightcad/libdxfrw-converter 1.0.1

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.
@@ -0,0 +1,424 @@
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 { AcCmColor, AcDbBatchProcessing, AcDbBlockTableRecord, AcDbDatabaseConverter, AcDbDimStyleTableRecord, AcDbLayerTableRecord, AcDbLinetypeTableRecord, AcDbTextStyleTableRecord, AcDbViewportTableRecord } from '@mlightcad/data-model';
53
+ import { AcDbEntityConverter } from './AcDbEntitiyConverter';
54
+ import { AcDbObjectConverter } from './AcDbObjectConverter';
55
+ /**
56
+ * Database converter for DWG files.
57
+ * @internal
58
+ */
59
+ var AcDbLibdxfrwConverter = /** @class */ (function (_super) {
60
+ __extends(AcDbLibdxfrwConverter, _super);
61
+ function AcDbLibdxfrwConverter(instance) {
62
+ var _this = _super.call(this) || this;
63
+ _this.librefrw = instance;
64
+ return _this;
65
+ }
66
+ AcDbLibdxfrwConverter.prototype.onFinished = function () {
67
+ _super.prototype.onFinished.call(this);
68
+ if (this.dwg) {
69
+ this.dwg.delete();
70
+ this.dwg = undefined;
71
+ }
72
+ if (this.database) {
73
+ this.database.delete();
74
+ this.database = undefined;
75
+ }
76
+ if (this.fileHandler) {
77
+ this.fileHandler.delete();
78
+ this.fileHandler = undefined;
79
+ }
80
+ };
81
+ AcDbLibdxfrwConverter.prototype.parse = function (data) {
82
+ if (this.librefrw == null) {
83
+ throw new Error('librefrw is not loaded!');
84
+ }
85
+ var libdxfrw = this.librefrw;
86
+ this.database = new libdxfrw.DRW_Database();
87
+ this.fileHandler = new libdxfrw.DRW_FileHandler();
88
+ this.fileHandler.database = this.database;
89
+ this.dwg = new libdxfrw.DRW_DwgR(data);
90
+ // Uncomment out the following line if you want to show debug info
91
+ // this.dwg.setDebug(libdxfrw.DRW_dbg_Level.Debug);
92
+ this.dwg.read(this.fileHandler, false);
93
+ return this.database;
94
+ };
95
+ AcDbLibdxfrwConverter.prototype.processLineTypes = function (model, db) {
96
+ var lineTypes = model.lineTypes;
97
+ for (var index = 0, size = lineTypes.size(); index < size; ++index) {
98
+ var item = lineTypes.get(index);
99
+ if (item != null) {
100
+ var lineType = {
101
+ name: item.name,
102
+ description: item.desc,
103
+ standardFlag: item.flags,
104
+ totalPatternLength: item.length,
105
+ pattern: this.convertLineTypePattern(item.path)
106
+ };
107
+ var record = new AcDbLinetypeTableRecord(lineType);
108
+ this.processCommonTableEntryAttrs(item, record);
109
+ record.name = item.name;
110
+ db.tables.linetypeTable.add(record);
111
+ }
112
+ }
113
+ };
114
+ AcDbLibdxfrwConverter.prototype.convertLineTypePattern = function (path) {
115
+ var pattern = [];
116
+ for (var index = 0, size = path.size(); index < size; ++index) {
117
+ // libdxfrw doesn't support complex line type and always convert complex line type to simple line type
118
+ pattern.push({
119
+ elementLength: path.get(index) || 0,
120
+ elementTypeFlag: 0
121
+ });
122
+ }
123
+ return pattern;
124
+ };
125
+ AcDbLibdxfrwConverter.prototype.processTextStyles = function (model, db) {
126
+ var textStyles = model.textStyles;
127
+ for (var index = 0, size = textStyles.size(); index < size; ++index) {
128
+ var item = textStyles.get(index);
129
+ if (item != null) {
130
+ var textStyle = {
131
+ name: item.name,
132
+ standardFlag: item.flags,
133
+ fixedTextHeight: item.height,
134
+ widthFactor: item.width,
135
+ obliqueAngle: item.oblique,
136
+ textGenerationFlag: item.genFlag,
137
+ lastHeight: item.lastHeight,
138
+ font: item.font,
139
+ bigFont: item.bigFont
140
+ };
141
+ var record = new AcDbTextStyleTableRecord(textStyle);
142
+ this.processCommonTableEntryAttrs(item, record);
143
+ db.tables.textStyleTable.add(record);
144
+ }
145
+ }
146
+ };
147
+ AcDbLibdxfrwConverter.prototype.processDimStyles = function (model, db) {
148
+ var dimStyles = model.dimStyles;
149
+ for (var index = 0, size = dimStyles.size(); index < size; ++index) {
150
+ var item = dimStyles.get(index);
151
+ if (item != null) {
152
+ var attrs = {
153
+ name: item.name,
154
+ ownerId: item.parentHandle.toString(),
155
+ dimpost: item.dimpost || '',
156
+ dimapost: item.dimapost || '',
157
+ dimscale: item.dimscale,
158
+ dimasz: item.dimasz,
159
+ dimexo: item.dimexo,
160
+ dimdli: item.dimdli,
161
+ dimexe: item.dimexe,
162
+ dimrnd: item.dimrnd,
163
+ dimdle: item.dimdle,
164
+ dimtp: item.dimtp,
165
+ dimtm: item.dimtm,
166
+ dimtxt: item.dimtxt,
167
+ dimcen: item.dimcen,
168
+ dimtsz: item.dimtsz,
169
+ dimaltf: item.dimaltf,
170
+ dimlfac: item.dimlfac,
171
+ dimtvp: item.dimtvp,
172
+ dimtfac: item.dimtfac,
173
+ dimgap: item.dimgap,
174
+ dimaltrnd: item.dimaltrnd,
175
+ dimtol: item.dimtol == null || item.dimtol == 0 ? 0 : 1,
176
+ dimlim: item.dimlim == null || item.dimlim == 0 ? 0 : 1,
177
+ dimtih: item.dimtih == null || item.dimtih == 0 ? 0 : 1,
178
+ dimtoh: item.dimtoh == null || item.dimtoh == 0 ? 0 : 1,
179
+ dimse1: item.dimse1 == null || item.dimse1 == 0 ? 0 : 1,
180
+ dimse2: item.dimse2 == null || item.dimse2 == 0 ? 0 : 1,
181
+ dimtad: item.dimtad,
182
+ dimzin: item.dimzin,
183
+ dimazin: item.dimazin,
184
+ dimalt: item.dimalt,
185
+ dimaltd: item.dimaltd,
186
+ dimtofl: item.dimtofl,
187
+ dimsah: item.dimsah,
188
+ dimtix: item.dimtix,
189
+ dimsoxd: item.dimsoxd,
190
+ dimclrd: item.dimclrd,
191
+ dimclre: item.dimclre,
192
+ dimclrt: item.dimclrt,
193
+ dimadec: item.dimadec || 0,
194
+ dimunit: item.dimunit || 2,
195
+ dimdec: item.dimdec,
196
+ dimtdec: item.dimtdec,
197
+ dimaltu: item.dimaltu,
198
+ dimalttd: item.dimalttd,
199
+ dimaunit: item.dimaunit,
200
+ dimfrac: item.dimfrac,
201
+ dimlunit: item.dimlunit,
202
+ dimdsep: item.dimdsep.toString(),
203
+ dimtmove: item.dimtmove || 0,
204
+ dimjust: item.dimjust,
205
+ dimsd1: item.dimsd1,
206
+ dimsd2: item.dimsd2,
207
+ dimtolj: item.dimtolj,
208
+ dimtzin: item.dimtzin,
209
+ dimaltz: item.dimaltz,
210
+ dimalttz: item.dimaltttz,
211
+ dimfit: item.dimfit || 0,
212
+ dimupt: item.dimupt,
213
+ dimatfit: item.dimatfit,
214
+ dimtxsty: item.dimtxsty || 'Standard',
215
+ dimldrblk: item.dimldrblk || '',
216
+ dimblk: item.dimblk || '',
217
+ dimblk1: item.dimblk1 || '',
218
+ dimblk2: item.dimblk2 || '',
219
+ dimlwd: item.dimlwd,
220
+ dimlwe: item.dimlwe
221
+ };
222
+ var record = new AcDbDimStyleTableRecord(attrs);
223
+ this.processCommonTableEntryAttrs(item, record);
224
+ db.tables.dimStyleTable.add(record);
225
+ }
226
+ }
227
+ };
228
+ AcDbLibdxfrwConverter.prototype.processLayers = function (model, db) {
229
+ var layers = model.layers;
230
+ for (var index = 0, size = layers.size(); index < size; ++index) {
231
+ var item = layers.get(index);
232
+ if (item != null) {
233
+ var color = new AcCmColor();
234
+ color.colorIndex = item.color;
235
+ var record = new AcDbLayerTableRecord({
236
+ name: item.name,
237
+ standardFlags: item.flags,
238
+ linetype: item.lineType,
239
+ lineWeight: item.lWeight,
240
+ isOff: item.color < 0,
241
+ color: color,
242
+ isPlottable: item.plotF,
243
+ materialId: item.handleMaterialS
244
+ });
245
+ this.processCommonTableEntryAttrs(item, record);
246
+ db.tables.layerTable.add(record);
247
+ }
248
+ }
249
+ };
250
+ AcDbLibdxfrwConverter.prototype.processViewports = function (model, db) {
251
+ var viewports = model.viewports;
252
+ for (var index = 0, size = viewports.size(); index < size; ++index) {
253
+ var item = viewports.get(index);
254
+ if (item != null) {
255
+ var record = new AcDbViewportTableRecord();
256
+ this.processCommonTableEntryAttrs(item, record);
257
+ if (item.circleZoom) {
258
+ record.circleSides = item.circleZoom;
259
+ }
260
+ record.standardFlag = item.flags;
261
+ record.center.copy(item.center);
262
+ record.lowerLeftCorner.copy(item.lowerLeft);
263
+ record.upperRightCorner.copy(item.upperRight);
264
+ if (item.snapBase) {
265
+ record.snapBase.copy(item.snapBase);
266
+ }
267
+ if (item.snapAngle) {
268
+ record.snapAngle = item.snapAngle;
269
+ }
270
+ if (record.snapIncrements) {
271
+ record.snapIncrements.copy(item.snapSpacing);
272
+ }
273
+ if (item.gridSpacing) {
274
+ record.gridIncrements.copy(item.gridSpacing);
275
+ }
276
+ record.gsView.center.copy(item.center);
277
+ record.gsView.viewDirectionFromTarget.copy(item.viewDir);
278
+ record.gsView.viewTarget.copy(item.viewTarget);
279
+ if (item.lensHeight) {
280
+ record.gsView.lensLength = item.lensHeight;
281
+ }
282
+ if (item.height) {
283
+ record.gsView.viewHeight = item.height;
284
+ }
285
+ if (item.twistAngle) {
286
+ record.gsView.viewTwistAngle = item.twistAngle;
287
+ }
288
+ if (item.viewMode) {
289
+ record.gsView.viewMode = item.viewMode;
290
+ }
291
+ if (item.ucsIcon) {
292
+ record.gsView.ucsIconSetting = item.ucsIcon;
293
+ }
294
+ db.tables.viewportTable.add(record);
295
+ }
296
+ }
297
+ };
298
+ AcDbLibdxfrwConverter.prototype.processBlockTables = function (model, db) {
299
+ var blocks = model.blocks;
300
+ for (var index = 0, size = blocks.size(); index < size; ++index) {
301
+ var block = blocks.get(index);
302
+ if (block != null) {
303
+ var dbBlock = new AcDbBlockTableRecord();
304
+ dbBlock.objectId = block.handle.toString();
305
+ dbBlock.name = block.name.toUpperCase();
306
+ db.tables.blockTable.add(dbBlock);
307
+ if (block.entities) {
308
+ this.processEntitiesInBlock(block.entities, dbBlock);
309
+ }
310
+ }
311
+ }
312
+ };
313
+ AcDbLibdxfrwConverter.prototype.processCommonTableEntryAttrs = function (entry, dbEntry) {
314
+ dbEntry.name = entry.name;
315
+ dbEntry.objectId = entry.handle.toString();
316
+ dbEntry.ownerId = entry.parentHandle.toString();
317
+ };
318
+ AcDbLibdxfrwConverter.prototype.processHeader = function (model, db) {
319
+ var header = model.header;
320
+ // TODO: Check not supported versions
321
+ var variant = header.getVar('$CECOLOR');
322
+ // Initial value: ByLayer, Color index 256 is 'ByLayer'
323
+ db.cecolor.colorIndex = variant ? variant.getInt() : 256;
324
+ variant = header.getVar('$ANGDIR');
325
+ // Initial value: 0
326
+ db.angDir = variant ? variant.getInt() : 0;
327
+ variant = header.getVar('$AUNITS');
328
+ // Initial value: 0
329
+ db.aunits = variant ? variant.getInt() : 0;
330
+ variant = header.getVar('$INSUNITS');
331
+ // Initial value: 1 (imperial) or 4 (metric)
332
+ db.insunits = variant ? variant.getInt() : 1;
333
+ variant = header.getVar('$PDMODE');
334
+ // Initial value: 0
335
+ db.pdmode = variant ? variant.getInt() : 0;
336
+ variant = header.getVar('$PDSIZE');
337
+ // Initial value: 0
338
+ db.pdsize = variant ? variant.getDouble() : 0.0;
339
+ };
340
+ AcDbLibdxfrwConverter.prototype.processObjects = function (model, db) {
341
+ this.processImageDefs(model.images, db);
342
+ };
343
+ AcDbLibdxfrwConverter.prototype.processImageDefs = function (imageDefs, db) {
344
+ var objectConverter = new AcDbObjectConverter();
345
+ var imageDefDict = db.dictionaries.imageDefs;
346
+ for (var index = 0, size = imageDefs.size(); index < size; ++index) {
347
+ var item = imageDefs.get(index);
348
+ if (item != null) {
349
+ var dbImageDef = objectConverter.convertImageDef(item);
350
+ imageDefDict.setAt(dbImageDef.objectId, dbImageDef);
351
+ }
352
+ }
353
+ };
354
+ AcDbLibdxfrwConverter.prototype.processEntitiesInBlock = function (entities, blockTableRecord) {
355
+ return __awaiter(this, void 0, void 0, function () {
356
+ var converter, index, size, entity, dbEntity;
357
+ return __generator(this, function (_a) {
358
+ converter = new AcDbEntityConverter();
359
+ for (index = 0, size = entities.size(); index < size; ++index) {
360
+ entity = entities.get(index);
361
+ if (entity != null) {
362
+ dbEntity = converter.convert(entity);
363
+ if (dbEntity) {
364
+ blockTableRecord.appendEntity(dbEntity);
365
+ }
366
+ }
367
+ }
368
+ return [2 /*return*/];
369
+ });
370
+ });
371
+ };
372
+ AcDbLibdxfrwConverter.prototype.processEntities = function (model, db, minimumChunkSize, startPercentage, progress) {
373
+ return __awaiter(this, void 0, void 0, function () {
374
+ var converter_1, entities_1, entityCount_1, batchProcessor, blockTableRecord_1;
375
+ var _this = this;
376
+ return __generator(this, function (_a) {
377
+ switch (_a.label) {
378
+ case 0:
379
+ if (!model.mBlock) return [3 /*break*/, 2];
380
+ converter_1 = new AcDbEntityConverter();
381
+ entities_1 = model.mBlock.entities;
382
+ entityCount_1 = entities_1.size();
383
+ batchProcessor = new AcDbBatchProcessing(entityCount_1, 100 - startPercentage.value, minimumChunkSize);
384
+ blockTableRecord_1 = db.tables.blockTable.modelSpace;
385
+ return [4 /*yield*/, batchProcessor.processChunk(function (start, end) { return __awaiter(_this, void 0, void 0, function () {
386
+ var i, entity, dbEntity, percentage;
387
+ return __generator(this, function (_a) {
388
+ switch (_a.label) {
389
+ case 0:
390
+ // Logic for processing each chunk of entities
391
+ for (i = start; i < end; i++) {
392
+ entity = entities_1.get(i);
393
+ if (entity) {
394
+ dbEntity = converter_1.convert(entity);
395
+ if (dbEntity) {
396
+ blockTableRecord_1.appendEntity(dbEntity);
397
+ }
398
+ }
399
+ }
400
+ if (!progress) return [3 /*break*/, 2];
401
+ percentage = startPercentage.value +
402
+ (end / entityCount_1) * (100 - startPercentage.value);
403
+ if (percentage > 100)
404
+ percentage = 100;
405
+ return [4 /*yield*/, progress(percentage, 'ENTITY', 'IN-PROGRESS')];
406
+ case 1:
407
+ _a.sent();
408
+ _a.label = 2;
409
+ case 2: return [2 /*return*/];
410
+ }
411
+ });
412
+ }); })];
413
+ case 1:
414
+ _a.sent();
415
+ _a.label = 2;
416
+ case 2: return [2 /*return*/];
417
+ }
418
+ });
419
+ });
420
+ };
421
+ return AcDbLibdxfrwConverter;
422
+ }(AcDbDatabaseConverter));
423
+ export { AcDbLibdxfrwConverter };
424
+ //# sourceMappingURL=AcDbLibdxfrwConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbLibdxfrwConverter.js","sourceRoot":"","sources":["../src/AcDbLibdxfrwConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { AcDbRasterImageDef } from '@mlightcad/data-model';
2
+ import { DRW_ImageEx } from '@mlightcad/libdxfrw-web';
3
+ export declare class AcDbObjectConverter {
4
+ convertImageDef(imageDef: DRW_ImageEx): AcDbRasterImageDef;
5
+ }
6
+ //# sourceMappingURL=AcDbObjectConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbObjectConverter.d.ts","sourceRoot":"","sources":["../src/AcDbObjectConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,qBAAa,mBAAmB;IAC9B,eAAe,CAAC,QAAQ,EAAE,WAAW;CAOtC"}
@@ -0,0 +1,15 @@
1
+ import { AcDbRasterImageDef } from '@mlightcad/data-model';
2
+ var AcDbObjectConverter = /** @class */ (function () {
3
+ function AcDbObjectConverter() {
4
+ }
5
+ AcDbObjectConverter.prototype.convertImageDef = function (imageDef) {
6
+ var dbObject = new AcDbRasterImageDef();
7
+ dbObject.sourceFileName = imageDef.path;
8
+ dbObject.objectId = imageDef.handle.toString();
9
+ dbObject.ownerId = imageDef.parentHandle.toString();
10
+ return dbObject;
11
+ };
12
+ return AcDbObjectConverter;
13
+ }());
14
+ export { AcDbObjectConverter };
15
+ //# sourceMappingURL=AcDbObjectConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbObjectConverter.js","sourceRoot":"","sources":["../src/AcDbObjectConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D;IAAA;IAQA,CAAC;IAPC,6CAAe,GAAf,UAAgB,QAAqB;QACnC,IAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAA;QACzC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAA;QACvC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC9C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAA;QACnD,OAAO,QAAQ,CAAA;IACjB,CAAC;IACH,0BAAC;AAAD,CAAC,AARD,IAQC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './AcDbLibdxfrwConverter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
package/lib/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './AcDbLibdxfrwConverter';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@mlightcad/libdxfrw-converter",
3
+ "version": "1.0.1",
4
+ "type": "module",
5
+ "keywords": [
6
+ "autocad",
7
+ "cad",
8
+ "dwg",
9
+ "dxf",
10
+ "libdxfrw",
11
+ "libdxfrw-web",
12
+ "mlight",
13
+ "mlightcad",
14
+ "objecarx",
15
+ "realdwg"
16
+ ],
17
+ "files": [
18
+ "dist",
19
+ "lib",
20
+ "README.md",
21
+ "package.json"
22
+ ],
23
+ "main": "./dist/libdxfrw-converter.umd.cjs",
24
+ "module": "./dist/libdxfrw-converter.js",
25
+ "types": "./lib/index.d.ts",
26
+ "exports": {
27
+ "types": "./lib/index.d.ts",
28
+ "import": "./dist/libdxfrw-converter.js",
29
+ "require": "./dist/libdxfrw-converter.umd.cjs"
30
+ },
31
+ "dependencies": {},
32
+ "devDependencies": {},
33
+ "peerDependencies": {
34
+ "@mlightcad/libdxfrw-web": "0.0.9",
35
+ "@mlightcad/data-model": "1.0.5"
36
+ },
37
+ "scripts": {
38
+ "clean": "rimraf dist lib tsconfig.tsbuildinfo",
39
+ "build": "tsc && vite build",
40
+ "lint": "eslint src/",
41
+ "lint:fix": "eslint --fix --quiet src/"
42
+ }
43
+ }