Adding start/end as static Position
Add the streamPosition constants Move Projections into the expose classes section Version 0.2.2
This commit is contained in:
		
							
								
								
									
										135
									
								
								index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										135
									
								
								index.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -1,14 +1,15 @@
 | 
				
			|||||||
/// <reference types="node" />
 | 
					/// <reference types="node" />
 | 
				
			||||||
/// <reference types="Long" />
 | 
					/// <reference types="Long" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Expose classes
 | 
				
			||||||
export class Position {
 | 
					export class Position {
 | 
				
			||||||
    constructor(commitPosition: number|Long, preparePosition: number|Long);
 | 
					    constructor(commitPosition: number|Long, preparePosition: number|Long);
 | 
				
			||||||
    readonly commitPosition: Long;
 | 
					    readonly commitPosition: Long;
 | 
				
			||||||
    readonly preparePosition: Long;
 | 
					    readonly preparePosition: Long;
 | 
				
			||||||
 | 
					    static readonly start: number;
 | 
				
			||||||
 | 
					    static readonly end: number;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Expose classes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export class UserCredentials {
 | 
					export class UserCredentials {
 | 
				
			||||||
    constructor(username: string, password: string);
 | 
					    constructor(username: string, password: string);
 | 
				
			||||||
    readonly username: string;
 | 
					    readonly username: string;
 | 
				
			||||||
@@ -35,6 +36,57 @@ export class GossipSeed {
 | 
				
			|||||||
    readonly hostHeader: string;
 | 
					    readonly hostHeader: string;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface ProjectionDetails {
 | 
				
			||||||
 | 
					    readonly coreProcessingTime: number,
 | 
				
			||||||
 | 
					    readonly version: number,
 | 
				
			||||||
 | 
					    readonly epoch: number,
 | 
				
			||||||
 | 
					    readonly effectiveName: string,
 | 
				
			||||||
 | 
					    readonly writesInProgress: number,
 | 
				
			||||||
 | 
					    readonly readsInProgress: number,
 | 
				
			||||||
 | 
					    readonly partitionsCached: number,
 | 
				
			||||||
 | 
					    readonly status: string,
 | 
				
			||||||
 | 
					    readonly stateReason: string,
 | 
				
			||||||
 | 
					    readonly name: string,
 | 
				
			||||||
 | 
					    readonly mode: string,
 | 
				
			||||||
 | 
					    readonly position: string,
 | 
				
			||||||
 | 
					    readonly progress: number,
 | 
				
			||||||
 | 
					    readonly lastCheckpoint: string,
 | 
				
			||||||
 | 
					    readonly eventsProcessedAfterRestart: number,
 | 
				
			||||||
 | 
					    readonly statusUrl: string,
 | 
				
			||||||
 | 
					    readonly stateUrl: string,
 | 
				
			||||||
 | 
					    readonly resultUrl: string,
 | 
				
			||||||
 | 
					    readonly queryUrl: string,
 | 
				
			||||||
 | 
					    readonly enableCommandUrl: string,
 | 
				
			||||||
 | 
					    readonly disableCommandUrl: string,
 | 
				
			||||||
 | 
					    readonly checkpointStatus: string,
 | 
				
			||||||
 | 
					    readonly bufferedEvents: number,
 | 
				
			||||||
 | 
					    readonly writePendingEventsBeforeCheckpoint: number,
 | 
				
			||||||
 | 
					    readonly writePendingEventsAfterCheckpoint: number
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export class ProjectionsManager {
 | 
				
			||||||
 | 
					    constructor(log: Logger, httpEndPoint: string, operationTimeout: number);
 | 
				
			||||||
 | 
					    enable(name: string, userCredentials: UserCredentials): Promise<void>;
 | 
				
			||||||
 | 
					    disable(name: string, userCredentials: UserCredentials): Promise<void>;
 | 
				
			||||||
 | 
					    abort(name: string, userCredentials: UserCredentials): Promise<void>;
 | 
				
			||||||
 | 
					    createOneTime(query: string, userCredentials: UserCredentials): Promise<void>;
 | 
				
			||||||
 | 
					    createTransient(name: string, query: string, userCredentials: UserCredentials): Promise<void>;
 | 
				
			||||||
 | 
					    createContinuous(name: string, query: string, trackEmittedStreams: boolean, userCredentials: UserCredentials): Promise<void>;
 | 
				
			||||||
 | 
					    listAll(userCredentials: UserCredentials): Promise<ProjectionDetails[]>;
 | 
				
			||||||
 | 
					    listOneTime(userCredentials: UserCredentials): Promise<ProjectionDetails[]>;
 | 
				
			||||||
 | 
					    listContinuous(userCredentials: UserCredentials): Promise<ProjectionDetails[]>;
 | 
				
			||||||
 | 
					    getStatus(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
				
			||||||
 | 
					    getState(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
				
			||||||
 | 
					    getPartitionState(name: string, partitionId: string, userCredentials: UserCredentials): Promise<string>;
 | 
				
			||||||
 | 
					    getResult(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
				
			||||||
 | 
					    getPartitionResult(name: string, partitionId: string, userCredentials: UserCredentials): Promise<string>;
 | 
				
			||||||
 | 
					    getStatistics(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
				
			||||||
 | 
					    getQuery(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
				
			||||||
 | 
					    getState(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
				
			||||||
 | 
					    updateQuery(name: string, query: string, userCredentials: UserCredentials): Promise<void>;
 | 
				
			||||||
 | 
					    deleteQuery(name: string, deleteEmittedStreams: boolean, userCredentials: UserCredentials): Promise<void>;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Expose errors
 | 
					// Expose errors
 | 
				
			||||||
export class WrongExpectedVersionError {
 | 
					export class WrongExpectedVersionError {
 | 
				
			||||||
    readonly name: string;
 | 
					    readonly name: string;
 | 
				
			||||||
@@ -59,8 +111,12 @@ export class AccessDeniedError {
 | 
				
			|||||||
    readonly transactionId?: Long;
 | 
					    readonly transactionId?: Long;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Expose enums/constants
 | 
					export class ProjectionCommandFailedError {
 | 
				
			||||||
 | 
					    readonly httpStatusCode: number;
 | 
				
			||||||
 | 
					    readonly message: string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Expose enums/constants
 | 
				
			||||||
export namespace expectedVersion {
 | 
					export namespace expectedVersion {
 | 
				
			||||||
    const any: number;
 | 
					    const any: number;
 | 
				
			||||||
    const noStream: number;
 | 
					    const noStream: number;
 | 
				
			||||||
@@ -72,12 +128,17 @@ export namespace positions {
 | 
				
			|||||||
    const end: Position;
 | 
					    const end: Position;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export namespace streamPosition {
 | 
				
			||||||
 | 
					    const start: number;
 | 
				
			||||||
 | 
					    const end: number;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//TODO
 | 
				
			||||||
// systemMetadata
 | 
					// systemMetadata
 | 
				
			||||||
// eventReadStatus
 | 
					// eventReadStatus
 | 
				
			||||||
// sliceReadStatus
 | 
					// sliceReadStatus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Expose loggers
 | 
					// Expose loggers
 | 
				
			||||||
 | 
					 | 
				
			||||||
export interface Logger {
 | 
					export interface Logger {
 | 
				
			||||||
    debug(fmt: string, ...args: any[]): void;
 | 
					    debug(fmt: string, ...args: any[]): void;
 | 
				
			||||||
    info(fmt: string, ...args: any[]): void;
 | 
					    info(fmt: string, ...args: any[]): void;
 | 
				
			||||||
@@ -228,12 +289,12 @@ export interface TcpEndPoint {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface HeartbeatInfo {
 | 
					export interface HeartbeatInfo {
 | 
				
			||||||
    connectionId: string;
 | 
					    readonly connectionId: string;
 | 
				
			||||||
    remoteEndPoint: TcpEndPoint;
 | 
					    readonly remoteEndPoint: TcpEndPoint;
 | 
				
			||||||
    requestSentAt: number;
 | 
					    readonly requestSentAt: number;
 | 
				
			||||||
    requestPkgNumber: number;
 | 
					    readonly requestPkgNumber: number;
 | 
				
			||||||
    responseReceivedAt: number;
 | 
					    readonly responseReceivedAt: number;
 | 
				
			||||||
    responsePkgNumber: number;
 | 
					    readonly responsePkgNumber: number;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface EventData {
 | 
					export interface EventData {
 | 
				
			||||||
@@ -277,7 +338,6 @@ export interface EventStoreNodeConnection {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Expose helper functions
 | 
					// Expose helper functions
 | 
				
			||||||
 | 
					 | 
				
			||||||
export interface ConnectionSettings {
 | 
					export interface ConnectionSettings {
 | 
				
			||||||
    log?: Logger,
 | 
					    log?: Logger,
 | 
				
			||||||
    verboseLogging?: boolean,
 | 
					    verboseLogging?: boolean,
 | 
				
			||||||
@@ -310,58 +370,7 @@ export interface ConnectionSettings {
 | 
				
			|||||||
    gossipTimeout?: number
 | 
					    gossipTimeout?: number
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Expose Helper functions
 | 
				
			||||||
export function createConnection(settings: ConnectionSettings, endPointOrGossipSeed: string | TcpEndPoint | GossipSeed[], connectionName?: string): EventStoreNodeConnection;
 | 
					export function createConnection(settings: ConnectionSettings, endPointOrGossipSeed: string | TcpEndPoint | GossipSeed[], connectionName?: string): EventStoreNodeConnection;
 | 
				
			||||||
export function createJsonEventData(eventId: string, event: any, metadata?: any, type?: string): EventData;
 | 
					export function createJsonEventData(eventId: string, event: any, metadata?: any, type?: string): EventData;
 | 
				
			||||||
export function createEventData(eventId: string, type: string, isJson: boolean, data: Buffer, metadata?: Buffer): EventData;
 | 
					export function createEventData(eventId: string, type: string, isJson: boolean, data: Buffer, metadata?: Buffer): EventData;
 | 
				
			||||||
 | 
					 | 
				
			||||||
// Projections
 | 
					 | 
				
			||||||
export interface ProjectionDetails {
 | 
					 | 
				
			||||||
    coreProcessingTime: number,
 | 
					 | 
				
			||||||
    version: number,
 | 
					 | 
				
			||||||
    epoch: number,
 | 
					 | 
				
			||||||
    effectiveName: string,
 | 
					 | 
				
			||||||
    writesInProgress: number,
 | 
					 | 
				
			||||||
    readsInProgress: number,
 | 
					 | 
				
			||||||
    partitionsCached: number,
 | 
					 | 
				
			||||||
    status: string,
 | 
					 | 
				
			||||||
    stateReason: string,
 | 
					 | 
				
			||||||
    name: string,
 | 
					 | 
				
			||||||
    mode: string,
 | 
					 | 
				
			||||||
    position: string,
 | 
					 | 
				
			||||||
    progress: number,
 | 
					 | 
				
			||||||
    lastCheckpoint: string,
 | 
					 | 
				
			||||||
    eventsProcessedAfterRestart: number,
 | 
					 | 
				
			||||||
    statusUrl: string,
 | 
					 | 
				
			||||||
    stateUrl: string,
 | 
					 | 
				
			||||||
    resultUrl: string,
 | 
					 | 
				
			||||||
    queryUrl: string,
 | 
					 | 
				
			||||||
    enableCommandUrl: string,
 | 
					 | 
				
			||||||
    disableCommandUrl: string,
 | 
					 | 
				
			||||||
    checkpointStatus: string,
 | 
					 | 
				
			||||||
    bufferedEvents: number,
 | 
					 | 
				
			||||||
    writePendingEventsBeforeCheckpoint: number,
 | 
					 | 
				
			||||||
    writePendingEventsAfterCheckpoint: number
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export class ProjectionsManager {
 | 
					 | 
				
			||||||
    constructor(log: Logger, httpEndPoint: string, operationTimeout: number);
 | 
					 | 
				
			||||||
    enable(name: string, userCredentials: UserCredentials): Promise<void>;
 | 
					 | 
				
			||||||
    disable(name: string, userCredentials: UserCredentials): Promise<void>;
 | 
					 | 
				
			||||||
    abort(name: string, userCredentials: UserCredentials): Promise<void>;
 | 
					 | 
				
			||||||
    createOneTime(query: string, userCredentials: UserCredentials): Promise<void>;
 | 
					 | 
				
			||||||
    createTransient(name: string, query: string, userCredentials: UserCredentials): Promise<void>;
 | 
					 | 
				
			||||||
    createContinuous(name: string, query: string, trackEmittedStreams: boolean, userCredentials: UserCredentials): Promise<void>;
 | 
					 | 
				
			||||||
    listAll(userCredentials: UserCredentials): Promise<ProjectionDetails[]>;
 | 
					 | 
				
			||||||
    listOneTime(userCredentials: UserCredentials): Promise<ProjectionDetails[]>;
 | 
					 | 
				
			||||||
    listContinuous(userCredentials: UserCredentials): Promise<ProjectionDetails[]>;
 | 
					 | 
				
			||||||
    getStatus(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
					 | 
				
			||||||
    getState(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
					 | 
				
			||||||
    getPartitionState(name: string, partitionId: string, userCredentials: UserCredentials): Promise<string>;
 | 
					 | 
				
			||||||
    getResult(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
					 | 
				
			||||||
    getPartitionResult(name: string, partitionId: string, userCredentials: UserCredentials): Promise<string>;
 | 
					 | 
				
			||||||
    getStatistics(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
					 | 
				
			||||||
    getQuery(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
					 | 
				
			||||||
    getState(name: string, userCredentials: UserCredentials): Promise<string>;
 | 
					 | 
				
			||||||
    updateQuery(name: string, query: string, userCredentials: UserCredentials): Promise<void>;
 | 
					 | 
				
			||||||
    deleteQuery(name: string, deleteEmittedStreams: boolean, userCredentials: UserCredentials): Promise<void>;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "node-eventstore-client",
 | 
					  "name": "node-eventstore-client",
 | 
				
			||||||
  "version": "0.2.1",
 | 
					  "version": "0.2.2",
 | 
				
			||||||
  "description": "A port of the EventStore .Net ClientAPI to Node.js",
 | 
					  "description": "A port of the EventStore .Net ClientAPI to Node.js",
 | 
				
			||||||
  "main": "index.js",
 | 
					  "main": "index.js",
 | 
				
			||||||
  "types": "index.d.ts",
 | 
					  "types": "index.d.ts",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,15 +4,23 @@ var results = require('./results');
 | 
				
			|||||||
const expectedVersion = {
 | 
					const expectedVersion = {
 | 
				
			||||||
  any: -2,
 | 
					  any: -2,
 | 
				
			||||||
  noStream: -1,
 | 
					  noStream: -1,
 | 
				
			||||||
  emptyStream: -1
 | 
					  emptyStream: -1,
 | 
				
			||||||
 | 
					  streamExists: -4
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
Object.freeze(expectedVersion);
 | 
					Object.freeze(expectedVersion);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const positions = {
 | 
					const positions = {
 | 
				
			||||||
  start: new results.Position(0, 0),
 | 
					  start: new results.Position(0, 0),
 | 
				
			||||||
  end: new results.Position(-1, -1)
 | 
					  end: new results.Position(-1, -1)
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
Object.freeze(positions);
 | 
					Object.freeze(positions);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const streamPosition = {
 | 
				
			||||||
 | 
					  start: 0,
 | 
				
			||||||
 | 
					  end: -1
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					Object.freeze(streamPosition);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Create an EventData object from JavaScript event/metadata that will be serialized as json
 | 
					 * Create an EventData object from JavaScript event/metadata that will be serialized as json
 | 
				
			||||||
 * @public
 | 
					 * @public
 | 
				
			||||||
@@ -60,6 +68,7 @@ module.exports.ProjectionCommandFailedError = require('./errors/projectionComman
 | 
				
			|||||||
// Expose enums/constants
 | 
					// Expose enums/constants
 | 
				
			||||||
module.exports.expectedVersion = expectedVersion;
 | 
					module.exports.expectedVersion = expectedVersion;
 | 
				
			||||||
module.exports.positions = positions;
 | 
					module.exports.positions = positions;
 | 
				
			||||||
 | 
					module.exports.streamPosition = streamPosition;
 | 
				
			||||||
module.exports.systemMetadata = require('./common/systemMetadata');
 | 
					module.exports.systemMetadata = require('./common/systemMetadata');
 | 
				
			||||||
module.exports.eventReadStatus = results.EventReadStatus;
 | 
					module.exports.eventReadStatus = results.EventReadStatus;
 | 
				
			||||||
module.exports.sliceReadStatus = require('./sliceReadStatus');
 | 
					module.exports.sliceReadStatus = require('./sliceReadStatus');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,8 @@ Position.prototype.toString = function() {
 | 
				
			|||||||
  return [this.commitPosition.toString(), this.preparePosition.toString()].join("/");
 | 
					  return [this.commitPosition.toString(), this.preparePosition.toString()].join("/");
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Position.start = new Position(0,0);
 | 
				
			||||||
 | 
					Position.end = new Position(-1,-1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const EventReadStatus = {
 | 
					const EventReadStatus = {
 | 
				
			||||||
  Success: 'success',
 | 
					  Success: 'success',
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user