emberflow 1.3.74 → 1.3.76
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/lib/index-utils.d.ts +1 -0
- package/lib/index-utils.js +72 -2
- package/lib/index-utils.js.map +1 -1
- package/lib/index.js +97 -47
- package/lib/index.js.map +1 -1
- package/lib/tests/index-utils.test.js +126 -0
- package/lib/tests/index-utils.test.js.map +1 -1
- package/lib/tests/index.test.js +63 -9
- package/lib/tests/index.test.js.map +1 -1
- package/lib/types.d.ts +14 -0
- package/lib/utils/distribution.d.ts +9 -0
- package/lib/utils/distribution.js +65 -60
- package/lib/utils/distribution.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.instructionsReducer = exports.mergeInstructions = exports.onMessageInstructionsQueue = exports.queueInstructions = exports.onMessageForDistributionQueue = exports.queueForDistributionLater = void 0;
|
|
3
|
+
exports.instructionsReducer = exports.mergeInstructions = exports.onMessageInstructionsQueue = exports.convertInstructionsToDbValues = exports.queueInstructions = exports.onMessageForDistributionQueue = exports.queueForDistributionLater = void 0;
|
|
4
4
|
const index_1 = require("../index");
|
|
5
5
|
const index_utils_1 = require("../index-utils");
|
|
6
6
|
const pubsub_1 = require("./pubsub");
|
|
@@ -69,76 +69,81 @@ const queueInstructions = async (dstPath, instructions) => {
|
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
exports.queueInstructions = queueInstructions;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
72
|
+
function convertInstructionsToDbValues(instructions) {
|
|
73
|
+
const updateData = {};
|
|
74
|
+
const removeData = {};
|
|
75
|
+
for (const [property, instruction] of Object.entries(instructions)) {
|
|
76
|
+
if (instruction === "++") {
|
|
77
|
+
updateData[property] = index_1.admin.firestore.FieldValue.increment(1);
|
|
78
|
+
}
|
|
79
|
+
else if (instruction === "--") {
|
|
80
|
+
updateData[property] = index_1.admin.firestore.FieldValue.increment(-1);
|
|
81
|
+
}
|
|
82
|
+
else if (instruction.startsWith("+")) {
|
|
83
|
+
const incrementValue = parseInt(instruction.slice(1));
|
|
84
|
+
if (isNaN(incrementValue)) {
|
|
85
|
+
console.log(`Invalid increment value ${instruction} for property ${property}`);
|
|
79
86
|
}
|
|
80
|
-
else
|
|
81
|
-
updateData[property] = index_1.admin.firestore.FieldValue.increment(
|
|
87
|
+
else {
|
|
88
|
+
updateData[property] = index_1.admin.firestore.FieldValue.increment(incrementValue);
|
|
82
89
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
updateData[property] = index_1.admin.firestore.FieldValue.increment(incrementValue);
|
|
90
|
-
}
|
|
90
|
+
}
|
|
91
|
+
else if (instruction.startsWith("-")) {
|
|
92
|
+
const decrementValue = parseInt(instruction.slice(1));
|
|
93
|
+
if (isNaN(decrementValue)) {
|
|
94
|
+
console.log(`Invalid decrement value ${instruction} for property ${property}`);
|
|
91
95
|
}
|
|
92
|
-
else
|
|
93
|
-
|
|
94
|
-
if (isNaN(decrementValue)) {
|
|
95
|
-
console.log(`Invalid decrement value ${instruction} for property ${property}`);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
updateData[property] = index_1.admin.firestore.FieldValue.increment(-decrementValue);
|
|
99
|
-
}
|
|
96
|
+
else {
|
|
97
|
+
updateData[property] = index_1.admin.firestore.FieldValue.increment(-decrementValue);
|
|
100
98
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
99
|
+
}
|
|
100
|
+
else if (instruction.startsWith("arr")) {
|
|
101
|
+
const regex = /\((.*?)\)/;
|
|
102
|
+
const match = instruction.match(regex);
|
|
103
|
+
if (!match) {
|
|
104
|
+
console.log(`Invalid instruction ${instruction} for property ${property}`);
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
const paramsStr = match[1];
|
|
108
|
+
if (!paramsStr) {
|
|
109
|
+
console.log(`No values found in instruction ${instruction} for property ${property}`);
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const params = paramsStr.split(",").map((value) => value.trim());
|
|
113
|
+
const valuesToAdd = [];
|
|
114
|
+
const valuesToRemove = [];
|
|
115
|
+
for (const param of params) {
|
|
116
|
+
const operation = param[0];
|
|
117
|
+
let value = param;
|
|
118
|
+
if (operation === "-" || operation === "+") {
|
|
119
|
+
value = param.slice(1);
|
|
107
120
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
console.log(`No values found in instruction ${instruction} for property ${property}`);
|
|
121
|
+
if (operation === "-") {
|
|
122
|
+
valuesToRemove.push(value);
|
|
111
123
|
continue;
|
|
112
124
|
}
|
|
113
|
-
|
|
114
|
-
const valuesToAdd = [];
|
|
115
|
-
const valuesToRemove = [];
|
|
116
|
-
for (const param of params) {
|
|
117
|
-
const operation = param[0];
|
|
118
|
-
let value = param;
|
|
119
|
-
if (operation === "-" || operation === "+") {
|
|
120
|
-
value = param.slice(1);
|
|
121
|
-
}
|
|
122
|
-
if (operation === "-") {
|
|
123
|
-
valuesToRemove.push(value);
|
|
124
|
-
continue;
|
|
125
|
-
}
|
|
126
|
-
valuesToAdd.push(value);
|
|
127
|
-
}
|
|
128
|
-
if (valuesToAdd.length > 0) {
|
|
129
|
-
updateData[property] = index_1.admin.firestore.FieldValue.arrayUnion(...valuesToAdd);
|
|
130
|
-
}
|
|
131
|
-
if (valuesToRemove.length > 0) {
|
|
132
|
-
removeData[property] = index_1.admin.firestore.FieldValue.arrayRemove(...valuesToRemove);
|
|
133
|
-
}
|
|
125
|
+
valuesToAdd.push(value);
|
|
134
126
|
}
|
|
135
|
-
|
|
136
|
-
updateData[property] = index_1.admin.firestore.FieldValue.
|
|
127
|
+
if (valuesToAdd.length > 0) {
|
|
128
|
+
updateData[property] = index_1.admin.firestore.FieldValue.arrayUnion(...valuesToAdd);
|
|
137
129
|
}
|
|
138
|
-
|
|
139
|
-
|
|
130
|
+
if (valuesToRemove.length > 0) {
|
|
131
|
+
removeData[property] = index_1.admin.firestore.FieldValue.arrayRemove(...valuesToRemove);
|
|
140
132
|
}
|
|
141
133
|
}
|
|
134
|
+
else if (instruction === "del") {
|
|
135
|
+
updateData[property] = index_1.admin.firestore.FieldValue.delete();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
console.log(`Invalid instruction ${instruction} for property ${property}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return { updateData, removeData };
|
|
142
|
+
}
|
|
143
|
+
exports.convertInstructionsToDbValues = convertInstructionsToDbValues;
|
|
144
|
+
async function onMessageInstructionsQueue(event) {
|
|
145
|
+
async function applyInstructions(instructions, dstPath) {
|
|
146
|
+
const { updateData, removeData } = convertInstructionsToDbValues(instructions);
|
|
142
147
|
const dstDocRef = index_1.db.doc(dstPath);
|
|
143
148
|
if (Object.keys(updateData).length > 0) {
|
|
144
149
|
await dstDocRef.update(updateData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/utils/distribution.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/utils/distribution.ts"],"names":[],"mappings":"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"}
|