@dereekb/firebase-server 12.1.8 → 12.1.10

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
+ ## [12.1.10](https://github.com/dereekb/dbx-components/compare/v12.1.9...v12.1.10) (2025-06-13)
6
+
7
+
8
+
9
+ ## [12.1.9](https://github.com/dereekb/dbx-components/compare/v12.1.8...v12.1.9) (2025-06-09)
10
+
11
+
12
+
5
13
  ## [12.1.8](https://github.com/dereekb/dbx-components/compare/v12.1.7...v12.1.8) (2025-06-08)
6
14
 
7
15
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/mailgun",
3
- "version": "12.1.8",
3
+ "version": "12.1.10",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "mailgun.js": "^12.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/model",
3
- "version": "12.1.8",
3
+ "version": "12.1.10",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "main": "./src/index.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "12.1.8",
3
+ "version": "12.1.10",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./src/index.d.ts",
@@ -0,0 +1,8 @@
1
+ import { type UpdateData, type FirestoreAccessorArrayUpdate } from '@dereekb/firebase';
2
+ /**
3
+ * Creates UpdateData corresponding to the input array update.
4
+ *
5
+ * @param input
6
+ * @returns
7
+ */
8
+ export declare function firestoreServerArrayUpdateToUpdateData<T extends object>(input: FirestoreAccessorArrayUpdate<T>): UpdateData<T>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firestoreServerArrayUpdateToUpdateData = firestoreServerArrayUpdateToUpdateData;
4
+ const util_1 = require("@dereekb/util");
5
+ const firestore_1 = require("@google-cloud/firestore");
6
+ /**
7
+ * Creates UpdateData corresponding to the input array update.
8
+ *
9
+ * @param input
10
+ * @returns
11
+ */
12
+ function firestoreServerArrayUpdateToUpdateData(input) {
13
+ const union = input?.union;
14
+ const remove = input?.remove;
15
+ function createUpdatesWithArrayFunction(fieldUpdate, arrayUpdateFunction) {
16
+ let result;
17
+ if (fieldUpdate) {
18
+ result = (0, util_1.mapObjectMap)(fieldUpdate, (arrayUpdate) => {
19
+ let result;
20
+ if (arrayUpdate) {
21
+ result = arrayUpdateFunction(...arrayUpdate); // use spread operator to insert each value as an argument, as "nested arrays" are not allowed in the Firestore
22
+ }
23
+ return result;
24
+ });
25
+ }
26
+ return result;
27
+ }
28
+ const updateData = {
29
+ ...createUpdatesWithArrayFunction(union, firestore_1.FieldValue.arrayUnion),
30
+ ...createUpdatesWithArrayFunction(remove, firestore_1.FieldValue.arrayRemove)
31
+ };
32
+ return updateData;
33
+ }
34
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/array.ts"],"names":[],"mappings":";;AAUA,wFA4BC;AAtCD,wCAAoD;AACpD,uDAAqD;AAGrD;;;;;GAKG;AACH,SAAgB,sCAAsC,CAAmB,KAAsC;IAC7G,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;IAC3B,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC;IAE7B,SAAS,8BAA8B,CAAC,WAAgE,EAAE,mBAAiF;QACzL,IAAI,MAAiC,CAAC;QAEtC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,GAAG,IAAA,mBAAY,EAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;gBACjD,IAAI,MAA8B,CAAC;gBAEnC,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,GAAG,mBAAmB,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,+GAA+G;gBAC/J,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC,CAAkB,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAkB;QAChC,GAAG,8BAA8B,CAAC,KAAK,EAAE,sBAAU,CAAC,UAAU,CAAC;QAC/D,GAAG,8BAA8B,CAAC,MAAM,EAAE,sBAAU,CAAC,WAAW,CAAC;KACjD,CAAC;IAEnB,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type DocumentReference, type WriteBatch as GoogleCloudWriteBatch, type DocumentSnapshot } from '@google-cloud/firestore';
2
2
  import { type Observable } from 'rxjs';
3
- import { type WithFieldValue, type FirestoreDocumentContext, FirestoreDocumentContextType, type FirestoreDocumentDataAccessor, type FirestoreDocumentDataAccessorFactory, type FirestoreDocumentDeleteParams, type FirestoreDocumentUpdateParams, type UpdateData, type DocumentData, type FirestoreDataConverter, type FirestoreAccessorIncrementUpdate } from '@dereekb/firebase';
3
+ import { type WithFieldValue, type FirestoreDocumentContext, FirestoreDocumentContextType, type FirestoreDocumentDataAccessor, type FirestoreDocumentDataAccessorFactory, type FirestoreDocumentDeleteParams, type FirestoreDocumentUpdateParams, type UpdateData, type DocumentData, type FirestoreDataConverter, type FirestoreAccessorIncrementUpdate, FirestoreAccessorArrayUpdate } from '@dereekb/firebase';
4
4
  /**
5
5
  * FirestoreDocumentDataAccessor implementation for a batch.
6
6
  */
@@ -17,6 +17,7 @@ export declare class WriteBatchFirestoreDocumentDataAccessor<T> implements Fires
17
17
  delete(params?: FirestoreDocumentDeleteParams): Promise<void>;
18
18
  set(data: WithFieldValue<T>): Promise<void>;
19
19
  increment(data: FirestoreAccessorIncrementUpdate<T>, params?: FirestoreDocumentUpdateParams): Promise<void>;
20
+ arrayUpdate(data: FirestoreAccessorArrayUpdate<T>, params?: FirestoreDocumentUpdateParams): Promise<void>;
20
21
  update(data: UpdateData<object>, params?: FirestoreDocumentUpdateParams): Promise<void>;
21
22
  }
22
23
  /**
@@ -6,6 +6,7 @@ exports.writeBatchDocumentContext = writeBatchDocumentContext;
6
6
  const rxjs_1 = require("rxjs");
7
7
  const firebase_1 = require("@dereekb/firebase");
8
8
  const increment_1 = require("./increment");
9
+ const array_1 = require("./array");
9
10
  // MARK: Accessor
10
11
  /**
11
12
  * FirestoreDocumentDataAccessor implementation for a batch.
@@ -47,6 +48,9 @@ class WriteBatchFirestoreDocumentDataAccessor {
47
48
  increment(data, params) {
48
49
  return this.update((0, increment_1.firestoreServerIncrementUpdateToUpdateData)(data), params);
49
50
  }
51
+ arrayUpdate(data, params) {
52
+ return this.update((0, array_1.firestoreServerArrayUpdateToUpdateData)(data), params);
53
+ }
50
54
  update(data, params) {
51
55
  if (params?.precondition != null) {
52
56
  this.batch.update(this.documentRef, data, params?.precondition);
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.batch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.batch.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type DocumentReference, type WriteResult as GoogleCloudWriteResult, type DocumentSnapshot } from '@google-cloud/firestore';
2
2
  import { type Observable } from 'rxjs';
3
- import { type WithFieldValue, type UpdateData, type FirestoreDocumentContext, type FirestoreDocumentDataAccessor, type FirestoreDocumentDataAccessorFactory, type FirestoreDocumentDeleteParams, type FirestoreDocumentUpdateParams, type SetOptions, type FirestoreDataConverter, type DocumentData, type FirestoreAccessorIncrementUpdate } from '@dereekb/firebase';
3
+ import { type WithFieldValue, type UpdateData, type FirestoreDocumentContext, type FirestoreDocumentDataAccessor, type FirestoreDocumentDataAccessorFactory, type FirestoreDocumentDeleteParams, type FirestoreDocumentUpdateParams, type SetOptions, type FirestoreDataConverter, type DocumentData, type FirestoreAccessorIncrementUpdate, FirestoreAccessorArrayUpdate } from '@dereekb/firebase';
4
4
  export declare class DefaultFirestoreDocumentDataAccessor<T> implements FirestoreDocumentDataAccessor<T> {
5
5
  private readonly _documentRef;
6
6
  constructor(documentRef: DocumentReference<T>);
@@ -13,6 +13,7 @@ export declare class DefaultFirestoreDocumentDataAccessor<T> implements Firestor
13
13
  delete(params: FirestoreDocumentDeleteParams): Promise<GoogleCloudWriteResult>;
14
14
  set(data: WithFieldValue<T>, options?: SetOptions): Promise<GoogleCloudWriteResult>;
15
15
  increment(data: FirestoreAccessorIncrementUpdate<T>, params?: FirestoreDocumentUpdateParams): Promise<GoogleCloudWriteResult>;
16
+ arrayUpdate(data: FirestoreAccessorArrayUpdate<T>, params?: FirestoreDocumentUpdateParams): Promise<GoogleCloudWriteResult>;
16
17
  update(data: UpdateData<object>, params?: FirestoreDocumentUpdateParams): Promise<GoogleCloudWriteResult>;
17
18
  }
18
19
  export declare function defaultFirestoreAccessorFactory<T>(): FirestoreDocumentDataAccessorFactory<T>;
@@ -5,6 +5,7 @@ exports.defaultFirestoreAccessorFactory = defaultFirestoreAccessorFactory;
5
5
  exports.defaultFirestoreDocumentContext = defaultFirestoreDocumentContext;
6
6
  const firebase_1 = require("@dereekb/firebase");
7
7
  const increment_1 = require("./increment");
8
+ const array_1 = require("./array");
8
9
  // MARK: Accessor
9
10
  class DefaultFirestoreDocumentDataAccessor {
10
11
  _documentRef;
@@ -38,6 +39,9 @@ class DefaultFirestoreDocumentDataAccessor {
38
39
  increment(data, params) {
39
40
  return this.update((0, increment_1.firestoreServerIncrementUpdateToUpdateData)(data), params);
40
41
  }
42
+ arrayUpdate(data, params) {
43
+ return this.update((0, array_1.firestoreServerArrayUpdateToUpdateData)(data), params);
44
+ }
41
45
  update(data, params) {
42
46
  return params?.precondition ? this.documentRef.update(data, params.precondition) : this.documentRef.update(data);
43
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAsDA,0EAIC;AAGD,0EAKC;AAhED,gDAA2Z;AAC3Z,2CAAyE;AAEzE,iBAAiB;AACjB,MAAa,oCAAoC;IAC9B,YAAY,CAAuB;IAEpD,YAAY,WAAiC;QAC3C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,IAAA,+BAAoB,EAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAC,GAAG,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,CAAC,MAAqC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;IACvG,CAAC;IAED,SAAS,CAAC,IAAyC,EAAE,MAAsC;QACzF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,sDAA0C,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,IAAwB,EAAE,MAAsC;QACrE,OAAO,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAkD,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAkD,CAAC,CAAC;IAC/M,CAAC;CACF;AA9CD,oFA8CC;AAED,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,GAAG,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,uCAA4B,CAAC,IAAI;QAC9C,eAAe,EAAE,+BAA+B,EAAK;KACtD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AA2DA,0EAIC;AAGD,0EAKC;AArED,gDAAyb;AACzb,2CAAyE;AACzE,mCAAiE;AAEjE,iBAAiB;AACjB,MAAa,oCAAoC;IAC9B,YAAY,CAAuB;IAEpD,YAAY,WAAiC;QAC3C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,IAAA,+BAAoB,EAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAC,GAAG,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,CAAC,MAAqC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;IACvG,CAAC;IAED,SAAS,CAAC,IAAyC,EAAE,MAAsC;QACzF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,sDAA0C,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,WAAW,CAAC,IAAqC,EAAE,MAAsC;QACvF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,8CAAsC,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,IAAwB,EAAE,MAAsC;QACrE,OAAO,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAkD,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAkD,CAAC,CAAC;IAC/M,CAAC;CACF;AAlDD,oFAkDC;AAED,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,GAAG,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,uCAA4B,CAAC,IAAI;QAC9C,eAAe,EAAE,+BAA+B,EAAK;KACtD,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type DocumentReference, type DocumentSnapshot, type Transaction as GoogleCloudTransaction, type SetOptions } from '@google-cloud/firestore';
2
2
  import { type Observable } from 'rxjs';
3
- import { type WithFieldValue, type UpdateData, type FirestoreDocumentDataAccessor, type FirestoreDocumentDataAccessorFactory, type FirestoreDocumentContext, FirestoreDocumentContextType, type FirestoreDocumentUpdateParams, type FirestoreDataConverter, type DocumentData, type FirestoreAccessorIncrementUpdate } from '@dereekb/firebase';
3
+ import { type WithFieldValue, type UpdateData, type FirestoreDocumentDataAccessor, type FirestoreDocumentDataAccessorFactory, type FirestoreDocumentContext, FirestoreDocumentContextType, type FirestoreDocumentUpdateParams, type FirestoreDataConverter, type DocumentData, type FirestoreAccessorIncrementUpdate, FirestoreAccessorArrayUpdate } from '@dereekb/firebase';
4
4
  /**
5
5
  * FirestoreDocumentDataAccessor implementation for a transaction.
6
6
  */
@@ -18,6 +18,7 @@ export declare class TransactionFirestoreDocumentDataAccessor<T> implements Fire
18
18
  delete(): Promise<void>;
19
19
  set(data: WithFieldValue<T>, options?: SetOptions): Promise<void>;
20
20
  increment(data: FirestoreAccessorIncrementUpdate<T>, params?: FirestoreDocumentUpdateParams): Promise<void>;
21
+ arrayUpdate(data: FirestoreAccessorArrayUpdate<T>, params?: FirestoreDocumentUpdateParams): Promise<void>;
21
22
  update(data: UpdateData<object>, params?: FirestoreDocumentUpdateParams): Promise<void>;
22
23
  }
23
24
  /**
@@ -6,6 +6,7 @@ exports.transactionDocumentContext = transactionDocumentContext;
6
6
  const rxjs_1 = require("rxjs");
7
7
  const firebase_1 = require("@dereekb/firebase");
8
8
  const increment_1 = require("./increment");
9
+ const array_1 = require("./array");
9
10
  // MARK: Accessor
10
11
  /**
11
12
  * FirestoreDocumentDataAccessor implementation for a transaction.
@@ -50,6 +51,9 @@ class TransactionFirestoreDocumentDataAccessor {
50
51
  increment(data, params) {
51
52
  return this.update((0, increment_1.firestoreServerIncrementUpdateToUpdateData)(data), params);
52
53
  }
54
+ arrayUpdate(data, params) {
55
+ return this.update((0, array_1.firestoreServerArrayUpdateToUpdateData)(data), params);
56
+ }
53
57
  update(data, params) {
54
58
  if (params?.precondition) {
55
59
  this.transaction.update(this.documentRef, data, params?.precondition);
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AAmFA,gEAIC;AAmBD,gEAEC;AA3GD,+BAA6C;AAC7C,gDAA8W;AAC9W,2CAAyE;AACzE,mCAAiE;AAEjE,iBAAiB;AACjB;;GAEG;AACH,MAAa,wCAAwC;IAClC,YAAY,CAAyB;IACrC,YAAY,CAAuB;IAEpD,YAAY,WAAmC,EAAE,WAAiC;QAChF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,IAAuB;QAC5B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAkB,EAAE,OAAqB,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,IAAyC,EAAE,MAAsC;QACzF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,sDAA0C,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,WAAW,CAAC,IAAqC,EAAE,MAAsC;QACvF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAA,8CAAsC,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,IAAwB,EAAE,MAAsC;QACrE,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAkB,IAAI,CAAC,WAAW,EAAE,IAAkD,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACvI,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,MAAM,CAAkB,IAAI,CAAC,WAAW,EAAE,IAAkD,CAAC,CAAC;QACjH,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAjED,4FAiEC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,WAAmC;IAC/E,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,wCAAwC,CAAC,WAAW,EAAE,GAAG,CAAC;KAC3G,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAa,mCAAmC;IAC7B,YAAY,CAAyB;IAE7C,WAAW,GAAG,uCAA4B,CAAC,WAAW,CAAC;IACvD,eAAe,CAAwD;IAEhF,YAAY,WAAmC;QAC7C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,0BAA0B,CAAI,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAdD,kFAcC;AAED,SAAgB,0BAA0B,CAAI,WAAmC;IAC/E,OAAO,IAAI,mCAAmC,CAAI,WAAW,CAAC,CAAC;AACjE,CAAC"}
package/test/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/test",
3
- "version": "12.1.8",
3
+ "version": "12.1.10",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "main": "./src/index.js"
package/zoho/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/zoho",
3
- "version": "12.1.8",
3
+ "version": "12.1.10",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./src/index.d.ts",