@mlightcad/data-model 1.15.20 → 1.15.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/data-model.cjs +16 -16
  2. package/lib/base/AcDbDxfFiler.d.ts +27 -0
  3. package/lib/base/AcDbDxfFiler.d.ts.map +1 -1
  4. package/lib/base/AcDbDxfFiler.js +85 -9
  5. package/lib/base/AcDbDxfFiler.js.map +1 -1
  6. package/lib/base/AcDbObject.d.ts +10 -0
  7. package/lib/base/AcDbObject.d.ts.map +1 -1
  8. package/lib/base/AcDbObject.js +38 -1
  9. package/lib/base/AcDbObject.js.map +1 -1
  10. package/lib/database/AcDbBlockTableRecord.d.ts +11 -0
  11. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  12. package/lib/database/AcDbBlockTableRecord.js +22 -1
  13. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  14. package/lib/database/AcDbDatabase.d.ts +60 -0
  15. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  16. package/lib/database/AcDbDatabase.js +647 -157
  17. package/lib/database/AcDbDatabase.js.map +1 -1
  18. package/lib/database/AcDbDimStyleTableRecord.js +1 -1
  19. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
  20. package/lib/dxf/AcDbDxfDocumentReader.d.ts +19 -1
  21. package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -1
  22. package/lib/dxf/AcDbDxfDocumentReader.js +92 -12
  23. package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -1
  24. package/lib/dxf/AcDbDxfEntityFactory.d.ts.map +1 -1
  25. package/lib/dxf/AcDbDxfEntityFactory.js +20 -1
  26. package/lib/dxf/AcDbDxfEntityFactory.js.map +1 -1
  27. package/lib/dxf/AcDbDxfHeaderReader.d.ts.map +1 -1
  28. package/lib/dxf/AcDbDxfHeaderReader.js +76 -7
  29. package/lib/dxf/AcDbDxfHeaderReader.js.map +1 -1
  30. package/lib/dxf/AcDbDxfObjectRecordName.d.ts +13 -0
  31. package/lib/dxf/AcDbDxfObjectRecordName.d.ts.map +1 -0
  32. package/lib/dxf/AcDbDxfObjectRecordName.js +98 -0
  33. package/lib/dxf/AcDbDxfObjectRecordName.js.map +1 -0
  34. package/lib/dxf/AcDbDxfObjectsReader.d.ts +15 -2
  35. package/lib/dxf/AcDbDxfObjectsReader.d.ts.map +1 -1
  36. package/lib/dxf/AcDbDxfObjectsReader.js +226 -110
  37. package/lib/dxf/AcDbDxfObjectsReader.js.map +1 -1
  38. package/lib/dxf/AcDbDxfRawTags.d.ts +50 -0
  39. package/lib/dxf/AcDbDxfRawTags.d.ts.map +1 -0
  40. package/lib/dxf/AcDbDxfRawTags.js +116 -0
  41. package/lib/dxf/AcDbDxfRawTags.js.map +1 -0
  42. package/lib/entity/AcDb2dPolyline.d.ts.map +1 -1
  43. package/lib/entity/AcDb2dPolyline.js +53 -1
  44. package/lib/entity/AcDb2dPolyline.js.map +1 -1
  45. package/lib/entity/AcDb2dVertex.d.ts +5 -0
  46. package/lib/entity/AcDb2dVertex.d.ts.map +1 -1
  47. package/lib/entity/AcDb2dVertex.js +98 -0
  48. package/lib/entity/AcDb2dVertex.js.map +1 -1
  49. package/lib/entity/AcDb3dPolyline.d.ts.map +1 -1
  50. package/lib/entity/AcDb3dPolyline.js +20 -1
  51. package/lib/entity/AcDb3dPolyline.js.map +1 -1
  52. package/lib/entity/AcDb3dSolid.d.ts +5 -0
  53. package/lib/entity/AcDb3dSolid.d.ts.map +1 -1
  54. package/lib/entity/AcDb3dSolid.js +70 -0
  55. package/lib/entity/AcDb3dSolid.js.map +1 -1
  56. package/lib/entity/AcDb3dVertex.d.ts +5 -0
  57. package/lib/entity/AcDb3dVertex.d.ts.map +1 -1
  58. package/lib/entity/AcDb3dVertex.js +65 -0
  59. package/lib/entity/AcDb3dVertex.js.map +1 -1
  60. package/lib/entity/AcDbArc.d.ts.map +1 -1
  61. package/lib/entity/AcDbArc.js +11 -0
  62. package/lib/entity/AcDbArc.js.map +1 -1
  63. package/lib/entity/AcDbArcAlignedText.d.ts.map +1 -1
  64. package/lib/entity/AcDbArcAlignedText.js +254 -0
  65. package/lib/entity/AcDbArcAlignedText.js.map +1 -1
  66. package/lib/entity/AcDbAttribute.d.ts +5 -0
  67. package/lib/entity/AcDbAttribute.d.ts.map +1 -1
  68. package/lib/entity/AcDbAttribute.js +156 -0
  69. package/lib/entity/AcDbAttribute.js.map +1 -1
  70. package/lib/entity/AcDbAttributeDefinition.d.ts +5 -0
  71. package/lib/entity/AcDbAttributeDefinition.d.ts.map +1 -1
  72. package/lib/entity/AcDbAttributeDefinition.js +167 -0
  73. package/lib/entity/AcDbAttributeDefinition.js.map +1 -1
  74. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  75. package/lib/entity/AcDbBlockReference.js +57 -3
  76. package/lib/entity/AcDbBlockReference.js.map +1 -1
  77. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  78. package/lib/entity/AcDbCircle.js +11 -0
  79. package/lib/entity/AcDbCircle.js.map +1 -1
  80. package/lib/entity/AcDbEntity.d.ts +27 -1
  81. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  82. package/lib/entity/AcDbEntity.js +81 -1
  83. package/lib/entity/AcDbEntity.js.map +1 -1
  84. package/lib/entity/AcDbFace.d.ts +7 -0
  85. package/lib/entity/AcDbFace.d.ts.map +1 -1
  86. package/lib/entity/AcDbFace.js +99 -0
  87. package/lib/entity/AcDbFace.js.map +1 -1
  88. package/lib/entity/AcDbFcf.d.ts.map +1 -1
  89. package/lib/entity/AcDbFcf.js +66 -0
  90. package/lib/entity/AcDbFcf.js.map +1 -1
  91. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  92. package/lib/entity/AcDbHatch.js +187 -0
  93. package/lib/entity/AcDbHatch.js.map +1 -1
  94. package/lib/entity/AcDbLeader.d.ts +8 -1
  95. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  96. package/lib/entity/AcDbLeader.js +20 -5
  97. package/lib/entity/AcDbLeader.js.map +1 -1
  98. package/lib/entity/AcDbLine.d.ts.map +1 -1
  99. package/lib/entity/AcDbLine.js +44 -0
  100. package/lib/entity/AcDbLine.js.map +1 -1
  101. package/lib/entity/AcDbMLeader.d.ts +1 -1
  102. package/lib/entity/AcDbMLeader.d.ts.map +1 -1
  103. package/lib/entity/AcDbMLeader.js +328 -5
  104. package/lib/entity/AcDbMLeader.js.map +1 -1
  105. package/lib/entity/AcDbMLine.d.ts +14 -0
  106. package/lib/entity/AcDbMLine.d.ts.map +1 -1
  107. package/lib/entity/AcDbMLine.js +137 -7
  108. package/lib/entity/AcDbMLine.js.map +1 -1
  109. package/lib/entity/AcDbMText.d.ts +40 -8
  110. package/lib/entity/AcDbMText.d.ts.map +1 -1
  111. package/lib/entity/AcDbMText.js +395 -22
  112. package/lib/entity/AcDbMText.js.map +1 -1
  113. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  114. package/lib/entity/AcDbPoint.js +55 -0
  115. package/lib/entity/AcDbPoint.js.map +1 -1
  116. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  117. package/lib/entity/AcDbPolyline.js +46 -2
  118. package/lib/entity/AcDbPolyline.js.map +1 -1
  119. package/lib/entity/AcDbProxyEntity.d.ts +5 -0
  120. package/lib/entity/AcDbProxyEntity.d.ts.map +1 -1
  121. package/lib/entity/AcDbProxyEntity.js +77 -0
  122. package/lib/entity/AcDbProxyEntity.js.map +1 -1
  123. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  124. package/lib/entity/AcDbRasterImage.js +99 -0
  125. package/lib/entity/AcDbRasterImage.js.map +1 -1
  126. package/lib/entity/AcDbShape.d.ts.map +1 -1
  127. package/lib/entity/AcDbShape.js +63 -0
  128. package/lib/entity/AcDbShape.js.map +1 -1
  129. package/lib/entity/AcDbSpline.d.ts +6 -0
  130. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  131. package/lib/entity/AcDbSpline.js +182 -0
  132. package/lib/entity/AcDbSpline.js.map +1 -1
  133. package/lib/entity/AcDbTable.d.ts.map +1 -1
  134. package/lib/entity/AcDbTable.js +24 -2
  135. package/lib/entity/AcDbTable.js.map +1 -1
  136. package/lib/entity/AcDbText.d.ts +4 -0
  137. package/lib/entity/AcDbText.d.ts.map +1 -1
  138. package/lib/entity/AcDbText.js +254 -119
  139. package/lib/entity/AcDbText.js.map +1 -1
  140. package/lib/entity/AcDbTextExtentsHelpers.d.ts +14 -1
  141. package/lib/entity/AcDbTextExtentsHelpers.d.ts.map +1 -1
  142. package/lib/entity/AcDbTextExtentsHelpers.js +28 -5
  143. package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
  144. package/lib/entity/AcDbTrace.d.ts +6 -0
  145. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  146. package/lib/entity/AcDbTrace.js +117 -0
  147. package/lib/entity/AcDbTrace.js.map +1 -1
  148. package/lib/entity/AcDbUnknownEntity.d.ts +46 -0
  149. package/lib/entity/AcDbUnknownEntity.d.ts.map +1 -0
  150. package/lib/entity/AcDbUnknownEntity.js +210 -0
  151. package/lib/entity/AcDbUnknownEntity.js.map +1 -0
  152. package/lib/entity/AcDbViewport.d.ts +5 -0
  153. package/lib/entity/AcDbViewport.d.ts.map +1 -1
  154. package/lib/entity/AcDbViewport.js +307 -0
  155. package/lib/entity/AcDbViewport.js.map +1 -1
  156. package/lib/entity/AcDbWipeout.d.ts.map +1 -1
  157. package/lib/entity/AcDbWipeout.js +12 -1
  158. package/lib/entity/AcDbWipeout.js.map +1 -1
  159. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  160. package/lib/entity/dimension/AcDbDimension.js +22 -2
  161. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  162. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
  163. package/lib/entity/dimension/AcDbOrdinateDimension.js +5 -1
  164. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
  165. package/lib/entity/index.d.ts +1 -0
  166. package/lib/entity/index.d.ts.map +1 -1
  167. package/lib/entity/index.js +1 -0
  168. package/lib/entity/index.js.map +1 -1
  169. package/lib/ly/AcLyLayerFilterIO.d.ts +2 -0
  170. package/lib/ly/AcLyLayerFilterIO.d.ts.map +1 -1
  171. package/lib/ly/AcLyLayerFilterIO.js.map +1 -1
  172. package/lib/object/AcDbDictionary.d.ts +16 -0
  173. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  174. package/lib/object/AcDbDictionary.js +37 -1
  175. package/lib/object/AcDbDictionary.js.map +1 -1
  176. package/lib/object/AcDbObjectContextData.d.ts +21 -0
  177. package/lib/object/AcDbObjectContextData.d.ts.map +1 -1
  178. package/lib/object/AcDbObjectContextData.js +49 -0
  179. package/lib/object/AcDbObjectContextData.js.map +1 -1
  180. package/lib/object/AcDbUnknownObject.d.ts +24 -0
  181. package/lib/object/AcDbUnknownObject.d.ts.map +1 -0
  182. package/lib/object/AcDbUnknownObject.js +97 -0
  183. package/lib/object/AcDbUnknownObject.js.map +1 -0
  184. package/lib/object/index.d.ts +1 -0
  185. package/lib/object/index.d.ts.map +1 -1
  186. package/lib/object/index.js +1 -0
  187. package/lib/object/index.js.map +1 -1
  188. package/package.json +5 -5
@@ -0,0 +1,13 @@
1
+ import type { AcDbObject } from '../base/AcDbObject.js';
2
+ /**
3
+ * Returns the DXF record name (group 0) used to write `object` into the
4
+ * OBJECTS section, or `undefined` when the object cannot be written.
5
+ *
6
+ * Context data created in-app (no tags preserved from a DXF) is only written
7
+ * when the drawing declares its class in CLASSES; AutoCAD rejects records of
8
+ * undeclared custom classes.
9
+ *
10
+ * @param classNames - Upper-case DXF record names declared in CLASSES.
11
+ */
12
+ export declare function acdbDxfObjectRecordName(object: AcDbObject, classNames: ReadonlySet<string>): string | undefined;
13
+ //# sourceMappingURL=AcDbDxfObjectRecordName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDxfObjectRecordName.d.ts","sourceRoot":"","sources":["../../src/dxf/AcDbDxfObjectRecordName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAuBvD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,GAAG,SAAS,CAuBpB"}
@@ -0,0 +1,98 @@
1
+ import { AcDbBlkRefObjectContextData } from '../object/AcDbBlkRefObjectContextData.js';
2
+ import { AcDbDictionary } from '../object/AcDbDictionary.js';
3
+ import { AcDbDictionaryVar } from '../object/AcDbDictionaryVar.js';
4
+ import { AcDbGroup } from '../object/AcDbGroup.js';
5
+ import { AcDbHatchScaleContextData } from '../object/AcDbHatchScaleContextData.js';
6
+ import { AcDbLayerFilter } from '../object/AcDbLayerFilter.js';
7
+ import { AcDbLayerIndex } from '../object/AcDbLayerIndex.js';
8
+ import { AcDbLeaderObjectContextData } from '../object/AcDbLeaderObjectContextData.js';
9
+ import { AcDbMLeaderObjectContextData } from '../object/AcDbMLeaderObjectContextData.js';
10
+ import { AcDbMLeaderStyle } from '../object/AcDbMLeaderStyle.js';
11
+ import { AcDbMlineStyle } from '../object/AcDbMlineStyle.js';
12
+ import { AcDbMTextAttributeObjectContextData } from '../object/AcDbMTextAttributeObjectContextData.js';
13
+ import { AcDbMTextObjectContextData } from '../object/AcDbMTextObjectContextData.js';
14
+ import { AcDbObjectContextData } from '../object/AcDbObjectContextData.js';
15
+ import { AcDbRasterImageDef } from '../object/AcDbRasterImageDef.js';
16
+ import { AcDbScale } from '../object/AcDbScale.js';
17
+ import { AcDbSortentsTable } from '../object/AcDbSortentsTable.js';
18
+ import { AcDbTextObjectContextData } from '../object/AcDbTextObjectContextData.js';
19
+ import { AcDbUnknownObject } from '../object/AcDbUnknownObject.js';
20
+ import { AcDbXrecord } from '../object/AcDbXrecord.js';
21
+ import { AcDbLayout } from '../object/layout/AcDbLayout.js';
22
+ /**
23
+ * Returns the DXF record name (group 0) used to write `object` into the
24
+ * OBJECTS section, or `undefined` when the object cannot be written.
25
+ *
26
+ * Context data created in-app (no tags preserved from a DXF) is only written
27
+ * when the drawing declares its class in CLASSES; AutoCAD rejects records of
28
+ * undeclared custom classes.
29
+ *
30
+ * @param classNames - Upper-case DXF record names declared in CLASSES.
31
+ */
32
+ export function acdbDxfObjectRecordName(object, classNames) {
33
+ var _a;
34
+ if (object instanceof AcDbUnknownObject)
35
+ return object.dxfTypeName;
36
+ if (object instanceof AcDbDictionary)
37
+ return object.dxfTypeName;
38
+ if (object instanceof AcDbLayout)
39
+ return 'LAYOUT';
40
+ if (object instanceof AcDbGroup)
41
+ return 'GROUP';
42
+ if (object instanceof AcDbXrecord)
43
+ return 'XRECORD';
44
+ if (object instanceof AcDbSortentsTable)
45
+ return 'SORTENTSTABLE';
46
+ if (object instanceof AcDbRasterImageDef)
47
+ return 'IMAGEDEF';
48
+ if (object instanceof AcDbLayerFilter)
49
+ return 'LAYER_FILTER';
50
+ if (object instanceof AcDbLayerIndex)
51
+ return 'LAYER_INDEX';
52
+ if (object instanceof AcDbMLeaderStyle)
53
+ return 'MLEADERSTYLE';
54
+ if (object instanceof AcDbMlineStyle)
55
+ return 'MLINESTYLE';
56
+ if (object instanceof AcDbScale)
57
+ return 'SCALE';
58
+ if (object instanceof AcDbDictionaryVar)
59
+ return 'DICTIONARYVAR';
60
+ if (object instanceof AcDbObjectContextData) {
61
+ var name_1 = (_a = object.dxfRecordName) !== null && _a !== void 0 ? _a : defaultContextDataRecordName(object);
62
+ if (!name_1)
63
+ return undefined;
64
+ if (object.hasDxfRawTags || classNames.has(name_1.toUpperCase())) {
65
+ return name_1;
66
+ }
67
+ return undefined;
68
+ }
69
+ return undefined;
70
+ }
71
+ function defaultContextDataRecordName(object) {
72
+ // Subclasses before their bases.
73
+ if (object instanceof AcDbMTextAttributeObjectContextData) {
74
+ return 'ACDB_MTEXTATTRIBUTEOBJECTCONTEXTDATA_CLASS';
75
+ }
76
+ if (object instanceof AcDbMTextObjectContextData) {
77
+ return 'ACDB_MTEXTOBJECTCONTEXTDATA_CLASS';
78
+ }
79
+ if (object instanceof AcDbTextObjectContextData) {
80
+ return 'ACDB_TEXTOBJECTCONTEXTDATA_CLASS';
81
+ }
82
+ if (object instanceof AcDbHatchScaleContextData) {
83
+ return 'ACDB_HATCHSCALECONTEXTDATA_CLASS';
84
+ }
85
+ if (object instanceof AcDbBlkRefObjectContextData) {
86
+ return 'ACDB_BLKREFOBJECTCONTEXTDATA_CLASS';
87
+ }
88
+ if (object instanceof AcDbMLeaderObjectContextData) {
89
+ return 'ACDB_MLEADEROBJECTCONTEXTDATA_CLASS';
90
+ }
91
+ if (object instanceof AcDbLeaderObjectContextData) {
92
+ return 'ACDB_LEADEROBJECTCONTEXTDATA_CLASS';
93
+ }
94
+ // Dimension context data maps to one of several record names; without the
95
+ // name it was read as, the subtype is unknown.
96
+ return undefined;
97
+ }
98
+ //# sourceMappingURL=AcDbDxfObjectRecordName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDxfObjectRecordName.js","sourceRoot":"","sources":["../../src/dxf/AcDbDxfObjectRecordName.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AcDbDxfFiler } from '../base/AcDbDxfFiler.js';
1
+ import { AcDbDxfFiler } from '../base/AcDbDxfFiler.js';
2
2
  import type { AcDbDatabase } from '../database/AcDbDatabase.js';
3
3
  /**
4
4
  * Streams the DXF OBJECTS section into {@link AcDbDatabase} dictionaries.
@@ -12,8 +12,10 @@ export declare class AcDbDxfObjectsReader {
12
12
  private readonly _dictionaries;
13
13
  private readonly _xrecords;
14
14
  private _unknownObjectCount;
15
+ /** Objects kept verbatim, linked into dictionaries once all are loaded. */
16
+ private readonly _unknownObjects;
15
17
  constructor(_db: AcDbDatabase);
16
- /** Count of OBJECTS types skipped because no native reader exists yet. */
18
+ /** Count of OBJECTS records kept verbatim because no native reader exists. */
17
19
  get unknownObjectCount(): number;
18
20
  /**
19
21
  * Reads OBJECTS until ENDSEC. Caller must have already consumed the
@@ -21,11 +23,22 @@ export declare class AcDbDxfObjectsReader {
21
23
  */
22
24
  read(filer: AcDbDxfFiler): void;
23
25
  private readObject;
26
+ /**
27
+ * Reads a context-data record keeping its tags for verbatim export; only
28
+ * part of each record is modeled natively.
29
+ */
30
+ private readContextData;
24
31
  /**
25
32
  * Wire the root named-object dictionary and known child dictionaries
26
33
  * (ACAD_LAYOUT / ACAD_GROUP / …) from buffered DICTIONARY persist maps.
27
34
  */
28
35
  private finishNamedObjectDictionaries;
36
+ /**
37
+ * Gives a bootstrap dictionary the handle it has in the DXF. A default
38
+ * object that was minted the same handle (e.g. an `ACAD_GROUP` the file
39
+ * does not contain) moves to a fresh handle so no handle is written twice.
40
+ */
41
+ private adoptDxfHandle;
29
42
  private collectLoadedObjectsByHandle;
30
43
  /**
31
44
  * Materializes every buffered DICTIONARY into an {@link AcDbDictionary}
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbDxfObjectsReader.d.ts","sourceRoot":"","sources":["../../src/dxf/AcDbDxfObjectsReader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AA+B/D;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAOnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANhC,OAAO,CAAC,QAAQ,CAAC,aAAa,CACnB;IACX,OAAO,CAAC,QAAQ,CAAC,SAAS,CACf;IACX,OAAO,CAAC,mBAAmB,CAAI;gBAEF,GAAG,EAAE,YAAY;IAE9C,0EAA0E;IAC1E,IAAI,kBAAkB,WAErB;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IA+B/B,OAAO,CAAC,UAAU;IAkMlB;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAgErC,OAAO,CAAC,4BAA4B;IAqBpC;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;IA6FvC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IAuD7B,OAAO,CAAC,qBAAqB;IAe7B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;CA2CvC"}
1
+ {"version":3,"file":"AcDbDxfObjectsReader.d.ts","sourceRoot":"","sources":["../../src/dxf/AcDbDxfObjectsReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAuC/D;;;;;;GAMG;AACH,qBAAa,oBAAoB;IASnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARhC,OAAO,CAAC,QAAQ,CAAC,aAAa,CACnB;IACX,OAAO,CAAC,QAAQ,CAAC,SAAS,CACf;IACX,OAAO,CAAC,mBAAmB,CAAI;IAC/B,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;gBAE7B,GAAG,EAAE,YAAY;IAE9C,8EAA8E;IAC9E,IAAI,kBAAkB,WAErB;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAgC/B,OAAO,CAAC,UAAU;IAmOlB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IA8ErC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,4BAA4B;IAsBpC;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;IA8FvC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IAoE7B,OAAO,CAAC,qBAAqB;IAe7B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;CA2CvC"}