@webex/internal-plugin-conversation 2.59.3-next.1 → 2.59.4-next.1

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.
Files changed (49) hide show
  1. package/.eslintrc.js +6 -6
  2. package/README.md +47 -47
  3. package/babel.config.js +3 -3
  4. package/dist/activities.js +6 -6
  5. package/dist/activities.js.map +1 -1
  6. package/dist/activity-thread-ordering.js +38 -38
  7. package/dist/activity-thread-ordering.js.map +1 -1
  8. package/dist/config.js +12 -12
  9. package/dist/config.js.map +1 -1
  10. package/dist/constants.js.map +1 -1
  11. package/dist/conversation.js +511 -522
  12. package/dist/conversation.js.map +1 -1
  13. package/dist/convo-error.js +4 -4
  14. package/dist/convo-error.js.map +1 -1
  15. package/dist/decryption-transforms.js +163 -161
  16. package/dist/decryption-transforms.js.map +1 -1
  17. package/dist/encryption-transforms.js +19 -19
  18. package/dist/encryption-transforms.js.map +1 -1
  19. package/dist/index.js +13 -15
  20. package/dist/index.js.map +1 -1
  21. package/dist/share-activity.js +67 -70
  22. package/dist/share-activity.js.map +1 -1
  23. package/dist/to-array.js +10 -10
  24. package/dist/to-array.js.map +1 -1
  25. package/jest.config.js +3 -3
  26. package/package.json +14 -14
  27. package/process +1 -1
  28. package/src/activities.js +157 -157
  29. package/src/activity-thread-ordering.js +283 -283
  30. package/src/activity-threading.md +282 -282
  31. package/src/config.js +37 -37
  32. package/src/constants.js +3 -3
  33. package/src/conversation.js +2535 -2535
  34. package/src/convo-error.js +15 -15
  35. package/src/decryption-transforms.js +541 -541
  36. package/src/encryption-transforms.js +345 -345
  37. package/src/index.js +327 -327
  38. package/src/share-activity.js +436 -436
  39. package/src/to-array.js +29 -29
  40. package/test/integration/spec/create.js +290 -290
  41. package/test/integration/spec/encryption.js +333 -333
  42. package/test/integration/spec/get.js +1255 -1255
  43. package/test/integration/spec/mercury.js +94 -94
  44. package/test/integration/spec/share.js +537 -537
  45. package/test/integration/spec/verbs.js +1041 -1041
  46. package/test/unit/spec/conversation.js +823 -823
  47. package/test/unit/spec/decrypt-transforms.js +460 -460
  48. package/test/unit/spec/encryption-transforms.js +93 -93
  49. package/test/unit/spec/share-activity.js +178 -178
package/.eslintrc.js CHANGED
@@ -1,6 +1,6 @@
1
- const config = {
2
- root: true,
3
- extends: ['@webex/eslint-config-legacy'],
4
- };
5
-
6
- module.exports = config;
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
package/README.md CHANGED
@@ -1,47 +1,47 @@
1
- # @webex/internal-plugin-conversation
2
-
3
- [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
-
5
- > Plugin for the Conversation service
6
-
7
- This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our [developer api](https://developer.webex.com/) and stick to our public plugins.
8
-
9
- - [Install](#install)
10
- - [Usage](#usage)
11
- - [Contribute](#contribute)
12
- - [Maintainers](#maintainers)
13
- - [License](#license)
14
-
15
- ## Install
16
-
17
- ```bash
18
- npm install --save @webex/internal-plugin-conversation
19
- ```
20
-
21
- ## Usage
22
-
23
- ```js
24
- import '@webex/internal-plugin-conversation';
25
-
26
- import WebexCore from '@webex/webex-core';
27
-
28
- const webex = new WebexCore();
29
- webex.internal.conversation.WHATEVER;
30
- ```
31
-
32
- This is the list of environment variable used by this plugin:
33
-
34
- - `WEBEX_CONVERSATION_DEFAULT_CLUSTER` - The name of the conversation cluster that contains all of the organizations and spaces prior to federation phase 2. This defaults to `urn:TEAM:us-east-2_a:identityLookup` for production but can be changed to `urn:TEAM:us-east-1_int13:identityLookup` for integration.
35
- - `WEBEX_CONVERSATION_CLUSTER_SERVICE` - The name of the conversation cluster service used to lookup the host in the hostmap. Defaults to `identityLookup`, but if the service changes, will need to be updated.
36
-
37
- ## Maintainers
38
-
39
- This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
40
-
41
- ## Contribute
42
-
43
- Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md) for more details.
44
-
45
- ## License
46
-
47
- © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
1
+ # @webex/internal-plugin-conversation
2
+
3
+ [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
+
5
+ > Plugin for the Conversation service
6
+
7
+ This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our [developer api](https://developer.webex.com/) and stick to our public plugins.
8
+
9
+ - [Install](#install)
10
+ - [Usage](#usage)
11
+ - [Contribute](#contribute)
12
+ - [Maintainers](#maintainers)
13
+ - [License](#license)
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ npm install --save @webex/internal-plugin-conversation
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ```js
24
+ import '@webex/internal-plugin-conversation';
25
+
26
+ import WebexCore from '@webex/webex-core';
27
+
28
+ const webex = new WebexCore();
29
+ webex.internal.conversation.WHATEVER;
30
+ ```
31
+
32
+ This is the list of environment variable used by this plugin:
33
+
34
+ - `WEBEX_CONVERSATION_DEFAULT_CLUSTER` - The name of the conversation cluster that contains all of the organizations and spaces prior to federation phase 2. This defaults to `urn:TEAM:us-east-2_a:identityLookup` for production but can be changed to `urn:TEAM:us-east-1_int13:identityLookup` for integration.
35
+ - `WEBEX_CONVERSATION_CLUSTER_SERVICE` - The name of the conversation cluster service used to lookup the host in the hostmap. Defaults to `identityLookup`, but if the service changes, will need to be updated.
36
+
37
+ ## Maintainers
38
+
39
+ This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
40
+
41
+ ## Contribute
42
+
43
+ Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md) for more details.
44
+
45
+ ## License
46
+
47
+ © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
package/babel.config.js CHANGED
@@ -1,3 +1,3 @@
1
- const babelConfigLegacy = require('@webex/babel-config-legacy');
2
-
3
- module.exports = babelConfigLegacy;
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
@@ -12,7 +12,7 @@ _Object$defineProperty(exports, "__esModule", {
12
12
  });
13
13
  exports.sortActivitiesByPublishedDate = exports.sanitizeActivity = exports.isRootActivity = exports.isReplyActivity = exports.isNewer = exports.isEditActivity = exports.isDeleteActivity = exports.isCreateActivity = exports.getPublishedDate = exports.getParentId = exports.getIsActivityOrphaned = exports.getActivityType = exports.determineActivityType = exports.createRootActivity = exports.createReplyEditActivity = exports.createReplyActivity = exports.createEditActivity = exports.OLDER = exports.NEWER = exports.MID = exports.INITIAL = exports.ACTIVITY_TYPES = void 0;
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
- var _sortBy2 = _interopRequireDefault(require("lodash/sortBy"));
15
+ var _lodash = require("lodash");
16
16
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
18
18
  var OLDER = 'older';
@@ -74,10 +74,10 @@ var getPublishedDate = function getPublishedDate() {
74
74
  return new Date(activity.published).getTime();
75
75
  };
76
76
 
77
- /**
78
- * @param {Object} activity1
79
- * @param {Object} activity2
80
- * @returns {boolean} true if first activity is newer than second
77
+ /**
78
+ * @param {Object} activity1
79
+ * @param {Object} activity2
80
+ * @returns {boolean} true if first activity is newer than second
81
81
  */
82
82
  exports.getPublishedDate = getPublishedDate;
83
83
  var isNewer = function isNewer(activity1, activity2) {
@@ -85,7 +85,7 @@ var isNewer = function isNewer(activity1, activity2) {
85
85
  };
86
86
  exports.isNewer = isNewer;
87
87
  var sortActivitiesByPublishedDate = function sortActivitiesByPublishedDate(activities) {
88
- return (0, _sortBy2.default)(activities, function (activity) {
88
+ return (0, _lodash.sortBy)(activities, function (activity) {
89
89
  return getPublishedDate(activity);
90
90
  });
91
91
  };
@@ -1 +1 @@
1
- {"version":3,"names":["OLDER","exports","NEWER","MID","INITIAL","ACTIVITY_TYPES","REPLY","EDIT","REACTION","REACTION_SELF","ROOT","CREATE","TOMBSTONE","DELETE","REPLY_EDIT","REACTION_SUMMARY","REACTION_SELF_SUMMARY","ADD","getActivityType","activity","_activity$parent","_activity$parent2","parent","type","verb","getPublishedDate","arguments","length","undefined","Date","published","getTime","isNewer","activity1","activity2","sortActivitiesByPublishedDate","activities","_sortBy2","default","getParentId","_activity$parent3","id","isRootActivity","act","isReplyActivity","isEditActivity","isCreateActivity","isDeleteActivity","sanitizeActivity","final","_objectSpread","reaction","reactionSelf","replies","getIsActivityOrphaned","getIsReplyEditActivity","parentId","parentActivity","determineActivityType","initialType","isReplyEditActivity","createRootActivity","createReplyActivity","replyAct","replyParent","createEditActivity","editActivity","editActParentObj","parentAct","joinedEditAct","editParent","object","createReplyEditActivity","parentReplyAct","joinedReplyEditActivity"],"sources":["activities.js"],"sourcesContent":["import {sortBy} from 'lodash';\r\n\r\nexport const OLDER = 'older';\r\nexport const NEWER = 'newer';\r\nexport const MID = 'mid';\r\nexport const INITIAL = 'initial';\r\n\r\nexport const ACTIVITY_TYPES = {\r\n REPLY: 'REPLY',\r\n EDIT: 'EDIT',\r\n REACTION: 'REACTION',\r\n REACTION_SELF: 'REACTION_SELF',\r\n ROOT: 'ROOT',\r\n CREATE: 'CREATE',\r\n TOMBSTONE: 'TOMBSTONE',\r\n DELETE: 'DELETE',\r\n REPLY_EDIT: 'REPLY_EDIT',\r\n};\r\n\r\nconst REPLY = 'reply';\r\nconst EDIT = 'edit';\r\nconst REACTION_SUMMARY = 'reactionSummary';\r\nconst REACTION_SELF_SUMMARY = 'reactionSelfSummary';\r\nconst CREATE = 'create';\r\nconst TOMBSTONE = 'tombstone';\r\nconst DELETE = 'delete';\r\nconst ADD = 'add';\r\n\r\nexport const getActivityType = (activity) => {\r\n if (activity.parent?.type === REPLY) {\r\n return ACTIVITY_TYPES.REPLY;\r\n }\r\n if (activity.parent?.type === EDIT) {\r\n return ACTIVITY_TYPES.EDIT;\r\n }\r\n if (activity.verb === ADD || activity.type === REACTION_SUMMARY) {\r\n return ACTIVITY_TYPES.REACTION;\r\n }\r\n if (activity.type === REACTION_SELF_SUMMARY) {\r\n return ACTIVITY_TYPES.REACTION_SELF;\r\n }\r\n if (activity.verb === CREATE) {\r\n return ACTIVITY_TYPES.CREATE;\r\n }\r\n if (activity.verb === TOMBSTONE) {\r\n return ACTIVITY_TYPES.TOMBSTONE;\r\n }\r\n if (activity.verb === DELETE) {\r\n return ACTIVITY_TYPES.DELETE;\r\n }\r\n\r\n return ACTIVITY_TYPES.ROOT;\r\n};\r\n\r\nexport const getPublishedDate = (activity = {}) => new Date(activity.published).getTime();\r\n\r\n/**\r\n * @param {Object} activity1\r\n * @param {Object} activity2\r\n * @returns {boolean} true if first activity is newer than second\r\n */\r\nexport const isNewer = (activity1, activity2) =>\r\n getPublishedDate(activity1) > getPublishedDate(activity2);\r\n\r\nexport const sortActivitiesByPublishedDate = (activities) =>\r\n sortBy(activities, (activity) => getPublishedDate(activity));\r\n\r\nexport const getParentId = (activity) => activity?.parent?.id;\r\n\r\nexport const isRootActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.ROOT;\r\nexport const isReplyActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.REPLY;\r\nexport const isEditActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.EDIT;\r\nexport const isCreateActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.CREATE;\r\nexport const isDeleteActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.DELETE;\r\n\r\nexport const sanitizeActivity = (activity) => {\r\n const final = {...activity};\r\n\r\n final.reaction = activity.reaction || {};\r\n final.reactionSelf = activity.reactionSelf || {};\r\n\r\n // replies will be spread in order beneath parent, no need to include on final objects\r\n delete final.replies;\r\n\r\n return final;\r\n};\r\n\r\nexport const getIsActivityOrphaned = (activity, activities) =>\r\n activity.parent && activity.parent.id && !activities[activity.parent.id];\r\n\r\nconst getIsReplyEditActivity = (activity, activities) => {\r\n const parentId = activity.parent.id;\r\n const parentActivity = activities[parentId];\r\n\r\n return parentActivity && isReplyActivity(parentActivity);\r\n};\r\n\r\nexport const determineActivityType = (activity, activities) => {\r\n const initialType = getActivityType(activity);\r\n\r\n // edits to a reply, while they are replies themselves, appear in every way as edits\r\n // the only way to dermine their status as an edited reply is to find the original reply\r\n if (initialType === ACTIVITY_TYPES.EDIT) {\r\n const isReplyEditActivity = getIsReplyEditActivity(activity, activities);\r\n\r\n return isReplyEditActivity ? ACTIVITY_TYPES.REPLY_EDIT : initialType;\r\n }\r\n\r\n return initialType;\r\n};\r\n\r\nexport const createRootActivity = (activity) => activity;\r\n\r\nexport const createReplyActivity = (activity) => {\r\n const replyAct = {\r\n ...activity,\r\n replyParent: activity.parent,\r\n };\r\n\r\n return replyAct;\r\n};\r\n\r\nexport const createEditActivity = (editActivity, activities) => {\r\n const editActParentObj = editActivity.parent;\r\n const parentId = editActParentObj.id;\r\n const parentAct = activities[parentId];\r\n\r\n const joinedEditAct = {\r\n ...parentAct,\r\n id: editActivity.id,\r\n parent: editActParentObj,\r\n editParent: editActParentObj,\r\n object: editActivity.object,\r\n published: editActivity.published,\r\n };\r\n\r\n return joinedEditAct;\r\n};\r\n\r\n// takes an edit activity whose parent is a reply activity\r\nexport const createReplyEditActivity = (editActivity, activities) => {\r\n const editActParentObj = editActivity.parent;\r\n const parentId = editActParentObj.id;\r\n const parentReplyAct = activities[parentId];\r\n\r\n const joinedReplyEditActivity = {\r\n ...parentReplyAct,\r\n id: editActivity.id,\r\n parent: editActParentObj,\r\n editParent: editActParentObj,\r\n replyParent: parentReplyAct.parent,\r\n object: editActivity.object,\r\n published: editActivity.published,\r\n };\r\n\r\n return joinedReplyEditActivity;\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","require","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","Object","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","OLDER","exports","NEWER","MID","INITIAL","ACTIVITY_TYPES","REPLY","EDIT","REACTION","REACTION_SELF","ROOT","CREATE","TOMBSTONE","DELETE","REPLY_EDIT","REACTION_SUMMARY","REACTION_SELF_SUMMARY","ADD","getActivityType","activity","_activity$parent","_activity$parent2","parent","type","verb","getPublishedDate","undefined","Date","published","getTime","isNewer","activity1","activity2","sortActivitiesByPublishedDate","activities","sortBy","getParentId","_activity$parent3","id","isRootActivity","act","isReplyActivity","isEditActivity","isCreateActivity","isDeleteActivity","sanitizeActivity","final","reaction","reactionSelf","replies","getIsActivityOrphaned","getIsReplyEditActivity","parentId","parentActivity","determineActivityType","initialType","isReplyEditActivity","createRootActivity","createReplyActivity","replyAct","replyParent","createEditActivity","editActivity","editActParentObj","parentAct","joinedEditAct","editParent","createReplyEditActivity","parentReplyAct","joinedReplyEditActivity"],"sources":["activities.js"],"sourcesContent":["import {sortBy} from 'lodash';\n\nexport const OLDER = 'older';\nexport const NEWER = 'newer';\nexport const MID = 'mid';\nexport const INITIAL = 'initial';\n\nexport const ACTIVITY_TYPES = {\n REPLY: 'REPLY',\n EDIT: 'EDIT',\n REACTION: 'REACTION',\n REACTION_SELF: 'REACTION_SELF',\n ROOT: 'ROOT',\n CREATE: 'CREATE',\n TOMBSTONE: 'TOMBSTONE',\n DELETE: 'DELETE',\n REPLY_EDIT: 'REPLY_EDIT',\n};\n\nconst REPLY = 'reply';\nconst EDIT = 'edit';\nconst REACTION_SUMMARY = 'reactionSummary';\nconst REACTION_SELF_SUMMARY = 'reactionSelfSummary';\nconst CREATE = 'create';\nconst TOMBSTONE = 'tombstone';\nconst DELETE = 'delete';\nconst ADD = 'add';\n\nexport const getActivityType = (activity) => {\n if (activity.parent?.type === REPLY) {\n return ACTIVITY_TYPES.REPLY;\n }\n if (activity.parent?.type === EDIT) {\n return ACTIVITY_TYPES.EDIT;\n }\n if (activity.verb === ADD || activity.type === REACTION_SUMMARY) {\n return ACTIVITY_TYPES.REACTION;\n }\n if (activity.type === REACTION_SELF_SUMMARY) {\n return ACTIVITY_TYPES.REACTION_SELF;\n }\n if (activity.verb === CREATE) {\n return ACTIVITY_TYPES.CREATE;\n }\n if (activity.verb === TOMBSTONE) {\n return ACTIVITY_TYPES.TOMBSTONE;\n }\n if (activity.verb === DELETE) {\n return ACTIVITY_TYPES.DELETE;\n }\n\n return ACTIVITY_TYPES.ROOT;\n};\n\nexport const getPublishedDate = (activity = {}) => new Date(activity.published).getTime();\n\n/**\n * @param {Object} activity1\n * @param {Object} activity2\n * @returns {boolean} true if first activity is newer than second\n */\nexport const isNewer = (activity1, activity2) =>\n getPublishedDate(activity1) > getPublishedDate(activity2);\n\nexport const sortActivitiesByPublishedDate = (activities) =>\n sortBy(activities, (activity) => getPublishedDate(activity));\n\nexport const getParentId = (activity) => activity?.parent?.id;\n\nexport const isRootActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.ROOT;\nexport const isReplyActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.REPLY;\nexport const isEditActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.EDIT;\nexport const isCreateActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.CREATE;\nexport const isDeleteActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.DELETE;\n\nexport const sanitizeActivity = (activity) => {\n const final = {...activity};\n\n final.reaction = activity.reaction || {};\n final.reactionSelf = activity.reactionSelf || {};\n\n // replies will be spread in order beneath parent, no need to include on final objects\n delete final.replies;\n\n return final;\n};\n\nexport const getIsActivityOrphaned = (activity, activities) =>\n activity.parent && activity.parent.id && !activities[activity.parent.id];\n\nconst getIsReplyEditActivity = (activity, activities) => {\n const parentId = activity.parent.id;\n const parentActivity = activities[parentId];\n\n return parentActivity && isReplyActivity(parentActivity);\n};\n\nexport const determineActivityType = (activity, activities) => {\n const initialType = getActivityType(activity);\n\n // edits to a reply, while they are replies themselves, appear in every way as edits\n // the only way to dermine their status as an edited reply is to find the original reply\n if (initialType === ACTIVITY_TYPES.EDIT) {\n const isReplyEditActivity = getIsReplyEditActivity(activity, activities);\n\n return isReplyEditActivity ? ACTIVITY_TYPES.REPLY_EDIT : initialType;\n }\n\n return initialType;\n};\n\nexport const createRootActivity = (activity) => activity;\n\nexport const createReplyActivity = (activity) => {\n const replyAct = {\n ...activity,\n replyParent: activity.parent,\n };\n\n return replyAct;\n};\n\nexport const createEditActivity = (editActivity, activities) => {\n const editActParentObj = editActivity.parent;\n const parentId = editActParentObj.id;\n const parentAct = activities[parentId];\n\n const joinedEditAct = {\n ...parentAct,\n id: editActivity.id,\n parent: editActParentObj,\n editParent: editActParentObj,\n object: editActivity.object,\n published: editActivity.published,\n };\n\n return joinedEditAct;\n};\n\n// takes an edit activity whose parent is a reply activity\nexport const createReplyEditActivity = (editActivity, activities) => {\n const editActParentObj = editActivity.parent;\n const parentId = editActParentObj.id;\n const parentReplyAct = activities[parentId];\n\n const joinedReplyEditActivity = {\n ...parentReplyAct,\n id: editActivity.id,\n parent: editActParentObj,\n editParent: editActParentObj,\n replyParent: parentReplyAct.parent,\n object: editActivity.object,\n published: editActivity.published,\n };\n\n return joinedReplyEditActivity;\n};\n"],"mappings":"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"}
@@ -6,11 +6,11 @@ _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.setValue = exports.rootActivityManager = exports.noMoreActivitiesManager = exports.minBatchSize = exports.getValue = exports.getQuery = exports.getLoopCounterFailsafe = exports.getActivityObjectsFromMap = exports.fetchLoopCountMax = exports.defaultMinDisplayableActivities = exports.bookendManager = exports.batchSizeIncrementCount = exports.activityManager = void 0;
9
- var _from = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/from"));
10
- var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
11
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
12
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
13
- var _last2 = _interopRequireDefault(require("lodash/last"));
11
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/from"));
12
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
13
+ var _lodash = require("lodash");
14
14
  var _activities = require("./activities");
15
15
  var defaultMinDisplayableActivities = 20;
16
16
  exports.defaultMinDisplayableActivities = defaultMinDisplayableActivities;
@@ -21,20 +21,20 @@ exports.fetchLoopCountMax = fetchLoopCountMax;
21
21
  var batchSizeIncrementCount = 10;
22
22
 
23
23
  // use accessors for ease of refactoring underlying implementation
24
- /**
25
- * @param {Map} destination destination map object for data. Currently a Map, but could be refactored to use any type.
26
- * @param {string} key
27
- * @param {any} value
28
- * @returns {Map}
24
+ /**
25
+ * @param {Map} destination destination map object for data. Currently a Map, but could be refactored to use any type.
26
+ * @param {string} key
27
+ * @param {any} value
28
+ * @returns {Map}
29
29
  */
30
30
  exports.batchSizeIncrementCount = batchSizeIncrementCount;
31
31
  var setValue = function setValue(destination, key, value) {
32
32
  return destination.set(key, value);
33
33
  };
34
- /**
35
- * @param {Map} source source map object to access. Currently expects a Map, but could be refactored to use any type
36
- * @param {string} key
37
- * @returns {Map}
34
+ /**
35
+ * @param {Map} source source map object to access. Currently expects a Map, but could be refactored to use any type
36
+ * @param {string} key
37
+ * @returns {Map}
38
38
  */
39
39
  exports.setValue = setValue;
40
40
  var getValue = function getValue(source, key) {
@@ -48,13 +48,13 @@ var getActivityObjectsFromMap = function getActivityObjectsFromMap(hashMap) {
48
48
  return activity;
49
49
  });
50
50
  };
51
- /**
52
- * creates maps for various activity types and defines handlers for working with stored activities
53
- * utilizes revealing module pattern to close over state and only expose certain necessary functions for altering state
54
- * @function
55
- * @returns {object}
56
- * getActivityHandlerByKey(activityType) - accepts a key to map to a defined activity handler
57
- * getActivityByTypeAndParentId(activityType, parentId) accepts a key and a parent ID to return an activity of that type whose parent is the parentId
51
+ /**
52
+ * creates maps for various activity types and defines handlers for working with stored activities
53
+ * utilizes revealing module pattern to close over state and only expose certain necessary functions for altering state
54
+ * @function
55
+ * @returns {object}
56
+ * getActivityHandlerByKey(activityType) - accepts a key to map to a defined activity handler
57
+ * getActivityByTypeAndParentId(activityType, parentId) accepts a key and a parent ID to return an activity of that type whose parent is the parentId
58
58
  */
59
59
  exports.getActivityObjectsFromMap = getActivityObjectsFromMap;
60
60
  var activityManager = function activityManager() {
@@ -119,9 +119,9 @@ var activityManager = function activityManager() {
119
119
  };
120
120
  };
121
121
 
122
- /**
123
- * encapsulates state and logic for managing oldest and newest activities
124
- * @returns {object} setters and getters for activity state management
122
+ /**
123
+ * encapsulates state and logic for managing oldest and newest activities
124
+ * @returns {object} setters and getters for activity state management
125
125
  */
126
126
  exports.activityManager = activityManager;
127
127
  var bookendManager = function bookendManager() {
@@ -150,7 +150,7 @@ var bookendManager = function bookendManager() {
150
150
  };
151
151
  var setBookends = function setBookends(activities) {
152
152
  var oldestActsFirst = (0, _activities.sortActivitiesByPublishedDate)(activities);
153
- var newestInBatch = (0, _last2.default)(oldestActsFirst);
153
+ var newestInBatch = (0, _lodash.last)(oldestActsFirst);
154
154
  var oldestInBatch = oldestActsFirst[0];
155
155
  setOldestAct(oldestInBatch);
156
156
  setNewestAct(newestInBatch);
@@ -162,9 +162,9 @@ var bookendManager = function bookendManager() {
162
162
  };
163
163
  };
164
164
 
165
- /**
166
- * encapsulates state and logic for when there are no more fetchable activities from convo
167
- * @returns {object} setters and getters for no more activities logic
165
+ /**
166
+ * encapsulates state and logic for when there are no more fetchable activities from convo
167
+ * @returns {object} setters and getters for no more activities logic
168
168
  */
169
169
  exports.bookendManager = bookendManager;
170
170
  var noMoreActivitiesManager = function noMoreActivitiesManager() {
@@ -199,9 +199,9 @@ var noMoreActivitiesManager = function noMoreActivitiesManager() {
199
199
  };
200
200
  };
201
201
 
202
- /**
203
- * encapsulates state and logic for managing root activities
204
- * @returns {object} setters and getters for activity state management
202
+ /**
203
+ * encapsulates state and logic for managing root activities
204
+ * @returns {object} setters and getters for activity state management
205
205
  */
206
206
  exports.noMoreActivitiesManager = noMoreActivitiesManager;
207
207
  var rootActivityManager = function rootActivityManager() {
@@ -228,15 +228,15 @@ var getLoopCounterFailsafe = function getLoopCounterFailsafe() {
228
228
  };
229
229
  };
230
230
 
231
- /**
232
- * creates activity query object
233
- * @param {string} type type of query to create
234
- * @param {object} queryOptions options to define query
235
- * @param {string} [queryOptions.newestPublishedDate] the date of the newest fetched activity
236
- * @param {string} [queryOptions.oldestPublishedDate] the date of the oldest fetched activity
237
- * @param {number} [queryOptions.batchSize] the number of activities to query
238
- * @param {object} [queryOptions.activityToSearch] a server activity to use to build middate query
239
- * @returns {object}
231
+ /**
232
+ * creates activity query object
233
+ * @param {string} type type of query to create
234
+ * @param {object} queryOptions options to define query
235
+ * @param {string} [queryOptions.newestPublishedDate] the date of the newest fetched activity
236
+ * @param {string} [queryOptions.oldestPublishedDate] the date of the oldest fetched activity
237
+ * @param {number} [queryOptions.batchSize] the number of activities to query
238
+ * @param {object} [queryOptions.activityToSearch] a server activity to use to build middate query
239
+ * @returns {object}
240
240
  */
241
241
  exports.getLoopCounterFailsafe = getLoopCounterFailsafe;
242
242
  var getQuery = function getQuery(type, queryOptions) {
@@ -1 +1 @@
1
- {"version":3,"names":["_activities","require","defaultMinDisplayableActivities","exports","minBatchSize","fetchLoopCountMax","batchSizeIncrementCount","setValue","destination","key","value","set","getValue","source","get","getActivityObjectsFromMap","hashMap","_from","default","map","_ref","_ref2","_slicedToArray2","activity","activityManager","replyActivityHash","_map","editActivityHash","reactionActivityHash","reactionSelfActivityHash","handleNewReply","replyAct","replyParentId","getParentId","existingReplyHash","id","replyHash","handleNewEdit","editAct","isTombstone","verb","ACTIVITY_TYPES","TOMBSTONE","editParentId","existingEdit","isNewer","reactionHelper","reactionAct","hash","reactionParentId","existingReaction","handleNewReaction","handleNewReactionSelf","reactionSelfAct","getActivityHandlerByKey","_ACTIVITY_TYPES$REACT","_defineProperty2","REACTION","REACTION_SELF","EDIT","REPLY","getActivityByTypeAndParentId","type","_ACTIVITY_TYPES$EDIT$","bookendManager","oldestAct","newestAct","getOldestAct","getNewestAct","setOldestAct","act","setNewestAct","setBookends","activities","oldestActsFirst","sortActivitiesByPublishedDate","newestInBatch","_last2","oldestInBatch","noMoreActivitiesManager","noMoreActs","noOlderActs","noNewerActs","getNoMoreActs","checkAndSetNoOlderActs","getActivityType","CREATE","checkAndSetNoNewerActs","length","checkAndSetNoMoreActs","queryType","visibleActs","currentBatchSize","NEWER","OLDER","INITIAL","MID","rootActivityManager","rootActivityHash","addNewRoot","rootAct","getRootActivityHash","getLoopCounterFailsafe","fetchLoopCount","Error","getQuery","queryOptions","newestPublishedDate","oldestPublishedDate","batchSize","_queryOptions$activit","activityToSearch","sinceDate","lastActivityFirst","searchType","midDate","parent","published","limit","maxDate"],"sources":["activity-thread-ordering.js"],"sourcesContent":["import {last} from 'lodash';\r\n\r\nimport {\r\n ACTIVITY_TYPES,\r\n getParentId,\r\n isNewer,\r\n getActivityType,\r\n sortActivitiesByPublishedDate,\r\n NEWER,\r\n OLDER,\r\n INITIAL,\r\n MID,\r\n} from './activities';\r\n\r\nexport const defaultMinDisplayableActivities = 20;\r\nexport const minBatchSize = 10;\r\nexport const fetchLoopCountMax = 100;\r\nexport const batchSizeIncrementCount = 10;\r\n\r\n// use accessors for ease of refactoring underlying implementation\r\n/**\r\n * @param {Map} destination destination map object for data. Currently a Map, but could be refactored to use any type.\r\n * @param {string} key\r\n * @param {any} value\r\n * @returns {Map}\r\n */\r\nexport const setValue = (destination, key, value) => destination.set(key, value);\r\n/**\r\n * @param {Map} source source map object to access. Currently expects a Map, but could be refactored to use any type\r\n * @param {string} key\r\n * @returns {Map}\r\n */\r\nexport const getValue = (source, key) => source.get(key);\r\n\r\nexport const getActivityObjectsFromMap = (hashMap) =>\r\n Array.from(hashMap).map(([, activity]) => activity);\r\n/**\r\n * creates maps for various activity types and defines handlers for working with stored activities\r\n * utilizes revealing module pattern to close over state and only expose certain necessary functions for altering state\r\n * @function\r\n * @returns {object}\r\n * getActivityHandlerByKey(activityType) - accepts a key to map to a defined activity handler\r\n * getActivityByTypeAndParentId(activityType, parentId) accepts a key and a parent ID to return an activity of that type whose parent is the parentId\r\n */\r\nexport const activityManager = () => {\r\n const replyActivityHash = new Map();\r\n const editActivityHash = new Map();\r\n const reactionActivityHash = new Map();\r\n const reactionSelfActivityHash = new Map();\r\n\r\n const handleNewReply = (replyAct) => {\r\n const replyParentId = getParentId(replyAct);\r\n const existingReplyHash = getValue(replyActivityHash, replyParentId);\r\n\r\n if (existingReplyHash) {\r\n setValue(existingReplyHash, replyAct.id, replyAct);\r\n } else {\r\n const replyHash = new Map();\r\n\r\n setValue(replyHash, replyAct.id, replyAct);\r\n setValue(replyActivityHash, replyParentId, replyHash);\r\n }\r\n };\r\n\r\n const handleNewEdit = (editAct) => {\r\n const isTombstone = editAct.verb === ACTIVITY_TYPES.TOMBSTONE;\r\n\r\n // we can ignore tombstone edits in favor of the newer one\r\n if (isTombstone) {\r\n return;\r\n }\r\n\r\n const editParentId = getParentId(editAct);\r\n const existingEdit = getValue(editActivityHash, editParentId);\r\n\r\n // edited activity must be newer than what we already have\r\n if (!existingEdit || isNewer(editAct, existingEdit)) {\r\n setValue(editActivityHash, editParentId, editAct);\r\n }\r\n };\r\n\r\n // logic is identical between reactions and reaction selfs, so handler simply passes the activity and the correct hash\r\n const reactionHelper = (reactionAct, hash) => {\r\n const reactionParentId = getParentId(reactionAct);\r\n const existingReaction = getValue(hash, reactionParentId);\r\n\r\n // reaction activity must be newer than what we already have\r\n if (!existingReaction || isNewer(reactionAct, existingReaction)) {\r\n setValue(hash, reactionParentId, reactionAct);\r\n }\r\n };\r\n\r\n const handleNewReaction = (reactionAct) => {\r\n reactionHelper(reactionAct, reactionActivityHash);\r\n };\r\n\r\n const handleNewReactionSelf = (reactionSelfAct) => {\r\n reactionHelper(reactionSelfAct, reactionSelfActivityHash);\r\n };\r\n\r\n const getActivityHandlerByKey = (key) =>\r\n ({\r\n [ACTIVITY_TYPES.REACTION]: handleNewReaction,\r\n [ACTIVITY_TYPES.REACTION_SELF]: handleNewReactionSelf,\r\n [ACTIVITY_TYPES.EDIT]: handleNewEdit,\r\n [ACTIVITY_TYPES.REPLY]: handleNewReply,\r\n }[key]);\r\n\r\n const getActivityByTypeAndParentId = (type, id) =>\r\n ({\r\n [ACTIVITY_TYPES.EDIT]: getValue(editActivityHash, id),\r\n [ACTIVITY_TYPES.REPLY]: getValue(replyActivityHash, id),\r\n [ACTIVITY_TYPES.REACTION]: getValue(reactionActivityHash, id),\r\n [ACTIVITY_TYPES.REACTION_SELF]: getValue(reactionSelfActivityHash, id),\r\n }[type]);\r\n\r\n return {\r\n getActivityHandlerByKey,\r\n getActivityByTypeAndParentId,\r\n };\r\n};\r\n\r\n/**\r\n * encapsulates state and logic for managing oldest and newest activities\r\n * @returns {object} setters and getters for activity state management\r\n */\r\nexport const bookendManager = () => {\r\n // keep track of generator state, like what our current oldest & newest activities are\r\n let oldestAct;\r\n let newestAct;\r\n\r\n const getOldestAct = () => oldestAct;\r\n const getNewestAct = () => newestAct;\r\n\r\n const setOldestAct = (act) => {\r\n if (!oldestAct) {\r\n oldestAct = act;\r\n } else if (isNewer(oldestAct, act)) {\r\n oldestAct = act;\r\n }\r\n };\r\n\r\n const setNewestAct = (act) => {\r\n if (!newestAct) {\r\n newestAct = act;\r\n } else if (isNewer(act, newestAct)) {\r\n newestAct = act;\r\n }\r\n };\r\n\r\n const setBookends = (activities) => {\r\n const oldestActsFirst = sortActivitiesByPublishedDate(activities);\r\n\r\n const newestInBatch = last(oldestActsFirst);\r\n const oldestInBatch = oldestActsFirst[0];\r\n\r\n setOldestAct(oldestInBatch);\r\n setNewestAct(newestInBatch);\r\n };\r\n\r\n return {\r\n setBookends,\r\n getNewestAct,\r\n getOldestAct,\r\n };\r\n};\r\n\r\n/**\r\n * encapsulates state and logic for when there are no more fetchable activities from convo\r\n * @returns {object} setters and getters for no more activities logic\r\n */\r\nexport const noMoreActivitiesManager = () => {\r\n // used to determine if we should continue to fetch older activities\r\n // must be set per iteration, as querying newer activities is still valid when all end of convo has been reached\r\n let noMoreActs = false;\r\n let noOlderActs = false;\r\n let noNewerActs = false;\r\n\r\n const getNoMoreActs = () => noMoreActs;\r\n\r\n const checkAndSetNoOlderActs = (act) => {\r\n if (!noOlderActs && getActivityType(act) === ACTIVITY_TYPES.CREATE) {\r\n noOlderActs = true;\r\n }\r\n };\r\n\r\n const checkAndSetNoNewerActs = (activities) => {\r\n if (!activities || !activities.length) {\r\n noNewerActs = true;\r\n }\r\n };\r\n\r\n const checkAndSetNoMoreActs = (queryType, visibleActs, currentBatchSize) => {\r\n if (\r\n (queryType === NEWER && noNewerActs) ||\r\n ((queryType === OLDER || queryType === INITIAL) && noOlderActs) ||\r\n (queryType === MID && visibleActs < currentBatchSize && noOlderActs)\r\n ) {\r\n noMoreActs = true;\r\n }\r\n };\r\n\r\n return {\r\n getNoMoreActs,\r\n checkAndSetNoMoreActs,\r\n checkAndSetNoNewerActs,\r\n checkAndSetNoOlderActs,\r\n };\r\n};\r\n\r\n/**\r\n * encapsulates state and logic for managing root activities\r\n * @returns {object} setters and getters for activity state management\r\n */\r\nexport const rootActivityManager = () => {\r\n const rootActivityHash = new Map();\r\n\r\n const addNewRoot = (rootAct) => {\r\n setValue(rootActivityHash, rootAct.id, rootAct);\r\n };\r\n\r\n const getRootActivityHash = () => rootActivityHash;\r\n\r\n return {\r\n addNewRoot,\r\n getRootActivityHash,\r\n };\r\n};\r\n\r\nexport const getLoopCounterFailsafe = () => {\r\n let fetchLoopCount = 0;\r\n\r\n return () => {\r\n fetchLoopCount += 1;\r\n if (fetchLoopCount > fetchLoopCountMax) {\r\n throw new Error('max fetches reached');\r\n }\r\n };\r\n};\r\n\r\n/**\r\n * creates activity query object\r\n * @param {string} type type of query to create\r\n * @param {object} queryOptions options to define query\r\n * @param {string} [queryOptions.newestPublishedDate] the date of the newest fetched activity\r\n * @param {string} [queryOptions.oldestPublishedDate] the date of the oldest fetched activity\r\n * @param {number} [queryOptions.batchSize] the number of activities to query\r\n * @param {object} [queryOptions.activityToSearch] a server activity to use to build middate query\r\n * @returns {object}\r\n */\r\nexport const getQuery = (type, queryOptions) => {\r\n const {newestPublishedDate, oldestPublishedDate, batchSize, activityToSearch = {}} = queryOptions;\r\n\r\n switch (type) {\r\n case NEWER: {\r\n const sinceDate = newestPublishedDate + 1;\r\n const lastActivityFirst = false;\r\n\r\n return {sinceDate, lastActivityFirst};\r\n }\r\n case MID: {\r\n const searchType = getActivityType(activityToSearch);\r\n let midDate;\r\n\r\n if (searchType === ACTIVITY_TYPES.REPLY || searchType === ACTIVITY_TYPES.EDIT) {\r\n midDate = activityToSearch.parent.published;\r\n } else {\r\n midDate = activityToSearch.published;\r\n }\r\n\r\n return {midDate, limit: batchSize};\r\n }\r\n case OLDER: {\r\n const maxDate = oldestPublishedDate - 1;\r\n\r\n return {maxDate};\r\n }\r\n case INITIAL:\r\n default: {\r\n return {};\r\n }\r\n }\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","require","_activities","defaultMinDisplayableActivities","exports","minBatchSize","fetchLoopCountMax","batchSizeIncrementCount","setValue","destination","key","value","set","getValue","source","get","getActivityObjectsFromMap","hashMap","_from","default","map","_ref","_ref2","_slicedToArray2","activity","activityManager","replyActivityHash","_map","editActivityHash","reactionActivityHash","reactionSelfActivityHash","handleNewReply","replyAct","replyParentId","getParentId","existingReplyHash","id","replyHash","handleNewEdit","editAct","isTombstone","verb","ACTIVITY_TYPES","TOMBSTONE","editParentId","existingEdit","isNewer","reactionHelper","reactionAct","hash","reactionParentId","existingReaction","handleNewReaction","handleNewReactionSelf","reactionSelfAct","getActivityHandlerByKey","_ACTIVITY_TYPES$REACT","_defineProperty2","REACTION","REACTION_SELF","EDIT","REPLY","getActivityByTypeAndParentId","type","_ACTIVITY_TYPES$EDIT$","bookendManager","oldestAct","newestAct","getOldestAct","getNewestAct","setOldestAct","act","setNewestAct","setBookends","activities","oldestActsFirst","sortActivitiesByPublishedDate","newestInBatch","last","oldestInBatch","noMoreActivitiesManager","noMoreActs","noOlderActs","noNewerActs","getNoMoreActs","checkAndSetNoOlderActs","getActivityType","CREATE","checkAndSetNoNewerActs","length","checkAndSetNoMoreActs","queryType","visibleActs","currentBatchSize","NEWER","OLDER","INITIAL","MID","rootActivityManager","rootActivityHash","addNewRoot","rootAct","getRootActivityHash","getLoopCounterFailsafe","fetchLoopCount","Error","getQuery","queryOptions","newestPublishedDate","oldestPublishedDate","batchSize","_queryOptions$activit","activityToSearch","sinceDate","lastActivityFirst","searchType","midDate","parent","published","limit","maxDate"],"sources":["activity-thread-ordering.js"],"sourcesContent":["import {last} from 'lodash';\n\nimport {\n ACTIVITY_TYPES,\n getParentId,\n isNewer,\n getActivityType,\n sortActivitiesByPublishedDate,\n NEWER,\n OLDER,\n INITIAL,\n MID,\n} from './activities';\n\nexport const defaultMinDisplayableActivities = 20;\nexport const minBatchSize = 10;\nexport const fetchLoopCountMax = 100;\nexport const batchSizeIncrementCount = 10;\n\n// use accessors for ease of refactoring underlying implementation\n/**\n * @param {Map} destination destination map object for data. Currently a Map, but could be refactored to use any type.\n * @param {string} key\n * @param {any} value\n * @returns {Map}\n */\nexport const setValue = (destination, key, value) => destination.set(key, value);\n/**\n * @param {Map} source source map object to access. Currently expects a Map, but could be refactored to use any type\n * @param {string} key\n * @returns {Map}\n */\nexport const getValue = (source, key) => source.get(key);\n\nexport const getActivityObjectsFromMap = (hashMap) =>\n Array.from(hashMap).map(([, activity]) => activity);\n/**\n * creates maps for various activity types and defines handlers for working with stored activities\n * utilizes revealing module pattern to close over state and only expose certain necessary functions for altering state\n * @function\n * @returns {object}\n * getActivityHandlerByKey(activityType) - accepts a key to map to a defined activity handler\n * getActivityByTypeAndParentId(activityType, parentId) accepts a key and a parent ID to return an activity of that type whose parent is the parentId\n */\nexport const activityManager = () => {\n const replyActivityHash = new Map();\n const editActivityHash = new Map();\n const reactionActivityHash = new Map();\n const reactionSelfActivityHash = new Map();\n\n const handleNewReply = (replyAct) => {\n const replyParentId = getParentId(replyAct);\n const existingReplyHash = getValue(replyActivityHash, replyParentId);\n\n if (existingReplyHash) {\n setValue(existingReplyHash, replyAct.id, replyAct);\n } else {\n const replyHash = new Map();\n\n setValue(replyHash, replyAct.id, replyAct);\n setValue(replyActivityHash, replyParentId, replyHash);\n }\n };\n\n const handleNewEdit = (editAct) => {\n const isTombstone = editAct.verb === ACTIVITY_TYPES.TOMBSTONE;\n\n // we can ignore tombstone edits in favor of the newer one\n if (isTombstone) {\n return;\n }\n\n const editParentId = getParentId(editAct);\n const existingEdit = getValue(editActivityHash, editParentId);\n\n // edited activity must be newer than what we already have\n if (!existingEdit || isNewer(editAct, existingEdit)) {\n setValue(editActivityHash, editParentId, editAct);\n }\n };\n\n // logic is identical between reactions and reaction selfs, so handler simply passes the activity and the correct hash\n const reactionHelper = (reactionAct, hash) => {\n const reactionParentId = getParentId(reactionAct);\n const existingReaction = getValue(hash, reactionParentId);\n\n // reaction activity must be newer than what we already have\n if (!existingReaction || isNewer(reactionAct, existingReaction)) {\n setValue(hash, reactionParentId, reactionAct);\n }\n };\n\n const handleNewReaction = (reactionAct) => {\n reactionHelper(reactionAct, reactionActivityHash);\n };\n\n const handleNewReactionSelf = (reactionSelfAct) => {\n reactionHelper(reactionSelfAct, reactionSelfActivityHash);\n };\n\n const getActivityHandlerByKey = (key) =>\n ({\n [ACTIVITY_TYPES.REACTION]: handleNewReaction,\n [ACTIVITY_TYPES.REACTION_SELF]: handleNewReactionSelf,\n [ACTIVITY_TYPES.EDIT]: handleNewEdit,\n [ACTIVITY_TYPES.REPLY]: handleNewReply,\n }[key]);\n\n const getActivityByTypeAndParentId = (type, id) =>\n ({\n [ACTIVITY_TYPES.EDIT]: getValue(editActivityHash, id),\n [ACTIVITY_TYPES.REPLY]: getValue(replyActivityHash, id),\n [ACTIVITY_TYPES.REACTION]: getValue(reactionActivityHash, id),\n [ACTIVITY_TYPES.REACTION_SELF]: getValue(reactionSelfActivityHash, id),\n }[type]);\n\n return {\n getActivityHandlerByKey,\n getActivityByTypeAndParentId,\n };\n};\n\n/**\n * encapsulates state and logic for managing oldest and newest activities\n * @returns {object} setters and getters for activity state management\n */\nexport const bookendManager = () => {\n // keep track of generator state, like what our current oldest & newest activities are\n let oldestAct;\n let newestAct;\n\n const getOldestAct = () => oldestAct;\n const getNewestAct = () => newestAct;\n\n const setOldestAct = (act) => {\n if (!oldestAct) {\n oldestAct = act;\n } else if (isNewer(oldestAct, act)) {\n oldestAct = act;\n }\n };\n\n const setNewestAct = (act) => {\n if (!newestAct) {\n newestAct = act;\n } else if (isNewer(act, newestAct)) {\n newestAct = act;\n }\n };\n\n const setBookends = (activities) => {\n const oldestActsFirst = sortActivitiesByPublishedDate(activities);\n\n const newestInBatch = last(oldestActsFirst);\n const oldestInBatch = oldestActsFirst[0];\n\n setOldestAct(oldestInBatch);\n setNewestAct(newestInBatch);\n };\n\n return {\n setBookends,\n getNewestAct,\n getOldestAct,\n };\n};\n\n/**\n * encapsulates state and logic for when there are no more fetchable activities from convo\n * @returns {object} setters and getters for no more activities logic\n */\nexport const noMoreActivitiesManager = () => {\n // used to determine if we should continue to fetch older activities\n // must be set per iteration, as querying newer activities is still valid when all end of convo has been reached\n let noMoreActs = false;\n let noOlderActs = false;\n let noNewerActs = false;\n\n const getNoMoreActs = () => noMoreActs;\n\n const checkAndSetNoOlderActs = (act) => {\n if (!noOlderActs && getActivityType(act) === ACTIVITY_TYPES.CREATE) {\n noOlderActs = true;\n }\n };\n\n const checkAndSetNoNewerActs = (activities) => {\n if (!activities || !activities.length) {\n noNewerActs = true;\n }\n };\n\n const checkAndSetNoMoreActs = (queryType, visibleActs, currentBatchSize) => {\n if (\n (queryType === NEWER && noNewerActs) ||\n ((queryType === OLDER || queryType === INITIAL) && noOlderActs) ||\n (queryType === MID && visibleActs < currentBatchSize && noOlderActs)\n ) {\n noMoreActs = true;\n }\n };\n\n return {\n getNoMoreActs,\n checkAndSetNoMoreActs,\n checkAndSetNoNewerActs,\n checkAndSetNoOlderActs,\n };\n};\n\n/**\n * encapsulates state and logic for managing root activities\n * @returns {object} setters and getters for activity state management\n */\nexport const rootActivityManager = () => {\n const rootActivityHash = new Map();\n\n const addNewRoot = (rootAct) => {\n setValue(rootActivityHash, rootAct.id, rootAct);\n };\n\n const getRootActivityHash = () => rootActivityHash;\n\n return {\n addNewRoot,\n getRootActivityHash,\n };\n};\n\nexport const getLoopCounterFailsafe = () => {\n let fetchLoopCount = 0;\n\n return () => {\n fetchLoopCount += 1;\n if (fetchLoopCount > fetchLoopCountMax) {\n throw new Error('max fetches reached');\n }\n };\n};\n\n/**\n * creates activity query object\n * @param {string} type type of query to create\n * @param {object} queryOptions options to define query\n * @param {string} [queryOptions.newestPublishedDate] the date of the newest fetched activity\n * @param {string} [queryOptions.oldestPublishedDate] the date of the oldest fetched activity\n * @param {number} [queryOptions.batchSize] the number of activities to query\n * @param {object} [queryOptions.activityToSearch] a server activity to use to build middate query\n * @returns {object}\n */\nexport const getQuery = (type, queryOptions) => {\n const {newestPublishedDate, oldestPublishedDate, batchSize, activityToSearch = {}} = queryOptions;\n\n switch (type) {\n case NEWER: {\n const sinceDate = newestPublishedDate + 1;\n const lastActivityFirst = false;\n\n return {sinceDate, lastActivityFirst};\n }\n case MID: {\n const searchType = getActivityType(activityToSearch);\n let midDate;\n\n if (searchType === ACTIVITY_TYPES.REPLY || searchType === ACTIVITY_TYPES.EDIT) {\n midDate = activityToSearch.parent.published;\n } else {\n midDate = activityToSearch.published;\n }\n\n return {midDate, limit: batchSize};\n }\n case OLDER: {\n const maxDate = oldestPublishedDate - 1;\n\n return {maxDate};\n }\n case INITIAL:\n default: {\n return {};\n }\n }\n};\n"],"mappings":"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"}
package/dist/config.js CHANGED
@@ -5,8 +5,8 @@ _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- /*!
9
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
8
+ /*!
9
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
10
10
  */
11
11
  var _default = {
12
12
  conversation: {
@@ -22,20 +22,20 @@ var _default = {
22
22
  outboundProcessFunc: function outboundProcessFunc() {},
23
23
  allowedInboundStyles: [],
24
24
  allowedOutboundStyles: [],
25
- /**
26
- * Max height for thumbnails generated when sharing an image
27
- * @type {number}
25
+ /**
26
+ * Max height for thumbnails generated when sharing an image
27
+ * @type {number}
28
28
  */
29
29
  thumbnailMaxHeight: 960,
30
- /**
31
- * Max width for thumbnails generated when sharing an image
32
- * @type {number}
30
+ /**
31
+ * Max width for thumbnails generated when sharing an image
32
+ * @type {number}
33
33
  */
34
34
  thumbnailMaxWidth: 640,
35
- /**
36
- * Primarily for testing. When true, decrypting an activity will create a
37
- * sister property with the original encrypted string
38
- * @type {Boolean}
35
+ /**
36
+ * Primarily for testing. When true, decrypting an activity will create a
37
+ * sister property with the original encrypted string
38
+ * @type {Boolean}
39
39
  */
40
40
  keepEncryptedProperties: false,
41
41
  decryptionFailureMessage: 'This message cannot be decrypted'
@@ -1 +1 @@
1
- {"version":3,"names":["_default","conversation","allowedInboundTags","allowedOutboundTags","inboundProcessFunc","outboundProcessFunc","allowedInboundStyles","allowedOutboundStyles","thumbnailMaxHeight","thumbnailMaxWidth","keepEncryptedProperties","decryptionFailureMessage","exports","default"],"sources":["config.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nexport default {\r\n conversation: {\r\n allowedInboundTags: {\r\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\r\n },\r\n allowedOutboundTags: {\r\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\r\n },\r\n // eslint-disable-next-line no-empty-function\r\n inboundProcessFunc: () => {},\r\n // eslint-disable-next-line no-empty-function\r\n outboundProcessFunc: () => {},\r\n allowedInboundStyles: [],\r\n allowedOutboundStyles: [],\r\n /**\r\n * Max height for thumbnails generated when sharing an image\r\n * @type {number}\r\n */\r\n thumbnailMaxHeight: 960,\r\n /**\r\n * Max width for thumbnails generated when sharing an image\r\n * @type {number}\r\n */\r\n thumbnailMaxWidth: 640,\r\n /**\r\n * Primarily for testing. When true, decrypting an activity will create a\r\n * sister property with the original encrypted string\r\n * @type {Boolean}\r\n */\r\n keepEncryptedProperties: false,\r\n decryptionFailureMessage: 'This message cannot be decrypted',\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAIe;EACbC,YAAY,EAAE;IACZC,kBAAkB,EAAE;MAClB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACDC,mBAAmB,EAAE;MACnB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACD;IACAC,kBAAkB,EAAE,SAAAA,mBAAA,EAAM,CAAC,CAAC;IAC5B;IACAC,mBAAmB,EAAE,SAAAA,oBAAA,EAAM,CAAC,CAAC;IAC7BC,oBAAoB,EAAE,EAAE;IACxBC,qBAAqB,EAAE,EAAE;IACzB;AACJ;AACA;AACA;IACIC,kBAAkB,EAAE,GAAG;IACvB;AACJ;AACA;AACA;IACIC,iBAAiB,EAAE,GAAG;IACtB;AACJ;AACA;AACA;AACA;IACIC,uBAAuB,EAAE,KAAK;IAC9BC,wBAAwB,EAAE;EAC5B;AACF,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAb,QAAA"}
1
+ {"version":3,"names":["_default","conversation","allowedInboundTags","allowedOutboundTags","inboundProcessFunc","outboundProcessFunc","allowedInboundStyles","allowedOutboundStyles","thumbnailMaxHeight","thumbnailMaxWidth","keepEncryptedProperties","decryptionFailureMessage","exports","default"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n conversation: {\n allowedInboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n allowedOutboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n // eslint-disable-next-line no-empty-function\n inboundProcessFunc: () => {},\n // eslint-disable-next-line no-empty-function\n outboundProcessFunc: () => {},\n allowedInboundStyles: [],\n allowedOutboundStyles: [],\n /**\n * Max height for thumbnails generated when sharing an image\n * @type {number}\n */\n thumbnailMaxHeight: 960,\n /**\n * Max width for thumbnails generated when sharing an image\n * @type {number}\n */\n thumbnailMaxWidth: 640,\n /**\n * Primarily for testing. When true, decrypting an activity will create a\n * sister property with the original encrypted string\n * @type {Boolean}\n */\n keepEncryptedProperties: false,\n decryptionFailureMessage: 'This message cannot be decrypted',\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAIe;EACbC,YAAY,EAAE;IACZC,kBAAkB,EAAE;MAClB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACDC,mBAAmB,EAAE;MACnB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACD;IACAC,kBAAkB,EAAE,SAAAA,mBAAA,EAAM,CAAC,CAAC;IAC5B;IACAC,mBAAmB,EAAE,SAAAA,oBAAA,EAAM,CAAC,CAAC;IAC7BC,oBAAoB,EAAE,EAAE;IACxBC,qBAAqB,EAAE,EAAE;IACzB;AACJ;AACA;AACA;IACIC,kBAAkB,EAAE,GAAG;IACvB;AACJ;AACA;AACA;IACIC,iBAAiB,EAAE,GAAG;IACtB;AACJ;AACA;AACA;AACA;IACIC,uBAAuB,EAAE,KAAK;IAC9BC,wBAAwB,EAAE;EAC5B;AACF,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAb,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["KEY_ROTATION_REQUIRED","exports","KEY_ALREADY_ROTATED","ENCRYPTION_KEY_URL_MISMATCH"],"sources":["constants.js"],"sourcesContent":["export const KEY_ROTATION_REQUIRED = 1400087;\r\nexport const KEY_ALREADY_ROTATED = 1409004;\r\nexport const ENCRYPTION_KEY_URL_MISMATCH = 1400049;\r\n"],"mappings":";;;;;;;AAAO,IAAMA,qBAAqB,GAAG,OAAO;AAACC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;AACtC,IAAME,mBAAmB,GAAG,OAAO;AAACD,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AACpC,IAAMC,2BAA2B,GAAG,OAAO;AAACF,OAAA,CAAAE,2BAAA,GAAAA,2BAAA"}
1
+ {"version":3,"names":["KEY_ROTATION_REQUIRED","exports","KEY_ALREADY_ROTATED","ENCRYPTION_KEY_URL_MISMATCH"],"sources":["constants.js"],"sourcesContent":["export const KEY_ROTATION_REQUIRED = 1400087;\nexport const KEY_ALREADY_ROTATED = 1409004;\nexport const ENCRYPTION_KEY_URL_MISMATCH = 1400049;\n"],"mappings":";;;;;;;AAAO,IAAMA,qBAAqB,GAAG,OAAO;AAACC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;AACtC,IAAME,mBAAmB,GAAG,OAAO;AAACD,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AACpC,IAAMC,2BAA2B,GAAG,OAAO;AAACF,OAAA,CAAAE,2BAAA,GAAAA,2BAAA"}