@adviser/cement 0.5.11 → 0.5.13
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/cjs/evento.cjs +138 -22
- package/cjs/evento.cjs.map +1 -1
- package/cjs/evento.d.ts +53 -7
- package/cjs/evento.d.ts.map +1 -1
- package/cjs/evento.test.cjs +505 -18
- package/cjs/evento.test.cjs.map +1 -1
- package/cjs/version.cjs +1 -1
- package/deno.json +1 -1
- package/esm/evento.d.ts +53 -7
- package/esm/evento.d.ts.map +1 -1
- package/esm/evento.js +135 -21
- package/esm/evento.js.map +1 -1
- package/esm/evento.test.js +506 -19
- package/esm/evento.test.js.map +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/evento.ts +200 -41
- package/ts/cjs/evento.d.ts +53 -7
- package/ts/cjs/evento.d.ts.map +1 -1
- package/ts/cjs/evento.js +138 -22
- package/ts/cjs/evento.js.map +1 -1
- package/ts/cjs/evento.test.js +505 -18
- package/ts/cjs/evento.test.js.map +1 -1
- package/ts/cjs/version.js +1 -1
- package/ts/esm/evento.d.ts +53 -7
- package/ts/esm/evento.d.ts.map +1 -1
- package/ts/esm/evento.js +135 -21
- package/ts/esm/evento.js.map +1 -1
- package/ts/esm/evento.test.js +506 -19
- package/ts/esm/evento.test.js.map +1 -1
- package/ts/esm/version.js +1 -1
package/cjs/evento.cjs
CHANGED
|
@@ -1,10 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Evento = exports.EventoType = exports.EventoOp = exports.EventoResult = void 0;
|
|
3
|
+
exports.Evento = exports.EventoType = exports.EventoOp = exports.EventoResult = exports.TriggerResultError = exports.EventoSend = void 0;
|
|
4
4
|
const app_context_js_1 = require("./app-context.cjs");
|
|
5
5
|
const option_js_1 = require("./option.cjs");
|
|
6
6
|
const resolve_once_js_1 = require("./resolve-once.cjs");
|
|
7
7
|
const result_js_1 = require("./result.cjs");
|
|
8
|
+
class EventoSend {
|
|
9
|
+
provider;
|
|
10
|
+
constructor(provider) {
|
|
11
|
+
this.provider = provider;
|
|
12
|
+
}
|
|
13
|
+
start(trigger) {
|
|
14
|
+
trigger.stats.send.startTime = new Date();
|
|
15
|
+
if (this.provider.start) {
|
|
16
|
+
return this.provider.start(trigger);
|
|
17
|
+
}
|
|
18
|
+
return Promise.resolve(result_js_1.Result.Ok());
|
|
19
|
+
}
|
|
20
|
+
done(trigger) {
|
|
21
|
+
trigger.stats.send.doneTime = new Date();
|
|
22
|
+
if (this.provider.done) {
|
|
23
|
+
return this.provider.done(trigger);
|
|
24
|
+
}
|
|
25
|
+
return Promise.resolve(result_js_1.Result.Ok());
|
|
26
|
+
}
|
|
27
|
+
async send(trigger, data) {
|
|
28
|
+
const start = new Date();
|
|
29
|
+
const rSend = await this.provider.send(trigger, data);
|
|
30
|
+
const done = new Date();
|
|
31
|
+
const item = {
|
|
32
|
+
startTime: start,
|
|
33
|
+
doneTime: done,
|
|
34
|
+
item: rSend,
|
|
35
|
+
};
|
|
36
|
+
trigger.stats.send.items.push(item);
|
|
37
|
+
return result_js_1.Result.Ok(item);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.EventoSend = EventoSend;
|
|
41
|
+
class TriggerResultError extends Error {
|
|
42
|
+
ctx;
|
|
43
|
+
constructor(message, ctx) {
|
|
44
|
+
super(message);
|
|
45
|
+
this.ctx = ctx;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.TriggerResultError = TriggerResultError;
|
|
8
49
|
exports.EventoResult = {
|
|
9
50
|
Continue: "continue",
|
|
10
51
|
Stop: "stop",
|
|
@@ -19,6 +60,7 @@ var EventoType;
|
|
|
19
60
|
(function (EventoType) {
|
|
20
61
|
EventoType["WildCard"] = "wildcard";
|
|
21
62
|
EventoType["Regular"] = "regular";
|
|
63
|
+
EventoType["Error"] = "error";
|
|
22
64
|
})(EventoType || (exports.EventoType = EventoType = {}));
|
|
23
65
|
function unregFunc(item, actions) {
|
|
24
66
|
return () => {
|
|
@@ -31,6 +73,7 @@ function unregFunc(item, actions) {
|
|
|
31
73
|
class Evento {
|
|
32
74
|
actions = [];
|
|
33
75
|
wildcards = [];
|
|
76
|
+
errors = [];
|
|
34
77
|
encoder;
|
|
35
78
|
constructor(encoder) {
|
|
36
79
|
this.encoder = encoder;
|
|
@@ -61,7 +104,19 @@ class Evento {
|
|
|
61
104
|
}
|
|
62
105
|
register(...hdls) {
|
|
63
106
|
return hdls.map((item) => {
|
|
64
|
-
|
|
107
|
+
let handlers;
|
|
108
|
+
switch (item.type) {
|
|
109
|
+
case EventoType.WildCard:
|
|
110
|
+
handlers = this.wildcards;
|
|
111
|
+
break;
|
|
112
|
+
case EventoType.Error:
|
|
113
|
+
handlers = this.errors;
|
|
114
|
+
break;
|
|
115
|
+
case EventoType.Regular:
|
|
116
|
+
default:
|
|
117
|
+
handlers = this.actions;
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
65
120
|
const hasHandler = handlers.find((h) => h.hash === item.handler.hash);
|
|
66
121
|
if (hasHandler) {
|
|
67
122
|
return unregFunc(hasHandler, handlers);
|
|
@@ -82,27 +137,50 @@ class Evento {
|
|
|
82
137
|
});
|
|
83
138
|
}
|
|
84
139
|
async trigger(ictx) {
|
|
85
|
-
|
|
140
|
+
let stepCtx = null;
|
|
141
|
+
const toPost = [];
|
|
142
|
+
const startOnce = new resolve_once_js_1.ResolveOnce();
|
|
143
|
+
const res = await (0, result_js_1.exception2Result)(async () => {
|
|
144
|
+
const nullDate = new Date(0);
|
|
86
145
|
const ctx = {
|
|
87
146
|
...ictx,
|
|
88
147
|
encoder: ictx.encoder ?? this.encoder,
|
|
148
|
+
stats: ictx.stats ?? {
|
|
149
|
+
request: {
|
|
150
|
+
startTime: new Date(),
|
|
151
|
+
doneTime: nullDate,
|
|
152
|
+
},
|
|
153
|
+
encode: {
|
|
154
|
+
startTime: nullDate,
|
|
155
|
+
doneTime: nullDate,
|
|
156
|
+
},
|
|
157
|
+
handlers: [],
|
|
158
|
+
send: {
|
|
159
|
+
startTime: nullDate,
|
|
160
|
+
doneTime: nullDate,
|
|
161
|
+
items: [],
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
send: new EventoSend(ictx.send),
|
|
89
165
|
ctx: ictx.ctx ?? new app_context_js_1.AppContext(),
|
|
90
166
|
};
|
|
167
|
+
stepCtx = ctx;
|
|
91
168
|
const results = [];
|
|
92
169
|
if (!ctx.enRequest) {
|
|
170
|
+
ctx.stats.encode.startTime = new Date();
|
|
93
171
|
const rUnk = await this.encoder.encode(ctx.request);
|
|
172
|
+
ctx.stats.encode.doneTime = new Date();
|
|
94
173
|
if (rUnk.isErr()) {
|
|
95
174
|
return result_js_1.Result.Err(rUnk);
|
|
96
175
|
}
|
|
97
176
|
const unk = rUnk.unwrap();
|
|
98
177
|
ctx.enRequest = unk;
|
|
99
178
|
}
|
|
100
|
-
const validateCtx = {
|
|
179
|
+
const validateCtx = (stepCtx = {
|
|
101
180
|
...ctx,
|
|
102
181
|
enRequest: ctx.enRequest,
|
|
103
182
|
request: ctx.request,
|
|
104
|
-
};
|
|
105
|
-
const startOnce = new resolve_once_js_1.ResolveOnce();
|
|
183
|
+
});
|
|
106
184
|
for (const hdl of [...this.actions, "breakpoint", ...this.wildcards]) {
|
|
107
185
|
if (typeof hdl === "string") {
|
|
108
186
|
if (results.length > 0) {
|
|
@@ -110,33 +188,58 @@ class Evento {
|
|
|
110
188
|
}
|
|
111
189
|
continue;
|
|
112
190
|
}
|
|
191
|
+
if (hdl.post) {
|
|
192
|
+
toPost.push(hdl);
|
|
193
|
+
}
|
|
194
|
+
const stat = {
|
|
195
|
+
handler: hdl,
|
|
196
|
+
total: {
|
|
197
|
+
startTime: new Date(),
|
|
198
|
+
doneTime: nullDate,
|
|
199
|
+
},
|
|
200
|
+
validated: {
|
|
201
|
+
startTime: nullDate,
|
|
202
|
+
doneTime: nullDate,
|
|
203
|
+
},
|
|
204
|
+
handled: {
|
|
205
|
+
startTime: nullDate,
|
|
206
|
+
doneTime: nullDate,
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
ctx.stats.handlers.push(stat);
|
|
210
|
+
stat.validated.startTime = new Date();
|
|
113
211
|
const rData = await Promise.resolve(hdl.validate ? hdl.validate(validateCtx) : result_js_1.Result.Ok(option_js_1.Option.Some(ctx.enRequest)));
|
|
212
|
+
stat.validated.doneTime = new Date();
|
|
114
213
|
if (rData.isErr()) {
|
|
214
|
+
stat.total.doneTime = new Date();
|
|
115
215
|
return result_js_1.Result.Err(rData);
|
|
116
216
|
}
|
|
117
217
|
const data = rData.Ok();
|
|
118
218
|
if (data.IsNone()) {
|
|
119
219
|
continue;
|
|
120
220
|
}
|
|
121
|
-
const hdlCtx = {
|
|
221
|
+
const hdlCtx = (stepCtx = {
|
|
122
222
|
...ctx,
|
|
123
223
|
validated: data.Unwrap(),
|
|
124
224
|
request: ctx.request,
|
|
125
225
|
enRequest: ctx.enRequest,
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return result_js_1.Result.Err(rv);
|
|
131
|
-
}
|
|
132
|
-
return result_js_1.Result.Ok(hdlCtx);
|
|
133
|
-
}));
|
|
134
|
-
if (rStart.isErr()) {
|
|
135
|
-
return result_js_1.Result.Err(rStart);
|
|
226
|
+
});
|
|
227
|
+
const rStart = await startOnce.once(() => ctx.send.start(hdlCtx).then((rv) => {
|
|
228
|
+
if (rv.isErr()) {
|
|
229
|
+
return result_js_1.Result.Err(rv);
|
|
136
230
|
}
|
|
231
|
+
return result_js_1.Result.Ok(hdlCtx);
|
|
232
|
+
}));
|
|
233
|
+
if (rStart.isErr()) {
|
|
234
|
+
stat.total.doneTime = new Date();
|
|
235
|
+
return result_js_1.Result.Err(rStart);
|
|
137
236
|
}
|
|
237
|
+
stat.handled.startTime = new Date();
|
|
138
238
|
const rHandle = await hdl.handle(hdlCtx);
|
|
239
|
+
stat.handled.doneTime = new Date();
|
|
240
|
+
stat.total.doneTime = new Date();
|
|
139
241
|
if (rHandle.isErr()) {
|
|
242
|
+
stat.total.doneTime = new Date();
|
|
140
243
|
return result_js_1.Result.Err(rHandle);
|
|
141
244
|
}
|
|
142
245
|
results.push(hdl.hash);
|
|
@@ -144,13 +247,26 @@ class Evento {
|
|
|
144
247
|
break;
|
|
145
248
|
}
|
|
146
249
|
}
|
|
147
|
-
if (ctx.send.done && startOnce.state === "processed" && startOnce.value) {
|
|
148
|
-
if (startOnce.value.isOk()) {
|
|
149
|
-
await ctx.send.done(startOnce.value.Ok());
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
250
|
return result_js_1.Result.Ok(results);
|
|
153
251
|
});
|
|
252
|
+
if (!stepCtx) {
|
|
253
|
+
throw new Error("Internal error: stepCtx is null");
|
|
254
|
+
}
|
|
255
|
+
for (const hdl of toPost) {
|
|
256
|
+
await (0, result_js_1.exception2Result)(() => hdl.post(stepCtx));
|
|
257
|
+
}
|
|
258
|
+
if (res.isErr()) {
|
|
259
|
+
stepCtx.error = res.Err();
|
|
260
|
+
for (const hdl of this.errors) {
|
|
261
|
+
await (0, result_js_1.exception2Result)(() => hdl.handle(stepCtx));
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
if (startOnce.value?.isOk()) {
|
|
265
|
+
const ctx = startOnce.value.Ok();
|
|
266
|
+
ctx.stats.request.doneTime = new Date();
|
|
267
|
+
await startOnce.value.Ok().send.done(ctx);
|
|
268
|
+
}
|
|
269
|
+
return result_js_1.Result.Ok(stepCtx);
|
|
154
270
|
}
|
|
155
271
|
}
|
|
156
272
|
exports.Evento = Evento;
|
package/cjs/evento.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evento.js","sourceRoot":"","sources":["../../../src/evento.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAC9C,2CAAqC;AACrC,uDAAgD;AAChD,2CAAuD;
|
|
1
|
+
{"version":3,"file":"evento.js","sourceRoot":"","sources":["../../../src/evento.ts"],"names":[],"mappings":"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"}
|
package/cjs/evento.d.ts
CHANGED
|
@@ -5,18 +5,52 @@ export interface EventoEnDecoder<REQ, RES> {
|
|
|
5
5
|
encode(args: REQ): Promise<Result<unknown>>;
|
|
6
6
|
decode(data: unknown): Promise<Result<RES>>;
|
|
7
7
|
}
|
|
8
|
-
export interface
|
|
8
|
+
export interface EventoSendProvider<INREQ, REQ, RES> {
|
|
9
9
|
start?(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<void>>;
|
|
10
10
|
send<IS, OS>(trigger: HandleTriggerCtx<INREQ, REQ, RES>, data: IS): Promise<Result<OS>>;
|
|
11
11
|
done?(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<void>>;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
14
|
-
|
|
13
|
+
export interface ActionStat {
|
|
14
|
+
startTime: Date;
|
|
15
|
+
doneTime: Date;
|
|
16
|
+
}
|
|
17
|
+
export interface SendStatItem<T> extends ActionStat {
|
|
18
|
+
readonly item: Result<T>;
|
|
19
|
+
}
|
|
20
|
+
export interface SendStat extends ActionStat {
|
|
21
|
+
items: SendStatItem<unknown>[];
|
|
22
|
+
}
|
|
23
|
+
export type RequestStat = ActionStat;
|
|
24
|
+
export interface TriggerStats {
|
|
25
|
+
readonly request: RequestStat;
|
|
26
|
+
readonly encode: ActionStat;
|
|
27
|
+
readonly handlers: {
|
|
28
|
+
readonly handler: EventoHandler;
|
|
29
|
+
readonly total: ActionStat;
|
|
30
|
+
readonly validated: ActionStat;
|
|
31
|
+
readonly handled: ActionStat;
|
|
32
|
+
}[];
|
|
33
|
+
readonly send: SendStat;
|
|
34
|
+
}
|
|
35
|
+
export declare class EventoSend<INREQ, REQ, RES> {
|
|
36
|
+
readonly provider: EventoSendProvider<INREQ, REQ, RES>;
|
|
37
|
+
constructor(provider: EventoSendProvider<INREQ, REQ, RES>);
|
|
38
|
+
start(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<void>>;
|
|
39
|
+
done(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<void>>;
|
|
40
|
+
send<IS, OS>(trigger: HandleTriggerCtx<INREQ, REQ, RES>, data: IS): Promise<Result<SendStatItem<OS>>>;
|
|
41
|
+
}
|
|
42
|
+
export interface TriggerCtxBase<INREQ, RES> {
|
|
15
43
|
ctx: AppContext;
|
|
16
44
|
encoder: EventoEnDecoder<INREQ, RES>;
|
|
17
45
|
}
|
|
18
|
-
export type ReadonlyTriggerCtxBase<INREQ, REQ, RES> = Readonly<TriggerCtxBase<INREQ,
|
|
19
|
-
|
|
46
|
+
export type ReadonlyTriggerCtxBase<INREQ, REQ, RES> = Readonly<TriggerCtxBase<INREQ, RES>> & {
|
|
47
|
+
readonly send: EventoSend<INREQ, REQ, RES>;
|
|
48
|
+
readonly stats: TriggerStats;
|
|
49
|
+
};
|
|
50
|
+
export type TriggerCtxBaseParams<INREQ, REQ, RES> = Partial<Omit<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "send">> & Partial<Pick<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "ctx" | "encoder">> & {
|
|
51
|
+
send: EventoSendProvider<INREQ, REQ, RES>;
|
|
52
|
+
stats?: TriggerStats;
|
|
53
|
+
};
|
|
20
54
|
export type TriggerCtxParams<INREQ, REQ, RES> = TriggerCtxBaseParams<INREQ, REQ, RES> & {
|
|
21
55
|
request?: INREQ;
|
|
22
56
|
enRequest?: unknown;
|
|
@@ -29,6 +63,14 @@ export type TriggerCtx<INREQ, REQ, RES> = (ReadonlyTriggerCtxBase<INREQ, REQ, RE
|
|
|
29
63
|
enRequest: unknown;
|
|
30
64
|
request: INREQ;
|
|
31
65
|
});
|
|
66
|
+
export type TriggerResult<INREQ, REQ, RES> = Omit<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "send"> & {
|
|
67
|
+
readonly send: EventoSend<INREQ, REQ, RES>;
|
|
68
|
+
readonly stats: TriggerStats;
|
|
69
|
+
} & Partial<MutableHandleTriggerCtx<INREQ, REQ>>;
|
|
70
|
+
export declare class TriggerResultError<INREQ, REQ, RES> extends Error {
|
|
71
|
+
readonly ctx: TriggerResult<INREQ, REQ, RES>;
|
|
72
|
+
constructor(message: string, ctx: TriggerResult<INREQ, REQ, RES>);
|
|
73
|
+
}
|
|
32
74
|
export interface ValidateTriggerCtx<INREQ, REQ, RES> extends ReadonlyTriggerCtxBase<INREQ, REQ, RES> {
|
|
33
75
|
readonly request?: INREQ;
|
|
34
76
|
readonly enRequest: unknown;
|
|
@@ -37,6 +79,7 @@ export interface MutableHandleTriggerCtx<INREQ, REQ> {
|
|
|
37
79
|
request: INREQ;
|
|
38
80
|
enRequest: unknown;
|
|
39
81
|
validated: REQ;
|
|
82
|
+
error?: Error;
|
|
40
83
|
}
|
|
41
84
|
export type HandleTriggerCtx<INREQ, REQ, RES> = Readonly<MutableHandleTriggerCtx<INREQ, REQ>> & ReadonlyTriggerCtxBase<INREQ, REQ, RES>;
|
|
42
85
|
export declare const EventoResult: {
|
|
@@ -51,13 +94,15 @@ export declare enum EventoOp {
|
|
|
51
94
|
}
|
|
52
95
|
export declare enum EventoType {
|
|
53
96
|
WildCard = "wildcard",
|
|
54
|
-
Regular = "regular"
|
|
97
|
+
Regular = "regular",
|
|
98
|
+
Error = "error"
|
|
55
99
|
}
|
|
56
100
|
export interface EventoHandler<INREQ = unknown, REQ = unknown, RES = unknown> {
|
|
57
101
|
readonly type?: EventoType;
|
|
58
102
|
readonly hash: string;
|
|
59
103
|
handle(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<EventoResultType>>;
|
|
60
104
|
validate?(trigger: ValidateTriggerCtx<INREQ, REQ, RES>): Promise<Result<Option<REQ>>>;
|
|
105
|
+
post?(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<void>;
|
|
61
106
|
}
|
|
62
107
|
export interface EventoHandlerOpSimple {
|
|
63
108
|
readonly type: EventoType;
|
|
@@ -74,6 +119,7 @@ export type EventoHandlerOp = EventoHandlerOpSimple | EventoHandlerOpPosition;
|
|
|
74
119
|
export declare class Evento {
|
|
75
120
|
private actions;
|
|
76
121
|
private wildcards;
|
|
122
|
+
private errors;
|
|
77
123
|
private encoder;
|
|
78
124
|
constructor(encoder: EventoEnDecoder<unknown, unknown>);
|
|
79
125
|
handlers(): {
|
|
@@ -83,6 +129,6 @@ export declare class Evento {
|
|
|
83
129
|
push(...hdls: (EventoHandler | EventoHandler[])[]): (() => void)[];
|
|
84
130
|
unshift(...hdls: (EventoHandler | EventoHandler[])[]): (() => void)[];
|
|
85
131
|
register(...hdls: EventoHandlerOp[]): (() => void)[];
|
|
86
|
-
trigger<INREQ, REQ, RES>(ictx: TriggerCtxParams<INREQ, REQ, RES>): Promise<Result<
|
|
132
|
+
trigger<INREQ, REQ, RES>(ictx: TriggerCtxParams<INREQ, REQ, RES>): Promise<Result<TriggerResult<INREQ, REQ, RES>>>;
|
|
87
133
|
}
|
|
88
134
|
//# sourceMappingURL=evento.d.ts.map
|
package/cjs/evento.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evento.d.ts","sourceRoot":"","sources":["../../../src/evento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AASvD,MAAM,WAAW,eAAe,CAAC,GAAG,EAAE,GAAG;IAOvC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAQ5C,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7C;AAUD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"evento.d.ts","sourceRoot":"","sources":["../../../src/evento.ts"],"names":[],"mappings":"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"}
|