gC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(C) 2016 Yorick Laupa(see the file LICENSE)!Yorick Laupa <yo.eight@gmail.com> provisional non-portableNone<K&"BRepresents the different kind of failure you can get when reading.+Statuses you can get on every read attempt.The purpose of a is to make sure a certain stream state is at an expected point in order to carry out a write. Decodes an  into a data object.Encodes a data object into an .  get passed an (& in a case where a fresh id is needed.-Represents batch of events read from a store.6Represents an event that's saved into the event store.&Represents an event index in a stream.1Encapsulates an event which is about to be saved.$ Used to identity the type of an .&Represents a stream name.(Used to identify an event.*?Used to store a set a properties. One example is to be used as  metadata.,!Sometimes, having to implement a $ instance isn't flexible enough. ,W allow to pass parameters when parsing from a JSON value while remaining composable..(Opaque data type used to store raw data.1Returns . content as a .2 Creates a . object from a raw .3 Creates a . object from a JSON object.4Returns .& content as any value that implements  type-class.5Uses a ,! comuputation to extract a value.6Like 5 but doesn't require you to use ,.70Retrieves a value associated with the given key.8 Builds a *! with a single pair of key-value.9$Adds a pair of key-value into given *.:1Returns all associated key-value pairs as a list.;Generates a fresh (.<Sets $ for an .=Sets Eventid for an .>Sets a payload for an .?Sets metadata for an .@Deserializes a .ADeserializes a Slice' s events.BReturns  is  is a .CReturns  is  is a .D  #"! $%&'()*+,-.0/123456789:;<=>?@ABCY./0D,-GFE123456*+KJIH789:()NML;&'PO$%RQ<=>? !"#@A UST BCXWV   !"#$%&'()*+,-./0(C) 2016 Yorick Laupa(see the file LICENSE)!Yorick Laupa <yo.eight@gmail.com> provisional non-portableNone<CQV]M q0Allows to easily iterate over a stream's events.s/Represents failures that can occurs when using .v/Utility type to pass any store that implements x typeclass.x\Main event store abstraction. It exposes essential features expected from an event store.y1Appends a batch of events at the end of a stream.z1Appends a batch of events at the end of a stream.{Subscribes to given stream.|"Encapsulates to an abstract store.JA subscription allows to be notified on every change occuring on a stream.Represents a subscription id.5Represents batch information needed to read a stream. Starts a G from a given point. The batch size is set to default, which is 500. Returns a fresh subscription id.7Waits for the next event and deserializes it on the go.`Folds over every event coming from the subscription until the end of the universe, unless an " raises from the subscription. M is used because we let the underlying subscription model exposed its own r. If the callback that handles incoming events throws an exception, it will not be catch by the error callback.Asynchronous version of . Similar to  but provides access to the  instead of decoded event.Asynchronous version of ..Appends a single event at the end of a stream.KIterates over all events of stream given a starting point and a batch size.bIterates over all events of stream given a starting point and a batch size. It also passes the  at each recursion step.Like ! but expose signature similar to foldM.Like ! but expose signature similar to foldM and also passes the  at each recursion step.Like ! but expose signature similar to .Like  but provides access to  instead of decoded event.Like ! but expose signature similar to foldM.Like ! but expose signature similar to .Throws an exception in case  was a .(Reads the next available event from the q/ and try to deserialize it at the same time.Reads all events from the q until reaching end of stream.Like 4 but try to deserialize the events at the same time. Returns a q, for the given stream name. The returned q IS NOT THREADSAFE..qrstuvwxyz{|}~/}~xyz{|vwqrrstu qrstuvwxyz{|}~(C) 2016 Yorick Laupa(see the file LICENSE)!Yorick Laupa <yo.eight@gmail.com> provisional non-portableNoneQr  !"#$%&'()*+,-./0123456789:;<=>?@ABCqrstuvwxyz{|}~(C) 2017 Yorick Laupa(see the file LICENSE)!Yorick Laupa <yo.eight@gmail.com> experimental non-portableNone &'<FQTV$vHolds an existantially quantified action so it can passed around easily to aggregate's internal concurrent channel.A stream aggregate. An aggregate updates its internal based on the event it receives. You can read its current state by using '. If it supports validation, through  Validated typeclass, it can receive command and emits an event if the command was successful. Otherwise, it will yield an error. When receiving valid command, an aggregate will persist the resulting event. An aggregate is only responsible of its own stream.Aggregate internal state.`Expected version of the next write. This isn't expose to user and it's updated automatically.Aggregate current state.Aggregate internal environment.Handle to an eventstore. Identification of the aggregate.1An action configured to aggregate internal types.MInternal aggregate action. An action is executed by an aggregate. An action embodies fundamental operations like submitting event, validating command or returning the current snapshot of an aggregate. Action are CPS-ed encoded so the execution model can be flexible. An action can perform synchronously or asynchronously.Represents an aggregate that support validation. An aggregate that supports validation can receive command and decide if it was valid or not. When the validation is successful, The aggregate emits an event that will be persisted and pass to  function.+Type of command supported by the aggregate.'Type of error that aggregate can yield.xValidates a command. If the command validation succeeds, it will emits an event. Otherwise, it will returns an error.When validating a command, tells if the command was valid. If the command is valid, it returns an event. Otherwise, it returns an error.Represents a stream aggregate. An aggregate can rebuild its internal state by replaying all the stream's events that aggregate is responsible for.+Type of the id associated to the aggregate.'Type of event handled by the aggregate.*Type of monad stack used by the aggregate.[Given current aggregate state, updates it according to the event the aggregate receives.Maps an id to a &.Returns an action environment. Returns an action current state.Set an action state.Returns an aggregate id.#Executes an action on an aggregate.RCreates a new aggregate given an eventstore handle, an id and an initial state.TCreates an aggregate and replays its entire stream to rebuild its internal state.Like  but call  in case of s error.Submits a command to the aggregate. If the command was valid, it returns an event otherwise an error. In case of a valid command, the aggregate persist the resulting event to the eventstore. The aggregate will also update its internal state accordingly.KSubmits an event. The aggregate will update its internal state accondingly. Returns current aggregate state.uUses usually by Root aggregates which usually have unusual workflow and make great use of a CPS-ed computation. Dhttp://blog.sapiensworks.com/post/2016/07/14/DDD-Aggregate-Decoded-1Executes an action.$Persists an event to the eventstore. Closes internal aggregate state.(((C) 2017 Yorick Laupa(see the file LICENSE)!Yorick Laupa <yo.eight@gmail.com> experimental non-portableNone>?AFTQRepresents an aggregate that support validation. An aggregate that supports validation can receive command and decide if it was valid or not. When the validation is successful, The aggregate emits an event that will be persisted and pass to apply function.xValidates a command. If the command validation succeeds, it will emits an event. Otherwise, it will returns an error.Represents a stream aggregate. An aggregate can rebuild its internal state by replaying all the stream's events that aggregate is responsible for.[Given current aggregate state, updates it according to the event the aggregate receives.A stream aggregate. An aggregate updates its internal based on the event it receives. You can read its current state by using (. If it supports validation, through  Validated typeclass, it can receive command and emits an event if the command was successful. Otherwise, it will yield an error. When receiving valid command, an aggregate will persist the resulting event. An aggregate is only responsible of its own stream.Simple aggregate abstraction.RCreates a new aggregate given an eventstore handle, an id and an initial state.TCreates an aggregate and replays its entire stream to rebuild its internal state.Like  but call  in case of s error.Submits a command to the aggregate. If the command was valid, it returns an event otherwise an error. In case of a valid command, the aggregate persist the resulting event to the eventstore. The aggregate will also update its internal state accordingly.KSubmits an event. The aggregate will update its internal state accondingly. Returns current aggregate state. Closes internal aggregate state.uUses usually by Root aggregates which usually have unusual workflow and make great use of a CPS-ed computation. Dhttp://blog.sapiensworks.com/post/2016/07/14/DDD-Aggregate-Decoded-1Safe       !"#$%%&&''(())**+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqqrstuvwwxyzz{|}~~l},eventsource-api-1.3.0-Bvu6n02lpGNFGkbCfpFjI6EventSource.TypesEventSource.StoreEventSource.AggregateEventSource.Aggregate.Simple EventSourcePaths_eventsource_api ReadFailureStreamNotFound ReadError AccessDenied ReadStatus ReadSuccessExpectedVersion AnyVersionNoStream StreamExists ExactVersionDecodeEventException DecodeEvent decodeEvent EncodeEvent encodeEventSlice sliceEventssliceEndOfStreamsliceNextEventNumber SavedEvent eventNumber savedEvent linkEvent EventNumberEvent eventTypeeventId eventPayload eventMetadata EventType StreamNameEventId Properties JsonParsingData DataAsJson dataAsBytes dataFromBytes dataFromJson dataAsJson dataAsParsing dataAsParseproperty singleton setProperty properties freshEventId setEventType setEventIdsetEventPayloadsetEventMetadata savedEventAs sliceEventsAs isReadSuccess isReadFailure $fShowData$fMonadJsonParsing$fApplicativeJsonParsing$fFunctorJsonParsing$fFromJSONProperties$fToJSONProperties$fShowProperties$fMonoidProperties $fShowEventId$fFromJSONEventId$fToJSONEventId$fIsStringStreamName$fShowStreamName$fIsStringEventType$fShowEventType$fEncodeEventEvent$fDecodeEventEvent$fExceptionDecodeEventException$fTraversableReadStatus$fFoldableReadStatus$fFunctorReadStatus $fEqEventId $fOrdEventId$fEqStreamName$fOrdStreamName$fToJSONStreamName$fFromJSONStreamName $fEqEventType$fToJSONEventType$fFromJSONEventType $fShowEvent$fEqEventNumber$fOrdEventNumber$fNumEventNumber$fEnumEventNumber$fShowEventNumber$fFromJSONEventNumber$fToJSONEventNumber$fShowSavedEvent $fShowSlice$fShowDecodeEventException$fShowExpectedVersion$fEqExpectedVersion$fShowReadFailure$fShowReadStatusStreamIterator iteratorNextForEventFailureForEventReadFailureForEventDecodeFailure SomeStoreStore appendEvents readBatch subscribetoStoreExpectedVersionExceptionversionExceptionExpectedversionExceptionActual SubscriptionsubscriptionId nextEventSubscriptionIdBatch batchFrom batchSize startFromfreshSubscriptionId nextEventAsfoldSub foldSubAsync foldSubSavedfoldSubSavedAsync appendEvent forEventsforEventsWithNumber foldEventsMfoldEventsWithNumberM foldEventsforSavedEventsfoldSavedEventsMfoldSavedEvents unhandlediteratorNextEventiteratorReadAlliteratorReadAllEventsstreamIterator#$fExceptionExpectedVersionException$fStoreSomeStore$fExceptionForEventFailure$fShowStreamIterator$fEqSubscriptionId$fOrdSubscriptionId$fShowSubscriptionId$fShowExpectedVersionException$fShowForEventFailureAggAggStateaggStateVersionaggStateAggEnv aggEnvStoreaggEnvIdActionAction' runActionValidateCmdErrvalidateDecision AggregateIdEvtMapplyStreamId toStreamNameaskEnvgetStateputStateaggIdrunAggnewAggloadAggloadOrCreateAgg submitCmd submitEvtsnapshotrouteexecutepersistcloseAgg$fMonadTransAction'$fMonadAction'$fApplicativeAction'$fFunctorAction' ValidateIO validateIO AggregateIOapplyIOAggIOSimple$fAggregateSimple$fValidateSimple$aeson-1.2.4.0-BCbjHKPmbhgK9ldqys4mc6Data.Aeson.Types.FromJSONFromJSONbytestring-0.10.8.2Data.ByteString.Internal ByteStringghc-prim GHC.TypesTrueFalsebase GHC.Exception Exception SomeException Data.Foldablefoldltransformers-0.5.2.0Control.Monad.Trans.ExceptExceptT Data.EitherLeftIteratorOverActionIteratorOverEventIteratorOverNextBatchIteratorOverEndOfStreamIteratorOverStateIteratorOverAvailableIteratorOverClosedMsgversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName