@dereekb/firebase 9.20.4 → 9.20.6

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.20.6](https://github.com/dereekb/dbx-components/compare/v9.20.5-dev...v9.20.6) (2022-12-26)
6
+
7
+
8
+
9
+ ## [9.20.5](https://github.com/dereekb/dbx-components/compare/v9.20.4-dev...v9.20.5) (2022-12-26)
10
+
11
+
12
+
5
13
  ## [9.20.4](https://github.com/dereekb/dbx-components/compare/v9.20.3-dev...v9.20.4) (2022-12-24)
6
14
 
7
15
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase",
3
- "version": "9.20.4",
3
+ "version": "9.20.6",
4
4
  "devDependencies": {
5
5
  "@firebase/rules-unit-testing": "^2.0.0"
6
6
  },
@@ -24,17 +24,17 @@
24
24
  "peerDependencies": {
25
25
  "rxjs": "^7.5.0",
26
26
  "firebase": "^9.9.2",
27
- "@dereekb/util": "9.20.4",
27
+ "@dereekb/util": "9.20.6",
28
28
  "lodash.isequal": "^4.5.0",
29
29
  "make-error": "^1.3.0",
30
30
  "class-validator": "^0.13.2",
31
31
  "ts-essentials": "^9.1.2",
32
32
  "extra-set": "^2.2.11",
33
33
  "class-transformer": "^0.5.1",
34
- "@dereekb/rxjs": "9.20.4",
34
+ "@dereekb/rxjs": "9.20.6",
35
35
  "ms": "^3.0.0-canary.1",
36
- "@dereekb/model": "9.20.4",
37
- "@dereekb/date": "9.20.4",
36
+ "@dereekb/model": "9.20.6",
37
+ "@dereekb/date": "9.20.6",
38
38
  "date-fns": "^2.29.0",
39
39
  "date-fns-tz": "^1.3.0",
40
40
  "rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
@@ -5,7 +5,7 @@ import { DocumentReference, CollectionReference, Transaction, WriteBatch, Docume
5
5
  import { FirestoreAccessorIncrementUpdate, FirestoreDocumentDataAccessor, FirestoreDocumentUpdateParams, FirestoreAccessorStreamMode } from './accessor';
6
6
  import { CollectionReferenceRef, DocumentReferenceRef, FirestoreContextReference, FirestoreDataConverterRef } from '../reference';
7
7
  import { FirestoreDocumentContext } from './context';
8
- import { Maybe } from '@dereekb/util';
8
+ import { Building, Maybe } from '@dereekb/util';
9
9
  import { FirestoreModelTypeRef, FirestoreModelIdentity, FirestoreModelTypeModelIdentityRef } from '../collection/collection';
10
10
  import { InterceptAccessorFactoryFunction } from './accessor.wrap';
11
11
  import { FirestoreDataConverterFactory, InterceptFirestoreDataConverterFactory } from './converter';
@@ -247,3 +247,12 @@ export interface FirestoreSingleDocumentAccessorConfig<T, D extends FirestoreDoc
247
247
  readonly accessors: FirestoreDocumentAccessorContextExtension<T, D>;
248
248
  }
249
249
  export declare function firestoreSingleDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: FirestoreSingleDocumentAccessorConfig<T, D>): FirestoreSingleDocumentAccessor<T, D>;
250
+ export declare const DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER = "0";
251
+ export declare type SingleItemFirestoreCollectionDocumentIdentifier = string;
252
+ export interface SingleItemFirestoreCollectionDocumentIdentifierRef {
253
+ /**
254
+ * Identifier of the single document in the collection.
255
+ */
256
+ readonly singleItemIdentifier: SingleItemFirestoreCollectionDocumentIdentifier;
257
+ }
258
+ export declare function extendFirestoreCollectionWithSingleDocumentAccessor<X extends FirestoreSingleDocumentAccessor<T, D> & FirestoreDocumentAccessorContextExtension<T, D>, T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(x: Building<X>, singleItemIdentifier?: SingleItemFirestoreCollectionDocumentIdentifier): void;
@@ -2,7 +2,7 @@
2
2
  /*eslint @typescript-eslint/no-explicit-any:"off"*/
3
3
  // any is used with intent here, as the recursive AbstractFirestoreDocument requires its use to terminate.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.firestoreSingleDocumentAccessor = exports.AbstractFirestoreDocumentWithParent = exports.firestoreDocumentAccessorContextExtension = exports.firestoreDocumentAccessorFactory = exports.limitedFirestoreDocumentAccessorFactory = exports.AbstractFirestoreDocument = void 0;
5
+ exports.extendFirestoreCollectionWithSingleDocumentAccessor = exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER = exports.firestoreSingleDocumentAccessor = exports.AbstractFirestoreDocumentWithParent = exports.firestoreDocumentAccessorContextExtension = exports.firestoreDocumentAccessorFactory = exports.limitedFirestoreDocumentAccessorFactory = exports.AbstractFirestoreDocument = void 0;
6
6
  const rxjs_1 = require("@dereekb/rxjs");
7
7
  const accessor_1 = require("./accessor");
8
8
  const util_1 = require("@dereekb/util");
@@ -226,4 +226,17 @@ function firestoreSingleDocumentAccessor(config) {
226
226
  };
227
227
  }
228
228
  exports.firestoreSingleDocumentAccessor = firestoreSingleDocumentAccessor;
229
+ exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER = '0';
230
+ function extendFirestoreCollectionWithSingleDocumentAccessor(x, singleItemIdentifier) {
231
+ const singleAccessor = firestoreSingleDocumentAccessor({
232
+ accessors: x,
233
+ singleItemIdentifier: singleItemIdentifier || exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER
234
+ });
235
+ x.singleItemIdentifier = singleAccessor.singleItemIdentifier;
236
+ x.documentRef = singleAccessor.documentRef;
237
+ x.loadDocument = singleAccessor.loadDocument;
238
+ x.loadDocumentForTransaction = singleAccessor.loadDocumentForTransaction;
239
+ x.loadDocumentForWriteBatch = singleAccessor.loadDocumentForWriteBatch;
240
+ }
241
+ exports.extendFirestoreCollectionWithSingleDocumentAccessor = extendFirestoreCollectionWithSingleDocumentAccessor;
229
242
  //# sourceMappingURL=document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { FirestoreDocument, FirestoreSingleDocumentAccessor, SingleItemFirestoreCollectionDocumentIdentifierRef } from '../accessor/document';
2
+ import { FirestoreCollection, FirestoreCollectionConfig } from './collection';
3
+ export interface RootSingleItemFirestoreCollectionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreCollectionConfig<T, D>, Partial<SingleItemFirestoreCollectionDocumentIdentifierRef> {
4
+ }
5
+ export interface RootSingleItemFirestoreCollection<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreCollection<T, D>, FirestoreSingleDocumentAccessor<T, D> {
6
+ }
7
+ export declare function makeRootSingleItemFirestoreCollection<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: RootSingleItemFirestoreCollectionConfig<T, D>): RootSingleItemFirestoreCollection<T, D>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeRootSingleItemFirestoreCollection = void 0;
4
+ const util_1 = require("@dereekb/util");
5
+ const document_1 = require("../accessor/document");
6
+ const collection_1 = require("./collection");
7
+ function makeRootSingleItemFirestoreCollection(config) {
8
+ const collection = (0, util_1.build)({
9
+ base: (0, collection_1.makeFirestoreCollection)(config),
10
+ build: (x) => {
11
+ (0, document_1.extendFirestoreCollectionWithSingleDocumentAccessor)(x, config.singleItemIdentifier);
12
+ }
13
+ });
14
+ return collection;
15
+ }
16
+ exports.makeRootSingleItemFirestoreCollection = makeRootSingleItemFirestoreCollection;
17
+ //# sourceMappingURL=collection.single.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.single.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.single.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AACtC,mDAAmM;AACnM,6CAAuG;AAOvG,SAAgB,qCAAqC,CAA2D,MAAqD;IACnK,MAAM,UAAU,GAAG,IAAA,YAAK,EAA0C;QAChE,IAAI,EAAE,IAAA,oCAAuB,EAAC,MAAM,CAAC;QACrC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACX,IAAA,8DAAmD,EAAgD,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrI,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AATD,sFASC"}
@@ -1,5 +1,6 @@
1
1
  export * from './collection';
2
2
  export * from './collection.key';
3
+ export * from './collection.single';
3
4
  export * from './collection.group';
4
5
  export * from './subcollection';
5
6
  export * from './subcollection.single';
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./collection"), exports);
5
5
  tslib_1.__exportStar(require("./collection.key"), exports);
6
+ tslib_1.__exportStar(require("./collection.single"), exports);
6
7
  tslib_1.__exportStar(require("./collection.group"), exports);
7
8
  tslib_1.__exportStar(require("./subcollection"), exports);
8
9
  tslib_1.__exportStar(require("./subcollection.single"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,2DAAiC;AACjC,6DAAmC;AACnC,0DAAgC;AAChC,iEAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,2DAAiC;AACjC,8DAAoC;AACpC,6DAAmC;AACnC,0DAAgC;AAChC,iEAAuC"}
@@ -1,13 +1,15 @@
1
- import { FirestoreDocument, FirestoreSingleDocumentAccessor } from '../accessor/document';
1
+ import { FirestoreDocument, FirestoreSingleDocumentAccessor, SingleItemFirestoreCollectionDocumentIdentifierRef } from '../accessor/document';
2
2
  import { FirestoreCollectionWithParent, FirestoreCollectionWithParentConfig } from './subcollection';
3
- export declare type SingleItemFirestoreCollectionItemIdentifier = string;
4
- export declare const DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_ITEM_IDENTIFIER = "0";
5
- export interface SingleItemFirestoreCollectionConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends FirestoreCollectionWithParentConfig<T, PT, D, PD> {
6
- /**
7
- * Identifier of the single item.
8
- */
9
- readonly singleItemIdentifier?: SingleItemFirestoreCollectionItemIdentifier;
3
+ export interface SingleItemFirestoreCollectionConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends FirestoreCollectionWithParentConfig<T, PT, D, PD>, Partial<SingleItemFirestoreCollectionDocumentIdentifierRef> {
10
4
  }
11
5
  export interface SingleItemFirestoreCollection<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends FirestoreCollectionWithParent<T, PT, D, PD>, FirestoreSingleDocumentAccessor<T, D> {
12
6
  }
13
7
  export declare function makeSingleItemFirestoreCollection<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>>(config: SingleItemFirestoreCollectionConfig<T, PT, D, PD>): SingleItemFirestoreCollection<T, PT, D, PD>;
8
+ /**
9
+ * @deprecated use DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER instead.
10
+ */
11
+ export declare const DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_ITEM_IDENTIFIER = "0";
12
+ /**
13
+ * @deprecated use SingleItemFirestoreCollectionDocumentIdentifier instead.
14
+ */
15
+ export declare type SingleItemFirestoreCollectionItemIdentifier = string;
@@ -1,26 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeSingleItemFirestoreCollection = exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_ITEM_IDENTIFIER = void 0;
3
+ exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_ITEM_IDENTIFIER = exports.makeSingleItemFirestoreCollection = void 0;
4
4
  const util_1 = require("@dereekb/util");
5
5
  const document_1 = require("../accessor/document");
6
6
  const subcollection_1 = require("./subcollection");
7
- exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_ITEM_IDENTIFIER = '0';
8
7
  function makeSingleItemFirestoreCollection(config) {
9
8
  const collection = (0, util_1.build)({
10
9
  base: (0, subcollection_1.makeFirestoreCollectionWithParent)(config),
11
10
  build: (x) => {
12
- const singleAccessor = (0, document_1.firestoreSingleDocumentAccessor)({
13
- accessors: x,
14
- singleItemIdentifier: config.singleItemIdentifier || exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_ITEM_IDENTIFIER
15
- });
16
- x.singleItemIdentifier = singleAccessor.singleItemIdentifier;
17
- x.documentRef = singleAccessor.documentRef;
18
- x.loadDocument = singleAccessor.loadDocument;
19
- x.loadDocumentForTransaction = singleAccessor.loadDocumentForTransaction;
20
- x.loadDocumentForWriteBatch = singleAccessor.loadDocumentForWriteBatch;
11
+ (0, document_1.extendFirestoreCollectionWithSingleDocumentAccessor)(x, config.singleItemIdentifier);
21
12
  }
22
13
  });
23
14
  return collection;
24
15
  }
25
16
  exports.makeSingleItemFirestoreCollection = makeSingleItemFirestoreCollection;
17
+ // MARK: Compat
18
+ /**
19
+ * @deprecated use DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER instead.
20
+ */
21
+ exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_ITEM_IDENTIFIER = '0';
26
22
  //# sourceMappingURL=subcollection.single.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subcollection.single.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/subcollection.single.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AACtC,mDAA2H;AAC3H,mDAAwI;AAK3H,QAAA,wDAAwD,GAAG,GAAG,CAAC;AAW5E,SAAgB,iCAAiC,CAAyH,MAAyD;IACjO,MAAM,UAAU,GAAG,IAAA,YAAK,EAA8C;QACpE,IAAI,EAAE,IAAA,iDAAiC,EAAC,MAAM,CAAC;QAC/C,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,cAAc,GAAG,IAAA,0CAA+B,EAAC;gBACrD,SAAS,EAAE,CAAgD;gBAC3D,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,gEAAwD;aAC9G,CAAC,CAAC;YAEH,CAAC,CAAC,oBAAoB,GAAG,cAAc,CAAC,oBAAoB,CAAC;YAC7D,CAAC,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;YAC3C,CAAC,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;YAC7C,CAAC,CAAC,0BAA0B,GAAG,cAAc,CAAC,0BAA0B,CAAC;YACzE,CAAC,CAAC,yBAAyB,GAAG,cAAc,CAAC,yBAAyB,CAAC;QACzE,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAlBD,8EAkBC"}
1
+ {"version":3,"file":"subcollection.single.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/subcollection.single.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AACtC,mDAAoO;AACpO,mDAAwI;AAOxI,SAAgB,iCAAiC,CAAyH,MAAyD;IACjO,MAAM,UAAU,GAAG,IAAA,YAAK,EAA8C;QACpE,IAAI,EAAE,IAAA,iDAAiC,EAAC,MAAM,CAAC;QAC/C,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACX,IAAA,8DAAmD,EAAoD,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACzI,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AATD,8EASC;AAED,eAAe;AACf;;GAEG;AACU,QAAA,wDAAwD,GAAG,GAAG,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FirestoreDocument } from './accessor/document';
1
+ import { FirestoreDocument, SingleItemFirestoreCollectionDocumentIdentifierRef } from './accessor/document';
2
2
  import { FirestoreCollection, FirestoreCollectionConfig, FirestoreCollectionWithParent, SingleItemFirestoreCollection, FirestoreCollectionGroup } from './collection';
3
3
  import { FirestoreDrivers } from './driver/driver';
4
4
  import { WriteBatchFactoryReference, RunTransactionFactoryReference } from './driver';
@@ -14,17 +14,19 @@ export interface FirestoreContext<F extends Firestore = Firestore> extends RunTr
14
14
  collectionGroup<T = DocumentData>(collectionId: string): CollectionGroup<T>;
15
15
  subcollection<T = DocumentData>(parent: DocumentReference, path: string, ...pathSegments: string[]): CollectionReference<T>;
16
16
  firestoreCollection<T, D extends FirestoreDocument<T>>(config: FirestoreContextFirestoreCollectionConfig<T, D>): FirestoreCollection<T, D>;
17
+ rootSingleItemFirestoreCollection<T, D extends FirestoreDocument<T>>(config: FirestoreContextFirestoreCollectionConfig<T, D>): FirestoreCollection<T, D>;
17
18
  firestoreCollectionGroup<T, D extends FirestoreDocument<T>>(config: FirestoreContextFirestoreCollectionGroupConfig<T, D>): FirestoreCollectionGroup<T, D>;
18
19
  firestoreCollectionWithParent<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>>(config: FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D, PD>): FirestoreCollectionWithParent<T, PT, D, PD>;
19
20
  singleItemFirestoreCollection<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>>(config: FirestoreContextSingleItemFirestoreCollectionConfig<T, PT, D, PD>): SingleItemFirestoreCollection<T, PT, D, PD>;
20
21
  }
21
22
  export declare type FirestoreContextFirestoreCollectionConfig<T, D extends FirestoreDocument<T>> = Omit<FirestoreCollectionConfig<T, D>, 'firestoreDriverIdentifier' | 'firestoreDriverType' | 'firestoreQueryDriver' | 'firestoreAccessorDriver'>;
23
+ export interface FirestoreContextRootSingleItemFirestoreCollectionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreContextFirestoreCollectionConfig<T, D>, Partial<SingleItemFirestoreCollectionDocumentIdentifierRef> {
24
+ }
22
25
  export declare type FirestoreContextFirestoreCollectionGroupConfig<T, D extends FirestoreDocument<T>> = Omit<FirestoreContextFirestoreCollectionConfig<T, D>, 'collection'> & QueryLikeReferenceRef<T>;
23
26
  export interface FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends Omit<FirestoreContextFirestoreCollectionConfig<T, D>, 'queryLike'> {
24
27
  readonly parent: PD;
25
28
  }
26
- export interface FirestoreContextSingleItemFirestoreCollectionConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D, PD> {
27
- readonly singleItemIdentifier?: string;
29
+ export interface FirestoreContextSingleItemFirestoreCollectionConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D, PD>, Partial<SingleItemFirestoreCollectionDocumentIdentifierRef> {
28
30
  }
29
31
  /**
30
32
  * Factory function for generating a FirestoreContext given the input Firestore.
@@ -26,6 +26,10 @@ function firestoreContextFactory(drivers) {
26
26
  runTransaction: drivers.firestoreAccessorDriver.transactionFactoryForFirestore(firestore),
27
27
  batch: drivers.firestoreAccessorDriver.writeBatchFactoryForFirestore(firestore),
28
28
  firestoreCollection,
29
+ rootSingleItemFirestoreCollection(inputConfig) {
30
+ const config = makeFirestoreCollectionConfig(inputConfig);
31
+ return (0, collection_1.makeRootSingleItemFirestoreCollection)(config);
32
+ },
29
33
  firestoreCollectionGroup,
30
34
  firestoreCollectionWithParent(inputConfig) {
31
35
  const config = makeFirestoreCollectionConfig(inputConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/context.ts"],"names":[],"mappings":";;;AACA,6CAA6W;AAqC7W;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAkC,OAAyB;IAChG,OAAO,CAAC,SAAY,EAAE,EAAE;QACtB,MAAM,6BAA6B,GAAG,CAAyH,MAAsP,EAAE,EAAE;;YACvZ,MAAM,SAAS,GAAG,MAAC,MAA0D,CAAC,UAAU,mCAAK,MAA+D,CAAC,SAAS,CAAC;YAEvK,uCACK,MAAM,KACT,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAC,MAA0D,CAAC,UAAU,0CAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,MAA0D,CAAC,UAAU,EAC/M,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EACnF,gBAAgB,EAAE,OAAO,EACzB,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,EAC5D,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAChD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAClD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IACxD;QACJ,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAAoC,MAAuD,EAAE,EAAE,CAAC,IAAA,oCAAuB,EAAC,6BAA6B,CAAC,MAAM,CAAoC,CAAC,CAAC;QAC9N,MAAM,wBAAwB,GAAG,CAAoC,MAA4D,EAAE,EAAE,CAAC,IAAA,yCAA4B,EAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1M,MAAM,OAAO,GAAwB;YACnC,SAAS;YACT,OAAO;YACP,eAAe,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC;YACnH,UAAU,EAAE,CAAC,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC;YACrI,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC,aAAa;YAC5D,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,SAAS,CAAC;YACzF,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,SAAS,CAAC;YAC/E,mBAAmB;YACnB,wBAAwB;YACxB,6BAA6B,CAAyH,WAA8D;gBAClN,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;YACD,6BAA6B,CAAyH,WAA8E;gBAClO,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AA1CD,0DA0CC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/context.ts"],"names":[],"mappings":";;;AACA,6CAAge;AAuChe;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAkC,OAAyB;IAChG,OAAO,CAAC,SAAY,EAAE,EAAE;QACtB,MAAM,6BAA6B,GAAG,CAAyH,MAAsP,EAAE,EAAE;;YACvZ,MAAM,SAAS,GAAG,MAAC,MAA0D,CAAC,UAAU,mCAAK,MAA+D,CAAC,SAAS,CAAC;YAEvK,uCACK,MAAM,KACT,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAC,MAA0D,CAAC,UAAU,0CAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,MAA0D,CAAC,UAAU,EAC/M,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EACnF,gBAAgB,EAAE,OAAO,EACzB,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,EAC5D,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAChD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAClD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IACxD;QACJ,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAAoC,MAAuD,EAAE,EAAE,CAAC,IAAA,oCAAuB,EAAC,6BAA6B,CAAC,MAAM,CAAoC,CAAC,CAAC;QAC9N,MAAM,wBAAwB,GAAG,CAAoC,MAA4D,EAAE,EAAE,CAAC,IAAA,yCAA4B,EAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1M,MAAM,OAAO,GAAwB;YACnC,SAAS;YACT,OAAO;YACP,eAAe,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC;YACnH,UAAU,EAAE,CAAC,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC;YACrI,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC,aAAa;YAC5D,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,SAAS,CAAC;YACzF,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,SAAS,CAAC;YAC/E,mBAAmB;YACnB,iCAAiC,CAA2D,WAA0E;gBACpK,MAAM,MAAM,GAAkD,6BAA6B,CAAC,WAAW,CAAkD,CAAC;gBAC1J,OAAO,IAAA,kDAAqC,EAAC,MAAM,CAAC,CAAC;YACvD,CAAC;YACD,wBAAwB;YACxB,6BAA6B,CAAyH,WAA8D;gBAClN,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;YACD,6BAA6B,CAAyH,WAA8E;gBAClO,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AA9CD,0DA8CC"}
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.20.6](https://github.com/dereekb/dbx-components/compare/v9.20.5-dev...v9.20.6) (2022-12-26)
6
+
7
+
8
+
9
+ ## [9.20.5](https://github.com/dereekb/dbx-components/compare/v9.20.4-dev...v9.20.5) (2022-12-26)
10
+
11
+
12
+
5
13
  ## [9.20.4](https://github.com/dereekb/dbx-components/compare/v9.20.3-dev...v9.20.4) (2022-12-24)
6
14
 
7
15
 
package/test/package.json CHANGED
@@ -1,26 +1,26 @@
1
1
  {
2
2
  "name": "@dereekb/firebase/test",
3
- "version": "9.20.4",
3
+ "version": "9.20.6",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
- "@dereekb/util/test": "9.20.4",
10
- "@dereekb/util": "9.20.4",
9
+ "@dereekb/util/test": "9.20.6",
10
+ "@dereekb/util": "9.20.6",
11
11
  "lodash.isequal": "^4.5.0",
12
12
  "make-error": "^1.3.0",
13
13
  "class-validator": "^0.13.2",
14
14
  "ts-essentials": "^9.1.2",
15
15
  "extra-set": "^2.2.11",
16
- "@dereekb/firebase": "9.20.4",
16
+ "@dereekb/firebase": "9.20.6",
17
17
  "rxjs": "^7.5.0",
18
18
  "firebase": "^9.9.2",
19
19
  "class-transformer": "^0.5.1",
20
- "@dereekb/rxjs": "9.20.4",
20
+ "@dereekb/rxjs": "9.20.6",
21
21
  "ms": "^3.0.0-canary.1",
22
- "@dereekb/model": "9.20.4",
23
- "@dereekb/date": "9.20.4",
22
+ "@dereekb/model": "9.20.6",
23
+ "@dereekb/date": "9.20.6",
24
24
  "date-fns": "^2.29.0",
25
25
  "date-fns-tz": "^1.3.0",
26
26
  "rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",