@mlightcad/data-model 1.2.3 → 1.2.5
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 +1105 -863
- 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 +25 -4
- 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/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/AcDbDatabase.js +3 -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/package.json +11 -7
- 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"}
|
|
@@ -482,7 +482,7 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
482
482
|
throw new Error("Database converter for file type '".concat(fileType, "' isn't registered and can can't read this file!"));
|
|
483
483
|
this.clear();
|
|
484
484
|
return [4 /*yield*/, converter.read(data, this, (options && options.minimumChunkSize) || 10, function (percentage, stage, stageStatus, data) { return __awaiter(_this, void 0, void 0, function () {
|
|
485
|
-
var
|
|
485
|
+
var fonts_1;
|
|
486
486
|
return __generator(this, function (_a) {
|
|
487
487
|
switch (_a.label) {
|
|
488
488
|
case 0:
|
|
@@ -497,10 +497,10 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
497
497
|
options.fontLoader &&
|
|
498
498
|
stage == 'FONT' &&
|
|
499
499
|
stageStatus == 'END')) return [3 /*break*/, 2];
|
|
500
|
-
|
|
500
|
+
fonts_1 = data
|
|
501
501
|
? data
|
|
502
502
|
: this.tables.textStyleTable.fonts;
|
|
503
|
-
return [4 /*yield*/, options.fontLoader.load(
|
|
503
|
+
return [4 /*yield*/, options.fontLoader.load(fonts_1)];
|
|
504
504
|
case 1:
|
|
505
505
|
_a.sent();
|
|
506
506
|
_a.label = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDatabase.js","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AcDbDatabase.js","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -125,6 +125,51 @@ export interface AcDbConvertDatabasePerformanceData {
|
|
|
125
125
|
[key: string]: number;
|
|
126
126
|
total: number;
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Configuration options for database converters.
|
|
130
|
+
*
|
|
131
|
+
* This interface defines the configuration parameters that can be passed
|
|
132
|
+
* to database converters to customize their behavior during the conversion
|
|
133
|
+
* process.
|
|
134
|
+
*/
|
|
135
|
+
export interface AcDbDatabaseConverterConfig {
|
|
136
|
+
/**
|
|
137
|
+
* Optional URL for web worker scripts used in the conversion process.
|
|
138
|
+
*
|
|
139
|
+
* When provided, this URL points to a web worker script that can be used
|
|
140
|
+
* for offloading computationally intensive parsing tasks to a background
|
|
141
|
+
* thread, improving performance and preventing UI blocking.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* const config: AcDbDatabaseConverterConfig = {
|
|
146
|
+
* parserWorkerUrl: '/assets/dxf-parser-worker.js'
|
|
147
|
+
* };
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
parserWorkerUrl?: string;
|
|
151
|
+
/**
|
|
152
|
+
* Whether to use web workers for computationally intensive tasks.
|
|
153
|
+
*
|
|
154
|
+
* When set to `true`, the converter will attempt to use web workers
|
|
155
|
+
* for computationally intensive tasks, which can improve performance
|
|
156
|
+
* by offloading work to background threads and preventing UI blocking.
|
|
157
|
+
*
|
|
158
|
+
* When set to `false`, all computationally intensive operations will be
|
|
159
|
+
* performed on the main thread.
|
|
160
|
+
*
|
|
161
|
+
* @default false
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* const config: AcDbDatabaseConverterConfig = {
|
|
166
|
+
* useWorker: true,
|
|
167
|
+
* parserWorkerUrl: '/assets/dxf-parser-worker.js'
|
|
168
|
+
* };
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
useWorker?: boolean;
|
|
172
|
+
}
|
|
128
173
|
/**
|
|
129
174
|
* Abstract base class for database converters.
|
|
130
175
|
*
|
|
@@ -141,6 +186,8 @@ export interface AcDbConvertDatabasePerformanceData {
|
|
|
141
186
|
* // Implementation for parsing data
|
|
142
187
|
* }
|
|
143
188
|
*
|
|
189
|
+
* ......
|
|
190
|
+
*
|
|
144
191
|
* protected processEntities(model: MyModel, db: AcDbDatabase) {
|
|
145
192
|
* // Implementation for processing entities
|
|
146
193
|
* }
|
|
@@ -150,6 +197,27 @@ export interface AcDbConvertDatabasePerformanceData {
|
|
|
150
197
|
export declare abstract class AcDbDatabaseConverter<TModel = unknown> {
|
|
151
198
|
/** Optional progress callback for tracking conversion progress */
|
|
152
199
|
progress?: AcDbConversionProgressCallback;
|
|
200
|
+
/** Configuration for the converter */
|
|
201
|
+
readonly config: AcDbDatabaseConverterConfig;
|
|
202
|
+
/**
|
|
203
|
+
* Creates a new instance of the database converter.
|
|
204
|
+
*
|
|
205
|
+
* @param config - Configuration options for the converter. This includes settings
|
|
206
|
+
* such as worker URL for web workers used in the conversion process.
|
|
207
|
+
* If not provided, an empty configuration object will be used.
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* ```typescript
|
|
211
|
+
* // Create converter with default configuration
|
|
212
|
+
* const converter = new AcDbDxfConverter();
|
|
213
|
+
*
|
|
214
|
+
* // Create converter with custom worker URL
|
|
215
|
+
* const converter = new AcDbDxfConverter({
|
|
216
|
+
* parserWorkerUrl: '/assets/dxf-parser-worker.js'
|
|
217
|
+
* });
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
constructor(config?: AcDbDatabaseConverterConfig);
|
|
153
221
|
/**
|
|
154
222
|
* Reads and converts data into an AcDbDatabase.
|
|
155
223
|
*
|
|
@@ -173,7 +241,7 @@ export declare abstract class AcDbDatabaseConverter<TModel = unknown> {
|
|
|
173
241
|
read(data: string | ArrayBuffer, db: AcDbDatabase, minimumChunkSize: number, progress?: AcDbConversionProgressCallback): Promise<void>;
|
|
174
242
|
protected onError(error: AcCmTaskError): void;
|
|
175
243
|
protected onFinished(): void;
|
|
176
|
-
protected parse(_data: string | ArrayBuffer): TModel
|
|
244
|
+
protected parse(_data: string | ArrayBuffer, _workerUrl?: string): Promise<TModel | undefined>;
|
|
177
245
|
protected getFonts(_model: TModel): string[];
|
|
178
246
|
protected processLineTypes(_model: TModel, _db: AcDbDatabase): void;
|
|
179
247
|
protected processTextStyles(_model: TModel, _db: AcDbDatabase): void;
|