@mlightcad/data-model 1.2.3 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data-model.cjs +5 -0
- package/dist/data-model.js +2388 -2084
- package/dist/dxf-parser-worker.js +1296 -0
- package/lib/converter/AcDbDxfConverter.d.ts +3 -2
- package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
- package/lib/converter/AcDbDxfConverter.js +27 -5
- package/lib/converter/AcDbDxfConverter.js.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.js +2 -1
- package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
- package/lib/converter/AcDbObjectConverter.d.ts +2 -1
- package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
- package/lib/converter/AcDbObjectConverter.js +11 -2
- package/lib/converter/AcDbObjectConverter.js.map +1 -1
- package/lib/converter/index.d.ts +1 -0
- package/lib/converter/index.d.ts.map +1 -1
- package/lib/converter/index.js +1 -0
- package/lib/converter/index.js.map +1 -1
- package/lib/converter/worker/AcDbBaseWorker.d.ts +36 -0
- package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -0
- package/lib/converter/worker/AcDbBaseWorker.js +93 -0
- package/lib/converter/worker/AcDbBaseWorker.js.map +1 -0
- package/lib/converter/worker/AcDbDxfParserWorker.d.ts +2 -0
- package/lib/converter/worker/AcDbDxfParserWorker.d.ts.map +1 -0
- package/lib/converter/worker/AcDbDxfParserWorker.js +76 -0
- package/lib/converter/worker/AcDbDxfParserWorker.js.map +1 -0
- package/lib/converter/worker/AcDbWorkerManager.d.ts +107 -0
- package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -0
- package/lib/converter/worker/AcDbWorkerManager.js +360 -0
- package/lib/converter/worker/AcDbWorkerManager.js.map +1 -0
- package/lib/converter/worker/index.d.ts +3 -0
- package/lib/converter/worker/index.d.ts.map +1 -0
- package/lib/converter/worker/index.js +3 -0
- package/lib/converter/worker/index.js.map +1 -0
- package/lib/database/AcDbBlockTableRecord.d.ts +21 -0
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbBlockTableRecord.js +27 -0
- package/lib/database/AcDbBlockTableRecord.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +15 -0
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +7 -3
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbDatabaseConverter.d.ts +69 -1
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverter.js +29 -3
- package/lib/database/AcDbDatabaseConverter.js.map +1 -1
- package/lib/object/AcDbDictionary.d.ts.map +1 -1
- package/lib/object/AcDbDictionary.js +25 -1
- package/lib/object/AcDbDictionary.js.map +1 -1
- package/lib/object/layout/AcDbLayoutManager.d.ts +19 -4
- package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayoutManager.js +27 -3
- package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
- package/package.json +9 -5
- package/dist/data-model.umd.cjs +0 -5
- package/lib/converter/AcDbDxfParseWorker.d.ts +0 -18
- package/lib/converter/AcDbDxfParseWorker.d.ts.map +0 -1
- package/lib/converter/AcDbDxfParseWorker.js +0 -22
- package/lib/converter/AcDbDxfParseWorker.js.map +0 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple worker framework
|
|
3
|
+
*/
|
|
4
|
+
export interface AcDbWorkerConfig {
|
|
5
|
+
/** Worker script URL (required if useWorker is true) */
|
|
6
|
+
workerUrl: string;
|
|
7
|
+
/** Timeout for worker operations in milliseconds */
|
|
8
|
+
timeout?: number;
|
|
9
|
+
/** Maximum number of concurrent workers */
|
|
10
|
+
maxConcurrentWorkers?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface AcDbWorkerResult<TOutput = unknown> {
|
|
13
|
+
success: boolean;
|
|
14
|
+
data?: TOutput;
|
|
15
|
+
error?: string;
|
|
16
|
+
duration: number;
|
|
17
|
+
}
|
|
18
|
+
export interface AcDbWorkerInstance {
|
|
19
|
+
worker: Worker;
|
|
20
|
+
isBusy: boolean;
|
|
21
|
+
id: string;
|
|
22
|
+
createdAt: Date;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Simple worker framework
|
|
26
|
+
*/
|
|
27
|
+
export declare class AcDbWorkerManager {
|
|
28
|
+
private config;
|
|
29
|
+
private taskId;
|
|
30
|
+
private workers;
|
|
31
|
+
private pendingTasks;
|
|
32
|
+
constructor(config: AcDbWorkerConfig);
|
|
33
|
+
/**
|
|
34
|
+
* Execute a task with worker support and fallback
|
|
35
|
+
*/
|
|
36
|
+
execute<TInput, TOutput>(input: TInput, workerUrl?: string): Promise<AcDbWorkerResult<TOutput>>;
|
|
37
|
+
/**
|
|
38
|
+
* Execute task in web worker
|
|
39
|
+
*/
|
|
40
|
+
private executeInWorker;
|
|
41
|
+
/**
|
|
42
|
+
* Clean up a pending task
|
|
43
|
+
*/
|
|
44
|
+
private cleanupTask;
|
|
45
|
+
/**
|
|
46
|
+
* Generate unique task ID
|
|
47
|
+
*/
|
|
48
|
+
private generateTaskId;
|
|
49
|
+
/**
|
|
50
|
+
* Detect if web workers are supported
|
|
51
|
+
*/
|
|
52
|
+
detectWorkerSupport(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Get an available worker or create a new one
|
|
55
|
+
*/
|
|
56
|
+
private getAvailableWorker;
|
|
57
|
+
/**
|
|
58
|
+
* Release a worker back to the pool
|
|
59
|
+
*/
|
|
60
|
+
private releaseWorker;
|
|
61
|
+
/**
|
|
62
|
+
* Generate unique worker ID
|
|
63
|
+
*/
|
|
64
|
+
private generateWorkerId;
|
|
65
|
+
/**
|
|
66
|
+
* Get framework statistics
|
|
67
|
+
*/
|
|
68
|
+
getStats(): {
|
|
69
|
+
totalWorkers: number;
|
|
70
|
+
busyWorkers: number;
|
|
71
|
+
pendingTasks: number;
|
|
72
|
+
config: Required<AcDbWorkerConfig>;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Clean up all pending tasks and workers
|
|
76
|
+
*/
|
|
77
|
+
destroy(): void;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Simple API for executing tasks with worker support
|
|
81
|
+
*/
|
|
82
|
+
export declare class AcDbWorkerApi {
|
|
83
|
+
private framework;
|
|
84
|
+
constructor(config: AcDbWorkerConfig);
|
|
85
|
+
/**
|
|
86
|
+
* Execute a task with optional worker support
|
|
87
|
+
*/
|
|
88
|
+
execute<TInput, TOutput>(input: TInput, workerUrl?: string): Promise<AcDbWorkerResult<TOutput>>;
|
|
89
|
+
/**
|
|
90
|
+
* Get framework statistics
|
|
91
|
+
*/
|
|
92
|
+
getStats(): {
|
|
93
|
+
totalWorkers: number;
|
|
94
|
+
busyWorkers: number;
|
|
95
|
+
pendingTasks: number;
|
|
96
|
+
config: Required<AcDbWorkerConfig>;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Clean up resources
|
|
100
|
+
*/
|
|
101
|
+
destroy(): void;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Create a worker API instance
|
|
105
|
+
*/
|
|
106
|
+
export declare function createWorkerApi(config: AcDbWorkerConfig): AcDbWorkerApi;
|
|
107
|
+
//# sourceMappingURL=AcDbWorkerManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbWorkerManager.d.ts","sourceRoot":"","sources":["../../../src/converter/worker/AcDbWorkerManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,OAAO;IACjD,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,YAAY,CAOjB;gBAES,MAAM,EAAE,gBAAgB;IAQpC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,OAAO,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAoBrC;;OAEG;YACW,eAAe;IA0E7B;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,QAAQ;;;;;;IAUR;;OAEG;IACH,OAAO,IAAI,IAAI;CAchB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAmB;gBAExB,MAAM,EAAE,gBAAgB;IAIpC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,OAAO,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAIrC;;OAEG;IACH,QAAQ;;;;;;IAIR;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAEvE"}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple worker framework
|
|
3
|
+
*/
|
|
4
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
17
|
+
function step(op) {
|
|
18
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
20
|
+
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;
|
|
21
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
+
switch (op[0]) {
|
|
23
|
+
case 0: case 1: t = op; break;
|
|
24
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
+
default:
|
|
28
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
+
if (t[2]) _.ops.pop();
|
|
33
|
+
_.trys.pop(); continue;
|
|
34
|
+
}
|
|
35
|
+
op = body.call(thisArg, _);
|
|
36
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var __values = (this && this.__values) || function(o) {
|
|
41
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
42
|
+
if (m) return m.call(o);
|
|
43
|
+
if (o && typeof o.length === "number") return {
|
|
44
|
+
next: function () {
|
|
45
|
+
if (o && i >= o.length) o = void 0;
|
|
46
|
+
return { value: o && o[i++], done: !o };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
50
|
+
};
|
|
51
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
52
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
53
|
+
if (!m) return o;
|
|
54
|
+
var i = m.call(o), r, ar = [], e;
|
|
55
|
+
try {
|
|
56
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
57
|
+
}
|
|
58
|
+
catch (error) { e = { error: error }; }
|
|
59
|
+
finally {
|
|
60
|
+
try {
|
|
61
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
62
|
+
}
|
|
63
|
+
finally { if (e) throw e.error; }
|
|
64
|
+
}
|
|
65
|
+
return ar;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Simple worker framework
|
|
69
|
+
*/
|
|
70
|
+
var AcDbWorkerManager = /** @class */ (function () {
|
|
71
|
+
function AcDbWorkerManager(config) {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
this.taskId = 0;
|
|
74
|
+
this.workers = new Map();
|
|
75
|
+
this.pendingTasks = new Map();
|
|
76
|
+
this.config = {
|
|
77
|
+
workerUrl: config.workerUrl,
|
|
78
|
+
timeout: (_a = config.timeout) !== null && _a !== void 0 ? _a : 30000,
|
|
79
|
+
maxConcurrentWorkers: (_b = config.maxConcurrentWorkers) !== null && _b !== void 0 ? _b : 4
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Execute a task with worker support and fallback
|
|
84
|
+
*/
|
|
85
|
+
AcDbWorkerManager.prototype.execute = function (input, workerUrl) {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
87
|
+
var startTime, taskId, error_1, duration;
|
|
88
|
+
return __generator(this, function (_a) {
|
|
89
|
+
switch (_a.label) {
|
|
90
|
+
case 0:
|
|
91
|
+
startTime = Date.now();
|
|
92
|
+
taskId = this.generateTaskId();
|
|
93
|
+
_a.label = 1;
|
|
94
|
+
case 1:
|
|
95
|
+
_a.trys.push([1, 3, , 4]);
|
|
96
|
+
return [4 /*yield*/, this.executeInWorker(taskId, input, workerUrl || this.config.workerUrl)];
|
|
97
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
98
|
+
case 3:
|
|
99
|
+
error_1 = _a.sent();
|
|
100
|
+
duration = Date.now() - startTime;
|
|
101
|
+
return [2 /*return*/, {
|
|
102
|
+
success: false,
|
|
103
|
+
error: error_1 instanceof Error ? error_1.message : String(error_1),
|
|
104
|
+
duration: duration
|
|
105
|
+
}];
|
|
106
|
+
case 4: return [2 /*return*/];
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Execute task in web worker
|
|
113
|
+
*/
|
|
114
|
+
AcDbWorkerManager.prototype.executeInWorker = function (taskId, input, workerUrl) {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
116
|
+
var startTime;
|
|
117
|
+
var _this = this;
|
|
118
|
+
return __generator(this, function (_a) {
|
|
119
|
+
startTime = Date.now();
|
|
120
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
121
|
+
// Get or create worker
|
|
122
|
+
var worker = _this.getAvailableWorker(workerUrl);
|
|
123
|
+
// Set up timeout
|
|
124
|
+
var timeout = setTimeout(function () {
|
|
125
|
+
_this.cleanupTask(taskId);
|
|
126
|
+
_this.releaseWorker(worker);
|
|
127
|
+
reject(new Error("Worker operation timed out after ".concat(_this.config.timeout, "ms")));
|
|
128
|
+
}, _this.config.timeout);
|
|
129
|
+
// Store task
|
|
130
|
+
_this.pendingTasks.set(taskId, {
|
|
131
|
+
resolve: function (result) {
|
|
132
|
+
clearTimeout(timeout);
|
|
133
|
+
_this.releaseWorker(worker);
|
|
134
|
+
resolve(result);
|
|
135
|
+
},
|
|
136
|
+
reject: function (error) {
|
|
137
|
+
clearTimeout(timeout);
|
|
138
|
+
_this.releaseWorker(worker);
|
|
139
|
+
reject(error);
|
|
140
|
+
},
|
|
141
|
+
timeout: timeout
|
|
142
|
+
});
|
|
143
|
+
// Set up message handler
|
|
144
|
+
var messageHandler = function (event) {
|
|
145
|
+
var _a = event.data, id = _a.id, success = _a.success, data = _a.data, error = _a.error;
|
|
146
|
+
if (id !== taskId)
|
|
147
|
+
return;
|
|
148
|
+
_this.cleanupTask(taskId);
|
|
149
|
+
var duration = Date.now() - startTime;
|
|
150
|
+
if (success) {
|
|
151
|
+
resolve({
|
|
152
|
+
success: true,
|
|
153
|
+
data: data,
|
|
154
|
+
duration: duration
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
resolve({
|
|
159
|
+
success: false,
|
|
160
|
+
error: error,
|
|
161
|
+
duration: duration
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
var errorHandler = function (error) {
|
|
166
|
+
_this.cleanupTask(taskId);
|
|
167
|
+
reject(new Error("Worker error: ".concat(error.message)));
|
|
168
|
+
};
|
|
169
|
+
worker.addEventListener('message', messageHandler);
|
|
170
|
+
worker.addEventListener('error', errorHandler);
|
|
171
|
+
// Send task to worker
|
|
172
|
+
worker.postMessage({
|
|
173
|
+
id: taskId,
|
|
174
|
+
input: input
|
|
175
|
+
});
|
|
176
|
+
})];
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Clean up a pending task
|
|
182
|
+
*/
|
|
183
|
+
AcDbWorkerManager.prototype.cleanupTask = function (taskId) {
|
|
184
|
+
var task = this.pendingTasks.get(taskId);
|
|
185
|
+
if (task) {
|
|
186
|
+
clearTimeout(task.timeout);
|
|
187
|
+
this.pendingTasks.delete(taskId);
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Generate unique task ID
|
|
192
|
+
*/
|
|
193
|
+
AcDbWorkerManager.prototype.generateTaskId = function () {
|
|
194
|
+
return "task_".concat(++this.taskId, "_").concat(Date.now());
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* Detect if web workers are supported
|
|
198
|
+
*/
|
|
199
|
+
AcDbWorkerManager.prototype.detectWorkerSupport = function () {
|
|
200
|
+
return typeof Worker !== 'undefined';
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Get an available worker or create a new one
|
|
204
|
+
*/
|
|
205
|
+
AcDbWorkerManager.prototype.getAvailableWorker = function (workerUrl) {
|
|
206
|
+
var e_1, _a;
|
|
207
|
+
try {
|
|
208
|
+
// Find available worker
|
|
209
|
+
for (var _b = __values(this.workers), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
210
|
+
var _d = __read(_c.value, 2), _id = _d[0], instance = _d[1];
|
|
211
|
+
if (!instance.isBusy) {
|
|
212
|
+
instance.isBusy = true;
|
|
213
|
+
return instance.worker;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
218
|
+
finally {
|
|
219
|
+
try {
|
|
220
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
221
|
+
}
|
|
222
|
+
finally { if (e_1) throw e_1.error; }
|
|
223
|
+
}
|
|
224
|
+
// Create new worker if under limit
|
|
225
|
+
if (this.workers.size < this.config.maxConcurrentWorkers) {
|
|
226
|
+
var worker = new Worker(workerUrl, { type: 'module' });
|
|
227
|
+
var id = this.generateWorkerId();
|
|
228
|
+
var instance = {
|
|
229
|
+
worker: worker,
|
|
230
|
+
isBusy: true,
|
|
231
|
+
id: id,
|
|
232
|
+
createdAt: new Date()
|
|
233
|
+
};
|
|
234
|
+
this.workers.set(id, instance);
|
|
235
|
+
return worker;
|
|
236
|
+
}
|
|
237
|
+
// Reuse oldest worker
|
|
238
|
+
var oldestWorker = Array.from(this.workers.values()).sort(function (a, b) { return a.createdAt.getTime() - b.createdAt.getTime(); })[0];
|
|
239
|
+
oldestWorker.isBusy = true;
|
|
240
|
+
return oldestWorker.worker;
|
|
241
|
+
};
|
|
242
|
+
/**
|
|
243
|
+
* Release a worker back to the pool
|
|
244
|
+
*/
|
|
245
|
+
AcDbWorkerManager.prototype.releaseWorker = function (worker) {
|
|
246
|
+
var e_2, _a;
|
|
247
|
+
try {
|
|
248
|
+
for (var _b = __values(this.workers), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
249
|
+
var _d = __read(_c.value, 2), _id = _d[0], instance = _d[1];
|
|
250
|
+
if (instance.worker === worker) {
|
|
251
|
+
instance.isBusy = false;
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
257
|
+
finally {
|
|
258
|
+
try {
|
|
259
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
260
|
+
}
|
|
261
|
+
finally { if (e_2) throw e_2.error; }
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* Generate unique worker ID
|
|
266
|
+
*/
|
|
267
|
+
AcDbWorkerManager.prototype.generateWorkerId = function () {
|
|
268
|
+
return "worker_".concat(Date.now(), "_").concat(Math.random().toString(36).substr(2, 9));
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* Get framework statistics
|
|
272
|
+
*/
|
|
273
|
+
AcDbWorkerManager.prototype.getStats = function () {
|
|
274
|
+
return {
|
|
275
|
+
totalWorkers: this.workers.size,
|
|
276
|
+
busyWorkers: Array.from(this.workers.values()).filter(function (w) { return w.isBusy; })
|
|
277
|
+
.length,
|
|
278
|
+
pendingTasks: this.pendingTasks.size,
|
|
279
|
+
config: this.config
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
/**
|
|
283
|
+
* Clean up all pending tasks and workers
|
|
284
|
+
*/
|
|
285
|
+
AcDbWorkerManager.prototype.destroy = function () {
|
|
286
|
+
var e_3, _a, e_4, _b;
|
|
287
|
+
try {
|
|
288
|
+
// Clear all pending requests
|
|
289
|
+
for (var _c = __values(this.pendingTasks), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
290
|
+
var _e = __read(_d.value, 2), _taskId = _e[0], task = _e[1];
|
|
291
|
+
clearTimeout(task.timeout);
|
|
292
|
+
task.reject(new Error('Framework destroyed'));
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
296
|
+
finally {
|
|
297
|
+
try {
|
|
298
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
299
|
+
}
|
|
300
|
+
finally { if (e_3) throw e_3.error; }
|
|
301
|
+
}
|
|
302
|
+
this.pendingTasks.clear();
|
|
303
|
+
try {
|
|
304
|
+
// Terminate all workers
|
|
305
|
+
for (var _f = __values(this.workers), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
306
|
+
var _h = __read(_g.value, 2), _id = _h[0], instance = _h[1];
|
|
307
|
+
instance.worker.terminate();
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
311
|
+
finally {
|
|
312
|
+
try {
|
|
313
|
+
if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
|
|
314
|
+
}
|
|
315
|
+
finally { if (e_4) throw e_4.error; }
|
|
316
|
+
}
|
|
317
|
+
this.workers.clear();
|
|
318
|
+
};
|
|
319
|
+
return AcDbWorkerManager;
|
|
320
|
+
}());
|
|
321
|
+
export { AcDbWorkerManager };
|
|
322
|
+
/**
|
|
323
|
+
* Simple API for executing tasks with worker support
|
|
324
|
+
*/
|
|
325
|
+
var AcDbWorkerApi = /** @class */ (function () {
|
|
326
|
+
function AcDbWorkerApi(config) {
|
|
327
|
+
this.framework = new AcDbWorkerManager(config);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Execute a task with optional worker support
|
|
331
|
+
*/
|
|
332
|
+
AcDbWorkerApi.prototype.execute = function (input, workerUrl) {
|
|
333
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
334
|
+
return __generator(this, function (_a) {
|
|
335
|
+
return [2 /*return*/, this.framework.execute(input, workerUrl)];
|
|
336
|
+
});
|
|
337
|
+
});
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* Get framework statistics
|
|
341
|
+
*/
|
|
342
|
+
AcDbWorkerApi.prototype.getStats = function () {
|
|
343
|
+
return this.framework.getStats();
|
|
344
|
+
};
|
|
345
|
+
/**
|
|
346
|
+
* Clean up resources
|
|
347
|
+
*/
|
|
348
|
+
AcDbWorkerApi.prototype.destroy = function () {
|
|
349
|
+
this.framework.destroy();
|
|
350
|
+
};
|
|
351
|
+
return AcDbWorkerApi;
|
|
352
|
+
}());
|
|
353
|
+
export { AcDbWorkerApi };
|
|
354
|
+
/**
|
|
355
|
+
* Create a worker API instance
|
|
356
|
+
*/
|
|
357
|
+
export function createWorkerApi(config) {
|
|
358
|
+
return new AcDbWorkerApi(config);
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=AcDbWorkerManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbWorkerManager.js","sourceRoot":"","sources":["../../../src/converter/worker/AcDbWorkerManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/converter/worker/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/converter/worker/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AcGePoint3d } from '@mlightcad/geometry-engine';
|
|
2
|
+
import { AcDbObjectId } from '../base/AcDbObject';
|
|
2
3
|
import { AcDbEntity } from '../entity/AcDbEntity';
|
|
3
4
|
import { AcDbObjectIterator } from '../misc/AcDbObjectIterator';
|
|
4
5
|
import { AcDbSymbolTableRecord } from './AcDbSymbolTableRecord';
|
|
@@ -27,6 +28,8 @@ export declare class AcDbBlockTableRecord extends AcDbSymbolTableRecord {
|
|
|
27
28
|
static PAPER_SPACE_NAME_PREFIX: string;
|
|
28
29
|
/** The base point of the block in WCS coordinates */
|
|
29
30
|
private _origin;
|
|
31
|
+
/** The object id of the associated AcDbLayout object in the Layouts dictionary.*/
|
|
32
|
+
private _layoutId;
|
|
30
33
|
/** Map of entities indexed by their object IDs */
|
|
31
34
|
private _entities;
|
|
32
35
|
/**
|
|
@@ -116,6 +119,24 @@ export declare class AcDbBlockTableRecord extends AcDbSymbolTableRecord {
|
|
|
116
119
|
*/
|
|
117
120
|
get origin(): AcGePoint3d;
|
|
118
121
|
set origin(value: AcGePoint3d);
|
|
122
|
+
/**
|
|
123
|
+
* Gets or sets the object ID of the associated AcDbLayout object in the Layouts dictionary.
|
|
124
|
+
*
|
|
125
|
+
* This property links the block table record to its corresponding layout object,
|
|
126
|
+
* which defines the viewport configuration and display settings for the block.
|
|
127
|
+
* For model space blocks, this is typically empty, while paper space blocks
|
|
128
|
+
* have a corresponding layout ID.
|
|
129
|
+
*
|
|
130
|
+
* @returns The object ID of the associated layout
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const layoutId = blockRecord.layoutId;
|
|
135
|
+
* blockRecord.layoutId = 'some-layout-object-id';
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
get layoutId(): AcDbObjectId;
|
|
139
|
+
set layoutId(value: AcDbObjectId);
|
|
119
140
|
/**
|
|
120
141
|
* Appends the specified entity to this block table record.
|
|
121
142
|
*
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"AcDbBlockTableRecord.d.ts","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,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,kFAAkF;IAClF,OAAO,CAAC,SAAS,CAAc;IAC/B,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAMpC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAMpC;;;;;;;OAOG;;IAQH;;;;;;;;;;;;;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;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ,IAGQ,YAAY,CAD/B;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAE/B;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"}
|
|
@@ -47,6 +47,7 @@ var AcDbBlockTableRecord = /** @class */ (function (_super) {
|
|
|
47
47
|
function AcDbBlockTableRecord() {
|
|
48
48
|
var _this = _super.call(this) || this;
|
|
49
49
|
_this._origin = new AcGePoint3d();
|
|
50
|
+
_this._layoutId = '';
|
|
50
51
|
_this._entities = new Map();
|
|
51
52
|
return _this;
|
|
52
53
|
}
|
|
@@ -154,6 +155,32 @@ var AcDbBlockTableRecord = /** @class */ (function (_super) {
|
|
|
154
155
|
enumerable: false,
|
|
155
156
|
configurable: true
|
|
156
157
|
});
|
|
158
|
+
Object.defineProperty(AcDbBlockTableRecord.prototype, "layoutId", {
|
|
159
|
+
/**
|
|
160
|
+
* Gets or sets the object ID of the associated AcDbLayout object in the Layouts dictionary.
|
|
161
|
+
*
|
|
162
|
+
* This property links the block table record to its corresponding layout object,
|
|
163
|
+
* which defines the viewport configuration and display settings for the block.
|
|
164
|
+
* For model space blocks, this is typically empty, while paper space blocks
|
|
165
|
+
* have a corresponding layout ID.
|
|
166
|
+
*
|
|
167
|
+
* @returns The object ID of the associated layout
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* const layoutId = blockRecord.layoutId;
|
|
172
|
+
* blockRecord.layoutId = 'some-layout-object-id';
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
get: function () {
|
|
176
|
+
return this._layoutId;
|
|
177
|
+
},
|
|
178
|
+
set: function (value) {
|
|
179
|
+
this._layoutId = value;
|
|
180
|
+
},
|
|
181
|
+
enumerable: false,
|
|
182
|
+
configurable: true
|
|
183
|
+
});
|
|
157
184
|
/**
|
|
158
185
|
* Appends the specified entity to this block table record.
|
|
159
186
|
*
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"AcDbBlockTableRecord.js","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,17 @@ import { AcDbLinetypeTable } from './AcDbLinetypeTable';
|
|
|
12
12
|
import { AcDbTextStyleTable } from './AcDbTextStyleTable';
|
|
13
13
|
import { AcDbViewportTable } from './AcDbViewportTable';
|
|
14
14
|
import { AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
|
|
15
|
+
/**
|
|
16
|
+
* Event arguments for object events in the dictionary.
|
|
17
|
+
*/
|
|
18
|
+
export interface AcDbDictObjectEventArgs {
|
|
19
|
+
/** The database that triggered the event */
|
|
20
|
+
database: AcDbDatabase;
|
|
21
|
+
/** The object involved in the event */
|
|
22
|
+
object: AcDbObject;
|
|
23
|
+
/** The key name of the object */
|
|
24
|
+
key: string;
|
|
25
|
+
}
|
|
15
26
|
/**
|
|
16
27
|
* Event arguments for entity-related events.
|
|
17
28
|
*/
|
|
@@ -230,6 +241,10 @@ export declare class AcDbDatabase extends AcDbObject {
|
|
|
230
241
|
* such as entity modifications, layer changes, and progress updates.
|
|
231
242
|
*/
|
|
232
243
|
readonly events: {
|
|
244
|
+
/** Fired when an object is set to the dictionary */
|
|
245
|
+
dictObjetSet: AcCmEventManager<AcDbDictObjectEventArgs>;
|
|
246
|
+
/** Fired when an object in the dictionary is removed */
|
|
247
|
+
dictObjectErased: AcCmEventManager<AcDbDictObjectEventArgs>;
|
|
233
248
|
/** Fired when an entity is appended to the database */
|
|
234
249
|
entityAppended: AcCmEventManager<AcDbEntityEventArgs>;
|
|
235
250
|
/** Fired when an entity is modified in the database */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDatabase.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AcDbDatabase.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}
|