@simplysm/service-client 13.0.99 → 14.0.1

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.
Files changed (55) hide show
  1. package/dist/features/event-client.d.ts.map +1 -1
  2. package/dist/features/event-client.js +75 -67
  3. package/dist/features/event-client.js.map +1 -6
  4. package/dist/features/file-client.js +41 -39
  5. package/dist/features/file-client.js.map +1 -6
  6. package/dist/features/orm/orm-client-connector.js +37 -38
  7. package/dist/features/orm/orm-client-connector.js.map +1 -6
  8. package/dist/features/orm/orm-client-db-context-executor.d.ts.map +1 -1
  9. package/dist/features/orm/orm-client-db-context-executor.js +60 -60
  10. package/dist/features/orm/orm-client-db-context-executor.js.map +1 -6
  11. package/dist/features/orm/orm-connect-options.js +2 -1
  12. package/dist/features/orm/orm-connect-options.js.map +1 -6
  13. package/dist/index.js +6 -1
  14. package/dist/index.js.map +1 -6
  15. package/dist/protocol/client-protocol-wrapper.d.ts +1 -0
  16. package/dist/protocol/client-protocol-wrapper.d.ts.map +1 -1
  17. package/dist/protocol/client-protocol-wrapper.js +92 -70
  18. package/dist/protocol/client-protocol-wrapper.js.map +1 -6
  19. package/dist/service-client.d.ts +2 -0
  20. package/dist/service-client.d.ts.map +1 -1
  21. package/dist/service-client.js +113 -111
  22. package/dist/service-client.js.map +1 -6
  23. package/dist/transport/service-transport.js +121 -104
  24. package/dist/transport/service-transport.js.map +1 -6
  25. package/dist/transport/socket-provider.js +180 -155
  26. package/dist/transport/socket-provider.js.map +1 -6
  27. package/dist/types/connection-options.d.ts +1 -1
  28. package/dist/types/connection-options.d.ts.map +1 -1
  29. package/dist/types/connection-options.js +2 -1
  30. package/dist/types/connection-options.js.map +1 -6
  31. package/dist/types/progress.types.d.ts +1 -0
  32. package/dist/types/progress.types.d.ts.map +1 -1
  33. package/dist/types/progress.types.js +2 -1
  34. package/dist/types/progress.types.js.map +1 -6
  35. package/dist/workers/client-protocol.worker.js +38 -24
  36. package/dist/workers/client-protocol.worker.js.map +1 -6
  37. package/package.json +16 -9
  38. package/src/features/event-client.ts +19 -17
  39. package/src/features/file-client.ts +5 -5
  40. package/src/features/orm/orm-client-connector.ts +2 -2
  41. package/src/features/orm/orm-client-db-context-executor.ts +8 -7
  42. package/src/index.ts +5 -5
  43. package/src/protocol/client-protocol-wrapper.ts +24 -19
  44. package/src/service-client.ts +22 -15
  45. package/src/transport/service-transport.ts +19 -19
  46. package/src/transport/socket-provider.ts +38 -38
  47. package/src/types/connection-options.ts +1 -1
  48. package/src/types/progress.types.ts +1 -0
  49. package/src/workers/client-protocol.worker.ts +9 -9
  50. package/README.md +0 -126
  51. package/docs/features.md +0 -143
  52. package/docs/protocol.md +0 -29
  53. package/docs/service-client.md +0 -93
  54. package/docs/transport.md +0 -96
  55. package/docs/types.md +0 -55
@@ -1 +1 @@
1
- {"version":3,"file":"event-client.d.ts","sourceRoot":"","sources":["..\\..\\src\\features\\event-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKvE,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,KAAK,EAAE,KAAK,EACtB,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EACvC,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,KAAK,EACf,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EACvC,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,EACtC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAsG1E"}
1
+ {"version":3,"file":"event-client.d.ts","sourceRoot":"","sources":["..\\..\\src\\features\\event-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKvE,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,KAAK,EAAE,KAAK,EACtB,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EACvC,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,KAAK,EACf,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EACvC,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,EACtC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAwG1E"}
@@ -1,78 +1,86 @@
1
1
  import { Uuid } from "@simplysm/core-common";
2
2
  import consola from "consola";
3
3
  const logger = consola.withTag("service-client:EventClient");
4
- function createEventClient(transport) {
5
- const listenerMap = /* @__PURE__ */ new Map();
6
- transport.on("event", async ({ keys, data }) => {
7
- await executeByKey(keys, data);
8
- });
9
- async function addListener(eventDef, info, cb) {
10
- const key = Uuid.generate().toString();
11
- const eventName = eventDef.eventName;
12
- await transport.send({
13
- name: "evt:add",
14
- body: { key, name: eventName, info }
4
+ export function createEventClient(transport) {
5
+ const listenerMap = new Map();
6
+ transport.on("event", async ({ keys, data }) => {
7
+ await executeByKey(keys, data);
15
8
  });
16
- listenerMap.set(key, {
17
- eventName,
18
- info,
19
- cb
20
- });
21
- return key;
22
- }
23
- async function removeListener(key) {
24
- listenerMap.delete(key);
25
- try {
26
- await transport.send({ name: "evt:remove", body: { key } });
27
- } catch {
28
- }
29
- }
30
- async function emit(eventDef, infoSelector, data) {
31
- const eventName = eventDef.eventName;
32
- const listenerInfos = await transport.send({
33
- name: "evt:gets",
34
- body: { name: eventName }
35
- });
36
- const targetKeys = listenerInfos.filter((item) => infoSelector(item.info)).map((item) => item.key);
37
- if (targetKeys.length > 0) {
38
- await transport.send({
39
- name: "evt:emit",
40
- body: { keys: targetKeys, data }
41
- });
42
- }
43
- }
44
- async function resubscribeAll() {
45
- for (const [key, value] of listenerMap.entries()) {
46
- try {
9
+ async function addListener(eventDef, info, cb) {
10
+ const key = Uuid.generate().toString();
11
+ const eventName = eventDef.eventName;
12
+ // 서버에 등록 요청 전송
47
13
  await transport.send({
48
- name: "evt:add",
49
- body: { key, name: value.eventName, info: value.info }
14
+ name: "evt:add",
15
+ body: { key, name: eventName, info },
16
+ });
17
+ // 로컬 맵에 저장 (재연결 시 복구용)
18
+ listenerMap.set(key, {
19
+ eventName,
20
+ info,
21
+ cb: cb,
50
22
  });
51
- } catch (err) {
52
- logger.error("Failed to recover event listener", { err, eventName: value.eventName });
53
- }
23
+ return key;
54
24
  }
55
- }
56
- async function executeByKey(keys, data) {
57
- for (const key of keys) {
58
- const entry = listenerMap.get(key);
59
- if (entry != null) {
25
+ async function removeListener(key) {
26
+ listenerMap.delete(key);
60
27
  try {
61
- await entry.cb(data);
62
- } catch (err) {
63
- logger.error("Event handler error", { err, eventName: entry.eventName });
28
+ await transport.send({ name: "evt:remove", body: { key } });
29
+ }
30
+ catch {
31
+ // 서버가 연결 끊김 시 이벤트 리스너를 자동 정리하므로 무시해도 안전함
32
+ }
33
+ }
34
+ async function emit(eventDef, infoSelector, data) {
35
+ const eventName = eventDef.eventName;
36
+ // 서버에 'gets' 요청을 보내 대상 목록 조회
37
+ const listenerInfos = (await transport.send({
38
+ name: "evt:gets",
39
+ body: { name: eventName },
40
+ }));
41
+ const targetKeys = listenerInfos
42
+ .filter((item) => infoSelector(item.info))
43
+ .map((item) => item.key);
44
+ if (targetKeys.length > 0) {
45
+ await transport.send({
46
+ name: "evt:emit",
47
+ body: { keys: targetKeys, data },
48
+ });
49
+ }
50
+ }
51
+ // 재연결 시 호출
52
+ async function resubscribeAll() {
53
+ await Promise.allSettled(Array.from(listenerMap.entries()).map(async ([key, value]) => {
54
+ try {
55
+ await transport.send({
56
+ name: "evt:add",
57
+ body: { key, name: value.eventName, info: value.info },
58
+ });
59
+ }
60
+ catch (err) {
61
+ logger.error("이벤트 리스너 복구 실패", { err, eventName: value.eventName });
62
+ }
63
+ }));
64
+ }
65
+ // 서버 이벤트를 로컬 리스너에 디스패치
66
+ async function executeByKey(keys, data) {
67
+ for (const key of keys) {
68
+ const entry = listenerMap.get(key);
69
+ if (entry != null) {
70
+ try {
71
+ await entry.cb(data);
72
+ }
73
+ catch (err) {
74
+ logger.error("이벤트 핸들러 에러", { err, eventName: entry.eventName });
75
+ }
76
+ }
64
77
  }
65
- }
66
78
  }
67
- }
68
- return {
69
- addListener,
70
- removeListener,
71
- emit,
72
- resubscribeAll
73
- };
79
+ return {
80
+ addListener,
81
+ removeListener,
82
+ emit,
83
+ resubscribeAll,
84
+ };
74
85
  }
75
- export {
76
- createEventClient
77
- };
78
- //# sourceMappingURL=event-client.js.map
86
+ //# sourceMappingURL=event-client.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 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,SAAS,EAAE,SAAS;AACrC,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,KACb,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,iBAAgC;AAC7C,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
- "names": []
6
- }
1
+ {"version":3,"file":"event-client.js","sourceRoot":"","sources":["..\\..\\src\\features\\event-client.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,44 @@
1
- function createFileClient(hostUrl, clientName) {
2
- async function download(relPath) {
3
- const url = `${hostUrl}${relPath.startsWith("/") ? "" : "/"}${relPath}`;
4
- const res = await fetch(url);
5
- if (!res.ok) {
6
- throw new Error(`Download failed: ${res.status} ${res.statusText}`);
1
+ export function createFileClient(hostUrl, clientName) {
2
+ async function download(relPath) {
3
+ // URL 생성
4
+ const url = `${hostUrl}${relPath.startsWith("/") ? "" : "/"}${relPath}`;
5
+ const res = await fetch(url);
6
+ if (!res.ok) {
7
+ throw new Error(`다운로드 실패: ${res.status} ${res.statusText}`);
8
+ }
9
+ // ArrayBuffer -> Uint8Array
10
+ return new Uint8Array(await res.arrayBuffer());
7
11
  }
8
- return new Uint8Array(await res.arrayBuffer());
9
- }
10
- async function upload(files, authToken) {
11
- const formData = new FormData();
12
- const fileList = files instanceof FileList ? Array.from(files) : files;
13
- for (const file of fileList) {
14
- if ("data" in file) {
15
- const blob = file.data instanceof Blob ? file.data : new Blob([file.data]);
16
- formData.append("files", blob, file.name);
17
- } else {
18
- formData.append("files", file, file.name);
19
- }
12
+ async function upload(files, authToken) {
13
+ const formData = new FormData();
14
+ const fileList = files instanceof FileList ? Array.from(files) : files;
15
+ for (const file of fileList) {
16
+ if ("data" in file) {
17
+ // 커스텀 객체 ({ name, data })
18
+ const blob = file.data instanceof Blob ? file.data : new Blob([file.data]);
19
+ formData.append("files", blob, file.name);
20
+ }
21
+ else {
22
+ // 브라우저 File 객체
23
+ formData.append("files", file, file.name);
24
+ }
25
+ }
26
+ const res = await fetch(`${hostUrl}/upload`, {
27
+ method: "POST",
28
+ headers: {
29
+ "x-sd-client-name": clientName,
30
+ "Authorization": `Bearer ${authToken}`,
31
+ },
32
+ body: formData,
33
+ });
34
+ if (!res.ok) {
35
+ throw new Error(`업로드 실패: ${res.statusText}`);
36
+ }
37
+ return res.json();
20
38
  }
21
- const res = await fetch(`${hostUrl}/upload`, {
22
- method: "POST",
23
- headers: {
24
- "x-sd-client-name": clientName,
25
- "Authorization": `Bearer ${authToken}`
26
- },
27
- body: formData
28
- });
29
- if (!res.ok) {
30
- throw new Error(`Upload failed: ${res.statusText}`);
31
- }
32
- return res.json();
33
- }
34
- return {
35
- download,
36
- upload
37
- };
39
+ return {
40
+ download,
41
+ upload,
42
+ };
38
43
  }
39
- export {
40
- createFileClient
41
- };
42
- //# sourceMappingURL=file-client.js.map
44
+ //# sourceMappingURL=file-client.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/features/file-client.ts"],
4
- "mappings": "AAWO,SAAS,iBAAiB,SAAiB,YAAgC;AAChF,iBAAe,SAAS,SAAiC;AAEvD,UAAM,MAAM,GAAG,OAAO,GAAG,QAAQ,WAAW,GAAG,IAAI,KAAK,GAAG,GAAG,OAAO;AAErE,UAAM,MAAM,MAAM,MAAM,GAAG;AAC3B,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,IAAI,MAAM,oBAAoB,IAAI,MAAM,IAAI,IAAI,UAAU,EAAE;AAAA,IACpE;AAGA,WAAO,IAAI,WAAW,MAAM,IAAI,YAAY,CAAC;AAAA,EAC/C;AAEA,iBAAe,OACb,OACA,WACgC;AAChC,UAAM,WAAW,IAAI,SAAS;AAC9B,UAAM,WAAW,iBAAiB,WAAW,MAAM,KAAK,KAAK,IAAI;AAEjE,eAAW,QAAQ,UAAU;AAC3B,UAAI,UAAU,MAAM;AAElB,cAAM,OAAO,KAAK,gBAAgB,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC;AACzE,iBAAS,OAAO,SAAS,MAAM,KAAK,IAAI;AAAA,MAC1C,OAAO;AAEL,iBAAS,OAAO,SAAS,MAAM,KAAK,IAAI;AAAA,MAC1C;AAAA,IACF;AAEA,UAAM,MAAM,MAAM,MAAM,GAAG,OAAO,WAAW;AAAA,MAC3C,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,oBAAoB;AAAA,QACpB,iBAAiB,UAAU,SAAS;AAAA,MACtC;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAED,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,IAAI,MAAM,kBAAkB,IAAI,UAAU,EAAE;AAAA,IACpD;AAEA,WAAO,IAAI,KAAK;AAAA,EAClB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"file-client.js","sourceRoot":"","sources":["..\\..\\src\\features\\file-client.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,UAAkB;IAClE,KAAK,UAAU,QAAQ,CAAC,OAAe;QACrC,SAAS;QACT,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QAExE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,4BAA4B;QAC5B,OAAO,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,KAA6D,EAC7D,SAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,KAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEvE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,0BAA0B;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,eAAe;gBACf,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,kBAAkB,EAAE,UAAU;gBAC9B,eAAe,EAAE,UAAU,SAAS,EAAE;aACvC;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -1,42 +1,41 @@
1
1
  import { OrmClientDbContextExecutor } from "./orm-client-db-context-executor.js";
2
2
  import { createDbContext } from "@simplysm/orm-common";
3
- function createOrmClientConnector(serviceClient) {
4
- async function _createConfiguredDb(config) {
5
- var _a, _b;
6
- const executor = new OrmClientDbContextExecutor(serviceClient, config.connOpt);
7
- const info = await executor.getInfo();
8
- const database = ((_a = config.dbContextOpt) == null ? void 0 : _a.database) ?? info.database;
9
- if (database == null || database === "") {
10
- throw new Error("database is required");
11
- }
12
- return createDbContext(config.dbContextDef, executor, {
13
- database,
14
- schema: ((_b = config.dbContextOpt) == null ? void 0 : _b.schema) ?? info.schema
15
- });
16
- }
17
- async function connect(config, callback) {
18
- const db = await _createConfiguredDb(config);
19
- return db.connect(async () => {
20
- try {
21
- return await callback(db);
22
- } catch (err) {
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("Warning! Operation rejected due to related operations. Please check subsequent operations.", { cause: err });
3
+ export function createOrmClientConnector(serviceClient) {
4
+ async function _createConfiguredDb(config) {
5
+ const executor = new OrmClientDbContextExecutor(serviceClient, config.connOpt);
6
+ const info = await executor.getInfo();
7
+ const database = config.dbContextOpt?.database ?? info.database;
8
+ if (database == null || database === "") {
9
+ throw new Error("database 필수입니다.");
25
10
  }
26
- throw err;
27
- }
28
- });
29
- }
30
- async function connectWithoutTransaction(config, callback) {
31
- const db = await _createConfiguredDb(config);
32
- return db.connectWithoutTransaction(async () => callback(db));
33
- }
34
- return {
35
- connect,
36
- connectWithoutTransaction
37
- };
11
+ return createDbContext(config.dbContextDef, executor, {
12
+ database,
13
+ schema: config.dbContextOpt?.schema ?? info.schema,
14
+ });
15
+ }
16
+ async function connect(config, callback) {
17
+ const db = await _createConfiguredDb(config);
18
+ return db.connect(async () => {
19
+ try {
20
+ return await callback(db);
21
+ }
22
+ catch (err) {
23
+ if (err instanceof Error &&
24
+ (err.message.includes("a parent row: a foreign key constraint") ||
25
+ err.message.includes("conflicted with the REFERENCE"))) {
26
+ throw new Error("경고! 연관된 작업으로 인해 작업이 거부되었습니다. 후속 작업을 확인해 주세요.", { cause: err });
27
+ }
28
+ throw err;
29
+ }
30
+ });
31
+ }
32
+ async function connectWithoutTransaction(config, callback) {
33
+ const db = await _createConfiguredDb(config);
34
+ return db.connectWithoutTransaction(async () => callback(db));
35
+ }
36
+ return {
37
+ connect,
38
+ connectWithoutTransaction,
39
+ };
38
40
  }
39
- export {
40
- createOrmClientConnector
41
- };
42
- //# sourceMappingURL=orm-client-connector.js.map
41
+ //# sourceMappingURL=orm-client-connector.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 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,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
- "names": []
6
- }
1
+ {"version":3,"file":"orm-client-connector.js","sourceRoot":"","sources":["..\\..\\..\\src\\features\\orm\\orm-client-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,eAAe,EAA6C,MAAM,sBAAsB,CAAC;AAclG,MAAM,UAAU,wBAAwB,CAAC,aAA4B;IACnE,KAAK,UAAU,mBAAmB,CAChC,MAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAChE,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE;YACpD,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM;SACnD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,MAA+B,EAC/B,QAAyD;QAEzD,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IACE,GAAG,YAAY,KAAK;oBACpB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAC;wBAC7D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,EACxD,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,CAAC;gBAED,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,yBAAyB,CACtC,MAA+B,EAC/B,QAAyD;QAEzD,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC,yBAAyB,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,OAAO;QACP,yBAAyB;KAC1B,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"orm-client-db-context-executor.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\features\\orm\\orm-client-db-context-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,0BAA2B,YAAW,iBAAiB;IAKhE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAGtB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAKzD,OAAO,IAAI,OAAO,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAII,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,GACnC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;IAQX,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAQ5E,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;CAOjB"}
1
+ {"version":3,"file":"orm-client-db-context-executor.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\features\\orm\\orm-client-db-context-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,0BAA2B,YAAW,iBAAiB;IAKhE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAGtB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAKzD,OAAO,IAAI,OAAO,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAII,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,GACnC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;IAQX,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAQ5E,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;CAOjB"}
@@ -1,61 +1,61 @@
1
- class OrmClientDbContextExecutor {
2
- constructor(_client, _opt) {
3
- this._client = _client;
4
- this._opt = _opt;
5
- this._ormService = _client.getService("Orm");
6
- }
7
- _connId;
8
- _ormService;
9
- async getInfo() {
10
- return this._ormService.getInfo(this._opt);
11
- }
12
- async connect() {
13
- this._connId = await this._ormService.connect(this._opt);
14
- }
15
- async beginTransaction(isolationLevel) {
16
- if (this._connId === void 0) {
17
- throw new Error("Not connected to the database.");
18
- }
19
- await this._ormService.beginTransaction(this._connId, isolationLevel);
20
- }
21
- async commitTransaction() {
22
- if (this._connId === void 0) {
23
- throw new Error("Not connected to the database.");
24
- }
25
- await this._ormService.commitTransaction(this._connId);
26
- }
27
- async rollbackTransaction() {
28
- if (this._connId === void 0) {
29
- throw new Error("Not connected to the database.");
30
- }
31
- await this._ormService.rollbackTransaction(this._connId);
32
- }
33
- async close() {
34
- if (this._connId === void 0) {
35
- throw new Error("Not connected to the database.");
36
- }
37
- await this._ormService.close(this._connId);
38
- }
39
- async executeDefs(defs, options) {
40
- if (this._connId === void 0) {
41
- throw new Error("Not connected to the database.");
42
- }
43
- return await this._ormService.executeDefs(this._connId, defs, options);
44
- }
45
- async executeParametrized(query, params) {
46
- if (this._connId === void 0) {
47
- throw new Error("Not connected to the database.");
48
- }
49
- return this._ormService.executeParametrized(this._connId, query, params);
50
- }
51
- async bulkInsert(tableName, columnDefs, records) {
52
- if (this._connId === void 0) {
53
- throw new Error("Not connected to the database.");
54
- }
55
- return this._ormService.bulkInsert(this._connId, tableName, columnDefs, records);
56
- }
1
+ export class OrmClientDbContextExecutor {
2
+ _client;
3
+ _opt;
4
+ _connId;
5
+ _ormService;
6
+ constructor(_client, _opt) {
7
+ this._client = _client;
8
+ this._opt = _opt;
9
+ this._ormService = _client.getService("Orm");
10
+ }
11
+ async getInfo() {
12
+ return this._ormService.getInfo(this._opt);
13
+ }
14
+ async connect() {
15
+ this._connId = await this._ormService.connect(this._opt);
16
+ }
17
+ async beginTransaction(isolationLevel) {
18
+ if (this._connId === undefined) {
19
+ throw new Error("데이터베이스에 연결되지 않았습니다.");
20
+ }
21
+ await this._ormService.beginTransaction(this._connId, isolationLevel);
22
+ }
23
+ async commitTransaction() {
24
+ if (this._connId === undefined) {
25
+ throw new Error("데이터베이스에 연결되지 않았습니다.");
26
+ }
27
+ await this._ormService.commitTransaction(this._connId);
28
+ }
29
+ async rollbackTransaction() {
30
+ if (this._connId === undefined) {
31
+ throw new Error("데이터베이스에 연결되지 않았습니다.");
32
+ }
33
+ await this._ormService.rollbackTransaction(this._connId);
34
+ }
35
+ async close() {
36
+ if (this._connId === undefined) {
37
+ throw new Error("데이터베이스에 연결되지 않았습니다.");
38
+ }
39
+ await this._ormService.close(this._connId);
40
+ this._connId = undefined;
41
+ }
42
+ async executeDefs(defs, options) {
43
+ if (this._connId === undefined) {
44
+ throw new Error("데이터베이스에 연결되지 않았습니다.");
45
+ }
46
+ return (await this._ormService.executeDefs(this._connId, defs, options));
47
+ }
48
+ async executeParametrized(query, params) {
49
+ if (this._connId === undefined) {
50
+ throw new Error("데이터베이스에 연결되지 않았습니다.");
51
+ }
52
+ return this._ormService.executeParametrized(this._connId, query, params);
53
+ }
54
+ async bulkInsert(tableName, columnDefs, records) {
55
+ if (this._connId === undefined) {
56
+ throw new Error("데이터베이스에 연결되지 않았습니다.");
57
+ }
58
+ return this._ormService.bulkInsert(this._connId, tableName, columnDefs, records);
59
+ }
57
60
  }
58
- export {
59
- OrmClientDbContextExecutor
60
- };
61
- //# sourceMappingURL=orm-client-db-context-executor.js.map
61
+ //# sourceMappingURL=orm-client-db-context-executor.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 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,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
- "names": []
6
- }
1
+ {"version":3,"file":"orm-client-db-context-executor.js","sourceRoot":"","sources":["..\\..\\..\\src\\features\\orm\\orm-client-db-context-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
- //# sourceMappingURL=orm-connect-options.js.map
1
+ export {};
2
+ //# sourceMappingURL=orm-connect-options.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }
1
+ {"version":3,"file":"orm-connect-options.js","sourceRoot":"","sources":["..\\..\\..\\src\\features\\orm\\orm-connect-options.ts"],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,12 +1,17 @@
1
+ // 타입
1
2
  export * from "./types/connection-options.js";
2
3
  export * from "./types/progress.types.js";
4
+ // 전송 계층
3
5
  export * from "./transport/socket-provider.js";
4
6
  export * from "./transport/service-transport.js";
7
+ // 프로토콜
5
8
  export * from "./protocol/client-protocol-wrapper.js";
9
+ // 기능
6
10
  export * from "./features/event-client.js";
7
11
  export * from "./features/file-client.js";
8
12
  export * from "./features/orm/orm-connect-options.js";
9
13
  export * from "./features/orm/orm-client-connector.js";
10
14
  export * from "./features/orm/orm-client-db-context-executor.js";
15
+ // 메인
11
16
  export * from "./service-client.js";
12
- //# sourceMappingURL=index.js.map
17
+ //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "mappings": "AACA,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["..\\src\\index.ts"],"names":[],"mappings":"AAAA,KAAK;AACL,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AAEvC,QAAQ;AACR,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAE9C,OAAO;AACP,cAAc,oCAAoC,CAAC;AAEnD,KAAK;AACL,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAE9D,KAAK;AACL,cAAc,kBAAkB,CAAC"}
@@ -6,6 +6,7 @@ export interface ClientProtocolWrapper {
6
6
  totalSize: number;
7
7
  }>;
8
8
  decode(bytes: Bytes): Promise<ServiceMessageDecodeResult<ServiceMessage>>;
9
+ dispose(): void;
9
10
  }
10
11
  export declare function createClientProtocolWrapper(protocol: ServiceProtocol): ClientProtocolWrapper;
11
12
  //# sourceMappingURL=client-protocol-wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-protocol-wrapper.d.ts","sourceRoot":"","sources":["..\\..\\src\\protocol\\client-protocol-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EACV,0BAA0B,EAC1B,cAAc,EACd,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,CAAC;CAC3E;AA+ED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,eAAe,GAAG,qBAAqB,CAwD5F"}
1
+ {"version":3,"file":"client-protocol-wrapper.d.ts","sourceRoot":"","sources":["..\\..\\src\\protocol\\client-protocol-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EACV,0BAA0B,EAC1B,cAAc,EACd,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1E,OAAO,IAAI,IAAI,CAAC;CACjB;AA+ED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,eAAe,GAAG,qBAAqB,CA4D5F"}