0.2.1 • Published 2 years ago
rescript-event-gateway v0.2.1
rescript-event-store
event-store-gateway abstract module for rescript
API
EventGateway.resi
module type Event = {
  type event
  let parseUnknown: unknown => option<event>
}
type eventRecord<'e> = {
  id: int,
  val: 'e,
  timestamp: float,
}
module type EventGateway = {
  type event
  let createTableIfNotExist: unit => result<unit, exn>
  let dropTableIfExist: unit => result<unit, exn>
  let getEvents: (int, option<int>, option<float>) => result<array<eventRecord<event>>, exn>
  let insertEvent: event => result<int, exn>
}JsonRecordEventGateway.resi
open EventGateway
module type JsonRecordConf = {
  let fileName: string
}
module type MakeJsonRecordEventGateway = (Event: Event, JsonRecordConf: JsonRecordConf) =>
(EventGateway with type event = Event.event)
module MakeJsonRecordEventGateway: MakeJsonRecordEventGatewayAuthor
Anatoly Starodubtsev tostar74@mail.ru
License
MIT