14 lines
606 B
TypeScript
14 lines
606 B
TypeScript
|
|
import { pipe, Option, Schema as S } from 'effect';
|
|
|
|
/** Actor describes something that generates events, like a container, network, or a volume. */
|
|
export const EventActor = S.Struct({
|
|
/** The ID of the object emitting the event */
|
|
ID: S.optional(S.String),
|
|
/** Various key/value attributes of the object, depending on its type. */
|
|
Attributes: S.optional(S.Record({ key: S.String, value: S.String })),
|
|
});
|
|
export type EventActor = S.Schema.Type<typeof EventActor>;
|
|
export const EventActorEncoded = S.encodedSchema(EventActor);
|
|
export type EventActorEncoded = S.Schema.Encoded<typeof EventActor>;
|