New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@schemeless/event-store

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@schemeless/event-store - npm Package Compare versions

Comparing version 2.3.1 to 2.4.0-rc1

dist/util/betterQueueStore.d.ts

3

dist/EventStore.types.d.ts

@@ -20,2 +20,5 @@ import type { Observable } from 'rxjs';

}
export interface EventStoreConfig {
target: 'node' | 'browser';
}
export * from '@schemeless/event-store-types';

4

dist/makeEventStore.d.ts
import { EventFlow, IEventStoreRepo, SuccessEventObserver } from '@schemeless/event-store-types';
import { EventStore } from './EventStore.types';
export declare const makeEventStore: (eventStoreRepo: IEventStoreRepo) => (eventFlows: EventFlow[], successEventObservers?: SuccessEventObserver<any>[]) => Promise<EventStore>;
import { EventStore, EventStoreConfig } from './EventStore.types';
export declare const makeEventStore: (eventStoreRepo: IEventStoreRepo) => (eventFlows: EventFlow[], successEventObservers?: SuccessEventObserver<any>[], eventStoreConfig?: EventStoreConfig) => Promise<EventStore>;

@@ -20,5 +20,5 @@ "use strict";

const rxjs_1 = require("rxjs");
const makeEventStore = (eventStoreRepo) => (eventFlows, successEventObservers = []) => __awaiter(void 0, void 0, void 0, function* () {
const mainQueue = makeMainQueue_1.makeMainQueue(eventFlows);
const sideEffectQueue = makeSideEffectQueue_1.makeSideEffectQueue(eventFlows, mainQueue);
const makeEventStore = (eventStoreRepo) => (eventFlows, successEventObservers = [], eventStoreConfig = { target: 'node' }) => __awaiter(void 0, void 0, void 0, function* () {
const mainQueue = makeMainQueue_1.makeMainQueue(eventFlows, eventStoreConfig);
const sideEffectQueue = makeSideEffectQueue_1.makeSideEffectQueue(eventFlows, mainQueue, eventStoreConfig);
yield eventStoreRepo.init();

@@ -52,4 +52,4 @@ const mainQueueProcessed$ = mainQueue.processed$.pipe(Rx.concatMap(([doneEvents, eventTaskAndError]) => __awaiter(void 0, void 0, void 0, function* () {

sideEffectQueue,
receive: makeReceive_1.makeReceive(mainQueue, successEventObservers),
replay: makeReplay_1.makeReplay(eventFlows, successEventObservers, eventStoreRepo),
receive: makeReceive_1.makeReceive(mainQueue, successEventObservers, eventStoreConfig),
replay: makeReplay_1.makeReplay(eventFlows, successEventObservers, eventStoreRepo, eventStoreConfig),
eventStoreRepo: eventStoreRepo,

@@ -56,0 +56,0 @@ output$,

import type { EventFlow, IEventStoreRepo } from '@schemeless/event-store-types';
import { SuccessEventObserver } from '@schemeless/event-store-types';
export declare const makeReplay: (eventFlows: EventFlow[], successEventObservers: SuccessEventObserver<any>[], eventStoreRepo: IEventStoreRepo) => (startFromId?: string) => Promise<void>;
import { EventStoreConfig } from './EventStore.types';
export declare const makeReplay: (eventFlows: EventFlow[], successEventObservers: SuccessEventObserver<any>[], eventStoreRepo: IEventStoreRepo, eventStoreConfig?: EventStoreConfig) => (startFromId?: string) => Promise<void>;

@@ -25,3 +25,3 @@ "use strict";

const makeObserverQueue_1 = require("./queue/makeObserverQueue");
const makeReplay = (eventFlows, successEventObservers = [], eventStoreRepo) => (startFromId) => __awaiter(void 0, void 0, void 0, function* () {
const makeReplay = (eventFlows, successEventObservers = [], eventStoreRepo, eventStoreConfig = { target: 'node' }) => (startFromId) => __awaiter(void 0, void 0, void 0, function* () {
var e_1, _a;

@@ -32,3 +32,3 @@ const eventFlowMap = registerEventFlowTypes_1.registerEventFlowTypes({}, eventFlows);

const eventStoreIterator = yield eventStoreRepo.getAllEvents(pageSize, startFromId);
const observerQueue = makeObserverQueue_1.makeObserverQueue(successEventObservers);
const observerQueue = makeObserverQueue_1.makeObserverQueue(successEventObservers, eventStoreConfig);
const subscription = observerQueue.processed$.subscribe();

@@ -35,0 +35,0 @@ observerQueue.queueInstance.drained$.subscribe(() => logger_1.logger.debug(`observerQueue drained`));

/// <reference types="better-queue" />
import type { BaseEvent, CreatedEvent } from '@schemeless/event-store-types';
export declare const makeApplyQueue: () => {
import { EventStoreConfig } from '../EventStore.types';
export declare const makeApplyQueue: (eventStoreConfig: EventStoreConfig) => {
id: string;

@@ -5,0 +6,0 @@ queueInstance: import("better-queue")<{

@@ -6,6 +6,4 @@ "use strict";

const uuid_1 = require("uuid");
const makeApplyQueue = () => RxQueue_1.createRxQueue('apply:' + uuid_1.v4().substr(-4, 4), {
filo: true,
concurrent: 1,
});
const betterQueueStore_1 = require("../util/betterQueueStore");
const makeApplyQueue = (eventStoreConfig) => RxQueue_1.createRxQueue('apply:' + uuid_1.v4().substr(-4, 4), Object.assign(Object.assign({}, betterQueueStore_1.getBetterQueueStoreOption(eventStoreConfig.target === 'browser')), { filo: true, concurrent: 1 }));
exports.makeApplyQueue = makeApplyQueue;
/// <reference types="better-queue" />
import type { BaseEvent, EventFlow } from '@schemeless/event-store-types';
export declare const makeMainQueue: (eventFlows: EventFlow<any>[]) => {
import { EventStoreConfig } from '../EventStore.types';
export declare const makeMainQueue: (eventFlows: EventFlow<any>[], eventStoreConfig: EventStoreConfig) => {
eventFlowMap: import("@schemeless/event-store-types").EventFlowMap;
processed$: any;

@@ -5,0 +7,0 @@ queueInstance: {

@@ -13,7 +13,8 @@ "use strict";

const makeApplyQueue_1 = require("./makeApplyQueue");
const makeMainQueue = (eventFlows) => {
const mainQueue = RxQueue_1.createRxQueue('main', { concurrent: 1 });
const betterQueueStore_1 = require("../util/betterQueueStore");
const makeMainQueue = (eventFlows, eventStoreConfig) => {
const mainQueue = RxQueue_1.createRxQueue('main', Object.assign(Object.assign({}, betterQueueStore_1.getBetterQueueStoreOption(eventStoreConfig.target === 'browser')), { concurrent: 1 }));
const eventFlowMap = registerEventFlowTypes_1.registerEventFlowTypes({}, eventFlows);
const processed$ = mainQueue.process$.pipe(Rx.concatMap(({ task, done: mainQueueDone }) => {
const applyQueue = makeApplyQueue_1.makeApplyQueue();
const applyQueue = makeApplyQueue_1.makeApplyQueue(eventStoreConfig);
logEvent_1.logEvent(task, '✨', 'received');

@@ -27,2 +28,3 @@ applyQueue.push({ currentEvent: task });

return {
eventFlowMap,
processed$,

@@ -29,0 +31,0 @@ queueInstance: mainQueue,

@@ -8,4 +8,4 @@ "use strict";

describe('Main Queue', () => {
it('should run', cb => {
const mainQueue = makeMainQueue_1.makeMainQueue([Standard_event_1.StandardEvent, NestedOnce_event_1.NestedOnceEvent, NestedTwice_event_1.NestedTwiceEvent]);
it('should run', (cb) => {
const mainQueue = makeMainQueue_1.makeMainQueue([Standard_event_1.StandardEvent, NestedOnce_event_1.NestedOnceEvent, NestedTwice_event_1.NestedTwiceEvent], { target: 'node' });
mainQueue.processed$.subscribe();

@@ -15,3 +15,3 @@ mainQueue.push({

type: NestedTwice_event_1.NestedTwiceEvent.type,
payload: { key: 'MainQueue1', positiveNumber: 1 }
payload: { key: 'MainQueue1', positiveNumber: 1 },
});

@@ -21,3 +21,3 @@ mainQueue.push({

type: NestedOnce_event_1.NestedOnceEvent.type,
payload: { key: 'MainQueue2', positiveNumber: 1 }
payload: { key: 'MainQueue2', positiveNumber: 1 },
}, (err, result) => {

@@ -24,0 +24,0 @@ cb();

/// <reference types="better-queue" />
import { CreatedEvent, SuccessEventObserver } from '@schemeless/event-store-types';
export declare const makeObserverQueue: (successEventObservers: SuccessEventObserver<any>[]) => {
import { EventStoreConfig } from '../EventStore.types';
declare type ObserverMap = {
[domainType: string]: SuccessEventObserver[];
};
export declare const makeObserverQueue: (successEventObservers: SuccessEventObserver<any>[], eventStoreConfig: EventStoreConfig) => {
observerMap: ObserverMap;
processed$: any;

@@ -19,1 +24,2 @@ queueInstance: {

};
export {};

@@ -18,2 +18,3 @@ "use strict";

const logEvent_1 = require("../util/logEvent");
const betterQueueStore_1 = require("../util/betterQueueStore");
const makeObserverMap = (successEventObservers) => {

@@ -30,6 +31,4 @@ const observerMap = successEventObservers.reduce((acc, observer) => {

};
const makeObserverQueue = (successEventObservers) => {
const observerQueue = RxQueue_1.createRxQueue('applySuccessEventObservers', {
concurrent: 1,
});
const makeObserverQueue = (successEventObservers, eventStoreConfig) => {
const observerQueue = RxQueue_1.createRxQueue('applySuccessEventObservers', Object.assign(Object.assign({}, betterQueueStore_1.getBetterQueueStoreOption(eventStoreConfig.target === 'browser')), { concurrent: 1 }));
const observerMap = makeObserverMap(successEventObservers);

@@ -56,2 +55,3 @@ const processed$ = observerQueue.process$.pipe(Rx.mergeMap(({ done, task: createdEvent }) => __awaiter(void 0, void 0, void 0, function* () {

return {
observerMap,
processed$,

@@ -58,0 +58,0 @@ queueInstance: observerQueue,

import type { BaseEventInput, CreatedEvent, EventFlow } from '@schemeless/event-store-types';
import { makeMainQueue } from './makeMainQueue';
import { SuccessEventObserver } from '@schemeless/event-store-types';
export declare const makeReceive: (mainQueue: ReturnType<typeof makeMainQueue>, successEventObservers?: SuccessEventObserver<any>[]) => <PartialPayload, Payload extends PartialPayload>(eventFlow: EventFlow<PartialPayload, Payload>) => (eventInput: BaseEventInput<PartialPayload, undefined>) => Promise<[CreatedEvent<Payload, undefined>, ...CreatedEvent<any, undefined>[]]>;
import { EventStoreConfig } from '../EventStore.types';
export declare const makeReceive: (mainQueue: ReturnType<typeof makeMainQueue>, successEventObservers: SuccessEventObserver<any>[], eventStoreConfig: EventStoreConfig) => <PartialPayload, Payload extends PartialPayload>(eventFlow: EventFlow<PartialPayload, Payload>) => (eventInput: BaseEventInput<PartialPayload, undefined>) => Promise<[CreatedEvent<Payload, undefined>, ...CreatedEvent<any, undefined>[]]>;

@@ -5,7 +5,7 @@ "use strict";

const makeObserverQueue_1 = require("./makeObserverQueue");
const makeReceive = (mainQueue, successEventObservers = []) => (eventFlow) => (eventInput) => {
const makeReceive = (mainQueue, successEventObservers = [], eventStoreConfig) => (eventFlow) => (eventInput) => {
const event = Object.assign({}, eventInput, {
domain: eventFlow.domain,
type: eventFlow.type,
created: eventInput.created || undefined
created: eventInput.created || undefined,
});

@@ -18,3 +18,3 @@ return new Promise((resolve, reject) => {

else {
const observerQueue = makeObserverQueue_1.makeObserverQueue(successEventObservers);
const observerQueue = makeObserverQueue_1.makeObserverQueue(successEventObservers, eventStoreConfig);
observerQueue.processed$.subscribe();

@@ -21,0 +21,0 @@ observerQueue.queueInstance.drained$.subscribe(() => resolve(doneEvents));

/// <reference types="better-queue" />
import { CreatedEvent, EventFlow } from '@schemeless/event-store-types';
import { mainQueueType } from './makeMainQueue';
export declare const makeSideEffectQueue: (eventFlows: EventFlow[], mainQueue: mainQueueType) => {
import { EventStoreConfig } from '../EventStore.types';
export declare const makeSideEffectQueue: (eventFlows: EventFlow[], mainQueue: mainQueueType, eventStoreConfig: EventStoreConfig) => {
processed$: any;

@@ -6,0 +7,0 @@ queueInstance: {

@@ -20,6 +20,5 @@ "use strict";

const logger_1 = require("../util/logger");
const makeSideEffectQueue = (eventFlows, mainQueue) => {
const sideEffectQueue = RxQueue_1.createRxQueue('sideEffect', {
concurrent: 1,
});
const betterQueueStore_1 = require("../util/betterQueueStore");
const makeSideEffectQueue = (eventFlows, mainQueue, eventStoreConfig) => {
const sideEffectQueue = RxQueue_1.createRxQueue('sideEffect', Object.assign(Object.assign({}, betterQueueStore_1.getBetterQueueStoreOption(eventStoreConfig.target === 'browser')), { concurrent: 1 }));
const eventFlowMap = registerEventFlowTypes_1.registerEventFlowTypes({}, eventFlows);

@@ -26,0 +25,0 @@ const processed$ = sideEffectQueue.process$.pipe(Rx.mergeMap(({ task: { retryCount, event }, done }) => __awaiter(void 0, void 0, void 0, function* () {

@@ -15,3 +15,3 @@ "use strict";

push: mainQueuePush,
});
}, { target: 'node' });
sideEffectQueue.processed$.subscribe((r) => {

@@ -40,3 +40,3 @@ if (r.state === event_store_types_1.SideEffectsState.fail) {

push: mainQueuePush,
});
}, { target: 'node' });
sideEffectQueue.processed$.subscribe((r) => {

@@ -43,0 +43,0 @@ if (r.state === event_store_types_1.SideEffectsState.done) {

{
"name": "@schemeless/event-store",
"version": "2.3.1",
"version": "2.4.0-rc1",
"typescript:main": "src/index.ts",

@@ -26,2 +26,3 @@ "main": "dist/index.js",

"better-queue": "^3.8.10",
"better-queue-memory": "^1.0.4",
"debug": "^4.2.0",

@@ -53,3 +54,3 @@ "ramda": "^0.27.1",

},
"gitHead": "26ddc2e14ffbd855c30333cbf9ee099f6b288137"
"gitHead": "018dc3c8fe80e1c369a888432bacf6ce1c079b7f"
}
SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc