@meticoeus/ddd-es 0.3.10 → 0.3.12
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/package.json +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/logger.console.d.ts +6 -0
- package/dist/src/logger.console.d.ts.map +1 -0
- package/dist/src/logger.console.js +100 -0
- package/dist/src/logger.console.js.map +1 -0
- package/dist/src/logger.d.ts +1 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/types.mocks.d.ts +1 -0
- package/dist/src/types.mocks.d.ts.map +1 -1
- package/dist/src/types.mocks.js +8 -6
- package/dist/src/types.mocks.js.map +1 -1
- package/package.json +1 -1
package/dist/package.json
CHANGED
package/dist/src/index.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ export * from './IEventProcessor.js';
|
|
|
5
5
|
export * from './IRepository.js';
|
|
6
6
|
export * from './Repository.js';
|
|
7
7
|
export * from './entities.js';
|
|
8
|
-
export
|
|
8
|
+
export { ILogger, logProvider, } from './logger.js';
|
|
9
|
+
export * from './logger.console.js';
|
|
9
10
|
export * from './schemas.js';
|
|
10
11
|
export * from './types.js';
|
|
11
12
|
export * from './utils.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAwBA,cAAc,kCAAkC,CAAA;AAChD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAwBA,cAAc,kCAAkC,CAAA;AAChD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,OAAO,EACL,OAAO,EACP,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -28,7 +28,8 @@ export * from './IEventProcessor.js';
|
|
|
28
28
|
export * from './IRepository.js';
|
|
29
29
|
export * from './Repository.js';
|
|
30
30
|
export * from './entities.js';
|
|
31
|
-
export
|
|
31
|
+
export { logProvider, } from './logger.js';
|
|
32
|
+
export * from './logger.console.js';
|
|
32
33
|
export * from './schemas.js';
|
|
33
34
|
export * from './types.js';
|
|
34
35
|
export * from './utils.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAEF,cAAc,kCAAkC,CAAA;AAChD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAEF,cAAc,kCAAkC,CAAA;AAChD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAEL,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.console.d.ts","sourceRoot":"","sources":["../../src/logger.console.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AA8EjD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2024 Justin Bailey
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
|
23
|
+
*/
|
|
24
|
+
// Basic ANSI color helpers (good enough for tests)
|
|
25
|
+
const colors = {
|
|
26
|
+
reset: '\x1b[0m',
|
|
27
|
+
red: (s) => `\x1b[31m${s}\x1b[0m`,
|
|
28
|
+
yellow: (s) => `\x1b[33m${s}\x1b[0m`,
|
|
29
|
+
green: (s) => `\x1b[32m${s}\x1b[0m`,
|
|
30
|
+
cyan: (s) => `\x1b[36m${s}\x1b[0m`,
|
|
31
|
+
magenta: (s) => `\x1b[35m${s}\x1b[0m`,
|
|
32
|
+
whiteOnRed: (s) => `\x1b[41m\x1b[37m${s}\x1b[0m`,
|
|
33
|
+
gray: (s) => `\x1b[90m${s}\x1b[0m`,
|
|
34
|
+
};
|
|
35
|
+
const levelStyles = {
|
|
36
|
+
fatal: { label: 'FATAL', color: colors.whiteOnRed, consoleMethod: console.error },
|
|
37
|
+
error: { label: 'ERROR', color: colors.red, consoleMethod: console.error },
|
|
38
|
+
warn: { label: 'WARN', color: colors.yellow, consoleMethod: console.warn },
|
|
39
|
+
info: { label: 'INFO', color: colors.green, consoleMethod: console.log },
|
|
40
|
+
debug: { label: 'DEBUG', color: colors.cyan, consoleMethod: console.debug ?? console.log },
|
|
41
|
+
trace: { label: 'TRACE', color: colors.magenta, consoleMethod: console.debug ?? console.log },
|
|
42
|
+
// silent gets special handling later (no-op)
|
|
43
|
+
silent: { label: 'SILENT', color: colors.gray, consoleMethod: () => { } },
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Build a console-based LogFn that mimics Pino’s call signatures:
|
|
47
|
+
* log("msg", ...args)
|
|
48
|
+
* log(obj, "msg", ...args)
|
|
49
|
+
* log(obj)
|
|
50
|
+
*/
|
|
51
|
+
function makeConsoleLogFn(level, colorize, consoleMethod) {
|
|
52
|
+
const fn = (...args) => {
|
|
53
|
+
if (args.length === 0)
|
|
54
|
+
return;
|
|
55
|
+
const [first, second, ...rest] = args;
|
|
56
|
+
let msg;
|
|
57
|
+
let obj;
|
|
58
|
+
if (typeof first === 'string') {
|
|
59
|
+
// log("msg", ...)
|
|
60
|
+
msg = first;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// log(obj, "msg"?, ...)
|
|
64
|
+
obj = first;
|
|
65
|
+
if (typeof second === 'string') {
|
|
66
|
+
msg = second;
|
|
67
|
+
}
|
|
68
|
+
else if (second !== undefined) {
|
|
69
|
+
// second arg is not msg → treat as additional arg
|
|
70
|
+
rest.unshift(second);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const prefix = colorize(`[${level.toUpperCase()}]`);
|
|
74
|
+
const pieces = [prefix];
|
|
75
|
+
if (msg)
|
|
76
|
+
pieces.push(msg);
|
|
77
|
+
if (obj !== undefined)
|
|
78
|
+
pieces.push(obj);
|
|
79
|
+
if (rest.length > 0)
|
|
80
|
+
pieces.push(...rest);
|
|
81
|
+
consoleMethod(...pieces);
|
|
82
|
+
};
|
|
83
|
+
return fn;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Create a simple console pino-pretty-style logger for unit tests.
|
|
87
|
+
*/
|
|
88
|
+
export function createConsoleLogger() {
|
|
89
|
+
return {
|
|
90
|
+
fatal: makeConsoleLogFn('fatal', levelStyles.fatal.color, levelStyles.fatal.consoleMethod),
|
|
91
|
+
error: makeConsoleLogFn('error', levelStyles.error.color, levelStyles.error.consoleMethod),
|
|
92
|
+
warn: makeConsoleLogFn('warn', levelStyles.warn.color, levelStyles.warn.consoleMethod),
|
|
93
|
+
info: makeConsoleLogFn('info', levelStyles.info.color, levelStyles.info.consoleMethod),
|
|
94
|
+
debug: makeConsoleLogFn('debug', levelStyles.debug.color, levelStyles.debug.consoleMethod),
|
|
95
|
+
trace: makeConsoleLogFn('trace', levelStyles.trace.color, levelStyles.trace.consoleMethod),
|
|
96
|
+
// pino.silent() = no-op
|
|
97
|
+
silent: (() => { }),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=logger.console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.console.js","sourceRoot":"","sources":["../../src/logger.console.ts"],"names":[],"mappings":"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"}
|
package/dist/src/logger.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface ILogger {
|
|
|
8
8
|
trace: LogFn;
|
|
9
9
|
silent: LogFn;
|
|
10
10
|
}
|
|
11
|
-
interface LogFn {
|
|
11
|
+
export interface LogFn {
|
|
12
12
|
<T extends object>(obj: T, msg?: string, ...args: any[]): void;
|
|
13
13
|
(obj: unknown, msg?: string, ...args: any[]): void;
|
|
14
14
|
(msg: string, ...args: any[]): void;
|
package/dist/src/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAwBA,8BAA8B;AAC9B,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,KAAK,CAAA;CACd;AAED,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAwBA,8BAA8B;AAC9B,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,KAAK,CAAA;CACd;AAED,MAAM,WAAW,KAAK;IAEpB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC9D,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAClD,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;CACpC;AAED,cAAM,WAAW;IACf,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;IAEnC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIhC,IAAI,GAAG,IAAI,OAAO,CAKjB;CACF;AAED,eAAO,MAAM,WAAW,aAAoB,CAAA"}
|
|
@@ -4,6 +4,7 @@ export declare function mockPersistedEvent<E extends IEvent>(data: Omit<E, 'meta
|
|
|
4
4
|
export declare function mockPersistedEvents<E extends IEvent>(events: Omit<E, 'metadata'>[], revision: bigint): Persisted<E>[];
|
|
5
5
|
export declare class MockEventStore implements IEventStore {
|
|
6
6
|
protected _events: Map<string, IPersistedEvent[]>;
|
|
7
|
+
protected _position: bigint;
|
|
7
8
|
constructor(events?: Map<string, IEvent[]>);
|
|
8
9
|
saveEvents(streamName: string, events: IEvent[], eventRevision: EventRevision): Promise<SaveEventResult>;
|
|
9
10
|
deleteStream(streamName: string, eventRevision?: EventRevision): Promise<Result<void, ConcurrencyException>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mocks.d.ts","sourceRoot":"","sources":["../../src/types.mocks.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,oBAAoB,EAGpB,aAAa,EACb,MAAM,EACN,WAAW,EACX,eAAe,EAEf,SAAS,EACT,MAAM,EACN,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAKxE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EACzB,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,CAAC,CAAC,CAMd;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAC7B,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,CAAC,CAAC,EAAE,CAQhB;AAED,qBAAa,cAAe,YAAW,WAAW;IAChD,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.mocks.d.ts","sourceRoot":"","sources":["../../src/types.mocks.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,oBAAoB,EAGpB,aAAa,EACb,MAAM,EACN,WAAW,EACX,eAAe,EAEf,SAAS,EACT,MAAM,EACN,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAKxE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EACzB,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,CAAC,CAAC,CAMd;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAC7B,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,CAAC,CAAC,EAAE,CAQhB;AAED,qBAAa,cAAe,YAAW,WAAW;IAChD,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;IACjD,SAAS,CAAC,SAAS,EAAE,MAAM,CAAK;gBAEpB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAqBpC,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,eAAe,CAAC;IA+BrB,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IAwBxC,qBAAqB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACvD,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAgBxB,iCAAiC,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACnE,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAY9B,SAAS,IAAI,MAAM,EAAE;CAGtB"}
|
package/dist/src/types.mocks.js
CHANGED
|
@@ -45,6 +45,7 @@ export function mockPersistedEvents(events, revision) {
|
|
|
45
45
|
}
|
|
46
46
|
export class MockEventStore {
|
|
47
47
|
_events;
|
|
48
|
+
_position = 0n;
|
|
48
49
|
constructor(events) {
|
|
49
50
|
this._events = new Map();
|
|
50
51
|
if (events) {
|
|
@@ -57,6 +58,7 @@ export class MockEventStore {
|
|
|
57
58
|
id: 'Event:1',
|
|
58
59
|
...event,
|
|
59
60
|
revision: revision++,
|
|
61
|
+
position: this._position++,
|
|
60
62
|
});
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -85,7 +87,7 @@ export class MockEventStore {
|
|
|
85
87
|
}
|
|
86
88
|
for (const event of events) {
|
|
87
89
|
revision++;
|
|
88
|
-
commited.push({ id: 'Event:1', ...event, revision });
|
|
90
|
+
commited.push({ id: 'Event:1', ...event, revision, position: this._position++ });
|
|
89
91
|
}
|
|
90
92
|
return Ok({ nextExpectedRevision: revision });
|
|
91
93
|
}
|
|
@@ -170,8 +172,8 @@ if (import.meta.vitest) {
|
|
|
170
172
|
return;
|
|
171
173
|
const events = await store.getEventsForAggregate('test');
|
|
172
174
|
expect(events.length, 'should have 2 events saved').toEqual(2);
|
|
173
|
-
expect(events[0]).toEqual({ id: 'Event:1', ...event1, revision: 0n });
|
|
174
|
-
expect(events[1]).toEqual({ id: 'Event:1', ...event2, revision: 1n });
|
|
175
|
+
expect(events[0]).toEqual({ id: 'Event:1', ...event1, revision: 0n, position: 0n });
|
|
176
|
+
expect(events[1]).toEqual({ id: 'Event:1', ...event2, revision: 1n, position: 1n });
|
|
175
177
|
expect(res.value).toEqual({ nextExpectedRevision: 1n });
|
|
176
178
|
});
|
|
177
179
|
test('should assign an incrementing revision to events saved successively', async () => {
|
|
@@ -190,9 +192,9 @@ if (import.meta.vitest) {
|
|
|
190
192
|
}
|
|
191
193
|
const events = await store.getEventsForAggregate('test');
|
|
192
194
|
expect(events.length, 'should have 3 events saved').toEqual(3);
|
|
193
|
-
expect(events[0]).toEqual({ id: 'Event:1', ...event1, revision: 0n });
|
|
194
|
-
expect(events[1]).toEqual({ id: 'Event:1', ...event2, revision: 1n });
|
|
195
|
-
expect(events[2]).toEqual({ id: 'Event:1', ...event3, revision: 2n });
|
|
195
|
+
expect(events[0]).toEqual({ id: 'Event:1', ...event1, revision: 0n, position: 0n });
|
|
196
|
+
expect(events[1]).toEqual({ id: 'Event:1', ...event2, revision: 1n, position: 1n });
|
|
197
|
+
expect(events[2]).toEqual({ id: 'Event:1', ...event3, revision: 2n, position: 2n });
|
|
196
198
|
});
|
|
197
199
|
test.each([
|
|
198
200
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mocks.js","sourceRoot":"","sources":["../../src/types.mocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAEF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EACL,oBAAoB,EACpB,GAAG,EACH,sBAAsB,EAKtB,EAAE,GAIH,MAAM,YAAY,CAAA;AAEnB,MAAM,UAAU,SAAS,CAAmB,IAAyB;IACnE,OAAO;QACL,QAAQ,EAAE,YAAwC;QAClD,GAAG,IAAI,EAAE,iDAAiD;KACtD,CAAA;AACR,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAyB,EACzB,QAAgB;IAEhB,OAAO;QACL,EAAE,EAAE,SAAS;QACb,GAAG,SAAS,CAAC,IAAI,CAAC;QAClB,QAAQ;KACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAA6B,EAC7B,QAAgB;IAEhB,OAAO,MAAM,CAAC,GAAG,CACf,CAAC,IAAI,EAAgB,EAAE,CAAC,CAAC;QACvB,EAAE,EAAE,SAAS;QACb,GAAG,SAAS,CAAC,IAAI,CAAC;QAClB,QAAQ,EAAE,QAAQ,EAAE;KACrB,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,OAAO,cAAc;IACf,OAAO,CAAgC;
|
|
1
|
+
{"version":3,"file":"types.mocks.js","sourceRoot":"","sources":["../../src/types.mocks.ts"],"names":[],"mappings":"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"}
|