Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

ontologic

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ontologic - npm Package Compare versions

Comparing version
1.0.4
to
1.1.0
+2
dist/event-bus/index.d.ts
export {};
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/event-bus/index.ts"],"names":[],"mappings":""}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/event-bus/index.ts"],"names":[],"mappings":""}
export {};
//# sourceMappingURL=interfaces.d.ts.map
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/event-bus/interfaces.ts"],"names":[],"mappings":""}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=interfaces.js.map
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/event-bus/interfaces.ts"],"names":[],"mappings":""}
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"domainEntity.d.ts","sourceRoot":"","sources":["../src/domainEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,EAAE,IAAI,MAAM,CAAC;IACb,SAAS,IAAI,OAAO,CAAC;IACrB,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;CACxD;AAED,qBAAa,YAAY,CAAC,KAAK,CAAE,YAAW,aAAa;;IAGvD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBAEX,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE;IAO3E,EAAE,IAAI,MAAM;IAIZ,SAAS,IAAI,KAAK;IAKlB,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC;IAI9C,OAAO,CAAC,eAAe;CAOxB"}
{"version":3,"file":"domainEntity.d.ts","sourceRoot":"","sources":["../src/domainEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,EAAE,IAAI,MAAM,CAAC;IACb,SAAS,IAAI,OAAO,CAAC;IACrB,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;CACxD;AAED,qBAAa,YAAY,CAAC,KAAK,CAAE,YAAW,aAAa;;IAGvD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBAEX,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE;IAO3E,EAAE,IAAI,MAAM;IAIZ,SAAS,IAAI,KAAK;IAKlB,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC;IAI9C,OAAO,CAAC,eAAe;CASxB"}

@@ -27,3 +27,5 @@ "use strict";

if (!isValid) {
throw new Error('Corrupted state detected');
throw new Error('Corrupted state detected', {
cause: this.state
});
}

@@ -30,0 +32,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"domainEntity.js","sourceRoot":"","sources":["../src/domainEntity.ts"],"names":[],"mappings":";;;AAQA,MAAa,YAAY;IACvB,GAAG,CAAS;IACZ,WAAW,CAA2B;IAC5B,KAAK,CAAQ;IAEvB,YAAY,EAAU,EAAE,KAAY,EAAE,UAAqC;QACzE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,uCAAuC;QAC5E,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,EAAE;QACA,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,SAAiC;QAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEO,eAAe;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QAElG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;CACF;AAhCD,oCAgCC"}
{"version":3,"file":"domainEntity.js","sourceRoot":"","sources":["../src/domainEntity.ts"],"names":[],"mappings":";;;AAQA,MAAa,YAAY;IACvB,GAAG,CAAS;IACZ,WAAW,CAA2B;IAC5B,KAAK,CAAQ;IAEvB,YAAY,EAAU,EAAE,KAAY,EAAE,UAAqC;QACzE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,uCAAuC;QAC5E,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,EAAE;QACA,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,SAAiC;QAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEO,eAAe;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QAElG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAC;gBACzC,KAAK,EAAC,IAAI,CAAC,KAAK;aACjB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF;AAlCD,oCAkCC"}

@@ -1,2 +0,5 @@

import { Result, DomainEntity, DomainEventInterface, Repository } from "../../src";
import { Result } from "../result";
import { DomainEntity } from "../domainEntity";
import { DomainEventInterface } from "../domainEvent";
import { EventWithMetadata, Repository } from "../repository";
export declare class InMemoryRepository<Entity extends DomainEntity<ReturnType<Entity["readState"]>>> implements Repository<Entity> {

@@ -6,3 +9,3 @@ #private;

protected readonly store: Map<string, ReturnType<Entity["readState"]>>;
protected readonly eventStore: Map<string, DomainEventInterface[]>;
protected readonly eventStore: Map<string, EventWithMetadata[]>;
save(entity: Entity): Promise<Result<void, Error>>;

@@ -22,4 +25,5 @@ saveWithEvents(entity: Entity, domainEvents: DomainEventInterface | DomainEventInterface[]): Promise<Result<void, Error>>;

offset: number;
}): Promise<Result<DomainEventInterface[], Error>>;
}): Promise<Result<EventWithMetadata[], Error>>;
on(handler: (entityId: string) => void): void;
}
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inMemoryRepository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvF,qBAAa,kBAAkB,CAC7B,MAAM,SAAS,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAC5D,YAAW,UAAU,CAAC,MAAM,CAAC;;gBAI3B,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,MAAM;IAKxE,SAAS,CAAC,QAAQ,CAAC,KAAK,+CAAsD;IAC9E,SAAS,CAAC,QAAQ,CAAC,UAAU,sCAA6C;IAEpE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAKlD,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GAC1D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAc/B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;IAU/D,IAAI,CAAC,MAAM,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CACT,MAAM,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,KAAK,CAAC,CACjE;IAqBD,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,KAAK,CAAC,CAAC;CAYlD"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inMemoryRepository/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,MAAM,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE9D,qBAAa,kBAAkB,CAC7B,MAAM,SAAS,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAC5D,YAAW,UAAU,CAAC,MAAM,CAAC;;gBAO3B,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,MAAM;IAKxE,SAAS,CAAC,QAAQ,CAAC,KAAK,+CAAsD;IAC9E,SAAS,CAAC,QAAQ,CAAC,UAAU,mCAA0C;IAEjE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAKlD,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GAC1D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IA8B/B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;IAU/D,IAAI,CAAC,MAAM,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CACT,MAAM,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,KAAK,CAAC,CACjE;IAqBD,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,CAAC,CAAC;IAa9C,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;CAG9C"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InMemoryRepository = void 0;
const src_1 = require("../../src");
const node_events_1 = require("node:events");
const result_1 = require("../result");
class InMemoryRepository {
#mapper;
#emitter = new node_events_1.EventEmitter({
captureRejections: true
});
constructor(mapper) {

@@ -14,3 +18,3 @@ this.#mapper = mapper;

this.store.set(entity.id(), entity.readState());
return Promise.resolve((0, src_1.ok)());
return Promise.resolve((0, result_1.ok)());
}

@@ -20,5 +24,18 @@ async saveWithEvents(entity, domainEvents) {

const events = this.eventStore.get(entity.id()) || [];
events.push(...(Array.isArray(domainEvents) ? domainEvents : [domainEvents]));
if (!Array.isArray(domainEvents)) {
domainEvents = [domainEvents];
}
const integrationEvents = domainEvents.map((event, index) => {
return {
event,
metadata: {
createdAt: new Date().toISOString(),
offset: events.length + index,
}
};
});
events.push(...integrationEvents);
this.eventStore.set(entity.id(), events);
return Promise.resolve((0, src_1.ok)());
this.#emitter.emit("domainEventsSaved", entity.id());
return Promise.resolve((0, result_1.ok)());
}

@@ -28,5 +45,5 @@ getById(id) {

if (state === undefined) {
return Promise.resolve((0, src_1.ok)(undefined));
return Promise.resolve((0, result_1.ok)(undefined));
}
return Promise.resolve((0, src_1.ok)(this.#mapper(id, state)));
return Promise.resolve((0, result_1.ok)(this.#mapper(id, state)));
}

@@ -39,3 +56,3 @@ list(params) {

const paginatedEntities = entities.slice(params.offset, params.offset + params.limit);
return Promise.resolve((0, src_1.ok)({
return Promise.resolve((0, result_1.ok)({
limit: params.limit,

@@ -50,6 +67,9 @@ offset: params.offset,

const paginatedEvents = events.slice(paginationOptions.offset, paginationOptions.offset + paginationOptions.limit);
return Promise.resolve((0, src_1.ok)(paginatedEvents));
return Promise.resolve((0, result_1.ok)(paginatedEvents));
}
on(handler) {
this.#emitter.on("domainEventsSaved", handler);
}
}
exports.InMemoryRepository = InMemoryRepository;
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inMemoryRepository/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inMemoryRepository/index.ts"],"names":[],"mappings":"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"}
import { Result } from "./result/index";
import { DomainEntity } from "./domainEntity";
import { DomainEventInterface } from "./domainEvent";
export interface EventWithMetadata {
event: DomainEventInterface;
metadata: {
offset: number;
createdAt: string;
};
}
export interface Repository<Entity extends DomainEntity<ReturnType<Entity["readState"]>>> {

@@ -19,4 +26,5 @@ save(entity: Entity): Promise<Result<void, Error>>;

offset: number;
}): Promise<Result<DomainEventInterface[], Error>>;
}): Promise<Result<EventWithMetadata[], Error>>;
on(handler: (entityId: string) => void): void;
}
//# sourceMappingURL=repository.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,UAAU,CACzB,MAAM,SAAS,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5D,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnD,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GAC1D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC,MAAM,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,MAAM,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9E,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;CACnD"}
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAA;CACF;AAED,MAAM,WAAW,UAAU,CACzB,MAAM,SAAS,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5D,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnD,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GAC1D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC,MAAM,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,MAAM,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9E,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CAC/C"}
{
"name": "ontologic",
"version": "1.0.4",
"version": "1.1.0",
"description": "",

@@ -5,0 +5,0 @@ "main": "dist/index.js",