emberflow 1.3.68 → 1.3.69

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.d.ts CHANGED
@@ -23,14 +23,11 @@ export declare const SUBMIT_FORM_TOPIC_NAME = "submit-form-queue";
23
23
  export declare const VIEW_LOGICS_TOPIC_NAME = "view-logics-queue";
24
24
  export declare const FOR_DISTRIBUTION_TOPIC_NAME = "for-distribution-queue";
25
25
  export declare const INSTRUCTIONS_TOPIC_NAME = "instructions-queue";
26
- export declare const INSTRUCTIONS_REDUCER_TOPIC_NAME = "instructions-reducer-queue";
27
26
  export declare const pubSubTopics: string[];
28
27
  export declare let SUBMIT_FORM_TOPIC: Topic;
29
28
  export declare let VIEW_LOGICS_TOPIC: Topic;
30
- export declare let PEER_SYNC_TOPIC: Topic;
31
29
  export declare let FOR_DISTRIBUTION_TOPIC: Topic;
32
30
  export declare let INSTRUCTIONS_TOPIC: Topic;
33
- export declare let INSTRUCTIONS_REDUCER_TOPIC: Topic;
34
31
  export declare const _mockable: {
35
32
  createNowTimestamp: () => FirebaseFirestore.Timestamp;
36
33
  initActionRef: typeof initActionRef;
package/lib/index.js CHANGED
@@ -34,7 +34,7 @@ var __rest = (this && this.__rest) || function (s, e) {
34
34
  return t;
35
35
  };
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.onFormSubmit = exports.initializeEmberFlow = exports._mockable = exports.INSTRUCTIONS_REDUCER_TOPIC = exports.INSTRUCTIONS_TOPIC = exports.FOR_DISTRIBUTION_TOPIC = exports.PEER_SYNC_TOPIC = exports.VIEW_LOGICS_TOPIC = exports.SUBMIT_FORM_TOPIC = exports.pubSubTopics = exports.INSTRUCTIONS_REDUCER_TOPIC_NAME = exports.INSTRUCTIONS_TOPIC_NAME = exports.FOR_DISTRIBUTION_TOPIC_NAME = exports.VIEW_LOGICS_TOPIC_NAME = exports.SUBMIT_FORM_TOPIC_NAME = exports.functionsConfig = exports.projectConfig = exports.viewLogicConfigs = exports.docPathsRegex = exports.colPaths = exports.docPaths = exports.logicConfigs = exports.validatorConfig = exports.securityConfig = exports.Entity = exports.dbStructure = exports.pubsub = exports.rtdb = exports.db = exports.admin = void 0;
37
+ exports.onFormSubmit = exports.initializeEmberFlow = exports._mockable = exports.INSTRUCTIONS_TOPIC = exports.FOR_DISTRIBUTION_TOPIC = exports.VIEW_LOGICS_TOPIC = exports.SUBMIT_FORM_TOPIC = exports.pubSubTopics = exports.INSTRUCTIONS_TOPIC_NAME = exports.FOR_DISTRIBUTION_TOPIC_NAME = exports.VIEW_LOGICS_TOPIC_NAME = exports.SUBMIT_FORM_TOPIC_NAME = exports.functionsConfig = exports.projectConfig = exports.viewLogicConfigs = exports.docPathsRegex = exports.colPaths = exports.docPaths = exports.logicConfigs = exports.validatorConfig = exports.securityConfig = exports.Entity = exports.dbStructure = exports.pubsub = exports.rtdb = exports.db = exports.admin = void 0;
38
38
  const functions = __importStar(require("firebase-functions"));
39
39
  const index_utils_1 = require("./index-utils");
40
40
  const init_db_structure_1 = require("./init-db-structure");
@@ -53,18 +53,17 @@ const pubsub_3 = require("./utils/pubsub");
53
53
  const scheduler_1 = require("firebase-functions/v2/scheduler");
54
54
  const firestore_1 = require("firebase-functions/v2/firestore");
55
55
  const https_1 = require("firebase-functions/v2/https");
56
+ const functions_1 = require("./utils/functions");
56
57
  exports.functionsConfig = {};
57
58
  exports.SUBMIT_FORM_TOPIC_NAME = "submit-form-queue";
58
59
  exports.VIEW_LOGICS_TOPIC_NAME = "view-logics-queue";
59
60
  exports.FOR_DISTRIBUTION_TOPIC_NAME = "for-distribution-queue";
60
61
  exports.INSTRUCTIONS_TOPIC_NAME = "instructions-queue";
61
- exports.INSTRUCTIONS_REDUCER_TOPIC_NAME = "instructions-reducer-queue";
62
62
  exports.pubSubTopics = [
63
63
  exports.SUBMIT_FORM_TOPIC_NAME,
64
64
  exports.VIEW_LOGICS_TOPIC_NAME,
65
65
  exports.FOR_DISTRIBUTION_TOPIC_NAME,
66
66
  exports.INSTRUCTIONS_TOPIC_NAME,
67
- exports.INSTRUCTIONS_REDUCER_TOPIC_NAME,
68
67
  ];
69
68
  exports._mockable = {
70
69
  createNowTimestamp: () => exports.admin.firestore.Timestamp.now(),
@@ -86,7 +85,6 @@ function initializeEmberFlow(customProjectConfig, adminInstance, customDbStructu
86
85
  exports.VIEW_LOGICS_TOPIC = exports.pubsub.topic(exports.VIEW_LOGICS_TOPIC_NAME);
87
86
  exports.FOR_DISTRIBUTION_TOPIC = exports.pubsub.topic(exports.FOR_DISTRIBUTION_TOPIC_NAME);
88
87
  exports.INSTRUCTIONS_TOPIC = exports.pubsub.topic(exports.INSTRUCTIONS_TOPIC_NAME);
89
- exports.INSTRUCTIONS_REDUCER_TOPIC = exports.pubsub.topic(exports.INSTRUCTIONS_REDUCER_TOPIC_NAME);
90
88
  const { docPaths: dp, colPaths: cp, docPathsRegex: dbr, viewDefinitions: vd, } = (0, init_db_structure_1.initDbStructure)(exports.dbStructure, exports.Entity);
91
89
  exports.docPaths = dp;
92
90
  exports.colPaths = cp;
@@ -146,7 +144,12 @@ function initializeEmberFlow(customProjectConfig, adminInstance, customDbStructu
146
144
  maxInstances: 1,
147
145
  concurrency: 5,
148
146
  timeoutSeconds: 540,
149
- }, distribution_1.onMessageInstructionsQueue);
147
+ }, (0, functions_1.debounce)(distribution_1.onMessageInstructionsQueue, 200, 1000, {
148
+ reducerFn: distribution_1.instructionsReducer,
149
+ initialValueFactory: () => {
150
+ return new Map();
151
+ },
152
+ }));
150
153
  exports.functionsConfig["resetUsageStats"] = (0, scheduler_1.onSchedule)({
151
154
  schedule: "every 1 hours",
152
155
  region: exports.projectConfig.region,
@@ -177,11 +180,6 @@ function initializeEmberFlow(customProjectConfig, adminInstance, customDbStructu
177
180
  region: exports.projectConfig.region,
178
181
  timeoutSeconds: 540,
179
182
  }, index_utils_1.createMetricComputation);
180
- exports.functionsConfig["reduceInstructions"] = (0, scheduler_1.onSchedule)({
181
- schedule: "every 1 minutes",
182
- region: exports.projectConfig.region,
183
- timeoutSeconds: 60,
184
- }, distribution_1.reduceInstructions);
185
183
  exports.functionsConfig["onDeleteFunctions"] = (0, firestore_1.onDocumentCreated)("@server/delete/functions/{deleteFuncId}", index_utils_1.onDeleteFunction);
186
184
  exports.functionsConfig["onUserRegister"] =
187
185
  functions.auth.user().onCreate(onUserRegister);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAgBhD,+CAcuB;AACvB,2DAAoD;AACpD,sDAAiF;AACjF,uDAAkG;AAElG,6DAA2F;AAC3F,yCAA0C;AAE1C,oDAAsD;AACtD,iDAAmE;AACnE,yCAA6E;AAC7E,iDAAmD;AACnD,yDAAgE;AAChE,uCAA8E;AAC9E,uDAAoH;AACpH,2CAAuD;AACvD,+DAA2D;AAC3D,+DAAkE;AAClE,uDAAsD;AAEtD,iDAA2C;AAiB9B,QAAA,eAAe,GAAwB,EAAE,CAAC;AAC1C,QAAA,sBAAsB,GAAG,mBAAmB,CAAC;AAC7C,QAAA,sBAAsB,GAAG,mBAAmB,CAAC;AAC7C,QAAA,2BAA2B,GAAG,wBAAwB,CAAC;AACvD,QAAA,uBAAuB,GAAG,oBAAoB,CAAC;AAC/C,QAAA,YAAY,GAAG;IAC1B,8BAAsB;IACtB,8BAAsB;IACtB,mCAA2B;IAC3B,+BAAuB;CACxB,CAAC;AAMW,QAAA,SAAS,GAAG;IACvB,kBAAkB,EAAE,GAAG,EAAE,CAAC,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;IACzD,aAAa;CACd,CAAC;AAEF,SAAgB,mBAAmB,CACjC,mBAAkC,EAClC,aAA4B,EAC5B,iBAAyC,EACzC,YAAoC,EACpC,oBAAoC,EACpC,qBAAsC,EACtC,kBAAiC;IAOjC,qBAAa,GAAG,mBAAmB,CAAC;IACpC,aAAK,GAAG,aAAa,CAAC;IACtB,UAAE,GAAG,aAAK,CAAC,SAAS,EAAE,CAAC;IACvB,YAAI,GAAG,aAAK,CAAC,QAAQ,EAAE,CAAC;IACxB,cAAM,GAAG,IAAI,eAAM,EAAE,CAAC;IACtB,mBAAW,mCAAO,iBAAiB,GAAK,kCAAmB,CAAC,CAAC;IAC7D,cAAM,mCAAO,YAAY,GAAK,6BAAc,CAAC,CAAC;IAC9C,sBAAc,GAAG,oBAAoB,CAAC;IACtC,uBAAe,GAAG,qBAAqB,CAAC;IACxC,oBAAY,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACvC,IAAA,gBAAU,EAAC,aAAK,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IACnC,yBAAiB,GAAG,cAAM,CAAC,KAAK,CAAC,8BAAsB,CAAC,CAAC;IACzD,yBAAiB,GAAG,cAAM,CAAC,KAAK,CAAC,8BAAsB,CAAC,CAAC;IACzD,8BAAsB,GAAG,cAAM,CAAC,KAAK,CAAC,mCAA2B,CAAC,CAAC;IACnE,0BAAkB,GAAG,cAAM,CAAC,KAAK,CAAC,+BAAuB,CAAC,CAAC;IAE3D,MAAM,EACJ,QAAQ,EAAE,EAAE,EACZ,QAAQ,EAAE,EAAE,EACZ,aAAa,EAAE,GAAG,EAClB,eAAe,EAAE,EAAE,GACpB,GAAG,IAAA,mCAAe,EAAC,mBAAW,EAAE,cAAM,CAAC,CAAC;IACzC,gBAAQ,GAAG,EAAE,CAAC;IACd,gBAAQ,GAAG,EAAE,CAAC;IACd,qBAAa,GAAG,GAAG,CAAC;IAEpB,wBAAgB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,OAAuB,EAAqB,EAAE;QACvE,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,GAAG,IAAA,+BAAiB,EAAC,OAAO,CAAC,CAAC;QAC/E,MAAM,oBAAoB,GAAG;YAC3B,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,YAAY;YACvC,MAAM,EAAE,OAAO,CAAC,SAAS;YACzB,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAA2B;YACpE,cAAc,EAAE,OAAO,CAAC,QAAQ;YAChC,WAAW,EAAE,oBAAoB;SAClC,CAAC;QACF,MAAM,mBAAmB,GAAG;YAC1B,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,oBAAoB;YAC/C,MAAM,EAAE,OAAO,CAAC,UAAU;YAC1B,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAA2B;YAC3D,cAAc,EAAE,KAAsC;YACtD,WAAW,EAAE,mBAAmB;SACjC,CAAC;QACF,OAAO,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEV,uBAAe,CAAC,cAAc,CAAC,GAAG,IAAA,yBAAc,EAC9C;QACE,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,MAAM,EAAE,QAAQ;KACjB,EACD,IAAA,6BAAc,EAAC,YAAY,CAAC,CAC7B,CAAC;IACF,wDAAwD;IACxD,uBAAe,CAAC,aAAa,CAAC,GAAG,IAAA,iBAAS,EAAC;QACzC,cAAc,EAAE,GAAG;QACnB,MAAM,EAAE,qBAAa,CAAC,MAAM;KAC7B,EAAE,kBAAW,CAAC,CAAC;IAEhB,uBAAe,CAAC,eAAe,CAAC;QAC1B,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,0CAA2B,CAAC,CAAC;IACxG,uBAAe,CAAC,0BAA0B,CAAC,GAAG,IAAA,2BAAkB,EAAC;QAC/D,KAAK,EAAE,8BAAsB;QAC7B,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,YAAY,EAAE,CAAC;QACf,cAAc,EAAE,GAAG;QACnB,KAAK,EAAE,IAAI;KACZ,EAAE,gCAAwB,CAAC,CAAC;IAC7B,uBAAe,CAAC,0BAA0B,CAAC,GAAG,IAAA,2BAAkB,EAAC;QAC/D,KAAK,EAAE,8BAAsB;QAC7B,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,YAAY,EAAE,CAAC;QACf,cAAc,EAAE,GAAG;KACpB,EAAE,sCAAwB,CAAC,CAAC;IAC7B,uBAAe,CAAC,+BAA+B,CAAC,GAAG,IAAA,2BAAkB,EAAC;QACpE,KAAK,EAAE,mCAA2B;QAClC,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,YAAY,EAAE,CAAC;QACf,cAAc,EAAE,GAAG;KACpB,EAAE,4CAA6B,CAAC,CAAC;IAClC,uBAAe,CAAC,4BAA4B,CAAC,GAAG,IAAA,2BAAkB,EAAC;QACjE,KAAK,EAAE,+BAAuB;QAC9B,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,GAAG;KACpB,EAAE,IAAA,oBAAQ,EACT,yCAA0B,EAC1B,GAAG,EACH,IAAI,EACJ;QACE,SAAS,EAAE,kCAAmB;QAC9B,mBAAmB,EAAE,GAAG,EAAE;YACxB,OAAO,IAAI,GAAG,EAAwB,CAAC;QACzC,CAAC;KACF,CACF,CAAC,CAAC;IACH,uBAAe,CAAC,iBAAiB,CAAC,GAAG,IAAA,sBAAU,EAAC;QAC9C,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,cAAc,EAAE,GAAG;KACpB,EAAE,8BAAe,CAAC,CAAC;IACpB,uBAAe,CAAC,yBAAyB,CAAC,GAAG,IAAA,sBAAU,EAAC;QACtD,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,cAAc,EAAE,GAAG;KACpB,EAAE,gCAAuB,CAAC,CAAC;IAC5B,uBAAe,CAAC,yBAAyB,CAAC,GAAG,IAAA,sBAAU,EAAC;QACtD,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,cAAc,EAAE,GAAG;KACpB,EAAE,qCAAuB,CAAC,CAAC;IAC5B,uBAAe,CAAC,uBAAuB,CAAC,GAAG,IAAA,sBAAU,EAAC;QACpD,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,cAAc,EAAE,GAAG;KACpB,EAAE,mCAAqB,CAAC,CAAC;IAC1B,uBAAe,CAAC,sBAAsB,CAAC,GAAG,IAAA,sBAAU,EAAC;QACnD,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,cAAc,EAAE,GAAG;KACpB,EAAE,4BAAoB,CAAC,CAAC;IACzB,uBAAe,CAAC,yBAAyB,CAAC,GAAG,IAAA,sBAAU,EAAC;QACtD,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,qBAAa,CAAC,MAAM;QAC5B,cAAc,EAAE,GAAG;KACpB,EAAE,qCAAuB,CAAC,CAAC;IAC5B,uBAAe,CAAC,mBAAmB,CAAC,GAAG,IAAA,6BAAiB,EACtD,yCAAyC,EAAE,8BAAgB,CAAC,CAAC;IAC/D,uBAAe,CAAC,gBAAgB,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO,EAAC,QAAQ,EAAR,gBAAQ,EAAE,QAAQ,EAAR,gBAAQ,EAAE,aAAa,EAAb,qBAAa,EAAE,eAAe,EAAf,uBAAe,EAAC,CAAC;AAC9D,CAAC;AAnJD,kDAmJC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,KAAkC;IAElC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACtC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC;IAEjC,IAAI;QACF,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,IAAA,6BAAsB,EAAC,WAAW,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE1B,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAW,CAAC;QAC3C,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,OAAO,GAAG,yCAAyC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;YACjE,OAAO;SACR;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS,CAAC;QAE9C,OAAO,CAAC,IAAI,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,IAAI,cAAc,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE;YACjF,MAAM,OAAO,GAAG,4DAA4D,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;YACjE,OAAO;SACR;QAED,qBAAqB;QACrB,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;YACjE,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,MAAM,IAAA,0BAAY,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChF,IAAI,kBAAkB,EAAE;YACtB,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5D,MAAM,kBAAkB,GAAG,IAAA,mCAAqB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,gBAAgB,EAAE;YACrB,IAAI,GAAG,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;gBACjE,OAAO;aACR;SACF;aAAM;YACL,IAAI,GAAG,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;SACxB;QAED,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC;QACzC,IAAI,UAAU,EAAE;YACd,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAC/D,UAAU,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YACxC,IAAI,cAAc,CAAC,MAAM,KAAK,UAAU,EAAE;gBACxC,OAAO,CAAC,GAAG,CAAC,0BAA0B,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,CAAC,OAAO,EAAC,CAAC,CAAC;gBACzF,OAAO;aACR;SACF;QAED,kBAAkB;QAClB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE;YACT,IAAI,MAAM,IAAA,oDAAsC,EAAC,KAAK,EAAE,OAAO,CAAC,EAAE;gBAChE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,WAAW,EAAC,CAAC,CAAC;gBAC/C,OAAO;aACR;SACF;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,YAAY,EAAC,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,YAAY,CAAC;QAC5B,MAAM,WAAW,GAAG,iBAAS,CAAC,kBAAkB,EAAE,CAAC;QAEnD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,GAAG,EAAE,MAAM;YACX,MAAM;YACN,KAAK,EAAE,QAAQ;YACf,OAAO;YACP,MAAM;SACP,CAAC;QAEF,MAAM,MAAM,GAAW;YACrB,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,MAAM;YACN,WAAW;YACX,cAAc,EAAE,kBAAkB;YAClC,IAAI;SACL,CAAC;QACF,MAAM,SAAS,GAAG,iBAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5B,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,WAAW,EAAC,CAAC,CAAC;QAE/C,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAiB,EAAC,SAAS,EAAE,MAAM,EACzD,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;YACxC,sEAAsE;YACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,KAA8B,YAAY,CAAC,CAAC,CAAC,EAA7C,EAAC,SAAS,OAAmC,EAA9B,WAAW,cAA1B,aAA2B,CAAkB,CAAC;gBACpD,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC;qBACzD,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvC,MAAM,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBACxE;aACF;YAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;YACrF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,YAAY,GAAG,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5F;YAED,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,MAAM,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAC,GAAG,YAAY;iBACzE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;iBACjC,IAAI,EAAE;iBACN,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnB,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBAC3B,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAChC;qBAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE;oBACrD,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAClC;qBAAM;oBACL,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC/B;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE;gBACD,gBAAgB,EAAE,EAAsB;gBACxC,kBAAkB,EAAE,EAAsB;gBAC1C,eAAe,EAAE,EAAsB;aACxC,CAAC,CAAC;YAEL,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC3E,MAAM,+BAA+B,GACnC,MAAM,IAAA,gDAAkC,EAAC,gBAAgB,CAAC,CAAC;YAC7D,MAAM,EACJ,aAAa,EAAE,yBAAyB,EACxC,kBAAkB,EAAE,8BAA8B,GACnD,GAAG,IAAA,sCAAwB,EAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;YACvE,MAAM,IAAA,wBAAU,EAAC,yBAAyB,CAAC,CAAC;YAC5C,MAAM,IAAA,wBAAU,EAAC,8BAA8B,CAAC,CAAC;YAEjD,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;aAC/C;YAED,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC7E,MAAM,iCAAiC,GACrC,MAAM,IAAA,gDAAkC,EAAC,kBAAkB,CAAC,CAAC;YAC/D,MAAM,EACJ,aAAa,EAAE,2BAA2B,EAC1C,kBAAkB,EAAE,gCAAgC,GACrD,GAAG,IAAA,sCAAwB,EAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;YACzE,MAAM,IAAA,wBAAU,EAAC,2BAA2B,CAAC,CAAC;YAC9C,MAAM,IAAA,6BAAe,EAAC,gCAAgC,CAAC,CAAC;YAExD,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC1E,MAAM,8BAA8B,GAClC,MAAM,IAAA,gDAAkC,EAAC,eAAe,CAAC,CAAC;YAC5D,MAAM,EACJ,aAAa,EAAE,wBAAwB,EACvC,kBAAkB,EAAE,6BAA6B,GAClD,GAAG,IAAA,sCAAwB,EAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,IAAA,6BAAe,EAAC,wBAAwB,CAAC,CAAC;YAChD,MAAM,IAAA,6BAAe,EAAC,6BAA6B,CAAC,CAAC;QACvD,CAAC,CACF,CAAC;QAEF,IAAI,SAAS,KAAK,mBAAmB,EAAE;YACrC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,6BAA6B;oBAChF,qBAAqB,EAAC,CAAC,CAAC;YAChC,OAAO;SACR;QAED,IAAI,YAAY,EAAE;YAChB,MAAM,SAAS,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;SAChF;aAAM;YACL,MAAM,SAAS,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC,CAAC;SAC9C;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC1B;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC;KAChE;AACH,CAAC;AAjND,oCAiNC;AAED,MAAM,cAAc,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE;IAChD,MAAM,UAAE,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;QACpC,KAAK,EAAE,IAAI,CAAC,GAAG;QACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAChC,UAAU,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QAC5B,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACzB,cAAc,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;QAC/C,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -32,9 +32,6 @@ const admin = __importStar(require("firebase-admin"));
32
32
  const db_structure_1 = require("../../sample-custom/db-structure");
33
33
  const security_1 = require("../../sample-custom/security");
34
34
  const validators_1 = require("../../sample-custom/validators");
35
- const pubsub_1 = require("@google-cloud/pubsub");
36
- const firebase_admin_1 = require("firebase-admin");
37
- var Timestamp = firebase_admin_1.firestore.Timestamp;
38
35
  jest.mock("../../utils/pubsub", () => {
39
36
  return {
40
37
  pubsubUtils: {
@@ -96,6 +93,7 @@ describe("onMessageForDistributionQueue", () => {
96
93
  dstPath: "/users/test-user-id/documents/doc1",
97
94
  };
98
95
  const event = {
96
+ id: "test-event",
99
97
  data: {
100
98
  message: {
101
99
  json: doc1,
@@ -114,6 +112,7 @@ describe("onMessageForDistributionQueue", () => {
114
112
  dstPath: "/users/test-user-id/documents/doc1",
115
113
  };
116
114
  const event = {
115
+ id: "test-event",
117
116
  data: {
118
117
  message: {
119
118
  json: doc1,
@@ -133,6 +132,7 @@ describe("onMessageForDistributionQueue", () => {
133
132
  dstPath: "/users/test-user-id/documents/doc1",
134
133
  };
135
134
  const event = {
135
+ id: "test-event",
136
136
  data: {
137
137
  message: {
138
138
  json: doc1,
@@ -152,6 +152,7 @@ describe("onMessageForDistributionQueue", () => {
152
152
  dstPath: "/users/test-user-id/documents/doc1",
153
153
  };
154
154
  const event = {
155
+ id: "test-event",
155
156
  data: {
156
157
  message: {
157
158
  json: doc1,
@@ -326,7 +327,7 @@ describe("onMessageInstructionsQueue", () => {
326
327
  expect(isProcessedMock).toHaveBeenCalledWith(index_1.INSTRUCTIONS_TOPIC_NAME, event.id);
327
328
  expect(console.log).toHaveBeenCalledWith("Skipping duplicate message");
328
329
  });
329
- it("should process instructions correctly", async () => {
330
+ it("should process event instructions correctly", async () => {
330
331
  isProcessedMock.mockResolvedValueOnce(false);
331
332
  const expectedData = {
332
333
  "count": admin.firestore.FieldValue.increment(1),
@@ -358,7 +359,7 @@ describe("onMessageInstructionsQueue", () => {
358
359
  },
359
360
  },
360
361
  };
361
- const result = await distribution.onMessageInstructionsQueue(event);
362
+ await distribution.onMessageInstructionsQueue(event);
362
363
  expect(admin.firestore().doc).toHaveBeenCalledTimes(1);
363
364
  expect(admin.firestore().doc).toHaveBeenCalledWith("/users/test-user-id/documents/test-doc-id");
364
365
  expect(docUpdateMock).toHaveBeenCalledTimes(2);
@@ -367,7 +368,37 @@ describe("onMessageInstructionsQueue", () => {
367
368
  expect(docUpdateMock.mock.calls[0][0]).toStrictEqual(expectedData);
368
369
  expect(docUpdateMock.mock.calls[1][0]).toStrictEqual(expectedRemoveData);
369
370
  expect(trackProcessedIdsMock).toHaveBeenCalledWith(index_1.INSTRUCTIONS_TOPIC_NAME, event.id);
370
- expect(result).toEqual("Processed instructions");
371
+ });
372
+ it("should process map instructions correctly", async () => {
373
+ const expectedData = {
374
+ "count": admin.firestore.FieldValue.increment(1),
375
+ "score": admin.firestore.FieldValue.increment(5),
376
+ "minusCount": admin.firestore.FieldValue.increment(-1),
377
+ "minusScore": admin.firestore.FieldValue.increment(-3),
378
+ "optionalField": admin.firestore.FieldValue.delete(),
379
+ "arrayUnion": admin.firestore.FieldValue.arrayUnion("add-this"),
380
+ };
381
+ const expectedRemoveData = {
382
+ "arrayRemove": admin.firestore.FieldValue.arrayRemove("remove-this"),
383
+ };
384
+ const instructions = new Map();
385
+ instructions.set("/users/test-user-id/documents/test-doc-id", {
386
+ "count": "++",
387
+ "score": "+5",
388
+ "minusCount": "--",
389
+ "minusScore": "-3",
390
+ "optionalField": "del",
391
+ "arrayUnion": "arr(+add-this)",
392
+ "arrayRemove": "arr(-remove-this)",
393
+ });
394
+ await distribution.onMessageInstructionsQueue(instructions);
395
+ expect(admin.firestore().doc).toHaveBeenCalledTimes(1);
396
+ expect(admin.firestore().doc).toHaveBeenCalledWith("/users/test-user-id/documents/test-doc-id");
397
+ expect(docUpdateMock).toHaveBeenCalledTimes(2);
398
+ expect(docUpdateMock).toHaveBeenCalledWith(expectedData);
399
+ expect(docUpdateMock).toHaveBeenCalledWith(expectedRemoveData);
400
+ expect(docUpdateMock.mock.calls[0][0]).toStrictEqual(expectedData);
401
+ expect(docUpdateMock.mock.calls[1][0]).toStrictEqual(expectedRemoveData);
371
402
  });
372
403
  });
373
404
  describe("mergeInstructions", () => {
@@ -486,203 +517,76 @@ describe("mergeInstructions", () => {
486
517
  expect(console.warn).toHaveBeenCalledWith("Property count has conflicting instructions ++ and arr(+value). Skipping..");
487
518
  });
488
519
  });
489
- describe("reduceInstructions", () => {
490
- const duration = 3000;
491
- const sleep = 100;
492
- const timeoutId = 123;
493
- let queueInstructionsSpy;
494
- let publishMessageSpy;
495
- let subscriptionSpy;
496
- let resolveMock;
497
- let reducedInstructions = new Map();
498
- const subscriptionMock = {
499
- close: jest.fn(),
500
- on: jest.fn(),
501
- removeAllListeners: jest.fn(),
502
- };
520
+ describe("instructionsReducer", () => {
521
+ let mergeInstructionsSpy;
503
522
  beforeEach(() => {
504
- jest.spyOn(console, "log").mockImplementation();
505
- jest.spyOn(console, "error").mockImplementation();
506
- subscriptionSpy = jest.spyOn(pubsub_1.PubSub.prototype, "subscription").mockImplementation(() => {
507
- return subscriptionMock;
508
- });
509
- queueInstructionsSpy = jest.spyOn(distribution, "queueInstructions");
510
- publishMessageSpy = jest.spyOn(index_1.VIEW_LOGICS_TOPIC, "publishMessage")
511
- .mockImplementation(() => {
512
- return "message-id";
513
- });
514
- const now = Timestamp.now();
515
- let startTime = false;
516
- let dateNowCallInstance = 0;
517
- jest.spyOn(Date, "now").mockImplementation(() => {
518
- if (!startTime) {
519
- startTime = true;
520
- return now.toMillis();
521
- }
522
- const dateNow = now.toMillis() + ((duration + sleep) * dateNowCallInstance);
523
- dateNowCallInstance++;
524
- return dateNow;
525
- });
526
- jest.spyOn(global, "setTimeout").mockImplementation((callback) => {
527
- callback();
528
- return timeoutId;
529
- });
530
- resolveMock = jest.fn().mockImplementation((map) => {
531
- reducedInstructions = new Map(map);
532
- });
523
+ mergeInstructionsSpy = jest.spyOn(distribution, "mergeInstructions");
533
524
  });
534
- afterEach(() => {
535
- jest.restoreAllMocks();
536
- subscriptionMock.on.mockRestore();
537
- subscriptionMock.close.mockRestore();
538
- subscriptionMock.removeAllListeners.mockRestore();
539
- });
540
- it("should reject when received an error", async () => {
541
- const error = {
542
- code: 1,
543
- details: "Unknown error",
544
- };
545
- let errorCallback;
546
- subscriptionMock.on.mockImplementation((event, callback) => {
547
- if (event === "error") {
548
- errorCallback = callback;
549
- }
550
- });
551
- let promiseCallInstance = -1;
552
- jest.spyOn(global, "Promise").mockImplementation((callback) => {
553
- promiseCallInstance++;
554
- if (promiseCallInstance % 2 === 0) {
555
- if (promiseCallInstance === 2) {
556
- errorCallback(error);
557
- }
558
- callback(resolveMock, jest.fn());
559
- return reducedInstructions;
560
- }
561
- callback(jest.fn(), jest.fn());
562
- return undefined;
563
- });
564
- const clearTimeoutSpy = jest.spyOn(global, "clearTimeout");
565
- await distribution.reduceInstructions();
566
- expect(subscriptionMock.on).toHaveBeenCalledWith("error", expect.any(Function));
567
- expect(resolveMock).toHaveBeenCalledTimes(17);
568
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
569
- expect(clearTimeoutSpy).toHaveBeenCalledWith(timeoutId);
570
- expect(console.error).toHaveBeenCalledWith(`Received error: ${error}`);
571
- });
572
- it("should execute the sequence of operations correctly", async () => {
573
- const ackMock = jest.fn();
574
- const message1 = {
575
- ack: ackMock,
576
- data: JSON.stringify({
577
- dstPath: "/users/test-user-id/documents/test-doc-id",
578
- instructions: {
579
- "count": "++",
580
- },
581
- }),
582
- id: "message1",
583
- };
584
- const message2 = {
585
- ack: ackMock,
586
- data: JSON.stringify({
587
- dstPath: "/users/test-user-id/documents/test-doc-id",
588
- instructions: {
589
- "count": "+2",
590
- },
591
- }),
592
- id: "message2",
593
- };
594
- const message3 = {
595
- ack: ackMock,
596
- data: JSON.stringify({
597
- dstPath: "/users/test-user-id/documents/test-doc-id",
598
- instructions: {
599
- "array": "arr(value)",
600
- },
601
- }),
602
- id: "message3",
603
- };
604
- const message4 = {
605
- ack: ackMock,
606
- data: JSON.stringify({
607
- dstPath: "/users/test-user-id/documents/another-test-doc-id",
608
- instructions: {
609
- "count": "++",
525
+ it("should skip duplicate message", async () => {
526
+ isProcessedMock.mockResolvedValueOnce(true);
527
+ jest.spyOn(console, "log").mockImplementation();
528
+ const doc1 = {
529
+ action: "merge",
530
+ priority: "high",
531
+ instructions: { "sample": "++" },
532
+ dstPath: "/users/test-user-id/documents/doc1",
533
+ };
534
+ const event = {
535
+ id: "test-event",
536
+ data: {
537
+ message: {
538
+ json: doc1,
610
539
  },
611
- }),
612
- id: "message4",
613
- };
614
- let messageCallback;
615
- subscriptionMock.on.mockImplementation((event, callback) => {
616
- if (event === "message") {
617
- messageCallback = callback;
618
- }
619
- });
620
- let promiseCallInstance = -1;
621
- jest.spyOn(global, "Promise").mockImplementation((callback) => {
622
- promiseCallInstance++;
623
- if (promiseCallInstance % 2 === 0) {
624
- if (promiseCallInstance === 0) {
625
- messageCallback(message1);
626
- messageCallback(message2);
627
- }
628
- if (promiseCallInstance === 2) {
629
- messageCallback(message3);
630
- messageCallback(message4);
631
- }
632
- callback(resolveMock, jest.fn());
633
- return reducedInstructions;
634
- }
635
- callback(jest.fn(), jest.fn());
636
- return undefined;
637
- });
638
- await distribution.reduceInstructions();
639
- expect(subscriptionSpy).toHaveBeenCalledWith(index_1.INSTRUCTIONS_REDUCER_TOPIC_NAME);
640
- expect(subscriptionMock.on).toHaveBeenCalledTimes(2);
641
- expect(subscriptionMock.on).toHaveBeenCalledWith("message", expect.any(Function));
642
- expect(subscriptionMock.on).toHaveBeenCalledWith("error", expect.any(Function));
643
- expect(resolveMock).toHaveBeenCalledTimes(16);
644
- expect(console.log).toHaveBeenCalledWith("Time is up, stopping message reception");
645
- expect(ackMock).toHaveBeenCalledTimes(4);
646
- expect(console.log).toHaveBeenCalledWith("Received message message1.");
647
- expect(console.log).toHaveBeenCalledWith("Received message message2.");
648
- expect(console.log).toHaveBeenCalledWith("Received 1 messages within 3 seconds.");
649
- expect(queueInstructionsSpy).toHaveBeenCalledTimes(3);
650
- expect(publishMessageSpy).toHaveBeenCalledTimes(3);
651
- expect(queueInstructionsSpy).toHaveBeenCalledWith("/users/test-user-id/documents/test-doc-id", {
652
- "count": "+3",
653
- });
654
- expect(publishMessageSpy).toHaveBeenCalledWith({
655
- json: {
656
- action: "merge",
657
- dstPath: "/users/test-user-id/documents/test-doc-id",
658
- instructions: { "count": "+3" },
659
540
  },
660
- });
661
- expect(console.log).toHaveBeenCalledWith("Received message message3.");
662
- expect(console.log).toHaveBeenCalledWith("Received message message4.");
663
- expect(console.log).toHaveBeenCalledWith("Received 2 messages within 3 seconds.");
664
- expect(queueInstructionsSpy).toHaveBeenCalledWith("/users/test-user-id/documents/test-doc-id", {
665
- "array": "arr(value)",
666
- });
667
- expect(publishMessageSpy).toHaveBeenCalledWith({
668
- json: {
669
- action: "merge",
670
- dstPath: "/users/test-user-id/documents/test-doc-id",
671
- instructions: { "array": "arr(value)" },
541
+ };
542
+ const reducedInstructions = new Map();
543
+ await distribution.instructionsReducer(reducedInstructions, event);
544
+ expect(isProcessedMock).toHaveBeenCalledWith(index_1.INSTRUCTIONS_TOPIC_NAME, event.id);
545
+ expect(console.log).toHaveBeenCalledWith("Skipping duplicate message");
546
+ });
547
+ it("should reduce instructions", async () => {
548
+ const doc1 = {
549
+ action: "merge",
550
+ priority: "high",
551
+ instructions: { "sample": "++" },
552
+ dstPath: "/users/test-user-id/documents/doc1",
553
+ };
554
+ const event = {
555
+ id: "test-event",
556
+ data: {
557
+ message: {
558
+ json: doc1,
559
+ },
672
560
  },
673
- });
674
- expect(queueInstructionsSpy).toHaveBeenCalledWith("/users/test-user-id/documents/another-test-doc-id", {
675
- "count": "++",
676
- });
677
- expect(publishMessageSpy).toHaveBeenCalledWith({
678
- json: {
679
- action: "merge",
680
- dstPath: "/users/test-user-id/documents/another-test-doc-id",
681
- instructions: { "count": "++" },
561
+ };
562
+ const reducedInstructions = new Map();
563
+ await distribution.instructionsReducer(reducedInstructions, event);
564
+ expect(trackProcessedIdsMock).toHaveBeenCalledWith(index_1.INSTRUCTIONS_TOPIC_NAME, event.id);
565
+ expect(reducedInstructions.get(doc1.dstPath)).toStrictEqual(doc1.instructions);
566
+ });
567
+ it("should merge instructions", async () => {
568
+ const doc1 = {
569
+ action: "merge",
570
+ priority: "normal",
571
+ instructions: { "sample": "++" },
572
+ dstPath: "/users/test-user-id/documents/doc1",
573
+ };
574
+ const event = {
575
+ id: "test-event",
576
+ data: {
577
+ message: {
578
+ json: doc1,
579
+ },
682
580
  },
683
- });
684
- expect(subscriptionMock.close).toHaveBeenCalledTimes(1);
685
- expect(subscriptionMock.removeAllListeners).toHaveBeenCalledTimes(1);
581
+ };
582
+ const reducedInstructions = new Map();
583
+ const existingInstructions = { "sample": "++" };
584
+ reducedInstructions.set(doc1.dstPath, existingInstructions);
585
+ const expectedReducedInstructions = { "sample": "+2" };
586
+ await distribution.instructionsReducer(reducedInstructions, event);
587
+ expect(mergeInstructionsSpy).toHaveBeenCalledWith(existingInstructions, doc1.instructions);
588
+ expect(trackProcessedIdsMock).toHaveBeenCalledWith(index_1.INSTRUCTIONS_TOPIC_NAME, event.id);
589
+ expect(reducedInstructions.get(doc1.dstPath)).toStrictEqual(expectedReducedInstructions);
686
590
  });
687
591
  });
688
592
  //# sourceMappingURL=distribution.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.test.js","sourceRoot":"","sources":["../../../src/tests/utils/distribution.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAClC,MAAM,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACxC,uEAAyD;AACzD,8DAAgD;AAChD,uCAKqB;AACrB,sDAAwC;AACxC,mEAAqE;AACrE,2DAA4D;AAC5D,+DAA+D;AAC/D,iDAAmE;AACnE,mDAAyC;AACzC,IAAO,SAAS,GAAG,0BAAS,CAAC,SAAS,CAAC;AAGvC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,OAAO;QACL,WAAW,EAAE;YACX,WAAW,EAAE,eAAe;YAC5B,iBAAiB,EAAE,qBAAqB;SACzC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAkB;IACnC,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB;IAC1B,oBAAoB,EAAE,eAAe;IACrC,uBAAuB,EAAE,GAAG;IAC5B,2BAA2B,EAAE;QAC3B,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,GAAG;KACf;CACF,CAAC;AACF,KAAK,CAAC,aAAa,CAAC;IAClB,WAAW,EAAE,qCAAqC;CACnD,CAAC,CAAC;AACH,IAAA,2BAAmB,EAAC,aAAa,EAAE,KAAK,EAAE,0BAAW,EAAE,qBAAM,EAAE,yBAAc,EAAE,4BAAe,EAAE,EAAE,CAAC,CAAC;AAEpG,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,iBAAmC,CAAC;IACxC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,8BAAsB,EAAE,gBAAgB,CAAC;aACrE,kBAAkB,CAAC,GAAG,EAAE;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAC;YACpC,OAAO,EAAE,oCAAoC;SAC9C,CAAC;QACF,MAAM,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAI,gBAAkC,CAAC;IACvC,IAAI,4BAA8C,CAAC;IAEnD,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC/E,4BAA4B,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAC;YACpC,OAAO,EAAE,oCAAoC;SAC9C,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE,IAAI;iBACX;aACF;SACkC,CAAC;QACtC,MAAM,YAAY,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAExD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,mCAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACpF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAC;YACpC,OAAO,EAAE,oCAAoC;SAC9C,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE,IAAI;iBACX;aACF;SACkC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAEvE,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,mCAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAC;YACpC,OAAO,EAAE,oCAAoC;SAC9C,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE,IAAI;iBACX;aACF;SACkC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAEvE,MAAM,CAAC,4BAA4B,CAAC,CAAC,oBAAoB,iCAAK,IAAI,KAAE,QAAQ,EAAE,MAAM,IAAE,CAAC;QACvF,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,mCAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAC;YACpC,OAAO,EAAE,oCAAoC;SAC9C,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE,IAAI;iBACX;aACF;SACkC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAEvE,MAAM,CAAC,4BAA4B,CAAC,CAAC,oBAAoB,iCAAK,IAAI,KAAE,QAAQ,EAAE,QAAQ,IAAE,CAAC;QACzF,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,mCAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,iBAAmC,CAAC;IACxC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,0BAAkB,EAAE,gBAAgB,CAAC;aACjE,kBAAkB,CAAC,GAAG,EAAE;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,OAAO,GAAG,2CAA2C,CAAC;QAC5D,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,MAAM,YAAY,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE5D,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,EAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,KAAuB,CAAC;IAC5B,IAAI,aAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,GAAI;YACb,MAAM,EAAE,aAAa;YACrB,EAAE,EAAE,aAAa;SAC6D,CAAC;QACjF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,WAAW,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG;YACZ,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,OAAO,EAAE,2CAA2C;wBACpD,YAAY,EAAE;4BACZ,SAAS,EAAE,YAAY;4BACvB,YAAY,EAAE,WAAW;yBAC1B;qBACF;iBACF;aACF;SACkC,CAAC;QACtC,MAAM,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,qDAAqD,CAAC,CAAC;QAChG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,uDAAuD,CAAC,CAAC;QAClG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG;YACZ,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,OAAO,EAAE,2CAA2C;wBACpD,YAAY,EAAE;4BACZ,SAAS,EAAE,OAAO;yBACnB;qBACF;iBACF;aACF;SACkC,CAAC;QACtC,MAAM,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,2DAA2D,CAAC,CAAC;QACtG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;YACzD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;YAC/E,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC;SACxF,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,OAAO,EAAE,2CAA2C;wBACpD,YAAY,EAAE;4BACZ,SAAS,EAAE,aAAa;4BACxB,YAAY,EAAE,yBAAyB;4BACvC,WAAW,EAAE,sCAAsC;yBACpD;qBACF;iBACF;aACF;SACkC,CAAC;QACtC,MAAM,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;YAC1D,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;YAChF,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC;SACzF,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,OAAO,EAAE,2CAA2C;wBACpD,YAAY,EAAE;4BACZ,SAAS,EAAE,aAAa;4BACxB,YAAY,EAAE,4BAA4B;4BAC1C,WAAW,EAAE,uCAAuC;yBACrD;qBACF;iBACF;aACF;SACkC,CAAC;QACtC,MAAM,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;SAC3E,CAAC;QACF,MAAM,kBAAkB,GAAG;YACzB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;SAC3D,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,OAAO,EAAE,2CAA2C;wBACpD,YAAY,EAAE;4BACZ,SAAS,EAAE,gCAAgC;yBAC5C;qBACF;iBACF;aACF;SACkC,CAAC;QACtC,MAAM,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG;YACZ,EAAE,EAAE,YAAY;SACmB,CAAC;QACtC,MAAM,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,+BAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAChD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAChD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtD,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE;YACpD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;SAChE,CAAC;QACF,MAAM,kBAAkB,GAAG;YACzB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC;SACrE,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,OAAO,EAAE,2CAA2C;wBACpD,YAAY,EAAE;4BACZ,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,IAAI;4BACb,YAAY,EAAE,IAAI;4BAClB,YAAY,EAAE,IAAI;4BAClB,eAAe,EAAE,KAAK;4BACtB,YAAY,EAAE,gBAAgB;4BAC9B,aAAa,EAAE,mBAAmB;yBACnC;qBACF;iBACF;aACF;SACkC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAEpE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;QAChG,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QAC/D,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACzE,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,+BAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAEhC,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,aAAa,GAAG;YACpB,SAAS,EAAE,0BAA0B;SACtC,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,SAAS,EAAE,aAAa;SACzB,CAAC;QACF,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAEhC,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAC;QAEH,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,SAAS,EAAE,mBAAmB;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAEhC,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAEhC,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,iDAAiD,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,aAAa;SACvB,CAAC;QACF,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAEhC,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC;YACzC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,4EAA4E,CAAC,CAAC;IAC1H,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,IAAI,oBAAsC,CAAC;IAC3C,IAAI,iBAAmC,CAAC;IACxC,IAAI,eAAiC,CAAC;IACtC,IAAI,WAAsB,CAAC;IAC3B,IAAI,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAG;QACvB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;QACb,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE;KAC9B,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAClD,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACrF,OAAO,gBAA2C,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QACrE,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAiB,EAAE,gBAAgB,CAAC;aAChE,kBAAkB,CAAC,GAAG,EAAE;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;QACL,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;aACvB;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,CAAC;YAC5E,mBAAmB,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/D,QAAQ,EAAE,CAAC;YACX,OAAO,SAAsC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,mBAAmB,GAAG,IAAI,GAAG,CAAC,GAAgC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QAClC,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,gBAAgB,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,eAAe;SACV,CAAC;QACjB,IAAI,aAA2C,CAAC;QAChD,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzD,IAAI,KAAK,KAAK,OAAO,EAAE;gBACrB,aAAa,GAAG,QAAQ,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5D,mBAAmB,EAAE,CAAC;YACtB,IAAI,mBAAmB,GAAG,CAAC,KAAK,CAAC,EAAE;gBACjC,IAAI,mBAAmB,KAAK,CAAC,EAAE;oBAC7B,aAAa,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjC,OAAO,mBAAoE,CAAC;aAC7E;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,OAAO,SAAqC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3D,MAAM,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG;YACf,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,2CAA2C;gBACpD,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;YACF,EAAE,EAAE,UAAU;SACO,CAAC;QACxB,MAAM,QAAQ,GAAG;YACf,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,2CAA2C;gBACpD,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;YACF,EAAE,EAAE,UAAU;SACO,CAAC;QACxB,MAAM,QAAQ,GAAG;YACf,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,2CAA2C;gBACpD,YAAY,EAAE;oBACZ,OAAO,EAAE,YAAY;iBACtB;aACF,CAAC;YACF,EAAE,EAAE,UAAU;SACO,CAAC;QACxB,MAAM,QAAQ,GAAG;YACf,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,mDAAmD;gBAC5D,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;YACF,EAAE,EAAE,UAAU;SACO,CAAC;QACxB,IAAI,eAA2C,CAAC;QAChD,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzD,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,eAAe,GAAG,QAAQ,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5D,mBAAmB,EAAE,CAAC;YACtB,IAAI,mBAAmB,GAAG,CAAC,KAAK,CAAC,EAAE;gBACjC,IAAI,mBAAmB,KAAK,CAAC,EAAE;oBAC7B,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC1B,eAAe,CAAC,QAAQ,CAAC,CAAC;iBAC3B;gBACD,IAAI,mBAAmB,KAAK,CAAC,EAAE;oBAC7B,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC1B,eAAe,CAAC,QAAQ,CAAC,CAAC;iBAC3B;gBACD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjC,OAAO,mBAAoE,CAAC;aAC7E;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,OAAO,SAAqC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACxC,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,uCAA+B,CAAC,CAAC;QAC9E,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,wCAAwC,CAAC,CAAC;QACnF,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,uCAAuC,CAAC,CAAC;QAClF,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,2CAA2C,EAAE;YAC7F,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC;YAC7C,IAAI,EAAE;gBACJ,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,2CAA2C;gBACpD,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC;aAC9B;SACF,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,uCAAuC,CAAC,CAAC;QAClF,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,2CAA2C,EAAE;YAC7F,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC;YAC7C,IAAI,EAAE;gBACJ,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,2CAA2C;gBACpD,YAAY,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC;aACtC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,mDAAmD,EAAE;YACrG,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC;YAC7C,IAAI,EAAE;gBACJ,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,mDAAmD;gBAC5D,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC;aAC9B;SACF,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"distribution.test.js","sourceRoot":"","sources":["../../../src/tests/utils/distribution.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const functions_1 = require("../../utils/functions");
4
+ const isProcessedMock = jest.fn().mockResolvedValue(false);
5
+ const trackProcessedIdsMock = jest.fn().mockResolvedValue({});
6
+ const distribution_1 = require("../../utils/distribution");
7
+ jest.useFakeTimers();
8
+ jest.mock("../../utils/pubsub", () => {
9
+ return {
10
+ pubsubUtils: {
11
+ isProcessed: isProcessedMock,
12
+ trackProcessedIds: trackProcessedIdsMock,
13
+ },
14
+ };
15
+ });
16
+ describe("debounce", () => {
17
+ let setTimeoutSpy;
18
+ let clearTimeoutSpy;
19
+ let initialGeneratedMap;
20
+ let func;
21
+ function createEvent() {
22
+ return {
23
+ id: "test-event",
24
+ data: {
25
+ message: {
26
+ json: {
27
+ action: "merge",
28
+ priority: "high",
29
+ instructions: { "sample": "++" },
30
+ dstPath: "/users/test-user-id/documents/doc1",
31
+ },
32
+ },
33
+ },
34
+ };
35
+ }
36
+ beforeEach(() => {
37
+ jest.spyOn(global, "setImmediate").mockImplementation((callback) => {
38
+ callback();
39
+ return undefined;
40
+ });
41
+ clearTimeoutSpy = jest.spyOn(global, "clearTimeout");
42
+ setTimeoutSpy = jest.spyOn(global, "setTimeout");
43
+ func = jest.fn();
44
+ initialGeneratedMap = undefined;
45
+ });
46
+ afterEach(() => {
47
+ jest.clearAllMocks();
48
+ jest.clearAllTimers();
49
+ });
50
+ it("should invoke function without reducer", async () => {
51
+ const func = jest.fn();
52
+ const debouncedFunc = (0, functions_1.debounce)(func, 200);
53
+ debouncedFunc();
54
+ await jest.advanceTimersByTimeAsync(200);
55
+ expect(clearTimeoutSpy).toHaveBeenCalledTimes(0);
56
+ expect(setTimeoutSpy).toHaveBeenCalledTimes(1);
57
+ expect(func).toHaveBeenCalledTimes(1);
58
+ });
59
+ it("should invoke function with reducer", async () => {
60
+ const debouncedFunc = (0, functions_1.debounce)(func, 200, 1000, {
61
+ reducerFn: distribution_1.instructionsReducer,
62
+ initialValueFactory: () => {
63
+ if (!initialGeneratedMap) {
64
+ initialGeneratedMap = new Map();
65
+ return initialGeneratedMap;
66
+ }
67
+ return new Map();
68
+ },
69
+ });
70
+ const reducedInstructions = new Map();
71
+ const instructions = { "sample": "++" };
72
+ reducedInstructions.set("/users/test-user-id/documents/doc1", instructions);
73
+ debouncedFunc(createEvent());
74
+ await jest.advanceTimersByTimeAsync(200);
75
+ expect(clearTimeoutSpy).toHaveBeenCalledTimes(0);
76
+ expect(setTimeoutSpy).toHaveBeenCalledTimes(1);
77
+ expect(func).toHaveBeenCalledTimes(1);
78
+ expect(initialGeneratedMap).toStrictEqual(reducedInstructions);
79
+ });
80
+ it("should invoke function when there are multiple events in queue", async () => {
81
+ const debouncedFunc = (0, functions_1.debounce)(func, 200, 1000, {
82
+ reducerFn: distribution_1.instructionsReducer,
83
+ initialValueFactory: () => {
84
+ if (!initialGeneratedMap) {
85
+ initialGeneratedMap = new Map();
86
+ return initialGeneratedMap;
87
+ }
88
+ return new Map();
89
+ },
90
+ });
91
+ const reducedInstructions = new Map();
92
+ const instructions = { "sample": "+3" };
93
+ reducedInstructions.set("/users/test-user-id/documents/doc1", instructions);
94
+ debouncedFunc(createEvent());
95
+ debouncedFunc(createEvent());
96
+ debouncedFunc(createEvent());
97
+ await jest.advanceTimersByTimeAsync(200);
98
+ expect(clearTimeoutSpy).toHaveBeenCalledTimes(2);
99
+ expect(setTimeoutSpy).toHaveBeenCalledTimes(3);
100
+ expect(func).toHaveBeenCalledTimes(1);
101
+ expect(initialGeneratedMap).toStrictEqual(reducedInstructions);
102
+ });
103
+ it("should invoke function when maxWait is reached", async () => {
104
+ const debouncedFunc = (0, functions_1.debounce)(func, 200, 1000, {
105
+ reducerFn: distribution_1.instructionsReducer,
106
+ initialValueFactory: () => {
107
+ if (!initialGeneratedMap) {
108
+ initialGeneratedMap = new Map();
109
+ return initialGeneratedMap;
110
+ }
111
+ return new Map();
112
+ },
113
+ });
114
+ const reducedInstructions = new Map();
115
+ const instructions = { "sample": "+10" };
116
+ reducedInstructions.set("/users/test-user-id/documents/doc1", instructions);
117
+ debouncedFunc(createEvent());
118
+ await jest.advanceTimersByTimeAsync(100);
119
+ debouncedFunc(createEvent());
120
+ await jest.advanceTimersByTimeAsync(100);
121
+ debouncedFunc(createEvent());
122
+ await jest.advanceTimersByTimeAsync(100);
123
+ debouncedFunc(createEvent());
124
+ await jest.advanceTimersByTimeAsync(100);
125
+ debouncedFunc(createEvent());
126
+ await jest.advanceTimersByTimeAsync(100);
127
+ debouncedFunc(createEvent());
128
+ await jest.advanceTimersByTimeAsync(100);
129
+ debouncedFunc(createEvent());
130
+ await jest.advanceTimersByTimeAsync(100);
131
+ debouncedFunc(createEvent());
132
+ await jest.advanceTimersByTimeAsync(100);
133
+ debouncedFunc(createEvent());
134
+ await jest.advanceTimersByTimeAsync(100);
135
+ debouncedFunc(createEvent());
136
+ await jest.advanceTimersByTimeAsync(100);
137
+ debouncedFunc(createEvent());
138
+ expect(clearTimeoutSpy).toHaveBeenCalledTimes(10);
139
+ expect(setTimeoutSpy).toHaveBeenCalledTimes(10);
140
+ expect(func).toHaveBeenCalledTimes(1);
141
+ expect(initialGeneratedMap).toStrictEqual(reducedInstructions);
142
+ });
143
+ });
144
+ //# sourceMappingURL=functions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.test.js","sourceRoot":"","sources":["../../../src/tests/utils/functions.test.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,6 @@ export declare function onMessageForDistributionQueue(event: CloudEvent<MessageP
6
6
  export declare const queueInstructions: (dstPath: string, instructions: {
7
7
  [p: string]: string;
8
8
  }) => Promise<void>;
9
- export declare function onMessageInstructionsQueue(event: CloudEvent<MessagePublishedData>): Promise<"Processed instructions" | undefined>;
9
+ export declare function onMessageInstructionsQueue(event: CloudEvent<MessagePublishedData> | Map<string, Instructions>): Promise<void>;
10
10
  export declare const mergeInstructions: (existingInstructions: Instructions, instructions: Instructions) => void;
11
- export declare function reduceInstructions(): Promise<void>;
11
+ export declare const instructionsReducer: (reducedInstructions: Map<string, Instructions>, event: CloudEvent<MessagePublishedData<any>>) => Promise<void>;
@@ -1,32 +1,15 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.reduceInstructions = exports.mergeInstructions = exports.onMessageInstructionsQueue = exports.queueInstructions = exports.onMessageForDistributionQueue = exports.queueForDistributionLater = void 0;
3
+ exports.instructionsReducer = exports.mergeInstructions = exports.onMessageInstructionsQueue = exports.queueInstructions = exports.onMessageForDistributionQueue = exports.queueForDistributionLater = void 0;
15
4
  const index_1 = require("../index");
16
5
  const index_utils_1 = require("../index-utils");
17
6
  const pubsub_1 = require("./pubsub");
18
7
  const misc_1 = require("./misc");
19
- const view_logics_1 = require("../logics/view-logics");
20
8
  const queueForDistributionLater = async (...logicResultDocs) => {
21
9
  try {
22
10
  for (const logicResultDoc of logicResultDocs) {
23
- const { instructions, dstPath } = logicResultDoc, rest = __rest(logicResultDoc, ["instructions", "dstPath"]);
24
- const forDistributionMessageId = await index_1.FOR_DISTRIBUTION_TOPIC.publishMessage({ json: Object.assign(Object.assign({}, rest), { dstPath }) });
11
+ const forDistributionMessageId = await index_1.FOR_DISTRIBUTION_TOPIC.publishMessage({ json: logicResultDoc });
25
12
  console.log(`Message ${forDistributionMessageId} published.`);
26
- if (instructions) {
27
- const instructionsReducerMessageId = await index_1.INSTRUCTIONS_REDUCER_TOPIC.publishMessage({ json: { dstPath, instructions } });
28
- console.log(`Instructions ${instructionsReducerMessageId} published for reduction.`);
29
- }
30
13
  }
31
14
  }
32
15
  catch (error) {
@@ -87,15 +70,7 @@ const queueInstructions = async (dstPath, instructions) => {
87
70
  };
88
71
  exports.queueInstructions = queueInstructions;
89
72
  async function onMessageInstructionsQueue(event) {
90
- if (await pubsub_1.pubsubUtils.isProcessed(index_1.INSTRUCTIONS_TOPIC_NAME, event.id)) {
91
- console.log("Skipping duplicate message");
92
- return;
93
- }
94
- try {
95
- const instructionsMessage = event.data.message.json;
96
- console.log("Received user logic result doc:", instructionsMessage);
97
- console.info("Running Instructions");
98
- const { dstPath, instructions } = instructionsMessage;
73
+ async function applyInstructions(instructions, dstPath) {
99
74
  const updateData = {};
100
75
  const removeData = {};
101
76
  for (const [property, instruction] of Object.entries(instructions)) {
@@ -169,12 +144,24 @@ async function onMessageInstructionsQueue(event) {
169
144
  if (Object.keys(removeData).length > 0) {
170
145
  await dstDocRef.update(removeData);
171
146
  }
172
- await pubsub_1.pubsubUtils.trackProcessedIds(index_1.INSTRUCTIONS_TOPIC_NAME, event.id);
173
- return "Processed instructions";
174
147
  }
175
- catch (e) {
176
- console.error("PubSub message was not JSON", e);
177
- throw new Error("No json in message");
148
+ if (event instanceof Map) {
149
+ // Process the reduced instructions here
150
+ for (const [dstPath, instructions] of event.entries()) {
151
+ await applyInstructions(instructions, dstPath);
152
+ }
153
+ }
154
+ else {
155
+ if (await pubsub_1.pubsubUtils.isProcessed(index_1.INSTRUCTIONS_TOPIC_NAME, event.id)) {
156
+ console.log("Skipping duplicate message");
157
+ return;
158
+ }
159
+ const instructionsMessage = event.data.message.json;
160
+ console.log("Received user logic result doc:", instructionsMessage);
161
+ console.info("Applying Instructions");
162
+ const { dstPath, instructions } = instructionsMessage;
163
+ await applyInstructions(instructions, dstPath);
164
+ await pubsub_1.pubsubUtils.trackProcessedIds(index_1.INSTRUCTIONS_TOPIC_NAME, event.id);
178
165
  }
179
166
  }
180
167
  exports.onMessageInstructionsQueue = onMessageInstructionsQueue;
@@ -261,64 +248,27 @@ const mergeInstructions = (existingInstructions, instructions) => {
261
248
  }
262
249
  };
263
250
  exports.mergeInstructions = mergeInstructions;
264
- async function reduceInstructions() {
265
- const duration = 3000;
266
- let timeoutId;
267
- let reducedInstructions = new Map();
268
- const subscription = index_1.pubsub.subscription(index_1.INSTRUCTIONS_REDUCER_TOPIC_NAME);
269
- subscription.on("message", (message) => {
270
- console.log(`Received message ${message.id}.`);
271
- const { dstPath, instructions } = JSON.parse(message.data.toString());
251
+ const instructionsReducer = async (reducedInstructions, event) => {
252
+ if (await pubsub_1.pubsubUtils.isProcessed(index_1.INSTRUCTIONS_TOPIC_NAME, event.id)) {
253
+ console.log("Skipping duplicate message");
254
+ return;
255
+ }
256
+ try {
257
+ const instructionsMessage = event.data.message.json;
258
+ // console.log("Received user logic result doc:", instructionsMessage);
259
+ const { dstPath, instructions } = instructionsMessage;
272
260
  const existingInstructions = reducedInstructions.get(dstPath);
273
261
  if (!existingInstructions) {
274
262
  reducedInstructions.set(dstPath, instructions);
275
- message.ack();
276
- return;
277
- }
278
- (0, exports.mergeInstructions)(existingInstructions, instructions);
279
- message.ack();
280
- });
281
- subscription.on("error", (error) => {
282
- if (timeoutId) {
283
- clearTimeout(timeoutId);
284
263
  }
285
- console.error(`Received error: ${error}`);
286
- });
287
- const runReduceInstructions = () => {
288
- return new Promise((resolve) => {
289
- timeoutId = setTimeout(() => {
290
- console.log("Time is up, stopping message reception");
291
- resolve(new Map(reducedInstructions));
292
- reducedInstructions = new Map();
293
- }, duration);
294
- });
295
- };
296
- const reduceAndQueue = async () => {
297
- try {
298
- const reducedInstructions = await runReduceInstructions();
299
- console.log(`Received ${reducedInstructions.size} messages within ${duration / 1000} seconds.`);
300
- // Process the reduced instructions here
301
- for (const [dstPath, instructions] of reducedInstructions.entries()) {
302
- await (0, exports.queueInstructions)(dstPath, instructions);
303
- await (0, view_logics_1.queueRunViewLogics)({
304
- action: "merge",
305
- dstPath,
306
- instructions,
307
- });
308
- }
309
- }
310
- catch (error) {
311
- console.error(`Error while receiving messages: ${error}`);
264
+ else {
265
+ (0, exports.mergeInstructions)(existingInstructions, instructions);
312
266
  }
313
- };
314
- const startTime = Date.now();
315
- const maxRuntimeSeconds = 50;
316
- while (Date.now() - startTime < maxRuntimeSeconds * 1000) {
317
- await reduceAndQueue();
318
- await new Promise((resolve) => setTimeout(resolve, 100));
267
+ await pubsub_1.pubsubUtils.trackProcessedIds(index_1.INSTRUCTIONS_TOPIC_NAME, event.id);
319
268
  }
320
- await subscription.close();
321
- subscription.removeAllListeners();
322
- }
323
- exports.reduceInstructions = reduceInstructions;
269
+ catch (e) {
270
+ console.error("PubSub message was not JSON. Continue processing queue", e);
271
+ }
272
+ };
273
+ exports.instructionsReducer = instructionsReducer;
324
274
  //# sourceMappingURL=distribution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/utils/distribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/utils/distribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function debounce<T extends any[], A extends object | any[]>(func: ((...args: T) => void) | ((accumulator: A) => void), wait: number, maxWait?: number, reducer?: {
2
+ reducerFn: (accumulator: A, ...currentArgs: T) => void;
3
+ initialValueFactory: () => A;
4
+ }): (...args: T) => void;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debounce = void 0;
4
+ function debounce(func, wait, maxWait, reducer) {
5
+ let accumulatedResult = reducer === null || reducer === void 0 ? void 0 : reducer.initialValueFactory(); // Generate a fresh initial value
6
+ let timeoutId;
7
+ let firstTimeCalled = null;
8
+ const queue = [];
9
+ let processing = false;
10
+ function processQueue() {
11
+ if (processing)
12
+ return;
13
+ processing = true;
14
+ setImmediate(async () => {
15
+ try {
16
+ const args = queue.shift();
17
+ if (reducer && accumulatedResult !== undefined && args !== undefined) {
18
+ await reducer.reducerFn(accumulatedResult, ...args);
19
+ }
20
+ }
21
+ catch (error) {
22
+ console.error("Error processing queue:", error);
23
+ }
24
+ finally {
25
+ processing = false; // Ensure processing is reset correctly
26
+ if (queue.length > 0) {
27
+ processQueue(); // Continue processing if there are more items
28
+ }
29
+ }
30
+ });
31
+ }
32
+ const invokeFunction = (...args) => {
33
+ if (reducer && accumulatedResult !== undefined) {
34
+ func(Object.assign({}, accumulatedResult));
35
+ }
36
+ else {
37
+ func(...args);
38
+ }
39
+ };
40
+ return function (...args) {
41
+ const now = new Date().getTime();
42
+ if (!firstTimeCalled) {
43
+ firstTimeCalled = now;
44
+ }
45
+ const timeSinceFirstCalled = now - firstTimeCalled;
46
+ if (timeoutId) {
47
+ clearTimeout(timeoutId);
48
+ }
49
+ if (reducer) {
50
+ queue.push(args);
51
+ processQueue();
52
+ }
53
+ if (maxWait && timeSinceFirstCalled >= maxWait) {
54
+ // Ensure maxWait is respected
55
+ invokeFunction(...args);
56
+ accumulatedResult = reducer === null || reducer === void 0 ? void 0 : reducer.initialValueFactory(); // Reset to a new initial value after executing
57
+ firstTimeCalled = null; // Reset timing
58
+ }
59
+ else {
60
+ // Standard debounce behavior
61
+ timeoutId = setTimeout(() => {
62
+ invokeFunction(...args);
63
+ accumulatedResult = reducer === null || reducer === void 0 ? void 0 : reducer.initialValueFactory(); // Reset to a new initial value after executing
64
+ firstTimeCalled = null; // Reset timing
65
+ }, wait);
66
+ }
67
+ };
68
+ }
69
+ exports.debounce = debounce;
70
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/utils/functions.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CACtB,IAAyD,EACzD,IAAY,EACZ,OAAgB,EAChB,OAGC;IAED,IAAI,iBAAiB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,EAAE,CAAC,CAAC,iCAAiC;IACzF,IAAI,SAAqC,CAAC;IAC1C,IAAI,eAAe,GAAkB,IAAI,CAAC;IAE1C,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,SAAS,YAAY;QACnB,IAAI,UAAU;YAAE,OAAO;QACvB,UAAU,GAAG,IAAI,CAAC;QAElB,YAAY,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI;gBACF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,OAAO,IAAI,iBAAiB,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE;oBACpE,MAAM,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;iBACrD;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;aACjD;oBAAS;gBACR,UAAU,GAAG,KAAK,CAAC,CAAC,uCAAuC;gBAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,YAAY,EAAE,CAAC,CAAC,8CAA8C;iBAC/D;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,GAAG,IAAO,EAAE,EAAE;QACpC,IAAI,OAAO,IAAI,iBAAiB,KAAK,SAAS,EAAE;YAC7C,IAAmC,mBAAK,iBAAiB,EAAE,CAAC;SAC9D;aAAM;YACJ,IAA+B,CAAC,GAAG,IAAI,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC;IAEF,OAAO,UAAS,GAAG,IAAO;QACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE;YACpB,eAAe,GAAG,GAAG,CAAC;SACvB;QACD,MAAM,oBAAoB,GAAG,GAAG,GAAG,eAAe,CAAC;QAEnD,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,SAAS,CAAC,CAAC;SACzB;QAED,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,EAAE,CAAC;SAChB;QAED,IAAI,OAAO,IAAI,oBAAoB,IAAI,OAAO,EAAE;YAC9C,8BAA8B;YAC9B,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;YACxB,iBAAiB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,EAAE,CAAC,CAAC,+CAA+C;YACnG,eAAe,GAAG,IAAI,CAAC,CAAC,eAAe;SACxC;aAAM;YACL,6BAA6B;YAC7B,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;gBACxB,iBAAiB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,EAAE,CAAC,CAAC,+CAA+C;gBACnG,eAAe,GAAG,IAAI,CAAC,CAAC,eAAe;YACzC,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC,CAAC;AACJ,CAAC;AA3ED,4BA2EC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emberflow",
3
- "version": "1.3.68",
3
+ "version": "1.3.69",
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",