@safeticsinc/dra 0.0.2 → 0.0.21

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@safeticsinc/dra",
3
- "version": "0.0.2",
3
+ "version": "0.0.21",
4
4
  "description": "digital risk assessment system algorithm and formula",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -20,17 +20,15 @@
20
20
  "README.md"
21
21
  ],
22
22
  "scripts": {
23
- "build": "npm run build:esm && npm run build:cjs && npm run build:cli",
24
- "build:esm": "tsc --project tsconfig.json --outDir dist && node -e \"require('fs').renameSync('dist/index.js', 'dist/index.esm.js')\"",
25
- "build:cjs": "tsc --project tsconfig.cjs.json --outDir dist && node -e \"require('fs').renameSync('dist/index.js', 'dist/index.cjs')\"",
26
- "build:cli": "tsc --project tsconfig.cli.json",
23
+ "build": "tsc && tsc -p tsconfig.cjs.json",
27
24
  "type-check": "tsc --noEmit",
28
25
  "prepublishOnly": "npm run build",
29
- "cli": "tsx src/cli/index.ts"
26
+ "cli-dev": "ts-node src/cli.ts",
27
+ "cli": "dist/cli.ts"
30
28
  },
31
29
  "repository": {
32
30
  "type": "git",
33
- "url": ""
31
+ "url": "https://github.com/mtkim-safetics/dra_math.git"
34
32
  },
35
33
  "engines": {
36
34
  "node": ">=18.0.0"
@@ -41,7 +39,6 @@
41
39
  "@types/three": "^0.159.0",
42
40
  "readline": "^1.3.0",
43
41
  "ts-node": "^10.9.2",
44
- "tsx": "^4.21.0",
45
42
  "typedoc": "^0.28.15",
46
43
  "typescript": "^5.6.3"
47
44
  },
@@ -1,382 +0,0 @@
1
- import { ErrorHandler } from '../core/error';
2
- class ChainableResult {
3
- constructor(value) {
4
- this.value = value;
5
- }
6
- chain(fn) {
7
- return fn(this.value);
8
- }
9
- log(label = 'Result') {
10
- console.log(`[${label}]: ${this.value}`);
11
- return this;
12
- }
13
- }
14
- // ==================== ISO 13855 - 광전자식 방호장치 ====================
15
- export var ISO13855;
16
- (function (ISO13855) {
17
- function A1(K, T, C) {
18
- ErrorHandler.validateType('K', K, 'number');
19
- ErrorHandler.validateType('T', T, 'number');
20
- ErrorHandler.validateType('C', C, 'number');
21
- return K * T + C;
22
- }
23
- ISO13855.A1 = A1;
24
- function A2(t_1, t_2) {
25
- ErrorHandler.validateType('t_1', t_1, 'number');
26
- ErrorHandler.validateType('t_2', t_2, 'number');
27
- return t_1 + t_2;
28
- }
29
- ISO13855.A2 = A2;
30
- function A3(T, d) {
31
- ErrorHandler.validateType('T', T, 'number');
32
- ErrorHandler.validateType('d', d, 'number');
33
- return 2000 * T + 8 * (d - 14);
34
- }
35
- ISO13855.A3 = A3;
36
- function A4(T, d) {
37
- ErrorHandler.validateType('T', T, 'number');
38
- ErrorHandler.validateType('d', d, 'number');
39
- return 1600 * T + 8 * (d - 14);
40
- }
41
- ISO13855.A4 = A4;
42
- function A5(T) {
43
- ErrorHandler.validateType('T', T, 'number');
44
- return 1600 * T + 850;
45
- }
46
- ISO13855.A5 = A5;
47
- function A6(T) {
48
- ErrorHandler.validateType('T', T, 'number');
49
- return 1600 * T + 1200;
50
- }
51
- ISO13855.A6 = A6;
52
- function A7(T, H) {
53
- ErrorHandler.validateType('T', T, 'number');
54
- ErrorHandler.validateType('H', H, 'number');
55
- const invasionDistance = Math.max(1200 - 0.4 * H, 850);
56
- return 1600 * T + invasionDistance;
57
- }
58
- ISO13855.A7 = A7;
59
- function A8(d) {
60
- ErrorHandler.validateType('d', d, 'number');
61
- return 15 * (d - 50);
62
- }
63
- ISO13855.A8 = A8;
64
- function A9(H) {
65
- ErrorHandler.validateType('H', H, 'number');
66
- return H / 15 + 50;
67
- }
68
- ISO13855.A9 = A9;
69
- function A10(K, T, C_RO) {
70
- ErrorHandler.validateType('K', K, 'number');
71
- ErrorHandler.validateType('T', T, 'number');
72
- ErrorHandler.validateType('C_RO', C_RO, 'number');
73
- return K * T + C_RO;
74
- }
75
- ISO13855.A10 = A10;
76
- function A11(T, C_RO) {
77
- ErrorHandler.validateType('K', T, 'number');
78
- ErrorHandler.validateType('K', C_RO, 'number');
79
- return 2000 * T + C_RO;
80
- }
81
- ISO13855.A11 = A11;
82
- function A12(T, C_RO) {
83
- ErrorHandler.validateType('T', T, 'number');
84
- ErrorHandler.validateType('C_RO', C_RO, 'number');
85
- return 1600 * T + C_RO;
86
- }
87
- ISO13855.A12 = A12;
88
- function A13(pathLengths) {
89
- ErrorHandler.validateArrayLength('pathLengths', pathLengths, 0);
90
- return pathLengths.reduce((sum, length) => sum + length, 0);
91
- }
92
- ISO13855.A13 = A13;
93
- function A14(T) {
94
- ErrorHandler.validateType('T', T, 'number');
95
- return 1600 * T + 1200;
96
- }
97
- ISO13855.A14 = A14;
98
- function A15(T, h) {
99
- ErrorHandler.validateType('T', T, 'number');
100
- ErrorHandler.validateType('h', h, 'number');
101
- return 1600 * T + (1200 - 0.4 * h);
102
- }
103
- ISO13855.A15 = A15;
104
- function A16(T) {
105
- ErrorHandler.validateType('T', T, 'number');
106
- return 1600 * T + 250;
107
- }
108
- ISO13855.A16 = A16;
109
- function A17(e, v) {
110
- ErrorHandler.validateType('e', e, 'number');
111
- ErrorHandler.validateType('v', v, 'number');
112
- ErrorHandler.validateRange('v', v, Number.EPSILON);
113
- return e / v;
114
- }
115
- ISO13855.A17 = A17;
116
- function B1(measurements) {
117
- ErrorHandler.validateArrayLength('measurements', measurements, 10);
118
- const mean = measurements.reduce((a, b) => a + b) / measurements.length;
119
- const variance = measurements.reduce((sum, x) => sum + Math.pow(x - mean, 2), 0) /
120
- measurements.length;
121
- const sigma = Math.sqrt(variance);
122
- const calculated = mean + 3 * sigma;
123
- const maximum = Math.max(...measurements);
124
- return Math.max(calculated, maximum);
125
- }
126
- ISO13855.B1 = B1;
127
- function B2(l_1, l_2, l_3) {
128
- ErrorHandler.validateType('l_1', l_1, 'number');
129
- ErrorHandler.validateType('l_2', l_2, 'number');
130
- ErrorHandler.validateType('l_3', l_3, 'number');
131
- return l_1 + l_2 + l_3;
132
- }
133
- ISO13855.B2 = B2;
134
- function B3(S_1, S_2, S_3) {
135
- ErrorHandler.validateType('S_1', S_1, 'number');
136
- ErrorHandler.validateType('S_2', S_2, 'number');
137
- ErrorHandler.validateType('S_3', S_3, 'number');
138
- return S_1 + S_2 + S_3;
139
- }
140
- ISO13855.B3 = B3;
141
- function B4(T) {
142
- ErrorHandler.validateType('T', T, 'number');
143
- return 1600 * T;
144
- }
145
- ISO13855.B4 = B4;
146
- function B5(t_11, t_12) {
147
- ErrorHandler.validateType('t_11', t_11, 'number');
148
- ErrorHandler.validateType('t_12', t_12, 'number');
149
- return t_11 + t_12;
150
- }
151
- ISO13855.B5 = B5;
152
- function B6(S_RT, S_RO) {
153
- ErrorHandler.validateType('S_RT', S_RT, 'number');
154
- ErrorHandler.validateType('S_RO', S_RO, 'number');
155
- return Math.max(S_RT, S_RO);
156
- }
157
- ISO13855.B6 = B6;
158
- function B7(t_1, t_2, t_3) {
159
- ErrorHandler.validateType('t_1', t_1, 'number');
160
- ErrorHandler.validateType('t_2', t_2, 'number');
161
- ErrorHandler.validateType('t_3', t_3, 'number');
162
- return t_1 + t_2 - t_3;
163
- }
164
- ISO13855.B7 = B7;
165
- function B8(projectionLengths) {
166
- ErrorHandler.validateArrayLength('projectionLenths', projectionLengths, 0);
167
- return projectionLengths.reduce((sum, length) => sum + length, 0);
168
- }
169
- ISO13855.B8 = B8;
170
- /**
171
- * === C 공식: 표준에서 태그되지 않은 조건 수식 ===
172
- */
173
- function C1(S) {
174
- ErrorHandler.validateType('S', S, 'number');
175
- return Math.max(S, 100);
176
- }
177
- ISO13855.C1 = C1;
178
- function C2(S) {
179
- ErrorHandler.validateType('S', S, 'number');
180
- return Math.max(S, 500);
181
- }
182
- ISO13855.C2 = C2;
183
- function C3(S, detectionCapacity = 30) {
184
- ErrorHandler.validateType('S', S, 'number');
185
- ErrorHandler.validateType('detectionCapacity', detectionCapacity, 'number');
186
- return S > 150 && detectionCapacity <= 30;
187
- }
188
- ISO13855.C3 = C3;
189
- function C4(S, detectionCapacity = 14) {
190
- ErrorHandler.validateType('S', S, 'number');
191
- ErrorHandler.validateType('detectionCapacity', detectionCapacity, 'number');
192
- return S > 100 && detectionCapacity <= 14;
193
- }
194
- ISO13855.C4 = C4;
195
- function C5(S_actual, S_required) {
196
- ErrorHandler.validateType('S_actual', S_actual, 'number');
197
- ErrorHandler.validateType('S_required', S_required, 'number');
198
- return S_actual >= S_required;
199
- }
200
- ISO13855.C5 = C5;
201
- function C6(H_min) {
202
- ErrorHandler.validateType('H_min', H_min, 'number');
203
- return H_min <= 300;
204
- }
205
- ISO13855.C6 = C6;
206
- function C7(H_max) {
207
- ErrorHandler.validateType('H_max', H_max, 'number');
208
- return H_max <= 1000;
209
- }
210
- ISO13855.C7 = C7;
211
- function C8(H_min) {
212
- ErrorHandler.validateType('H_min', H_min, 'number');
213
- return H_min <= 750;
214
- }
215
- ISO13855.C8 = C8;
216
- function C9(angleA_s, angleA_h) {
217
- ErrorHandler.validateType('angleA_s', angleA_s, 'number');
218
- return angleA_s - angleA_h > 30;
219
- }
220
- ISO13855.C9 = C9;
221
- function C10(S_2000) {
222
- ErrorHandler.validateType('S_2000', S_2000, 'number');
223
- return S_2000 > 500 ? '1600mm/s' : '2000mm/s';
224
- }
225
- ISO13855.C10 = C10;
226
- class CalculationChainImpl {
227
- constructor() {
228
- this.storedParams = {};
229
- }
230
- params(params) {
231
- this.storedParams = params;
232
- return this;
233
- }
234
- update(params) {
235
- this.storedParams = { ...this.storedParams, ...params };
236
- return this;
237
- }
238
- // A 계열
239
- A1(K, T, C) {
240
- return new ChainableResult(A1(K, T, C));
241
- }
242
- A2(t_1, t_2) {
243
- return new ChainableResult(A2(t_1, t_2));
244
- }
245
- A3(T, d) {
246
- return new ChainableResult(A3(T, d));
247
- }
248
- A4(T, d) {
249
- return new ChainableResult(A4(T, d));
250
- }
251
- A5(T) {
252
- return new ChainableResult(A5(T));
253
- }
254
- A6(T) {
255
- return new ChainableResult(A6(T));
256
- }
257
- A7(T, H) {
258
- return new ChainableResult(A7(T, H));
259
- }
260
- A8(d) {
261
- return new ChainableResult(A8(d));
262
- }
263
- A9(H) {
264
- return new ChainableResult(A9(H));
265
- }
266
- A10(K, T, C_RO) {
267
- return new ChainableResult(A10(K, T, C_RO));
268
- }
269
- A11(T, C_RO) {
270
- return new ChainableResult(A11(T, C_RO));
271
- }
272
- A12(T, C_RO) {
273
- return new ChainableResult(A12(T, C_RO));
274
- }
275
- A13(pathLengths) {
276
- return new ChainableResult(A13(pathLengths));
277
- }
278
- A14(T) {
279
- return new ChainableResult(A14(T));
280
- }
281
- A15(T, h) {
282
- return new ChainableResult(A15(T, h));
283
- }
284
- A16(T) {
285
- return new ChainableResult(A16(T));
286
- }
287
- A17(e, v) {
288
- return new ChainableResult(A17(e, v));
289
- }
290
- // B 계열
291
- B1(measurements) {
292
- return new ChainableResult(B1(measurements));
293
- }
294
- B2(l_1, l_2, l_3) {
295
- return new ChainableResult(B2(l_1, l_2, l_3));
296
- }
297
- B3(S_1, S_2, S_3) {
298
- return new ChainableResult(B3(S_1, S_2, S_3));
299
- }
300
- B4(T) {
301
- return new ChainableResult(B4(T));
302
- }
303
- B5(t_11, t_12) {
304
- return new ChainableResult(B5(t_11, t_12));
305
- }
306
- B6(S_RT, S_RO) {
307
- return new ChainableResult(B6(S_RT, S_RO));
308
- }
309
- B7(t_1, t_2, t_3) {
310
- return new ChainableResult(B7(t_1, t_2, t_3));
311
- }
312
- B8(projectionLengths) {
313
- return new ChainableResult(B8(projectionLengths));
314
- }
315
- // C 조건식
316
- C1(S) {
317
- return new ChainableResult(C1(S));
318
- }
319
- C2(S) {
320
- return new ChainableResult(C2(S));
321
- }
322
- C3(S, detectionCapacity) {
323
- return C3(S, detectionCapacity);
324
- }
325
- C4(S, detectionCapacity) {
326
- return C4(S, detectionCapacity);
327
- }
328
- C5(S_actual, S_required) {
329
- return C5(S_actual, S_required);
330
- }
331
- C6(H_min) {
332
- return C6(H_min);
333
- }
334
- C7(H_max) {
335
- return C7(H_max);
336
- }
337
- C8(H_min) {
338
- return C8(H_min);
339
- }
340
- C9(angleA_s, angleA_h) {
341
- return C9(angleA_s, angleA_h);
342
- }
343
- C10(S_2000) {
344
- return C10(S_2000);
345
- }
346
- }
347
- ISO13855.builder = new CalculationChainImpl();
348
- })(ISO13855 || (ISO13855 = {}));
349
- // ==================== ISO 13857 - 보호 구조물 ====================
350
- export var ISO13857;
351
- (function (ISO13857) {
352
- function B1(S_h, S_r) {
353
- ErrorHandler.validateType('S_h', S_h, 'number');
354
- return Math.max(S_h, S_r);
355
- }
356
- ISO13857.B1 = B1;
357
- class CalculationChainImpl {
358
- constructor() {
359
- this.storedParams = {};
360
- }
361
- params(params) {
362
- this.storedParams = params;
363
- return this;
364
- }
365
- update(params) {
366
- this.storedParams = { ...this.storedParams, ...params };
367
- return this;
368
- }
369
- B1(S_h, S_r) {
370
- return new ChainableResult(B1(S_h, S_r));
371
- }
372
- }
373
- ISO13857.builder = new CalculationChainImpl();
374
- })(ISO13857 || (ISO13857 = {}));
375
- export const DRA = {
376
- ISO13855: ISO13855.builder,
377
- ISO13857: ISO13857.builder,
378
- wrap(value) {
379
- return new ChainableResult(value);
380
- },
381
- };
382
- //# sourceMappingURL=formulas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formulas.js","sourceRoot":"","sources":["../../../src/algorithm/formulas.ts"],"names":[],"mappings":"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"}
@@ -1,133 +0,0 @@
1
- import * as readline from 'readline';
2
- import { ISO13855 } from '../algorithm/formulas';
3
- import { DRAError } from '../core/error';
4
- class InteractiveCLI {
5
- constructor() {
6
- this.rl = readline.createInterface({
7
- input: process.stdin,
8
- output: process.stdout,
9
- });
10
- }
11
- start() {
12
- this.showWelcome();
13
- this.showMenu();
14
- }
15
- showWelcome() {
16
- console.log(`
17
- ╔═══════════════════════════════════════════════════════════╗
18
- ║ 🛡️ DRA 안전거리 계산기 (대화형) ║
19
- ╚═══════════════════════════════════════════════════════════╝
20
- `);
21
- }
22
- showMenu() {
23
- const menu = `
24
- 📋 선택할 계산 유형:
25
- 1. A1 - 반응 시간 계산
26
- 2. A17 - 열림 거리/속도 계산
27
- 3. B1 - 통계 분석
28
- 4. B6 - 최대값 선택
29
- 5. 종료
30
-
31
- `;
32
- console.log(menu);
33
- this.prompt('선택 (1-5): ', this.handleMenuChoice.bind(this));
34
- }
35
- handleMenuChoice(choice) {
36
- switch (choice.trim()) {
37
- case '1':
38
- this.inputA1();
39
- break;
40
- case '2':
41
- this.inputA17();
42
- break;
43
- case '3':
44
- this.inputB1();
45
- break;
46
- case '4':
47
- this.inputB6();
48
- break;
49
- case '5':
50
- this.exit();
51
- break;
52
- default:
53
- console.error('❌ 잘못된 선택');
54
- this.showMenu();
55
- }
56
- }
57
- inputA1() {
58
- this.prompt('K 값: ', (K) => {
59
- this.prompt('T 값: ', (T) => {
60
- this.prompt('C 값: ', (C) => {
61
- try {
62
- const result = ISO13855.A1(parseFloat(K), parseFloat(T), parseFloat(C));
63
- console.log(`\n✅ 결과: ${result}\n`);
64
- }
65
- catch (error) {
66
- this.handleError(error);
67
- }
68
- this.showMenu();
69
- });
70
- });
71
- });
72
- }
73
- inputA17() {
74
- this.prompt('e 값: ', (e) => {
75
- this.prompt('v 값: ', (v) => {
76
- try {
77
- const result = ISO13855.A17(parseFloat(e), parseFloat(v));
78
- console.log(`\n✅ 결과: ${result}\n`);
79
- }
80
- catch (error) {
81
- this.handleError(error);
82
- }
83
- this.showMenu();
84
- });
85
- });
86
- }
87
- inputB1() {
88
- this.prompt('측정값을 쉼표로 분리해서 입력 (최소 10개): ', (input) => {
89
- try {
90
- const measurements = input.split(',').map((v) => parseFloat(v.trim()));
91
- const result = ISO13855.B1(measurements);
92
- console.log(`\n✅ 결과: ${result}\n`);
93
- }
94
- catch (error) {
95
- this.handleError(error);
96
- }
97
- this.showMenu();
98
- });
99
- }
100
- inputB6() {
101
- this.prompt('S_RT 값: ', (S_RT) => {
102
- this.prompt('S_RO 값: ', (S_RO) => {
103
- try {
104
- const result = ISO13855.B6(parseFloat(S_RT), parseFloat(S_RO));
105
- console.log(`\n✅ 결과: ${result}\n`);
106
- }
107
- catch (error) {
108
- this.handleError(error);
109
- }
110
- this.showMenu();
111
- });
112
- });
113
- }
114
- handleError(error) {
115
- if (error instanceof DRAError) {
116
- console.error(`\n❌ [${error.code}] ${error.message}`);
117
- }
118
- else if (error instanceof Error) {
119
- console.error(`\n❌ 에러: ${error.message}`);
120
- }
121
- }
122
- prompt(question, callback) {
123
- this.rl.question(question, callback);
124
- }
125
- exit() {
126
- console.log('\n👋 프로그램을 종료합니다.');
127
- this.rl.close();
128
- }
129
- }
130
- // 실행
131
- const cli = new InteractiveCLI();
132
- cli.start();
133
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,252 +0,0 @@
1
- /**
2
- * DRA (Danger Risk Assessment) 에러 처리 시스템
3
- * 안전거리 계산 중 발생하는 다양한 에러를 구분하여 처리
4
- */
5
- /**
6
- * DRA 기본 에러 클래스
7
- * 모든 DRA 특화 에러는 이 클래스를 상속받음
8
- */
9
- export class DRAError extends Error {
10
- constructor(message, code = 'DRA_ERROR', context) {
11
- super(message);
12
- this.name = 'DRAError';
13
- this.code = code;
14
- this.context = context;
15
- this.timestamp = new Date();
16
- // 프로토타입 체인 설정 (TypeScript에서 클래스 상속 시 필요)
17
- Object.setPrototypeOf(this, DRAError.prototype);
18
- }
19
- /**
20
- * 에러 정보를 객체로 반환
21
- */
22
- toJSON() {
23
- return {
24
- name: this.name,
25
- code: this.code,
26
- message: this.message,
27
- context: this.context,
28
- timestamp: this.timestamp,
29
- };
30
- }
31
- /**
32
- * 에러 정보를 문자열로 반환
33
- */
34
- toString() {
35
- const contextStr = this.context
36
- ? `\n컨텍스트: ${JSON.stringify(this.context, null, 2)}`
37
- : '';
38
- return `[${this.code}] ${this.message}${contextStr}`;
39
- }
40
- }
41
- export default DRAError;
42
- /**
43
- * 입력 파라미터 검증 에러
44
- * 필수 파라미터가 누락되었거나 잘못된 형식일 때 발생
45
- */
46
- export class ValidationError extends DRAError {
47
- constructor(message, context) {
48
- super(message, 'VALIDATION_ERROR', context);
49
- this.name = 'ValidationError';
50
- Object.setPrototypeOf(this, ValidationError.prototype);
51
- }
52
- }
53
- /**
54
- * 파라미터 범위 벗어남 에러
55
- * 입력값이 허용된 범위를 벗어났을 때 발생
56
- */
57
- export class OutOfRangeError extends DRAError {
58
- constructor(paramName, value, minValue, maxValue) {
59
- const message = minValue !== undefined && maxValue !== undefined
60
- ? `파라미터 '${paramName}'은(는) ${minValue}~${maxValue} 범위여야 합니다. (현재값: ${value})`
61
- : minValue !== undefined
62
- ? `파라미터 '${paramName}'은(는) ${minValue} 이상이어야 합니다. (현재값: ${value})`
63
- : `파라미터 '${paramName}'은(는) ${maxValue} 이하여야 합니다. (현재값: ${value})`;
64
- super(message, 'OUT_OF_RANGE_ERROR', {
65
- paramName,
66
- value,
67
- minValue,
68
- maxValue,
69
- });
70
- this.name = 'OutOfRangeError';
71
- this.paramName = paramName;
72
- this.value = value;
73
- this.minValue = minValue;
74
- this.maxValue = maxValue;
75
- Object.setPrototypeOf(this, OutOfRangeError.prototype);
76
- }
77
- }
78
- /**
79
- * 필수 파라미터 누락 에러
80
- * 필수 파라미터가 제공되지 않았을 때 발생
81
- */
82
- export class MissingParameterError extends DRAError {
83
- constructor(requiredParams) {
84
- const paramList = requiredParams.join(', ');
85
- const message = `필수 파라미터가 누락되었습니다: ${paramList}`;
86
- super(message, 'MISSING_PARAMETER_ERROR', { requiredParams });
87
- this.name = 'MissingParameterError';
88
- this.requiredParams = requiredParams;
89
- Object.setPrototypeOf(this, MissingParameterError.prototype);
90
- }
91
- }
92
- /**
93
- * 계산 에러
94
- * 계산 과정에서 수학적 오류 또는 불가능한 연산이 발생했을 때
95
- */
96
- export class CalculationError extends DRAError {
97
- constructor(message, formulaCode, params) {
98
- super(message, 'CALCULATION_ERROR', { formulaCode, params });
99
- this.name = 'CalculationError';
100
- this.formulaCode = formulaCode;
101
- this.params = params;
102
- Object.setPrototypeOf(this, CalculationError.prototype);
103
- }
104
- }
105
- /**
106
- * 불가능한 상태 에러
107
- * 현재 상태에서 요청된 작업을 수행할 수 없을 때 발생
108
- */
109
- export class InvalidStateError extends DRAError {
110
- constructor(message, currentState, requiredState) {
111
- super(message, 'INVALID_STATE_ERROR', {
112
- currentState,
113
- requiredState,
114
- });
115
- this.name = 'InvalidStateError';
116
- this.currentState = currentState;
117
- this.requiredState = requiredState || '';
118
- Object.setPrototypeOf(this, InvalidStateError.prototype);
119
- }
120
- }
121
- /**
122
- * 타입 에러
123
- * 예상과 다른 타입의 값이 제공되었을 때 발생
124
- */
125
- export class TypeError extends DRAError {
126
- constructor(paramName, expectedType, actualType) {
127
- const message = `파라미터 '${paramName}'의 타입이 잘못되었습니다. (예상: ${expectedType}, 실제: ${actualType})`;
128
- super(message, 'TYPE_ERROR', {
129
- paramName,
130
- expectedType,
131
- actualType,
132
- });
133
- this.name = 'TypeError';
134
- this.paramName = paramName;
135
- this.expectedType = expectedType;
136
- this.actualType = actualType;
137
- Object.setPrototypeOf(this, TypeError.prototype);
138
- }
139
- }
140
- /**
141
- * 안전 기준 미만 에러
142
- * 계산된 안전거리가 최소 안전거리 기준을 만족하지 못할 때 발생
143
- */
144
- export class SafetyThresholdError extends DRAError {
145
- constructor(calculatedValue, minimumRequired) {
146
- const safetyMargin = minimumRequired - calculatedValue;
147
- const message = `안전거리가 기준을 충족하지 못했습니다. (계산값: ${calculatedValue}mm, 필요값: ${minimumRequired}mm, 부족: ${safetyMargin}mm)`;
148
- super(message, 'SAFETY_THRESHOLD_ERROR', {
149
- calculatedValue,
150
- minimumRequired,
151
- safetyMargin,
152
- });
153
- this.name = 'SafetyThresholdError';
154
- this.calculatedValue = calculatedValue;
155
- this.minimumRequired = minimumRequired;
156
- this.safetyMargin = safetyMargin;
157
- Object.setPrototypeOf(this, SafetyThresholdError.prototype);
158
- }
159
- }
160
- /**
161
- * 에러 검증 및 처리 유틸리티
162
- */
163
- export class ErrorHandler {
164
- /**
165
- * 값이 범위 내에 있는지 검증
166
- */
167
- static validateRange(paramName, value, minValue, maxValue) {
168
- if (minValue !== undefined &&
169
- maxValue !== undefined &&
170
- (value < minValue || value > maxValue)) {
171
- throw new OutOfRangeError(paramName, value, minValue, maxValue);
172
- }
173
- if (minValue !== undefined && value < minValue) {
174
- throw new OutOfRangeError(paramName, value, minValue, undefined);
175
- }
176
- if (maxValue !== undefined && value > maxValue) {
177
- throw new OutOfRangeError(paramName, value, undefined, maxValue);
178
- }
179
- }
180
- /**
181
- * 필수 파라미터 검증
182
- */
183
- static validateRequired(params, requiredKeys) {
184
- const missingKeys = requiredKeys.filter((key) => !(key in params));
185
- if (missingKeys.length > 0) {
186
- throw new MissingParameterError(missingKeys);
187
- }
188
- }
189
- /**
190
- * 타입 검증
191
- */
192
- static validateType(paramName, value, expectedType) {
193
- const actualType = typeof value;
194
- if (actualType !== expectedType) {
195
- throw new TypeError(paramName, expectedType, actualType);
196
- }
197
- }
198
- /**
199
- * 값이 0이 아닌지 검증 (나눗셈 방지)
200
- */
201
- static validateNonZero(paramName, value) {
202
- if (value === 0) {
203
- throw new ValidationError(`파라미터 '${paramName}'은(는) 0이 될 수 없습니다.`, { paramName, value });
204
- }
205
- }
206
- /**
207
- * 배열이 최소 길이 이상인지 검증
208
- */
209
- static validateArrayLength(paramName, array, minLength) {
210
- if (array.length < minLength) {
211
- throw new ValidationError(`파라미터 '${paramName}'은(는) 최소 ${minLength}개 이상의 요소를 가져야 합니다. (현재: ${array.length}개)`, { paramName, minLength, actualLength: array.length });
212
- }
213
- }
214
- /**
215
- * 안전거리 기준 검증
216
- */
217
- static validateSafetyThreshold(calculatedValue, minimumRequired) {
218
- if (calculatedValue < minimumRequired) {
219
- throw new SafetyThresholdError(calculatedValue, minimumRequired);
220
- }
221
- }
222
- /**
223
- * 에러를 캐치하고 로깅
224
- */
225
- static catch(error, fallbackMessage = '알 수 없는 에러가 발생했습니다') {
226
- if (error instanceof DRAError) {
227
- console.error(`[${error.code}] ${error.message}`);
228
- return error;
229
- }
230
- if (error instanceof Error) {
231
- console.error(`[ERROR] ${error.message}`);
232
- return new DRAError(error.message);
233
- }
234
- console.error(`[ERROR] ${fallbackMessage}`);
235
- return new DRAError(fallbackMessage);
236
- }
237
- /**
238
- * 에러 정보를 상세히 출력
239
- */
240
- static log(error) {
241
- console.error(`
242
- ═══════════════════════════════════════════════════════════
243
- [${error.code}] ${error.name}
244
- ═══════════════════════════════════════════════════════════
245
- 메시지: ${error.message}
246
- 시간: ${error.timestamp.toISOString()}
247
- ${error.context ? ` 상세정보:\n${JSON.stringify(error.context, null, 4)}` : ''}
248
- ═══════════════════════════════════════════════════════════
249
- `);
250
- }
251
- }
252
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/core/error.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.esm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.d.ts","sourceRoot":"","sources":["../src/schema/robot.ts"],"names":[],"mappings":""}
package/dist/index.esm.js DELETED
@@ -1,3 +0,0 @@
1
- export * from './core/index';
2
- export * from './algorithm/index';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sourceRoot":"","sources":["../src/schema/robot.ts"],"names":[],"mappings":""}
File without changes