Socket
Socket
Sign inDemoInstall

ddd-es-node

Package Overview
Dependencies
14
Maintainers
1
Versions
211
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.17 to 0.0.18

dist/src/core/entity/entity-repository.d.ts

8

dist/src/index.d.ts

@@ -1,7 +0,3 @@

import { Clock } from './core/clock';
import { freezeUUID, unfreezeUUID } from './core/entity';
export { Entity, EntityRepository, EntityEvent, EventBus, EventBusSubscription, EventDispatcher, EventHandler, EventProcessor, EventStore, BaseEntityRepository, uuid } from './core/entity';
export { freezeUUID, unfreezeUUID };
export { Clock };
export { eventBus, entityRepository, eventStore } from './runtime/es';
export * from './core';
export { eventBus, entityRepository, eventStore } from './runtime';
export declare const testMode: (value: boolean) => void;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const clock_1 = require("./core/clock");
exports.Clock = clock_1.Clock;
const entity_1 = require("./core/entity");
exports.freezeUUID = entity_1.freezeUUID;
exports.unfreezeUUID = entity_1.unfreezeUUID;
var entity_2 = require("./core/entity");
exports.Entity = entity_2.Entity;
exports.EntityEvent = entity_2.EntityEvent;
exports.EventProcessor = entity_2.EventProcessor;
exports.BaseEntityRepository = entity_2.BaseEntityRepository;
exports.uuid = entity_2.uuid;
var es_1 = require("./runtime/es");
exports.eventBus = es_1.eventBus;
exports.entityRepository = es_1.entityRepository;
exports.eventStore = es_1.eventStore;
const tslib_1 = require("tslib");
const core_1 = require("./core");
tslib_1.__exportStar(require("./core"), exports);
var runtime_1 = require("./runtime");
exports.eventBus = runtime_1.eventBus;
exports.entityRepository = runtime_1.entityRepository;
exports.eventStore = runtime_1.eventStore;
exports.testMode = (value) => {
if (value === undefined ? true : value) {
clock_1.Clock.freeze();
entity_1.freezeUUID();
core_1.Clock.freeze();
core_1.EventUUID.freezeUUID();
}
else {
clock_1.Clock.unfreeze();
entity_1.unfreezeUUID();
core_1.Clock.unfreeze();
core_1.EventUUID.unfreezeUUID();
}
};
//# sourceMappingURL=index.js.map

@@ -1,11 +0,2 @@

import { EntityRepository, EntityEvent, EventStore, EventBus, EventBusSubscription } from '../core/entity';
export declare class LocalEventBus implements EventBus {
private eventStore;
private emitter;
constructor(eventStore: EventStore);
subscribe(listener: (event: EntityEvent, isReplaying?: boolean) => void, options?: {
[key: string]: string | boolean;
}): EventBusSubscription;
emit(event: EntityEvent): void;
}
import { EntityRepository, EntityEvent, EventStore, EventBus } from '../core';
export declare class EventStoreLibEventStore implements EventStore {

@@ -12,0 +3,0 @@ replay(id: string, handler: (event: EntityEvent, isReplaying?: boolean) => void, done?: () => void): void;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const entity_1 = require("../core/entity");
const core_1 = require("../core");
const local_event_bus_1 = require("./local-event-bus");
const eventstore = require("eventstore");
const events = require("events");
const type_deserializer_1 = require("./type_deserializer");
class LocalEventBusSubscription {
constructor(emitter, listener) {
this.emitter = emitter;
this.listener = listener;
}
unsubscribe() {
this.emitter.removeListener('event', this.listener);
}
}
class LocalEventBus {
constructor(eventStore) {
this.emitter = new events.EventEmitter();
this.eventStore = eventStore;
}
subscribe(listener, options) {
if (options && options['replay']) {
this.eventStore.replayAll(listener);
}
const emitterListener = (event) => {
listener(event, false);
};
this.emitter.on('event', emitterListener);
return new LocalEventBusSubscription(this.emitter, emitterListener);
}
emit(event) {
this.emitter.emit('event', event);
}
}
exports.LocalEventBus = LocalEventBus;
const type_deserializer_1 = require("./type-deserializer");
const USE_DYNAMO_DB = !(/false/i.test((process.env.USE_DYNAMO_DB || 'false')));

@@ -138,3 +109,3 @@ let esConfig = {};

exports.eventStore = new EventStoreLibEventStore();
exports.eventBus = new LocalEventBus(exports.eventStore);
exports.eventBus = new local_event_bus_1.LocalEventBus(exports.eventStore);
function eventDispatcher(streamId, events) {

@@ -174,3 +145,3 @@ return new Promise((resolve) => {

}
exports.entityRepository = new entity_1.BaseEntityRepository(eventDispatcher, exports.eventStore);
exports.entityRepository = new core_1.BaseEntityRepository(eventDispatcher, exports.eventStore);
//# sourceMappingURL=es.js.map

@@ -5,18 +5,17 @@ module.exports = {

transform: {
'^.+\\.js$': '<rootDir>/node_modules/babel-jest',
'.(ts|tsx)': '<rootDir>/preprocessor.js'
"^.+\\.js$": '<rootDir>/node_modules/babel-jest',
"^.+\\.ts$": '<rootDir>/node_modules/ts-jest'
},
moduleFileExtensions: [
'ts',
'tsx',
'js',
'jsx',
'node'
],
testRegex: '/spec/.*\\.(ts|js)x?$',
testRegex: '.*\\.test\\.js$',
mapCoverage: true,
coverageDirectory: 'coverage',
collectCoverageFrom: [
'src/**/*.{ts,tsx,js,jsx}',
'src/**/*.{ts,js}',
'!src/**/*.d.ts'
]
};
{
"name": "ddd-es-node",
"version": "0.0.17",
"version": "0.0.18",
"description": "ddd-es-node",

@@ -16,3 +16,3 @@ "main": "./dist/src/index.js",

"lint": "tslint -t stylish --type-check --exclude '**/*.js' --project 'tsconfig.json'",
"pretest": "npm run lint",
"pretest": "npm run lint && eslint .",
"test": "npm run test-only",

@@ -30,3 +30,2 @@ "test-only": "jest --coverage",

"devDependencies": {
"@types/jest": "~20.0.4",
"@types/node": "^8.0.17",

@@ -39,4 +38,5 @@ "@types/uuid": "^3.4.0",

"eslint-plugin-jest": "^20.0.3",
"jest": "~20.0.0",
"jest": "^20.0.4",
"rimraf": "~2.6.1",
"ts-jest": "^22.4.6",
"tslint": "~5.5.0",

@@ -43,0 +43,0 @@ "tslint-microsoft-contrib": "~5.0.1",

@@ -1,38 +0,10 @@

import {
Clock
} from './core/clock';
import { Clock, EventUUID } from './core';
import {
freezeUUID,
unfreezeUUID
} from './core/entity';
export * from './core';
export {
Entity,
EntityRepository,
EntityEvent,
EventBus,
EventBusSubscription,
EventDispatcher,
EventHandler,
EventProcessor,
EventStore,
BaseEntityRepository,
uuid
} from './core/entity';
export {
freezeUUID,
unfreezeUUID
};
export {
Clock
};
export {
eventBus,
entityRepository,
eventStore
} from './runtime/es';
} from './runtime';

@@ -42,7 +14,7 @@ export const testMode = (value : boolean) => {

Clock.freeze();
freezeUUID();
EventUUID.freezeUUID();
} else {
Clock.unfreeze();
unfreezeUUID();
EventUUID.unfreezeUUID();
}
};

@@ -6,8 +6,7 @@ import {

EventStore,
EventBus,
EventBusSubscription
} from '../core/entity';
EventBus
} from '../core';
import { LocalEventBus } from './local-event-bus';
import * as eventstore from 'eventstore';
import * as events from 'events';
import { resolveInstanceFromJson } from './type_deserializer';
import { resolveInstanceFromJson } from './type-deserializer';

@@ -20,3 +19,3 @@ module EventStoreLib {

};
export type EventStoreTypeFactory = (options?: Object) => EventStoreType;
export type EventStoreTypeFactory = (options? : Object) => EventStoreType;
export type Stream = { addEvent : Function, addEvents : Function, commit : Function, events : Event[], eventsToDispatch : Event[] };

@@ -27,50 +26,12 @@ export type EventPayload = { streamId : string, name : string };

class LocalEventBusSubscription implements EventBusSubscription {
private emitter : events.EventEmitter;
private listener : (event : EntityEvent) => void;
constructor(emitter : events.EventEmitter, listener : (event : EntityEvent) => void) {
this.emitter = emitter;
this.listener = listener;
}
public unsubscribe() : void {
this.emitter.removeListener('event', this.listener);
}
}
export class LocalEventBus implements EventBus {
private eventStore : EventStore;
private emitter : events.EventEmitter = new events.EventEmitter();
constructor(eventStore : EventStore) {
this.eventStore = eventStore;
}
public subscribe(listener : (event : EntityEvent, isReplaying? : boolean) => void,
options? : { [key:string]: string | boolean }) : EventBusSubscription {
if(options && options['replay']) {
this.eventStore.replayAll(listener);
}
const emitterListener : (event : EntityEvent, isReplaying? : boolean) => void = (event : EntityEvent) : void => {
listener(event, false);
};
this.emitter.on('event', emitterListener);
return new LocalEventBusSubscription(this.emitter, emitterListener);
}
public emit(event : EntityEvent) : void {
this.emitter.emit('event', event);
}
}
const USE_DYNAMO_DB : boolean = !(/false/i.test((process.env.USE_DYNAMO_DB || 'false')));
let esConfig : Object = {};
if(USE_DYNAMO_DB) {
if (USE_DYNAMO_DB) {
esConfig = {
type:'dynamodb',
type: 'dynamodb',
useUndispatchedEventsTable: false
};
}
if(process.env.RAW_ES_CONFIG) {
if (process.env.RAW_ES_CONFIG) {
esConfig = <Object> JSON.parse(`${process.env.RAW_ES_CONFIG}`);

@@ -88,3 +49,3 @@ }

es.init((err : Error) => {
if(err) {
if (err) {
getEsRej(err);

@@ -97,6 +58,6 @@ } else {

const hydrateEventStream = (events : EventStoreLib.Event[]) => {
return Promise.all((events||[]).map((event : EventStoreLib.Event) => {
return Promise.all((events || []).map((event : EventStoreLib.Event) => {
return new Promise((resolve : Function) => {
event.payload.streamId = event.streamId || event.aggregateId;
if(esConfig.hasOwnProperty('type')) {
if (esConfig.hasOwnProperty('type')) {
// ensure types are restored after deserialization

@@ -158,3 +119,3 @@ (<Promise<EventStoreLib.EventPayload>> resolveInstanceFromJson(event.payload))

});
if(done) {
if (done) {
done();

@@ -187,3 +148,3 @@ }

stream.commit((err : Error, stream : EventStoreLib.Stream) => {
if(err) {
if (err) {
console.log(err);

@@ -190,0 +151,0 @@ resolve();

@@ -6,4 +6,3 @@ {

"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"jsx": "preserve",
"allowSyntheticDefaultImports": false,
"allowJs": false,

@@ -10,0 +9,0 @@ "importHelpers": true,

@@ -7,8 +7,4 @@ {

"outDir": "dist",
"removeComments": true,
"jsx": "react"
},
"include": [
"src/**/*"
]
"removeComments": true
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc