@mlightcad/data-model 1.1.6 → 1.1.8

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.
@@ -43,5 +43,14 @@ export declare class AcDbBlockTable extends AcDbSymbolTable<AcDbBlockTableRecord
43
43
  * ```
44
44
  */
45
45
  get modelSpace(): AcDbBlockTableRecord;
46
+ /**
47
+ * Normalizes the specified block table record name if it is one paper spacce or model space
48
+ * block table record.
49
+ *
50
+ * @override
51
+ * @param name - The name of the block table record.
52
+ * @returns The normalized block table record name.
53
+ */
54
+ protected normalizeName(name: string): string;
46
55
  }
47
56
  //# sourceMappingURL=AcDbBlockTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBlockTable.d.ts","sourceRoot":"","sources":["../../src/database/AcDbBlockTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,SAAQ,eAAe,CAAC,oBAAoB,CAAC;IACvE;;;;;;;;;OASG;gBACS,EAAE,EAAE,YAAY;IAI5B;;;;;;;;;;;;;;OAcG;IACH,IAAI,UAAU,IAAI,oBAAoB,CAQrC;CACF"}
1
+ {"version":3,"file":"AcDbBlockTable.d.ts","sourceRoot":"","sources":["../../src/database/AcDbBlockTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,SAAQ,eAAe,CAAC,oBAAoB,CAAC;IACvE;;;;;;;;;OASG;gBACS,EAAE,EAAE,YAAY;IAI5B;;;;;;;;;;;;;;OAcG;IACH,IAAI,UAAU,IAAI,oBAAoB,CAQrC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;CAWrC"}
@@ -72,6 +72,26 @@ var AcDbBlockTable = /** @class */ (function (_super) {
72
72
  enumerable: false,
73
73
  configurable: true
74
74
  });
75
+ /**
76
+ * Normalizes the specified block table record name if it is one paper spacce or model space
77
+ * block table record.
78
+ *
79
+ * @override
80
+ * @param name - The name of the block table record.
81
+ * @returns The normalized block table record name.
82
+ */
83
+ AcDbBlockTable.prototype.normalizeName = function (name) {
84
+ var regularizedName = name;
85
+ if (AcDbBlockTableRecord.isModelSapceName(name)) {
86
+ regularizedName = AcDbBlockTableRecord.MODEL_SPACE_NAME;
87
+ }
88
+ else if (AcDbBlockTableRecord.isPaperSapceName(name)) {
89
+ var prefix = AcDbBlockTableRecord.PAPER_SPACE_NAME_PREFIX;
90
+ var suffix = name.substring(prefix.length);
91
+ regularizedName = prefix + suffix;
92
+ }
93
+ return regularizedName;
94
+ };
75
95
  return AcDbBlockTable;
76
96
  }(AcDbSymbolTable));
77
97
  export { AcDbBlockTable };
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBlockTable.js","sourceRoot":"","sources":["../../src/database/AcDbBlockTable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;GAaG;AACH;IAAoC,kCAAqC;IACvE;;;;;;;;;OASG;IACH,wBAAY,EAAgB;QAC1B,OAAA,MAAK,YAAC,EAAE,CAAC,SAAA;IACX,CAAC;IAiBD,sBAAI,sCAAU;QAfd;;;;;;;;;;;;;;WAcG;aACH;YACE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;YAClE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,oBAAoB,EAAE,CAAA;gBACvC,UAAU,CAAC,IAAI,GAAG,oBAAoB,CAAC,gBAAgB,CAAA;gBACvD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACtB,CAAC;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;;;OAAA;IACH,qBAAC;AAAD,CAAC,AAvCD,CAAoC,eAAe,GAuClD"}
1
+ {"version":3,"file":"AcDbBlockTable.js","sourceRoot":"","sources":["../../src/database/AcDbBlockTable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;GAaG;AACH;IAAoC,kCAAqC;IACvE;;;;;;;;;OASG;IACH,wBAAY,EAAgB;QAC1B,OAAA,MAAK,YAAC,EAAE,CAAC,SAAA;IACX,CAAC;IAiBD,sBAAI,sCAAU;QAfd;;;;;;;;;;;;;;WAcG;aACH;YACE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;YAClE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,oBAAoB,EAAE,CAAA;gBACvC,UAAU,CAAC,IAAI,GAAG,oBAAoB,CAAC,gBAAgB,CAAA;gBACvD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACtB,CAAC;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;;;OAAA;IAED;;;;;;;OAOG;IACO,sCAAa,GAAvB,UAAwB,IAAY;QAClC,IAAI,eAAe,GAAG,IAAI,CAAA;QAC1B,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,eAAe,GAAG,oBAAoB,CAAC,gBAAgB,CAAA;QACzD,CAAC;aAAM,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,IAAM,MAAM,GAAG,oBAAoB,CAAC,uBAAuB,CAAA;YAC3D,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC5C,eAAe,GAAG,MAAM,GAAG,MAAM,CAAA;QACnC,CAAC;QACD,OAAO,eAAe,CAAA;IACxB,CAAC;IACH,qBAAC;AAAD,CAAC,AA3DD,CAAoC,eAAe,GA2DlD"}
@@ -7,8 +7,8 @@ import { AcDbSymbolTableRecord } from './AcDbSymbolTableRecord';
7
7
  *
8
8
  * Block table records (BTRs) are used to organize and group entities together.
9
9
  * There are two special BTRs that are always present in every database:
10
- * - *Model_Space: Contains entities in model space
11
- * - *Paper_Space: Contains entities in paper space
10
+ * - *MODEL_SPACE: Contains entities in model space
11
+ * - *PAPER_SPACE: Contains entities in paper space
12
12
  *
13
13
  * Each block table record has an origin point and can contain multiple entities.
14
14
  *
@@ -29,6 +29,38 @@ export declare class AcDbBlockTableRecord extends AcDbSymbolTableRecord {
29
29
  private _origin;
30
30
  /** Map of entities indexed by their object IDs */
31
31
  private _entities;
32
+ /**
33
+ * Returns true if the specified name is the name of the model space block table record.
34
+ *
35
+ * Model space is the primary drawing area where most entities are created.
36
+ *
37
+ * @param name - The name of one block table record.
38
+ * @returns True if the specified name is the name of the model space block table record.
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * if (AcDbBlockTableRecord.isModelSapceName('*Model_Space')) {
43
+ * console.log('This is the name of the model space block table record.');
44
+ * }
45
+ * ```
46
+ */
47
+ static isModelSapceName(name: string): boolean;
48
+ /**
49
+ * Returns true if the specified name is the name of a paper space block table record.
50
+ *
51
+ * Paper space is used for creating layouts for printing and plotting.
52
+ *
53
+ * @param name - The name of one block table record.
54
+ * @returns True if the specified name is the name of a paper space block table record.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * if (AcDbBlockTableRecord.isPaperSapceName('*Paper_Space1')) {
59
+ * console.log('This is the name of the paper space block table record.');
60
+ * }
61
+ * ```
62
+ */
63
+ static isPaperSapceName(name: string): boolean;
32
64
  /**
33
65
  * Creates a new AcDbBlockTableRecord instance.
34
66
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBlockTableRecord.d.ts","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAqB,SAAQ,qBAAqB;IAC7D,uDAAuD;IACvD,MAAM,CAAC,gBAAgB,SAAiB;IACxC,sDAAsD;IACtD,MAAM,CAAC,uBAAuB,SAAiB;IAE/C,qDAAqD;IACrD,OAAO,CAAC,OAAO,CAAa;IAC5B,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;;;;;OAOG;;IAOH;;;;;;;;;;;;;OAaG;IACH,IAAI,YAAY,YAKf;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,YAAY,YAIf;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,MAAM,IAGQ,WAAW,CAD5B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAE5B;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU;IAe/B;;;;;;;;;;;;OAYG;IACH,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC;IAI7C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM;CAGnB"}
1
+ {"version":3,"file":"AcDbBlockTableRecord.d.ts","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAqB,SAAQ,qBAAqB;IAC7D,uDAAuD;IACvD,MAAM,CAAC,gBAAgB,SAAiB;IACxC,sDAAsD;IACtD,MAAM,CAAC,uBAAuB,SAAiB;IAE/C,qDAAqD;IACrD,OAAO,CAAC,OAAO,CAAa;IAC5B,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAA+B;IAGhD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAOpC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAMpC;;;;;;;OAOG;;IAOH;;;;;;;;;;;;;OAaG;IACH,IAAI,YAAY,YAEf;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,YAAY,YAEf;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,MAAM,IAGQ,WAAW,CAD5B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAE5B;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU;IAe/B;;;;;;;;;;;;OAYG;IACH,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC;IAI7C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM;CAGnB"}
@@ -21,8 +21,8 @@ import { AcDbSymbolTableRecord } from './AcDbSymbolTableRecord';
21
21
  *
22
22
  * Block table records (BTRs) are used to organize and group entities together.
23
23
  * There are two special BTRs that are always present in every database:
24
- * - *Model_Space: Contains entities in model space
25
- * - *Paper_Space: Contains entities in paper space
24
+ * - *MODEL_SPACE: Contains entities in model space
25
+ * - *PAPER_SPACE: Contains entities in paper space
26
26
  *
27
27
  * Each block table record has an origin point and can contain multiple entities.
28
28
  *
@@ -50,6 +50,45 @@ var AcDbBlockTableRecord = /** @class */ (function (_super) {
50
50
  _this._entities = new Map();
51
51
  return _this;
52
52
  }
53
+ /**
54
+ * Returns true if the specified name is the name of the model space block table record.
55
+ *
56
+ * Model space is the primary drawing area where most entities are created.
57
+ *
58
+ * @param name - The name of one block table record.
59
+ * @returns True if the specified name is the name of the model space block table record.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * if (AcDbBlockTableRecord.isModelSapceName('*Model_Space')) {
64
+ * console.log('This is the name of the model space block table record.');
65
+ * }
66
+ * ```
67
+ */
68
+ AcDbBlockTableRecord.isModelSapceName = function (name) {
69
+ return (name.toLowerCase() ==
70
+ AcDbBlockTableRecord.MODEL_SPACE_NAME.toLowerCase());
71
+ };
72
+ /**
73
+ * Returns true if the specified name is the name of a paper space block table record.
74
+ *
75
+ * Paper space is used for creating layouts for printing and plotting.
76
+ *
77
+ * @param name - The name of one block table record.
78
+ * @returns True if the specified name is the name of a paper space block table record.
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * if (AcDbBlockTableRecord.isPaperSapceName('*Paper_Space1')) {
83
+ * console.log('This is the name of the paper space block table record.');
84
+ * }
85
+ * ```
86
+ */
87
+ AcDbBlockTableRecord.isPaperSapceName = function (name) {
88
+ return name
89
+ .toLowerCase()
90
+ .startsWith(AcDbBlockTableRecord.PAPER_SPACE_NAME_PREFIX.toLowerCase());
91
+ };
53
92
  Object.defineProperty(AcDbBlockTableRecord.prototype, "isModelSapce", {
54
93
  /**
55
94
  * Returns true if this is a model space block table record.
@@ -66,8 +105,7 @@ var AcDbBlockTableRecord = /** @class */ (function (_super) {
66
105
  * ```
67
106
  */
68
107
  get: function () {
69
- return (this.name.toLowerCase() ==
70
- AcDbBlockTableRecord.MODEL_SPACE_NAME.toLowerCase());
108
+ return AcDbBlockTableRecord.isModelSapceName(this.name);
71
109
  },
72
110
  enumerable: false,
73
111
  configurable: true
@@ -88,9 +126,7 @@ var AcDbBlockTableRecord = /** @class */ (function (_super) {
88
126
  * ```
89
127
  */
90
128
  get: function () {
91
- return this.name
92
- .toLowerCase()
93
- .startsWith(AcDbBlockTableRecord.PAPER_SPACE_NAME_PREFIX.toLowerCase());
129
+ return AcDbBlockTableRecord.isPaperSapceName(this.name);
94
130
  },
95
131
  enumerable: false,
96
132
  configurable: true
@@ -180,9 +216,9 @@ var AcDbBlockTableRecord = /** @class */ (function (_super) {
180
216
  return this._entities.get(id);
181
217
  };
182
218
  /** Name constant for model space block table record */
183
- AcDbBlockTableRecord.MODEL_SPACE_NAME = '*Model_Space';
219
+ AcDbBlockTableRecord.MODEL_SPACE_NAME = '*MODEL_SPACE';
184
220
  /** Name prefix for paper space block table records */
185
- AcDbBlockTableRecord.PAPER_SPACE_NAME_PREFIX = '*Paper_Space';
221
+ AcDbBlockTableRecord.PAPER_SPACE_NAME_PREFIX = '*PAPER_SPACE';
186
222
  return AcDbBlockTableRecord;
187
223
  }(AcDbSymbolTableRecord));
188
224
  export { AcDbBlockTableRecord };
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBlockTableRecord.js","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAIxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH;IAA0C,wCAAqB;IAW7D;;;;;;;OAOG;IACH;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QAChC,KAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAA;;IAChD,CAAC;IAgBD,sBAAI,8CAAY;QAdhB;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACvB,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CACpD,CAAA;QACH,CAAC;;;OAAA;IAgBD,sBAAI,8CAAY;QAdhB;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,IAAI,CAAC,IAAI;iBACb,WAAW,EAAE;iBACb,UAAU,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAA;QAC3E,CAAC;;;OAAA;IAgBD,sBAAI,wCAAM;QAdV;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;aACD,UAAW,KAAkB;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;;;OAHA;IAKD;;;;;;;;;;;;;OAaG;IACH,2CAAY,GAAZ,UAAa,MAAkB;QAC7B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE3C,sGAAsG;QACtG,qFAAqF;QACrF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAM;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,0CAAW,GAAX;QACE,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,sCAAO,GAAP,UAAQ,EAAU;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IApJD,uDAAuD;IAChD,qCAAgB,GAAG,cAAc,CAAA;IACxC,sDAAsD;IAC/C,4CAAuB,GAAG,cAAc,CAAA;IAkJjD,2BAAC;CAAA,AAtJD,CAA0C,qBAAqB,GAsJ9D;SAtJY,oBAAoB"}
1
+ {"version":3,"file":"AcDbBlockTableRecord.js","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAIxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH;IAA0C,wCAAqB;IAuD7D;;;;;;;OAOG;IACH;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QAChC,KAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAA;;IAChD,CAAC;IAvDD;;;;;;;;;;;;;;OAcG;IACI,qCAAgB,GAAvB,UAAwB,IAAY;QAClC,OAAO,CACL,IAAI,CAAC,WAAW,EAAE;YAClB,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CACpD,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,qCAAgB,GAAvB,UAAwB,IAAY;QAClC,OAAO,IAAI;aACR,WAAW,EAAE;aACb,UAAU,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3E,CAAC;IA8BD,sBAAI,8CAAY;QAdhB;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;;;OAAA;IAgBD,sBAAI,8CAAY;QAdhB;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;;;OAAA;IAgBD,sBAAI,wCAAM;QAdV;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;aACD,UAAW,KAAkB;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;;;OAHA;IAKD;;;;;;;;;;;;;OAaG;IACH,2CAAY,GAAZ,UAAa,MAAkB;QAC7B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE3C,sGAAsG;QACtG,qFAAqF;QACrF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAM;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,0CAAW,GAAX;QACE,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,sCAAO,GAAP,UAAQ,EAAU;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IA3LD,uDAAuD;IAChD,qCAAgB,GAAG,cAAc,CAAA;IACxC,sDAAsD;IAC/C,4CAAuB,GAAG,cAAc,CAAA;IAyLjD,2BAAC;CAAA,AA7LD,CAA0C,qBAAqB,GA6L9D;SA7LY,oBAAoB"}
@@ -175,5 +175,19 @@ export declare class AcDbSymbolTable<RecordType extends AcDbSymbolTableRecord =
175
175
  * ```
176
176
  */
177
177
  newIterator(): AcDbObjectIterator<RecordType>;
178
+ /**
179
+ * Normalizes the name of a symbol table record.
180
+ *
181
+ * Some symbol table records require name normalization. For example, the
182
+ * model space block table record may appear as either `*Model_Space` or
183
+ * `*MODEL_SPACE`, and should be standardized to a consistent form.
184
+ *
185
+ * Subclasses should override this method to implement record-specific
186
+ * normalization rules.
187
+ *
188
+ * @param name - The raw name of the symbol table record.
189
+ * @returns The normalized symbol table record name.
190
+ */
191
+ protected normalizeName(name: string): string;
178
192
  }
179
193
  //# sourceMappingURL=AcDbSymbolTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbSymbolTable.d.ts","sourceRoot":"","sources":["../../src/database/AcDbSymbolTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,eAAe,CAC1B,UAAU,SAAS,qBAAqB,GAAG,qBAAqB,CAChE,SAAQ,UAAU;IAClB,qCAAqC;IACrC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACjD,0CAA0C;IAC1C,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAE/C;;;;;;;;;OASG;gBACS,EAAE,EAAE,YAAY;IAO5B;;;;;;;;;;OAUG;IACH,GAAG,CAAC,MAAM,EAAE,UAAU;IAMtB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM;IAUnB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,EAAE,YAAY;IAUzB;;;;;;;;OAQG;IACH,SAAS;IAKT;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM;IAIhB;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM;IAIlB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,EAAE,YAAY;IAIxB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS;IAItD;;;;;;;;;;;;OAYG;IACH,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC;CAG9C"}
1
+ {"version":3,"file":"AcDbSymbolTable.d.ts","sourceRoot":"","sources":["../../src/database/AcDbSymbolTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,eAAe,CAC1B,UAAU,SAAS,qBAAqB,GAAG,qBAAqB,CAChE,SAAQ,UAAU;IAClB,qCAAqC;IACrC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACjD,0CAA0C;IAC1C,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAE/C;;;;;;;;;OASG;gBACS,EAAE,EAAE,YAAY;IAO5B;;;;;;;;;;OAUG;IACH,GAAG,CAAC,MAAM,EAAE,UAAU;IAOtB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM;IAWnB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,EAAE,YAAY;IAUzB;;;;;;;;OAQG;IACH,SAAS;IAKT;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM;IAKhB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM;IAIhB;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM;IAKlB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,EAAE,YAAY;IAIxB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS;IAItD;;;;;;;;;;;;OAYG;IACH,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC;IAI7C;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;CAGrC"}
@@ -65,7 +65,8 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
65
65
  */
66
66
  AcDbSymbolTable.prototype.add = function (record) {
67
67
  record.database = this.database;
68
- this._recordsByName.set(record.name, record);
68
+ var normalizedName = this.normalizeName(record.name);
69
+ this._recordsByName.set(normalizedName, record);
69
70
  this._recordsById.set(record.objectId, record);
70
71
  };
71
72
  /**
@@ -83,7 +84,8 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
83
84
  * ```
84
85
  */
85
86
  AcDbSymbolTable.prototype.remove = function (name) {
86
- var record = this._recordsByName.get(name);
87
+ var normalizedName = this.normalizeName(name);
88
+ var record = this._recordsByName.get(normalizedName);
87
89
  if (record) {
88
90
  this._recordsById.delete(record.objectId);
89
91
  this._recordsByName.delete(name);
@@ -141,7 +143,8 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
141
143
  * ```
142
144
  */
143
145
  AcDbSymbolTable.prototype.has = function (name) {
144
- return this._recordsByName.has(name);
146
+ var normalizedName = this.normalizeName(name);
147
+ return this._recordsByName.has(normalizedName);
145
148
  };
146
149
  /**
147
150
  * Checks if the table contains a record with the specified ID.
@@ -174,7 +177,8 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
174
177
  * ```
175
178
  */
176
179
  AcDbSymbolTable.prototype.getAt = function (name) {
177
- return this._recordsByName.get(name);
180
+ var normalizedName = this.normalizeName(name);
181
+ return this._recordsByName.get(normalizedName);
178
182
  };
179
183
  /**
180
184
  * Searches the table for a record with the specified ID.
@@ -226,6 +230,22 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
226
230
  AcDbSymbolTable.prototype.newIterator = function () {
227
231
  return new AcDbObjectIterator(this._recordsByName);
228
232
  };
233
+ /**
234
+ * Normalizes the name of a symbol table record.
235
+ *
236
+ * Some symbol table records require name normalization. For example, the
237
+ * model space block table record may appear as either `*Model_Space` or
238
+ * `*MODEL_SPACE`, and should be standardized to a consistent form.
239
+ *
240
+ * Subclasses should override this method to implement record-specific
241
+ * normalization rules.
242
+ *
243
+ * @param name - The raw name of the symbol table record.
244
+ * @returns The normalized symbol table record name.
245
+ */
246
+ AcDbSymbolTable.prototype.normalizeName = function (name) {
247
+ return name;
248
+ };
229
249
  return AcDbSymbolTable;
230
250
  }(AcDbObject));
231
251
  export { AcDbSymbolTable };
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbSymbolTable.js","sourceRoot":"","sources":["../../src/database/AcDbSymbolTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbSymbolTable.js","sourceRoot":"","sources":["../../src/database/AcDbSymbolTable.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlightcad/data-model",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -37,8 +37,8 @@
37
37
  },
38
38
  "devDependencies": {
39
39
  "@mlightcad/common": "1.1.4",
40
- "@mlightcad/geometry-engine": "2.0.6",
41
- "@mlightcad/graphic-interface": "2.0.6"
40
+ "@mlightcad/graphic-interface": "2.0.7",
41
+ "@mlightcad/geometry-engine": "2.0.7"
42
42
  },
43
43
  "scripts": {
44
44
  "analyze": "vite build --mode analyze",