Home Reference Source Test
public class | source

Stream

Base class for handling a stream

Constructor Summary

Public Constructor
public

Creates an instance of Stream.

Member Summary

Public Members
public get

Gets id of stream

public

bunyan logger

public get

Return name of stream instance

Protected Members
protected

default read slice size

protected

eventstore instance

protected

stream options

protected

id of stream

Method Summary

Public Methods
public

async append(event: Event, expectedVersion: *, requireMaster: , credentials: UserCredentials): Promise

Append single event or array of events to stream

public

async createPersistentSubscription(subscriptionGroupName: , customConfig: {}, credentials: UserCredentials): Promise

Creates a persistent subscription for current stream This operation needs admin rights and a master connection

public

async getEventByNumber(eventNumber: Long | number, resolveLinks: , requireMaster: , credentials: UserCredentials): Promise

Get event at specified position from stream

public

async getFirstEvent(resolveLinks: , requireMaster: , credentials: UserCredentials): Promise

Returns first event from stream

public

async getLastEvent(resolveLinks: , requireMaster: , credentials: UserCredentials): Promise

Returns last event from stream

public

async getMetadata(requireMaster: , credentials: UserCredentials): Promise

Returns stream metadata if set or

public

getPersistentSubscription(subscriptionGroupName: , credentials: UserCredentials): PersistentSubscription

Returns a instance of persistance subscription given by group name

public

async hardDelete(expectedVersion: *, requireMaster: , credentials: UserCredentials): Promise

Hard deletes a stream - stream with same name can not be used in future

public

Indicates if given stream is a metadata stream or a regular steam

public

async readSliceBackward(fromEventNumber: number | Long, maxSliceCount: , resolveLinks: , requireMaster: , credentials: UserCredentials): Promise

Read a slice from stream in backward direction starting at given position

public

async readSliceForward(fromEventNumber: number | Long, maxSliceCount: , resolveLinks: , requireMaster: , credentials: UserCredentials): Promise

Read a slice from stream in forward direction starting at given position

public

Enforces to use master node for any read/write operation

public

Enforce to resolve links on read operations

public

async setMetadata(newMetadata: , requireMaster: , credentials: UserCredentials): Promise

Set metadata for stream

public

async softDelete(expectedVersion: *, requireMaster: , credentials: UserCredentials): Promise

Soft deletes a stream - stream with same name can be used in future and indexes are preserved

public

async startTransaction(expectedVersion: *, requireMaster: , credentials: UserCredentials): Promise

Creates a new instance of {Transaction} for current stream

public

async subscribe(resolveLinkTos: , credentials: UserCredentials): Promise

Subscribe to current stream and return a subscription

public

async walkStreamBackward(start: *, resolveLinkTos: , requireMaster: , credentials: UserCredentials): Promise

Walk through all events in stream backward

public

async walkStreamForward(start: *, resolveLinkTos: , requireMaster: , credentials: UserCredentials): Promise

Walk through all events in stream forward

public

Set credentials for any read/write operation

Protected Methods
protected

appendEvents(events: , expectedVersion: ExpectedVersion | number | Long, requireMaster: , credentials: UserCredentials): Promise

Appends array of events to stream

protected

delete(hardDelete: , expectedVersion: ExpectedVersion, requireMaster: , credentials: UserCredentials): Promise

Delete a stream - can't be called directly Use softDelete or hardDelete instead

protected

async readSlice(direction: EventstoreCommand, fromEventNumber: number | Long, maxSliceCount: , resolveLinks: , requireMaster: , credentials: UserCredentials): Promise

Reads a slice from current stream in given direction starting at given position

protected

async walkStream(forward: , start: Long | number, resolveLinks: , requireMaster: , credentials: UserCredentials): Promise

Walk through all events of stream

Public Constructors

public constructor() source

Creates an instance of Stream.

Public Members

public get id: string source

Gets id of stream

public log: bunyan source

bunyan logger

public get name: string source

Return name of stream instance

Protected Members

protected defaultSliceSize: number source

default read slice size

protected esConnection: Eventstore source

eventstore instance

protected options: StreamOptions source

stream options

protected streamId: string source

id of stream

Public Methods

public async append(event: Event, expectedVersion: *, requireMaster: , credentials: UserCredentials): Promise source

Append single event or array of events to stream

Params:

NameTypeAttributeDescription
event Event
expectedVersion *
  • optional
requireMaster
credentials UserCredentials

public async createPersistentSubscription(subscriptionGroupName: , customConfig: {}, credentials: UserCredentials): Promise source

Creates a persistent subscription for current stream This operation needs admin rights and a master connection

Params:

NameTypeAttributeDescription
subscriptionGroupName
customConfig {}
  • optional
  • default: {}
credentials UserCredentials

public async getEventByNumber(eventNumber: Long | number, resolveLinks: , requireMaster: , credentials: UserCredentials): Promise source

Get event at specified position from stream

Params:

NameTypeAttributeDescription
eventNumber Long | number
resolveLinks
requireMaster
credentials UserCredentials

public async getFirstEvent(resolveLinks: , requireMaster: , credentials: UserCredentials): Promise source

Returns first event from stream

Params:

NameTypeAttributeDescription
resolveLinks
requireMaster
credentials UserCredentials

public async getLastEvent(resolveLinks: , requireMaster: , credentials: UserCredentials): Promise source

Returns last event from stream

Params:

NameTypeAttributeDescription
resolveLinks
requireMaster
credentials UserCredentials

public async getMetadata(requireMaster: , credentials: UserCredentials): Promise source

Returns stream metadata if set or

Params:

NameTypeAttributeDescription
requireMaster
credentials UserCredentials

public getPersistentSubscription(subscriptionGroupName: , credentials: UserCredentials): PersistentSubscription source

Returns a instance of persistance subscription given by group name

Params:

NameTypeAttributeDescription
subscriptionGroupName
credentials UserCredentials

public async hardDelete(expectedVersion: *, requireMaster: , credentials: UserCredentials): Promise source

Hard deletes a stream - stream with same name can not be used in future

Params:

NameTypeAttributeDescription
expectedVersion *
  • optional
requireMaster
credentials UserCredentials

public isMetaStream(): boolean source

Indicates if given stream is a metadata stream or a regular steam

public async readSliceBackward(fromEventNumber: number | Long, maxSliceCount: , resolveLinks: , requireMaster: , credentials: UserCredentials): Promise source

Read a slice from stream in backward direction starting at given position

Params:

NameTypeAttributeDescription
fromEventNumber number | Long
maxSliceCount
resolveLinks
requireMaster
credentials UserCredentials

public async readSliceForward(fromEventNumber: number | Long, maxSliceCount: , resolveLinks: , requireMaster: , credentials: UserCredentials): Promise source

Read a slice from stream in forward direction starting at given position

Params:

NameTypeAttributeDescription
fromEventNumber number | Long
maxSliceCount
resolveLinks
requireMaster
credentials UserCredentials

public requiresMaster(): Stream source

Enforces to use master node for any read/write operation

Enforce to resolve links on read operations

public async setMetadata(newMetadata: , requireMaster: , credentials: UserCredentials): Promise source

Set metadata for stream

Params:

NameTypeAttributeDescription
newMetadata
requireMaster
credentials UserCredentials

public async softDelete(expectedVersion: *, requireMaster: , credentials: UserCredentials): Promise source

Soft deletes a stream - stream with same name can be used in future and indexes are preserved

Params:

NameTypeAttributeDescription
expectedVersion *
  • optional
requireMaster
credentials UserCredentials

public async startTransaction(expectedVersion: *, requireMaster: , credentials: UserCredentials): Promise source

Creates a new instance of {Transaction} for current stream

Params:

NameTypeAttributeDescription
expectedVersion *
  • optional
requireMaster
credentials UserCredentials

public async subscribe(resolveLinkTos: , credentials: UserCredentials): Promise source

Subscribe to current stream and return a subscription

Params:

NameTypeAttributeDescription
resolveLinkTos
credentials UserCredentials

public async walkStreamBackward(start: *, resolveLinkTos: , requireMaster: , credentials: UserCredentials): Promise source

Walk through all events in stream backward

Params:

NameTypeAttributeDescription
start *
  • optional
resolveLinkTos
requireMaster
credentials UserCredentials

public async walkStreamForward(start: *, resolveLinkTos: , requireMaster: , credentials: UserCredentials): Promise source

Walk through all events in stream forward

Params:

NameTypeAttributeDescription
start *
  • optional
resolveLinkTos
requireMaster
credentials UserCredentials

public withCredentials(credentials: UserCredentials): Stream source

Set credentials for any read/write operation

Params:

NameTypeAttributeDescription
credentials UserCredentials

Protected Methods

protected appendEvents(events: , expectedVersion: ExpectedVersion | number | Long, requireMaster: , credentials: UserCredentials): Promise source

Appends array of events to stream

Params:

NameTypeAttributeDescription
events
expectedVersion ExpectedVersion | number | Long
requireMaster
credentials UserCredentials

protected delete(hardDelete: , expectedVersion: ExpectedVersion, requireMaster: , credentials: UserCredentials): Promise source

Delete a stream - can't be called directly Use softDelete or hardDelete instead

Params:

NameTypeAttributeDescription
hardDelete
expectedVersion ExpectedVersion
requireMaster
credentials UserCredentials

protected async readSlice(direction: EventstoreCommand, fromEventNumber: number | Long, maxSliceCount: , resolveLinks: , requireMaster: , credentials: UserCredentials): Promise source

Reads a slice from current stream in given direction starting at given position

Params:

NameTypeAttributeDescription
direction EventstoreCommand
fromEventNumber number | Long
maxSliceCount
resolveLinks
requireMaster
credentials UserCredentials

protected async walkStream(forward: , start: Long | number, resolveLinks: , requireMaster: , credentials: UserCredentials): Promise source

Walk through all events of stream

Params:

NameTypeAttributeDescription
forward
start Long | number
resolveLinks
requireMaster
credentials UserCredentials