@nx-ddd/firestore 16.1.1 → 16.3.1

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.
Files changed (71) hide show
  1. package/README.md +76 -6
  2. package/adapters/admin/admin.adapter.d.ts +16 -12
  3. package/adapters/admin/admin.adapter.js +25 -23
  4. package/adapters/admin/admin.adapter.js.map +1 -1
  5. package/adapters/admin/index.js +1 -4
  6. package/adapters/admin/index.js.map +1 -1
  7. package/adapters/base/base.adapter.d.ts +8 -4
  8. package/adapters/base/base.adapter.js +80 -51
  9. package/adapters/base/base.adapter.js.map +1 -1
  10. package/adapters/base/index.js +1 -4
  11. package/adapters/base/index.js.map +1 -1
  12. package/adapters/firebase/firebase.adapter.d.ts +2 -2
  13. package/adapters/firebase/firebase.adapter.js +43 -41
  14. package/adapters/firebase/firebase.adapter.js.map +1 -1
  15. package/adapters/firebase/index.js +1 -4
  16. package/adapters/firebase/index.js.map +1 -1
  17. package/adapters/index.d.ts +0 -2
  18. package/adapters/index.js +1 -6
  19. package/adapters/index.js.map +1 -1
  20. package/converter/converter.d.ts +18 -12
  21. package/converter/converter.js +14 -28
  22. package/converter/converter.js.map +1 -1
  23. package/converter/index.js +1 -4
  24. package/converter/index.js.map +1 -1
  25. package/dao/firestore.dao.js +1 -5
  26. package/dao/firestore.dao.js.map +1 -1
  27. package/dao/index.js +1 -4
  28. package/dao/index.js.map +1 -1
  29. package/decorators/decorators.d.ts +4 -4
  30. package/decorators/decorators.js +26 -33
  31. package/decorators/decorators.js.map +1 -1
  32. package/decorators/index.js +1 -4
  33. package/decorators/index.js.map +1 -1
  34. package/index.d.ts +1 -0
  35. package/index.js +7 -9
  36. package/index.js.map +1 -1
  37. package/interfaces/index.js +1 -4
  38. package/interfaces/index.js.map +1 -1
  39. package/interfaces/interfaces.js +1 -2
  40. package/interfaces/interfaces.js.map +1 -1
  41. package/package.json +11 -5
  42. package/path-builder/index.js +1 -4
  43. package/path-builder/index.js.map +1 -1
  44. package/path-builder/path-builder.js +7 -14
  45. package/path-builder/path-builder.js.map +1 -1
  46. package/query/firestore.query.d.ts +8 -3
  47. package/query/firestore.query.js +37 -17
  48. package/query/firestore.query.js.map +1 -1
  49. package/query/index.js +1 -4
  50. package/query/index.js.map +1 -1
  51. package/repository/index.d.ts +0 -1
  52. package/repository/index.js +1 -5
  53. package/repository/index.js.map +1 -1
  54. package/repository/repository.d.ts +12 -14
  55. package/repository/repository.js +26 -24
  56. package/repository/repository.js.map +1 -1
  57. package/testing/common.d.ts +1 -0
  58. package/testing/common.js +15 -15
  59. package/testing/common.js.map +1 -1
  60. package/testing/index.d.ts +0 -2
  61. package/testing/index.js +1 -6
  62. package/testing/index.js.map +1 -1
  63. package/repository/decorator.d.ts +0 -8
  64. package/repository/decorator.js +0 -41
  65. package/repository/decorator.js.map +0 -1
  66. package/testing/domain.d.ts +0 -12
  67. package/testing/domain.js +0 -22
  68. package/testing/domain.js.map +0 -1
  69. package/testing/repository.d.ts +0 -6
  70. package/testing/repository.js +0 -24
  71. package/testing/repository.js.map +0 -1
package/README.md CHANGED
@@ -1,11 +1,81 @@
1
- # firestore
1
+ # @NxDDD/Firestroe
2
+ `@nx-ddd/firestore` is a library that wraps Firestore in the Repository pattern. It uses the Adapter pattern to enable the same codebase to work with both FirebaseAdmin and Firebase.
2
3
 
3
- This library was generated with [Nx](https://nx.dev).
4
+ ## Usage
4
5
 
5
- ## Running unit tests
6
+ ### Common
6
7
 
7
- Run `nx test firestore` to execute the unit tests via [Jest](https://jestjs.io).
8
+ ```ts
9
+ // libs/common/infrastructure/repositories/user.repository
10
+ import 'reflect-metadata';
11
+ import '@angular/compiler';
12
+ import { inject, Injectable } from '@angular/core';
13
+ import { TransformToDayjs } from '@nx-ddd/common/domain/models';
14
+ import { IsDayjs } from 'class-validator-extended';
15
+ import dayjs from 'dayjs';
16
+ import { BaseFirestoreRepository, Firestore, injectConverter, pathBuilderFactory } from '@nx-ddd/firestore';
17
+ import { FirestoreAdapter } from '@nx-ddd/firestore/adapters/base';
18
+ import { bootstrap } from '@nx-ddd/core/v2';
8
19
 
9
- ## Running lint
20
+ export class User {
21
+ @Firestore.ID() id: string;
22
+ @Firestore.String() name: string;
23
+ @Firestore.Timestamp() @IsDayjs() @TransformToDayjs() createdAt: dayjs.Dayjs;
24
+ @Firestore.Timestamp() @IsDayjs() @TransformToDayjs() updatedAt: dayjs.Dayjs;
25
+ }
10
26
 
11
- Run `nx lint firestore` to execute the lint via [ESLint](https://eslint.org/).
27
+ @Injectable({providedIn: 'root'})
28
+ export class UserRepository extends BaseFirestoreRepository<User> {
29
+ protected collectionPath = `users/:id`;
30
+ protected converter = injectConverter(User);
31
+ protected pathBuilder = pathBuilderFactory(this.collectionPath);
32
+ protected adapter = inject(FirestoreAdapter);
33
+ }
34
+ ```
35
+
36
+ ### Firebase Admin (in NodeJS)
37
+ Use `UserRepository` in NodeJS.
38
+
39
+ ```ts
40
+ // apps/api/src/app/main.ts
41
+ import { provideFirestoreAdapter } from '@nx-ddd/firestore/adapters/admin';
42
+ import { UserRepository } from 'libs/common/infrastructure/repositories/user.repository';
43
+
44
+ bootstrap([
45
+ provideFirestoreAdapter(),
46
+ ]).then(async (injector) => {
47
+ const repository = injector.get(UserRepository);
48
+ await repository.create({
49
+ id: '0001',
50
+ name: 'test',
51
+ createdAt: dayjs('2022-01-01'),
52
+ updatedAt: dayjs('2022-01-01'),
53
+ });
54
+ const user = await repository.get({id: '0001'});
55
+ console.debug('user:', user);
56
+ });
57
+ ```
58
+
59
+
60
+ ### Firebase (in Browser)
61
+ Use `UserRepository` in browser.
62
+
63
+ ```ts
64
+ // apps/app/src/app/main.ts
65
+ import { provideFirestoreAdapter } from '@nx-ddd/firestore/adapters/firebase';
66
+ import { UserRepository } from 'libs/common/infrastructure/repositories/user.repository';
67
+
68
+ bootstrap([
69
+ provideFirestoreAdapter(),
70
+ ]).then(async (injector) => {
71
+ const repository = injector.get(UserRepository);
72
+ await repository.create({
73
+ id: '0001',
74
+ name: 'test',
75
+ createdAt: dayjs('2022-01-01'),
76
+ updatedAt: dayjs('2022-01-01'),
77
+ });
78
+ const user = await repository.get({id: '0001'});
79
+ console.debug('user:', user);
80
+ });
81
+ ```
@@ -1,26 +1,30 @@
1
1
  import dayjs from 'dayjs';
2
- import { firestore } from 'firebase-admin';
2
+ import admin from 'firebase-admin';
3
3
  import { DocumentReference, FirestoreCollection, FirestoreCollectionGroup } from '../../interfaces';
4
4
  import { FirestoreAdapter, QueryFn, WhereFilterOp } from '../base';
5
5
  export declare class AdminFirestoreAdapter extends FirestoreAdapter<dayjs.Dayjs> {
6
- protected firestore: firestore.Firestore;
7
- get FieldValue(): typeof firestore.FieldValue;
8
- get Timestamp(): typeof firestore.Timestamp;
9
- get FieldPath(): typeof firestore.FieldPath;
10
- protected isTimestamp(v: any): v is firestore.Timestamp;
11
- protected isFieldValue(v: any): v is firestore.FieldValue;
6
+ protected firestore: admin.firestore.Firestore;
7
+ get FieldValue(): typeof admin.firestore.FieldValue;
8
+ get Timestamp(): typeof admin.firestore.Timestamp;
9
+ get FieldPath(): typeof admin.firestore.FieldPath;
10
+ protected isTimestamp(v: any): v is admin.firestore.Timestamp;
11
+ protected isFieldValue(v: any): v is admin.firestore.FieldValue;
12
12
  protected isDate(v: any): v is dayjs.Dayjs;
13
- protected convertDateToTimestamp(date: dayjs.Dayjs): firestore.Timestamp;
14
- protected convertTimestampToDate(timestamp: firestore.Timestamp): dayjs.Dayjs;
15
- doc(path: string): DocumentReference<any, firestore.DocumentReference>;
16
- collection(path: string): FirestoreCollection<any, firestore.CollectionReference>;
13
+ convertDateToTimestamp(date: dayjs.Dayjs): admin.firestore.Timestamp;
14
+ convertTimestampToDate(timestamp: admin.firestore.Timestamp): dayjs.Dayjs;
15
+ doc(path: string): DocumentReference<any, admin.firestore.DocumentReference>;
16
+ collection(path: string): FirestoreCollection<any, admin.firestore.CollectionReference>;
17
17
  collectionGroup(collectionId: string): FirestoreCollectionGroup<any>;
18
18
  runTransaction(fn: any): Promise<unknown>;
19
19
  query<Data>(collection: FirestoreCollection<Data>, ...queryFnArray: QueryFn<Data>[]): any;
20
20
  where<Data>(key: string, evaluation: WhereFilterOp, value: unknown): QueryFn<Data>;
21
21
  orderBy<Data>(key: string, order?: 'asc' | 'desc'): QueryFn<Data>;
22
22
  limit<Data>(n: number): QueryFn<Data>;
23
- batch(): firestore.WriteBatch;
23
+ batch(): admin.firestore.WriteBatch;
24
24
  }
25
25
  export declare class AdminFirestoreModule {
26
26
  }
27
+ export declare function provideFirestoreAdapter(): {
28
+ provide: typeof FirestoreAdapter;
29
+ useClass: new () => FirestoreAdapter<any>;
30
+ };
@@ -1,24 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AdminFirestoreModule = exports.AdminFirestoreAdapter = void 0;
4
- const tslib_1 = require("tslib");
5
- const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
6
- const firebase_admin_1 = require("firebase-admin");
7
- const base_1 = require("../base");
8
- const core_1 = require("@nx-ddd/core");
9
- let AdminFirestoreAdapter = exports.AdminFirestoreAdapter = class AdminFirestoreAdapter extends base_1.FirestoreAdapter {
1
+ import { __decorate } from "tslib";
2
+ import { Injectable, NgModule } from '@angular/core';
3
+ import dayjs from 'dayjs';
4
+ import admin from 'firebase-admin';
5
+ import { FirestoreAdapter, provideFirestoreAdapter as _provideFirestoreAdapter } from '../base';
6
+ let AdminFirestoreAdapter = class AdminFirestoreAdapter extends FirestoreAdapter {
10
7
  constructor() {
11
8
  super(...arguments);
12
- this.firestore = (0, firebase_admin_1.firestore)();
9
+ this.firestore = admin.firestore();
13
10
  }
14
11
  get FieldValue() {
15
- return firebase_admin_1.firestore.FieldValue;
12
+ return admin.firestore.FieldValue;
16
13
  }
17
14
  get Timestamp() {
18
- return firebase_admin_1.firestore.Timestamp;
15
+ return admin.firestore.Timestamp;
19
16
  }
20
17
  get FieldPath() {
21
- return firebase_admin_1.firestore.FieldPath;
18
+ return admin.firestore.FieldPath;
22
19
  }
23
20
  isTimestamp(v) {
24
21
  return v instanceof this.Timestamp;
@@ -27,16 +24,16 @@ let AdminFirestoreAdapter = exports.AdminFirestoreAdapter = class AdminFirestore
27
24
  return v instanceof this.FieldValue;
28
25
  }
29
26
  isDate(v) {
30
- return dayjs_1.default.isDayjs(v);
27
+ return dayjs.isDayjs(v);
31
28
  }
32
29
  convertDateToTimestamp(date) {
33
- if (dayjs_1.default.isDayjs(date) && date.isValid()) {
34
- return firebase_admin_1.firestore.Timestamp.fromDate(date.toDate());
30
+ if (dayjs.isDayjs(date) && date.isValid()) {
31
+ return admin.firestore.Timestamp.fromDate(date.toDate());
35
32
  }
36
33
  throw new Error(`Invalid date: ${date}`);
37
34
  }
38
35
  convertTimestampToDate(timestamp) {
39
- return (0, dayjs_1.default)(timestamp.toDate());
36
+ return dayjs(timestamp.toDate());
40
37
  }
41
38
  doc(path) {
42
39
  const docRef = this.firestore.doc(path);
@@ -74,16 +71,21 @@ let AdminFirestoreAdapter = exports.AdminFirestoreAdapter = class AdminFirestore
74
71
  return this.firestore.batch();
75
72
  }
76
73
  };
77
- exports.AdminFirestoreAdapter = AdminFirestoreAdapter = tslib_1.__decorate([
78
- (0, core_1.Injectable)()
74
+ AdminFirestoreAdapter = __decorate([
75
+ Injectable()
79
76
  ], AdminFirestoreAdapter);
80
- let AdminFirestoreModule = exports.AdminFirestoreModule = class AdminFirestoreModule {
77
+ export { AdminFirestoreAdapter };
78
+ let AdminFirestoreModule = class AdminFirestoreModule {
81
79
  };
82
- exports.AdminFirestoreModule = AdminFirestoreModule = tslib_1.__decorate([
83
- (0, core_1.NxModule)({
80
+ AdminFirestoreModule = __decorate([
81
+ NgModule({
84
82
  providers: [
85
- { provide: base_1.FirestoreAdapter, useClass: AdminFirestoreAdapter },
83
+ { provide: FirestoreAdapter, useClass: AdminFirestoreAdapter },
86
84
  ],
87
85
  })
88
86
  ], AdminFirestoreModule);
87
+ export { AdminFirestoreModule };
88
+ export function provideFirestoreAdapter() {
89
+ return _provideFirestoreAdapter(AdminFirestoreAdapter);
90
+ }
89
91
  //# sourceMappingURL=admin.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.adapter.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/adapters/admin/admin.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.adapter.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/adapters/admin/admin.adapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,gBAAgB,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAA0B,uBAAuB,IAAI,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAGjH,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,gBAA6B;IAAjE;;QACK,cAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAgF1C,CAAC;IA9EC,IAAI,UAAU;QACZ,OAAO,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;IACnC,CAAC;IAES,WAAW,CAAC,CAAM;QAC1B,OAAO,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC;IACrC,CAAC;IAES,YAAY,CAAC,CAAM;QAC3B,OAAO,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC;IACtC,CAAC;IAES,MAAM,CAAC,CAAM;QACrB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,sBAAsB,CAAC,IAAiB;QACtC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YACzC,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1D;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB,CAAC,SAAoC;QACzD,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5D,GAAG,EAAE,CAAC,IAAI,EAAE,OAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;YAClD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;YACvB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,YAAoB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,cAAc,CAAC,EAAO;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAO,UAAqC,EAAE,GAAG,YAA6B;QACjF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,CAAC;IACrG,CAAC;IAED,KAAK,CAAO,GAAW,EAAE,UAAyB,EAAE,KAAc;QAChE,OAAO,CAAC,UAAmF,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3I,CAAC;IAED,OAAO,CAAO,GAAW,EAAE,QAAwB,KAAK;QACtD,OAAO,CAAC,UAAmF,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjI,CAAC;IAED,KAAK,CAAO,CAAS;QACnB,OAAO,CAAC,UAAmF,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtH,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF,CAAA;AAjFY,qBAAqB;IADjC,UAAU,EAAE;GACA,qBAAqB,CAiFjC;;AAOM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAI,CAAA;AAAxB,oBAAoB;IALhC,QAAQ,CAAC;QACR,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE;SAC/D;KACF,CAAC;GACW,oBAAoB,CAAI;;AAErC,MAAM,UAAU,uBAAuB;IACrC,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;AACzD,CAAC"}
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./admin.adapter"), exports);
1
+ export * from './admin.adapter';
5
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/adapters/admin/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/adapters/admin/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -5,8 +5,8 @@ export declare abstract class FirestoreAdapter<Date = any> {
5
5
  protected abstract isTimestamp(v: any): v is Timestamp;
6
6
  protected abstract isFieldValue(v: any): v is FieldValue;
7
7
  protected abstract isDate(v: any): v is Date;
8
- protected abstract convertTimestampToDate(timestamp: Timestamp): Date;
9
- protected abstract convertDateToTimestamp(date: Date): Timestamp;
8
+ abstract convertTimestampToDate(timestamp: Timestamp): Date;
9
+ abstract convertDateToTimestamp(date: Date): Timestamp;
10
10
  abstract get Timestamp(): any;
11
11
  abstract get FieldValue(): any;
12
12
  abstract get FieldPath(): any;
@@ -21,10 +21,14 @@ export declare abstract class FirestoreAdapter<Date = any> {
21
21
  abstract limit<Data>(n: number): QueryFn<Data>;
22
22
  toFirestoreData<Entity>(entity: Entity): ToFirestoreData<Entity, Date>;
23
23
  fromFirestoreData<Entity>(data: ToFirestoreData<Entity, Date>): Entity;
24
- toFirestore(obj: object, Entity: any): {};
25
- fromFirestore(data: any, Entity: any): {};
24
+ toFirestore<T>(obj: object, Entity: new () => T): object;
25
+ fromFirestore<T = any>(data: any, Entity: new () => T): T;
26
26
  /**
27
27
  * @description FirestoreのUpdateは通常のオブジェクトでは孫以下のプロパティが既存データとマージされないので、パスに変換する必要がある。
28
28
  */
29
29
  flattenForUpdate(obj: any): any;
30
30
  }
31
+ export declare function provideFirestoreAdapter(useClass: new () => FirestoreAdapter): {
32
+ provide: typeof FirestoreAdapter;
33
+ useClass: new () => FirestoreAdapter;
34
+ };
@@ -1,22 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirestoreAdapter = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@nx-ddd/core");
6
- const decorators_1 = require("@nx-ddd/firestore/decorators");
7
- const lodash_get_1 = tslib_1.__importDefault(require("lodash.get"));
8
- const walk_obj_1 = require("@nx-ddd/core/util/walk-obj");
9
- let FirestoreAdapter = exports.FirestoreAdapter = class FirestoreAdapter {
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { getFirestoreAnnotations } from "@nx-ddd/firestore/decorators";
4
+ import { walkObj } from '@nx-ddd/core/util/walk-obj';
5
+ import { get } from 'lodash-es';
6
+ let FirestoreAdapter = class FirestoreAdapter {
7
+ //** @deprecated */
10
8
  toFirestoreData(entity) {
11
9
  return Object.entries(entity).reduce((pre, [k, v]) => (Object.assign(Object.assign({}, pre), { [k]: this.isDate(v) ? this.convertDateToTimestamp(v) : v })), {});
12
10
  }
11
+ //** @deprecated */
13
12
  fromFirestoreData(data) {
14
13
  return Object.entries(data).reduce((pre, [k, v]) => (Object.assign(Object.assign({}, pre), { [k]: this.isTimestamp(v) ? this.convertTimestampToDate(v) : v })), {});
15
14
  }
16
15
  toFirestore(obj, Entity) {
17
16
  const newObj = {};
18
- for (const annotation of (0, decorators_1.getFirestoreAnnotations)(Entity)) {
19
- const _value = (0, lodash_get_1.default)(obj, annotation.propName);
17
+ for (const annotation of getFirestoreAnnotations(Entity)) {
18
+ const _value = get(obj, annotation.propName);
20
19
  if (_value === null) {
21
20
  newObj[annotation.fieldName] = null;
22
21
  continue;
@@ -24,7 +23,8 @@ let FirestoreAdapter = exports.FirestoreAdapter = class FirestoreAdapter {
24
23
  switch (annotation.type) {
25
24
  case 'id':
26
25
  case 'string':
27
- case 'number': {
26
+ case 'number':
27
+ case 'boolean': {
28
28
  if (typeof _value === 'undefined')
29
29
  break;
30
30
  newObj[annotation.fieldName] = _value;
@@ -33,33 +33,47 @@ let FirestoreAdapter = exports.FirestoreAdapter = class FirestoreAdapter {
33
33
  case 'timestamp': {
34
34
  if (typeof _value === 'undefined')
35
35
  break;
36
+ if (!this.isDate(_value))
37
+ throw new Error(`Invalid Date Type: ${_value}`);
36
38
  newObj[annotation.fieldName] = this.convertDateToTimestamp(_value);
37
39
  break;
38
40
  }
39
41
  case 'array': {
40
- const Type = annotation.childType();
41
- if (typeof _value === 'undefined')
42
- break;
43
- const value = _value.map(v => {
44
- switch (Type) {
45
- case String:
46
- case Number:
47
- return v;
48
- default:
49
- return this.toFirestore(v, Type);
50
- }
51
- });
52
- if (value)
53
- newObj[annotation.fieldName] = value;
42
+ if (typeof (annotation === null || annotation === void 0 ? void 0 : annotation.childType) === 'undefined') {
43
+ if (_value)
44
+ newObj[annotation.fieldName] = _value;
45
+ }
46
+ else {
47
+ const Type = annotation.childType();
48
+ if (typeof _value === 'undefined')
49
+ break;
50
+ const value = _value.map(v => {
51
+ switch (Type) {
52
+ case String:
53
+ case Number:
54
+ return v;
55
+ default:
56
+ return this.toFirestore(v, Type);
57
+ }
58
+ });
59
+ if (value)
60
+ newObj[annotation.fieldName] = value;
61
+ }
54
62
  break;
55
63
  }
56
64
  case 'map': {
57
- const Type = annotation.childType();
58
65
  if (typeof _value === 'undefined')
59
66
  break;
60
- const value = this.toFirestore(_value, Type);
61
- if (value)
62
- newObj[annotation.fieldName] = value;
67
+ if (typeof (annotation === null || annotation === void 0 ? void 0 : annotation.childType) === 'undefined') {
68
+ if (_value)
69
+ newObj[annotation.fieldName] = _value;
70
+ }
71
+ else {
72
+ const Type = annotation.childType();
73
+ const value = this.toFirestore(_value, Type);
74
+ if (value)
75
+ newObj[annotation.fieldName] = value;
76
+ }
63
77
  break;
64
78
  }
65
79
  }
@@ -68,7 +82,7 @@ let FirestoreAdapter = exports.FirestoreAdapter = class FirestoreAdapter {
68
82
  }
69
83
  fromFirestore(data, Entity) {
70
84
  const newObj = {};
71
- for (const annotation of (0, decorators_1.getFirestoreAnnotations)(Entity)) {
85
+ for (const annotation of getFirestoreAnnotations(Entity)) {
72
86
  const _value = data[annotation.fieldName];
73
87
  if (typeof _value === 'undefined')
74
88
  continue;
@@ -79,7 +93,8 @@ let FirestoreAdapter = exports.FirestoreAdapter = class FirestoreAdapter {
79
93
  switch (annotation.type) {
80
94
  case 'id':
81
95
  case 'string':
82
- case 'number': {
96
+ case 'number':
97
+ case 'boolean': {
83
98
  newObj[annotation.propName] = _value;
84
99
  break;
85
100
  }
@@ -93,25 +108,35 @@ let FirestoreAdapter = exports.FirestoreAdapter = class FirestoreAdapter {
93
108
  break;
94
109
  }
95
110
  case 'array': {
96
- const Type = annotation.childType();
97
- const value = _value.map(v => {
98
- switch (Type) {
99
- case String:
100
- case Number:
101
- return v;
102
- default:
103
- return this.fromFirestore(v, Type);
104
- }
105
- });
106
- if (value)
107
- newObj[annotation.propName] = value;
111
+ if (typeof (annotation === null || annotation === void 0 ? void 0 : annotation.childType) === 'undefined') {
112
+ newObj[annotation.propName] = _value;
113
+ }
114
+ else {
115
+ const Type = annotation.childType();
116
+ const value = _value.map(v => {
117
+ switch (Type) {
118
+ case String:
119
+ case Number:
120
+ return v;
121
+ default:
122
+ return this.fromFirestore(v, Type);
123
+ }
124
+ });
125
+ if (value)
126
+ newObj[annotation.propName] = value;
127
+ }
108
128
  break;
109
129
  }
110
130
  case 'map': {
111
- const Type = annotation.childType();
112
- const value = this.fromFirestore(_value, Type);
113
- if (value)
114
- newObj[annotation.propName] = value;
131
+ if (typeof (annotation === null || annotation === void 0 ? void 0 : annotation.childType) === 'undefined') {
132
+ newObj[annotation.propName] = _value;
133
+ }
134
+ else {
135
+ const Type = annotation.childType();
136
+ const value = this.fromFirestore(_value, Type);
137
+ if (value)
138
+ newObj[annotation.propName] = value;
139
+ }
115
140
  break;
116
141
  }
117
142
  }
@@ -123,7 +148,7 @@ let FirestoreAdapter = exports.FirestoreAdapter = class FirestoreAdapter {
123
148
  */
124
149
  flattenForUpdate(obj) {
125
150
  const newObj = {};
126
- (0, walk_obj_1.walkObj)(obj, {
151
+ walkObj(obj, {
127
152
  callback: (paths, value) => newObj[paths.join('.')] = value,
128
153
  overwrite: (_, value) => {
129
154
  if (Array.isArray(value))
@@ -138,7 +163,11 @@ let FirestoreAdapter = exports.FirestoreAdapter = class FirestoreAdapter {
138
163
  return newObj;
139
164
  }
140
165
  };
141
- exports.FirestoreAdapter = FirestoreAdapter = tslib_1.__decorate([
142
- (0, core_1.Injectable)()
166
+ FirestoreAdapter = __decorate([
167
+ Injectable()
143
168
  ], FirestoreAdapter);
169
+ export { FirestoreAdapter };
170
+ export function provideFirestoreAdapter(useClass) {
171
+ return { provide: FirestoreAdapter, useClass };
172
+ }
144
173
  //# sourceMappingURL=base.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/adapters/base/base.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/adapters/base/base.adapter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./base.adapter"), exports);
1
+ export * from './base.adapter';
5
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/adapters/base/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/adapters/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -11,8 +11,8 @@ export declare class FirebaseFirestoreAdapter extends FirestoreAdapter<dayjs.Day
11
11
  protected isTimestamp(v: any): v is Timestamp;
12
12
  protected isFieldValue(v: any): v is FieldValue;
13
13
  protected isDate(v: any): v is dayjs.Dayjs;
14
- protected convertDateToTimestamp(date: dayjs.Dayjs): Timestamp;
15
- protected convertTimestampToDate(timestamp: Timestamp): dayjs.Dayjs;
14
+ convertDateToTimestamp(date: dayjs.Dayjs): Timestamp;
15
+ convertTimestampToDate(timestamp: Timestamp): dayjs.Dayjs;
16
16
  doc(path: string): FirestoreDocument<any>;
17
17
  collection(path: string): FirestoreCollection<any>;
18
18
  collectionGroup(collectionId: string): FirestoreCollectionGroup<any>;