@arcaelas/whatsapp 4.2.0 → 4.3.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.
- package/build/cjs/index.d.ts +1 -1
- package/build/cjs/index.js +4 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/lib/bot/decorator.d.ts +18 -1
- package/build/cjs/lib/bot/decorator.js +20 -14
- package/build/cjs/lib/bot/decorator.js.map +1 -1
- package/build/cjs/lib/bot/decorators.d.ts +1 -1
- package/build/cjs/lib/bot/decorators.js +6 -20
- package/build/cjs/lib/bot/decorators.js.map +1 -1
- package/build/cjs/lib/contact/index.d.ts +8 -0
- package/build/cjs/lib/contact/index.js +14 -5
- package/build/cjs/lib/contact/index.js.map +1 -1
- package/build/cjs/lib/store/engine/index.d.ts +1 -0
- package/build/cjs/lib/store/engine/index.js +3 -1
- package/build/cjs/lib/store/engine/index.js.map +1 -1
- package/build/cjs/lib/store/engine/lib/file_system/index.js +1 -7
- package/build/cjs/lib/store/engine/lib/file_system/index.js.map +1 -1
- package/build/cjs/lib/store/engine/lib/redis/index.js +1 -7
- package/build/cjs/lib/store/engine/lib/redis/index.js.map +1 -1
- package/build/cjs/lib/store/engine/lib/s3/index.d.ts +66 -0
- package/build/cjs/lib/store/engine/lib/s3/index.js +169 -0
- package/build/cjs/lib/store/engine/lib/s3/index.js.map +1 -0
- package/build/cjs/lib/store/index.d.ts +1 -1
- package/build/cjs/lib/store/index.js +2 -1
- package/build/cjs/lib/store/index.js.map +1 -1
- package/build/cjs/lib/whatsapp/index.d.ts +8 -0
- package/build/cjs/lib/whatsapp/index.js +38 -54
- package/build/cjs/lib/whatsapp/index.js.map +1 -1
- package/build/esm/index.d.ts +1 -1
- package/build/esm/index.js +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/lib/bot/decorator.d.ts +18 -1
- package/build/esm/lib/bot/decorator.js +18 -14
- package/build/esm/lib/bot/decorator.js.map +1 -1
- package/build/esm/lib/bot/decorators.d.ts +1 -1
- package/build/esm/lib/bot/decorators.js +7 -21
- package/build/esm/lib/bot/decorators.js.map +1 -1
- package/build/esm/lib/contact/index.d.ts +8 -0
- package/build/esm/lib/contact/index.js +13 -5
- package/build/esm/lib/contact/index.js.map +1 -1
- package/build/esm/lib/store/engine/index.d.ts +1 -0
- package/build/esm/lib/store/engine/index.js +1 -0
- package/build/esm/lib/store/engine/index.js.map +1 -1
- package/build/esm/lib/store/engine/lib/file_system/index.js +1 -7
- package/build/esm/lib/store/engine/lib/file_system/index.js.map +1 -1
- package/build/esm/lib/store/engine/lib/redis/index.js +1 -7
- package/build/esm/lib/store/engine/lib/redis/index.js.map +1 -1
- package/build/esm/lib/store/engine/lib/s3/index.d.ts +66 -0
- package/build/esm/lib/store/engine/lib/s3/index.js +165 -0
- package/build/esm/lib/store/engine/lib/s3/index.js.map +1 -0
- package/build/esm/lib/store/index.d.ts +1 -1
- package/build/esm/lib/store/index.js +1 -1
- package/build/esm/lib/store/index.js.map +1 -1
- package/build/esm/lib/whatsapp/index.d.ts +8 -0
- package/build/esm/lib/whatsapp/index.js +39 -55
- package/build/esm/lib/whatsapp/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file
|
|
2
|
+
* @file bot/decorator.ts
|
|
3
3
|
* @description Infraestructura base de decoradores Stage 3 sobre WhatsApp.
|
|
4
4
|
* Base infrastructure for Stage 3 decorators over WhatsApp.
|
|
5
5
|
*/
|
|
@@ -7,14 +7,13 @@ import WhatsApp from '../../lib/whatsapp/index.js';
|
|
|
7
7
|
Symbol.metadata ??= Symbol.for('Symbol.metadata');
|
|
8
8
|
export const HANDLERS = Symbol('wa:handlers');
|
|
9
9
|
/**
|
|
10
|
-
* Recupera o inicializa el
|
|
11
|
-
* Retrieves or initializes the
|
|
10
|
+
* Recupera o inicializa el `BotSchema` almacenado en la metadata del contexto.
|
|
11
|
+
* Retrieves or initializes the `BotSchema` stored in the context metadata.
|
|
12
12
|
*
|
|
13
13
|
* @param metadata - Objeto metadata del contexto del decorador / Decorator context metadata object
|
|
14
|
-
* @
|
|
15
|
-
* @returns Tupla `[schema, handler_meta]` para el método / Tuple `[schema, handler_meta]` for the method
|
|
14
|
+
* @returns Schema del bot garantizado con `handlers` y `workflows` / Bot schema guaranteed to have `handlers` and `workflows`
|
|
16
15
|
*/
|
|
17
|
-
function
|
|
16
|
+
export function ensure_schema(metadata) {
|
|
18
17
|
let schema = metadata[HANDLERS];
|
|
19
18
|
if (!schema) {
|
|
20
19
|
schema = { handlers: {}, workflows: {} };
|
|
@@ -23,6 +22,18 @@ function resolve(metadata, method_name) {
|
|
|
23
22
|
if (!schema.workflows) {
|
|
24
23
|
schema.workflows = {};
|
|
25
24
|
}
|
|
25
|
+
return schema;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Recupera o inicializa el schema del bot y la entrada del método indicado.
|
|
29
|
+
* Retrieves or initializes the bot schema and the entry for the given method.
|
|
30
|
+
*
|
|
31
|
+
* @param metadata - Objeto metadata del contexto del decorador / Decorator context metadata object
|
|
32
|
+
* @param method_name - Nombre del método / Method name
|
|
33
|
+
* @returns Tupla `[schema, handler_meta]` para el método / Tuple `[schema, handler_meta]` for the method
|
|
34
|
+
*/
|
|
35
|
+
export function resolve(metadata, method_name) {
|
|
36
|
+
const schema = ensure_schema(metadata);
|
|
26
37
|
schema.handlers[method_name] ||= {
|
|
27
38
|
method: method_name,
|
|
28
39
|
events: [],
|
|
@@ -41,14 +52,7 @@ function resolve(metadata, method_name) {
|
|
|
41
52
|
* @param step - Step a registrar (índice + nombre del método) / Step to register (index + method name)
|
|
42
53
|
*/
|
|
43
54
|
export function register_workflow_step(metadata, workflow, step) {
|
|
44
|
-
|
|
45
|
-
if (!schema) {
|
|
46
|
-
schema = { handlers: {}, workflows: {} };
|
|
47
|
-
metadata[HANDLERS] = schema;
|
|
48
|
-
}
|
|
49
|
-
if (!schema.workflows) {
|
|
50
|
-
schema.workflows = {};
|
|
51
|
-
}
|
|
55
|
+
const schema = ensure_schema(metadata);
|
|
52
56
|
schema.workflows[workflow] ||= [];
|
|
53
57
|
schema.workflows[workflow].push(step);
|
|
54
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAA4B,MAAM,gBAAgB,CAAC;AAEzD,MAAgC,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAsB9C
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file
|
|
2
|
+
* @file bot/decorators.ts
|
|
3
3
|
* @description Decoradores públicos del bot.
|
|
4
4
|
* Public bot decorators.
|
|
5
5
|
*/
|
|
6
|
-
import { WhatsAppBot, decorator,
|
|
6
|
+
import { WhatsAppBot, decorator, register_workflow_step, resolve, } from './decorator.js';
|
|
7
7
|
/**
|
|
8
8
|
* Registra el método como listener del evento indicado. Apilable: varios `@on`
|
|
9
9
|
* sobre el mismo método crean múltiples suscripciones.
|
|
@@ -41,22 +41,10 @@ export function once(event) {
|
|
|
41
41
|
if (context.kind !== 'method') {
|
|
42
42
|
throw new Error('@once only applicable to methods');
|
|
43
43
|
}
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const schema = metadata[HANDLERS];
|
|
49
|
-
const method_name = String(context.name);
|
|
50
|
-
schema.handlers[method_name] ||= {
|
|
51
|
-
method: method_name,
|
|
52
|
-
events: [],
|
|
53
|
-
guards: [],
|
|
54
|
-
transforms: [],
|
|
55
|
-
once: false,
|
|
56
|
-
};
|
|
57
|
-
schema.handlers[method_name].once = true;
|
|
58
|
-
if (event && !schema.handlers[method_name].events.includes(event)) {
|
|
59
|
-
schema.handlers[method_name].events.push(event);
|
|
44
|
+
const [, handler] = resolve(context.metadata, String(context.name));
|
|
45
|
+
handler.once = true;
|
|
46
|
+
if (event && !handler.events.includes(event)) {
|
|
47
|
+
handler.events.push(event);
|
|
60
48
|
}
|
|
61
49
|
};
|
|
62
50
|
}
|
|
@@ -244,9 +232,7 @@ export function command(pattern) {
|
|
|
244
232
|
}
|
|
245
233
|
return pattern.test(text);
|
|
246
234
|
})(value, context);
|
|
247
|
-
const
|
|
248
|
-
const schema = metadata[HANDLERS];
|
|
249
|
-
const handler = schema.handlers[String(context.name)];
|
|
235
|
+
const [, handler] = resolve(context.metadata, String(context.name));
|
|
250
236
|
handler.transforms.push((args) => {
|
|
251
237
|
const msg = args[0];
|
|
252
238
|
const chat = args[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACH,WAAW,EACX,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,14 @@ export interface IContactRaw {
|
|
|
18
18
|
img_url?: string | null;
|
|
19
19
|
status?: string | null;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Resuelve el nombre mostrado de un contacto con prioridad local → push → teléfono.
|
|
23
|
+
* Resolves a contact's display name with priority local → push → phone number.
|
|
24
|
+
*
|
|
25
|
+
* @param raw - Documento persistido del contacto / Persisted contact document
|
|
26
|
+
* @returns Nombre mostrado / Display name
|
|
27
|
+
*/
|
|
28
|
+
export declare function contact_name(raw: IContactRaw): string;
|
|
21
29
|
/**
|
|
22
30
|
* Clase base del contacto (forma pública, solo lectura).
|
|
23
31
|
* Base Contact class (public shape, read-only).
|
|
@@ -5,6 +5,16 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { jidNormalizedUser } from 'baileys';
|
|
7
7
|
import { deserialize, serialize } from '../../lib/store/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Resuelve el nombre mostrado de un contacto con prioridad local → push → teléfono.
|
|
10
|
+
* Resolves a contact's display name with priority local → push → phone number.
|
|
11
|
+
*
|
|
12
|
+
* @param raw - Documento persistido del contacto / Persisted contact document
|
|
13
|
+
* @returns Nombre mostrado / Display name
|
|
14
|
+
*/
|
|
15
|
+
export function contact_name(raw) {
|
|
16
|
+
return raw.name ?? raw.notify ?? raw.id.split('@')[0];
|
|
17
|
+
}
|
|
8
18
|
/**
|
|
9
19
|
* Clase base del contacto (forma pública, solo lectura).
|
|
10
20
|
* Base Contact class (public shape, read-only).
|
|
@@ -28,7 +38,7 @@ export class Contact {
|
|
|
28
38
|
}
|
|
29
39
|
/** Nombre: local → push → teléfono. / Name: local → push → phone. */
|
|
30
40
|
get name() {
|
|
31
|
-
return this._raw
|
|
41
|
+
return contact_name(this._raw);
|
|
32
42
|
}
|
|
33
43
|
/** Número sin formato. / Raw phone number. */
|
|
34
44
|
get phone() {
|
|
@@ -145,8 +155,7 @@ export function contact(wa) {
|
|
|
145
155
|
if (jid && !jid.endsWith('@g.us')) {
|
|
146
156
|
const cached = deserialize(await wa.engine.get(`/contact/${jid}`));
|
|
147
157
|
if (cached) {
|
|
148
|
-
|
|
149
|
-
result = new _Contact(cached, await load_chat_for(jid, fallback_name));
|
|
158
|
+
result = new _Contact(cached, await load_chat_for(jid, contact_name(cached)));
|
|
150
159
|
}
|
|
151
160
|
else if (wa._socket) {
|
|
152
161
|
const needs_check = !lid && !uid.endsWith('@lid');
|
|
@@ -183,8 +192,7 @@ export function contact(wa) {
|
|
|
183
192
|
for (const raw of await wa.engine.list('/contact', offset, limit)) {
|
|
184
193
|
const parsed = deserialize(raw);
|
|
185
194
|
if (parsed) {
|
|
186
|
-
|
|
187
|
-
contacts.push(new _Contact(parsed, await load_chat_for(parsed.id, fallback_name)));
|
|
195
|
+
contacts.push(new _Contact(parsed, await load_chat_for(parsed.id, contact_name(parsed))));
|
|
188
196
|
}
|
|
189
197
|
}
|
|
190
198
|
return contacts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/contact/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiBrD;;;GAGG;AACH,MAAM,OAAO,OAAO;IAMlB,YAAY,GAAgB,EAAE,IAAU;QACtC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,+BAA+B;IAC/B,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IACD,kCAAkC;IAClC,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IACD,oDAAoD;IACpD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAC/B,CAAC;IACD,qEAAqE;IACrE,IAAI,IAAI;QACN,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/contact/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiBrD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC3C,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,OAAO;IAMlB,YAAY,GAAgB,EAAE,IAAU;QACtC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,+BAA+B;IAC/B,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IACD,kCAAkC;IAClC,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IACD,oDAAoD;IACpD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAC/B,CAAC;IACD,qEAAqE;IACrE,IAAI,IAAI;QACN,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,8CAA8C;IAC9C,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,oDAAoD;IACpD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACnC,CAAC;IACD,uCAAuC;IACvC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,EAAY;IAClC;;;OAGG;IACH,KAAK,UAAU,iBAAiB,CAC9B,KAAa;QAEb,IAAI,MAAM,GAA+C,IAAI,CAAC;QAC9D,IAAI,EAAE,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAEzC,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;gBAClB,MAAM,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACzE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,kBAAkB,CAC/B,EAAU;QAEV,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB;YACrB,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAiD,CAAC;gBACzE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,aAAa,CAC1B,GAAW,EACX,aAAqB;QAErB,MAAM,MAAM,GAAG,WAAW,CAAW,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,MAAM,QAAS,SAAQ,OAAO;QAInC,YAAY,GAAgB,EAAE,IAAkC;YAC9D,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,2FAA2F;QAClF,KAAK,CAAC,IAAI;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,mHAAmH;QACnH,IAAI,EAAE;YACJ,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,OAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACrE,CAAC;QAED;;;;;;;;WAQG;QACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAW;YAC1B,IAAI,MAAM,GAAoB,IAAI,CAAC;YACnC,IAAI,GAAG,GAAkB,IAAI,CAAC;YAC9B,IAAI,GAAG,GAAkB,IAAI,CAAC;YAE9B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,GAAG,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,UAAU,EAAE,CAAC;oBACf,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;oBACrB,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,WAAW,CAAc,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;gBAChF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChF,CAAC;qBAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAClD,MAAM,UAAU,GAAG,WAAW;wBAC5B,CAAC,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5C,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBACjB,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACrE,MAAM,GAAG,GAAgB;4BACvB,EAAE,EAAE,UAAU,CAAC,GAAG;4BAClB,GAAG,EAAE,UAAU,CAAC,GAAG;4BACnB,IAAI,EAAE,IAAI;4BACV,MAAM,EAAE,IAAI;4BACZ,aAAa,EAAE,IAAI;4BACnB,OAAO;4BACP,MAAM;yBACP,CAAC;wBACF,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;wBAClE,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;4BACnB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,UAAU,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC3E,CAAC;wBACD,MAAM,GAAG,IAAI,QAAQ,CACnB,GAAG,EACH,MAAM,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED;;;WAGG;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAe,EAAE,CAAC;YAChC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClE,MAAM,MAAM,GAAG,WAAW,CAAc,GAAG,CAAC,CAAC;gBAC7C,IAAI,MAAM,EAAE,CAAC;oBACX,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED;;;WAGG;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,IAAY;YAC3C,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpC,CAAC;QAED;;;WAGG;QACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAW;YAC9B,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,MAAM,CAAC,IAAY;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACtB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,OAAO;YACX,IAAI,EAAE,GAAG,KAAK,CAAC;YACf,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC1B,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjE,EAAE,GAAG,IAAI,CAAC;YACZ,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -32,3 +32,4 @@ export interface Engine {
|
|
|
32
32
|
}
|
|
33
33
|
export { FileSystemEngine } from '../../../lib/store/engine/lib/file_system/index.js';
|
|
34
34
|
export { RedisEngine, type RedisClient } from '../../../lib/store/engine/lib/redis/index.js';
|
|
35
|
+
export { S3Engine } from '../../../lib/store/engine/lib/s3/index.js';
|
|
@@ -5,4 +5,5 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { FileSystemEngine } from '../../../lib/store/engine/lib/file_system/index.js';
|
|
7
7
|
export { RedisEngine } from '../../../lib/store/engine/lib/redis/index.js';
|
|
8
|
+
export { S3Engine } from '../../../lib/store/engine/lib/s3/index.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/store/engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/store/engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -102,13 +102,7 @@ export class FileSystemEngine {
|
|
|
102
102
|
return null;
|
|
103
103
|
}
|
|
104
104
|
}));
|
|
105
|
-
|
|
106
|
-
for (const value of values) {
|
|
107
|
-
if (value !== null) {
|
|
108
|
-
result.push(value);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
105
|
+
return values.filter((value) => value !== null);
|
|
112
106
|
}
|
|
113
107
|
catch {
|
|
114
108
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/file_system/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/file_system/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,13 +85,7 @@ export class RedisEngine {
|
|
|
85
85
|
return [];
|
|
86
86
|
}
|
|
87
87
|
const raws = await this._client.mget(members.map((m) => this._doc_key(m)));
|
|
88
|
-
|
|
89
|
-
for (const raw of raws) {
|
|
90
|
-
if (raw !== null) {
|
|
91
|
-
result.push(raw);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return result;
|
|
88
|
+
return raws.filter((raw) => raw !== null);
|
|
95
89
|
}
|
|
96
90
|
/**
|
|
97
91
|
* Cuenta hijos directos en O(1) usando ZCARD.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/redis/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/redis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file store/engine/lib/s3/index.ts
|
|
3
|
+
* @description Driver de persistencia con AWS S3 (caché local opcional).
|
|
4
|
+
* AWS S3 persistence driver (optional local cache).
|
|
5
|
+
*/
|
|
6
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
7
|
+
import type { Engine } from '../../../../../lib/store/engine/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Configuración de la caché local. Cada entrada se limpia con un `setTimeout`
|
|
10
|
+
* (no hay campo de expiración en la lectura). `when` decide qué keys se cachean;
|
|
11
|
+
* el resto va directo a S3.
|
|
12
|
+
* Local cache configuration. Each entry is cleared with a `setTimeout` (no
|
|
13
|
+
* expiration field on read). `when` decides which keys get cached; everything
|
|
14
|
+
* else goes straight to S3.
|
|
15
|
+
*/
|
|
16
|
+
interface CacheOptions {
|
|
17
|
+
/** Tiempo de vida de cada entrada en ms. / Time-to-live of each entry in ms. */
|
|
18
|
+
ttl: number;
|
|
19
|
+
/** Predicado que decide si un path se cachea. / Predicate deciding whether a path is cached. */
|
|
20
|
+
when(key: string): boolean;
|
|
21
|
+
}
|
|
22
|
+
interface S3EngineOptions {
|
|
23
|
+
/** Cliente S3 ya configurado. / Pre-configured S3 client. */
|
|
24
|
+
s3: S3Client;
|
|
25
|
+
/** Nombre del bucket. / Bucket name. */
|
|
26
|
+
bucket: string;
|
|
27
|
+
/** Prefijo base de las keys dentro del bucket. / Base key prefix inside the bucket. */
|
|
28
|
+
basedir: string;
|
|
29
|
+
/**
|
|
30
|
+
* Caché local: `false` la desactiva; un objeto `{ ttl, when }` la configura.
|
|
31
|
+
* Default: `false` (sin caché).
|
|
32
|
+
* Local cache: `false` disables it; an object `{ ttl, when }` configures it.
|
|
33
|
+
* Default: `false` (no cache).
|
|
34
|
+
*/
|
|
35
|
+
cache?: false | CacheOptions;
|
|
36
|
+
}
|
|
37
|
+
export declare class S3Engine implements Engine {
|
|
38
|
+
private readonly _client;
|
|
39
|
+
private readonly _bucket;
|
|
40
|
+
private readonly _prefix;
|
|
41
|
+
private readonly _cache_opts;
|
|
42
|
+
/** @internal Caché local de documentos, con su timer de expiración. / Local cache of documents, with its expiration timer. */
|
|
43
|
+
private readonly _cache;
|
|
44
|
+
constructor(options: S3EngineOptions);
|
|
45
|
+
private _key;
|
|
46
|
+
/**
|
|
47
|
+
* Indica si un path es elegible para caché según la configuración `when`.
|
|
48
|
+
* Reports whether a path is eligible for caching per the `when` config.
|
|
49
|
+
*/
|
|
50
|
+
private _cacheable;
|
|
51
|
+
/**
|
|
52
|
+
* Guarda un valor en la caché local y programa su limpieza con un `setTimeout`.
|
|
53
|
+
* Reemplaza el timer previo si la key ya estaba cacheada para no acumular timers.
|
|
54
|
+
* Stores a value in the local cache and schedules its cleanup with a `setTimeout`.
|
|
55
|
+
* Replaces the previous timer when the key was already cached so timers don't pile up.
|
|
56
|
+
*/
|
|
57
|
+
private _cache_set;
|
|
58
|
+
get(key: string): Promise<string | null>;
|
|
59
|
+
set(key: string, value: string): Promise<void>;
|
|
60
|
+
list(path: string, offset?: number, limit?: number): Promise<string[]>;
|
|
61
|
+
delete_prefix(prefix: string): Promise<number>;
|
|
62
|
+
unset(path: string): Promise<boolean>;
|
|
63
|
+
count(path: string): Promise<number>;
|
|
64
|
+
clear(): Promise<void>;
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file store/engine/lib/s3/index.ts
|
|
3
|
+
* @description Driver de persistencia con AWS S3 (caché local opcional).
|
|
4
|
+
* AWS S3 persistence driver (optional local cache).
|
|
5
|
+
*/
|
|
6
|
+
import { DeleteObjectsCommand, GetObjectCommand, ListObjectsV2Command, PutObjectCommand } from '@aws-sdk/client-s3';
|
|
7
|
+
/**
|
|
8
|
+
* Normaliza un path colapsando slashes redundantes.
|
|
9
|
+
* Normalizes a path by collapsing redundant slashes.
|
|
10
|
+
*/
|
|
11
|
+
function normalize_path(path) {
|
|
12
|
+
return path.replace(/\/+/g, '/').replace(/^\/|\/$/g, '');
|
|
13
|
+
}
|
|
14
|
+
export class S3Engine {
|
|
15
|
+
constructor(options) {
|
|
16
|
+
/** @internal Caché local de documentos, con su timer de expiración. / Local cache of documents, with its expiration timer. */
|
|
17
|
+
this._cache = new Map();
|
|
18
|
+
this._client = options.s3;
|
|
19
|
+
this._bucket = options.bucket;
|
|
20
|
+
this._prefix = options.basedir.endsWith('/') ? options.basedir : `${options.basedir}/`;
|
|
21
|
+
this._cache_opts = options.cache ?? false;
|
|
22
|
+
}
|
|
23
|
+
_key(key) {
|
|
24
|
+
return `${this._prefix}${normalize_path(key).replace(/@/g, '_at_')}`;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Indica si un path es elegible para caché según la configuración `when`.
|
|
28
|
+
* Reports whether a path is eligible for caching per the `when` config.
|
|
29
|
+
*/
|
|
30
|
+
_cacheable(path) {
|
|
31
|
+
return this._cache_opts !== false && this._cache_opts.when(path);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Guarda un valor en la caché local y programa su limpieza con un `setTimeout`.
|
|
35
|
+
* Reemplaza el timer previo si la key ya estaba cacheada para no acumular timers.
|
|
36
|
+
* Stores a value in the local cache and schedules its cleanup with a `setTimeout`.
|
|
37
|
+
* Replaces the previous timer when the key was already cached so timers don't pile up.
|
|
38
|
+
*/
|
|
39
|
+
_cache_set(path, value) {
|
|
40
|
+
if (this._cache_opts === false) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
clearTimeout(this._cache.get(path)?.timer);
|
|
44
|
+
this._cache.set(path, {
|
|
45
|
+
value,
|
|
46
|
+
timer: setTimeout(() => this._cache.delete(path), this._cache_opts.ttl),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async get(key) {
|
|
50
|
+
if (this._cacheable(key) && this._cache.has(key)) {
|
|
51
|
+
return this._cache.get(key).value;
|
|
52
|
+
}
|
|
53
|
+
const value = await (async () => {
|
|
54
|
+
try {
|
|
55
|
+
const res = await this._client.send(new GetObjectCommand({ Bucket: this._bucket, Key: this._key(key) }));
|
|
56
|
+
return (await res.Body?.transformToString('utf-8')) ?? null;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
})();
|
|
62
|
+
if (this._cacheable(key)) {
|
|
63
|
+
this._cache_set(key, value);
|
|
64
|
+
}
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
async set(key, value) {
|
|
68
|
+
const remote = this._client.send(new PutObjectCommand({ Bucket: this._bucket, Key: this._key(key), Body: value, ContentType: 'application/json' }));
|
|
69
|
+
if (this._cacheable(key)) {
|
|
70
|
+
this._cache_set(key, value);
|
|
71
|
+
}
|
|
72
|
+
await remote;
|
|
73
|
+
}
|
|
74
|
+
async list(path, offset = 0, limit = 50) {
|
|
75
|
+
const parent = `${this._prefix}${normalize_path(path).replace(/@/g, '_at_')}/`;
|
|
76
|
+
const children = new Map();
|
|
77
|
+
let token;
|
|
78
|
+
do {
|
|
79
|
+
const res = await this._client.send(new ListObjectsV2Command({
|
|
80
|
+
Bucket: this._bucket,
|
|
81
|
+
Prefix: parent,
|
|
82
|
+
ContinuationToken: token,
|
|
83
|
+
MaxKeys: 1000,
|
|
84
|
+
}));
|
|
85
|
+
for (const obj of res.Contents ?? []) {
|
|
86
|
+
if (!obj.Key)
|
|
87
|
+
continue;
|
|
88
|
+
const rest = obj.Key.slice(parent.length);
|
|
89
|
+
const child_key = `${parent}${rest.split('/')[0]}`;
|
|
90
|
+
const mtime = obj.LastModified?.getTime() ?? 0;
|
|
91
|
+
children.set(child_key, Math.max(children.get(child_key) ?? 0, mtime));
|
|
92
|
+
}
|
|
93
|
+
token = res.NextContinuationToken;
|
|
94
|
+
} while (token);
|
|
95
|
+
const ordered = [...children.entries()]
|
|
96
|
+
.sort((a, b) => b[1] - a[1])
|
|
97
|
+
.slice(offset, offset + limit)
|
|
98
|
+
.map(([key]) => key);
|
|
99
|
+
const values = await Promise.all(ordered.map(async (key) => {
|
|
100
|
+
try {
|
|
101
|
+
const res = await this._client.send(new GetObjectCommand({ Bucket: this._bucket, Key: key }));
|
|
102
|
+
return (await res.Body?.transformToString('utf-8')) ?? null;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
}));
|
|
108
|
+
return values.filter((value) => value !== null);
|
|
109
|
+
}
|
|
110
|
+
async delete_prefix(prefix) {
|
|
111
|
+
const full_prefix = `${this._prefix}${normalize_path(prefix).replace(/@/g, '_at_')}`;
|
|
112
|
+
let deleted = 0;
|
|
113
|
+
let token;
|
|
114
|
+
do {
|
|
115
|
+
const res = await this._client.send(new ListObjectsV2Command({
|
|
116
|
+
Bucket: this._bucket,
|
|
117
|
+
Prefix: full_prefix,
|
|
118
|
+
ContinuationToken: token,
|
|
119
|
+
MaxKeys: 1000,
|
|
120
|
+
}));
|
|
121
|
+
const keys = (res.Contents ?? []).filter((o) => o.Key).map((o) => ({ Key: o.Key }));
|
|
122
|
+
if (keys.length) {
|
|
123
|
+
await this._client.send(new DeleteObjectsCommand({ Bucket: this._bucket, Delete: { Objects: keys } }));
|
|
124
|
+
deleted += keys.length;
|
|
125
|
+
}
|
|
126
|
+
token = res.NextContinuationToken;
|
|
127
|
+
} while (token);
|
|
128
|
+
return deleted;
|
|
129
|
+
}
|
|
130
|
+
async unset(path) {
|
|
131
|
+
if (this._cacheable(path)) {
|
|
132
|
+
for (const key of this._cache.keys()) {
|
|
133
|
+
if (key === path || key.startsWith(`${path}/`)) {
|
|
134
|
+
clearTimeout(this._cache.get(key).timer);
|
|
135
|
+
this._cache.delete(key);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return (await this.delete_prefix(path)) > 0;
|
|
140
|
+
}
|
|
141
|
+
async count(path) {
|
|
142
|
+
const full_prefix = `${this._prefix}${normalize_path(path).replace(/@/g, '_at_')}`;
|
|
143
|
+
let total = 0;
|
|
144
|
+
let token;
|
|
145
|
+
do {
|
|
146
|
+
const res = await this._client.send(new ListObjectsV2Command({
|
|
147
|
+
Bucket: this._bucket,
|
|
148
|
+
Prefix: full_prefix,
|
|
149
|
+
ContinuationToken: token,
|
|
150
|
+
MaxKeys: 1000,
|
|
151
|
+
}));
|
|
152
|
+
total += res.Contents?.length ?? 0;
|
|
153
|
+
token = res.NextContinuationToken;
|
|
154
|
+
} while (token);
|
|
155
|
+
return total;
|
|
156
|
+
}
|
|
157
|
+
async clear() {
|
|
158
|
+
for (const { timer } of this._cache.values()) {
|
|
159
|
+
clearTimeout(timer);
|
|
160
|
+
}
|
|
161
|
+
this._cache.clear();
|
|
162
|
+
await this.delete_prefix('');
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/s3/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @description Barrel del módulo store — reexporta Engine + drivers y expone helpers de serialización.
|
|
4
4
|
* Store module barrel — re-exports Engine + drivers and provides serialization helpers.
|
|
5
5
|
*/
|
|
6
|
-
export { FileSystemEngine, RedisEngine, type Engine, type RedisClient } from '../../lib/store/engine/index.js';
|
|
6
|
+
export { FileSystemEngine, RedisEngine, S3Engine, type Engine, type RedisClient } from '../../lib/store/engine/index.js';
|
|
7
7
|
/**
|
|
8
8
|
* Serializa un documento a string preservando Buffers con BufferJSON de baileys.
|
|
9
9
|
* Serializes a document to string preserving Buffers via baileys BufferJSON.
|