@dereekb/firebase 4.0.1 → 5.0.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 (103) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE +21 -0
  3. package/package.json +13 -6
  4. package/src/lib/client/firestore/driver.accessor.batch.d.ts +5 -5
  5. package/src/lib/client/firestore/driver.accessor.batch.js +1 -1
  6. package/src/lib/client/firestore/driver.accessor.batch.js.map +1 -1
  7. package/src/lib/client/firestore/driver.accessor.d.ts +1 -1
  8. package/src/lib/client/firestore/driver.accessor.default.d.ts +4 -4
  9. package/src/lib/client/firestore/driver.accessor.default.js +1 -1
  10. package/src/lib/client/firestore/driver.accessor.default.js.map +1 -1
  11. package/src/lib/client/firestore/driver.accessor.js.map +1 -1
  12. package/src/lib/client/firestore/driver.accessor.transaction.d.ts +5 -5
  13. package/src/lib/client/firestore/driver.accessor.transaction.js +1 -1
  14. package/src/lib/client/firestore/driver.accessor.transaction.js.map +1 -1
  15. package/src/lib/client/firestore/driver.d.ts +1 -2
  16. package/src/lib/client/firestore/driver.query.d.ts +6 -6
  17. package/src/lib/client/firestore/driver.query.js +2 -2
  18. package/src/lib/client/firestore/driver.query.js.map +1 -1
  19. package/src/lib/client/firestore/firestore.d.ts +1 -1
  20. package/src/lib/client/function/function.d.ts +2 -2
  21. package/src/lib/client/function/function.factory.d.ts +2 -2
  22. package/src/lib/client/function/function.factory.js.map +1 -1
  23. package/src/lib/common/firestore/accessor/accessor.batch.d.ts +2 -2
  24. package/src/lib/common/firestore/accessor/accessor.d.ts +10 -9
  25. package/src/lib/common/firestore/accessor/accessor.default.d.ts +1 -1
  26. package/src/lib/common/firestore/accessor/accessor.js.map +1 -1
  27. package/src/lib/common/firestore/accessor/accessor.transaction.d.ts +3 -3
  28. package/src/lib/common/firestore/accessor/context.batch.d.ts +2 -2
  29. package/src/lib/common/firestore/accessor/context.d.ts +1 -1
  30. package/src/lib/common/firestore/accessor/context.default.d.ts +1 -1
  31. package/src/lib/common/firestore/accessor/context.transaction.d.ts +2 -2
  32. package/src/lib/common/firestore/accessor/document.js +3 -2
  33. package/src/lib/common/firestore/accessor/document.js.map +1 -1
  34. package/src/lib/common/firestore/accessor/document.utility.js +4 -4
  35. package/src/lib/common/firestore/accessor/document.utility.js.map +1 -1
  36. package/src/lib/common/firestore/collection/collection.d.ts +10 -10
  37. package/src/lib/common/firestore/collection/collection.js +2 -2
  38. package/src/lib/common/firestore/collection/collection.js.map +1 -1
  39. package/src/lib/common/firestore/collection/collection.query.d.ts +5 -5
  40. package/src/lib/common/firestore/collection/collection.query.js +3 -3
  41. package/src/lib/common/firestore/collection/collection.query.js.map +1 -1
  42. package/src/lib/common/firestore/collection/subcollection.d.ts +1 -1
  43. package/src/lib/common/firestore/collection/subcollection.js.map +1 -1
  44. package/src/lib/common/firestore/collection/subcollection.single.d.ts +1 -1
  45. package/src/lib/common/firestore/collection/subcollection.single.js.map +1 -1
  46. package/src/lib/common/firestore/context.d.ts +3 -4
  47. package/src/lib/common/firestore/context.js.map +1 -1
  48. package/src/lib/common/firestore/driver/driver.d.ts +2 -2
  49. package/src/lib/common/firestore/driver/query.d.ts +2 -2
  50. package/src/lib/common/firestore/driver/query.handler.d.ts +1 -1
  51. package/src/lib/common/firestore/driver/query.handler.js.map +1 -1
  52. package/src/lib/common/firestore/driver/transaction.d.ts +4 -1
  53. package/src/lib/common/firestore/query/accumulator.d.ts +5 -5
  54. package/src/lib/common/firestore/query/accumulator.js +1 -1
  55. package/src/lib/common/firestore/query/accumulator.js.map +1 -1
  56. package/src/lib/common/firestore/query/constraint.d.ts +13 -9
  57. package/src/lib/common/firestore/query/constraint.js +3 -3
  58. package/src/lib/common/firestore/query/constraint.js.map +1 -1
  59. package/src/lib/common/firestore/query/iterator.d.ts +6 -6
  60. package/src/lib/common/firestore/query/iterator.js +7 -6
  61. package/src/lib/common/firestore/query/iterator.js.map +1 -1
  62. package/src/lib/common/firestore/query/query.d.ts +4 -4
  63. package/src/lib/common/firestore/query/query.util.d.ts +2 -2
  64. package/src/lib/common/firestore/query/query.util.js +2 -3
  65. package/src/lib/common/firestore/query/query.util.js.map +1 -1
  66. package/src/lib/common/firestore/query/watcher.d.ts +7 -7
  67. package/src/lib/common/firestore/query/watcher.js +13 -9
  68. package/src/lib/common/firestore/query/watcher.js.map +1 -1
  69. package/src/lib/common/firestore/reference.d.ts +2 -2
  70. package/src/lib/common/firestore/snapshot/snapshot.d.ts +61 -12
  71. package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +37 -20
  72. package/src/lib/common/firestore/snapshot/snapshot.field.js +60 -22
  73. package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
  74. package/src/lib/common/firestore/snapshot/snapshot.js +12 -5
  75. package/src/lib/common/firestore/snapshot/snapshot.js.map +1 -1
  76. package/src/lib/common/firestore/types.d.ts +14 -9
  77. package/src/lib/common/firestore/types.js +1 -2
  78. package/src/lib/common/firestore/types.js.map +1 -1
  79. package/src/lib/common/function/action.d.ts +1 -1
  80. package/src/lib/model/user.d.ts +2 -3
  81. package/test/CHANGELOG.md +22 -0
  82. package/test/package.json +7 -8
  83. package/test/src/lib/client/firestore.d.ts +1 -1
  84. package/test/src/lib/client/firestore.js.map +1 -1
  85. package/test/src/lib/common/firestore.js +1 -1
  86. package/test/src/lib/common/firestore.js.map +1 -1
  87. package/test/src/lib/common/firestore.mock.d.ts +2 -2
  88. package/test/src/lib/common/firestore.mock.item.d.ts +44 -20
  89. package/test/src/lib/common/firestore.mock.item.fixture.d.ts +1 -1
  90. package/test/src/lib/common/firestore.mock.item.fixture.js +3 -3
  91. package/test/src/lib/common/firestore.mock.item.fixture.js.map +1 -1
  92. package/test/src/lib/common/firestore.mock.item.js +24 -26
  93. package/test/src/lib/common/firestore.mock.item.js.map +1 -1
  94. package/test/src/lib/common/firestore.mock.js.map +1 -1
  95. package/test/src/lib/common/test.driver.accessor.d.ts +1 -1
  96. package/test/src/lib/common/test.driver.accessor.js +37 -35
  97. package/test/src/lib/common/test.driver.accessor.js.map +1 -1
  98. package/test/src/lib/common/test.driver.query.d.ts +1 -1
  99. package/test/src/lib/common/test.driver.query.js +43 -8
  100. package/test/src/lib/common/test.driver.query.js.map +1 -1
  101. package/test/src/lib/common/test.iterator.d.ts +1 -1
  102. package/test/src/lib/common/test.iterator.js +8 -8
  103. package/test/src/lib/common/test.iterator.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/watcher.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,wCAA0C;AAC1C,+BAA4E;AAI/D,QAAA,kCAAkC,GAAG,CAAC,CAAC;AAsCpD,SAAgB,8BAA8B,CAAU,MAA+C;IACrG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,GAAG,0CAAkC,EAAE,GAAG,MAAM,CAAC;IAEzF,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,IAAI,CACzE,IAAA,gBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;;QAClB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAM,CAAC,KAAM,CAAC;QAC7C,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEzD,gDAAgD;QAChD,OAAO,IAAA,YAAK,EAAC,MAAA,eAAe,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CACtF,IAAA,WAAI,EAAC,CAAC,CAAC,CAAE,+EAA+E;SACzF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,EACF,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,IAAA,UAAG,EAAC,KAAK,CAAC,EAAE;;QACV,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAQ,IAAA,kBAAW,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC;QACpC,OAAO,CAAC,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC;QACxC,OAAO,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,GAAG,gDAAgD,CAAC,OAAO,CAAC,CAAC;QAEzE,OAAO,OAAiD,CAAC;IAC3D,CAAC,CAAC,EACF,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IAEF,OAAO;QACL,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC;AArCD,wEAqCC;AAED,SAAgB,gDAAgD,CAAU,KAAmD;IAC3H,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,IAAI,IAA8C,CAAC;IAEnD,IAAI,QAAQ,IAAI,UAAU,EAAE;QAC1B,IAAI,GAAG,iBAAiB,CAAC;KAC1B;SAAM,IAAI,QAAQ,EAAE;QACnB,IAAI,GAAG,OAAO,CAAC;KAChB;SAAM,IAAI,UAAU,EAAE;QACrB,IAAI,GAAG,SAAS,CAAC;KAClB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,IAAI,GAAG,UAAU,CAAC;KACnB;SAAM;QACL,IAAI,GAAG,MAAM,CAAC;KACf;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,4GAkBC"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/watcher.ts"],"names":[],"mappings":";;;AAAA,wCAA6D;AAC7D,wCAA0C;AAC1C,+BAA4E;AAK/D,QAAA,kCAAkC,GAAG,CAAC,CAAC;AAoCpD,SAAgB,8BAA8B,CAAc,MAA+C;IACzG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,GAAG,0CAAkC,EAAE,GAAG,MAAM,CAAC;IAEzF,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,IAAI,CACzE,IAAA,gBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;;QAClB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,KAAK,CAAC,KAAiE,CAAC,KAAwC,CAAC;QAC3I,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEzD,gDAAgD;QAChD,OAAO,IAAA,YAAK,EAAC,MAAA,eAAe,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CACxD,IAAA,gBAAS,EAAC,GAAG,EAAE,CACb,MAAM,EAAE,CAAC,IAAI,CACX,IAAA,WAAI,EAAC,CAAC,CAAC,CAAC,+EAA+E;SACxF,CACF,CACF,CAAC;IACJ,CAAC,CAAC,EACF,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE;QACZ,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC;YACpB,IAAI,EAAE,IAAA,kBAAW,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAqD;YAC7F,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;;gBACX,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACpB,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;gBACpB,CAAC,CAAC,KAAK,GAAG,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC;gBACxB,CAAC,CAAC,OAAO,GAAG,MAAA,CAAC,CAAC,OAAO,mCAAI,EAAE,CAAC;gBAC5B,CAAC,CAAC,QAAQ,GAAG,MAAA,CAAC,CAAC,QAAQ,mCAAI,EAAE,CAAC;gBAC9B,CAAC,CAAC,IAAI,GAAG,gDAAgD,CAAC,CAA2C,CAAC,CAAC;YACzG,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,EACF,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IAEF,OAAO;QACL,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC;AA7CD,wEA6CC;AAED,SAAgB,gDAAgD,CAAc,KAAmD;IAC/H,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,IAAI,IAA8C,CAAC;IAEnD,IAAI,QAAQ,IAAI,UAAU,EAAE;QAC1B,IAAI,GAAG,iBAAiB,CAAC;KAC1B;SAAM,IAAI,QAAQ,EAAE;QACnB,IAAI,GAAG,OAAO,CAAC;KAChB;SAAM,IAAI,UAAU,EAAE;QACrB,IAAI,GAAG,SAAS,CAAC;KAClB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,IAAI,GAAG,UAAU,CAAC;KACnB;SAAM;QACL,IAAI,GAAG,MAAM,CAAC;KACf;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,4GAkBC"}
@@ -1,5 +1,5 @@
1
- import { FirestoreContext } from "./context";
2
- import { CollectionReference, DocumentReference, Firestore } from "./types";
1
+ import { FirestoreContext } from './context';
2
+ import { CollectionReference, DocumentReference, Firestore } from './types';
3
3
  /**
4
4
  * Contains a reference to a CollectionReference.
5
5
  */
@@ -1,13 +1,62 @@
1
- import { ModelFieldsConversionConfig, ApplyMapFunctionWithOptions } from "@dereekb/util";
2
- import { DocumentData, SnapshotOptions, SetOptions, DocumentSnapshot, FirestoreDataConverter } from "../types";
3
- export interface SnapshotConverterConfig<T extends object> {
4
- fields: ModelFieldsConversionConfig<T>;
1
+ import { MaybeMap, ModelFieldConversions, ApplyMapFunctionWithOptions, ModelFieldConversionsConfig, TypedMappedModelData } from '@dereekb/util';
2
+ import { SnapshotOptions, SetOptions, DocumentSnapshot, FirestoreDataConverter } from '../types';
3
+ /**
4
+ * The default "empty" value in the Firestore.
5
+ */
6
+ export declare const FIRESTORE_EMPTY_VALUE: null;
7
+ /**
8
+ * The expected firestore document data for a specific type.
9
+ *
10
+ * This declaration allows a second type to defined overrides for how the data is stored within Firestore. For example, since by default
11
+ * this library choses to store dates as an ISO8601String, you can strictly specify that, and gain the type checking benefits.
12
+ */
13
+ export declare type ExpectedFirestoreModelData<T extends object, R extends object = object> = TypedMappedModelData<T, R>;
14
+ /**
15
+ * What is considered the typings for the true "stored" data.
16
+ *
17
+ * All items are marked as partial and Maybe. This is because by design the firestore has no schema and has no obligation to require fields.
18
+ * It is better to be cognizant of this fact in our typings, and let the Snapshot conversions handle this.
19
+ *
20
+ * Fields that existing on the database type can only replace typings on the specific type, and not declare new typings.
21
+ * This is to prevent accidents related to adding/removing fields but not adding the correct conversions.
22
+ *
23
+ * This declaration allows a second type to defined overrides for how the data is stored within Firestore. For example, since by default
24
+ * this library choses to store dates as an ISO8601String, you can strictly specify that, and gain the type checking benefits. For other data types
25
+ * that are the same in the datastore as they are here, they are considered "any".
26
+ *
27
+ * The reason for this is that FirestoreModelData types are typically never used directly, execept for our snapshotConverterFunctions(),
28
+ * and using the built-in snapshot firestore field converters. Unless we have specified a strict new type that we expect in the data,
29
+ * most of the time we are unconcerned with the final type of our ExpectedFirestoreModelData.
30
+ *
31
+ * This is a more lose type that takes the above into account. You will only see typing information for fields of R that override the converted type T.
32
+ * If you find yourself needing full typings, extend ExpectedFirestoreModelData instead.
33
+ *
34
+ * Example:
35
+ *
36
+ * export interface MockItem {
37
+ * string: string;
38
+ * date: Date;
39
+ * }
40
+ *
41
+ * export type MockItemData = ExpectedFirestoreModelData<MockItem, {
42
+ * // string field is not defined directly, will be treated as any.
43
+ * date: string; // we want typescript typing help for this in our converters.
44
+ * }>;
45
+ *
46
+ */
47
+ export declare type FirestoreModelData<T extends object, R extends object = object> = Partial<ExpectedFirestoreModelData<T, MaybeMap<R>>>;
48
+ export declare type SnapshotConverterConfigWithFields<T extends object, O extends object = FirestoreModelData<T>> = {
49
+ fields: ModelFieldConversionsConfig<T, O>;
50
+ };
51
+ export declare type SnapshotConverterConfigWithConversions<T extends object, O extends object = FirestoreModelData<T>> = {
52
+ fieldConversions: ModelFieldConversions<T, O>;
53
+ };
54
+ export declare type SnapshotConverterConfig<T extends object, O extends object = FirestoreModelData<T>> = SnapshotConverterConfigWithFields<T, O> | SnapshotConverterConfigWithConversions<T, O>;
55
+ export interface SnapshotConverterFunctions<T extends object, O extends object = FirestoreModelData<T>> extends FirestoreDataConverter<T, O> {
56
+ from: SnapshotConverterFromFunction<T, O>;
57
+ to: SnapshotConverterToFunction<T, O>;
5
58
  }
6
- export interface SnapshotConverterFunctions<T extends object> extends FirestoreDataConverter<T> {
7
- from: SnapshotConverterFromFunction<T>;
8
- to: SnapshotConverterToFunction<T>;
9
- }
10
- export declare type SnapshotConverterFromFirestoreFunction<T extends object> = (snapshot: DocumentSnapshot, options?: SnapshotOptions) => T;
11
- export declare type SnapshotConverterFromFunction<T extends object> = ApplyMapFunctionWithOptions<DocumentSnapshot, T, SnapshotOptions>;
12
- export declare type SnapshotConverterToFunction<T extends object> = ApplyMapFunctionWithOptions<T, DocumentData, SetOptions>;
13
- export declare function makeSnapshotConverterFunctions<T extends object>(config: SnapshotConverterConfig<T>): SnapshotConverterFunctions<T>;
59
+ export declare type SnapshotConverterFromFirestoreFunction<T extends object, O extends object = FirestoreModelData<T>> = (snapshot: DocumentSnapshot<O>, options?: SnapshotOptions) => T;
60
+ export declare type SnapshotConverterFromFunction<T extends object, O extends object = FirestoreModelData<T>> = ApplyMapFunctionWithOptions<DocumentSnapshot<O>, T, SnapshotOptions>;
61
+ export declare type SnapshotConverterToFunction<T extends object, O extends object = FirestoreModelData<T>> = ApplyMapFunctionWithOptions<T, O, SetOptions>;
62
+ export declare function snapshotConverterFunctions<T extends object, O extends object = FirestoreModelData<T>>(config: SnapshotConverterConfig<T, O>): SnapshotConverterFunctions<T, O>;
@@ -1,25 +1,42 @@
1
- import { MapFunction, ModelFieldConversionConfig, GetterOrValue } from '@dereekb/util';
2
- export declare type FirestoreDatastoreType = any;
3
- export interface FirestoreFieldConfig<V, D = any> {
4
- default?: GetterOrValue<V>;
1
+ import { ModelFieldMapFunctionsConfig, GetterOrValue, Maybe, ModelFieldMapConvertFunction } from '@dereekb/util';
2
+ export interface BaseFirestoreFieldConfig<V, D = unknown> {
3
+ fromData: ModelFieldMapConvertFunction<D, V>;
4
+ toData: ModelFieldMapConvertFunction<V, D>;
5
5
  defaultBeforeSave?: GetterOrValue<D | null>;
6
- fromData: MapFunction<D, V>;
7
- toData: MapFunction<V, D>;
8
6
  }
9
- export interface DefaultOnlyFirestoreFieldConfig<V, D = any> extends Pick<FirestoreFieldConfig<V, D>, 'default' | 'defaultBeforeSave'> {
7
+ export interface FirestoreFieldConfigWithDefault<V, D = unknown> extends BaseFirestoreFieldConfig<V, D> {
8
+ default: GetterOrValue<V>;
10
9
  }
11
- export declare function firestoreField<V, D = any>(config: FirestoreFieldConfig<V, D>): ModelFieldConversionConfig<V, D>;
12
- export interface FirestoreStringFieldConfig extends DefaultOnlyFirestoreFieldConfig<string, string> {
10
+ export interface FirestoreFieldConfigWithDefaultData<V, D = unknown> extends BaseFirestoreFieldConfig<V, D> {
11
+ defaultData: GetterOrValue<D>;
13
12
  }
14
- export declare function firestoreString(config?: FirestoreStringFieldConfig): ModelFieldConversionConfig<string, string>;
15
- export declare function firestoreUID(): ModelFieldConversionConfig<string, string>;
16
- export interface FirestoreDateFieldConfig extends DefaultOnlyFirestoreFieldConfig<Date, string> {
13
+ export declare type FirestoreFieldConfig<V, D = unknown> = FirestoreFieldConfigWithDefault<V, D> | FirestoreFieldConfigWithDefaultData<V, D>;
14
+ /**
15
+ * All firebase ModelFieldMapFunctionsConfig are configured to handle the read field value as null/undefined. This implies that
16
+ * by design, the firebase database documents do not need to be fully intact for the system to handle them properly.
17
+ */
18
+ export declare type FirestoreModelFieldMapFunctionsConfig<V, D> = ModelFieldMapFunctionsConfig<V, Maybe<D>>;
19
+ export declare function firestoreField<V, D = unknown>(config: FirestoreFieldConfig<V, D>): FirestoreModelFieldMapFunctionsConfig<V, D>;
20
+ export declare const FIRESTORE_PASSTHROUGH_FIELD: FirestoreModelFieldMapFunctionsConfig<unknown, unknown>;
21
+ export declare function firestorePassThroughField<T>(): ModelFieldMapFunctionsConfig<T, T>;
22
+ export declare type MapConfiguredFirestoreFieldConfigWithDefault<V, D = unknown> = Omit<FirestoreFieldConfigWithDefault<V, D>, 'fromData' | 'toData'>;
23
+ export declare type MapConfiguredFirestoreFieldConfigWithDefaultData<V, D = unknown> = Omit<FirestoreFieldConfigWithDefaultData<V, D>, 'fromData' | 'toData'>;
24
+ export declare type MapConfiguredFirestoreFieldConfig<V, D = unknown> = MapConfiguredFirestoreFieldConfigWithDefault<V, D> | MapConfiguredFirestoreFieldConfigWithDefaultData<V, D>;
25
+ export declare type DefaultMapConfiguredFirestoreFieldConfig<V, D = unknown> = Omit<FirestoreFieldConfigWithDefault<V, D>, 'fromData' | 'toData' | 'default'> & Partial<Pick<FirestoreFieldConfigWithDefault<V, D>, 'default'>>;
26
+ export declare type OptionalMapConfiguredFirestoreFieldConfig<V, D = unknown> = Omit<BaseFirestoreFieldConfig<V, D>, 'fromData' | 'toData' | 'defaultBeforeSave'>;
27
+ export declare type FirestoreStringConfig = DefaultMapConfiguredFirestoreFieldConfig<string, string>;
28
+ export declare function firestoreString(config: FirestoreStringConfig): FirestoreModelFieldMapFunctionsConfig<string, string>;
29
+ export declare function optionalFirestoreString(): ModelFieldMapFunctionsConfig<Maybe<string>, Maybe<string>>;
30
+ export declare function firestoreUID(): FirestoreModelFieldMapFunctionsConfig<string, string>;
31
+ export declare function optionalFirestoreUID(): ModelFieldMapFunctionsConfig<Maybe<string>, Maybe<string>>;
32
+ export declare type FirestoreDateFieldConfig = DefaultMapConfiguredFirestoreFieldConfig<Date, string> & {
17
33
  saveDefaultAsNow?: boolean;
18
- }
19
- export declare function firestoreDate(config?: FirestoreDateFieldConfig): ModelFieldConversionConfig<Date, string>;
20
- export interface FirestoreBooleanFieldConfig extends DefaultOnlyFirestoreFieldConfig<boolean, boolean> {
21
- }
22
- export declare function firestoreBoolean(config?: FirestoreBooleanFieldConfig): ModelFieldConversionConfig<boolean, boolean>;
23
- export interface FirestoreNumberFieldConfig extends DefaultOnlyFirestoreFieldConfig<number, number> {
24
- }
25
- export declare function firestoreNumber(config?: FirestoreNumberFieldConfig): ModelFieldConversionConfig<number, number>;
34
+ };
35
+ export declare function firestoreDate(config?: FirestoreDateFieldConfig): FirestoreModelFieldMapFunctionsConfig<Date, string>;
36
+ export declare function optionalFirestoreDate(): FirestoreModelFieldMapFunctionsConfig<Maybe<Date>, Maybe<string>>;
37
+ export declare type FirestoreBooleanFieldConfig = MapConfiguredFirestoreFieldConfigWithDefault<boolean, boolean>;
38
+ export declare function firestoreBoolean(config: FirestoreBooleanFieldConfig): FirestoreModelFieldMapFunctionsConfig<boolean, boolean>;
39
+ export declare function optionalFirestoreBoolean(): ModelFieldMapFunctionsConfig<Maybe<boolean>, Maybe<boolean>>;
40
+ export declare type FirestoreNumberFieldConfig = MapConfiguredFirestoreFieldConfigWithDefault<number, number>;
41
+ export declare function firestoreNumber(config: FirestoreNumberFieldConfig): FirestoreModelFieldMapFunctionsConfig<number, number>;
42
+ export declare function optionalFirestoreNumber(): ModelFieldMapFunctionsConfig<Maybe<number>, Maybe<number>>;
@@ -1,57 +1,95 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firestoreNumber = exports.firestoreBoolean = exports.firestoreDate = exports.firestoreUID = exports.firestoreString = exports.firestoreField = void 0;
3
+ exports.optionalFirestoreNumber = exports.firestoreNumber = exports.optionalFirestoreBoolean = exports.firestoreBoolean = exports.optionalFirestoreDate = exports.firestoreDate = exports.optionalFirestoreUID = exports.firestoreUID = exports.optionalFirestoreString = exports.firestoreString = exports.firestorePassThroughField = exports.FIRESTORE_PASSTHROUGH_FIELD = exports.firestoreField = void 0;
4
4
  const date_1 = require("@dereekb/date");
5
+ const util_1 = require("@dereekb/util");
6
+ const snapshot_1 = require("./snapshot");
5
7
  function firestoreField(config) {
6
8
  var _a;
7
9
  return {
8
- from: {
9
- default: config.default,
10
- convert: config.fromData
11
- },
10
+ from: config.default
11
+ ? {
12
+ default: config.default,
13
+ convert: config.fromData
14
+ }
15
+ : {
16
+ defaultInput: config.defaultData,
17
+ convert: config.fromData
18
+ },
12
19
  to: {
13
- default: (_a = config.defaultBeforeSave) !== null && _a !== void 0 ? _a : null,
20
+ default: (_a = config.defaultBeforeSave) !== null && _a !== void 0 ? _a : snapshot_1.FIRESTORE_EMPTY_VALUE,
14
21
  convert: config.toData
15
22
  }
16
23
  };
17
24
  }
18
25
  exports.firestoreField = firestoreField;
19
- function firestoreString(config = {}) {
20
- return firestoreField({
21
- default: config.default,
22
- fromData: (input) => input,
23
- toData: (input) => input
24
- });
26
+ exports.FIRESTORE_PASSTHROUGH_FIELD = firestoreField({
27
+ default: null,
28
+ fromData: util_1.passThrough,
29
+ toData: util_1.passThrough
30
+ });
31
+ function firestorePassThroughField() {
32
+ return exports.FIRESTORE_PASSTHROUGH_FIELD;
33
+ }
34
+ exports.firestorePassThroughField = firestorePassThroughField;
35
+ function firestoreString(config) {
36
+ return firestoreField(Object.assign(Object.assign({ default: '' }, config), { fromData: util_1.passThrough, toData: util_1.passThrough }));
25
37
  }
26
38
  exports.firestoreString = firestoreString;
39
+ function optionalFirestoreString() {
40
+ return firestorePassThroughField();
41
+ }
42
+ exports.optionalFirestoreString = optionalFirestoreString;
27
43
  function firestoreUID() {
28
- return firestoreString({});
44
+ return firestoreString({
45
+ default: ''
46
+ });
29
47
  }
30
48
  exports.firestoreUID = firestoreUID;
49
+ function optionalFirestoreUID() {
50
+ return optionalFirestoreString();
51
+ }
52
+ exports.optionalFirestoreUID = optionalFirestoreUID;
31
53
  function firestoreDate(config = {}) {
32
- var _a;
54
+ var _a, _b;
33
55
  return firestoreField({
34
- default: config.default,
35
- defaultBeforeSave: (_a = config.defaultBeforeSave) !== null && _a !== void 0 ? _a : (config.saveDefaultAsNow ? () => (0, date_1.toISODateString)(new Date()) : null),
56
+ default: (_a = config.default) !== null && _a !== void 0 ? _a : (() => new Date()),
57
+ defaultBeforeSave: (_b = config.defaultBeforeSave) !== null && _b !== void 0 ? _b : (config.saveDefaultAsNow ? date_1.nowISODateString : null),
36
58
  fromData: (input) => (0, date_1.toJsDate)(input),
37
59
  toData: (input) => (0, date_1.toISODateString)(input)
38
60
  });
39
61
  }
40
62
  exports.firestoreDate = firestoreDate;
41
- function firestoreBoolean(config = {}) {
63
+ function optionalFirestoreDate() {
64
+ return firestoreField({
65
+ default: null,
66
+ fromData: (input) => (0, date_1.toJsDate)(input),
67
+ toData: (input) => (0, date_1.toISODateString)(input)
68
+ });
69
+ }
70
+ exports.optionalFirestoreDate = optionalFirestoreDate;
71
+ function firestoreBoolean(config) {
42
72
  return firestoreField({
43
73
  default: config.default,
44
- fromData: (input) => input,
45
- toData: (input) => input
74
+ fromData: util_1.passThrough,
75
+ toData: util_1.passThrough
46
76
  });
47
77
  }
48
78
  exports.firestoreBoolean = firestoreBoolean;
49
- function firestoreNumber(config = {}) {
79
+ function optionalFirestoreBoolean() {
80
+ return firestorePassThroughField();
81
+ }
82
+ exports.optionalFirestoreBoolean = optionalFirestoreBoolean;
83
+ function firestoreNumber(config) {
50
84
  return firestoreField({
51
85
  default: config.default,
52
- fromData: (input) => input,
53
- toData: (input) => input
86
+ fromData: util_1.passThrough,
87
+ toData: util_1.passThrough
54
88
  });
55
89
  }
56
90
  exports.firestoreNumber = firestoreNumber;
91
+ function optionalFirestoreNumber() {
92
+ return firestorePassThroughField();
93
+ }
94
+ exports.optionalFirestoreNumber = optionalFirestoreNumber;
57
95
  //# sourceMappingURL=snapshot.field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.field.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.field.ts"],"names":[],"mappings":";;;AAAA,wCAA0D;AAc1D,SAAgB,cAAc,CAAa,MAAkC;;IAC3E,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,QAAQ;SACzB;QACD,EAAE,EAAE;YACF,OAAO,EAAE,MAAA,MAAM,CAAC,iBAAiB,mCAAI,IAAW;YAChD,OAAO,EAAE,MAAM,CAAC,MAAM;SACvB;KACF,CAAA;AACH,CAAC;AAXD,wCAWC;AAID,SAAgB,eAAe,CAAC,SAAqC,EAAE;IACrE,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;QAClC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;KACjC,CAAC,CAAC;AACL,CAAC;AAND,0CAMC;AAED,SAAgB,YAAY;IAC1B,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAFD,oCAEC;AAMD,SAAgB,aAAa,CAAC,SAAmC,EAAE;;IACjE,OAAO,cAAc,CAAe;QAClC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,iBAAiB,EAAE,MAAA,MAAM,CAAC,iBAAiB,mCAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAA,sBAAe,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnH,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAA,eAAQ,EAAC,KAAK,CAAC;QAC5C,MAAM,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAPD,sCAOC;AAID,SAAgB,gBAAgB,CAAC,SAAsC,EAAE;IACvE,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK;QACnC,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK;KAClC,CAAC,CAAC;AACL,CAAC;AAND,4CAMC;AAID,SAAgB,eAAe,CAAC,SAAqC,EAAE;IACrE,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;QAClC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;KACjC,CAAC,CAAC;AACL,CAAC;AAND,0CAMC"}
1
+ {"version":3,"file":"snapshot.field.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.field.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeSnapshotConverterFunctions = void 0;
3
+ exports.snapshotConverterFunctions = exports.FIRESTORE_EMPTY_VALUE = void 0;
4
4
  const util_1 = require("@dereekb/util");
5
5
  const types_1 = require("../types");
6
- function makeSnapshotConverterFunctions(config) {
7
- const { from: fromData, to: toData } = (0, util_1.makeModelMapFunctions)(config.fields);
8
- const from = (input, target, options) => {
6
+ // MARK: Type
7
+ /**
8
+ * The default "empty" value in the Firestore.
9
+ */
10
+ exports.FIRESTORE_EMPTY_VALUE = null;
11
+ function snapshotConverterFunctions(config) {
12
+ var _a;
13
+ const conversions = (_a = config.fieldConversions) !== null && _a !== void 0 ? _a : (0, util_1.modelFieldConversions)(config.fields);
14
+ const { from: fromData, to: toData } = (0, util_1.makeModelMapFunctions)(conversions);
15
+ const from = (input, target) => {
9
16
  const data = input.data();
10
17
  return fromData(data, target);
11
18
  };
@@ -31,5 +38,5 @@ function makeSnapshotConverterFunctions(config) {
31
38
  toFirestore: (modelObject, options) => to(modelObject, undefined, options)
32
39
  };
33
40
  }
34
- exports.makeSnapshotConverterFunctions = makeSnapshotConverterFunctions;
41
+ exports.snapshotConverterFunctions = snapshotConverterFunctions;
35
42
  //# sourceMappingURL=snapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.ts"],"names":[],"mappings":";;;AAAA,wCAA+I;AAC/I,oCAAoN;AAgBpN,SAAgB,8BAA8B,CAAmB,MAAkC;IACjG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAqB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5E,MAAM,IAAI,GAAqC,CAAC,KAAuB,EAAE,MAA0B,EAAE,OAAgC,EAAE,EAAE;QACvI,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,EAAE,GAAmC,CAAC,KAAQ,EAAE,MAAqC,EAAE,OAA2B,EAAE,EAAE;QAC1H,IAAI,SAAmD,CAAC;QAExD,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAI,OAAiC,CAAC,WAAW,CAAC;YAEnE,IAAK,OAA2B,CAAC,KAAK,EAAE;gBACtC,SAAS,GAAG;oBACV,WAAW,EAAE,IAAI;iBAClB,CAAC;aACH;YAED,IAAI,WAAW,EAAE;gBACf,SAAS,mCACJ,SAAS,KACZ,MAAM,EAAE,IAAA,4BAAoB,EAAC,WAAW,CAAgB,GACzD,CAAC;aACH;SACF;QAED,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,EAAE;QACF,aAAa,EAAE,CAAC,QAA0B,EAAE,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;QAC5G,WAAW,EAAE,CAAC,WAAyD,EAAE,OAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAgB,EAAE,SAAS,EAAE,OAAO,CAAC;KAC3I,CAAA;AACH,CAAC;AArCD,wEAqCC"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.ts"],"names":[],"mappings":";;;AAAA,wCAA6N;AAC7N,oCAAsM;AAEtM,aAAa;AACb;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAiE1C,SAAgB,0BAA0B,CAA6D,MAAqC;;IAC1I,MAAM,WAAW,GAAgC,MAAC,MAAuD,CAAC,gBAAgB,mCAAI,IAAA,4BAAqB,EAAQ,MAAkD,CAAC,MAAM,CAAC,CAAC;IACtN,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAqB,EAAO,WAAW,CAAC,CAAC;IAEhF,MAAM,IAAI,GAAwC,CAAC,KAAuB,EAAE,MAA0B,EAAE,EAAE;QACxG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,IAAS,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,EAAE,GAAsC,CAAC,KAAQ,EAAE,MAA0B,EAAE,OAA2B,EAAE,EAAE;QAClH,IAAI,SAA2C,CAAC;QAEhD,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAI,OAAiC,CAAC,WAAW,CAAC;YAEnE,IAAK,OAA2B,CAAC,KAAK,EAAE;gBACtC,SAAS,GAAG;oBACV,WAAW,EAAE,IAAI;iBAClB,CAAC;aACH;YAED,IAAI,WAAW,EAAE;gBACf,SAAS,mCACJ,SAAS,KACZ,MAAM,EAAE,IAAA,4BAAoB,EAAC,WAAW,CAAgB,GACzD,CAAC;aACH;SACF;QAED,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,EAAE;QACF,aAAa,EAAE,CAAC,QAA6B,EAAE,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;QAC/G,WAAW,EAAE,CAAC,WAAyD,EAAE,OAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAgB,EAAE,SAAS,EAAE,OAAO,CAAC;KAC3I,CAAC;AACJ,CAAC;AAtCD,gEAsCC"}
@@ -33,7 +33,7 @@ export interface FieldPath {
33
33
  isEqual(other: FieldPath): boolean;
34
34
  }
35
35
  export declare function asTopLevelFieldPaths(input: (string | FieldPath)[]): string[];
36
- export declare function asTopLevelFieldPath(input: (string | FieldPath)): string;
36
+ export declare function asTopLevelFieldPath(input: string | FieldPath): string;
37
37
  export interface Timestamp {
38
38
  readonly seconds: number;
39
39
  readonly nanoseconds: number;
@@ -62,7 +62,7 @@ export interface SetOptionsMerge {
62
62
  readonly merge?: boolean | undefined;
63
63
  }
64
64
  export interface SetOptionsMergeFields {
65
- readonly mergeFields?: Array<(string | FieldPath)>;
65
+ readonly mergeFields?: Array<string | FieldPath>;
66
66
  }
67
67
  export interface SnapshotOptions {
68
68
  readonly serverTimestamps?: 'estimate' | 'previous' | 'none';
@@ -73,10 +73,10 @@ export interface SnapshotListenOptions {
73
73
  /**
74
74
  * Mirrors the types/methods of FirestoreDataConverter.
75
75
  */
76
- export interface FirestoreDataConverter<T> {
77
- toFirestore(modelObject: WithFieldValue<T>): DocumentData;
78
- toFirestore(modelObject: PartialWithFieldValue<T>, options: SetOptions): DocumentData;
79
- fromFirestore(snapshot: QueryDocumentSnapshot<DocumentData>, options?: SnapshotOptions): T;
76
+ export interface FirestoreDataConverter<T, O = DocumentData> {
77
+ toFirestore(modelObject: WithFieldValue<T>): O;
78
+ toFirestore(modelObject: PartialWithFieldValue<T>, options: SetOptions): O;
79
+ fromFirestore(snapshot: QueryDocumentSnapshot<O>, options?: SnapshotOptions): T;
80
80
  }
81
81
  export interface DocumentReference<T = DocumentData> {
82
82
  readonly converter?: FirestoreDataConverter<T> | null;
@@ -96,8 +96,13 @@ export interface CollectionReference<T = DocumentData> extends Query<T> {
96
96
  withConverter<U>(converter: FirestoreDataConverter<U>): CollectionReference<U>;
97
97
  withConverter(converter: null): CollectionReference<DocumentData>;
98
98
  }
99
- export declare type WriteBatch = {};
100
- export declare type Transaction = {};
99
+ export interface WriteBatch {
100
+ /**
101
+ * Commits the changes.
102
+ */
103
+ commit(): Promise<WriteResult[] | void>;
104
+ }
105
+ export declare type Transaction = object;
101
106
  export interface Query<T = DocumentData> {
102
107
  readonly converter?: FirestoreDataConverter<T> | null;
103
108
  readonly type?: 'query' | 'collection';
@@ -114,7 +119,7 @@ export interface QuerySnapshot<T = DocumentData> {
114
119
  readonly docs: Array<QueryDocumentSnapshot<T>>;
115
120
  readonly size: number;
116
121
  readonly empty: boolean;
117
- forEach(callback: (result: QueryDocumentSnapshot<T>) => void, thisArg?: any): void;
122
+ forEach(callback: (result: QueryDocumentSnapshot<T>) => void, thisArg?: unknown): void;
118
123
  docChanges(): DocumentChange<T>[];
119
124
  }
120
125
  export interface QueryDocumentSnapshot<T = DocumentData> extends DocumentSnapshot<T> {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  // A set of copied types from @google-cloud/firestore and firebase/firestore to allow cross-compatability.
3
+ /* eslint-disable */
3
4
  Object.defineProperty(exports, "__esModule", { value: true });
4
5
  exports.asTopLevelFieldPath = exports.asTopLevelFieldPaths = void 0;
5
6
  function asTopLevelFieldPaths(input) {
@@ -18,6 +19,4 @@ function asTopLevelFieldPath(input) {
18
19
  return path;
19
20
  }
20
21
  exports.asTopLevelFieldPath = asTopLevelFieldPath;
21
- ;
22
- ;
23
22
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/types.ts"],"names":[],"mappings":";AAAA,0GAA0G;;;AA6C1G,SAAgB,oBAAoB,CAAC,KAA6B;IAChE,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACxC,CAAC;AAFD,oDAEC;AAED,SAAgB,mBAAmB,CAAC,KAA2B;IAC7D,IAAI,IAAY,CAAC;IAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,IAAI,GAAG,KAAK,CAAC;KACd;SAAM;QACL,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/B;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,kDAWC;AAgCA,CAAC;AAID,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/types.ts"],"names":[],"mappings":";AAAA,0GAA0G;AAC1G,oBAAoB;;;AAiCpB,SAAgB,oBAAoB,CAAC,KAA6B;IAChE,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACxC,CAAC;AAFD,oDAEC;AAED,SAAgB,mBAAmB,CAAC,KAAyB;IAC3D,IAAI,IAAY,CAAC;IAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,IAAI,GAAG,KAAK,CAAC;KACd;SAAM;QACL,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/B;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,kDAWC"}
@@ -1,3 +1,3 @@
1
- import { TransformAndValidateFunctionResult } from "@dereekb/model";
1
+ import { TransformAndValidateFunctionResult } from '@dereekb/model';
2
2
  export declare type FirebaseFunctionUpdateAction<P extends object, T> = TransformAndValidateFunctionResult<P, (document: T) => Promise<T>>;
3
3
  export declare type AsyncFirebaseFunctionUpdateAction<P extends object, T> = Promise<FirebaseFunctionUpdateAction<P, T>>;
@@ -1,4 +1,4 @@
1
- import { FirebaseAuthUserId } from "../common/auth/auth";
1
+ import { FirebaseAuthUserId } from '../common/auth/auth';
2
2
  /**
3
3
  * The model is related to a user with the model's uid.
4
4
  */
@@ -8,5 +8,4 @@ export interface UserRelated {
8
8
  /**
9
9
  * The model is related to a user by the model's own identifier.
10
10
  */
11
- export interface UserRelatedById {
12
- }
11
+ export declare type UserRelatedById = object;
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,28 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [5.0.1](https://github.com/dereekb/dbx-components/compare/v5.0.0-dev...v5.0.1) (2022-05-26)
6
+
7
+
8
+
9
+ # [5.0.0](https://github.com/dereekb/dbx-components/compare/v4.1.0-dev...v5.0.0) (2022-05-25)
10
+
11
+
12
+ ### Code Refactoring
13
+
14
+ * refactored @dereekb/firebase snapshot field ([c88d278](https://github.com/dereekb/dbx-components/commit/c88d2780d66f965a41ae299e013109f6860e9496))
15
+
16
+
17
+ ### BREAKING CHANGES
18
+
19
+ * refactored @dereekb/firebase SnapshotConverterFunction and related components and @dereekb/util model conversion components to have better type safety and inference
20
+
21
+
22
+
23
+ # [4.1.0](https://github.com/dereekb/dbx-components/compare/v4.0.1-dev...v4.1.0) (2022-05-17)
24
+
25
+
26
+
5
27
  ## [4.0.1](https://github.com/dereekb/dbx-components/compare/v4.0.0-dev...v4.0.1) (2022-05-14)
6
28
 
7
29
 
package/test/package.json CHANGED
@@ -1,28 +1,27 @@
1
1
  {
2
2
  "name": "@dereekb/firebase/test",
3
- "version": "4.0.1",
3
+ "version": "5.0.1",
4
4
  "main": "./src/index.js",
5
5
  "typings": "./src/index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@dereekb/util/test": "4.0.1",
9
- "@dereekb/util": "4.0.1",
8
+ "@dereekb/util/test": "5.0.1",
9
+ "@dereekb/util": "5.0.1",
10
10
  "make-error": "^1.3.0",
11
11
  "extra-set": "^2.2.11",
12
- "change-case": "^4.1.2",
13
- "@dereekb/firebase": "4.0.1",
12
+ "@dereekb/firebase": "5.0.1",
14
13
  "rxjs": "^7.0.0",
15
14
  "rxfire": "^6.0.3",
16
15
  "firebase": "^9.8.0",
17
- "@dereekb/rxjs": "4.0.1",
16
+ "@dereekb/rxjs": "5.0.1",
18
17
  "ms": "^3.0.0-canary.1",
19
- "@dereekb/date": "4.0.1",
18
+ "@dereekb/date": "5.0.1",
20
19
  "class-transformer": "^0.5.1",
21
20
  "date-fns": "^2.28.0",
22
21
  "class-validator": "^0.13.2",
23
22
  "date-fns-tz": "^1.3.0",
24
23
  "rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
25
- "@dereekb/model": "4.0.1",
24
+ "@dereekb/model": "5.0.1",
26
25
  "tslib": "^2.0.0"
27
26
  }
28
27
  }
@@ -1,6 +1,6 @@
1
1
  import { TestFirestoreContext, TestingFirestoreDrivers } from '../common/firestore';
2
2
  import { Maybe } from '@dereekb/util';
3
- import { TestEnvironmentConfig, RulesTestEnvironment, RulesTestContext, TokenOptions, EmulatorConfig } from "@firebase/rules-unit-testing";
3
+ import { TestEnvironmentConfig, RulesTestEnvironment, RulesTestContext, TokenOptions, EmulatorConfig } from '@firebase/rules-unit-testing';
4
4
  import { TestFirestoreContextFixture, TestFirestoreInstance } from '../common/firestore.mock';
5
5
  export interface RulesUnitTestingContextConfig {
6
6
  userId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/test/src/lib/client/firestore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/test/src/lib/client/firestore.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ function makeTestingFirestoreAccesorDriver(driver) {
12
12
  let fuzzedPath = fuzzedMap.get(path);
13
13
  if (!fuzzedPath) {
14
14
  const random = Math.ceil(Math.random() * 9999) % 9999;
15
- fuzzedPath = `${time}_${random}_${path}_${fuzzerKey += 1}`;
15
+ fuzzedPath = `${time}_${random}_${path}_${(fuzzerKey += 1)}`;
16
16
  fuzzedMap.set(path, fuzzedPath);
17
17
  }
18
18
  return fuzzedPath;
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/test/src/lib/common/firestore.ts"],"names":[],"mappings":";;;;AAAA,wCAA+C;AAkB/C,SAAgB,iCAAiC,CAAC,MAA+B;IAC/E,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAErC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC5C,IAAI,UAAU,GAAW,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAE9C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YACtD,UAAU,GAAG,GAAG,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC3D,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SACjC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAI,CAAY,EAAE,IAAY,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAI,CAAC,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,eAAyB,EAAE,EAAE;QAC5D,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,gCAClB,MAAM,KACT,UAAU,EAAE,gBAAgB,EAC5B,2BAA2B,EAAE,GAAG,EAAE,CAAC,SAAS,EAC5C,uBAAuB,GACjB,CAAC;IAET,OAAO,cAAc,CAAC;AACxB,CAAC;AApCD,8EAoCC;AAUD;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,OAAyB;IACnE,uCACK,OAAO,KACV,UAAU,EAAE,SAAS,EACrB,uBAAuB,EAAE,iCAAiC,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAC3F;AACJ,CAAC;AAND,kEAMC;AAYD,SAAsB,oCAAoC,CAAC,OAA6B,EAAE,eAAqD;;QAC7I,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,2BAA2B,EAAE,CAAC;QACpF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,MAAM,qBAAc,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACrG,CAAC;CAAA;AAJD,oFAIC"}
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/test/src/lib/common/firestore.ts"],"names":[],"mappings":";;;;AAAA,wCAA+C;AAkB/C,SAAgB,iCAAiC,CAAC,MAA+B;IAC/E,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAErC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC5C,IAAI,UAAU,GAAW,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAE9C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YACtD,UAAU,GAAG,GAAG,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SACjC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAI,CAAY,EAAE,IAAY,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAI,CAAC,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,eAAyB,EAAE,EAAE;QAC5D,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,gCAClB,MAAM,KACT,UAAU,EAAE,gBAAgB,EAC5B,2BAA2B,EAAE,GAAG,EAAE,CAAC,SAAS,EAC5C,uBAAuB,GACjB,CAAC;IAET,OAAO,cAAc,CAAC;AACxB,CAAC;AApCD,8EAoCC;AAUD;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,OAAyB;IACnE,uCACK,OAAO,KACV,UAAU,EAAE,SAAS,EACrB,uBAAuB,EAAE,iCAAiC,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAC3F;AACJ,CAAC;AAND,kEAMC;AAYD,SAAsB,oCAAoC,CAAC,OAA6B,EAAE,eAAqD;;QAC7I,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,2BAA2B,EAAE,CAAC;QACpF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,MAAM,qBAAc,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACrG,CAAC;CAAA;AAJD,oFAIC"}
@@ -1,6 +1,6 @@
1
- import { AbstractJestTestContextFixture, JestTestContextFactory } from "@dereekb/util/test";
1
+ import { AbstractJestTestContextFixture, JestTestContextFactory } from '@dereekb/util/test';
2
2
  import { Firestore } from '@dereekb/firebase';
3
- import { TestFirestoreContext } from "./firestore";
3
+ import { TestFirestoreContext } from './firestore';
4
4
  export declare class TestFirestoreInstance {
5
5
  readonly context: TestFirestoreContext;
6
6
  constructor(context: TestFirestoreContext);