emberflow 1.3.5 → 1.3.7

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.
@@ -11,8 +11,6 @@ let maxConcurrentSubmit = 10;
11
11
  let running = false;
12
12
  let activeCount = 0;
13
13
  const queue = [];
14
- const execRef = index_1.db.doc("@internal/submitFormExecutor");
15
- const queueRef = index_1.db.collection("@internal/submitFormExecutor/queue");
16
14
  function waitForSubmitFormQueueToEmpty() {
17
15
  // If the queue is already empty and there are no active submissions, resolve immediately
18
16
  if (!running) {
@@ -35,6 +33,7 @@ async function queueSubmitForm(formData) {
35
33
  // Add the formData and the current timestamp to the queue
36
34
  console.log("Queueing form submission", formData);
37
35
  await index_1.db.runTransaction(async (transaction) => {
36
+ const queueRef = index_1.db.collection("@internal/submitFormExecutor/queue");
38
37
  const docRef = queueRef.doc();
39
38
  transaction.set(docRef, { formData, timestamp: new Date() });
40
39
  });
@@ -44,6 +43,8 @@ async function queueSubmitForm(formData) {
44
43
  exports.queueSubmitForm = queueSubmitForm;
45
44
  function updateQueueInfo() {
46
45
  return index_1.db.runTransaction(async (transaction) => {
46
+ const execRef = index_1.db.doc("@internal/submitFormExecutor");
47
+ const queueRef = index_1.db.collection("@internal/submitFormExecutor/queue");
47
48
  const queueDoc = await transaction.get(execRef);
48
49
  ({ activeCount, maxConcurrentSubmit } = queueDoc.data() || { activeCount: 0, maxConcurrentSubmit: 10 });
49
50
  if (queue.length <= 1) {
@@ -72,14 +73,17 @@ async function processQueue() {
72
73
  continue;
73
74
  }
74
75
  await index_1.db.runTransaction(async (transaction) => {
76
+ const execRef = index_1.db.doc("@internal/submitFormExecutor");
77
+ const queueRef = index_1.db.collection("@internal/submitFormExecutor/queue");
75
78
  transaction.delete(queueRef.doc(queueItem["@id"]));
76
- transaction.update(execRef, { activeCount: index_1.admin.firestore.FieldValue.increment(1) });
79
+ transaction.set(execRef, { activeCount: index_1.admin.firestore.FieldValue.increment(1) }, { merge: true });
77
80
  });
78
81
  const { formData, timestamp } = queueItem;
79
82
  // Submit the form
80
83
  _submitForm(formData).then(async () => {
81
84
  // Decrement the active count
82
- await execRef.update({ activeCount: index_1.admin.firestore.FieldValue.increment(-1) });
85
+ const execRef = index_1.db.doc("@internal/submitFormExecutor");
86
+ await execRef.set({ activeCount: index_1.admin.firestore.FieldValue.increment(-1) }, { merge: true });
83
87
  await updateQueueInfo();
84
88
  // Check if the queue is empty and all submissions have been processed
85
89
  if (queue.length === 0 && activeCount === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/utils/forms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/utils/forms.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emberflow",
3
- "version": "1.3.5",
3
+ "version": "1.3.7",
4
4
  "description": "A Firebase Cloud Functions library for handling document changes in a structured way",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.js",