@nx-ddd/common 17.1.0 → 17.2.0

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.
@@ -0,0 +1,2 @@
1
+ export * from './models';
2
+ export * from './resolver';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./models"), exports);
5
+ tslib_1.__exportStar(require("./resolver"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,qDAA2B"}
@@ -1,14 +1,11 @@
1
- export type PartialWithId<T> = {
2
- [P in keyof T]?: T[P];
3
- } & {
4
- id: string;
5
- };
1
+ import { Entity } from './models';
2
+ export type PartialWithId<E extends Entity> = Pick<E, 'id'> & Partial<E>;
6
3
  export declare abstract class Repository<E extends {
7
4
  id: string;
8
5
  }> {
9
6
  list(): Promise<E[]>;
10
- get(entity: PartialWithId<E>): Promise<E>;
11
- create(entity: Partial<E>): Promise<E>;
12
- update(entity: PartialWithId<E>): Promise<void>;
13
- delete(entity: PartialWithId<E>): Promise<void>;
7
+ get(entity: Pick<E, 'id'>): Promise<E>;
8
+ create(entity: E): Promise<E>;
9
+ update(entity: Pick<E, 'id'> & Partial<E>): Promise<void>;
10
+ delete(entity: Pick<E, 'id'>): Promise<void>;
14
11
  }
@@ -7,22 +7,18 @@ let Repository = class Repository {
7
7
  list() {
8
8
  throw new Error('is not implemented!');
9
9
  }
10
- ;
11
10
  get(entity) {
12
11
  throw new Error('is not implemented!');
13
12
  }
14
- ;
15
13
  create(entity) {
16
14
  throw new Error('is not implemented!');
17
15
  }
18
- ;
19
16
  update(entity) {
20
17
  throw new Error('is not implemented!');
21
18
  }
22
19
  delete(entity) {
23
20
  throw new Error('is not implemented!');
24
21
  }
25
- ;
26
22
  };
27
23
  exports.Repository = Repository;
28
24
  exports.Repository = Repository = tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/repository.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAKpC,IAAe,UAAU,GAAzB,MAAe,UAAU;IAC9B,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAAA,CAAC;IACF,GAAG,CAAC,MAAwB;QAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAAA,CAAC;IACF,MAAM,CAAC,MAAkB;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAAA,CAAC;IACF,MAAM,CAAC,MAAwB;QAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,MAAwB;QAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAAA,CAAC;CACH,CAAA;AAhBqB,gCAAU;qBAAV,UAAU;IAD/B,IAAA,iBAAU,GAAE;GACS,UAAU,CAgB/B"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/repository.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAMpC,IAAe,UAAU,GAAzB,MAAe,UAAU;IAC9B,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,MAAqB;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAS;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAkC;QACvC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAqB;QAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AApBqB,gCAAU;qBAAV,UAAU;IAD/B,IAAA,iBAAU,GAAE;GACS,UAAU,CAoB/B"}
@@ -0,0 +1,8 @@
1
+ export declare abstract class Resolver {
2
+ private entiityMap;
3
+ protected makeEntityMap<E>(entities: E[], key: keyof E): Map<string, E>;
4
+ protected setEntityMap<E>(name: string, entityMap: Map<string, E>): void;
5
+ protected getEntityMap<E>(name: string): Map<string, E>;
6
+ protected registerEntityMap<E>(name: string, entities: E[], key: keyof E): void;
7
+ protected getEntity<E>(name: string, key: string): E;
8
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Resolver = void 0;
4
+ class Resolver {
5
+ constructor() {
6
+ this.entiityMap = new Map();
7
+ }
8
+ makeEntityMap(entities, key) {
9
+ return new Map(entities.map((entity) => [entity[key], entity]));
10
+ }
11
+ setEntityMap(name, entityMap) {
12
+ this.entiityMap.set(name, entityMap);
13
+ }
14
+ getEntityMap(name) {
15
+ return this.entiityMap.get(name);
16
+ }
17
+ registerEntityMap(name, entities, key) {
18
+ this.setEntityMap(name, this.makeEntityMap(entities, key));
19
+ }
20
+ getEntity(name, key) {
21
+ return this.getEntityMap(name).get(key);
22
+ }
23
+ }
24
+ exports.Resolver = Resolver;
25
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/resolver.ts"],"names":[],"mappings":";;;AAAA,MAAsB,QAAQ;IAA9B;QACS,eAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IAqB1D,CAAC;IAnBU,aAAa,CAAI,QAAa,EAAE,GAAY;QACrD,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAES,YAAY,CAAI,IAAY,EAAE,SAAyB;QAChE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAES,YAAY,CAAI,IAAY;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAES,iBAAiB,CAAI,IAAY,EAAE,QAAa,EAAE,GAAY;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAES,SAAS,CAAI,IAAY,EAAE,GAAW;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;CACD;AAtBD,4BAsBC"}
@@ -7,7 +7,7 @@ export declare function getLastUpdatedAt<T extends {
7
7
  interface SrcRepository<T extends {
8
8
  updatedAt: dayjs.Dayjs;
9
9
  }> {
10
- count: () => Observable<number>;
10
+ count: () => Promise<number>;
11
11
  query: {
12
12
  listChangesAfter: (updatedAt: dayjs.Dayjs, { limit }: {
13
13
  limit?: number;
@@ -26,7 +26,7 @@ class CachedQuery {
26
26
  lastUpdatedAtChanges: () => this.indexedDb.listChanges().pipe((0, rxjs_1.map)(getLastUpdatedAt)),
27
27
  saveMany: (items) => this.indexedDb.saveMany(items),
28
28
  listChangesAfter: (updatedAt) => this.repository.query.listChangesAfter(updatedAt, { limit: this.options.chunkSize }),
29
- srcCount: () => this.repository.count(),
29
+ srcCount: () => (0, rxjs_1.from)(this.repository.count()),
30
30
  destCount: () => this.indexedDb.count(),
31
31
  });
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cached-query.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/common/src/infrastructure/queries/cached-query.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAC3C,0DAA0B;AAC1B,kDAAyD;AACzD,+BAAmF;AAEnF,SAAgB,gBAAgB,CAAqC,KAAU;IAC7E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QACpC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAA;YAAE,OAAO,GAAG,CAAC;QACrC,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACpE,CAAC,EAAE,IAAA,eAAK,EAAC,YAAY,CAAC,CAAC,CAAC;AAC1B,CAAC;AALD,4CAKC;AAeD,MAAa,WAAW;IACtB,YACY,UAA4B,EAC5B,SAA4B,EAC5B,UAGN;QACF,YAAY,EAAE,IAAK;QACnB,SAAS,EAAE,GAAG;KACf;QARS,eAAU,GAAV,UAAU,CAAkB;QAC5B,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAMhB;QAEM,iBAAY,GAAG,IAAI,qCAAsB,CAAC;YACjD,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,gBAAgB,CAAC,CAAC;YACpF,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxD,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,CAAC;YACnH,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACvC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;SACxC,CAAC,CAAC;IAPC,CAAC;IASL,IAAI;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,CAClC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAC7C,IAAA,mBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EACvC,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CACtC,CAAC;IACJ,CAAC;CACF;AA3BD,kCA2BC;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,MAAM,CACJ,UAA4B,EAC5B,SAA4B;QAE5B,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAPY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;GACpB,kBAAkB,CAO9B"}
1
+ {"version":3,"file":"cached-query.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/common/src/infrastructure/queries/cached-query.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAC3C,0DAA0B;AAC1B,kDAAyD;AACzD,+BAAyF;AAEzF,SAAgB,gBAAgB,CAAqC,KAAU;IAC7E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QACpC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAA;YAAE,OAAO,GAAG,CAAC;QACrC,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACpE,CAAC,EAAE,IAAA,eAAK,EAAC,YAAY,CAAC,CAAC,CAAC;AAC1B,CAAC;AALD,4CAKC;AAeD,MAAa,WAAW;IACtB,YACY,UAA4B,EAC5B,SAA4B,EAC5B,UAGN;QACF,YAAY,EAAE,IAAK;QACnB,SAAS,EAAE,GAAG;KACf;QARS,eAAU,GAAV,UAAU,CAAkB;QAC5B,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAMhB;QAEM,iBAAY,GAAG,IAAI,qCAAsB,CAAC;YACjD,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,gBAAgB,CAAC,CAAC;YACpF,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxD,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,CAAC;YACnH,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC7C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;SACxC,CAAC,CAAC;IAPC,CAAC;IASL,IAAI;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,CAClC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAC7C,IAAA,mBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EACvC,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CACtC,CAAC;IACJ,CAAC;CACF;AA3BD,kCA2BC;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,MAAM,CACJ,UAA4B,EAC5B,SAA4B;QAE5B,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAPY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;GACpB,kBAAkB,CAO9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx-ddd/common",
3
- "version": "17.1.0",
3
+ "version": "17.2.0",
4
4
  "main": "./src/index.js",
5
5
  "types": "./index.d.ts",
6
6
  "homepage": "https://github.com/xx-machina/plaform/tree/main/packages/@nx-ddd/common",