@japcon-bot/bot 1.0.0

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 (88) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +21 -0
  3. package/dist/context/globalstateClass.d.ts +34 -0
  4. package/dist/context/globalstateClass.d.ts.map +1 -0
  5. package/dist/context/idlestateClass.d.ts +37 -0
  6. package/dist/context/idlestateClass.d.ts.map +1 -0
  7. package/dist/context/index.d.ts +4 -0
  8. package/dist/context/index.d.ts.map +1 -0
  9. package/dist/context/stateClass.d.ts +44 -0
  10. package/dist/context/stateClass.d.ts.map +1 -0
  11. package/dist/core/coreClass.d.ts +129 -0
  12. package/dist/core/coreClass.d.ts.map +1 -0
  13. package/dist/core/eventEmitterClass.d.ts +19 -0
  14. package/dist/core/eventEmitterClass.d.ts.map +1 -0
  15. package/dist/db/index.d.ts +16 -0
  16. package/dist/db/index.d.ts.map +1 -0
  17. package/dist/index.cjs +34954 -0
  18. package/dist/index.d.ts +35 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/io/events/eventAction.d.ts +3 -0
  21. package/dist/io/events/eventAction.d.ts.map +1 -0
  22. package/dist/io/events/eventCall.d.ts +4 -0
  23. package/dist/io/events/eventCall.d.ts.map +1 -0
  24. package/dist/io/events/eventCustom.d.ts +4 -0
  25. package/dist/io/events/eventCustom.d.ts.map +1 -0
  26. package/dist/io/events/eventDocument.d.ts +4 -0
  27. package/dist/io/events/eventDocument.d.ts.map +1 -0
  28. package/dist/io/events/eventLocation.d.ts +4 -0
  29. package/dist/io/events/eventLocation.d.ts.map +1 -0
  30. package/dist/io/events/eventMedia.d.ts +4 -0
  31. package/dist/io/events/eventMedia.d.ts.map +1 -0
  32. package/dist/io/events/eventOrder.d.ts +4 -0
  33. package/dist/io/events/eventOrder.d.ts.map +1 -0
  34. package/dist/io/events/eventTemplate.d.ts +4 -0
  35. package/dist/io/events/eventTemplate.d.ts.map +1 -0
  36. package/dist/io/events/eventVoiceNote.d.ts +4 -0
  37. package/dist/io/events/eventVoiceNote.d.ts.map +1 -0
  38. package/dist/io/events/eventWelcome.d.ts +3 -0
  39. package/dist/io/events/eventWelcome.d.ts.map +1 -0
  40. package/dist/io/events/index.d.ts +17 -0
  41. package/dist/io/events/index.d.ts.map +1 -0
  42. package/dist/io/flowClass.d.ts +20 -0
  43. package/dist/io/flowClass.d.ts.map +1 -0
  44. package/dist/io/methods/addAnswer.d.ts +9 -0
  45. package/dist/io/methods/addAnswer.d.ts.map +1 -0
  46. package/dist/io/methods/addChild.d.ts +10 -0
  47. package/dist/io/methods/addChild.d.ts.map +1 -0
  48. package/dist/io/methods/addKeyword.d.ts +10 -0
  49. package/dist/io/methods/addKeyword.d.ts.map +1 -0
  50. package/dist/io/methods/index.d.ts +8 -0
  51. package/dist/io/methods/index.d.ts.map +1 -0
  52. package/dist/io/methods/toCtx.d.ts +20 -0
  53. package/dist/io/methods/toCtx.d.ts.map +1 -0
  54. package/dist/io/methods/toJson.d.ts +4 -0
  55. package/dist/io/methods/toJson.d.ts.map +1 -0
  56. package/dist/io/methods/toSerialize.d.ts +9 -0
  57. package/dist/io/methods/toSerialize.d.ts.map +1 -0
  58. package/dist/provider/interface/provider.d.ts +163 -0
  59. package/dist/provider/interface/provider.d.ts.map +1 -0
  60. package/dist/provider/interface/server.d.ts +60 -0
  61. package/dist/provider/interface/server.d.ts.map +1 -0
  62. package/dist/provider/providerMock.d.ts +19 -0
  63. package/dist/provider/providerMock.d.ts.map +1 -0
  64. package/dist/types.d.ts +289 -0
  65. package/dist/types.d.ts.map +1 -0
  66. package/dist/utils/blacklistClass.d.ts +38 -0
  67. package/dist/utils/blacklistClass.d.ts.map +1 -0
  68. package/dist/utils/cleanImage.d.ts +8 -0
  69. package/dist/utils/cleanImage.d.ts.map +1 -0
  70. package/dist/utils/convertAudio.d.ts +7 -0
  71. package/dist/utils/convertAudio.d.ts.map +1 -0
  72. package/dist/utils/delay.d.ts +7 -0
  73. package/dist/utils/delay.d.ts.map +1 -0
  74. package/dist/utils/download.d.ts +10 -0
  75. package/dist/utils/download.d.ts.map +1 -0
  76. package/dist/utils/event.d.ts +19 -0
  77. package/dist/utils/event.d.ts.map +1 -0
  78. package/dist/utils/flattener.d.ts +10 -0
  79. package/dist/utils/flattener.d.ts.map +1 -0
  80. package/dist/utils/hash.d.ts +47 -0
  81. package/dist/utils/hash.d.ts.map +1 -0
  82. package/dist/utils/index.d.ts +12 -0
  83. package/dist/utils/index.d.ts.map +1 -0
  84. package/dist/utils/interactive.d.ts +10 -0
  85. package/dist/utils/interactive.d.ts.map +1 -0
  86. package/dist/utils/queueClass.d.ts +29 -0
  87. package/dist/utils/queueClass.d.ts.map +1 -0
  88. package/package.json +66 -0
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Leifer Mendez
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ <p align="center">
2
+ <a href="https://builderbot.app/">
3
+ <h2 align="center">@builderbot/bot</h2>
4
+ </a>
5
+ </p>
6
+
7
+
8
+ ## Documentation
9
+
10
+ Visit [builderbot](https://builderbot.app/) to view the full documentation.
11
+
12
+
13
+ ## Official Course
14
+
15
+ If you want to discover all the functions and features offered by the library you can take the course.
16
+ [View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER)
17
+
18
+
19
+ ## Contact Us
20
+ - [💻 Discord](https://link.codigoencasa.com/DISCORD)
21
+ - [👌 𝕏 (Twitter)](https://twitter.com/leifermendez)
@@ -0,0 +1,34 @@
1
+ type GlobalStateType = Record<string, any>;
2
+ declare class GlobalState {
3
+ RAW: GlobalStateType;
4
+ private STATE;
5
+ constructor();
6
+ /**
7
+ * Updates the global state with the provided key-value pairs.
8
+ * @param keyValue - An object containing the key-value pairs to update the state with.
9
+ * @returns A function that updates the state when called.
10
+ */
11
+ updateState: () => ((keyValue: GlobalStateType) => Promise<void>);
12
+ /**
13
+ * Retrieves the global state.
14
+ * @returns A function that returns the global state when called.
15
+ */
16
+ getMyState: () => (() => GlobalStateType);
17
+ /**
18
+ * Retrieves a specific property from the global state.
19
+ * @returns A function that returns the value of the specified property when called.
20
+ */
21
+ get: () => ((prop: string) => any);
22
+ /**
23
+ * Retrieves all state values.
24
+ * @returns An iterator for the values of the state.
25
+ */
26
+ getAllState: () => IterableIterator<GlobalStateType>;
27
+ /**
28
+ * Clears the global state.
29
+ * @returns A function that clears the global state when called.
30
+ */
31
+ clear: () => (() => void);
32
+ }
33
+ export { GlobalState };
34
+ //# sourceMappingURL=globalstateClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalstateClass.d.ts","sourceRoot":"","sources":["../../src/context/globalstateClass.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE1C,cAAM,WAAW;IACN,GAAG,EAAE,eAAe,CAAA;IAC3B,OAAO,CAAC,KAAK,CAA8B;;IAQ3C;;;;OAIG;IACH,WAAW,QAAO,CAAC,CAAC,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAQ/D;IAED;;;OAGG;IACH,UAAU,QAAO,CAAC,MAAM,eAAe,CAAC,CAEvC;IAED;;;OAGG;IACH,GAAG,QAAO,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,CAehC;IAED;;;OAGG;IACH,WAAW,QAAO,gBAAgB,CAAC,eAAe,CAAC,CAAuB;IAE1E;;;OAGG;IACH,KAAK,QAAO,CAAC,MAAM,IAAI,CAAC,CAEvB;CACJ;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,37 @@
1
+ type Callback = (context: {
2
+ next: boolean;
3
+ inRef: any;
4
+ }) => void;
5
+ interface SetIdleTimeParams {
6
+ from: string;
7
+ inRef: any;
8
+ timeInSeconds: number;
9
+ cb?: Callback;
10
+ }
11
+ interface GetParams {
12
+ from: string;
13
+ inRef: any;
14
+ }
15
+ declare class IdleState {
16
+ private indexCb;
17
+ /**
18
+ *
19
+ * @param param0
20
+ */
21
+ setIdleTime: ({ from, inRef, timeInSeconds, cb }: SetIdleTimeParams) => void;
22
+ /**
23
+ *
24
+ * @param param0
25
+ * @returns
26
+ */
27
+ get: ({ from, inRef }: GetParams) => boolean | null;
28
+ /**
29
+ *
30
+ * @param ctxInComing
31
+ */
32
+ stop: (ctxInComing: {
33
+ from: any;
34
+ }) => void;
35
+ }
36
+ export { IdleState };
37
+ //# sourceMappingURL=idlestateClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idlestateClass.d.ts","sourceRoot":"","sources":["../../src/context/idlestateClass.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,KAAK,IAAI,CAAA;AAEhE,UAAU,iBAAiB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,GAAG,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,EAAE,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,UAAU,SAAS;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,GAAG,CAAA;CACb;AASD,cAAM,SAAS;IACX,OAAO,CAAC,OAAO,CAAsC;IAErD;;;OAGG;IACH,WAAW,GAAI,oCAAoC,iBAAiB,KAAG,IAAI,CA4B1E;IAED;;;;OAIG;IACH,GAAG,GAAI,iBAAiB,SAAS,KAAG,OAAO,GAAG,IAAI,CASjD;IAED;;;OAGG;IACH,IAAI,GAAI,aAAa;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,KAAG,IAAI,CAUxC;CACJ;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './globalstateClass';
2
+ export * from './stateClass';
3
+ export * from './idlestateClass';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,44 @@
1
+ type Context = {
2
+ from: string;
3
+ };
4
+ type StateValue = Record<string, any>;
5
+ declare class SingleState {
6
+ private STATE;
7
+ constructor();
8
+ /**
9
+ * Updates the state for a given context.
10
+ * @param ctx - The context for which to update the state.
11
+ * @returns A function that takes a key-value object to update the state.
12
+ */
13
+ updateState: (ctx?: Context) => ((keyValue: StateValue) => Promise<void>);
14
+ /**
15
+ * Retrieves the state for a given context.
16
+ * @param from - The identifier for the context.
17
+ * @returns A function that returns the state.
18
+ */
19
+ getMyState: (from: string) => (() => StateValue | undefined);
20
+ /**
21
+ * Retrieves a specific property from the state of a given context.
22
+ * @param from - The identifier for the context.
23
+ * @returns A function that takes a property name and returns its value.
24
+ */
25
+ get: (from: string) => ((prop: string) => any);
26
+ /**
27
+ * Retrieves all states.
28
+ * @returns An iterator for the values of the state map.
29
+ */
30
+ getAllState: () => IterableIterator<StateValue>;
31
+ /**
32
+ * Clears the state for a given context.
33
+ * @param from - The identifier for the context.
34
+ * @returns A function that clears the state.
35
+ */
36
+ clear: (from: string) => (() => boolean);
37
+ /**
38
+ *
39
+ * @returns
40
+ */
41
+ clearAll: () => void;
42
+ }
43
+ export { SingleState };
44
+ //# sourceMappingURL=stateClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateClass.d.ts","sourceRoot":"","sources":["../../src/context/stateClass.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG;IACX,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAErC,cAAM,WAAW;IACb,OAAO,CAAC,KAAK,CAAqC;;IAIlD;;;;OAIG;IACH,WAAW,GAAI,MAAK,OAAsB,KAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CASrF;IAED;;;;OAIG;IACH,UAAU,GAAI,MAAM,MAAM,KAAG,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,CAE1D;IAED;;;;OAIG;IACH,GAAG,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,CAe5C;IAED;;;OAGG;IACH,WAAW,QAAO,gBAAgB,CAAC,UAAU,CAAC,CAAuB;IAErE;;;;OAIG;IACH,KAAK,GAAI,MAAM,MAAM,KAAG,CAAC,MAAM,OAAO,CAAC,CAEtC;IAED;;;OAGG;IACH,QAAQ,QAAO,IAAI,CAAsB;CAC5C;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,129 @@
1
+ import type { BotCtxMethods, BotStateGlobal, BotStateStandAlone, DispatchFn, DynamicBlacklist, FlagsRuntime, ProviderEventTypes, TContext } from './../types';
2
+ import type { HostEventTypes } from './eventEmitterClass';
3
+ import { EventEmitterClass } from './eventEmitterClass';
4
+ import { GlobalState, SingleState } from '../context';
5
+ import type { MemoryDB } from '../db';
6
+ import type FlowClass from '../io/flowClass';
7
+ import type { ProviderClass } from '../provider/interface/provider';
8
+ import type { FlowDynamicMessage, GeneralArgs, MessageContextIncoming } from '../types';
9
+ import { BlackList, Queue } from '../utils';
10
+ declare class CoreClass<P extends ProviderClass = any, D extends MemoryDB = any> extends EventEmitterClass<HostEventTypes> {
11
+ flowClass: FlowClass;
12
+ database: D;
13
+ provider: P;
14
+ queuePrincipal: Queue<unknown>;
15
+ stateHandler: SingleState;
16
+ globalStateHandler: GlobalState;
17
+ dynamicBlacklist: BlackList;
18
+ generalArgs: GeneralArgs & {
19
+ host?: string;
20
+ };
21
+ /**
22
+ * @description
23
+ * - Setup flowClass
24
+ * - Setup database
25
+ * - Setup provider
26
+ * - Setup generalArgs
27
+ */
28
+ constructor(_flow: any, _database: D, _provider: P, _args: GeneralArgs | null | undefined);
29
+ /**
30
+ * Event handler
31
+ */
32
+ listenerBusEvents: () => {
33
+ event: string;
34
+ func: ProviderEventTypes[keyof ProviderEventTypes];
35
+ }[];
36
+ private setHostData;
37
+ handleMsg: (messageCtxInComing: MessageContextIncoming) => Promise<{
38
+ createCtxMessage: (payload: {
39
+ body: any;
40
+ answer: any;
41
+ media: string;
42
+ buttons: any[];
43
+ capture: boolean;
44
+ delay: number;
45
+ keyword: null;
46
+ }, index?: number) => TContext;
47
+ clearQueue: () => void;
48
+ endFlow: (flag: FlagsRuntime, inRef: string | number) => (message?: any) => Promise<void>;
49
+ sendFlow: (messageToSend: any[], numberOrId: string, options?: {
50
+ [key: string]: any;
51
+ }) => Promise<void>;
52
+ continueFlow: (initRef?: any) => Promise<any>;
53
+ fallBack: (flag: FlagsRuntime) => (message?: any) => Promise<void>;
54
+ gotoFlow: (flag: FlagsRuntime) => (flowInstance: {
55
+ toJson: () => any;
56
+ ctx: {
57
+ options: {
58
+ delay: any;
59
+ };
60
+ };
61
+ }, step?: number) => Promise<void>;
62
+ flowDynamic: (flag: FlagsRuntime, inRef: string, privateOptions: {
63
+ [x: string]: any;
64
+ omitEndFlow?: boolean;
65
+ idleCtx?: boolean;
66
+ }) => (listMessages?: string | string[] | FlowDynamicMessage[], options?: {
67
+ continue: boolean;
68
+ }) => Promise<void>;
69
+ resolveCbEveryCtx: (ctxMessage: TContext, options?: {
70
+ omitEndFlow: boolean;
71
+ idleCtx: boolean;
72
+ triggerKey: boolean;
73
+ }) => Promise<TContext>;
74
+ cbEveryCtx: (inRef: string, options?: {
75
+ [key: string]: any;
76
+ }) => Promise<void | {
77
+ endFlow: any;
78
+ fallBack?: boolean;
79
+ flowDynamic?: boolean;
80
+ gotoFlow?: boolean;
81
+ }>;
82
+ }>;
83
+ /**
84
+ * Enviar mensaje con contexto atraves del proveedor de whatsapp
85
+ * @param {*} numberOrId
86
+ * @param {*} ctxMessage ver más en GLOSSARY.md
87
+ * @returns
88
+ */
89
+ sendProviderAndSave: (numberOrId: string, ctxMessage: TContext) => Promise<void>;
90
+ /**
91
+ * Funcion dedicada a enviar el mensaje sin pasar por el flow
92
+ * (dialogflow)
93
+ * @param {*} messageToSend
94
+ * @param {*} numberOrId
95
+ * @returns
96
+ */
97
+ sendFlowSimple: (messageToSend: any, numberOrId: any) => Promise<{
98
+ (): Promise<void>;
99
+ <T>(value: T): Promise<Awaited<T>>;
100
+ <T>(value: T | PromiseLike<T>): Promise<Awaited<T>>;
101
+ }>;
102
+ /**
103
+ *
104
+ */
105
+ httpServer: (port: number) => void;
106
+ /**
107
+ * Build context methods for HTTP handlers
108
+ * @returns {BotCtxMethods}
109
+ */
110
+ private buildCtxMethods;
111
+ /**
112
+ *
113
+ * @param ctxPolka
114
+ * @returns
115
+ */
116
+ handleCtx: (ctxPolka: (bot: (Pick<P, "sendMessage" | "vendor"> & {
117
+ provider: P;
118
+ blacklist: DynamicBlacklist;
119
+ dispatch: DispatchFn;
120
+ state: (number: string) => BotStateStandAlone;
121
+ globalState: () => BotStateGlobal;
122
+ ctxMethods: BotCtxMethods;
123
+ emit: (eventName: string, args: Record<string, any> & {
124
+ from: string;
125
+ }) => void;
126
+ }) | undefined, req: any, res: any) => Promise<void>) => (...args: any[]) => any;
127
+ }
128
+ export { CoreClass };
129
+ //# sourceMappingURL=coreClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coreClass.d.ts","sourceRoot":"","sources":["../../src/core/coreClass.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { TContext } from '../types';
2
+ export type HostEventTypes = {
3
+ send_message: [arg1: TContext & {
4
+ from: string;
5
+ answer: string | string[];
6
+ respMessage: any;
7
+ }];
8
+ notice: [arg1: {
9
+ title: string;
10
+ instructions: string[];
11
+ }];
12
+ };
13
+ export declare class EventEmitterClass<TEvents extends Record<string, any>> {
14
+ private emitter;
15
+ emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void;
16
+ on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void;
17
+ off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void;
18
+ }
19
+ //# sourceMappingURL=eventEmitterClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventEmitterClass.d.ts","sourceRoot":"","sources":["../../src/core/eventEmitterClass.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,MAAM,cAAc,GAAG;IACzB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,GAAG,CAAA;KAAE,CAAC,CAAA;IAC9F,MAAM,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAA;AAED,qBAAa,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC9D,OAAO,CAAC,OAAO,CAAqB;IAEpC,IAAI,CAAC,UAAU,SAAS,MAAM,OAAO,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;IAIvG,EAAE,CAAC,UAAU,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI;IAKvD,GAAG,CAAC,UAAU,SAAS,MAAM,OAAO,GAAG,MAAM,EACzC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI;CAI1D"}
@@ -0,0 +1,16 @@
1
+ declare class MemoryDB {
2
+ listHistory: any[];
3
+ /**
4
+ *
5
+ * @param from
6
+ * @returns
7
+ */
8
+ getPrevByNumber(from: string): Promise<any>;
9
+ /**
10
+ *
11
+ * @param ctx
12
+ */
13
+ save(ctx: any): Promise<void>;
14
+ }
15
+ export { MemoryDB };
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,cAAM,QAAQ;IACH,WAAW,EAAE,GAAG,EAAE,CAAK;IAE9B;;;;OAIG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQjD;;;OAGG;IACG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}