@anterior/brrr 0.1.199 → 0.1.202
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/dist/app.d.ts +40 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +115 -0
- package/dist/app.js.map +1 -0
- package/dist/app.test.d.ts +2 -0
- package/dist/app.test.d.ts.map +1 -0
- package/dist/app.test.js +538 -0
- package/dist/app.test.js.map +1 -0
- package/dist/backends/dynamo.d.ts +18 -0
- package/dist/backends/dynamo.d.ts.map +1 -0
- package/dist/backends/dynamo.js +137 -0
- package/dist/backends/dynamo.js.map +1 -0
- package/dist/backends/dynamo.test-integration.d.ts +2 -0
- package/dist/backends/dynamo.test-integration.d.ts.map +1 -0
- package/dist/backends/dynamo.test-integration.js +19 -0
- package/dist/backends/dynamo.test-integration.js.map +1 -0
- package/dist/backends/in-memory.d.ts +29 -0
- package/dist/backends/in-memory.d.ts.map +1 -0
- package/dist/backends/in-memory.js +78 -0
- package/dist/backends/in-memory.js.map +1 -0
- package/dist/backends/in-memory.test.d.ts +2 -0
- package/dist/backends/in-memory.test.d.ts.map +1 -0
- package/dist/backends/in-memory.test.js +18 -0
- package/dist/backends/in-memory.test.js.map +1 -0
- package/dist/backends/index.d.ts +4 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/index.js +4 -0
- package/dist/backends/index.js.map +1 -0
- package/dist/backends/redis.d.ts +13 -0
- package/dist/backends/redis.d.ts.map +1 -0
- package/dist/backends/redis.js +27 -0
- package/dist/backends/redis.js.map +1 -0
- package/dist/backends/redis.test-integration.d.ts +2 -0
- package/dist/backends/redis.test-integration.d.ts.map +1 -0
- package/dist/backends/redis.test-integration.js +53 -0
- package/dist/backends/redis.test-integration.js.map +1 -0
- package/{src/call.ts → dist/call.d.ts} +4 -3
- package/dist/call.d.ts.map +1 -0
- package/dist/call.js +2 -0
- package/dist/call.js.map +1 -0
- package/dist/codec.d.ts +7 -0
- package/dist/codec.d.ts.map +1 -0
- package/dist/codec.js +2 -0
- package/dist/codec.js.map +1 -0
- package/dist/codec.test.d.ts +3 -0
- package/dist/codec.test.d.ts.map +1 -0
- package/dist/codec.test.js +79 -0
- package/dist/codec.test.js.map +1 -0
- package/dist/connection.d.ts +43 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +120 -0
- package/dist/connection.js.map +1 -0
- package/dist/emitter.d.ts +11 -0
- package/dist/emitter.d.ts.map +1 -0
- package/dist/emitter.js +2 -0
- package/dist/emitter.js.map +1 -0
- package/dist/errors.d.ts +25 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +38 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/internal-codecs.d.ts +18 -0
- package/dist/internal-codecs.d.ts.map +1 -0
- package/{src/internal-codecs.ts → dist/internal-codecs.js} +10 -13
- package/dist/internal-codecs.js.map +1 -0
- package/dist/local-app.d.ts +21 -0
- package/dist/local-app.d.ts.map +1 -0
- package/dist/local-app.js +69 -0
- package/dist/local-app.js.map +1 -0
- package/dist/naive-json-codec.d.ts +20 -0
- package/dist/naive-json-codec.d.ts.map +1 -0
- package/dist/naive-json-codec.js +55 -0
- package/dist/naive-json-codec.js.map +1 -0
- package/dist/naive-json-codec.test.d.ts +2 -0
- package/dist/naive-json-codec.test.d.ts.map +1 -0
- package/dist/naive-json-codec.test.js +9 -0
- package/dist/naive-json-codec.test.js.map +1 -0
- package/dist/store.d.ts +70 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +133 -0
- package/dist/store.js.map +1 -0
- package/dist/store.test.d.ts +8 -0
- package/dist/store.test.d.ts.map +1 -0
- package/dist/store.test.js +274 -0
- package/dist/store.test.js.map +1 -0
- package/dist/symbol.d.ts +4 -0
- package/dist/symbol.d.ts.map +1 -0
- package/{src/symbol.ts → dist/symbol.js} +1 -2
- package/dist/symbol.js.map +1 -0
- package/dist/tagged-tuple.d.ts +34 -0
- package/dist/tagged-tuple.d.ts.map +1 -0
- package/dist/tagged-tuple.js +61 -0
- package/dist/tagged-tuple.js.map +1 -0
- package/dist/tagged-tuple.test.d.ts +2 -0
- package/dist/tagged-tuple.test.d.ts.map +1 -0
- package/dist/tagged-tuple.test.js +56 -0
- package/dist/tagged-tuple.test.js.map +1 -0
- package/package.json +23 -6
- package/npm-version-to-git.sh +0 -10
- package/package.nix +0 -6
- package/src/app.test.ts +0 -705
- package/src/app.ts +0 -201
- package/src/backends/dynamo.test-integration.ts +0 -20
- package/src/backends/dynamo.ts +0 -184
- package/src/backends/in-memory.test.ts +0 -19
- package/src/backends/in-memory.ts +0 -110
- package/src/backends/redis.test-integration.ts +0 -61
- package/src/backends/redis.ts +0 -48
- package/src/codec.test.ts +0 -91
- package/src/codec.ts +0 -12
- package/src/connection.ts +0 -186
- package/src/emitter.ts +0 -20
- package/src/errors.ts +0 -50
- package/src/local-app.ts +0 -93
- package/src/naive-json-codec.test.ts +0 -9
- package/src/naive-json-codec.ts +0 -72
- package/src/store.test.ts +0 -398
- package/src/store.ts +0 -251
- package/src/tagged-tuple.test.ts +0 -69
- package/src/tagged-tuple.ts +0 -96
- package/tsconfig.json +0 -37
- /package/{brrr-test-integration → scripts/brrr-test-integration.sh} +0 -0
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type Connection, Defer, type Request, type Response } from "./connection.ts";
|
|
2
|
+
import type { Codec } from "./codec.ts";
|
|
3
|
+
import { BrrrTaskSymbol } from "./symbol.ts";
|
|
4
|
+
export type Task<A extends unknown[] = any[], R = any> = ((...args: [ActiveWorker, ...A]) => R) & {
|
|
5
|
+
readonly [BrrrTaskSymbol]?: (...args: A) => R;
|
|
6
|
+
};
|
|
7
|
+
export type StripLeadingActiveWorker<A extends unknown[]> = A extends [
|
|
8
|
+
ActiveWorker,
|
|
9
|
+
...infer Rest
|
|
10
|
+
] ? Rest : A;
|
|
11
|
+
export type NoAppTask<A extends unknown[], R> = (...args: StripLeadingActiveWorker<A>) => Promise<R>;
|
|
12
|
+
export type Handlers = Readonly<Record<string, Task>>;
|
|
13
|
+
export type TaskIdentifier<A extends unknown[], R> = ((...args: A) => R | Promise<R>) | string;
|
|
14
|
+
export declare function taskIdentifierToName(identifier: TaskIdentifier<any[], any>, handlers: Handlers): string;
|
|
15
|
+
export declare function taskFn<A extends unknown[], R>(fn: (...args: A) => R): Task<A, R>;
|
|
16
|
+
export declare class AppConsumer {
|
|
17
|
+
readonly codec: Codec;
|
|
18
|
+
readonly connection: Connection;
|
|
19
|
+
readonly handlers: Handlers;
|
|
20
|
+
constructor(codec: Codec, connection: Connection, handlers?: Handlers);
|
|
21
|
+
schedule<A extends unknown[], R>(taskIdentifier: TaskIdentifier<A, R>, topic: string): NoAppTask<A, void>;
|
|
22
|
+
read<A extends unknown[], R>(taskIdentifier: TaskIdentifier<A, R>): NoAppTask<A, R>;
|
|
23
|
+
}
|
|
24
|
+
export declare class AppWorker extends AppConsumer {
|
|
25
|
+
readonly handle: (request: Request, connection: Connection) => Promise<Response | Defer>;
|
|
26
|
+
}
|
|
27
|
+
export declare class ActiveWorker {
|
|
28
|
+
private readonly connection;
|
|
29
|
+
private readonly codec;
|
|
30
|
+
private readonly handlers;
|
|
31
|
+
constructor(connection: Connection, codec: Codec, handlers: Handlers);
|
|
32
|
+
call<A extends unknown[], R>(taskIdentifier: TaskIdentifier<A, R>, topic?: string | undefined): NoAppTask<A, R>;
|
|
33
|
+
gather<T1>(t1: T1): Promise<[Awaited<T1>]>;
|
|
34
|
+
gather<T1, T2>(t1: T1, t2: T2): Promise<[Awaited<T1>, Awaited<T2>]>;
|
|
35
|
+
gather<T1, T2, T3>(t1: T1, t2: T2, t3: T3): Promise<[Awaited<T1>, Awaited<T2>, Awaited<T3>]>;
|
|
36
|
+
gather<T1, T2, T3, T4>(t1: T1, t2: T2, t3: T3, t4: T4): Promise<[Awaited<T1>, Awaited<T2>, Awaited<T3>, Awaited<T4>]>;
|
|
37
|
+
gather<T1, T2, T3, T4, T5>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): Promise<[Awaited<T1>, Awaited<T2>, Awaited<T3>, Awaited<T4>, Awaited<T5>]>;
|
|
38
|
+
gather<T>(...promises: Promise<T>[]): Promise<Awaited<T>[]>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/app.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Defer, } from "./connection.js";
|
|
2
|
+
import { NotFoundError, TaskNotFoundError } from "./errors.js";
|
|
3
|
+
import { BrrrTaskSymbol } from "./symbol.js";
|
|
4
|
+
export function taskIdentifierToName(identifier, handlers) {
|
|
5
|
+
if (typeof identifier === "string") {
|
|
6
|
+
return identifier;
|
|
7
|
+
}
|
|
8
|
+
for (const [name, handler] of Object.entries(handlers)) {
|
|
9
|
+
if (handler[BrrrTaskSymbol] === identifier || handler === identifier) {
|
|
10
|
+
return name;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
throw new TaskNotFoundError(identifier.name);
|
|
14
|
+
}
|
|
15
|
+
export function taskFn(fn) {
|
|
16
|
+
const task = (_, ...args) => fn(...args);
|
|
17
|
+
return Object.defineProperty(task, BrrrTaskSymbol, {
|
|
18
|
+
value: fn,
|
|
19
|
+
writable: false,
|
|
20
|
+
configurable: false,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export class AppConsumer {
|
|
24
|
+
codec;
|
|
25
|
+
connection;
|
|
26
|
+
handlers;
|
|
27
|
+
constructor(codec, connection, handlers = {}) {
|
|
28
|
+
this.codec = codec;
|
|
29
|
+
this.connection = connection;
|
|
30
|
+
this.handlers = handlers;
|
|
31
|
+
}
|
|
32
|
+
schedule(taskIdentifier, topic) {
|
|
33
|
+
const taskName = taskIdentifierToName(taskIdentifier, this.handlers);
|
|
34
|
+
return async (...args) => {
|
|
35
|
+
const call = await this.codec.encodeCall(taskName, args);
|
|
36
|
+
await this.connection.scheduleRaw(topic, call);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
read(taskIdentifier) {
|
|
40
|
+
return async (...args) => {
|
|
41
|
+
const taskName = taskIdentifierToName(taskIdentifier, this.handlers);
|
|
42
|
+
const call = await this.codec.encodeCall(taskName, args);
|
|
43
|
+
const payload = await this.connection.memory.getValue(call.callHash);
|
|
44
|
+
if (!payload) {
|
|
45
|
+
throw new NotFoundError({
|
|
46
|
+
type: "value",
|
|
47
|
+
callHash: call.callHash,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return this.codec.decodeReturn(taskName, payload);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export class AppWorker extends AppConsumer {
|
|
55
|
+
handle = async (request, connection) => {
|
|
56
|
+
const handler = this.handlers[request.call.taskName];
|
|
57
|
+
if (!handler) {
|
|
58
|
+
throw new TaskNotFoundError(request.call.taskName);
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
const activeWorker = new ActiveWorker(connection, this.codec, this.handlers);
|
|
62
|
+
const payload = await this.codec.invokeTask(request.call, (...args) => {
|
|
63
|
+
return handler(activeWorker, ...args);
|
|
64
|
+
});
|
|
65
|
+
return { payload };
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
if (err instanceof Defer) {
|
|
69
|
+
return err;
|
|
70
|
+
}
|
|
71
|
+
throw err;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export class ActiveWorker {
|
|
76
|
+
connection;
|
|
77
|
+
codec;
|
|
78
|
+
handlers;
|
|
79
|
+
constructor(connection, codec, handlers) {
|
|
80
|
+
this.connection = connection;
|
|
81
|
+
this.codec = codec;
|
|
82
|
+
this.handlers = handlers;
|
|
83
|
+
}
|
|
84
|
+
call(taskIdentifier, topic) {
|
|
85
|
+
const taskName = taskIdentifierToName(taskIdentifier, this.handlers);
|
|
86
|
+
return async (...args) => {
|
|
87
|
+
const call = await this.codec.encodeCall(taskName, args);
|
|
88
|
+
const payload = await this.connection.memory.getValue(call.callHash);
|
|
89
|
+
if (!payload) {
|
|
90
|
+
throw new Defer({ topic, call });
|
|
91
|
+
}
|
|
92
|
+
return this.codec.decodeReturn(taskName, payload);
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
async gather(...promises) {
|
|
96
|
+
const deferredCalls = [];
|
|
97
|
+
const values = [];
|
|
98
|
+
for (const promise of promises) {
|
|
99
|
+
try {
|
|
100
|
+
values.push(await promise);
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
if (!(err instanceof Defer)) {
|
|
104
|
+
throw err;
|
|
105
|
+
}
|
|
106
|
+
deferredCalls.push(...err.calls);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (deferredCalls.length) {
|
|
110
|
+
throw new Defer(...deferredCalls);
|
|
111
|
+
}
|
|
112
|
+
return values;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,GAIN,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAyB7C,MAAM,UAAU,oBAAoB,CAClC,UAAsC,EACtC,QAAkB;IAElB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,UAAU,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,EAAqB;IAErB,MAAM,IAAI,GAAe,CAAC,CAAe,EAAE,GAAG,IAAO,EAAK,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE;QACjD,KAAK,EAAE,EAA8C;QACrD,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,WAAW;IACN,KAAK,CAAQ;IACb,UAAU,CAAa;IACvB,QAAQ,CAAW;IAEnC,YACE,KAAY,EACZ,UAAsB,EACtB,WAAqB,EAAE;QAEvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,QAAQ,CACb,cAAoC,EACpC,KAAa;QAEb,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrE,OAAO,KAAK,EAAE,GAAG,IAAiC,EAAE,EAAE;YACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC;IAEM,IAAI,CACT,cAAoC;QAEpC,OAAO,KAAK,EAAE,GAAG,IAAiC,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,aAAa,CAAC;oBACtB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAM,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxB,MAAM,GAAG,KAAK,EAC5B,OAAgB,EAChB,UAAsB,EACK,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,UAAU,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,CACd,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBACpE,OAAO,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC;YACb,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;CACH;AAED,MAAM,OAAO,YAAY;IACN,UAAU,CAAa;IACvB,KAAK,CAAQ;IACb,QAAQ,CAAW;IAEpC,YAAmB,UAAsB,EAAE,KAAY,EAAE,QAAkB;QACzE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,IAAI,CACT,cAAoC,EACpC,KAA0B;QAE1B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrE,OAAO,KAAK,EAAE,GAAG,IAAiC,EAAc,EAAE;YAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAM,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IA0BM,KAAK,CAAC,MAAM,CAAI,GAAG,QAAsB;QAC9C,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC5B,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.test.d.ts","sourceRoot":"","sources":["../src/app.test.ts"],"names":[],"mappings":""}
|