chz-telegram-bot 0.0.17 → 0.0.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"jsonFileStorage.d.ts","sourceRoot":"","sources":["../../services/jsonFileStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,qBAAa,eAAgB,YAAW,cAAc;IAClD,SAAS,YAAoB;IAC7B,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;YAY5B,IAAI;YAUJ,YAAY;YAmBZ,IAAI;IAalB,OAAO,CAAC,eAAe;IAOjB,IAAI,CAAC,YAAY,SAAS,YAAY,EAAE,GAAG,EAAE,MAAM;IAMnD,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM;IAUzD,cAAc,CAAC,YAAY,SAAS,YAAY,EAClD,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM;IASZ,yBAAyB,CAC3B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,qBAAqB;IAYtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,cAAc,CAAC,YAAY,SAAS,YAAY,EAClD,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC;CAWrD"}
1
+ {"version":3,"file":"jsonFileStorage.d.ts","sourceRoot":"","sources":["../../services/jsonFileStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,qBAAa,eAAgB,YAAW,cAAc;IAClD,SAAS,YAAoB;IAC7B,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;YAY5B,IAAI;YAUJ,YAAY;YAmBZ,IAAI;IAalB,OAAO,CAAC,eAAe;IAOjB,IAAI,CAAC,YAAY,SAAS,YAAY,EAAE,GAAG,EAAE,MAAM;IAMnD,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM;IAUzD,cAAc,CAAC,YAAY,SAAS,YAAY,EAClD,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM;IAYZ,yBAAyB,CAC3B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,qBAAqB;IAYtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,cAAc,CAAC,YAAY,SAAS,YAAY,EAClD,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC;CAcrD"}
@@ -5,6 +5,7 @@ const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const promises_1 = require("fs/promises");
7
7
  const async_sema_1 = require("async-sema");
8
+ const actionStateBase_1 = require("../entities/states/actionStateBase");
8
9
  class JsonFileStorage {
9
10
  constructor(botName, path) {
10
11
  this.semaphore = new async_sema_1.Sema(1);
@@ -68,7 +69,7 @@ class JsonFileStorage {
68
69
  async getActionState(entity, chatId) {
69
70
  return await this.lock(async () => {
70
71
  const data = await this.loadInternal(entity.key);
71
- return data[chatId] ?? entity.stateConstructor();
72
+ return Object.assign(entity.stateConstructor(), data[chatId]);
72
73
  });
73
74
  }
74
75
  async saveActionExecutionResult(action, chatId, transactionResult) {
@@ -86,7 +87,7 @@ class JsonFileStorage {
86
87
  async updateStateFor(sourceActionKey, chatId, update) {
87
88
  await this.lock(async () => {
88
89
  const data = await this.loadInternal(sourceActionKey);
89
- const state = data[chatId];
90
+ const state = Object.assign(new actionStateBase_1.ActionStateBase(), data[chatId]);
90
91
  await update(state);
91
92
  await this.save(data, sourceActionKey);
92
93
  });
@@ -1,6 +1,7 @@
1
1
  declare class JsonLogger {
2
+ private serializeError;
2
3
  logWithTraceId(botName: string, traceId: string | number, chatName: string, text: string): void;
3
- errorWithTraceId<TData>(botName: string, traceId: string | number, chatName: string, errorObj: string | Error, extraData?: TData | undefined): void;
4
+ errorWithTraceId<TData>(botName: string, traceId: string | number, chatName: string, errorObj: unknown, extraData?: TData | undefined): void;
4
5
  }
5
6
  export declare const Logger: JsonLogger;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../services/logger.ts"],"names":[],"mappings":"AAAA,cAAM,UAAU;IACZ,cAAc,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM;IAKhB,gBAAgB,CAAC,KAAK,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,KAAK,EACxB,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS;CAYpC;AAED,eAAO,MAAM,MAAM,YAAmB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../services/logger.ts"],"names":[],"mappings":"AAAA,cAAM,UAAU;IAEZ,OAAO,CAAC,cAAc;IAQtB,cAAc,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM;IAKhB,gBAAgB,CAAC,KAAK,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS;CAYpC;AAED,eAAO,MAAM,MAAM,YAAmB,CAAC"}
@@ -2,6 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Logger = void 0;
4
4
  class JsonLogger {
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ serializeError(error) {
7
+ const plainObject = {};
8
+ Object.getOwnPropertyNames(error).forEach(function (key) {
9
+ plainObject[key] = error[key];
10
+ });
11
+ return JSON.stringify(plainObject);
12
+ }
5
13
  logWithTraceId(botName, traceId, chatName, text) {
6
14
  console.log(JSON.stringify({ botName, traceId, chatName, text }));
7
15
  }
@@ -10,7 +18,7 @@ class JsonLogger {
10
18
  botName,
11
19
  traceId,
12
20
  chatName,
13
- errorObj,
21
+ error: this.serializeError(errorObj),
14
22
  extraData
15
23
  }));
16
24
  }
@@ -128,7 +128,7 @@ export class BotInstance {
128
128
  ctx.botName,
129
129
  ctx.traceId,
130
130
  chatName,
131
- error as string | Error,
131
+ error,
132
132
  ctx
133
133
  );
134
134
  }
@@ -149,7 +149,7 @@ export class BotInstance {
149
149
  ctx.botName,
150
150
  ctx.traceId,
151
151
  ctx.chatName,
152
- error as string | Error,
152
+ error,
153
153
  ctx
154
154
  );
155
155
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chz-telegram-bot",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "async-sema": "^3.1.1",
@@ -98,7 +98,10 @@ export class JsonFileStorage implements IStorageClient {
98
98
  return await this.lock(async () => {
99
99
  const data = await this.loadInternal(entity.key);
100
100
 
101
- return (data[chatId] as TActionState) ?? entity.stateConstructor();
101
+ return Object.assign(
102
+ entity.stateConstructor(),
103
+ data[chatId]
104
+ ) as TActionState;
102
105
  });
103
106
  }
104
107
 
@@ -128,7 +131,10 @@ export class JsonFileStorage implements IStorageClient {
128
131
  ) {
129
132
  await this.lock(async () => {
130
133
  const data = await this.loadInternal(sourceActionKey);
131
- const state = data[chatId] as TActionState;
134
+ const state = Object.assign(
135
+ new ActionStateBase(),
136
+ data[chatId]
137
+ ) as TActionState;
132
138
 
133
139
  await update(state);
134
140
 
@@ -1,4 +1,13 @@
1
1
  class JsonLogger {
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ private serializeError(error: any) {
4
+ const plainObject: Record<string, unknown> = {};
5
+ Object.getOwnPropertyNames(error).forEach(function (key) {
6
+ plainObject[key] = error[key];
7
+ });
8
+ return JSON.stringify(plainObject);
9
+ }
10
+
2
11
  logWithTraceId(
3
12
  botName: string,
4
13
  traceId: string | number,
@@ -12,7 +21,7 @@ class JsonLogger {
12
21
  botName: string,
13
22
  traceId: string | number,
14
23
  chatName: string,
15
- errorObj: string | Error,
24
+ errorObj: unknown,
16
25
  extraData?: TData | undefined
17
26
  ) {
18
27
  console.error(
@@ -20,7 +29,7 @@ class JsonLogger {
20
29
  botName,
21
30
  traceId,
22
31
  chatName,
23
- errorObj,
32
+ error: this.serializeError(errorObj),
24
33
  extraData
25
34
  })
26
35
  );
@@ -56,7 +56,7 @@ export class TelegramApiService {
56
56
  this.botName,
57
57
  message.traceId,
58
58
  this.chats.get(message.chatId)!,
59
- error as string | Error,
59
+ error,
60
60
  message
61
61
  );
62
62
  }
@@ -1,9 +0,0 @@
1
- export enum Day {
2
- Sunday = 0,
3
- Monday = 1,
4
- Tuesday = 2,
5
- Wednesday = 3,
6
- Thursday = 4,
7
- Friday = 5,
8
- Saturday = 6
9
- }