@hg-ts/repository 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,8 @@ import type { AggregateDto, AggregateId, BaseFindOptions } from './repository.js
4
4
  export declare abstract class BaseMemoryRepository<Aggregate extends BaseAggregate<any, any>, FindOptions extends BaseFindOptions<Aggregate> = BaseFindOptions<Aggregate>> extends BaseRepository<Aggregate, FindOptions> {
5
5
  protected lastId: Nullable<AggregateId<Aggregate>>;
6
6
  protected readonly entitiesMap: Map<AggregateId<Aggregate>, AggregateDto<Aggregate>>;
7
- rawAdd(dtos: NotEmptyList<AggregateDto<Aggregate>>): Promise<void>;
8
- rawUpdate(dtos: NotEmptyList<AggregateDto<Aggregate>>): Promise<void>;
7
+ rawAdd(entities: NotEmptyList<Aggregate>): Promise<void>;
8
+ rawUpdate(entities: NotEmptyList<Aggregate>): Promise<void>;
9
9
  delete(aggregate: Aggregate | Aggregate[]): Promise<void>;
10
10
  protected findEntities(options: FindOptions): Promise<Aggregate[]>;
11
11
  protected abstract createAggregate(dto: AggregateDto<Aggregate>): Aggregate;
@@ -1 +1 @@
1
- {"version":3,"file":"base.memory.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base.memory.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACN,cAAc,EACd,YAAY,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACX,YAAY,EACZ,WAAW,EACX,eAAe,EACf,MAAM,iBAAiB,CAAC;AAWzB,8BAAsB,oBAAoB,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAChF,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAE9E,SAAQ,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;IAC9C,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAQ;IAC1D,SAAS,CAAC,QAAQ,CAAC,WAAW,uDAA8D;IAE/E,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cAQ/D,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAiBxE,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,SAAS;CAC3E"}
1
+ {"version":3,"file":"base.memory.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base.memory.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACN,cAAc,EACd,YAAY,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACX,YAAY,EACZ,WAAW,EACX,eAAe,EACf,MAAM,iBAAiB,CAAC;AAWzB,8BAAsB,oBAAoB,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAChF,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAE9E,SAAQ,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;IAC9C,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAQ;IAC1D,SAAS,CAAC,QAAQ,CAAC,WAAW,uDAA8D;IAE/E,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxD,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cAQ/D,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAiBxE,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,SAAS;CAC3E"}
@@ -8,14 +8,14 @@ function clone(aggregate) {
8
8
  export class BaseMemoryRepository extends BaseRepository {
9
9
  lastId = null;
10
10
  entitiesMap = new Map();
11
- async rawAdd(dtos) {
12
- for (const dto of dtos) {
13
- this.entitiesMap.set(dto.id, clone(dto));
11
+ async rawAdd(entities) {
12
+ for (const entity of entities) {
13
+ this.entitiesMap.set(entity.id, clone(entity.toDto()));
14
14
  }
15
15
  }
16
- async rawUpdate(dtos) {
17
- for (const dto of dtos) {
18
- this.entitiesMap.set(dto.id, clone(dto));
16
+ async rawUpdate(entities) {
17
+ for (const entity of entities) {
18
+ this.entitiesMap.set(entity.id, clone(entity.toDto()));
19
19
  }
20
20
  }
21
21
  async delete(aggregate) {
@@ -1 +1 @@
1
- {"version":3,"file":"base.memory.repository.js","sourceRoot":"","sources":["../../src/repositories/base.memory.repository.ts"],"names":[],"mappings":"AACA,OAAO,EACN,cAAc,GAEd,MAAM,sBAAsB,CAAC;AAO9B,SAAS,KAAK,CAAuC,SAAoB;IACxE,MAAM,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEjD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjC,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,OAAgB,oBAGrB,SAAQ,cAAsC;IACpC,MAAM,GAAqC,IAAI,CAAC;IACvC,WAAW,GAAG,IAAI,GAAG,EAAmD,CAAC;IAErF,KAAK,CAAC,MAAM,CAAC,IAA2C;QAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAA2C;QACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAEe,KAAK,CAAC,MAAM,CAAC,SAAkC;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,OAAoB;QAChD,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;QAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC9C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEtC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC;CAGD"}
1
+ {"version":3,"file":"base.memory.repository.js","sourceRoot":"","sources":["../../src/repositories/base.memory.repository.ts"],"names":[],"mappings":"AACA,OAAO,EACN,cAAc,GAEd,MAAM,sBAAsB,CAAC;AAO9B,SAAS,KAAK,CAAuC,SAAoB;IACxE,MAAM,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEjD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjC,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,OAAgB,oBAGrB,SAAQ,cAAsC;IACpC,MAAM,GAAqC,IAAI,CAAC;IACvC,WAAW,GAAG,IAAI,GAAG,EAAmD,CAAC;IAErF,KAAK,CAAC,MAAM,CAAC,QAAiC;QACpD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,QAAiC;QACvD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAEe,KAAK,CAAC,MAAM,CAAC,SAAkC;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,OAAoB;QAChD,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;QAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC9C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEtC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC;CAGD"}
@@ -1,23 +1,22 @@
1
1
  import { BaseAggregate, DomainEvent } from '@hg-ts/domain';
2
2
  import { AggregateAlreadyExistsException, AggregateNotFoundException } from '../exceptions/index.js';
3
- import { AggregateDto, AggregateId, BaseFindOptions, Repository } from './repository.js';
3
+ import { AggregateId, BaseFindOptions, Repository } from './repository.js';
4
4
  export type NotEmptyList<T> = [T, ...T[]];
5
5
  export declare abstract class BaseRepository<Aggregate extends (BaseAggregate<any> | DomainEvent), FindOptions extends BaseFindOptions<Aggregate> = BaseFindOptions<Aggregate>> extends Repository<Aggregate, FindOptions> {
6
6
  get(id: AggregateId<Aggregate>): Promise<Nullable<Aggregate>>;
7
7
  getOrFail(id: AggregateId<Aggregate>): Promise<Aggregate>;
8
8
  has(id: AggregateId<Aggregate>): Promise<boolean>;
9
9
  find(options?: Partial<FindOptions>): Promise<Aggregate[]>;
10
- add(entities: Aggregate[] | Aggregate): Promise<void>;
11
- update(entities: Aggregate[] | Aggregate): Promise<void>;
10
+ add(entityOrEntities: Aggregate[] | Aggregate): Promise<void>;
11
+ update(entityOrEntities: Aggregate[] | Aggregate): Promise<void>;
12
12
  clear(): Promise<void>;
13
13
  delete(_entities: Aggregate[] | Aggregate): Promise<void>;
14
14
  protected onEmptyAdd(): void;
15
15
  protected onEmptyUpdate(): void;
16
- protected getDto(aggregate: Aggregate): AggregateDto<Aggregate>;
17
16
  protected getId(aggregate: Aggregate): AggregateId<Aggregate>;
18
17
  protected abstract findEntities(options?: Partial<FindOptions>): Promise<Aggregate[]>;
19
- protected abstract rawAdd(dtos: NotEmptyList<AggregateDto<Aggregate>>): Promise<void>;
20
- protected abstract rawUpdate(dtos: NotEmptyList<AggregateDto<Aggregate>>): Promise<void>;
18
+ protected abstract rawAdd(dtos: NotEmptyList<Aggregate>): Promise<void>;
19
+ protected abstract rawUpdate(dtos: NotEmptyList<Aggregate>): Promise<void>;
21
20
  protected abstract getNotFoundException(id: AggregateId<Aggregate>): AggregateNotFoundException;
22
21
  protected abstract getAlreadyExistsException(id: AggregateId<Aggregate>): AggregateAlreadyExistsException;
23
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,WAAW,EACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,YAAY,EACZ,WAAW,EACX,eAAe,EACf,UAAU,EACV,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1C,8BAAsB,cAAc,CAAC,SAAS,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,EACxF,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAC3E,SAAQ,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC;IAC7B,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAO7D,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAUzD,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAMjD,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAM1D,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrD,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,SAAS,CAAC,UAAU,IAAI,IAAI;IAC5B,SAAS,CAAC,aAAa,IAAI,IAAI;IAC/B,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAG/D,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAI7D,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAErF,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACrF,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAExF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,0BAA0B;IAE/F,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,+BAA+B;CACzG"}
1
+ {"version":3,"file":"base.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,WAAW,EACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,WAAW,EACX,eAAe,EACf,UAAU,EACV,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1C,8BAAsB,cAAc,CAAC,SAAS,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,EACxF,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAC3E,SAAQ,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC;IAC7B,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAO7D,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAUzD,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAMjD,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAM1D,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7D,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,SAAS,CAAC,UAAU,IAAI,IAAI;IAC5B,SAAS,CAAC,aAAa,IAAI,IAAI;IAE/B,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAI7D,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAErF,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACvE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,0BAA0B;IAE/F,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,+BAA+B;CACzG"}
@@ -20,33 +20,33 @@ export class BaseRepository extends Repository {
20
20
  const entities = await this.findEntities(options);
21
21
  return entities;
22
22
  }
23
- async add(entities) {
24
- const dtos = Array.isArray(entities) ? entities.map(entity => this.getDto(entity)) : [this.getDto(entities)];
25
- if (dtos.length === 0) {
23
+ async add(entityOrEntities) {
24
+ const entities = Array.isArray(entityOrEntities) ? entityOrEntities : [entityOrEntities];
25
+ if (entities.length === 0) {
26
26
  this.onEmptyAdd();
27
27
  return;
28
28
  }
29
- const ids = dtos.map(dto => dto.id);
29
+ const ids = entities.map(({ id }) => id);
30
30
  const existEntities = await this.find({ id: ids });
31
31
  if (existEntities.length > 0 && existEntities[0]) {
32
32
  throw this.getAlreadyExistsException(this.getId(existEntities[0]));
33
33
  }
34
- await this.rawAdd(dtos);
34
+ await this.rawAdd(entities);
35
35
  }
36
- async update(entities) {
37
- const dtos = Array.isArray(entities)
38
- ? entities.map(entity => this.getDto(entity))
39
- : [this.getDto(entities)];
40
- if (dtos.length === 0) {
36
+ async update(entityOrEntities) {
37
+ const entities = Array.isArray(entityOrEntities)
38
+ ? entityOrEntities
39
+ : [entityOrEntities];
40
+ if (entities.length === 0) {
41
41
  this.onEmptyUpdate();
42
42
  return;
43
43
  }
44
- const ids = dtos.map(dto => dto.id);
44
+ const ids = entities.map(({ id }) => id);
45
45
  const existEntities = await this.find({ id: ids });
46
- if (existEntities.length < dtos.length && dtos[0]) {
47
- throw this.getNotFoundException(existEntities[0]?.id ?? dtos[0].id);
46
+ if (existEntities.length < entities.length && entities[0]) {
47
+ throw this.getNotFoundException(this.getId(existEntities[0] ?? entities[0]));
48
48
  }
49
- await this.rawUpdate(dtos);
49
+ await this.rawUpdate(entities);
50
50
  }
51
51
  async clear() {
52
52
  throw new WillNeverHappenedException('The clean method is not implemented, so cleaning the repository is not allowed.');
@@ -56,9 +56,6 @@ export class BaseRepository extends Repository {
56
56
  }
57
57
  onEmptyAdd() { }
58
58
  onEmptyUpdate() { }
59
- getDto(aggregate) {
60
- return aggregate.toDto();
61
- }
62
59
  getId(aggregate) {
63
60
  return aggregate.id;
64
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../src/repositories/base.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../src/repositories/base.repository.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hg-ts/repository",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "exports": {
@@ -18,13 +18,13 @@
18
18
  "test:dev": "HG_ENV=test vitest watch"
19
19
  },
20
20
  "devDependencies": {
21
- "@hg-ts-config/typescript": "0.5.1",
22
- "@hg-ts/domain": "0.5.1",
23
- "@hg-ts/events": "0.5.1",
24
- "@hg-ts/exception": "0.5.1",
25
- "@hg-ts/linter": "0.5.1",
26
- "@hg-ts/tests": "0.5.1",
27
- "@hg-ts/types": "0.5.1",
21
+ "@hg-ts-config/typescript": "0.5.3",
22
+ "@hg-ts/domain": "0.5.3",
23
+ "@hg-ts/events": "0.5.3",
24
+ "@hg-ts/exception": "0.5.3",
25
+ "@hg-ts/linter": "0.5.3",
26
+ "@hg-ts/tests": "0.5.3",
27
+ "@hg-ts/types": "0.5.3",
28
28
  "@types/node": "22.19.1",
29
29
  "@types/uuid": "10.0.0",
30
30
  "@vitest/coverage-v8": "4.0.14",
@@ -38,9 +38,9 @@
38
38
  "vitest": "4.0.14"
39
39
  },
40
40
  "peerDependencies": {
41
- "@hg-ts/domain": "0.5.1",
42
- "@hg-ts/events": "0.5.1",
43
- "@hg-ts/exception": "0.5.1",
41
+ "@hg-ts/domain": "0.5.3",
42
+ "@hg-ts/events": "0.5.3",
43
+ "@hg-ts/exception": "0.5.3",
44
44
  "reflect-metadata": "*",
45
45
  "tslib": "*",
46
46
  "vitest": "*"