@arcaelas/whatsapp 2.1.0 → 3.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 (127) hide show
  1. package/build/cjs/decorators.d.ts +9 -0
  2. package/build/cjs/decorators.js +26 -0
  3. package/build/cjs/decorators.js.map +1 -0
  4. package/build/cjs/index.d.ts +6 -10
  5. package/build/cjs/index.js +11 -10
  6. package/build/cjs/index.js.map +1 -1
  7. package/build/cjs/lib/bot/decorator.d.ts +77 -0
  8. package/build/cjs/lib/bot/decorator.js +219 -0
  9. package/build/cjs/lib/bot/decorator.js.map +1 -0
  10. package/build/cjs/lib/bot/decorators.d.ts +113 -0
  11. package/build/cjs/lib/bot/decorators.js +253 -0
  12. package/build/cjs/lib/bot/decorators.js.map +1 -0
  13. package/build/cjs/lib/bot/index.d.ts +3 -0
  14. package/build/cjs/lib/bot/index.js +20 -0
  15. package/build/cjs/lib/bot/index.js.map +1 -0
  16. package/build/cjs/lib/chat/index.d.ts +227 -0
  17. package/build/cjs/lib/chat/index.js +324 -0
  18. package/build/cjs/lib/chat/index.js.map +1 -0
  19. package/build/cjs/lib/contact/index.d.ts +203 -0
  20. package/build/cjs/lib/contact/index.js +226 -0
  21. package/build/cjs/lib/contact/index.js.map +1 -0
  22. package/build/cjs/lib/message/index.d.ts +228 -0
  23. package/build/cjs/lib/message/index.js +678 -0
  24. package/build/cjs/lib/message/index.js.map +1 -0
  25. package/build/cjs/lib/store/engine/index.d.ts +34 -0
  26. package/build/cjs/lib/store/engine/index.js +13 -0
  27. package/build/cjs/lib/store/engine/index.js.map +1 -0
  28. package/build/cjs/lib/store/engine/lib/file_system/index.d.ts +56 -0
  29. package/build/cjs/lib/store/engine/lib/file_system/index.js +160 -0
  30. package/build/cjs/lib/store/engine/lib/file_system/index.js.map +1 -0
  31. package/build/cjs/lib/store/engine/lib/redis/index.d.ts +82 -0
  32. package/build/cjs/lib/store/engine/lib/redis/index.js +132 -0
  33. package/build/cjs/lib/store/engine/lib/redis/index.js.map +1 -0
  34. package/build/cjs/lib/store/index.d.ts +22 -0
  35. package/build/cjs/lib/store/index.js +38 -0
  36. package/build/cjs/lib/store/index.js.map +1 -0
  37. package/build/cjs/lib/whatsapp/index.d.ts +179 -0
  38. package/build/cjs/lib/whatsapp/index.js +754 -0
  39. package/build/cjs/lib/whatsapp/index.js.map +1 -0
  40. package/build/esm/decorators.d.ts +9 -0
  41. package/build/esm/decorators.js +9 -0
  42. package/build/esm/decorators.js.map +1 -0
  43. package/build/esm/index.d.ts +6 -10
  44. package/build/esm/index.js +4 -6
  45. package/build/esm/index.js.map +1 -1
  46. package/build/esm/lib/bot/decorator.d.ts +77 -0
  47. package/build/esm/lib/bot/decorator.js +210 -0
  48. package/build/esm/lib/bot/decorator.js.map +1 -0
  49. package/build/esm/lib/bot/decorators.d.ts +113 -0
  50. package/build/esm/lib/bot/decorators.js +242 -0
  51. package/build/esm/lib/bot/decorators.js.map +1 -0
  52. package/build/esm/lib/bot/index.d.ts +3 -0
  53. package/build/esm/lib/bot/index.js +3 -0
  54. package/build/esm/lib/bot/index.js.map +1 -0
  55. package/build/esm/lib/chat/index.d.ts +227 -0
  56. package/build/esm/lib/chat/index.js +319 -0
  57. package/build/esm/lib/chat/index.js.map +1 -0
  58. package/build/esm/lib/contact/index.d.ts +203 -0
  59. package/build/esm/lib/contact/index.js +221 -0
  60. package/build/esm/lib/contact/index.js.map +1 -0
  61. package/build/esm/lib/message/index.d.ts +228 -0
  62. package/build/esm/lib/message/index.js +666 -0
  63. package/build/esm/lib/message/index.js.map +1 -0
  64. package/build/esm/lib/store/engine/index.d.ts +34 -0
  65. package/build/esm/lib/store/engine/index.js +8 -0
  66. package/build/esm/lib/store/engine/index.js.map +1 -0
  67. package/build/esm/lib/store/engine/lib/file_system/index.d.ts +56 -0
  68. package/build/esm/lib/store/engine/lib/file_system/index.js +156 -0
  69. package/build/esm/lib/store/engine/lib/file_system/index.js.map +1 -0
  70. package/build/esm/lib/store/engine/lib/redis/index.d.ts +82 -0
  71. package/build/esm/lib/store/engine/lib/redis/index.js +128 -0
  72. package/build/esm/lib/store/engine/lib/redis/index.js.map +1 -0
  73. package/build/esm/lib/store/index.d.ts +22 -0
  74. package/build/esm/lib/store/index.js +31 -0
  75. package/build/esm/lib/store/index.js.map +1 -0
  76. package/build/esm/lib/whatsapp/index.d.ts +179 -0
  77. package/build/esm/lib/whatsapp/index.js +714 -0
  78. package/build/esm/lib/whatsapp/index.js.map +1 -0
  79. package/package.json +8 -6
  80. package/build/cjs/Chat.d.ts +0 -317
  81. package/build/cjs/Chat.js +0 -273
  82. package/build/cjs/Chat.js.map +0 -1
  83. package/build/cjs/Contact.d.ts +0 -1163
  84. package/build/cjs/Contact.js +0 -160
  85. package/build/cjs/Contact.js.map +0 -1
  86. package/build/cjs/Message.d.ts +0 -902
  87. package/build/cjs/Message.js +0 -515
  88. package/build/cjs/Message.js.map +0 -1
  89. package/build/cjs/WhatsApp.d.ts +0 -80
  90. package/build/cjs/WhatsApp.js +0 -412
  91. package/build/cjs/WhatsApp.js.map +0 -1
  92. package/build/cjs/store/driver/FileEngine.d.ts +0 -34
  93. package/build/cjs/store/driver/FileEngine.js +0 -86
  94. package/build/cjs/store/driver/FileEngine.js.map +0 -1
  95. package/build/cjs/store/driver/RedisEngine.d.ts +0 -47
  96. package/build/cjs/store/driver/RedisEngine.js +0 -70
  97. package/build/cjs/store/driver/RedisEngine.js.map +0 -1
  98. package/build/cjs/store/engine.d.ts +0 -53
  99. package/build/cjs/store/engine.js +0 -7
  100. package/build/cjs/store/engine.js.map +0 -1
  101. package/build/cjs/store/index.d.ts +0 -8
  102. package/build/cjs/store/index.js +0 -12
  103. package/build/cjs/store/index.js.map +0 -1
  104. package/build/esm/Chat.d.ts +0 -317
  105. package/build/esm/Chat.js +0 -268
  106. package/build/esm/Chat.js.map +0 -1
  107. package/build/esm/Contact.d.ts +0 -1163
  108. package/build/esm/Contact.js +0 -155
  109. package/build/esm/Contact.js.map +0 -1
  110. package/build/esm/Message.d.ts +0 -902
  111. package/build/esm/Message.js +0 -510
  112. package/build/esm/Message.js.map +0 -1
  113. package/build/esm/WhatsApp.d.ts +0 -80
  114. package/build/esm/WhatsApp.js +0 -372
  115. package/build/esm/WhatsApp.js.map +0 -1
  116. package/build/esm/store/driver/FileEngine.d.ts +0 -34
  117. package/build/esm/store/driver/FileEngine.js +0 -82
  118. package/build/esm/store/driver/FileEngine.js.map +0 -1
  119. package/build/esm/store/driver/RedisEngine.d.ts +0 -47
  120. package/build/esm/store/driver/RedisEngine.js +0 -66
  121. package/build/esm/store/driver/RedisEngine.js.map +0 -1
  122. package/build/esm/store/engine.d.ts +0 -53
  123. package/build/esm/store/engine.js +0 -6
  124. package/build/esm/store/engine.js.map +0 -1
  125. package/build/esm/store/index.d.ts +0 -8
  126. package/build/esm/store/index.js +0 -7
  127. package/build/esm/store/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/whatsapp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file decorators.ts
3
+ * @description Sub-entry `@arcaelas/whatsapp/decorators` — API declarativa basada
4
+ * en decoradores Stage 3 para construir bots sobre el cliente WhatsApp.
5
+ * Sub-entry `@arcaelas/whatsapp/decorators` — Stage 3 decorator-based declarative
6
+ * API to build bots on top of the WhatsApp client.
7
+ */
8
+ export { WhatsAppBot, Bot, on, guard, command, from, once, connect, disconnect, every, pipe, pair, HANDLERS, decorator, } from './lib/bot/index.js';
9
+ export type { HandlerMeta, BotSchema, WorkflowStep } from './lib/bot/index.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file decorators.ts
3
+ * @description Sub-entry `@arcaelas/whatsapp/decorators` — API declarativa basada
4
+ * en decoradores Stage 3 para construir bots sobre el cliente WhatsApp.
5
+ * Sub-entry `@arcaelas/whatsapp/decorators` — Stage 3 decorator-based declarative
6
+ * API to build bots on top of the WhatsApp client.
7
+ */
8
+ export { WhatsAppBot, Bot, on, guard, command, from, once, connect, disconnect, every, pipe, pair, HANDLERS, decorator, } from './lib/bot/index.js';
9
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACH,WAAW,EACX,GAAG,EACH,EAAE,EACF,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,UAAU,EACV,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,SAAS,GACZ,MAAM,WAAW,CAAC"}
@@ -1,13 +1,9 @@
1
1
  /**
2
2
  * @file index.ts
3
- * @description Punto de entrada público de la librería @arcaelas/whatsapp
3
+ * @description Punto de entrada público de la librería @arcaelas/whatsapp.
4
+ * Public entry point of the @arcaelas/whatsapp library.
4
5
  */
5
- export { MESSAGE_STATUS } from './Message';
6
- export type { LocationOptions, MessageType, PollOptions } from './Message';
7
- export type { Engine } from './store';
8
- export type { IChatRaw, IGroupParticipant } from './Chat';
9
- export type { IContactRaw } from './Contact';
10
- export type { IMessage, IMessageIndex } from './Message';
11
- export type { IWhatsApp } from './WhatsApp';
12
- export { FileEngine, RedisEngine } from './store';
13
- export { WhatsApp } from './WhatsApp';
6
+ export { WhatsApp, default } from './lib/whatsapp/index.js';
7
+ export type { IWhatsApp, DisconnectOptions, ReconnectOption } from './lib/whatsapp/index.js';
8
+ export { FileSystemEngine, RedisEngine } from './lib/store/index.js';
9
+ export type { Engine, RedisClient } from './lib/store/index.js';
@@ -1,10 +1,8 @@
1
1
  /**
2
2
  * @file index.ts
3
- * @description Punto de entrada público de la librería @arcaelas/whatsapp
3
+ * @description Punto de entrada público de la librería @arcaelas/whatsapp.
4
+ * Public entry point of the @arcaelas/whatsapp library.
4
5
  */
5
- // Enums
6
- export { MESSAGE_STATUS } from './Message';
7
- // Classes
8
- export { FileEngine, RedisEngine } from './store';
9
- export { WhatsApp } from './WhatsApp';
6
+ export { WhatsApp, default } from './lib/whatsapp/index.js';
7
+ export { FileSystemEngine, RedisEngine } from './lib/store/index.js';
10
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAY3C,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @file playground/bot/decorator.ts
3
+ * @description Infraestructura base de decoradores Stage 3 sobre WhatsApp.
4
+ * Base infrastructure for Stage 3 decorators over WhatsApp.
5
+ */
6
+ import WhatsApp, { type IWhatsApp } from '../../lib/whatsapp/index.js';
7
+ export declare const HANDLERS: unique symbol;
8
+ export interface HandlerMeta {
9
+ method: string;
10
+ events: string[];
11
+ guards: Array<(...args: unknown[]) => boolean | Promise<boolean>>;
12
+ transforms: Array<(args: unknown[]) => unknown[] | Promise<unknown[]>>;
13
+ once: boolean;
14
+ }
15
+ export interface WorkflowStep {
16
+ index: number;
17
+ method: string;
18
+ }
19
+ export interface BotSchema {
20
+ handlers: Record<string, HandlerMeta>;
21
+ workflows: Record<string, WorkflowStep[]>;
22
+ }
23
+ type Metadata = Record<string | symbol, unknown>;
24
+ /**
25
+ * Registra un step dentro de un workflow. Uso interno del decorador `@pipe`.
26
+ * Registers a step inside a workflow. Internal use of the `@pipe` decorator.
27
+ *
28
+ * @param metadata - Metadata del contexto del decorador / Decorator context metadata
29
+ * @param workflow - Nombre del workflow / Workflow name
30
+ * @param step - Step a registrar (índice + nombre del método) / Step to register (index + method name)
31
+ */
32
+ export declare function register_workflow_step(metadata: Metadata, workflow: string, step: WorkflowStep): void;
33
+ /**
34
+ * Factory para crear decoradores paramétricos Stage 3. El callback muta la metadata
35
+ * del handler mediante la entrada resuelta.
36
+ * Factory to build Stage 3 parametric decorators. The callback mutates the handler
37
+ * metadata via the resolved entry.
38
+ *
39
+ * @param callback - Mutador de la entrada del handler / Handler entry mutator
40
+ * @returns Decorador paramétrico listo para aplicarse a un método / Parametric decorator ready to be applied to a method
41
+ */
42
+ export declare function decorator<P extends unknown[]>(callback: (metadata: Metadata, handler: HandlerMeta, params: P) => void): (...params: P) => (_value: unknown, context: ClassMethodDecoratorContext) => void;
43
+ /**
44
+ * Clase base opcional para bots declarativos. El consumer extiende `WhatsAppBot`
45
+ * (o usa `@WhatsApp` como class decorator), declara métodos decorados y al
46
+ * `connect()` los listeners se cablean automáticamente contra el event emitter real.
47
+ * Optional base class for declarative bots. The consumer extends `WhatsAppBot`
48
+ * (or uses `@WhatsApp` as a class decorator), declares decorated methods and at
49
+ * `connect()` listeners get wired against the real event emitter automatically.
50
+ */
51
+ export declare class WhatsAppBot extends WhatsApp {
52
+ constructor(options: IWhatsApp);
53
+ /**
54
+ * Inicia la conexión cableando previamente los handlers decorados. Los métodos
55
+ * `@pair` se invocan en paralelo con el `callback` opcional.
56
+ * Starts the connection wiring decorated handlers beforehand. `@pair` methods
57
+ * run in parallel alongside the optional `callback`.
58
+ *
59
+ * @param callback - Callback tradicional del PIN/QR (opcional si hay `@pair`) / Traditional PIN/QR callback (optional when `@pair` exists)
60
+ */
61
+ connect(callback?: (auth: string | Buffer) => void | Promise<void>): Promise<void>;
62
+ /**
63
+ * Recolecta los métodos marcados con `@pair` ligados a `this`.
64
+ * Collects methods marked with `@pair` bound to `this`.
65
+ *
66
+ * @returns Lista de funciones ligadas listas para invocar con el code / List of bound functions ready to invoke with the code
67
+ */
68
+ private _collect_pair_methods;
69
+ /**
70
+ * Cablea los handlers decorados contra el event emitter: registra listeners
71
+ * (`@on`/`@once`), timers (`@every`) y workflows (`@pipe`).
72
+ * Wires decorated handlers against the event emitter: registers listeners
73
+ * (`@on`/`@once`), timers (`@every`) and workflows (`@pipe`).
74
+ */
75
+ private _wire_handlers;
76
+ }
77
+ export default WhatsAppBot;
@@ -0,0 +1,210 @@
1
+ /**
2
+ * @file playground/bot/decorator.ts
3
+ * @description Infraestructura base de decoradores Stage 3 sobre WhatsApp.
4
+ * Base infrastructure for Stage 3 decorators over WhatsApp.
5
+ */
6
+ import WhatsApp from '../../lib/whatsapp/index.js';
7
+ Symbol.metadata ??= Symbol.for('Symbol.metadata');
8
+ export const HANDLERS = Symbol('wa:handlers');
9
+ /**
10
+ * Recupera o inicializa el schema del bot y la entrada del método indicado.
11
+ * Retrieves or initializes the bot schema and the entry for the given method.
12
+ *
13
+ * @param metadata - Objeto metadata del contexto del decorador / Decorator context metadata object
14
+ * @param method_name - Nombre del método / Method name
15
+ * @returns Tupla `[schema, handler_meta]` para el método / Tuple `[schema, handler_meta]` for the method
16
+ */
17
+ function resolve(metadata, method_name) {
18
+ let schema = metadata[HANDLERS];
19
+ if (!schema) {
20
+ schema = { handlers: {}, workflows: {} };
21
+ metadata[HANDLERS] = schema;
22
+ }
23
+ if (!schema.workflows) {
24
+ schema.workflows = {};
25
+ }
26
+ schema.handlers[method_name] ||= {
27
+ method: method_name,
28
+ events: [],
29
+ guards: [],
30
+ transforms: [],
31
+ once: false,
32
+ };
33
+ return [schema, schema.handlers[method_name]];
34
+ }
35
+ /**
36
+ * Registra un step dentro de un workflow. Uso interno del decorador `@pipe`.
37
+ * Registers a step inside a workflow. Internal use of the `@pipe` decorator.
38
+ *
39
+ * @param metadata - Metadata del contexto del decorador / Decorator context metadata
40
+ * @param workflow - Nombre del workflow / Workflow name
41
+ * @param step - Step a registrar (índice + nombre del método) / Step to register (index + method name)
42
+ */
43
+ export function register_workflow_step(metadata, workflow, step) {
44
+ let schema = metadata[HANDLERS];
45
+ if (!schema) {
46
+ schema = { handlers: {}, workflows: {} };
47
+ metadata[HANDLERS] = schema;
48
+ }
49
+ if (!schema.workflows) {
50
+ schema.workflows = {};
51
+ }
52
+ schema.workflows[workflow] ||= [];
53
+ schema.workflows[workflow].push(step);
54
+ }
55
+ /**
56
+ * Factory para crear decoradores paramétricos Stage 3. El callback muta la metadata
57
+ * del handler mediante la entrada resuelta.
58
+ * Factory to build Stage 3 parametric decorators. The callback mutates the handler
59
+ * metadata via the resolved entry.
60
+ *
61
+ * @param callback - Mutador de la entrada del handler / Handler entry mutator
62
+ * @returns Decorador paramétrico listo para aplicarse a un método / Parametric decorator ready to be applied to a method
63
+ */
64
+ export function decorator(callback) {
65
+ return (...params) => (_value, context) => {
66
+ if (context.kind !== 'method') {
67
+ throw new Error(`Decorator only applicable to methods; got ${context.kind}`);
68
+ }
69
+ const metadata = context.metadata;
70
+ const method_name = String(context.name);
71
+ const [, handler] = resolve(metadata, method_name);
72
+ callback(metadata, handler, params);
73
+ };
74
+ }
75
+ /**
76
+ * Clase base opcional para bots declarativos. El consumer extiende `WhatsAppBot`
77
+ * (o usa `@WhatsApp` como class decorator), declara métodos decorados y al
78
+ * `connect()` los listeners se cablean automáticamente contra el event emitter real.
79
+ * Optional base class for declarative bots. The consumer extends `WhatsAppBot`
80
+ * (or uses `@WhatsApp` as a class decorator), declares decorated methods and at
81
+ * `connect()` listeners get wired against the real event emitter automatically.
82
+ */
83
+ export class WhatsAppBot extends WhatsApp {
84
+ constructor(options) {
85
+ super(options);
86
+ }
87
+ /**
88
+ * Inicia la conexión cableando previamente los handlers decorados. Los métodos
89
+ * `@pair` se invocan en paralelo con el `callback` opcional.
90
+ * Starts the connection wiring decorated handlers beforehand. `@pair` methods
91
+ * run in parallel alongside the optional `callback`.
92
+ *
93
+ * @param callback - Callback tradicional del PIN/QR (opcional si hay `@pair`) / Traditional PIN/QR callback (optional when `@pair` exists)
94
+ */
95
+ async connect(callback) {
96
+ this._wire_handlers();
97
+ const pair_methods = this._collect_pair_methods();
98
+ const final_callback = async (code) => {
99
+ await Promise.all(pair_methods.map((fn) => fn(code)));
100
+ if (callback) {
101
+ await callback(code);
102
+ }
103
+ };
104
+ return super.connect(final_callback);
105
+ }
106
+ /**
107
+ * Recolecta los métodos marcados con `@pair` ligados a `this`.
108
+ * Collects methods marked with `@pair` bound to `this`.
109
+ *
110
+ * @returns Lista de funciones ligadas listas para invocar con el code / List of bound functions ready to invoke with the code
111
+ */
112
+ _collect_pair_methods() {
113
+ const out = [];
114
+ const metadata = this.constructor[Symbol.metadata];
115
+ if (metadata) {
116
+ const schema = metadata[HANDLERS];
117
+ if (schema) {
118
+ for (const meta of Object.values(schema.handlers)) {
119
+ if (meta.events.includes('__pair')) {
120
+ const fn = this[meta.method];
121
+ if (typeof fn === 'function') {
122
+ out.push(fn.bind(this));
123
+ }
124
+ }
125
+ }
126
+ }
127
+ }
128
+ return out;
129
+ }
130
+ /**
131
+ * Cablea los handlers decorados contra el event emitter: registra listeners
132
+ * (`@on`/`@once`), timers (`@every`) y workflows (`@pipe`).
133
+ * Wires decorated handlers against the event emitter: registers listeners
134
+ * (`@on`/`@once`), timers (`@every`) and workflows (`@pipe`).
135
+ */
136
+ _wire_handlers() {
137
+ const metadata = this.constructor[Symbol.metadata];
138
+ if (metadata) {
139
+ const schema = metadata[HANDLERS];
140
+ if (schema) {
141
+ const intervals = [];
142
+ for (const meta of Object.values(schema.handlers)) {
143
+ const method = this[meta.method];
144
+ if (typeof method === 'function') {
145
+ const bound = method.bind(this);
146
+ const invoke = async (...args) => {
147
+ for (const g of meta.guards) {
148
+ if (!(await g(...args))) {
149
+ return;
150
+ }
151
+ }
152
+ let current = args;
153
+ for (const t of meta.transforms) {
154
+ current = await t(current);
155
+ }
156
+ await bound(...current);
157
+ };
158
+ if (meta.events.length === 0 && (meta.guards.length > 0 || meta.transforms.length > 0)) {
159
+ meta.events.push('message:created');
160
+ }
161
+ for (const event of meta.events) {
162
+ if (event.startsWith('__every:')) {
163
+ const ms = parseInt(event.slice('__every:'.length), 10);
164
+ if (Number.isFinite(ms) && ms > 0) {
165
+ intervals.push({ ms, run: () => invoke() });
166
+ }
167
+ }
168
+ else if (event !== '__pair') {
169
+ const register = meta.once ? this.once.bind(this) : this.on.bind(this);
170
+ register(event, invoke);
171
+ }
172
+ }
173
+ }
174
+ }
175
+ if (intervals.length > 0) {
176
+ let timer_ids = [];
177
+ this.on('connected', () => {
178
+ for (const { ms, run } of intervals) {
179
+ timer_ids.push(setInterval(() => void run(), ms));
180
+ }
181
+ });
182
+ this.on('disconnected', () => {
183
+ for (const id of timer_ids) {
184
+ clearInterval(id);
185
+ }
186
+ timer_ids = [];
187
+ });
188
+ }
189
+ for (const steps of Object.values(schema.workflows ?? {})) {
190
+ const sorted = [...steps].sort((a, b) => a.index - b.index);
191
+ const funcs = sorted
192
+ .map(({ method }) => {
193
+ const fn = this[method];
194
+ return typeof fn === 'function' ? fn.bind(this) : null;
195
+ })
196
+ .filter((f) => f !== null);
197
+ if (funcs.length > 0) {
198
+ this.on('message:created', (async (...args) => {
199
+ for (const fn of funcs) {
200
+ await fn(...args);
201
+ }
202
+ }));
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+ export default WhatsAppBot;
210
+ //# sourceMappingURL=decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * @file playground/bot/decorators.ts
3
+ * @description Decoradores públicos del bot.
4
+ * Public bot decorators.
5
+ */
6
+ import type { IWhatsApp } from '../../lib/whatsapp/index.js';
7
+ import { WhatsAppBot } from './decorator.js';
8
+ /**
9
+ * Registra el método como listener del evento indicado. Apilable: varios `@on`
10
+ * sobre el mismo método crean múltiples suscripciones.
11
+ * Registers the method as a listener of the given event. Stackable: several
12
+ * `@on` on the same method produce multiple subscriptions.
13
+ *
14
+ * @param event - Nombre del evento del cliente / Client event name
15
+ */
16
+ export declare const on: (event: string) => (_value: unknown, context: ClassMethodDecoratorContext) => void;
17
+ /**
18
+ * Pre-chequeo del handler. Los guards se acumulan y se evalúan en orden con AND.
19
+ * Si el método no tiene `@on` explícito, se auto-registra a `message:created`.
20
+ * Handler pre-check. Guards accumulate and run in order with AND semantics.
21
+ * If the method has no explicit `@on`, it auto-registers to `message:created`.
22
+ *
23
+ * @param pred - Predicate que recibe los argumentos del evento / Predicate receiving the event arguments
24
+ */
25
+ export declare const guard: (pred: (...args: unknown[]) => boolean | Promise<boolean>) => (_value: unknown, context: ClassMethodDecoratorContext) => void;
26
+ /**
27
+ * Marca el handler para ejecutarse una sola vez y luego auto-desuscribirse.
28
+ * Con `event` actúa como shortcut de `@on(event) + @once()`.
29
+ * Marks the handler to run once and then auto-unsubscribe. With `event` it acts
30
+ * as a shortcut of `@on(event) + @once()`.
31
+ *
32
+ * @param event - Evento opcional para combinar `@on + @once` en un solo decorador / Optional event to combine `@on + @once` in a single decorator
33
+ */
34
+ export declare function once(event?: string): (_value: unknown, context: ClassMethodDecoratorContext) => void;
35
+ /**
36
+ * Alias semántico de `@on('connected')`. El método se invoca al establecerse
37
+ * la conexión con WhatsApp.
38
+ * Semantic alias of `@on('connected')`. The method runs when the WhatsApp
39
+ * connection opens.
40
+ */
41
+ export declare function connect(): (_value: unknown, context: ClassMethodDecoratorContext) => void;
42
+ /**
43
+ * Alias semántico de `@on('disconnected')`. El método se invoca al cerrarse
44
+ * la conexión con WhatsApp.
45
+ * Semantic alias of `@on('disconnected')`. The method runs when the WhatsApp
46
+ * connection closes.
47
+ */
48
+ export declare function disconnect(): (_value: unknown, context: ClassMethodDecoratorContext) => void;
49
+ /**
50
+ * Ejecuta el método cada `ms` milisegundos mientras el bot esté conectado.
51
+ * Los timers arrancan en `connected` y se cancelan en `disconnected`.
52
+ * Runs the method every `ms` milliseconds while the bot is connected. Timers
53
+ * start on `connected` and are cancelled on `disconnected`.
54
+ *
55
+ * @param ms - Intervalo en milisegundos / Interval in milliseconds
56
+ */
57
+ export declare function every(ms: number): (_value: unknown, context: ClassMethodDecoratorContext) => void;
58
+ /**
59
+ * Marca el método como callback de pairing (PIN/QR). Múltiples métodos `@pair`
60
+ * se invocan en paralelo cuando baileys entrega el código.
61
+ * Marks the method as a pairing (PIN/QR) callback. Multiple `@pair` methods run
62
+ * in parallel when baileys delivers the code.
63
+ */
64
+ export declare const pair: () => (_value: unknown, context: ClassMethodDecoratorContext) => void;
65
+ /**
66
+ * Filtra por autor del mensaje. Acepta JID, LID o teléfono numérico; el string
67
+ * se normaliza vía `wa._resolve_jid` con cache lazy. Un array produce match OR.
68
+ * Filters by message author. Accepts JID, LID or numeric phone; the string is
69
+ * normalized via `wa._resolve_jid` with lazy cache. An array yields OR matching.
70
+ *
71
+ * @param source - Identificador(es) permitidos o predicate sobre `msg.from` / Allowed identifier(s) or predicate on `msg.from`
72
+ */
73
+ export declare function from(source: string | string[] | ((jid: string) => boolean)): (_value: unknown, context: ClassMethodDecoratorContext) => void;
74
+ /**
75
+ * Class decorator que convierte la clase en un bot WhatsApp con opciones default.
76
+ * La clase no necesita extender `WhatsAppBot` manualmente; el decorador produce
77
+ * una subclase que hereda de `WhatsAppBot` y copia los métodos + metadata del
78
+ * target. El constructor acepta un override parcial que se fusiona con las opts
79
+ * por default.
80
+ * Class decorator that turns the class into a WhatsApp bot with default options.
81
+ * The class does not need to extend `WhatsAppBot` manually; the decorator
82
+ * produces a subclass that inherits from `WhatsAppBot` and copies the target's
83
+ * methods and metadata. The constructor accepts a partial override that is
84
+ * merged with the default options.
85
+ *
86
+ * @param default_options - Opciones base para la instancia / Default options for the instance
87
+ */
88
+ export declare function Bot(default_options: IWhatsApp): <T extends abstract new (...args: never[]) => object>(target: T, _context: ClassDecoratorContext) => new (override?: Partial<IWhatsApp>) => InstanceType<T> & WhatsAppBot;
89
+ /**
90
+ * Registra el método como paso de un workflow. Todos los steps del mismo
91
+ * `workflow` se ejecutan secuencialmente al recibir `message:created`, ordenados
92
+ * por `index`. Comparten los mismos argumentos (msg, chat, wa), por lo que las
93
+ * mutaciones sobre esos objetos son visibles en los steps posteriores.
94
+ * Registers the method as a step of a workflow. All steps of the same
95
+ * `workflow` run sequentially on `message:created`, ordered by `index`. They
96
+ * share the same arguments (msg, chat, wa), so mutations on those objects are
97
+ * visible to later steps.
98
+ *
99
+ * @param workflow - Nombre del workflow / Workflow name
100
+ * @param index - Posición dentro del workflow (ASC) / Position within the workflow (ASC)
101
+ */
102
+ export declare function pipe(workflow: string, index: number): (_value: unknown, context: ClassMethodDecoratorContext) => void;
103
+ /**
104
+ * Registra el método como comando textual. Internamente aplica
105
+ * `@on('message:created')`, un guard que matchea el `pattern` y un transform
106
+ * que pasa `(msg, chat, args)` al método.
107
+ * Registers the method as a textual command. Internally applies
108
+ * `@on('message:created')`, a guard matching the `pattern` and a transform that
109
+ * passes `(msg, chat, args)` to the method.
110
+ *
111
+ * @param pattern - Prefijo textual o RegExp a matchear contra `msg.caption` / Text prefix or RegExp matched against `msg.caption`
112
+ */
113
+ export declare function command(pattern: string | RegExp): (value: unknown, context: ClassMethodDecoratorContext) => void;