feat: pretty build output
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@valkyr/event-store",
|
||||
"version": "2.0.0",
|
||||
"version": "2.0.1",
|
||||
"exports": {
|
||||
".": "./mod.ts",
|
||||
"./browser": "./adapters/browser/adapter.ts",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import z, { ZodType } from "zod";
|
||||
|
||||
import { Prettify } from "../types/utilities.ts";
|
||||
import { EventValidationError } from "./errors.ts";
|
||||
import { getLogicalTimestamp } from "./time.ts";
|
||||
import { toPrettyErrorLines } from "./zod.ts";
|
||||
@@ -16,7 +17,7 @@ export class Event<TEventState extends EventState = EventState> {
|
||||
*
|
||||
* @param data - Schema used to parse and infer the data supported by the event.
|
||||
*/
|
||||
data<TData extends ZodType>(data: TData): Event<Omit<TEventState, "data"> & { data: TData }> {
|
||||
data<TData extends ZodType>(data: TData): Event<Prettify<Omit<TEventState, "data"> & { data: TData }>> {
|
||||
return new Event<Omit<TEventState, "data"> & { data: TData }>({ ...this.state, data });
|
||||
}
|
||||
|
||||
@@ -26,7 +27,7 @@ export class Event<TEventState extends EventState = EventState> {
|
||||
*
|
||||
* @param meta - Schema used to parse and infer the meta supported by the event.
|
||||
*/
|
||||
meta<TMeta extends ZodType>(meta: TMeta): Event<Omit<TEventState, "meta"> & { meta: TMeta }> {
|
||||
meta<TMeta extends ZodType>(meta: TMeta): Event<Prettify<Omit<TEventState, "meta"> & { meta: TMeta }>> {
|
||||
return new Event<Omit<TEventState, "meta"> & { meta: TMeta }>({ ...this.state, meta });
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { AggregateRoot } from "../../libraries/aggregate.ts";
|
||||
import { Events } from "./events.ts";
|
||||
import { EventRecord, Events } from "./events.ts";
|
||||
|
||||
export class User extends AggregateRoot<Events> {
|
||||
static override readonly name = "user";
|
||||
@@ -19,7 +19,7 @@ export class User extends AggregateRoot<Events> {
|
||||
// Reducer
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
with(event: Events["$events"][number]["$record"]) {
|
||||
with(event: EventRecord) {
|
||||
switch (event.type) {
|
||||
case "user:name:given-set": {
|
||||
this.name.given = event.data;
|
||||
|
||||
@@ -2,6 +2,7 @@ import z from "zod";
|
||||
|
||||
import { event } from "../../libraries/event.ts";
|
||||
import { EventFactory } from "../../libraries/event-factory.ts";
|
||||
import { Prettify } from "../../types/utilities.ts";
|
||||
|
||||
export const auditor = z.strictObject({ auditor: z.string() });
|
||||
|
||||
@@ -33,3 +34,5 @@ export const events = new EventFactory([
|
||||
]);
|
||||
|
||||
export type Events = typeof events;
|
||||
|
||||
export type EventRecord = Prettify<Events["$events"][number]["$record"]>;
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import type { Empty } from "./common.ts";
|
||||
|
||||
export type Prettify<T> = {
|
||||
[K in keyof T]: T[K];
|
||||
} & {};
|
||||
|
||||
export type ExcludeEmptyFields<T> = {
|
||||
[K in keyof T as T[K] extends Empty ? never : K]: T[K];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user