@simplysm/service-client 13.0.69 → 13.0.71

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.
@@ -21,8 +21,11 @@ function createEventClient(transport) {
21
21
  return key;
22
22
  }
23
23
  async function removeListener(key) {
24
- await transport.send({ name: "evt:remove", body: { key } });
25
24
  listenerMap.delete(key);
25
+ try {
26
+ await transport.send({ name: "evt:remove", body: { key } });
27
+ } catch {
28
+ }
26
29
  }
27
30
  async function emitToServer(eventDef, infoSelector, data) {
28
31
  const eventName = eventDef.eventName;
@@ -46,7 +49,7 @@ function createEventClient(transport) {
46
49
  body: { key, name: value.eventName, info: value.info }
47
50
  });
48
51
  } catch (err) {
49
- logger.error("\uC774\uBCA4\uD2B8 \uB9AC\uC2A4\uB108 \uBCF5\uAD6C \uC2E4\uD328", { err, eventName: value.eventName });
52
+ logger.error("Failed to recover event listener", { err, eventName: value.eventName });
50
53
  }
51
54
  }
52
55
  }
@@ -57,7 +60,7 @@ function createEventClient(transport) {
57
60
  try {
58
61
  await entry.cb(data);
59
62
  } catch (err) {
60
- logger.error("\uC774\uBCA4\uD2B8 \uD578\uB4E4\uB7EC \uC624\uB958", { err, eventName: entry.eventName });
63
+ logger.error("Event handler error", { err, eventName: entry.eventName });
61
64
  }
62
65
  }
63
66
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/features/event-client.ts"],
4
- "mappings": "AAAA,SAAS,YAAY;AAGrB,OAAO,aAAa;AAEpB,MAAM,SAAS,QAAQ,QAAQ,4BAA4B;AAiBpD,SAAS,kBAAkB,WAA0C;AAC1E,QAAM,cAAc,oBAAI,IAGtB;AAEF,YAAU,GAAG,SAAS,OAAO,EAAE,MAAM,KAAK,MAAM;AAC9C,UAAM,aAAa,MAAM,IAAI;AAAA,EAC/B,CAAC;AAED,iBAAe,YACb,UACA,MACA,IACiB;AACjB,UAAM,MAAM,KAAK,IAAI,EAAE,SAAS;AAChC,UAAM,YAAY,SAAS;AAG3B,UAAM,UAAU,KAAK;AAAA,MACnB,MAAM;AAAA,MACN,MAAM,EAAE,KAAK,MAAM,WAAW,KAAK;AAAA,IACrC,CAAC;AAGD,gBAAY,IAAI,KAAK;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AAEA,iBAAe,eAAe,KAA4B;AACxD,UAAM,UAAU,KAAK,EAAE,MAAM,cAAc,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1D,gBAAY,OAAO,GAAG;AAAA,EACxB;AAEA,iBAAe,aACb,UACA,cACA,MACe;AACf,UAAM,YAAY,SAAS;AAG3B,UAAM,gBAAiB,MAAM,UAAU,KAAK;AAAA,MAC1C,MAAM;AAAA,MACN,MAAM,EAAE,MAAM,UAAU;AAAA,IAC1B,CAAC;AAED,UAAM,aAAa,cAChB,OAAO,CAAC,SAAS,aAAa,KAAK,IAAI,CAAC,EACxC,IAAI,CAAC,SAAS,KAAK,GAAG;AAEzB,QAAI,WAAW,SAAS,GAAG;AACzB,YAAM,UAAU,KAAK;AAAA,QACnB,MAAM;AAAA,QACN,MAAM,EAAE,MAAM,YAAY,KAAK;AAAA,MACjC,CAAC;AAAA,IACH;AAAA,EACF;AAGA,iBAAe,gBAA+B;AAC5C,eAAW,CAAC,KAAK,KAAK,KAAK,YAAY,QAAQ,GAAG;AAChD,UAAI;AACF,cAAM,UAAU,KAAK;AAAA,UACnB,MAAM;AAAA,UACN,MAAM,EAAE,KAAK,MAAM,MAAM,WAAW,MAAM,MAAM,KAAK;AAAA,QACvD,CAAC;AAAA,MACH,SAAS,KAAK;AACZ,eAAO,MAAM,mEAAiB,EAAE,KAAK,WAAW,MAAM,UAAU,CAAC;AAAA,MACnE;AAAA,IACF;AAAA,EACF;AAGA,iBAAe,aAAa,MAAgB,MAA8B;AACxE,eAAW,OAAO,MAAM;AACtB,YAAM,QAAQ,YAAY,IAAI,GAAG;AACjC,UAAI,SAAS,MAAM;AACjB,YAAI;AACF,gBAAM,MAAM,GAAG,IAAI;AAAA,QACrB,SAAS,KAAK;AACZ,iBAAO,MAAM,sDAAc,EAAE,KAAK,WAAW,MAAM,UAAU,CAAC;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,SAAS,YAAY;AAGrB,OAAO,aAAa;AAEpB,MAAM,SAAS,QAAQ,QAAQ,4BAA4B;AAiBpD,SAAS,kBAAkB,WAA0C;AAC1E,QAAM,cAAc,oBAAI,IAGtB;AAEF,YAAU,GAAG,SAAS,OAAO,EAAE,MAAM,KAAK,MAAM;AAC9C,UAAM,aAAa,MAAM,IAAI;AAAA,EAC/B,CAAC;AAED,iBAAe,YACb,UACA,MACA,IACiB;AACjB,UAAM,MAAM,KAAK,IAAI,EAAE,SAAS;AAChC,UAAM,YAAY,SAAS;AAG3B,UAAM,UAAU,KAAK;AAAA,MACnB,MAAM;AAAA,MACN,MAAM,EAAE,KAAK,MAAM,WAAW,KAAK;AAAA,IACrC,CAAC;AAGD,gBAAY,IAAI,KAAK;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AAEA,iBAAe,eAAe,KAA4B;AACxD,gBAAY,OAAO,GAAG;AACtB,QAAI;AACF,YAAM,UAAU,KAAK,EAAE,MAAM,cAAc,MAAM,EAAE,IAAI,EAAE,CAAC;AAAA,IAC5D,QAAQ;AAAA,IAER;AAAA,EACF;AAEA,iBAAe,aACb,UACA,cACA,MACe;AACf,UAAM,YAAY,SAAS;AAG3B,UAAM,gBAAiB,MAAM,UAAU,KAAK;AAAA,MAC1C,MAAM;AAAA,MACN,MAAM,EAAE,MAAM,UAAU;AAAA,IAC1B,CAAC;AAED,UAAM,aAAa,cAChB,OAAO,CAAC,SAAS,aAAa,KAAK,IAAI,CAAC,EACxC,IAAI,CAAC,SAAS,KAAK,GAAG;AAEzB,QAAI,WAAW,SAAS,GAAG;AACzB,YAAM,UAAU,KAAK;AAAA,QACnB,MAAM;AAAA,QACN,MAAM,EAAE,MAAM,YAAY,KAAK;AAAA,MACjC,CAAC;AAAA,IACH;AAAA,EACF;AAGA,iBAAe,gBAA+B;AAC5C,eAAW,CAAC,KAAK,KAAK,KAAK,YAAY,QAAQ,GAAG;AAChD,UAAI;AACF,cAAM,UAAU,KAAK;AAAA,UACnB,MAAM;AAAA,UACN,MAAM,EAAE,KAAK,MAAM,MAAM,WAAW,MAAM,MAAM,KAAK;AAAA,QACvD,CAAC;AAAA,MACH,SAAS,KAAK;AACZ,eAAO,MAAM,oCAAoC,EAAE,KAAK,WAAW,MAAM,UAAU,CAAC;AAAA,MACtF;AAAA,IACF;AAAA,EACF;AAGA,iBAAe,aAAa,MAAgB,MAA8B;AACxE,eAAW,OAAO,MAAM;AACtB,YAAM,QAAQ,YAAY,IAAI,GAAG;AACjC,UAAI,SAAS,MAAM;AACjB,YAAI;AACF,gBAAM,MAAM,GAAG,IAAI;AAAA,QACrB,SAAS,KAAK;AACZ,iBAAO,MAAM,uBAAuB,EAAE,KAAK,WAAW,MAAM,UAAU,CAAC;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -21,7 +21,7 @@ function createOrmClientConnector(serviceClient) {
21
21
  return await callback(db);
22
22
  } catch (err) {
23
23
  if (err instanceof Error && (err.message.includes("a parent row: a foreign key constraint") || err.message.includes("conflicted with the REFERENCE"))) {
24
- throw new Error("\uACBD\uACE0! \uC5F0\uACB0\uB41C \uC791\uC5C5\uC5D0 \uC758\uD55C \uCC98\uB9AC \uAC70\uBD80. \uD6C4\uC18D\uC791\uC5C5 \uD655\uC778\uC694\uB9DD", { cause: err });
24
+ throw new Error("Warning! Operation rejected due to related operations. Please check subsequent operations.", { cause: err });
25
25
  }
26
26
  throw err;
27
27
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/features/orm/orm-client-connector.ts"],
4
- "mappings": "AAAA,SAAS,kCAAkC;AAE3C,SAAS,uBAAkE;AAcpE,SAAS,yBAAyB,eAAkD;AACzF,iBAAe,oBACb,QACkC;AAnBtC;AAoBI,UAAM,WAAW,IAAI,2BAA2B,eAAe,OAAO,OAAO;AAC7E,UAAM,OAAO,MAAM,SAAS,QAAQ;AACpC,UAAM,aAAW,YAAO,iBAAP,mBAAqB,aAAY,KAAK;AACvD,QAAI,YAAY,QAAQ,aAAa,IAAI;AACvC,YAAM,IAAI,MAAM,sBAAsB;AAAA,IACxC;AACA,WAAO,gBAAgB,OAAO,cAAc,UAAU;AAAA,MACpD;AAAA,MACA,UAAQ,YAAO,iBAAP,mBAAqB,WAAU,KAAK;AAAA,IAC9C,CAAC;AAAA,EACH;AAEA,iBAAe,QACb,QACA,UACY;AACZ,UAAM,KAAK,MAAM,oBAAoB,MAAM;AAC3C,WAAO,GAAG,QAAQ,YAAY;AAC5B,UAAI;AACF,eAAO,MAAM,SAAS,EAAE;AAAA,MAC1B,SAAS,KAAK;AACZ,YACE,eAAe,UACd,IAAI,QAAQ,SAAS,wCAAwC,KAC5D,IAAI,QAAQ,SAAS,+BAA+B,IACtD;AACA,gBAAM,IAAI,MAAM,iJAAmC,EAAE,OAAO,IAAI,CAAC;AAAA,QACnE;AAEA,cAAM;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAEA,iBAAe,0BACb,QACA,UACY;AACZ,UAAM,KAAK,MAAM,oBAAoB,MAAM;AAC3C,WAAO,GAAG,0BAA0B,YAAY,SAAS,EAAE,CAAC;AAAA,EAC9D;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,SAAS,kCAAkC;AAE3C,SAAS,uBAAkE;AAcpE,SAAS,yBAAyB,eAAkD;AACzF,iBAAe,oBACb,QACkC;AAnBtC;AAoBI,UAAM,WAAW,IAAI,2BAA2B,eAAe,OAAO,OAAO;AAC7E,UAAM,OAAO,MAAM,SAAS,QAAQ;AACpC,UAAM,aAAW,YAAO,iBAAP,mBAAqB,aAAY,KAAK;AACvD,QAAI,YAAY,QAAQ,aAAa,IAAI;AACvC,YAAM,IAAI,MAAM,sBAAsB;AAAA,IACxC;AACA,WAAO,gBAAgB,OAAO,cAAc,UAAU;AAAA,MACpD;AAAA,MACA,UAAQ,YAAO,iBAAP,mBAAqB,WAAU,KAAK;AAAA,IAC9C,CAAC;AAAA,EACH;AAEA,iBAAe,QACb,QACA,UACY;AACZ,UAAM,KAAK,MAAM,oBAAoB,MAAM;AAC3C,WAAO,GAAG,QAAQ,YAAY;AAC5B,UAAI;AACF,eAAO,MAAM,SAAS,EAAE;AAAA,MAC1B,SAAS,KAAK;AACZ,YACE,eAAe,UACd,IAAI,QAAQ,SAAS,wCAAwC,KAC5D,IAAI,QAAQ,SAAS,+BAA+B,IACtD;AACA,gBAAM,IAAI,MAAM,8FAA8F,EAAE,OAAO,IAAI,CAAC;AAAA,QAC9H;AAEA,cAAM;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAEA,iBAAe,0BACb,QACA,UACY;AACZ,UAAM,KAAK,MAAM,oBAAoB,MAAM;AAC3C,WAAO,GAAG,0BAA0B,YAAY,SAAS,EAAE,CAAC;AAAA,EAC9D;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -14,43 +14,43 @@ class OrmClientDbContextExecutor {
14
14
  }
15
15
  async beginTransaction(isolationLevel) {
16
16
  if (this._connId === void 0) {
17
- throw new Error("DB\uC5D0 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
17
+ throw new Error("Not connected to the database.");
18
18
  }
19
19
  await this._ormService.beginTransaction(this._connId, isolationLevel);
20
20
  }
21
21
  async commitTransaction() {
22
22
  if (this._connId === void 0) {
23
- throw new Error("DB\uC5D0 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
23
+ throw new Error("Not connected to the database.");
24
24
  }
25
25
  await this._ormService.commitTransaction(this._connId);
26
26
  }
27
27
  async rollbackTransaction() {
28
28
  if (this._connId === void 0) {
29
- throw new Error("DB\uC5D0 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
29
+ throw new Error("Not connected to the database.");
30
30
  }
31
31
  await this._ormService.rollbackTransaction(this._connId);
32
32
  }
33
33
  async close() {
34
34
  if (this._connId === void 0) {
35
- throw new Error("DB\uC5D0 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
35
+ throw new Error("Not connected to the database.");
36
36
  }
37
37
  await this._ormService.close(this._connId);
38
38
  }
39
39
  async executeDefs(defs, options) {
40
40
  if (this._connId === void 0) {
41
- throw new Error("DB\uC5D0 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
41
+ throw new Error("Not connected to the database.");
42
42
  }
43
43
  return await this._ormService.executeDefs(this._connId, defs, options);
44
44
  }
45
45
  async executeParametrized(query, params) {
46
46
  if (this._connId === void 0) {
47
- throw new Error("DB\uC5D0 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
47
+ throw new Error("Not connected to the database.");
48
48
  }
49
49
  return this._ormService.executeParametrized(this._connId, query, params);
50
50
  }
51
51
  async bulkInsert(tableName, columnDefs, records) {
52
52
  if (this._connId === void 0) {
53
- throw new Error("DB\uC5D0 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
53
+ throw new Error("Not connected to the database.");
54
54
  }
55
55
  return this._ormService.bulkInsert(this._connId, tableName, columnDefs, records);
56
56
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/features/orm/orm-client-db-context-executor.ts"],
4
- "mappings": "AAWO,MAAM,2BAAwD;AAAA,EAInE,YACmB,SACA,MACjB;AAFiB;AACA;AAEjB,SAAK,cAAc,QAAQ,WAAuB,KAAK;AAAA,EACzD;AAAA,EARQ;AAAA,EACS;AAAA,EASjB,MAAM,UAIH;AACD,WAAO,KAAK,YAAY,QAAQ,KAAK,IAAI;AAAA,EAC3C;AAAA,EAEA,MAAM,UAAyB;AAC7B,SAAK,UAAU,MAAM,KAAK,YAAY,QAAQ,KAAK,IAAI;AAAA,EACzD;AAAA,EAEA,MAAM,iBAAiB,gBAAgD;AACrE,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,yEAAkB;AAAA,IACpC;AAEA,UAAM,KAAK,YAAY,iBAAiB,KAAK,SAAS,cAAc;AAAA,EACtE;AAAA,EAEA,MAAM,oBAAmC;AACvC,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,yEAAkB;AAAA,IACpC;AAEA,UAAM,KAAK,YAAY,kBAAkB,KAAK,OAAO;AAAA,EACvD;AAAA,EAEA,MAAM,sBAAqC;AACzC,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,yEAAkB;AAAA,IACpC;AAEA,UAAM,KAAK,YAAY,oBAAoB,KAAK,OAAO;AAAA,EACzD;AAAA,EAEA,MAAM,QAAuB;AAC3B,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,yEAAkB;AAAA,IACpC;AAEA,UAAM,KAAK,YAAY,MAAM,KAAK,OAAO;AAAA,EAC3C;AAAA,EAEA,MAAM,YACJ,MACA,SACgB;AAChB,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,yEAAkB;AAAA,IACpC;AAEA,WAAQ,MAAM,KAAK,YAAY,YAAY,KAAK,SAAS,MAAM,OAAO;AAAA,EACxE;AAAA,EAEA,MAAM,oBAAoB,OAAe,QAA0C;AACjF,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,yEAAkB;AAAA,IACpC;AAEA,WAAO,KAAK,YAAY,oBAAoB,KAAK,SAAS,OAAO,MAAM;AAAA,EACzE;AAAA,EAEA,MAAM,WACJ,WACA,YACA,SACe;AACf,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,yEAAkB;AAAA,IACpC;AAEA,WAAO,KAAK,YAAY,WAAW,KAAK,SAAS,WAAW,YAAY,OAAO;AAAA,EACjF;AACF;",
4
+ "mappings": "AAWO,MAAM,2BAAwD;AAAA,EAInE,YACmB,SACA,MACjB;AAFiB;AACA;AAEjB,SAAK,cAAc,QAAQ,WAAuB,KAAK;AAAA,EACzD;AAAA,EARQ;AAAA,EACS;AAAA,EASjB,MAAM,UAIH;AACD,WAAO,KAAK,YAAY,QAAQ,KAAK,IAAI;AAAA,EAC3C;AAAA,EAEA,MAAM,UAAyB;AAC7B,SAAK,UAAU,MAAM,KAAK,YAAY,QAAQ,KAAK,IAAI;AAAA,EACzD;AAAA,EAEA,MAAM,iBAAiB,gBAAgD;AACrE,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAEA,UAAM,KAAK,YAAY,iBAAiB,KAAK,SAAS,cAAc;AAAA,EACtE;AAAA,EAEA,MAAM,oBAAmC;AACvC,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAEA,UAAM,KAAK,YAAY,kBAAkB,KAAK,OAAO;AAAA,EACvD;AAAA,EAEA,MAAM,sBAAqC;AACzC,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAEA,UAAM,KAAK,YAAY,oBAAoB,KAAK,OAAO;AAAA,EACzD;AAAA,EAEA,MAAM,QAAuB;AAC3B,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAEA,UAAM,KAAK,YAAY,MAAM,KAAK,OAAO;AAAA,EAC3C;AAAA,EAEA,MAAM,YACJ,MACA,SACgB;AAChB,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAEA,WAAQ,MAAM,KAAK,YAAY,YAAY,KAAK,SAAS,MAAM,OAAO;AAAA,EACxE;AAAA,EAEA,MAAM,oBAAoB,OAAe,QAA0C;AACjF,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAEA,WAAO,KAAK,YAAY,oBAAoB,KAAK,SAAS,OAAO,MAAM;AAAA,EACzE;AAAA,EAEA,MAAM,WACJ,WACA,YACA,SACe;AACf,QAAI,KAAK,YAAY,QAAW;AAC9B,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAEA,WAAO,KAAK,YAAY,WAAW,KAAK,SAAS,WAAW,YAAY,OAAO;AAAA,EACjF;AACF;",
5
5
  "names": []
6
6
  }
@@ -2,9 +2,9 @@ import { LazyGcMap, transferableDecode, Uuid } from "@simplysm/core-common";
2
2
  let worker;
3
3
  const workerResolvers = new LazyGcMap({
4
4
  gcInterval: 5 * 1e3,
5
- // 5초마다 만료 검사
5
+ // Check for expired entries every 5s
6
6
  expireTime: 60 * 1e3,
7
- // 60초가 지나면 만료 (타임아웃)
7
+ // Expire after 60s (timeout)
8
8
  onExpire: (key, item) => {
9
9
  item.reject(new Error(`Worker task timed out (uuid: ${key})`));
10
10
  }
@@ -29,7 +29,7 @@ class ServiceClient extends EventEmitter {
29
29
  }
30
30
  await this._eventClient.reRegisterAll();
31
31
  } catch (err) {
32
- logger.error("\uC774\uBCA4\uD2B8 \uB9AC\uC2A4\uB108 \uBCF5\uAD6C \uC2E4\uD328", err);
32
+ logger.error("Failed to recover event listeners", err);
33
33
  }
34
34
  }
35
35
  });
@@ -37,13 +37,13 @@ class ServiceClient extends EventEmitter {
37
37
  this.emit("reload", changedFiles);
38
38
  });
39
39
  }
40
- // 모듈들
40
+ // Modules
41
41
  _socket;
42
42
  _transport;
43
43
  _eventClient;
44
44
  _fileClient;
45
45
  _authToken;
46
- // 상태 접근자
46
+ // State accessors
47
47
  get connected() {
48
48
  return this._socket.connected;
49
49
  }
@@ -51,7 +51,7 @@ class ServiceClient extends EventEmitter {
51
51
  const hostProtocol = this.options.ssl ? "https" : "http";
52
52
  return `${hostProtocol}://${this.options.host}:${this.options.port}`;
53
53
  }
54
- // 타입 안전성을 위한 Proxy 생성 메소드
54
+ // Proxy creation method for type safety
55
55
  getService(serviceName) {
56
56
  return new Proxy({}, {
57
57
  get: (_target, prop) => {
@@ -93,7 +93,7 @@ class ServiceClient extends EventEmitter {
93
93
  this._authToken = token;
94
94
  }
95
95
  async addEventListener(eventDef, info, cb) {
96
- if (!this.connected) throw new Error("\uC11C\uBC84\uC640 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
96
+ if (!this.connected) throw new Error("Not connected to the server.");
97
97
  return this._eventClient.addListener(eventDef, info, cb);
98
98
  }
99
99
  async removeEventListener(key) {
@@ -105,7 +105,7 @@ class ServiceClient extends EventEmitter {
105
105
  async uploadFile(files) {
106
106
  if (this._authToken == null) {
107
107
  throw new Error(
108
- "\uC778\uC99D \uD1A0\uD070\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uD30C\uC77C \uC5C5\uB85C\uB4DC\uB97C \uC704\uD574\uC11C\uB294 \uBA3C\uC800 auth()\uB97C \uD638\uCD9C\uD558\uC5EC \uC778\uC99D\uD574\uC57C \uD569\uB2C8\uB2E4."
108
+ "No authentication token found. Call auth() to authenticate before uploading files."
109
109
  );
110
110
  }
111
111
  return this._fileClient.upload(files, this._authToken);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/service-client.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service-transport.d.ts","sourceRoot":"","sources":["..\\..\\src\\transport\\service-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,CAAC,SAAS,MAAM,sBAAsB,GAAG,MAAM,EAChD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAClD,IAAI,CAAC;IACR,GAAG,CAAC,CAAC,SAAS,MAAM,sBAAsB,GAAG,MAAM,EACjD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAClD,IAAI,CAAC;IACR,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,qBAAqB,GAC9B,gBAAgB,CAgJlB"}
1
+ {"version":3,"file":"service-transport.d.ts","sourceRoot":"","sources":["..\\..\\src\\transport\\service-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,CAAC,SAAS,MAAM,sBAAsB,GAAG,MAAM,EAChD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAClD,IAAI,CAAC;IACR,GAAG,CAAC,CAAC,SAAS,MAAM,sBAAsB,GAAG,MAAM,EACjD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAClD,IAAI,CAAC;IACR,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,qBAAqB,GAC9B,gBAAgB,CAmJlB"}
@@ -15,6 +15,8 @@ function createServiceTransport(socket, protocol) {
15
15
  const responsePromise = new Promise((resolve, reject) => {
16
16
  pendingRequests.set(uuid, { resolve, reject, progress });
17
17
  });
18
+ responsePromise.catch(() => {
19
+ });
18
20
  try {
19
21
  const { chunks, totalSize } = await protocol.encode(uuid, message);
20
22
  if (chunks.length > 1) {
@@ -79,7 +81,7 @@ function createServiceTransport(socket, protocol) {
79
81
  const body = decoded.message.body;
80
82
  emitter.emit("event", { keys: body.keys, data: body.data });
81
83
  } else {
82
- throw new Error("\uC694\uCCAD\uC774 \uC798 \uBABB \uB418\uC5C8\uC2B5\uB2C8\uB2E4.");
84
+ throw new Error("Invalid message received from server.");
83
85
  }
84
86
  }
85
87
  } catch (err) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transport/service-transport.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -42,11 +42,11 @@ function createSocketProvider(url, clientName, maxReconnectCount) {
42
42
  try {
43
43
  await waitUntil(() => isConnected(), void 0, 50);
44
44
  } catch {
45
- throw new Error("\uC11C\uBC84\uC640 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uC778\uD130\uB137 \uC5F0\uACB0\uC744 \uD655\uC778\uD558\uC138\uC694.");
45
+ throw new Error("Not connected to the server. Please check your internet connection.");
46
46
  }
47
47
  const currentWs = ws;
48
48
  if (currentWs == null) {
49
- throw new Error("WebSocket\uC774 \uC5F0\uACB0\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
49
+ throw new Error("WebSocket is not connected.");
50
50
  }
51
51
  currentWs.send(data);
52
52
  }
@@ -74,7 +74,7 @@ function createSocketProvider(url, clientName, maxReconnectCount) {
74
74
  });
75
75
  const currentWs = ws;
76
76
  if (currentWs == null) {
77
- throw new Error("WebSocket \uCD08\uAE30\uD654 \uC2E4\uD328");
77
+ throw new Error("WebSocket initialization failed");
78
78
  }
79
79
  currentWs.onmessage = (event) => {
80
80
  lastHeartbeatTime = Date.now();
@@ -94,7 +94,7 @@ function createSocketProvider(url, clientName, maxReconnectCount) {
94
94
  while (reconnectCount < maxReconnectCount) {
95
95
  reconnectCount++;
96
96
  emitter.emit("state", "reconnecting");
97
- logger.warn("WebSocket \uC5F0\uACB0 \uB04A\uAE40. \uC7AC\uC5F0\uACB0 \uC2DC\uB3C4...", {
97
+ logger.warn("WebSocket disconnected. Attempting reconnect...", {
98
98
  reconnectCount,
99
99
  maxReconnectCount
100
100
  });
@@ -104,12 +104,12 @@ function createSocketProvider(url, clientName, maxReconnectCount) {
104
104
  startHeartbeat();
105
105
  reconnectCount = 0;
106
106
  emitter.emit("state", "connected");
107
- logger.info("WebSocket \uC7AC\uC5F0\uACB0 \uC131\uACF5");
107
+ logger.info("WebSocket reconnected successfully");
108
108
  return;
109
109
  } catch {
110
110
  }
111
111
  }
112
- logger.error("\uC7AC\uC5F0\uACB0 \uC2DC\uB3C4 \uD69F\uC218 \uCD08\uACFC. \uC5F0\uACB0\uC744 \uD3EC\uAE30\uD569\uB2C8\uB2E4.");
112
+ logger.error("Reconnect retry limit exceeded. Giving up.");
113
113
  emitter.emit("state", "closed");
114
114
  }
115
115
  function startHeartbeat() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transport/socket-provider.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -2,7 +2,7 @@ export interface ServiceConnectionConfig {
2
2
  port: number;
3
3
  host: string;
4
4
  ssl?: boolean;
5
- /** 0 입력시 reconnect안함. 바로 끊김 */
5
+ /** Set to 0 to disable reconnect; disconnects immediately */
6
6
  maxReconnectCount?: number;
7
7
  }
8
8
  //# sourceMappingURL=connection-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection-config.d.ts","sourceRoot":"","sources":["..\\..\\src\\types\\connection-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"connection-config.d.ts","sourceRoot":"","sources":["..\\..\\src\\types\\connection-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@simplysm/service-client",
3
- "version": "13.0.69",
4
- "description": "심플리즘 패키지 - 서비스 모듈 (client)",
5
- "author": "김석래",
3
+ "version": "13.0.71",
4
+ "description": "Simplysm package - Service module (client)",
5
+ "author": "simplysm",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
8
8
  "type": "git",
@@ -19,9 +19,9 @@
19
19
  "sideEffects": false,
20
20
  "dependencies": {
21
21
  "consola": "^3.4.2",
22
- "@simplysm/core-common": "13.0.69",
23
- "@simplysm/orm-common": "13.0.69",
24
- "@simplysm/service-common": "13.0.69"
22
+ "@simplysm/core-common": "13.0.71",
23
+ "@simplysm/orm-common": "13.0.71",
24
+ "@simplysm/service-common": "13.0.71"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/ws": "^8.18.1",
@@ -38,13 +38,13 @@ export function createEventClient(transport: ServiceTransport): EventClient {
38
38
  const key = Uuid.new().toString();
39
39
  const eventName = eventDef.eventName;
40
40
 
41
- // 서버에 등록 요청
41
+ // Send registration request to server
42
42
  await transport.send({
43
43
  name: "evt:add",
44
44
  body: { key, name: eventName, info },
45
45
  });
46
46
 
47
- // 로컬 맵에 저장 (재연결 복구용)
47
+ // Store in local map (for recovery on reconnect)
48
48
  listenerMap.set(key, {
49
49
  eventName,
50
50
  info,
@@ -55,8 +55,12 @@ export function createEventClient(transport: ServiceTransport): EventClient {
55
55
  }
56
56
 
57
57
  async function removeListener(key: string): Promise<void> {
58
- await transport.send({ name: "evt:remove", body: { key } });
59
58
  listenerMap.delete(key);
59
+ try {
60
+ await transport.send({ name: "evt:remove", body: { key } });
61
+ } catch {
62
+ // Server auto-cleans event listeners on disconnect; safe to ignore
63
+ }
60
64
  }
61
65
 
62
66
  async function emitToServer<TInfo, TData>(
@@ -66,7 +70,7 @@ export function createEventClient(transport: ServiceTransport): EventClient {
66
70
  ): Promise<void> {
67
71
  const eventName = eventDef.eventName;
68
72
 
69
- // 서버에 'gets' 요청을 보내 타겟을 확보
73
+ // Send 'gets' request to server to obtain targets
70
74
  const listenerInfos = (await transport.send({
71
75
  name: "evt:gets",
72
76
  body: { name: eventName },
@@ -84,7 +88,7 @@ export function createEventClient(transport: ServiceTransport): EventClient {
84
88
  }
85
89
  }
86
90
 
87
- // 재연결 호출됨
91
+ // Called on reconnect
88
92
  async function reRegisterAll(): Promise<void> {
89
93
  for (const [key, value] of listenerMap.entries()) {
90
94
  try {
@@ -93,12 +97,12 @@ export function createEventClient(transport: ServiceTransport): EventClient {
93
97
  body: { key, name: value.eventName, info: value.info },
94
98
  });
95
99
  } catch (err) {
96
- logger.error("이벤트 리스너 복구 실패", { err, eventName: value.eventName });
100
+ logger.error("Failed to recover event listener", { err, eventName: value.eventName });
97
101
  }
98
102
  }
99
103
  }
100
104
 
101
- // 서버에서 이벤트를 로컬 리스너에게 분배
105
+ // Dispatch server events to local listeners
102
106
  async function executeByKey(keys: string[], data: unknown): Promise<void> {
103
107
  for (const key of keys) {
104
108
  const entry = listenerMap.get(key);
@@ -106,7 +110,7 @@ export function createEventClient(transport: ServiceTransport): EventClient {
106
110
  try {
107
111
  await entry.cb(data);
108
112
  } catch (err) {
109
- logger.error("이벤트 핸들러 오류", { err, eventName: entry.eventName });
113
+ logger.error("Event handler error", { err, eventName: entry.eventName });
110
114
  }
111
115
  }
112
116
  }
@@ -11,7 +11,7 @@ export interface FileClient {
11
11
 
12
12
  export function createFileClient(hostUrl: string, clientName: string): FileClient {
13
13
  async function download(relPath: string): Promise<Bytes> {
14
- // URL 구성
14
+ // Build URL
15
15
  const url = `${hostUrl}${relPath.startsWith("/") ? "" : "/"}${relPath}`;
16
16
 
17
17
  const res = await fetch(url);
@@ -32,11 +32,11 @@ export function createFileClient(hostUrl: string, clientName: string): FileClien
32
32
 
33
33
  for (const file of fileList) {
34
34
  if ("data" in file) {
35
- // 커스텀 객체 ({ name, data })
35
+ // Custom object ({ name, data })
36
36
  const blob = file.data instanceof Blob ? file.data : new Blob([file.data]);
37
37
  formData.append("files", blob, file.name);
38
38
  } else {
39
- // 브라우저 File 객체
39
+ // Browser File object
40
40
  formData.append("files", file, file.name);
41
41
  }
42
42
  }
@@ -44,7 +44,7 @@ export function createOrmClientConnector(serviceClient: ServiceClient): OrmClien
44
44
  (err.message.includes("a parent row: a foreign key constraint") ||
45
45
  err.message.includes("conflicted with the REFERENCE"))
46
46
  ) {
47
- throw new Error("경고! 연결된 작업에 의한 처리 거부. 후속작업 확인요망", { cause: err });
47
+ throw new Error("Warning! Operation rejected due to related operations. Please check subsequent operations.", { cause: err });
48
48
  }
49
49
 
50
50
  throw err;
@@ -34,7 +34,7 @@ export class OrmClientDbContextExecutor implements DbContextExecutor {
34
34
 
35
35
  async beginTransaction(isolationLevel?: IsolationLevel): Promise<void> {
36
36
  if (this._connId === undefined) {
37
- throw new Error("DB에 연결되어있지 않습니다.");
37
+ throw new Error("Not connected to the database.");
38
38
  }
39
39
 
40
40
  await this._ormService.beginTransaction(this._connId, isolationLevel);
@@ -42,7 +42,7 @@ export class OrmClientDbContextExecutor implements DbContextExecutor {
42
42
 
43
43
  async commitTransaction(): Promise<void> {
44
44
  if (this._connId === undefined) {
45
- throw new Error("DB에 연결되어있지 않습니다.");
45
+ throw new Error("Not connected to the database.");
46
46
  }
47
47
 
48
48
  await this._ormService.commitTransaction(this._connId);
@@ -50,7 +50,7 @@ export class OrmClientDbContextExecutor implements DbContextExecutor {
50
50
 
51
51
  async rollbackTransaction(): Promise<void> {
52
52
  if (this._connId === undefined) {
53
- throw new Error("DB에 연결되어있지 않습니다.");
53
+ throw new Error("Not connected to the database.");
54
54
  }
55
55
 
56
56
  await this._ormService.rollbackTransaction(this._connId);
@@ -58,7 +58,7 @@ export class OrmClientDbContextExecutor implements DbContextExecutor {
58
58
 
59
59
  async close(): Promise<void> {
60
60
  if (this._connId === undefined) {
61
- throw new Error("DB에 연결되어있지 않습니다.");
61
+ throw new Error("Not connected to the database.");
62
62
  }
63
63
 
64
64
  await this._ormService.close(this._connId);
@@ -69,7 +69,7 @@ export class OrmClientDbContextExecutor implements DbContextExecutor {
69
69
  options?: (ResultMeta | undefined)[],
70
70
  ): Promise<T[][]> {
71
71
  if (this._connId === undefined) {
72
- throw new Error("DB에 연결되어있지 않습니다.");
72
+ throw new Error("Not connected to the database.");
73
73
  }
74
74
 
75
75
  return (await this._ormService.executeDefs(this._connId, defs, options)) as T[][];
@@ -77,7 +77,7 @@ export class OrmClientDbContextExecutor implements DbContextExecutor {
77
77
 
78
78
  async executeParametrized(query: string, params?: unknown[]): Promise<unknown[][]> {
79
79
  if (this._connId === undefined) {
80
- throw new Error("DB에 연결되어있지 않습니다.");
80
+ throw new Error("Not connected to the database.");
81
81
  }
82
82
 
83
83
  return this._ormService.executeParametrized(this._connId, query, params);
@@ -89,7 +89,7 @@ export class OrmClientDbContextExecutor implements DbContextExecutor {
89
89
  records: Record<string, unknown>[],
90
90
  ): Promise<void> {
91
91
  if (this._connId === undefined) {
92
- throw new Error("DB에 연결되어있지 않습니다.");
92
+ throw new Error("Not connected to the database.");
93
93
  }
94
94
 
95
95
  return this._ormService.bulkInsert(this._connId, tableName, columnDefs, records);